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 3806 dni, 18 godzin, 24 minuty temu 62 źrodło rozwiń
W drugiej części ćwiczeń zaprezentuję bardziej skomplikowane zapytania Criteria API w NHibernate. Jako materiał treningowy, podobnie jak to było w pierwszej części, posłużą mi wcześniej opisywane statystyki. Metodyka pozostaje bez zmian - na początku T-SQL, później NH. Rozumiem, że może to budzić wątpliwości (zwłaszcza u obiektowych ortodoksów), jednak jak to w praktycznych zastosowaniach NH bywa, prędzej czy później trzeba zerknąć do środka zapytań i pobrudzić się trochę T-SQLem. Posunę się nawet do stw...
Zafascynowany pierwszą książką Joela Spolsky'ego postanowiłem sięgnąć po kolejną pozycję z jego nazwiskiem na okładce. Jedyna papierowa wersja, jaką udało mi się pożyczyć, to The Best Software Writing I.
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.
Debugowanie jest procesem niezwykle złożonym. Istnieją publikacje opisujące techniczne aspekty wyszukiwania błędów w kodzie w ten właśnie sposób. Czasami warto jednak zapoznać się z jakimś zagadnieniem w oderwaniu się od konkretnej technologii. Taką właśnie pozycją jest Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać (oryg. Debug It!: Find, Repair, and Prevent Bugs in Your Code). Książka nie jest opisem jakiegoś narzędzia wspomagającego debugowanie, platformy uruchomieniowej cz...
Przy prezentacji grafiki 3D ciekawą funkcjonalnością może być umożliwienie użytkownikowi oglądanie sceny 3D z wielu punktów widzenia, obracania elementów sceny itp... W tym wpisie zaprezentowane zostanie jak można taką funkcjonalność stworzyć w WPF 3D. Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D. Efekt oglądania sc...
Zdarza się, że programując czy to w Silverlightcie czy w WPF-ie, otwierając plik .XAML nie chcemy widzieć edytora. A to być może z powodów wydajnościowych, a może “ideologicznych” bo jesteśmy “hardcorowymi developerami” i designery są “dla małych dziewczynek” . Jak w Visual Studio (na pewno 2010, 2008 nie sprawdzałem) osiągnąć taki efekt? Bardzo prosto. Należy otworzyć taką ścieżkę menu: Tools -> Options -> Texteditor -> XAML -> Mis...
Podczas prac związanych ze statystykami zauważyłem, że przy okazji pisania kolejnych testów dla obiektów repozytoriów powielam kod odpowiedzialny za przygotowanie bazy SQLite. Jak nakazuje dobry obyczaj, powtarzający się kod należy wydzielić.
Wszyscy już chyba wiedzą, że Microsoft udostępnił wersję RTM dla Windows Phone. Wszystko wygląda pięknie. Zasób materiałów, tutoriali, blogów, pod-castów i czego tam sobie jeszcze nie wymyślimy jest porażający. To co się nie zmieściło w standardowych kontrolkach udostępniono jako Toolkit dla Windows Phone. Wciąż mało? N...
Autor: Ponieważ nie wszyscy zdają sobie sprawę z możliwości oraz wymagań jakie stawia przed nami firma Microsoft odnośnie korzystania z produktów w wersji Express Edition, postanowiłem zamieścić fragment listu jaki otrzymałem z Centrum Obsługi Klienta Microsoft.
Autor: Ostatnie kilka dni przesiedziałem nad samą fizyką. Nie implementowałem jej(w sposób nie-testowy) w grze, gdyż najpierw musiałem poznać tą bibliotekę i opracować „jak to zrobić”. Całe szczęście Box2D jak i Farseer Physics używa się przyjemnie i nie miałem większych problemów z ogarnięciem ich. Przy pierwszym s...
Dzisiaj musiałem w LINQ TO SQL napisać zapytanie odpowiadające takiemu zapytaniu w T-SQL...
Bazy danych i XML 3809 dni, 3 godziny, 44 minuty temu 70 źrodło rozwiń
Podobnie jak w przypadku większości standardowych operacji, gdy mowa o wysyłaniu poczty, biblioteka Microsoft .NET zawiera intuicyjnie zaprojektowane klasy pozwalające na szybką implementacje tej akcji we własnym kodzie. Pomimo niskiego stopnia trudności, pomysł zebrania wszystkich potrzebnych informacji w postaci krótkiego artykułu nie uważam za chybiony. Zapewne zaoszczędzi to czas programistom którzy szukają w pełni działającego przykładu, czy szybkiego przeglądu tego obszaru biblioteki .NET.
Na początek przytoczę źródło o może niezbyt wysokiej renomie w ostatnim czasie, charakteryzujące się jednak dużą liczbą opisywanych nowinek - http://www.chip.pl/news/wydarzenia/umowy-i-fuzje/2010/09/sojusz-microsoftu-i-wordpressa-oznacza-koniec-dla-windows-live-spaces Jako, że sam posiadam bloga w serwisie Windows Live jest to dla mnie smutna wiadomość, tym bardziej, że gorąco kibicuje całej platformie jaką jest Windows Liv...
Visual Studio posiada opcje, która pozwoli przenieść się do fragmentu kodu gdzie została zdefiniowana dana zmienna. Wystarczy zaznaczyć daną zmienną i wybrać z menu kontekstowego opcję „Go To Definition”. To samo można osiągnąć wciskając domyślnie zdefiniowany klawisz F12. Jednak oba sposoby nie było dla mnie zbyt wygodne. W Visual Studio Gallery możemy znaleźć małe rozszerzenie, które rozwiązuje ten problem. Po instalac...
Za czasów .NETa 2.0, dość uciążliwym mógł być brak prostej możliwości rozszerzania już istniejących klas. Zespół MS postanowił ten sposób rozwiązać, tworząc właśnie “Extension methods”. I tak, .NET 3.5 oferuje nam całkiem przystępny mechanizm pozwalający dodawać nowe funkcjonalności do już istniejących typów. Zasada działania Działa to wszystko zadziwiająco łatwo. Najpierw odrobina kodu, zamienimy stringa na tabli...
Jako że omówiliśmy już jakie rodzaje dokumentacji należy tworzyć, możemy przejść do odpowiedzi na pytanie jak należy rozwinąć styl, dzięki której taką dokumentację będzie dało się czytać. Naucz się pisać Niestety, nie ma tutaj dróg na skróty. Najlepszym sposobem na nauczenie się jak pisać dobrą dokumentację jest najpierw nauczyć się pisać (cokolwiek). Istnieją pewne istotne różnice między dokumentacją techniczną i Twoją przeciętną prozą, ale solidne podstawy w komunikacji pisemnej są wymaganiem nie do za...
Witam dziś podczas kodowania natrafiłem na dosyć nieprzyjemne utrudnienie. Mianowicie dotyczy ono wstrzykiwania poprzez IoC HttpContext i pobierania aktualnego kontekstu do klas które tego potrzebują np. sesja. ciasteczka itp. Jak wiadomo HttpContext jest trudno dostępnym obiektem i ciężko w łatwy sposób wstrzyknąć. Wiec postanowiłem napisac wrapper do HttpContext.
Wiedza, wiedza, wiedza… Tworzenie systemów operacyjnych to niszowa dziedzina informatyki. Zajmują się nią nieliczni. Osobiście uważam jednak, że posiadanie wiadomości z zakresu systemów operacyjnych, to absolutny obowiązek każdego szanującego się informatyka. Nie myślę tu oczywiście o umiejętności obsługi Linuksa, czy też administracji Windowsem, tylko o zagadnieniach typu wieloprocesowość i wielowątkowość, synchronizacja procesów i wątków, szeregowanie, zarządzanie pamięcią, czy choćby znajomość zarysu ...
W ramach relaksu postanowiłem dziś skupić się na mało istotnym, aczkolwiek bardzo irytującym mnie szczególe. Mam na myśli wykorzystywany przeze mnie skrypt TinyMCE (wspominałem o nim tutaj). Otóż po najechaniu na przyciski odpowiedzialne za pogrubianie, pochylanie (itp) tekstu, wyświetlają się podpowiedzi… w języku angielskim. Skoro tworzę cały projekt po Polsku, postanowiłem także ten drobny element spolszczyć. Zajrzałem więc na oficjalną stronę projektu w poszukiwaniu informacji związanych ze zmianą d...