Konferencja Doing Java Better

Konferencja Doing Java Better

Rejestracja
Uczestnik
Rejestracja zakończona 14.12.2021 09:45
zakończona

Opis wydarzenia

Doing Java better - konferencja Luxoft, na którą czekaliście!

Spotykamy się online, 14 grudnia, od godziny 9.45.

Doing Java better to pięć prezentacji poświęconych temu co i jak można zrobić lepiej w ekosystemie Javy. Jak lepiej testować? Jak lepiej pisać kod wykorzystujący nowości języka? Jak lepiej korzystać z GC - szczególnie tych nowych? Jak lepiej pisać asynchronicznie? Jak lepiej wykorzystać sprzęt, na którym działa wirtualna maszyna?

Zarejestruj się za darmo i dołącz do dyskusji. Po każdej prezentacji (na żywo) planujemy sekcję Ask Me Anything.

Agenda:

  • 9:45 - 10:00 I Oficjalne otwarcie konferencji i przywitanie uczestników
  • 10.00 - 10:45 I Piotr Przybył: (mis)using modern Java 
  • 11.00 - 11:45 I Grzegorz Piwowarek: CompletableFuture: RedFlags
  • 11:45 - 13:00 I Przerwa
  • 13:00 - 13:35 I Jarek Pałka: Bare Metal Java
  • 14:00 - 14:45 I Jakub Marchwicki: Mówili Ci piramida testów, ale Ty robisz mikroserwisy… i co teraz?
  • 15:00 - 15:45 I Krystian Zybała: Nowe algorytmy GC w Javie
  • 15:45 - 16:00 I Oficjalne zamknięcie konferencji.
 
Organizatorem konferencji jest Luxoft a DXC Technology Company. To międzynarodowa firma zajmująca się strategią cyfrową i inżynierią oprogramowania. W Polsce działamy od 2010 roku. Luxoft jest firmą świadczącą usługi cyfrowej transformacji i inżynierii oprogramowania, dostarczającą zindywidualizowane rozwiązania IT, które napędzają zmiany biznesowe dla klientów w każdym zakątku globu. 
W Luxoft Poland staramy się dostarczać klientom rozwiązania technologiczne szyte na miarę. Łączymy wysoką jakość usług z dogłębną wiedzą branżową. Specjalizujemy się w sektorach motoryzacji, usług finansowych, mediów, telekomunikacji i innych. Technologia to nasza pasja! Zatrudniamy doświadczonych specjalistów, z którymi realizujemy ambitne i długoterminowe projekty. Luxoft to globalna rodzina z epicką atmosferą – kochamy to, co robimy! Nie zwalniamy tempa, dzięki czemu możemy śmiało powiedzieć, że jesteśmy stabilnym pracodawcą nawet na trudne czasy.
Luxoft Poland jest dobrze znany ze swojego niezmiennie wysokiego poziomu dostaw i złożonego zarządzania projektami, talentu wysoko wykwalifikowanych ekspertów w dziedzinie inżynierii cyfrowej, wyjątkowej orientacji na klienta oraz zwinności, kreatywności i niezwykłych możliwości rozwiązywania problemów.

---
ABSTRAKTY:

Jakub Marchwicki: Mówili ci piramida testów, ale ty robisz mikroserwisy… i co teraz?

Testy jednostkowe, integracyjne, akceptacyjne - pierwsze skojarzenie gdy ktokolwiek wspomina piramidę testów. Każdy absolwent ISTQB, obudzony w środku nocy, wymieni i opisze elementy tego trójkąta. Pojawia się jednak jedno zasadnicze pytanie: czy taki podział w ogóle ma sens? Czy to zadziała w rozproszonym środowisku mikro usług? Czy pisząc małe, niezależne serwisy, taki podział testów jest jakkolwiek zasadny?Podczas sesji spróbujemy omówić zasadność testów (w ogólności) oraz spojrzymy na heurystyki podziału takowych (w projekcie). Poprzez testy staramy się zweryfikować zasadność różnych hipotez, które stawiamy pisząc kod - sprawdzimy zasadność tych hipotez oraz narzędzia których używamy do ich weryfikacji. Spojrzymy czy zawsze należy uruchamiać całą aplikacje, czy testowanie fragmentów to takie małe oszustwo. Przeanalizujemy jak testować komunikację ze światem zewnętrznym i czy lokalne uruchamianie elementów infrastruktury naszego systemu w ogóle ma sens.

Jakub programuje od prawie 20 lat. Spędzał niezliczoną liczbę godzin w projektach, w różnych środowiskach, podejmując wyzwań zarówno jako ekspert techniczny, jak i człowiek od biznesu. Poniekąd oznacza to, że w życiu robi wszystko, pewnie nic dobrze.Pracował w wielu językach używając różnorodnych frameworków, prowadził zespoły, rozmawiał z klientem, robił r&d i fabrykę oprogramowania. Java jest jego głównym narzędziem do rozwiązywania problemów, ale czuje się też komfortowo z innymi młotkami. Jako klasycznie wykształcony inżynier uważa, że programowanie to narzędzie do rozwiązywania życiowych problemów. Stara się być blisko biznesu, nie tracąc z oczu technologii.Orędownik architektury opartej o usługi (czy to było SOA, czy mikroserwisy), pragmatyczny programista, praktyk slow coding: najpierw pomyśl, eksperymentuj, a potem kod sam przyjdzie. Pomiędzy 9 a 17 pracuje nad tym aby Hazelcast był dostępny w chmurce. Stara się lepiej bądź gorzej godzić to z wykładami, warsztatami i innymi zobowiązaniami wobec konferencji Segfault, którą organizuje.

-
Jarosław Pałka: Bare metal Java

Java, a tak naprawdę JVM, cieszy się zasłużoną sławą platformy nieprzyjaznej dla sprzętu, a co za tym idzie, nikt poważny (oprócz Apache Kafka, Elastic, Cassandra i Neo4j) nie będzie budował baz danych, kolejek i innych rozwiązań gdzie "mechanical sympathy" jest kluczowe.
Garbage collector, spekulujący JIT, brak kontroli nad "object layout", fatalne wsparcie (głównie przez brak abstrakcji) dla funkcji nowoczesnych procesorów i systemów operacyjnych. I do tego jeszcze JNI (kto tam był, to wie o czym mówię). (O implementacji IO nawet przez szacunek do samych siebie, nie wspominam.)

Celem tej prezentacji jest odczarowanie tych mitów i pokazanie jak wiele wysiłku ostatnio idzie ostatnio w uczynienie JVM bardziej przyjaznego dla sprzętu.Będzie o API, które są jeszcze w fazie inkubacji (choć niektóre jeszcze nie dojrzały do tego, a niektóre są już stabilne). API których, być może nigdy w życiu nie zobaczycie, a które będą w przyszłości stanowić fundament baz danych, czy kolejek. 

Zaczniemy od Unsafe, by nadać rys historyczny. By potem pokazać foreign memory access, czyli jak bezpiecznie pracować z pamięcią poza stertą oraz foreign functions interface, czyli jak wywołać C z Java (i w drugą stronę).

Wszystko polane sosem nie działających przykładów i przekłamanych micro benchmarków i OpenJDK skompilowanego na pięć minut przed prezentacją.

Jarek - Od ponad 20 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. Wszystko to doprowadziło mnie do wniosku, że nieważne co robisz, ważne byś robił to dobrze, w najprostszy z możliwych sposobów i przy użyciu właściwych narzędzi, które wykonają pracę za Ciebie. W międzyczasie dałem się porwać ideom TDD oraz Software Craftmanship, do granic możliwości wyeksploatować tak piękne w swej prostocie pomysły jak REST i NoSQL. Porzuciłem je, by zgłębić tajniki „system thinking" i zachwycić się siłą, jaką niesie ze sobą „metafora" oraz by odkryć, że rządzą nami te sameprawa „natury". Niepokorny wyznawca kościoła JVM, badacz bytecode'u i JIT oraz wszelkiej maści parserów, interpreterów i kompilatorów. Na co dzień walczący o lepszą wydajność w Neo4j. Od czasu do czasu można usłyszeć moje niskiej jakości żarty na temat architektury na konferencjach w Polsce.W wolnych chwilach trener w Symentis, autor bloga na http://geekyprimitives.wordpress.com/ oraz samozwańczy dyktator w Radzie Programowej konferencji SegFault.

---
Piotr Przybył: (mis)using modern Java 

Java jest naprawdę świetna, gdy trzeba napisać program "Hello, World!" Jest również genialna dla wyrafinowanych systemów i algorytmów, pod warunkiem, że ich autorzy piszą kod, który przestrzega kilku dość prostych umów i unika oczywistych pułapek.

Istnieje kilka mantr dotyczących najnowszych cech współczesnej Javy, takich jak:

* rekordy mogą wszędzie zastąpić JavaBeans
* nigdy nie musisz pisać `hashCode()` dla rekordów
* dopasowanie wzorca za pomocą `instanceof` jest najlepszym narzędziem dla `equals()`
* po prostu zignoruj `--illegal-access` lub ustaw go na `permit`
* `synchronize (new Long(42))` jest najlepsze dla monitorowania
i tak dalej.

Dołącz do tej sesji, aby dowiedzieć się, jak szkodliwe może być ślepe przestrzeganie takich mantr i jak uniknąć oczywistych nieporozumień dotyczących współczesnej Javy.

Piotr Przybył - Notoryczny inżynier w pracy i poza nią, podążający za meandrami sztuki programowania. Zawodowo Remote Freelance Software Gardener, od kilku lat wyrywający chwasty w ogródkach webowych i zwykle przycinający Javę do kształtów pożądanych przez klientów. Miłośnik lekkości i zwinności, która powinna przejawiać się przede wszystkim w stosowaniu właściwych narzędzi. Lead developer, trener, prelegent.

--
Grzegorz Piwowarek: CompletableFuture: RedFlags

Wprowadzenie CompletableFuture było rewolucją w świecie asynchronicznego przetwarzania w Javie. Okazuje się jednak, że CompletableFuture ma swoje kaprysy. W trakcie tej prezentacji popatrzymy z jakich niespodziewanych miejsc CompletableFuture bierze wątki, co nieintuicyjnego robi z wyjątkami oraz naprawimy “dziwolągi” z publicznego API.

Grzegorz jest lead architektem w Hazelcast, prowadzi szkolenia i bloguje na 4comprehension.com. Interesują go systemy rozproszone, bebechy, wydajność i architektura systemów. Krążą plotki, że istnieje tylko w czasie kompilacji.

---
Krystian Zybała: Nowe algorytmy GC w Javie

W Java 11/12 pojawiły się dwa nowe bardzo wydajne collectory ZGC i ShenandoahGC. Ich głównym celem jest skrócenie pauz GC do kilku milisekund tak, aby już developer nie musiał niczego „optymalizować". Przejdziemy przez każdy z tych kolektorów i porównamy je z G1, który jest obecnie domyślnym GC od Java 9.

Krystian Zybała - Programista z 10 letnim doświadczeniem. Na co dzień skupia się na wydajności JVM w systemach rozproszonych, wyciskając z Kafki co się tylko da w połączeniu z DataStax. Hobbistycznie zajmuje się JVM, Reactive Systems.


Regulamin konferencji
Polityka prywatności
Administracja danymi osobowymi
Luxoft: Informacja o przetwarzaniu danych osobowych

 

Termin i miejsce
Rozpoczęcie:
14.12.2021 09:45
Zakończenie:
14.12.2021 16:00

Wydarzenie online

Strona rejestracji:
https://doing-java-better.konfeo.com

Udostępnij znajomym:

Organizator

SYMENTIS EVENTS Sp. z o.o.

Rynek Główny 28
31-010 Kraków

[email protected]

533 600 164

pl