piątek, 30 listopada 2007

IT Academic days - Kraków - AGH

W tym roku będę miał przyjemność przeprowadzić prezentacje na temat TDD na 'IT academic days' w Krakowie.
Na prezentacji będzie kilka slajdów, ale główna część polegać będzie na pokazie programowania zgodnie z zasadami TDD.
Zgodnie z agendą moja prezentacja nazywa się “Test Driven Development w Visual Studio 2005″, ale ponieważ kilka dni temu światło ujrzało VS 2008, prezentację będę przeprowadzał używając nowej wersji VS.
Aby uczestniczyć w konferencji należy się zarejestrować.
Serdecznie zapraszam na prezentacje.


Wpis opublikowano na ITCore: 30 Listopada 2007

czwartek, 22 listopada 2007

Płynne przejście na VS 2008

Wielu z was słyszało zapewne o tym, że VS.NET 2008 wspiera Multi Targeting.

Funkcjonalność ta sprawia, że przejście na nowe VS powinno być bardzo proste. Niestety pliki sln i csproj używane przez VS 2008 trochę różnią się od tych używanych przez VS 2005. Z tego powodu cały zespół powinien przejść z VS 2005 na 2008 w tym samym momencie.

Tutaj znajdziecie opis jak to można w łatwy sposób obejść. Na taką wiadomość czekałem. VS 2008 here I come :-)

Wpis opublikowano na ITCore: 22 Listopada 2007

niedziela, 18 listopada 2007

TechEd 2007 - dzien 3 - relacja tydzień po

Co zobaczyłem w środę:

Building Highly Scalable ASP.NET Web Sites by Exploiting Asynchronous Programming Models
Bardzo ciekawa sesja o tym wielowątkowości w ASP.NET, asynchronicznych stronach (dzięki którym możemy uniknąć wyczerpywania thread poola), asynchronicznych handlerach HTTP i asynchronicznych modułach HTTP.

Unit Testing Tips and Techniques with Visual Studio 2008 and the NET Framework
Następna sesja Roy Osherova, którego blog możecie znaleźć tutaj.
Była to sesja interaktywna. Na początku padło 20 tematów z sali, następnie wszyscy głosowali nad tematami. Tematy z większą ilością głosów miały wyższy priorytet i na nich Roy się skoncentrował. Po sesji uciąłem sobie z Royem małą pogawędkę na temat mocków vs stubów (jak to w ogóle nazywać po polsku?) oraz na temat mockowania klas sealed.

Communities? Can They Really Help My Business, My Day-to-Day Job, and My Career?
Jedyna sesja, z której wyszedłem po 20 minutach. Przez ten czas prezenter zrobił klasyfikacje społeczności Web 2.0. Wydawało mi się to nudne wiec wyszedłem.

Entity Framework: Application Patterns
Bardzo fajna prezentacja pokazująca, w jaki sposób używać Entity Framework w aplikacjach 2, 3 i n-warstwowych. Podobało mi się to, że prezenter (Pablo Castro) pokazał jak używać Entity Framework w prawdziwych aplikacjach. Później na stanowisku "Asks the Experts" porozmawiałem z Pablo czy obiekty z Entity Framework powinniśmy traktować, jako 'obiekty biznesowe' czy jako warstwę dostępu do danych (DAL). Pablo stwierdził, że to raczej taki rozbudowany DAL.

Protect your Enterprise Application while Sharing Identities Using Active Directory Federation Services (ADFS)
Po tej sesji stwierdziłem, że opłaca się chodzić na sesje których temat nie wiele nam mówi :)
Na takich sesjach można nauczyć się najwięcej. W tym przypadku dowiedziałem się, co nieco o Claims-based Identity oraz o ADFS. Bardzo ciekawy prezenter Keith Brown

Improving Code Performance with Microsoft Visual Studio 2008 Team Edition for Software Developers
No cóż, jeśli ktoś zna porofiler w Visual Studio 2005 to zbyt dużo na tej sesji nie można było się dowiedzieć.
Po sesjach była impreza zorganizowana przez Microsoft, o której pisałem wcześniej


Wpis opublikowano na ITCore: 18 Listopada 2007

wtorek, 13 listopada 2007

TechEd 2007 - dzien 2 - relacja tydzień po

Ciąg dalszy pamiętnika uczestnika TechEd 2007.
Oto co mnie spotkało we wtorek:

The Next Release of Microsoft SQL Server: Overview of SQL Server 2008
Omówienie nowości w SQL Server 2008. Największe wrażenie zrobiło na mnie demo z danymi geograficznymi (spatial data). Do tej pory myślałem, że to nic wielkiego, ale jak zobaczyłem proste zapytanie SQL, które wyszukuje w tablicy punkty, które znajdują się najbliżej jakiejś ścieżki to zmieniłem zdanie

Accessing Relational Data with Language Integrated Query
Ciekawa prezentacja omawiająca funkcjonalność LINQ to SQL i pokazująca, w jaki sposób zapytania w LINQ transformowane są do SQL.

Why Software Sucks
Jedna z bardziej śmiesznych prezentacji. Nie była to prezentacja techniczna. Prezenter starał się przekonać, że użytkownicy mają całkiem inne podejście/wymagania do aplikacji niż programiści, a programiści często o tym zapominają.

Next Generation Networking in Windows Vista
Prezentacja Rafała Łukawieckiego - jednego z moich ulubionych prezenterów. Tak prawdę mówiąc poszedłem na tą prezentacje głównie z jego powodu. Mówił głównie o IP6. Szczerze mówiąc byłem zaskoczony jak wiele nowych funkcjonalności wnosi IP6. Do tej pory myślałem, że IP6 to po prostu zwiększenie przestrzeni adresowej.

Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0
Przegląd nowości w języku C#.

T-SQL Querying: Tips and Techniques
Na tej sesji wreszcie dowiedziałem się jak używać Common Table Expression, ale prawdziwym zaskoczeniem była dla mnie wiadomość, że CTE można używać rekursywnie.

Wpis opublikowano na ITCore: 13 Listopada 2007

poniedziałek, 12 listopada 2007

TechEd 2007 - dzien 1 - relacja tydzień po

Jednak zdecydowałem się opisać mój pobyt na TechEdzie dzień po dniu, tak, aby za rok pamiętać, co tam właściwie się działo.


Dzień 0.
Właściwie konferencja rozpoczęła się dla mnie w niedzielę od rejestracji. W czasie rejestracji dostałem torbę na laptopa z materiałami reklamowymi i bilety na metro.


Dzień 1.
Poniedziałek był luźniejszym dniem. Prezentacje zaczęły się dopiero o 14.


Przedpołudnie spędziłem na "hands on labach".
Zrobiłem sobie laby o MOSS i WPF - krótkie i pouczające. Wcześniej nigdy nie miałem czasu pobawić się Sharepoitem i lab dał mi jakieś pojęcie o produkcie. Lab z WPF też był OK.


Następnie chciałem zrobić lab z Silverlighta. Totalna porażka, stanowiska nieprzygotowane. VS w innej konfiguracji niż to opisane w dokumentacji itd. Po 40 minutach zrezygnowałem. Nie byłem w stanie przejść tego laba nawet z pomocą ludzi z Microsoftu.


Keynote.
Przemówienie otwierające całą konferencję. Ogłoszono, że VS.NET 2008 będzie dostępne jeszcze w tym miesiącu, chociaż oficjalny "launch date" będzie w lutym 2008 roku wraz z wypuszczeniem innych produktów (Windows 2008 Server i MS SQL Serwer 2008). Później dowiedziałem się, że SQL serwer będzie dostępny pod koniec drugiego kwartału 2008 roku (ale launch date będzie prawie 4 miesiące wcześniej). Dziwna strategia z tymi datami
Warto wspomnieć:
  • Visual Studio IDE, będzie dostępne za darmo i ma służyć, jako baza do pisania własnych środowisk IDE (nie koniecznie związanych z .NET). W czasie prezentacji pokazano IDE, jaki zbudował sobie Blizzard do tworzenia rozszerzeń do World of Warcraft.
  • Ogłoszono dostępność Popfly explorera. Dodatek do VS.NET, który integruje się z Microsoft Popfly
  • Microsoft twierdzi, że po raz pierwszy tworzył VS w VS (nie wiem, w jakiej wersji, czy to było 2005 czy też wersje beta 2008). Dodatkowo używali TFS.


What is Next for the .NET Framework and Distributed Applications?
Mało konkretna prezentacja o wizji, o Oslo (kodowa nazwa nowej inicjatywy Microsoftu) i o modelowaniu.

Ciekawą jest informacja, że Microsoft postanowił opracować swój język modelowania, który będzie miał nie tylko reprezentację graficzną (jak UML), ale również reprezentacje tekstową (tak, więc będzie można tworzyć model w notatniku). Ma to być zastępca UML. Prace są we wczesnej fazie, więc trudno powiedzieć, co to będzie, czy stanie się standardem itp.


Agile Development with Team System - by Roy Osherove
Ciekawa prezentacja, mimo że większość informacji prezentowana przez Roya była mi znana wcześniej. Ucieszyło mnie kilka małych zmian w VS.NET 2008, które ułatwiają TDD.Ogólnie VS idzie w dobrą stronę. Ale jeden element zasługuje na napiętnowanie: jeśli na serwerze kompilacja kodu się powiedzie ale Unit Testy nie to build zostaje uznany jako "Partially Successful". To jakieś totalne nieporozumienie. Build albo jest poprawny albo nie. Ważne, że można to wyłączyć.


Roy zamknął swoją prezentację w niecodzienny sposób.



Na koniec dnia otwarcie hali wystawowej. Firmy reklamujące się rozdały trochę gadżetów, można było wypić piwo, zjeść przekąski i pograć na XBoxie.

Wpis opublikowano na ITCore: 12 Listopada 2007

niedziela, 11 listopada 2007

TechEd 2007

Ubiegły tydzień spędziłem w Barcelonie na konferencji TechEd.
Miałem nadzieję pisać notki z każdego dnia imprezy, ale:
  • nie miałem Internetu w hotelu :-(
  • sama konferencja była bardzo wyczerpująca i po 10 godzinach spędzonych na TechEd ostatnią rzeczą, na jaką miałem ochotę to siedzieć przy komputerze

Jeśli kiedykolwiek będziecie mieli okazję pojechać na TechEd to bardzo polecam. Ogólnie prezentacje byłe bardzo ciekawe i pouczające. Oczywiście byłem na kilku słabszych wykładach, ale były to wyjątki.

Jak należało się spodziewać było dużo prezentacji związanych z technologiami Microsoftu, ale faktem wartym zauważenia jest to, że było trochę prezentacji o metodykach Agile i TDD (oczywiście w kontekście VS.NET 2008 ale zawsze to coś).

Jedynym elementem, z którego jestem całkiem niezadowolony to 'impreza’, którą zorganizował Microsoft w środę wieczorem. Każdy kraj z większą ilością uczestników miał swoją imprezę. Niedobitki, (czyli uczestnicy z krajów, z których przyjechała mniejsza ilość osób) miały swoją oddzielną imprezę: 'World Party'. No i uczestnicy z Polski znaleźli się na takim World Party. Byłą to jakaś 'cienka' impreza w muzeum/sali wystawowej, która trwała 2 godziny i jak ludzie zaczęli się rozkręcać to wszyscy zostali wyproszeni. Moi znajomi z Norwegi mówili, że ich impreza wyglądała całkiem inaczej (w centrum miasta w restauracji i trwała dużo dłużej). Ciekawe, że Rosja, z której było około 50 uczestników miała swoją imprezę a Polska z 63 uczestnikami nie miała. Podejrzewam, że imprezy te były organizowane przez lokalne oddziały Microsoftu i Microsoft Polska po prostu nie zainteresował się nami. Ale podkreślam, że są to moje przypuszczenia.

Mam nadzieję napisać w najbliższym czasie kilka notatek zainspirowany TechEdem, mam nadzieję, że znajdę na to czas :-).


Wpis opublikowano na ITCore: 11 Listopada 2007

sobota, 3 listopada 2007

TDD - Prezentacja na KGD.NET

W środę miałem przyjemność prowadzić prezentacje na KGD.NET na temat TDD.
Było super - nie spodziewałem się tak dobrego przyjęcia mojej prezentacji.

Było to pierwsze spotkanie w nowym miejscu - pierwszy raz w pubie. Przedtem zawsze spotykaliśmy się na sali wykładowej (AGH) lub w sali konferencyjnej (dawny budynek CDN). W nowym miejscu atmosfera była o wiele luźniejsza. Niestety było też trochę ciasno i głośno. Po 1,5 h prezentacji gardło miałem zdarte - musiałem przekrzyczeć muzykę słyszaną w tle, dodatkowo opary dymu papierosowego zrobiły swoje. Mimo wszystko uważam że pomysł aby spotykać się w takich miejscach jest bardzo dobry. Następnym razem musimy znaleźć większą salę :-).

Niestety chwilę po prezentacji musiałem wyjść. Z tego co wiem to kilka osób zostało w pubie po prezentacji w celach 'integracyjnych'. Następnym razem mam zamiar dołączyć :-)

Tydzień wcześniej byłem na podobnej prezentacji organizowanej przez PAUG, prowadzonej przez Jeffa Langra. Na sali byli głównie programiści pracujący w Javie. Na pytanie Jeffa 'Ile osób pisze testy przed napisanie implementacji?' dwie osoby podniosły rękę do góry: ja i jeszcze jedna osoba.

Zadałem takie samo pytanie na prezentacji dla KGD.NET - zdziwiłem się - zgłosiło się około 5. Zawsze wydawało mi się że świat programistów Javy jest bardziej Agile niż .NET.

Moja prezentacja składała się z dwóch części:
  1. Slajdy i część teoretyczna - 40 minut - to przeszło płynnie i bez problemu.
  2. Klasyka TDD - czyli Bowling Game kata - polegało to na tym że przez 40 minut pisałem program zgodnie z podejściem TDD. To już poszło mi mniej płynnie. Szczególnie że chciałem być 'cool' i zapytałem widowni jak rozwiązać pewien problem. Marcin Celej podpowiedział mi rozwiązanie na które nie byłem przygotowany i klops. Postąpiłem zgodnie z jego sugestią i zapędziłem się w kozi róg. Rozwiązanie problemu było proste ale mnie zamroczyło. Musiałem się cofnąć do rozwiązania na które byłem przygotowany. Jeśli chcecie poczytać więcej o Bowling Game kata oto przydatne linki
    http://www.xprogramming.com/xpmag/acsBowling.htm
    http://www.xprogramming.com/xpmag/acsBowlingProcedural.htm
    http://www.xprogramming.com/xpmag/acsBowlingProceduralFrameScore.htm
    http://www.xprogramming.com/xpmag/MiningBowling.htm

Wpis opublikowano na ITCore: 3 Listopad 2007