Tytuł tego posta może być lekkim zeskoczeniem. Od premiery VS 2010 sporo czasu już minęło. Postanowiłem jednak spisać kilka nowości jakie udostępnia ono pod kątem debugowania. Zadanie jest o tyle trudne, że prawie wszystko co było do powiedzenia w tym temacie zostało już powiedziane przez pracowników MS w postach takich jak ten napisany przez ScottaGu. Postaram się jednak przedstawić temat z nowej perspektywy.Dump
Strona głównaUżytkownik
paduda | użytkownik
W poprzednim poście zaprezentowałem sposób tworzenia drzewa w tabeli wykorzystując typ hierarchyid. W dzisiejszym poście z kolei chciałbym pokazać kilka ułatwień jakie daje nam ten nowy typ. Każdy węzeł jest reprezentowany za pomocą stringu. Dla korzenia jest to “/”, dla potomstwa “/1”, “/2” itd. Schodząc w dół drzewa otrzymujemy “/1/1”, “/1/1/1” itd. Bardzo łatwo wiec dostać się do konkretnego węzła:select*from Tree where Node=cast('/1/'as hierarchyid); Typ hierarchyid posiada wiele metod. Jedną z ciek...
Bazy danych i XML 5187 dni, 22 godziny, 9 minut temu 37 źrodło rozwiń
Autor: Aktualnie pracowałem nad projektem UI do mojego forum. W zasadzie takie w miarę proste rozwiązanie już jest gotowe. Wiec postanowiłem zabrać się za implementacje powoli podstawowych widoków. I tutaj pojawił się pierwszy problem. A mianowicie zarządzanie, kompresja i cachowanie plików CSS i JS. Jak że zwykle mamy w projekcie jakieś stałe skrypty(np. jQuery) które są wykorzystywanie przy każdym widoku wypadało by żeby one były cachowane i skompresowane. Wiec zabrałem się za rozwiązanie tego problemu...
Tak, jak wspominałem w ostatnim wpisie, kontynuujemy dzisiaj zmagania z interakcją Gracza z modelami znajdującymi się na scenie. Najpierw zamkniemy każdy z nich w „bańce”, którą następnie będziemy nękać promieniami (ang. rays) i domagać się odpowiedzi na najważniejsze z pytań: „Było przecięcie, czy nie?” (co najlepsze, odpowiedzią może być 42 ). Zaznaczanie, czyli kolizja Zaznaczanie można zrealizować na kilka sposobów. Można np. rysować każdy z obiektów sceny obie...
W poprzednim artykule stworzyliśmy kontrakt usługi IGreetingService wraz z jej implementacją. Sama biblioteka nie jest przydatna, jeżeli nie będzie dostępna dla klientów. Przyszedł zatem czas, aby stworzyć projekt, który będzie ją hostował. Istnieje kilka możliwości udostępnienia usługi i są to: 1) self hosting 2) hostowanie poprzez windows service 3) IIS / WAS
Programowanie rozproszone 5186 dni, 14 godzin, 28 minut temu 223 źrodło rozwiń
Przy okazji rozpoczęcia nowego projektu chciałem w prosty sposób umożliwić budowę projektu z linii komend. Do tej pory używałem do tego NAnta, ale tym razem chciałem dać szansę narzędziu, z którego korzysta wiele projektów open-source: Rake.
ObjectTrackingEnabled Dobrą praktyką jest ustawianie context.ObjectTrackingEnabled = false, gdy tylko odczytujemy jakieś dane.2. RunWithElevatedPrivilegesSPSecurity.RunWithElevatedPriviliges niestety nie działa z kodem LINQ To SharePoint. Istnieje jednak obejście, które znalazłem tutaj: public static void RunWithElevatedPriviliges(SPSecurity.CodeToRunElevated secureCode) { HttpContext backupCtxt = HttpContext.Current; try { // if there is a SPContext make it is as null so...
Bazy danych i XML 5186 dni, 5 godzin, 10 minut temu 24 źrodło rozwiń
MTS to z pewnością wydarzenie, w którym warto uczestniczyć. Spiszę dziś na świeżo po powrocie wrażenia, jakie wyniosłem z 2 ostatnich dni. Zacznę od … stoiska ATE Windows Phone, które współdzieliłem z Danielem Dudkiem. Komunikacja z różnymi ludźmi daje nieraz cenne doświadczenie, jak dane zagadnienie, produkt, technologia jest postrzegana przez innych. Ze swojej strony starałem się udzielać jak najbardziej dokładnych informacji, sprzedając zainteresowanym szczegóły z zakresu samych technologii czy możli...
Sympatyczne i efektowne wizualnie opracowanie języka HTML 5 znajdziesz na stronie http://joshduck.com/periodic-table.html. To ciekawy pomysł, podręczna ściągawka z podziałem na grupy i odwołaniami do specyfikacji World Wide Web Consortium. Można nawet sprawdzić, jak ma się HTML 5 do konkretnej strony w Internecie, wpisując po prostu adres w polu i klikając przycisk Inspect.
Korzystając jeszcze z Visual Studio 2008 bez problemu zintegrowałem z nim wtyczkę AnkhSVN, pozwalającą na obsługę tego systemu kontroli wersji bezpośrednio z poziomu IDE. Jednak po przeniesieniu się na Visual Studio 2010 i tradycyjnej instalacji wtyczki, nie dało się z niej skorzystać. Otóż VS 2010 posiada wbudowane narzędzie do wersjonowania kodu, bug trackingu itp. – Team Foundation Server.
Autor: Podczas ostatnich prac z WPF'em napotykałem na strasznie irytujące sytuacje kiedy po uruchomieniu aplikacji wraz z debuggerem otrzymywałem nic nie mówiące mi komunikaty. Dla przykładu: An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll Additional information: 'Add value to collection of type 'System.Windows.Controls.UIElementCollection' threw an exception.' Line number '6' and line position '10'.
Czy otrzymałeś kiedyś taki oto błąd? The calling thread cannot access this object because a different thread owns it. Dzieje się tak, najczęściej wtedy, gdy próbujemy aktualizować kontrolki użytkownika z innego wątku. Taka czynność nigdy nie była dobrym pomysłem i trzeba było o tym pamiętać, jednak od wersji bodajże 2 .net Framework-a dostajemy taki wyjątek jak powyżej. Dzięki temu, nawet jeśli coś zostanie przeoczone i będziemy jednak chcieli wykonać aktualizację kontrolki użytkownika z innego wątku n...
Programowanie rozproszone 5191 dni, 2 godziny, 19 minut temu 81 źrodło rozwiń
Czasami istnieje potrzeba reprezentacji drzewa za pomocą tabeli. Klasycznym przykładem jest hierarchia pracowników w firmie. Bardzo popularną reprezentacją jest:IDEMPLOYEE int, IDMANAGER int, Title nvarchar(50). IDEMPLYOEE jest oczywiście kluczem głównym, z kolei IDMANAGER stanowi klucz obcy wskazujący na IDEMPLOYEE. Przykład wypełnionej tabeli:IDEMPLOYEEID_MANAGERTitle1NULLProject Manager21Senior Software Developer32Junior Developer41Senior database developer Rozwiązanie jak najbardziej poprawne....
Bazy danych i XML 5191 dni, 7 godzin, 42 minuty temu 63 źrodło rozwiń
[RS] Lets Moq! Moq to biblioteka służący do tzw. mockowania lub inaczej zaślepiania obiektów na potrzeby testów jednostkowych. Zaślepianie polega na wygenerowaniu obiektu implementującego określony interfejsu, w którym metody zamiast wykonywać skomplikowane operacje np. dostępu do bazy danych zwracają po prostu z góry ustalone obiekty lub wartości. Taką zaślepkę przekazujemy do testowanego obiektu w miejsce oryginalnej implementacji. Umożliwia to prostsze i szybsze testowanie interesującego nas kawałka ...
Microsoft Azure stało się ostatnio dość popularne na blogach a sam MS bardzo promuje swoją wersję chmury. IMHO jest to technologia, której nawet jeśli nie jest jeszcze w pełni dojrzała – pierwsze wersje narzędzi, część (np. CDN) jeszcze w wersji Beta – warto się przyglądać. Aby poznać nową technologię IMHO najlepiej spróbować wykorzystać ją w projekcie (tu zgadzam się z opinią Procenta). Tak więc zaczynamy. Na początek jak zwykle Hello World.
W każdej trochę bardziej rozbudowanej aplikacji istnieje potrzeba wykonania pewnych zadań konfiguracyjnych podczas startu tejże aplikacji. W projektach opartych na asp.net mvc musimy skonfigurować routing, ModelBinder’y, ControllerFactory, NHibernat’a, automapper’a itd.
Autor: Jako, że nadal nie mam czasu na pisanie nowych postów (tematów trochę jest - czasu mniej :(), postanowiłem udostępnić coś co kiedyś zostało nagrane, a jakoś nie zostało przedstawione szerszej publiczności. Poniżej linki do trzech moich (AttachedProperties oraz Style - już był publikowany na blogu, ale na innym serwerze) filmów umieszczonych na Cyber-Flick odnośnie WPF'a. W zamyśle, miał powstać cały cykl filmów o WPF - na razie jest tylko tyle. Jak będzie pozytywny oddźwięk to może powrócę do pon...
Autor: Kilka dni temu rozpocząłem prace nad funkcjonalnościami związanymi z zamówieniami produktów. Natrafiłem jednak na pewne trudności związane z odnośnikami. Otóż, w momencie wyświetlenia produktów (kontroler Product) automatycznie tworzone są linki „Kup produkt” dzięki którym za pomocą jednego kliknięcia można przejść do formularza zamówienia. Jednak dodanie zamówienia do bazy obsługiwane jest przez kontroler Order, a nie Product. Zacząłem się zatem zastanawiać, w jaki sposób w widokach odwołać się d...
Autor: Ostatnio na forum portalu CodeGuru.pl brałem udział w dyskusji na temat metod prostego debugowania kodu T-SQL z wykorzystaniem polecenia PRINT. W wątku użytkownik szogun.krepa podał metodę obejścia problemu z poleceniem PRINT, które wysyła komunikat informacyjny (w przypadku aplikacji SQL Server Management Studio komunikat ten pojawia się w zakładce Messages) z o...
Bazy danych i XML 5186 dni, 14 godzin, 28 minut temu 62 źrodło rozwiń
W poprzedniej części zacząłem pisać o przekształceniach i transformatach, w tym wpisie pokazane zostaną przykłady jak można wykorzystać transformaty do poruszania kamerą. Okazuje się, że przekształcanie (w tym obracanie, przesuwanie) wszystkich elementów w scenie może być niewygodne i nieopłacalne (np. ze względów wydajnościowych), dlatego czasem lepiej będzie wykonać przekształcenie dla samej kamery.