MVP, MSSQL, .NET
Rozważmy przez chwilę scenariusz wysyłania wiadomości e-mail. A raczej tą część procesu, w której generowana jest treść. W tagu demo3-finish mamy taki interfejs: (https://github.com/maniserowicz/di-talk/blob/demo3-finish/src/app/EmailService.cs) Jego implementacja powinna zająć się dostarczeniem wiadomości w odpowiednie miejsce. Ale czy powinna również babrać się w stringach, razorach czy innych resxach aby skomponować tekst przekazany użytkownikowi końcowemu? Niewydajemiesie, widziałbym raczej [...]
Niedawno na łamach natematu pojawił się artykuł o jakże wdzięcznym tytule: “IT-arystokracja. Najbardziej zepsuta pensjami i przywilejami grupa zawodowa“. Widziałem linki do niego w bardzo wielu miejscach, więc pewnie każdy z Was go już czytał. A teraz się do niego ustosunkuję (po raz wtóry, gdyż raz już to, trochę po łebkach, uczyniłem na grupie polskich [...]
OK – mamy niektóre “odpowiedzialności” wyjęte do osobnych klas. Ale co dalej? Czy UsersController powinien sam, ot, tak sobie, tworzyć nowe instancje których aktualnie potrzebuje? Nie! Pójdę o krok dalej i powiem więcej: użycie słowa kluczowego “new” w kodzie aplikacji uznaję za anti-pattern. Howgh, rzekłem. Jeżeli klasa potrzebuje innej klasy do działania, to ta zależność [...]
Kiedyś na stronach MS widziałem rekomendację mówiącą “używaj typów wyjątków dostarczanych przez framework“. Jakiś czas temu, na jakimś polskim chyba blogu, przeczytałem tego powtórkę. Wiecie co? U mnie się doskonale sprawdza kompletne przeciwieństwo tej praktyki. Wyjątek bazowy Zawsze w swoich aplikacjach staram się mieć jeden bazowy typ wyjątku, abstrakcyjna klasa MyAppException: Exception. Dzięki temu jestem [...]
Zanim zajmiemy się faktycznym wstrzykiwaniem zależności, to najpierw musimy mieć co wstrzykiwać! Statycznej klasy nie wstrzykniemy przecież, jakkolwiek byśmy wstrzykiwać nie chcieli. Na początek zatem: zidentyfikujmy składowe procesu rejestracji użytkownika, które w ogólnie nie powinny znajdować się w kontrolerze. Pewniakiem jest tutaj walidacja poprawności adresu e-mail. Nie dość, że bardzo ładnie da się to zamknąć [...]
Równo za tydzień, czyli we środę 11 czerwca, śmigam do Olsztyna na spotkanie tamtejszej grupy .NET nazywającej się OLMUG. I o DI będę prawił. Cieszy mnie to z przynajmniej pięciu powodów. Pierwsze trzy są banalne: samo spotkanie, droga tam i droga z powrotem. Po czwarte: pomysł na tą prezentację zrodził się w mojej głowie podczas [...]
Niedawno Paweł zadał na dotnetowej grupie FB pytanie: w jakiego typu firmie chciałbyś pracować jako programista? Link: https://www.facebook.com/groups/net.developers.poland/permalink/289388431242519/. Sama ankieta jak i jej wyniki są w kontekście tego posta nieważne. Pod pytaniem pojawiła się jednak dyskusja. Widzę, że bez logowania do fejsa nie można tego linka podejrzeć, więc wszelkie tożsamości pozostawię tajne łamane przez poufne. [...]
W tym odcinku skupiam się na stanie aplikacji przed jakimikolwiek procesami “upiększającymi”. Stan ten można uzyskać wykonując na podlinkowanym w poprzednim poście repo. Albo można podglądać sobie online: https://github.com/maniserowicz/di-talk/tree/demo1. Aplikacja, którą mamy upiększyć, została do celów demonstracyjnych zbudowana dość nietypowo. Nie jest to web app, nie jest to nawet console app. Jest to jedna [...]
Jak można było dowiedzieć się z moich ostatnich postów społecznościowo-konferencyjnych (jeden, drugi, trzeci), miałem ostatnio prezentacje na temat Dependency Injection. Dość dziwne jest to o tyle, że na ten temat nie blogowałem właściwie od czterech lat. Pora zaległości nadrobić:). Pojawiły się za to treści gdzieś indziej. Po jednym z moich występów Basia podjęła temat. Po [...]
Często słyszę: “TDD powinno sprawiać, że oprogramowanie nie ma bugów”. To bardzo mylne pojmowanie wszystkiego, co się za TDD kryje. I dla tej praktyki mocno krzywdzące, bo gdy się okazuje, że tak nie jest, to ludzie się zniechęcają. Starałem się zdecydowanie podkreślać ten fakt podczas moich wystąpień na temat unit testów w zeszłym i [...]
Stało się: od wczoraj działa strona tegorocznego dewdeja! Idźcie tam, chłońcie, zapiszcie się do newslettera i czekajcie. A może będzie wam dane. Póki co zapraszam do lektury wszystkich moich postów na temat tego megawydarzenia: tag devday. Doczekać się nie mogę, też się nie móżcie doczekać. Będzie awesome! Do zobaczenia we wrześniu! Chyba że chłopaki nie [...]
Jak można zauważyć, na blogu ostatnio głównie relacje z różnych eventów. Jest to spowodowane dwoma czynnikami. Czynnik pierwszy – eventów owych jakoś się dużo zrobiło, więc i na pisanie o czym innym czasu trochę brak. A czynnik drugi jest mocno “inny”, ale o nim i tutaj pewnie niebawem. Póki co – do rzeczy. W niedzielę [...]
Kolejny odcinek z cyklu “pojechałem, mówiłem, było zajebiście”… W piątek 12 kwietnia zapakowałem Joannę w Elantrę i ruszyliśmy na podbój Łodzi. Okazja całkiem zacna: pierwsza edycja konferencji GET.NET organizowanej przez SII. Na ten event zostałem “wciągnięty” już w październiku, kiedy to po spotkaniu łódzkiej grupy .NET mnie i Gutka zaczepił Daniel z SII werbując nas [...]
W miniony poniedziałek, 7 kwietnia 2014, odbyła się kolejna edycja konferencji 4Developers. Miałem przyjemność poprowadzić tam (“premierowo” ;) ) sesję o Dependency Injection. Ze swojego występu nie jestem do końca zadowolony. Po raz kolejny nastąpiło “premature finalization” – ze sceny zszedłem po chyba 37 minutach. Powodów było kilka. Pierwszy z nich taki, że podczas przygotowań [...]
W ubiegły poniedziałek, 17 marca, gruchnęła oczekiwana od jakiegoś czasu oficjalna wiadomość: OneNote staje się darmowym programem (źródło na Office Blogs)! To news o tyle niesamowity, że ON przez długi czas był jedynym powodem, dla którego nie przesiadłem się z “prywatnym” życiem na Linuxa. Co prawda to się nie zmienia, ponieważ nadal nie ma wersji [...]
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.