Zastanawiałem się ostatnio nad tym, jaki MUSI być godny zaufania freelancer-programista, a jaki być NIE MOŻE. Efektem jest kilka spostrzeżeń, które dla wielu ocierają się zapewne o banał... ale ze względu na spore zainteresowanie ostatnim postem o tej tematyce postanowiłem się nimi podzielić. Co zatem cechuje profesjonalistę?
Strona głównaUżytkownik
Windtracker | użytkownik
Ewolucyjne podejście do schematu baz danych Ten post chciałem napisać od czasu, gdy sprzedałem zawarty w nim pomysł Michałowi na jednym ze spotkań PG.NET w końcu się udało Jeśli myślisz, że raz stworzysz schemat bazy danych dla swojej aplikacji i już nigdy go nie będziesz zmieniać to jesteś w błędzie. W czasie produkcji może się okazać, że coś zostało pominięte, coś można rozwiązać lepiej, jest błąd albo po prostu trzeba dodać nową funkcjonalność wymagającą zmian w schemacie.
Bazy danych i XML 5422 dni, 24 minuty temu 138 źrodło rozwiń
Powtarzanie kodu w kilku miejscach zwykle jest sygnałem zaniedbania i nie powinno mieć miejsca. Nawet (a może: w szczególności!) gdy kod ten jest prosty, głupi, niewymagający myślenia i będący efektem tzw. clipboard inheritance (ctrl+c, ctrl+v). Tyczy się to również konstruktorów klas. Tą część kodu łatwo jest przegapić, bo wszelakie ułatwiacze umożliwiają automatyczne ich wygenerowanie. A co jeśli mamy ich kilka? Poniższy przykład obrazuje stan, do którego NIE CHCEMY doprowadzić...
Architektura 5441 dni, 18 godzin, 50 minut temu 92 źrodło rozwiń
Autor: Jakiś czas temu opublikowałem garść porad dla naprawdę zaczynających z NHibernate - od zera. Była to raczej wysokopoziomowa teoria pomieszana z linkami. Tym razem zajrzymy w kod i pokażę w jaki sposób można zacząć tworzyć i testować aplikację z NHibernate jeszcze przed zaplanowaniem struktury bazy danych czy nawet przed wyborem docelowego serwera baz danych.
Kolekcje generyczne są bezpieczną (ang. type-safe), szybką i wydajną (ang. performance) wersją ich nie-generycznych odpowiedników. Przykładowo List, Dictionary, Queue, Stack, SortedList i SortedDictionary są odpowiednikami zwykłych kolekcji. Różnica polega na tym, że korzystając z typów generycznych podajemy parameter, który jest zamieniany na nazwę typu podczas kompilacji. W ten sposób można użyć każdego typu, ale tylko wcześniej określonego. W innym wypadku otrzymamy błędy już przy kompilacji. Namiastk...
Ostatnio pisałem o AutoMapperze, a kiedyś wcześniej o NHibernate. Dzisiaj złączę te dwa narzędzia niczym Jasia i Małgosię, Tristana i Izoldę, Lecha i Jarosława, a z ich nawzajemnego obcowania narodzi się problem, który dość łatwo przegapić. Wróćmy do przedstawionych ostatnio, banalnych klas:
Ogólno dostępne dobre przykłady SOA można było policzyć na palcach jednej ręki. Microsoft, RedHat, Sun i inni postanowili pokazać przykład wraz z dobrymi praktykami, oraz oczywiście tym po co SOA jest – czyli wieloma technologiami które muszą się ze sobą skomunikować. Apache Stonehenge, bo tak brzmi nazwa projektu, opiera się na komunikacji poprzez Web Services trzech popularnych platform wytwarzania aplikacji – .NET, PHP oraz WSAS...
Autor: Przypadkiem trafiłem na fajny cheetsheet zawierający zestawienie podstawowych wzorców projektowych, może się komuś przyda :)
Architektura 5516 dni, 21 godzin, 7 minut temu 366 źrodło rozwiń
Niedawno klient zażyczył sobie, by tworzona dla niego aplikacja miała możliwość importu danych bezpośrednio z plików Excel. W celu połączenia naszego proagamu z Excelem możemy bezpośrednio wykorzystywać obiekty COM (dla platformy .NET technologia COM Interop)...
Prawdopodobnie znakomita większość z nas słyszała o systemie lokalizacji GPS. Biorąc pod uwagę jego rosnącą popularność bardzo możliwe, że już korzystaliśmy z jego usług w praktyce - dziś nawigacja samochodowa nie stanowi luksusu, a wiele popularnych modeli palmtopów / telefonów komórkowych posiada wbudowane odbiorniki gps. Jeśli nawet nasze urządzenie nie posiada takowego, to zawsze...
Wstęp do wzorca MVP filed in .NET, Programowanie on Aug.23, 2009 Jestem leniem. Tak przyznaję się bez bicia. Ile razy piszę jakąś aplikację, czy to na własny użytek czy na zajęcia uczelniane, tak bardzo staram się skupiać na niezłym dizajnie logiki biznesowej, że jak przychodzi do napisania interfejsu graficznego po prostu olewam sprawę i idę po najniższej linii oporu. Przykładowo w aplikacjach WinForms-owych pakuję wszystko jak leci pod event handlery nie zastanawiając się nawet nad konsekwencjami…bo i...
Architektura 5559 dni, 19 godzin, 43 minuty temu 413 źrodło rozwiń