JAVA
09:00 - 10:00
Rejestracja
W mojej głowie pewnego dnia zrodziła się myśl, że na JEE6 brakuje lekkiego i przyjemnego w użyciu frameworka do warstwy prezentacji. Dlaczego nikt dotychczas nie napisał RoRa czy grailsa, który się po prostu osadzi na kontenerze zgodnym z JEE6?
I tak przeszedłem od słów do czynów. W prezentacji pokażę jakie to było w sumie proste zadanie - korzystając z CDI, JAX-RS itd. No i oczywiście to, że Asamal działa!
Przejdziemy przez kolejne elementy frameworku webowego - treść, template-owanie, formularze POST i GET, AJAX, Security - i pokaże jak większość z tych rzeczy można było rozwiązać przy pomocy istniejących JSRów.
Pisanie na JEE6 może być równie przyjemne co pisanie w Railsach ;-)
Tomasz w Softwaremill pełni rolę prezesa-developera / członka-założyciela. Zarządza zespołami, ale mocno wierzy w Agile, więc sam w tych zespołach zajmuje się programowaniem.
Posiada parę certyfikatów z różnych rzeczy, jest współ-leaderem Warszawa-JUG , interesuje się poza Javą także pisaniem własnych kompilatorów. Bywa lekko złośliwy, lubi narty i kajaki. Zaprasza na twittera i bloga.
Wciąż w Polsce za mało dyskutuje się o przydatności języków funkcyjnych, a te, które pojawiły się na JVM, nie mogą przebić się przez zasłonę zastawioną przez Javę, Groovy oraz Scalę. Podczas prezentacji chciałbym przedstawić język funkcyjny Clojure od strony praktycznej. Nie zamierzam zanudzać uczestników przedstawieniem składni, ale pokazać ją i język jako narzędzie do realizowania projektów aplikacji uruchamianych z linii poleceń (ala skrypty) i aplikacji webowych, a przede wszystkim jako uproszczenie aplikacji współbieżnych. Chcę przedstawić język Clojure, który jako Lisp, większości kojarzy się z bezkresem nawiasów, a mimo to zwykle ma mniej nawiasów niż tak wychwalana Java. Jako praktyk javowy dotknąłem problemu zrozumienia sensu istnienia języka funkcyjnego na JVM i po wielu miesiącach ślęczenia nad istotą języka sądzę, że w końcu udało mi się dotrzeć do jego sedna. Właśnie to ma być kanwą mojej prezentacji. Chcę przedstawić język jako narzędzie do uproszczenia budowania aplikacji współbieżnych, aplikacji webowych i tak banalnych jak skrypty. Skoro jesteśmy na JVM, to dla programistów javowych niech to będzie kolejne narzędzie, z którego mogą korzystać – powiedzmy niech to będzie biblioteka do uproszczenia programowania współbieżnego. Dla programistów spoza JVM, a programujących funkcyjnie w LISPie czy Haskellu, niech to będzie okazja do wejścia na JVM i skorzystania z dobrodziejstw bezkresu dostępnych rozwiązań.
Jacek Laskowski jest założycielem i liderem Warszawskiego JUGa. Interesuje się Javą w wydaniu podstawowym (Java SE) i korporacyjnym (Java EE), a od ponad roku zadużony w programowaniu funkcyjnym z Clojure (i w tle F#). Swoje przemyślenia publikuje na polskojęzycznym blogu Jacek Laskowski jawnie oraz angielskojęzycznym Japila :: verba docent, exempla trahunt. Krótkie myśli znajdziesz na kanale @jaceklaskowski. Występuje podczas polskich konferencji, co traktuje jako wyróżnienie i miejsce prezentacji własnych poglądów. Będzie wdzięczny za wszelkie komentarze do jego publicznych aktywności.
11:50 - 12:10
Przerwa kawowa
Współczesne frameworki aplikacyjne wspierają model programistyczny oparty na POJO, na których łatwo jest przeprowadzić test jednostkowy. Jak natomiast skutecznie przeprowadzić test integracyjny naszej aplikacji tak, aby jego warunki były najbardziej zbliżone do środowiska produkcyjnego? Podczas tej prezentacji Sam pokaże jak określić docelowe środowisko aplikacji używając JUnit i Spring TestContext Framework tak, aby skutecznie i szybko przeprowadzić testy integracyjne poza kontenerem. W  celu zasymulowania rzeczywistego systemu użyte zostaną open source’owe metody testów integracyjnych, takie jak bazy danych in-memory, providery JMS i kontenery Servlet, a także symulowane serwery SMTP i FTP.
Sam Brannen zajmuje stanowisko Senior Software Consultant, ma ponad 14 letnie doświadczenie w branży i jest współzałożycielem Swiftmind – agencji konsultingowej z Zürichu. W Swiftmind Sam pomaga międzynarodowym klientom we wdrażaniu praktyk agileowych w tworzeniu oprogramowania, architektury, desingu, implementacji i testowaniu aplikacji w Javie używając Spring Framework i mnóstwa technologii open sourcowych. W swojej pracy konsultingowej Sam najbardziej lubi prowadzić warsztaty, recenzować kod i szkolić klientów.  



Sam często występuje na konferencjach o tematyce Java, Spring i OSGi. Aktywnie pomaga rozwijać Spring Framework, jest autorem „Spring in a Nutshell”, autorem Spring TestContext Framework, wcześniej był developerem SpringSource dm Server (Eclipse Virgo)

Przez lata swojej pracy Sam pomagał swoim klientom budować aplikacje dla wielu sektorów rynku: bankowości, sprzedaży detalicznej, portali społecznościowych. W wolnych chwilach Sam podróżuje, spędza czas z rodziną i przyjaciółmi.
Jakość kodu (albo inaczej: wewnętrzną jakość) bardzo trudno zdefiniować. Zapytaj 10 programistów, a możesz być pewien, że dostaniesz 10 różnych odpowiedzi. Jest kilka formalnych definicji, ale po co je omawiać skoro mogę Wam pokazać jak mój zespół w praktyce podniósł jakość kodu. W czasie prezentacji skupimy się na praktycznych aspektach pisania lepszego kodu, ustalimy kilka prostych zasad, które dobry kod musi spełniać i dowiemy się jak je wprowadzić w życie w naszej pracy.
Uberto programuje odkąd w prezencie świątecznym dostał ZxSpectrum. Napisał dwie książki i wiele artykułów na temat Borland Delphi i Linuxa. Jest także entuzjastą Agile, z bzikiem na punkcie testów. Występował na wielu włoskich konferencjach dotyczących Delphi, Agile i Javy. Wspiera wolne oprogramowanie we wszystkich ciekawych językach i platformach. W ciągu dnia pracuje w Vodafone. Jest liderem zespołu utalentowanych developerów budujących backendowe rozwiązania dla telefonów komórkowych. Nocami pisze kod dla http://www.netnumero.com, aplikacji do prowadzenia księgowości online opartej o GWT i działającej w chmurze (GAE).
13:45 - 14:45
Obiad
Podczas tej sesji zostaną przedstawione nowe możliwości testowania Spring 3.1 i 3.2 a także nowe wsparcie dla testów Spring MVC. Sam Brannen zademonstruje jak używać frameworka Spring TestContext do pisania testów integracyjnych używając klas @Configuration w aplikacjach Spring napisanych na podstawie Javy. Następnie porówna to podejście z configuracją XMLową i przedyskutuje z uczestnikami nowe wsparcie testów dla profili typu bean. W dalszej części prezentacji Sam pokaże jak testowanie kodu używając RestTemplate po stronie serwera zawierającego „annotated controllers” i kod wywoływany po stronie klienta stało się dużo łatwiejsze przy użyciu nowego wsparcia dla testów Spring MVC. Jeśli chcesz zobaczyć nowe fukcje w akcji to ta sesja jest dla Ciebie.

Sam Brannen zajmuje stanowisko Senior Software Consultant, ma ponad 14 letnie doświadczenie w branży i jest współzałożycielem Swiftmind – agencji konsultingowej z Zürichu. W Swiftmind Sam pomaga międzynarodowym klientom we wdrażaniu praktyk agileowych w tworzeniu oprogramowania, architektury, desingu, implementacji i testowaniu aplikacji w Javie używając Spring Framework i mnóstwa technologii open sourcowych. W swojej pracy konsultingowej Sam najbardziej lubi prowadzić warsztaty, recenzować kod i szkolić klientów.  



Sam często występuje na konferencjach o tematyce Java, Spring i OSGi. Aktywnie pomaga rozwijać Spring Framework, jest autorem „Spring in a Nutshell”, autorem Spring TestContext Framework, wcześniej był developerem SpringSource dm Server (Eclipse Virgo)

Przez lata swojej pracy Sam pomagał swoim klientom budować aplikacje dla wielu sektorów rynku: bankowości, sprzedaży detalicznej, portali społecznościowych. W wolnych chwilach Sam podróżuje, spędza czas z rodziną i przyjaciółmi.
15:30 - 15:50
Przerwa kawowa
Wykład obejmie porównanie rozproszonych systemów kontroli wersji, ze szczególnym uwzględnieniem najpopularniejszych tj. GITa i Mercuriala. Zostaną przedstawione najczęstsze problemy z jakimi stykają się developerzy, którzy postanawiają zmienić VCSa. W wielu przypadkach jest to koncepcyjna zmiana modelu klient-serwer i przestawienie się na tryb rozproszony. Zostanie poruszony problem z uprawnieniami i strategie zarządzania dostępem do repozytoriów.
Współczesne frameworki aplikacyjne wspierają model programistyczny oparty na POJO, na których łatwo jest przeprowadzić test jednostkowy. Jak natomiast skutecznie przeprowadzić test integracyjny naszej aplikacji tak, aby jego warunki były najbardziej zbliżone do środowiska produkcyjnego? Podczas tej prezentacji Sam pokaże jak określić docelowe środowisko aplikacji używając JUnit i Spring TestContext Framework tak, aby skutecznie i szybko przeprowadzić testy integracyjne poza kontenerem. W celu zasymulowania rzeczywistego systemu użyte zostaną open sourcowe metody testów integracyjnych, takie jak bazy danych in-memory, prowidery JMS i kontenery Servlet, a także symulowane serwery SMTP i FTP. Pokazane metody nie ograniczają się tylko do aplikacji napisanych przy użyciu Spring i mogą zostać użyte do przeprowadzenia testów integracyjnych każdej współczesnej aplikacji Java.
Napięte terminy, budżety na  ścisłej diecie, eksplodujące metryki KLOC, CC, RFC, mgławice technologii, paradygmatów oraz manifestów. Rozproszone zespoły, „nonsensownie” wielkie i  złożone systemy... Czy w dobie globalnego kryzysu finansowego jesteśmy też świadkami (a być może też sprawcami) kryzysu w naszej branży? Podczas prezentacji spróbujemy zrozumieć czym jest kryzys architektury systemów IT, jakie są jego źródła i skutki. Spróbujemy też wyjrzeć poza nasz "ogródek” i poszukać rozwiązań korzystając z „myślenia systemowego” i „teorii systemów złożonych”. Przyjrzymy się  archetypom systemów, zrozumiemy, czym charakteryzują się „złożone systemy” i jakie rozwiązania proponują prezentowane podejścia.
17:25 - 17:35
Zakończenie konferencji – losowanie nagród