W zeszły piątek już po raz trzeci odbyła się konferencja Wroc#. Jej nazwa jest w połowie prawdziwa - bo odbywa się we Wrocławiu, za to więcej na niej JS niż C#. Ale pewno nie można jej było nazwać wroc.js
, bo jak znam życie, to jakiś javascriptowy framework do padowania stringów albo dodawania do dziesięciu na palcach już tak się nazywa.
O utrudnianiu sobie życia
Blisko rok temu zamieściłem na blogu notkę o kardynalnych błędach, czyli pomyłkach popełnianych przez dużą część programistów w wielu projektach. Teraz chciałbym niejako uzupełnić tamtą listę o kolejne powszechne błędy, ale tego nie zrobię.
Podsumowanie roku 2016
Właściwie powinienem napisać coś merytorycznego, no ale jakoś tak się utarło, że pierwszy post w nowym roku to podsumowanie poprzedniego. (Jak jest się sławnym, to można nawet trzy posty o tym napisać.) Tak więc tym razem daję się porwać blogowemu mainstreamowi i napiszę o niczym.
Podsumowanie konkursu Daj Się Poznać
Ja wiem, że posty o tej tematyce były modne jakieś 6 tygodni temu, no ale z mojego punktu widzenia bardzo dziwne jest podsumowywanie czegos przed jego zakończeniem. Później zaś miałem natłok różnych spraw osobistych i zawodowych, więc z niniejszym podsumowaniem musiałem się wstrzymać dłużej niż chciałem.
Brutalne prawdy o MVC
MVC jest obecnie bardzo popularnym wzorcem stosowanym w chyba każdej technologii służącej do tworzenia aplikacji webowych. Zarówno w .NET, PHP, Javie, jak i bardziej hipsterskich językach stał się on pewną podstawą, bez znajomości której nie ma szans na znalezienie pracy. Z moich doświadczeń wynika jednak, że MVC jest chyba najbardziej nierozumianym wzorcem. Nierozumianym chyba nawet bardziej niż repozytorium. Powszechne niezrozumienie MVC zauważył i opisał już jakieś 10 lat temu Martin Fowler. Świadczy to chyba o tym, że nasza cywilizacja przestała sie już rozwijać.
Uwaga - ten artykuł zawiera bardzo dużo faktów obalających powszechne panujące przekonania. Może zniszczyć i tak ciężkie dzieciństwo senior developerów. Zaglądasz na własne ryzyko!
Repozytorium - najbardziej niepotrzebny wzorzec projektowy
Mawiają, że przyzwyczajenie jest drugą naturą człowieka. Sprawia ono, że bezwiednie (albo nawet bezmyślnie) wykonujemy pewne czynności. Niekiedy to jest dobre - np. z przyzwyczajenia myjemy dłonie po skorzystaniu z toalety, nawet jeśli ich nie obsikaliśmy. Niestety, czasem mimowolność przyzwyczajeń sprawia, że ludzie dokładają sobie zbędnej roboty, np. pisania kodu, który nie ma sensu. Samo pisanie jeszcze nie jest złe, gorzej, że później ktoś taką radosną twórczość musi czytać i utrzymywać. Tak zazwyczaj dzieje się w przypadku wzorca Repozytorium.
Automatyczne zwracanie z serwisu informacji o błędzie
Zadaniem, które wziąłem na warsztat w poprzednim tygodniu, była refaktoryzacja obsługi optimistic concurrency. Do tej pory obsługa konfliktu wersji przy aktualizacji rekordu była obsługiwana za pomocą wyjątku rzucanego z serwisu i łapanego w filtrze MVC. To oczywiście był błąd projektowy, bo przecież wystąpienie optimistic concurrency to spodziewany efekt edycji rekordu, a nie żaden wyjątek. Poprawiając to, stwierdziłem że dobrze będzie przy okazji w ogóle poprawić komunikację na linii serwis-kontroler, tak aby wyjątki z aplikacji nigdy nie docierały do GUI.
Dlaczego Entity Framework nie jest dobrym wyborem
Wiele razy rożni ludzie dziwili mi się, że “nie lubię Entity Frameworka”. Takie stwierdzenie nie tylko bardzo mija się z prawdą, ale wręcz jest zupełnie pozbawione sensu. Lubić można rosół z makaronem, komplementy i kolor niebieski, ale nie ORMa. To samo zresztą dotyczy innych bibliotek czy języków - technologia to jest coś, czego się używa albo i nie (w zależności od potrzeb, zastosowań i możliwości), nie obiekt uczuć. Co do EF zaś - mam po prostu bardzo wiele argumentów za tym, żeby go nie używać. Postaram sie je wymienić w tym krótkim wpisie.
Globalizacji ciąg dalszy
Kilka dni temu ogłosiłem nadzieję na zakończenie moich zmagań z Bootstrap Datepicker. Jak wiadomo, nadzieja jest matką głupich, i dzisiaj musiałem wrócić do tego tematu przy okazji naprawiania dat w gridzie. Po ostatnich zmianach zauważyłem, że daty w kolumnach wyświetlane są w amerykańskim formacie, zaś wyszukiwanie nie działa.
Kredyt hipoteczny dla początkujących: debugowanie systemu ZUS
W życiu wielu ludzi nadchodzi taki moment, że mają dość mieszkania z rodzicami/teściami/pod mostem i postanawiają wziąć kredyt na mieszkanie. Mnie również się to przydarzyło. Niestety, branie kredytu wiąże się z kontaktem z bardzo zbiurokratyzowanymi instytucjami - bankami, które wymagają dostarczenia różnych dokumentów, potwierdzeń i zaświadczeń. Zazwyczaj jest to łatwe, mi jednak dostarczyło niesamowitych przygód.