A po cóż taki krok? Powód jest prosty...
Jeff Atwood i jego Coding Horror, Joel Spolsky i jego Joel On Software i inni - po polsku, na bieżąco.
Współczesne systemy informatyczne to systemy rozproszone, które komunikują się ze sobą na wiele różnych sposobów. U podstaw takiej komunikacji leżą interfejsy, za pomocą których systemy będą się ze sobą komunikować. Interfejsy odgrywają tu rolę fasad i to właśnie je określamy mianem serwisów. Ta część serii będzie traktować właśnie o możliwoś...
Zapoznając się z tematyką testów jednostkowych napotykamy podział mocków na trzy grupy: Dynamic Mock, Strict Mock oraz Stub. Dziś pora na poruszenie tego tematu wraz z prezentacją jak je wykorzystać w Rhino Mocks.
Dziś krótka i prawdopodobnie jedna z ostatnich lekcji. Do omówienia zostało nam sposób dostarczenia naszej aplikacji do klienta. Jakie zatem mamy opcje? Windows Installer oraz ClickOnce. Nie będę za bardzo skupiał się na różnicach pomiędzy nimi, gdyż nie ma tu nic innego w stosunku do aplikacji WinForms. Warto przypomnieć tylko, że ClickOnce jest odpowiedni do środowisk 'partial-trust', uruchamianie z adresu zdalnego oraz ma wbudowany mecha...
Po opublikowaniu Microsoft Surface SDK postanowiłem się z nim zaznajomić i popełnić jakąś aplikację. Po obejrzeniu aplikacji do obsługi Twittera - Surface Twitter oczywisty wybór padł znowu na Blipa. Ale po kolei…
Majowym wpisem pod tytułem „Pierwsza praca” rozpocząłem poszukiwania miejsca gdzie mógłbym odbyć praktykę zawodową. Wiele firm zajmujących się produkcją oprogramowania realizuje programy letnich praktyk studenckich skierowane do studentów ostatnich lat studiów. Kierując się bardzo pomocnymi kom...
SyncRoot to właściwość zdefiniowana na poziomie interfejsu ICollection służąca do synchronizowania operacji wykonywanych na kolekcjach przy pomocy słowa kluczowego lock lub jawnie przy pomocy monitora. Czemu jednak należy używać tej właściwości zamiast instancji kolekcji, czyli czemu zalecany jest taki kod: Kiedy postawiłem sobie to pytanie okazało się, że odpowiedź nie jest dla mnie oczywista. Wizyta w dokumentacji MSDN nic nie pomogł...
Chciałbym spróbować wskazać miejsca, gdzie można znaleźć informacje na temat C# i .NET w języku polskim. W moim post'cie skupię się przede wszystkim na blogach. Moja lista i opisy mają charakter dość subiektywny. Nie mam również zamiaru oceniać, czy wskazywać najlepszego. Kolejność została ustalona w sposób nie zamierzony. Mam nadzieję, że nikt nie poczuje się urażony, zarówno tym co napisałem, jak i tym, że mogło go zabraknąć. Uwaga: w liście zostały uwzględnione tylko te blogi, które w ciągu ostatnich ...
Pewnie napisano już miliony stron na temat samego scruma, tego jakie wprowadza benefity, jak ułatwia pracę, jak wykorzystać tę metodykę, by dostarczać lepsze i tańsze oprogramowanie. Bez obaw - nie mam zamiaru ani tego powtarzać ani podsumowywać. Chcę napisać o czymś zgoła przeciwnym - i nie chodzi mi o stwierdzanie, iż metodyka nie spełnia tego co wcześniej podkreśliłam. Skupię się raczej na pojęciu ostatnio wprowadzonym w moim otoczeniu - na tzw. antyscrumie. W skró...
Pisząc testy jednostkowe często musimy brać skądś testowe wartości, których wykorzystanie będziemy następnie weryfikować...
Konkurs w którym można wygrać książkę Head First: Wzorce Projektowe.
Tym razem temat jest bardzo prosty: "Jak wymienić (wyliczyć) wszystkie elementy typu wyliczeniowego (enum'a)?". Przyznam, że robiłem już to wiele razy, ale często musiałem się chwilę zastanowić: "jak to było?". Więc teraz w ramach ściągi dla siebie (a może komuś się to jeszcze przyda...)
Jedną z nowości która ukazała się przy okazji wydania najnowszej wersji Silverlight 3.0 jest budowa prototypu aplikacji przy pomocy tzw. SketchFlow (w wolnym tłumaczeniu "szkic przepływu"). Taka możliwość pojawiła w dzięki wydaniu nowej wersji programu Expression Blend 3, która to wspiera tworzenie tego typu aplikacji. W niniejszym artykule spróbuje opisać podstawowe funkcje jakie daj nam to rozwiązanie, zbudujemy prosty prototyp aplikacji oraz wygenerujemy dla niego dokumentację. Ale o co tu chodzi? ...
Visual Basic 6 to język, który “królował” w roku 1998. Dzisiaj z kolei “rządzi” .NET. Ale… życie pokazuje, że język i technologia używane ponad 10 lat temu, żyją dalej, mają się dobrze i co gorsza nic nie wskazuje na to, że coś się zmieni. Wiadomo, trudno jest teraz rzucić stary system i przepisać go w tydzień na .NET. Na szczęście nie jest aż tak źle. Bowiem jak zapewne wszyscy wiedzą jest możliwość używania bibliotek COM’owskich w .NET’cie i vice versa. Natomiast czasami nie jest to takie hop siup, o ...
Jedna z zasad dobrego programowania mówi: "Funkcja powinna mieć tylko jedną instrukcję return". Dzięki takiemu podejściu zawsze łatwo jest zlokalizować punkt wyjścia z funkcji, zwykle łatwiej zrozumieć napisany kod i w konsekwencji łatwiej go "utrzymywać" (i oczywiście zmieniać). Czasami jednak dużo łatwiej (lub krócej) można napisać kod funkcji, w której pojawi się wiele instrukcji return, dlatego często nie opieramy się takiej pokusie i takie funkcje tworzymy...
Maciej Aniserowicz: Drugi raz w ciągu kilku dni przytrafiły mi się kłopoty podczas wykorzystania metody Convert.ChangeType(). Scenariusz jest bardzo prostu: mam wartość pobraną skądś-tam (baza danych, http request czy cokolwiek innego) reprezentującą znany mi typ, jednak przechowywaną w postaci stringa. Wszystko śmigało jak trzeba dopóki traktowałem w ten sposób zwykłe liczby i daty. Jakiś czas temu wpadł mi tam Guid, co skończyło się wyjątkiem InvalidCastException. Teraz z kolei to samo p...
Artykuł omawiający przykładową implementację ONP (Odwrotna Notacja Polskia) w C#.
Wiele razy już w przeciągu ostatnich 2-3 lat szukałem jakiejś porządnej biblioteki implementującej podstawowe algorytmy z algebry liniowej i ogólnie z matematyki. Wbrew pozorom znalezienie tychże dla platformy .NET nie jest takie trywialne.. Po odpytaniu google o jakikolwiek silnik matematyczny natrafiamy na cenioną open sourcową bibliotekę GSL. Z mojego punktu widzenia ma ona jedną wadę: jest mocno nastawianona na środowisko Linuksowe. O ile istnieją wersje przeportowane na system Win32 (nie mówię tutaj...
Niedawno podczas koleżeńskiej konserwacji wypłynął nam temat pantoflarstwa, czyli bezwarunkowej podległości osobnika płci męskiej pod swego żeńskiego w życiu partnera. Swoją Panią. I nieuchronnie już wówczas do głowy napłynęła mi myśl, jak taką sytuację można doskonale zamodelować przy użyciu PostSharp – godnego uwagi darmowego narzędzia do programowania aspektowego w .NET. Przysiadłem na chwilę, ściągnąłem Post#, zaimplementowałem minidemko i je niniejszym prezentuj...