10/04/2010

.NET Reflector Pro

Home

.NET Reflector Pro to najnowsza odsłona dobrze znanego programistą .NET narzędzia, firmy redgate, ktora pojawiła się na rynku 15 lutego. Do tej pory nie miałem okazji się z nią zapoznać ale ostatnio nadrobiłem zaległości i jestem zachwycony nowymi możliwościami programu. Co mi się tak spodobało?

Otóż .NET Reflector Pro to plugin integrujący się z środowiskiem Visual Studio, który pozwala na dekompilację pakietów C#/VB w locie, a następnie ich debugowanie! Innymi słowy jeśli korzystamy z bibliotek jakiegoś zewnętrznego dostawcy ale nie posiadamy jej źródeł, a z jakiegoś powodu chcemy ją zdebugować postępujemy następująco:
  • Wybieramy polecenie Choose Assemblies To Debug z menu .NET Reflector w Visual Studio.
  • Zaznaczamy interesujące nas pakiety.
  • Klikamy OK.
  • Rozpoczynamy debugowanie, a niewidoczny do tej pory kody stoi dla nas otworem. Możemy stawiać pułapki, podglądać wartości zmiennych itd.
Proste, prawda? Bardzo lubię takie narzędzia, minimum wysiłku i maksimum korzyści. Niestety ale plugin jest płatny - można jednak testować go przez okres 14 dni (do pobrania tutaj). Szczerze polecam!

03/04/2010

Po konferencji

Home

Od mojej sesji na temat IntelliTrace podczas Warszawskich Dni Informatyki minęły już prawie trzy tygodnie. Pora odpowiedzieć na kilka pytań: Jak było? Jak spisali się organizatorzy? Czy jestem zadowolony ze swojej prezentacji? Co wypadło dobrze, a co źle?
Zacznę od tego, że organizatorzy czyli Student Partners z warszawskich uczelni stanęli na wysokości zadania i przygotowali w pełni profesjonalną konferencję. Wydarzenie było dobrze rozreklamowane i frekwencja dopisała. Zadbano o profesjonalne nagłośnienie. Prelegenci mogli spokojnie przygotować się do wystąpienia w zarezerwowanym dla nich pokoju. Nie chodzili też głodni i spragnieni, uczestnicy zresztą również nie ;) Każdy dostał materiały konferencyjne, w tym pendriv'a. Można było wygrać laptopa, a w czasie przerw pograć na konsoli XBOX. Zorganizowano też konkurs Guitar Hero oraz przygotowano ankiety.

Mam tylko kilka uwag ale niewielkiego kalibru. Wolałbym aby impreza odbyła się bliżej centrum albo jakiejś stacji metra ale zdaję sobie sprawę, że to nie taka prosta sprawa. Po drugie obsługa konferencji mogłaby rozpoznawać prelegentów i nie kazać się im rejestrować :) Dziewięć osób to nie jest znowu taka duża liczba. Największe zastrzeżenie mam do rzutnika, który przynajmniej podczas mojej sesji nie spisał sie dobrze i jakość obrazu była słaba.

Jak oceniam swoją sesję? W skrócie jestem zadowolony. Przed konferencją byłem trochę zdenerwowany ale zaprocentowało dobre przygotowanie i wcześniejsze przećwiczenie prezentacji. Dzięki temu kiedy zacząłem mówić nerwy odpuściły i poczułem się swobodniej. Plan prezentacji, układ i treść slajdów miałem w głowie i nie musiałem zastanawiać się kiedy co powiedzieć. Sądzę, że mówiłem głośno i wyraźnie. Udały się również wszystkie zaplanowane pokazy IntelliTrace, Visual Studio 2010 i przygotowanych programów. W czasie i po sesji uczestnicy zadawali pytania.

Oczywiście zdaję sobie sprawę z kilku niedociągnięć. Co mi nie wyszło? Po pierwsze po konferencji zwrócono mi uwagę na błąd ortograficzny na jednym ze slajdów. Na swoją obronę mogę powiedzieć, że Power Point też go nie zauważył. Po drugie nie ustrzegłem się błędu w wymowie słowa debugger oraz zapomniałem powiedzieć o jednej czy dwóch rzeczach. Nagrania swojej sesji jeszcze nie widziałem ale zdaję sobie sprawę, że pomimo wszystko byłem zdenerwowany - zdarzyło mi się zaciąć czy powiedzieć coś niezrozumiale. Powinienem również zachowywać się swobodniej.

Podsumowując konferencję oceniam na bardzo mocne 5, brawo dla organizatorów. Swojej sesji nie podejmują się oceniać ale chętnie wysłucham waszych opinii i uwag.

Chciałbym również podziękować żonie za pomoc w przygotowaniach do konferencji, cierpliwe wysłuchanie i cenne uwagi.

02/03/2010

Warszawskie Dni Informatyki 2010

Home

Zapraszam na konferencję Warszawskie Dni Informatyki 2010 oraz na moją sesję podczas, której opowiem, a przede wszystkim pokażę jedną z najciekawszych nowości w Visual Studio 2010 - IntelliTrace!


21/02/2010

World of Goo

Home

Rozgłos i zainteresowanie zdobywają dwa rodzaje gier komputerowych. Te, które są tworzone przez wielkie studia developerskie i mają budżety sięgające dziesiątek milionów dolarów oraz te tworzone w małych studiach, stosunkowo niewielkim nakładem pieniędzy ale nowatorskie, przyciągające nietypowym pomysłem i podejściem do tematu. Te drugie przeważnie nie zachwycają grafiką czy rozmachem ale potrafią wciągnąć na długie godziny. Na taką grę natknąłem się ostatnio.

Word of Goo czyli świat glutów ;) to logiczno, zręcznościowa gra, w której ogromne znaczenie odgrywają prawa fizyki. Grę charakteryzuje specyficzne poczucie humoru i nietypowa oprawa graficzna, a rozgrywka jest naprawdę wciągająca. W skrócie polega na budowaniu różnorakich konstrukcji (mostów, wież itp.) z tytułowych glutów. Może i brzmi to trochę dziwnie ale daje bardzo dużo radości.

Nie chciałbym sie tutaj rozpisywać ponieważ w sieci można znaleźć niejedną dobrą recenzję tej gry. Od siebie serdecznie polecam ten tytuł każdemu kto lubi trochę pomyśleć, ceni innowacyjność i lubi dobrą zabawę. Grę można kupić już za 20 zł!

18/02/2010

Enterprise Library, Informix i CLOB

Home

Data Access Application Block to część Enterprise Library oparta o ADO.NET odpowiedzialna za komunikację z bazą danych. Jedną z bardzo miłych cech tego modułu jest to, że w dużym stopniu ukrywa przed programistą rodzaj bazy danych z jakim pracuje. Uprasza to pisanie aplikacji kompatybilnych z wieloma bazami danych.

Oczywiście nie wszystko jest takie różowe o czym przekonałem się ostatnio. W tej chwili pracuję głównie z bazą danych Informix firmy IBM i Data Access Application Block radził sobie z nią całkiem dobrze ale do czasu kiedy postanowiłem wykorzystać typ bazodanowy CLOB służący do przechowywania dużych obiektów znakowych.

Nie wnikając w szczegóły zapis danych do kolumny o typie CLOB nie udał mi się w ogóle, a odczyt częściowo :) Częściowo ponieważ mogłem odczytać tylko fragment danych. Nie wykluczam możliwości, że mogłem popełnić jakiś błąd ale nie chcąc tracić czasu problem rozwiązałem wykorzystując sterownik ADO.NET firmy IBM przeznaczony tylko do obsługi Informix'a. Biblioteka ze sterownikiem nazywa sie IBM.Data.Informix.dll i instalowana jest razem z Client SDK. U mnie znajdowała się w lokalizacji C:\Program Files (x86)\Informix\Client-SDK\bin\netf20. Model pracy z klasami z tej biblioteki jest prawie taki sam jak z standardowymi klasami ADO.NET. Mamy więc klasę IfxCommand, która dziedziczy z DbCommand, IfxConnecton, która implementuje interfejs IDbConnection itd. Różnice są niewielkie i dotyczą rzeczy specyficznych dla Informix'a czyli np.: obsługi typu CLOB.

Wykorzystanie biblioteki rozwiązało oczywiście mój problem. Sądzę, że wybór IBM.Data.Informix.dll jest dobrym pomysłem dla każdego kto ma zamiar pracować z bazą danych firmy IBM. Nie ma jednak róży bez kolców. Użycie rozwiązania właściwego dla konkretnej bazy danych zamiast Enterprise Library wpływa negatywnie na przenoszalność aplikacji, a własciwie ją uniemożliwia. Oczywiście klasy specyficzne dla Informix'a można odpowiednio przykryć tak aby ewentualna podmiana była łatwiejsza ale nie jest to równoznaczne z użyciem Data Access Application Block.

Reasumując jeśli chcę zachować przenaszalnośc aplikacji będę musiał zastanowić się jak dostosować tą bibliotekę do współpracy z Enterprise Library.