Wybór języka

Moje prezentacje

Pierwsze moje wystąpienia publiczne (zwykle w zakresie IT) zacząłem dawać w 2016r. Do tej pory (kwiecień 2020) dałem ponad 75 wykładów w różnych formatach: od Pecha Kucha (20 slajdów po 20 sekund każdy) do Deep Dive (2,5 godz.) Przemawiałem w Polsce i w Europie, zarówno na małych wydarzeniach społecznościowych jak i w ogromnych salach kinowych. Wiele z moich prezentacji (ale nie wszystkie) ma zarówno wersję polską, jak i angielską. Niektóre były wygłoszone wiele razy, niektóre tylko raz, niektóre zostały nagrodzone, ale wszystkie były tworzone z pasją.

W dawnych mrocznych czasach musieliśmy czekać 3-4 lata, by zobaczyć nową wersję Javy ze zmianami w API, składni i JVM. Obecnie mamy dwa duże wydania każdego roku! Czy możemy korzystać z tych wydań przed pojawieniem się kolejnego LTSa? Chcesz wiedzieć, co się wydarzyło od czasu Javy 11? Rekordy? Wyrażenia switch? Pattern matching? Jakieś zmiany w NullPointerException? Nowe funkcje w API? O co chodzi z Shenandoah i ZGC? AppCDS, żeby przyspieszyć start?
Minęło kolejne pół roku, kolejne wydanie nowej wersji Javy™ za nami. Zdaniem wielu “Java jest wolna”. Okazuje się, że rozwój Javy jest tak “wolny”, że kolejne wydania nie są tylko podbiciem wersji, bo mogą znacząco zmieniać reguły gry. To dobry powód na kolejny deep dive w Javie. Będzie mowa o: ZGC i Shenandoah w gotowości produkcyjnej (jeśli kto nie lubi epok lodowcowych) dopasowaniu do wzorca z instanceof (zwane również smart casting) klasach zapieczętowanych (czyli nowym wymiarze widoczności typów) klasach ukrytych (tak bardzo, że same siebie nie widzą) blokach tekstowych, które pozwalają łatwo deklarować napisy bardziej skomplikowane od “Hello World!
Java 14 przyniosła nam Rekordy (poza wieloma innymi ciekawymi rzeczami). Dla wielu osób to powód, by twierdzić “koniec z generowaniem getterów dla JavaBeans” albo nawet “Lombok umarł”. Czy rzeczywiście tak jest? Co można zrobić z rekordami, czego nie można? Co z refleksją i serializacją? Prezentacja nie została jeszcze nagrana po polsku (ma się to zmienić w czerwcu 2020), pojawiła się w czasie AllTheTalks.online.
W mrocznych czasach musieliśmy czekać 3-4 lata, żeby zobaczyć nową wersję Javy. Teraz mamy dwa duże wydania każdego roku! Nowości z Javy możemy wykorzystać przed wydaniem kolejnego LTSa. Do rzeczy… Masz ochotę zobaczyć, co się stało w Javie 14? Wyrażenia switch osiadły na dobre? Czy teraz już nie będzie NPE? Rekordy? Pattern matching? Bloki tekstowe? Jeśli wydają Ci się interesujące, dajmy razem nura w te nowości! Prezentacja pojawiła się w tej formie (Deep Dive) na WrocławJUG i WarszawaJUG.
W mrocznych czasach musieliśmy czekać 3-4 lata, żeby zobaczyć nową wersję Javy. Teraz mamy dwa duże wydania każdego roku! Nowości z Javy możemy wykorzystać przed wydaniem kolejnego LTSa. No dobrze, ale co się wydarzyło od czasu Javy 11? Wyrażenia switch? Bloki tekstowe? Nowe funkcje w klasie String, w Streams i innych API? O co chodzi w Shenandoah and ZGC? AppCDS by uruchamiać aplikacje szybciej? Jeśli wydają Ci się interesujące, dajmy razem nura w te nowości!
Wyczekowałeś Grzesiu brancza, tak jak cię prosiłam? Wyczekowałem i pusznąłem bagfiksa, ciociu miła! Poznałeś w tym miesiącu dwa super kul frejmłorki, które pozwolą ricznąć więcej kipiajów? Fantastycznie, a kiedy ostatnio w twym ręku był słownik? Albo jakakolwiek książka (lub czasopismo)? Wszystko się teraz informatyzuje, takie czasy. e-Urząd, e-commerce, e-tamto, e-siamto… Żeby to wszystko zrobić i utrzymać, potrzeba rzeszy informatyków i inżynierów. (I straszą, że ma być jeszcze gorzej.) Coraz więcej rzeczy przechodzi przez ręce naszej branżuni.
Nieodwołalnie nastał czas Javy 11+. (Gdyby twój szef jeszcze nie zauważył… ;-)) Prelekcja o tym jak udało się przenieść prawdziwe aplikacje serwerowe do Javy 11. Co i jak trzeba było zrobić, jak przekonać biznes, co nie było wymagane, wnioski dla innych. Niestety wersja po polsku nie została nigdzie opublikowana. Prezentacja (w różnych formatach i długościach) gościła m. in. na Devoxx Poland, Devoxx Ukraine, Devoxx Belgium, CodeMotion Milan, Java Developer Days, CoffeeJUG Lviv, 4Developers, Wrocław JUG i innych.
Jak programista może stwierdzić czy systemowi coś dolega patrząc wyłącznie na jego wejście i wyjście? Jeśli chcesz to wiedzieć (i za bardzo nie nie przeszkadza Ci standup), przyjdź i zobacz. Terapia jest bezpieczna! ;-) Jedną ze szkół zapoznawania się z systemem jest długie i namiętne czytanie dokumentacji, przerywane rzucaniem okiem do kodu. Inną szkołą jest zanurkowanie w model danych (często w bazie) i posurfowanie po interfejsie użyszkodnika. Są to dwa naturalne końce systemu, legendarne wejście i wyjście.
Zdaniem niektórych codzienna praca programisty polega przede wszystkim na rozwiązywaniu problemów, a nie używaniu narzędzi. Moim zdaniem wykorzystywanie właściwych narzędzi nie tylko rozwiązuje problemy, ale pozwala wyeliminować wiele z nich. Trochę to trwało nim uświadomiłem sobie, że o ile żadne narzędzie nie jest złotym młotkiem, o tyle niektóre są dla mnie prawdziwymi punktami G*. Używanie ich daje prawdziwą satysfakcję podczas reagowania na “kolejne wymaganie biznesowe”. Chciałbym Wam pokazać moje zawodowe punkty G i pomóc znaleźć wasze.
“Najlepszy algorytm do sortowania to quick sort." “Indeksy przyspieszają działanie bazy." “Dane sortuje się przy pomocy ORDER BY." “Dziedziczenie be, kompozycja cacy." “Windows to system operacyjny." “W bazie musisz mieć transakcje." “Java jest wolna." “Nie jedz żółtego śniegu." “Nie należy samemu podpisywać certyfikatów." “Interrupt w Javie jest skopane.” Świat IT jest pełen mantr/prawd objawionych, przekazywanych (często w tradycji ustnej) w plemionach programistów. Bezmyślnie powtarzane z pokolenia na pokolenia (często już od uczelni) powodują bezrefleksyjne stosowanie, które może wywołać w najlepszym przypadku więcej szkody niż pożytku.

Wybór języka