MVP, MSSQL, .NET
W każdej aplikacji klient-serwer następuje komunikacja. Masło maślane – gdyby nie było komunikacji, nie byłoby aplikacji klient-serwer. Pomiędzy klientem i serwerem muszą być przesyłane jakieś dane. Szymon pisał jakiś czas temu o tym dlaczego warto wyrzucić ze swojej architektury DTOs, czyli Data Transfer Objects. Ja natomiast przedstawię pokrótce narzędzie, które pozwoli bardzo efektywnie WYKORZYSTAĆ koncept [...]
Minął ponad rok od kiedy zwiększyłem swój "obszar roboczy" ponad 2x: do 19" Benq dorzuciłem 24" Hyundai. Od kiedy zmieniłem miejsce pracy na domowe zacisze krok ten doceniam oczywiście o wiele bardziej niż wcześniej, gdy w domu programowałem jedynie hobbystycznie. I któregoś pięknego dnia zapaliła się w nienasyconej głowie lampka: "a może by tak… jeszcze [...]
Podczas pisania testów jednostkowych możemy natknąć się na problem uprawnień – co jeśli testowana metoda wymaga, aby użytkownik był zalogowany, miał określoną nazwę bądź był przypisany do konkretnej roli? Nie chcemy przecież, aby testy jednostkowe w jakiś sposób logowały się do naszej aplikacji. Rozwiązaniem jest pomocnicza klasa, którą napisałem z wykorzystaniem frameworka Moq: 1: public [...]
Wielokrotnie zdarzało mi się, że budziłem się rano i na samą myśl o kolejnym dniu w pracy robiło mi się niedobrze. Czy też tak czasami macie? Pomimo całej świetności naszego zawodu, ogromnej gamy wyzwań i oczekujących na rozwiązanie pasjonujących problemów, bycie programistą może czasami dać się nieźle we znaki. Post ten jest kierowany nie tyle [...]
Testy jednostkowe pełnią dwie bardzo ważne role: poprawiają design aplikacji sprawdzają czy kod jest poprawny Drugi aspekt można rozumieć dwojako… Spójrzmy na przykładową metodę kalkulatora: 1: public class Calculator 2: { 3: public int Add(int first, int second) 4: { 5: return first + second; 6: } 7: 8: // more operations... 9: } Jej [...]
Ostatnio miałem kolejne podejście do NHibernate. Tym razem zdecydowanie udane. W ciągu minionych kilku tygodni trzykrotnie prowadziłem też w "swoim środowisku" rozmowę na temat taki jak w poście – jak zacząć przygodę z NHibernate? Postanowiłem więc, że warto efekt takiej rozmowy opublikować szerszemu gronu. 1. Spróbuj Stwierdzenie pierwsze: jeżeli kiedyś odbiłeś się od NH, jeżeli [...]
Ależ chwytny tytuł! I groźny. Ale zobaczmy: demon (za Wikipedią) – proces, który pracuje w tle bez konieczności interakcji z użytkownikiem Mniej więcej tak można określić moją egzystencję przez kilka ostatnich (i jeden przyszły) tygodni. Siedzę sobie w tle otoczony przez monitory i jedyną słuszną muzykę, pracuję, i wszelką interakcję z kimkolwiek ograniczam do minimum [...]
29 i 30 września 2009 to dni spędzone w Pałacu imienia Józefa Stalina na konferencji Microsoft Technology Summit 2009. Tak jak rok temu postaram się przedstawić swoje wrażenia, więc zainteresowanych zapraszam do lektury a innych uczestników do dodawania swoich opinii w komentarzach. Słowem wstępu… Start rejestracji na konferencję niestety przegapiłem, ponieważ pomykałem wówczas po europejskich [...]
Czego potrzeba do zostania perkusistą, jeśli nie masz warunków do nauki gry na prawdziwej perkusji? Oczywiście konsoli Xbox i gry Guitar Hero, poczynając od edycji World Tour. A jeśli nie masz ani gry, ani konsoli? Za grę robić może świetny kawałek open-source’owego napisanego w Pythonie softu pod nazwą Frets on Fire z modem FoFiX. Za [...]
Dobiegł końca pierwszy na tym blogu cykl (chociaż posty pojawiały się częściej niż “teoretycznie co 28 dni”) technicznych postów rozprawiających się z jednym zagadnieniem krok po kroku. A konkretnie: pisaniem testów jednostkowych z wykorzystaniem “obiektów mockujących” dostarczanych przez mechanizm zaimplementowany w bibliotece Rhino Mocks. Pomyślałem że dobrze będzie zebrać w jednym miejscu to co się [...]
Dzisiaj spojrzymy na sytuację, w której będziemy potrzebowali nie weryfikować, ale zapamiętać wartości przekazywane do mock objects w celu późniejszego ich wykorzystania. Scenariusz ten jest dość nietypowy, w moim przypadku SUT (System Under Test) rejestrował pewną operację w komponencie odpowiedzialnym za jej uruchomienie w odpowiednim momencie. wykonanie. Rejestracja odbywała się z wykorzystaniem wyrażeń lambda, więc [...]
Sam się dziwię, że potrafię “skomponować”, opublikować i autentycznie szczerze PODPISAĆ SIĘ pod tak ohydnie marketingowym tekstem. Ale… cóż, taka prawda. Nie jestem chyba w stanie wystarczająco dosadnie napisać jak bardzo zachęcam studentów do uczestnictwa w tym wydarzeniu. Sam z pewnością nie byłbym tu gdzie jestem teraz, gdybym kiedyś olał istnienie niesamowitych okazji, jakie daje [...]
Krótka ciekawostka, pewnie znana większości: wrzucając do katalogu głównego aplikacji ASP.NET plik o nazwie app_offline.htm spowodujemy, że będzie on serwowany jako odpowiedź na wszystkie żądania do tej aplikacji. Zastosowań może mieć kilka, z których najbardziej oczywistym jest tymczasowe "zdjęcie" witryny podczas wgrywania nowej wersji czy rozwiązywania jakiegoś problemu: wypełniamy wówczas ten plik komunikatem o tymczasowej [...]
Po bardzo długim okresie korzystania z Virtual PC postanowiłem spróbować jak to jest z Virtual Box, czyli darmowym środowiskiem od Suna. Powodów jest kilka, zaczynając od wsparcia dla maszyn 64 bitowych, przez wykorzystanie więcej niż jednego rdzenia fizycznego procesora, a kończąc na zwykłej chęci poznania alternatywnego rozwiązania. Już na początku okazało się, że w VBox [...]
Znany pewnie większości z Was Udi Dahan przedstawił koncepcję Domain Events, która zainspirowała mnie do implementacji rozwiązania opartego na podobnych założeniach. Ayende Rahien z kolei jakiś czas temu zachwycił się kawałkiem kodu z projektu Mass Transit… i po zastanowieniu się nad jego bardzo fajną konstrukcją postanowiłem przy okazji skorzystać z czegoś podobnego. Do tego dorzucimy [...]
MVP, MSSQL, .NET
Programista-pasjonat. Człowiek od wszystkiego związanego z programowaniem. Autor bestsellerowej książki “Zawód: Programista“.
Od 2008 posiadacz tytułu Microsoft MVP (Most Valuable Professional) w kategorii .NET.
Od 2005 Microsoft Certified Professional.