Ostatnio poznaję kontener DI Autofac i baaardzo mi się on podoba - nie tylko nazwa, funkcjonalność także. Ten post rozpoczyna paczkę kilku ciekawych (mam nadzieję:) ) postów pokazujących, jak przy pomocy Autofac zbudować "samoskładającą się" aplikację. Dzisiaj na dobry początek wrócimy do koncepcji, którą zerżnąłem od Udiego a przedstawiłem w poście Application Events (tam tez więcej linków w temacie samych zdarzeń). W opisanym przeze mnie sposobie mechanizm ten wymagał ręcznej rejestracji każd... [More]

Julia Marcell po raz trzeci

31 marca 2010 00:35 w kategorii: priv
Właśnie wróciłem z trzeciego w swojej karierze fana koncertu Julii Marcell. O poprzednich pisałem tu i tu. Z ostatnich 60 godzin tylko 6 dane mi było przeznaczyć na największe marnotrawstwo czasu wymyślone przez naturę, czyli sen. Niestety nie mam więc siły na literackie wygibasy. Tym razem zatem krótko i treściwie: koncert miał miejsce w Skwerze - filii Centrum Artystycznego Fabryki Trzciny; bardzo przyjemne miejsce z klimatem odpowiednim dla omawianego wydarzenia wrażenie ogólne - nies... [More]

Data końca projektu jest dla freelancera bardzo ważna. To dzień, w którym może świętować swój, bądź co bądź, sukces. To dzień, po którym może zacząć czytać nową książkę. Dzień, po którym wreszcie może pograć na komputerze. W oczekiwaniu na zapłatę wyjść na browar czy do kina. Albo planować kolejny projekt. Ostatni dzień kawowo-redbullowo-bezsennego maratonu. Czy wiąże się to z możliwością wykasowania kodu, wycięcia z pamięci ostatnich tygodni, całkowitą wolnością i pełnym relaksem? Niekonieczni... [More]

Słowa kluczowe jako identyfikatory w C#

25 marca 2010 08:28 w kategorii: pro
Tagi:
Może nas czasami najść ochota na nazwanie jakieś zmiennej czy klasy słowem kluczowym, zarezerwowanym w C#. Standardowa deklaracja, taka jak ta: 1: public class class 2: { 3: 4: } zakończy sie błędem kompilacji. Rozwiązaniem problemu jest wstawienie małpy przed danym identyfikatorem... i już możemy nazywać wszystko jak nam się żywnie podoba: 1: public class @class 2: { 3: 4: }

"Nauka przez fun"

23 marca 2010 07:38 w kategorii: pro
Pod jednym z moich ostatnich postów pojawił się komentarz zawierający m.in. taką treść: "Chyba potrzebuję mentora, który mógłby rzucić temat, a następnie sprawdzić jego realizację. Czy znajdzie się jakiś chętny? (...) nauka przez fun tworzenia. Ale czy to aby dobra droga?" Za mentora się bynajmniej nie uważam, ale pomyślałem - co tam, może być ciekawe doświadczenie. Kilka miesięcy temu podobny tekst wyczytałem na forum CodeGuru - wówczas też zgłosiłem się na ochotnika do takiej roli... [More]

W ubiegłym tygodniu odbyła się w Las Vegas wielka coroczna konferencja MIX. Mój ziom JJ miał okazję znajdować się właśnie tam już drugi rok z rzędu. Nasze zeszłotygodniowe konwersacje skłoniły mnie do poważniejszego zastanowienia się nad konferencjami programistycznymi... oraz sensem fizycznego udziału w tych wydarzeniach. Efekt owych rozmyślań przedstawiam poniżej. Money money money... Nie ma co ukrywać, udział w konferencji... kosztuje. I to niemało. Moje doświadczenie w takich eventach ob... [More]

Cykl częściowo wybronił się w komentarzach pod ostatnim postem, zatem pozostaje - tyle że prawdopodobnie dawkowany będzie z mniejszą częstotliwością:). Dziś cytat z naszej rodzimej mądrej głowy... Poniżej zaprezentowane zjawisko jest baaardzo częste. Ja sam nie byłem wyjątkiem i przez pierwsze kilka lat programowania z moich ust dość regularnie wymykało się zdanie: "no tak, całkiem fajny wzorzec/praktyka/porada/standard/... , ale w MOIM PRZYPADKU nie znajduje zastosowania". The mo... [More]

200 postów paszło, w Polskie

18 marca 2010 07:48 w kategorii: priv | pro
... jak to było zorganizowane! Autobusy jakieś popodstawiał czy co? Tak jest, oto mój post numer dwieście. Liczba może nie porażająca, ale tak czy siak jakiś to jubileusz i można z tej okazji co nieco podsumowującego napisać. Co prawda bardziej profesjonalnie byłoby poczekać do okrągłego posta #256... ale co tam. Wszystko poniżej składać się będzie z trzech części: podlinkowania najciekawszych postów, zdradzenia kilku statystyk oraz dywagacji na temat przyszłości. Poproszę zatem o chwilę uwagi... [More]

Profile w Automapperze

17 marca 2010 08:04 w kategorii: pro
Tagi: ,
Automapper oferuje coś takiego jak profile. Dokumentacja nie mówi nam o nich na dzień dzisiejszy zbyt wiele (link) (dla leniwych - nie mówi NIC:) ). Po czymś o nazwie "profil" spodziewałem się możliwości utworzenia mniejszych "podkonfiguracji" charakterystycznych dla konkretnego scenariusza. Na przykład gdybym chciał mapowanie int->string mieć wspólne dla całej aplikacji, to nie umieszczałbym go w żadnym profilu. Natomiast wspomniane kiedyś mapowanie z czasu UTC na czas l... [More]

Ostatnimi czasy zarówno na devPytaniach jak i 9fingers pojawiało się podobne pytanie, wcześniej też je wielokrotnie słyszałem. Powiem więcej - sam je kiedyś zadawałem. Na dotnetomaniaku z kolei pojawił się link do bloga, którego autor (Matthew) również dzieli się refleksjami na ten temat: link. Zachęcam do lektury - jeśli nie czytaliście to przeczytajcie i spotkajmy się za kilka minut :). Jestem zakałą? Krótka polemika Skoro przytoczony post jest już przeczytany, to macie w nim przedstawio... [More]

W przykładzie z ostatniego posta wielu mogła nie podobać się następująca linijka: 1: string targetTimeZoneName = Config.TargetTimeZone; I mają rację, gdyż można by to zamodelować jako zależność konwertera od konfiguracji - najlepiej przez constructor injection. Ale przecież Automapper sam tworzy konwertery, resolwery, formatery i wszystkie inne szmery bajery (reklama Ery?)... HA! Nie było łatwo się do tego dokopać, ale poniższa instrukcja spowoduje, że wszystkie te "pomocnic... [More]

Automapper i mapowanie z czasu UTC

11 marca 2010 06:59 w kategorii: pro
Niedawno popisałem troszkę o czasie UTC i dlaczego tylko taka reprezentacja czasu powinna znajdować drogę do bazy danych. A teraz... w jaki sposób przygotować datę do podróży w drugą stronę, czyli do użytkownika. Z Automapperem jest to zadanie doprawdy banalne, wystarczy odpowiedni Type Converter: 1: public class UtcToLocalTimeConverter : TypeConverter<DateTime, DateTime> 2: { 3: protected override DateTime ConvertCore(DateTime source) 4: { 5: string targetTime... [More]

Hardware upgrade - mission accomplished

10 marca 2010 06:42 w kategorii: priv | pro
Tagi: ,
Po jesiennym wzbogaceniu domowej maszynerii o filmowo-programistyczno-giercowego Della Vostro 1720 (BTW: jeśli się nad nim zastanawiasz, to... prawdopodobnie w podobnej cenie znajdziesz coś bardziej satysfakcjonującego) nadszedł czas na spimpowanie mojego głównego przyjaciela PC. Dwa rdzenie i 4 GB RAMu to nie jest na dzisiejsze czasy sprzęt wystarczający do zawodowej deweloperki, szczególnie dla kogoś tak uzależnionego od wirtualizacji jak ja (na hoście nie mam nawet zainstalowanego Visual Stud... [More]

Nie czarujmy się, większość z nas pewnie zetknęła się kiedyś z taką szarą rzeczywistością, którą zgrabnie określił Jeff Atwood: At the end of the development cycle, you end up with software that is a pale shadow of the shining, glorious monument to software engineering that you envisioned when you started Co możemy z tym zrobić? Mieć ambicje, aby w naszym przypadku tak się nie stało. I... nie rozpaczać, jeśli nie do końca się uda. Źródło: Coding Horror.

Papierosowo-chamskie sko_dev_jarzenie

4 marca 2010 07:00 w kategorii: pro
Jakoś dawno nic mi się z niczym nie sko_dev_jarzyło :). Aż tu nagle.... Nie mam nic przeciwko nałogowym palaczom, sam lubię sobie zajarać. ALE gdy wchodzę o 6.07 z samego rana do obleśnej mikrowindy w tym zapyziałym starym bloku, w którym aktualnie przyszło mi mieszkać, i otacza mnie zewsząd cuchnąca mgła wydyszana z płuc smołczyciela, który nie potrafił poczekać 2 minut z odpaleniem fajki, to mnie szlag trafia. Jak bezdennie zdebilałym ciołem trzeba być, żeby coś takiego zrobić! Obrazując jak ... [More]

W dzisiejszym świecie "nietechniczni" kreatywni ludzie  nie mają łatwo. Obrotny biznesmen chce wsadzić w coś trochę kasy, rozkręcić jakiś projekcik, wpada na genialny pomysł: "a, zainwestuję sobie w portal!". Pomysł - betka. Założenia - betka. Analiza - betka. Ewentualna dotacja - betka. Okazuje się, że wszystko jest banałem w porównaniu z dokonaniem wyboru technologii. I, wbrew pozorom, im więcej ekspertów, tym trudniejszy wybór. Chcesz wiedzieć jak jest naprawdę? Któr... [More]

Często WCF, mimo swoich możliwości w zakresie "interoperability", wcale nie musi być kompatybilny z komponentami zewnętrznymi. Nasz serwer, nasz klient, a WCF między nimi. I... tu zwykle zaczynają się problemy... (jak to pisał nie-ś.p. † Kurt Vonnegut, gówno wpada w szprychy:) ). WCF jest tak rozbudowaną i skomplikowaną technologią, że odpowiednie dobranie zawartych w niej klocków do stworzenia budowli, której potrzebujemy, jest niekiedy żmudnym, trudnym i bardzo czasochłonnym zajęcie... [More]