Software Talks: Java na Ławę (Wrocław)

30-06-201517:00

Pub Włodkowica 21

Włodkowica 21
50-072 Wrocław, Polska

zakończone

Zapraszamy wrocławską społeczność na spotkanie Software Talks – Java na ławę. Widzimy się 30 czerwca od 17:00 w pubie na Włodkowica 21. Jak zwykle możecie liczyć na fantastycznych gości, ciekawe prelekcje i smaczne piwko. Dla wszystkich zarejestrowanych uczestników przygotowujemy pamiątkowe koszulki z wydarzenia.

Do zobaczenia już niebawem!

AGENDA

17:00 Rejestracja

17:30 Własny projekt po godzinach – czy warto? (Tomasz Zieliński)

Tomasz Zieliński opowie, dlaczego po pracy warto hobbystycznie podłubać przy własnej aplikacji. Jego mobilny projekt Transportoid zdobył setki tysięcy użytkowników, zaś on sam wygrywał nagrody, trafił do telewizji, prowadził głośny spór o dostęp do informacji publicznej i opowiadał o nim w Parlamencie Europejskim.

Z przyczyn technicznych, nie możemy udostępnić obecnie nagrania prelekcji. Nagranie z wystąpienia Tomka pojawi się jesienią.

18:30 Czterej jeźdźcy apokalipsy, gdy Armagedon w JVM nadchodzi. (Jarosław Pałka)

JVM towarzyszy mi w projektach od prawie 15 lat. Łączą nas dobre chwile i złe wspomnienia, którymi będę się chciał z wami podzielić. Opowiem o 4 jeźdźcach apokalipsy którzy zamieszkują maszynę wirtualną i od czasu do czas dają znać o swojej obecności. Podstępnie zakradają się do zakamarków waszego systemu operacyjnego, procesorów i obszarów pamięci RAM, powodując że wasza aplikacja na produkcji zachowuje się jak wygłodniałe acz powolne zombie.
Kim są Ci odrażający jeźdźcy? To GC, operacje I/O, wątki i interpretowany bytecode. Postaram się na przykładach pokazać narzędzia dostępne w JDK jak i w waszym systemie operacyjnym, które pozwolą wam rozpoznać z którym z nich macie do czynienia a także techniki radzenia sobie z spadkiem wydajności. Prezentacja będzie pokazywać ekstremalne przypadki, które wymagać będą nietypowych technik, jednak wszystko odbędzie się zgodnie z zasadami sztuki a pokazane rozwiązania oparte będą na API i technikach dostępnym w każdym JDK.
Więc o czym tak naprawdę będzie?
Usłyszycie słów kilka o „off-heap memory”, gdy wszystkie rozsądne techniki optymalizacji GC zawiodły.
A także o „non-blocking IO” i „zero-copy buffers”, gdy już klasyczne IO zawiodło.
Nie obędzie się bez łagodnego wstępu do java.util.concurrent.atomic.* i „lock free programming”, gdy już nie radzicie sobie z ilością wątków.
A na koniec opowiem o „just-in time compilation” i jak pisać kod, który jest „JIT friendly”.
To wszystko i więcej o wydajności i optymalizacji JVM, dla waszej radości i uciechy przyszłych pokoleń.

19:30 Driven Design niczego nie zmienią. (Michał Bartyzel)

Domain-Driven Design, Test-Driven Development, Behavior-Driven Development, Data-Driven Design, Data-Driven Development, Use Case-Driven Design, Use Case-Driven Design, Architecture-Driven Design, Architecture-Driven Development, Model-Driven Development, Agile Model-Driven Development i tak dalej i tak dalej…
Czy coś ci to przypomina? Mnie tak. Kiedyś mówiliśmy ze znudzeniem „$%!@ yet another framework!”. Teraz trzeba powiedzieć z tym samym znudzeniem: „%$!@ yet another mental framework!”.
W trakcie prezentacji chcę pokazać, w jaki sposób pogoń za kolejnymi x-Driven Design, y-Driven Development wypacza to, co jest naprawdę ważne w programowaniu czyli umiejętność rozwiązywania problemów. Zajmiemy się również dość ważnym pytaniem: jaka jest właściwie relacja wszystkich tych „mental frameworks” do rzeczywistości, z którą spotykamy się na co dzień.

 

20:30 Co było pierwsze – kod czy architektura? – Sławomir Sobótka

Kim jest architekt? Czasem dostajesz taki tytuł zamiast podwyżki. Czasem jest to powód do dumy a czasem nie. Zastanowimy się od innej strony: czasem bywasz architektem – co powinieneś wiedzieć i umieć? Podejdziemy również coachingowo: co ma w głowie architekt i jak rozumuje i podejmuje decyzje?

Problem jest taki, że są w naszej branży trzy słowa, których nikt nie rozumie: architektura, moduł i komponent. Pokażę jakie są poziomy architektury, jak je wizualizować, po co i jakie wprowadzamy ograniczenia na każdym z poziomów. Zastanowimy się też kiedy da się zakładać z góry architekturą a kiedy może ona wyłaniać się z niskopoziomowych decyzji w kodzie. Aby móc wyłaniać architekturę poznamy nieco wzorców architektury aplikacyjnej i systemowej oraz kodowania w notatniku. Tak przy okazji: czy REST ma zawsze sens?

KIM SĄ NASI PRELEGENCI?

Tomasz Zieliński:
Absolwent Wydziału Informatyki na Uniwersytecie Wrocławskim, lider zespołu mobilnego w firmie PGS Software. Brał udział w pracach nad grą Angry Birds, pracował przy wyszukiwarce BING, programował tramwaje i autobusy, rozwijał systemy finansowe dla NBP. W roku 2010 wydał program Transportoid, pierwszy w Polsce mobilny rozkład jazdy komunikacji miejskiej dla systemu Android. Zapalony pilot paralotniowy.

Jarosław Pałka:
Od ponad 15 lat w branży IT, jako administrator baz danych, programista, architekt, manager i „inżynier od spraw katastrof”. Brałem udział w małych, średnich i nonsensownie dużych projektach, prowadzonych zgodnie zasadami „waterfall”, Agile oraz przy braku jakichkolwiek metodyk, z tym samym zawsze skutkiem. Co doprowadziło mnie do wniosku, że nie ważne co robisz tak długo, jak robisz to dobrze, w najprostszy z możliwych sposobów i używasz właściwych narzędzi które wykonają pracę za ciebie. W międzyczasie dałem się porwać ideą TDD oraz Software Craftmanship, do granic możliwości wyeksploatować tak piękne w swej prostocie pomysły jak REST, JavaScript i NoSQL, by potem porzucić je by zgłębić tajniki „system thinking” i zachwycić się siłą jaką niesie z sobą „metafora” i odkryć, że rządzą nami te same prawa „natury”.  Od czasu do czasu można usłyszeć moje niskiej jakości żarty na temat architektury na konferencjach w Polsce. W chwilach trener w http://symentis.pl i autor bloga na http://geekyprimitives.wordpress.com/.

Michał Bartyzel:
Od dziesięciu lat zajmuję się tematem efektywności zespołów programistycznych. Pracuję zarówno nad usprawnieniem architektury aplikacji oraz jej refaktoryzacją jak i nad ulepszeniem współpracy miedzy tak zwanym biznesem a zespołami programistycznymi.
Wypracowałem ponad pięćset dni szkoleniowch i doradczych z najlepszymi zespołami programistycznymi w Polsce. Doszedłem do przekonania, że kluczem do Software Craftsamanship są umiejętności lingwistyczne. Jest to prawdziwe zarówno w obszarze współpracy z biznesem jak i pracy programisty, co pokazuję w rozwijanych przeze mnie szkoleniach z zakresu refaktoryzacji, pracy z kodem i architekturą.
Wiele opracowanych technik zawarłem w książce „Oprogramowanie szyte na miarę. Jak rozmawiać z klientem, który nie wie, czego chce”. Te, nad którymi pracuję dzielę się na licznych konferencjach, blogu i magazynie Programista.

Sławomir Sobótka:
Jestem trenerem i konsultantem w firmie Bottega IT Solutions, specjalizuję się w technologiach Java EE.
W codziennej pracy integruję Domain Driven Design, wzorce, style architektoniczne, zwinne procesy wytwórcze i zdrowy rozsądek.
Stosuję nadrzędną zasadę: rozpoznać klasę problemu z jaką mamy do czynienia i dobrać do niej odpowiednią klasę narzędzia.
Hobbystycznie interesuję się psychologią pozytywną i kognitywistyką.
Lubię myśleć o sobie jako entuzjaście Software Craftsmanship.

Prelegenci:

Jarosław Pałka

Programista, architekt, manager

Michał Bartyzel

Agile coach, author, speaker

Sławomir Sobótka

Bottega IT Solutions

Tomasz Zieliński

Senior Android Developer i Team Leader, PGS Software

Fotorelacja z wydarzenia

  • DSC00038
  • DSC00035
  • DSC00021

Daj znać znajomym o "Software Talks: Java na Ławę (Wrocław)":

Zapisz się do naszego newslettera

FreshMail.pl