Pod jednym z moich ostatnich postów na temat logowania Jacek zasugerował w komentarzu abym napisał trochę więcej o tym jak dzielę logi na poszczególne poziomy. Poniżej opis moich ZAMIERZEŃ. Zamierzeń, ponieważ jeszcze w ten sposób z logowania nie korzystałem, ale po dość długim rozmyślaniu wydaje mi się to najsensowniejszy podział. Może pojawią się uwagi korygujące [...]
[Uwaga: pisząc "Imagine Cup" mam na myśli "Imagine Cup, kategoria Projektowanie Oprogramowania"] Polskie finały Imagine Cup 2011 zbliżają się wielkimi krokami. Postanowiłem skorzystać z okazji i podzielić się kilkoma refleksjami na ten temat. Miałem przyjemność dwukrotnie uczestniczyć w tym evencie jako startujący, i dwukrotnie jako widz. Oraz kilkukrotnie o tym pisać. Przez lata (właściwie od [...]
Kolejny raz o logowaniu… "bo to naprawdę ważne™" :). W świecie .NET mamy dwie liczące się biblioteki oferujące logowanie informacji z aplikacji: log4net oraz nLog. Oczywiście znajdą się też inne rozwiązania: od koszmarnych (The Logging Application Block z EntLiba) po głupie (pisanie własnego loggera i jego produkcyjne wykorzystanie). Z tych dwóch zdecydowanie bardziej popularny jest [...]
Niedawno przedstawiłem TokenContext, klasę pomocniczą upraszczającą wyławianie kontekstu z masy logów tworzonych w aplikacji wielowątkowej, gdzie wiele operacji przeplata się nawzajem. Regularnie jednak zdarza się, że interesuje nas nie tyle jedna szczególna operacje co cały cykl życia konkretnego obiektu. Kumpel, z którym pracuję nad "głównym" projektem, zaproponował stosowanie takiej, bardzo prostej, logicznej i przydatnej, konwencji: [...]
Jak przez mgłę widzę czyjąś twarz. Rusza ustami, chce mi coś przekazać. Początkowo dociera do mnie tylko głuchy bulgot, jakbyśmy byli pod wodą. Powoli jednak skrawki wypowiadanych słów w jakiś sposób trafiają do moich uszu. Im więcej rozumiem, tym głębszy mają sens. Chcę słuchać, jeszcze i jeszcze. Przeżywam moment olśnienia. Skąd on wie co mówić? [...]
Zmagając się z problemem przez dłuższy czas można sobie życzyć: “niech to wreszcie zacznie działać!“. Przypuśćmy, że zaczyna… i co? Hip? Hip? Hurra? Niekoniecznie. Jeżeli coś zaczęło działać ot tak, nagle, samo z siebie, równie dobrze może ot tak, nagle, samo z siebie przestać działać. Wiadomo, że nie ma czasu, że gonią kolejne zadania, że [...]
Wpadłem w pułapkę relacji wiele do wielu, m:n. Po raz kolejny. Jak fretka w sidła… te same po raz n-ty (czy m-ty?). Byłem na siebie tak wściekły, że to ludzkie pojęcie przechodzi. Właściwie bardziej mi teraz szkoda nerwów niż straconego czasu. Ale o co się, panie, rozchodzi? W moim systemie miałem bardzo prostą zależność: Company [...]
Dzisiaj miała miejsce premiera pierwszego odcinka programistycznego videobloga codingtv.pl. Łukasz Gąsior i Andrzej Kowal zamierzają poprowadzić swoich widzów przez deweloperską drogę "od kołyski do mundurka", czyli od zebrania wymagań systemu do jego zakończonej implementacji. Za swój cel obrali implementację platformy do prowadzenia bloga. Zapowiada się ciekawie i liczę, że każdy programista .NET będzie w stanie [...]
We wrześniu odpaliłem na blogu reklamy, informując o tym świat cały, wobec i wszem. W tymże poście obiecałem, że za jakiś czas dowiecie się jak mi idzie. Może jeżdżę już majbachem? Może mam willę "Bobrowa Dolina" oklejoną gołymi babami trzymającymi tabliczki "advertising rulzzz"? A może rzuciłem robotę, bo nie miałem już gdzie upychać kasy, a [...]
Czym może kierować się klient wybierając freelancera-programistę? Z grafikami na pewno ma łatwiej – wystarczy obejrzeć portfolio. U nas jednak sytuacja się komplikuje. Często programista najzwyczajniej w świecie nie może pokazać zrealizowanych projektów, bo były pisane na wewnętrzne potrzeby jakiejś firmy i umowa zabrania takich praktyk. A jeżeli już może pokazać, to w wielu przypadkach [...]
Uczę się i uczę, sprawdzam wiedzę i sprawdzam i wyszło, że z rysowaniem sobie nie do końca poradziłem. Aby to poprawić chciałem coś napisać/narysować, od słowa (kluczowego) do słowa i zacząłem pisać prostego painta. W sumie nic skomplikowanego, a cieszy. Wyciosałem coś co może pretendować do miany prostego rysownika. Można sobie wybrać kilka prostych opcji […]
Kilka tygodni temu miałem za zadanie wygenerować na stronie tabelkę dla pewnych danych, z zastrzeżeniem, że ostatnie wiersze powinny zawierać sumę i średnią wszystkich komórek powyżej. Nic nadzwyczajnego. Jednak pojawił się jeden problem: źródłowa tabela takich danych nie posiadała. Oczywiste było, że takie wymaganie pojawi się zaraz w kolejnych miejscach. Postanowiłem więc poświęcić kilka minut [...]
Niedawno Gutek opublikował post ze swoimi opiniami na temat zakończenia udostępniania darmowej wersji Reflectora przez RedGate. Skłoniło mnie to do zablogowania o tym. Swoje opinie pisałem już na różnych portalach, jednak faktycznie właściwie ich miejsce jest na blogu. Moim zdaniem jedyne co jest "nie tak" w całej tej sprawie to złamana obietnica (a raczej złamana [...]
Update 29-09-2015: To co napisałem niżej wiele lat temu jest nadal aktualne. Ale… Zachęcam do zapoznania się ze spojrzeniem na problem z innej strony w tekście “Najlepsze szkolenia programistyczne“. I z moją ofertą szkoleń. W sali szkoleniowej siedzi kilka osób. Otwierają się drzwi. Wchodzi koleś. “Dzień dobry. Nazywam się tak i tak. Jestem MCT, jestem MCP, [...]
“Powinno działać” – ile razy te słowa kończą jakąś burzę mózgów, gdy to każdy wraca na swoje miejsce i zaczyna rzeźbić rozwiązanie niemające żadnych wad? Przynajmniej… w teorii. Przyzwyczaiłem się już, że najlepiej jest: ALBO chłonąć euforię płynącą z “planu doskonałego”, bo jej źródełko szybko się wyczerpie ALBO starać się w taki stan nie popadać [...]