Prelegenci

Marcin Pilaczyński

Java Programmer
Szeregowy java developer z około 10-letnim stażem. Gorący zwolennik pracy zespołowej i Scruma. W wolnej chwili lubi pobawić się Raspberry Pi programując “domowe projekty” w C. Uzależniony od muzyki i roweru.

Szymon Stępniak

Freelancer, Toruń Java User Group founder
Na co dzień zajmuję się Continuous Delivery w Upwork Global Inc., gdzie pomagam dziesiątkom zespołów budować w pełni zautomatyzowane procesy budowania i wdrażania aplikacji w świecie mikroserwisów. Prowadzę bloga https://e.printstacktrace.blog za pośrednictwem którego dzielę się moją pasją do programowania i rozwiązywania nietuzinkowych problemów. W wolnych chwilach odpowiadam na pytania na Stack Overflow, gram na gitarze, i cieszę się czasem spędzonym z rodziną.

Tematy

  • Na spotkaniu spróbuję przypomnieć czym jest "Czysty Kod" według Uncle Boba oraz zaprezentować najważniejsze (według mnie) podstawowe zasady wytwarzania takiego kodu. Oprócz tego spróbuję rozważyć jakie są zalety, wady i co tak naprawdę daje nam takie podejście, na podstawie doświadczenia własnego oraz innych deweloperów. Jeśli wcześniej nie miałeś styczności z "Clean Code" to prezentacja powinna być ciekawym wstępem do tematu. A jeśli temat znasz to być może będzie to dobra okazja do powtórki.

  • Programiści Java przyzwyczaili się do wirtualnej maszyny Java, kompilatora JIT, konieczności “rozgrzewania” aplikacji w celu poprawienia wydajności, czy też dość powolnego startu programów uruchamianych na JVM. GraalVM wywraca ten świat do góry nogami. Kompilację just-in-time zastępuje kompilacją ahead-of-time, powodując jednocześnie, że “rozgrzewanie” aplikacji przestaje być potrzebne. Standardowego Java HotSpot VM zastępuje mikro maszyną wirtualną, SubstrateVM, która zajmuje się wyłącznie podstawowymi zadaniami, jak zarządzaniem pamięcią czy obsługą wątków. A do tego pozwala skompilować istniejący kod do postaci programu wykonywalnego, zmniejszając jednocześnie czas potrzebny na uruchomienie programu do kilku milisekund. Brzmi niewiarygodnie, prawda? Rzeczywistość nie jest jednak tak różowa. Generowanie natywnych obrazów obarczone jest wieloma ograniczeniami, pułapkami, oraz problemami trudnymi do wyśledzenia. W prezentacji tej podzielę się z Wami wynikami eksperymentów, które przeprowadziłem z GraalVM. Pokażę Wam testy przeprowadzone m.in. na programach wiersza poleceń napisanych w Groovy, czy też web aplikacji napędzanej frameworkiem Netty. Nie wystarczy nam czasu i możliwości, żeby zbadać wszystkie możliwe przypadki, ale z prezentacji tej dowiedzie się:
    - jaka jest różnica pomiędzy kompilatorem Graal, a GraalVM,
    - jakie są ograniczenia kompilacji ahead-of-time,
    - jak rozwiązać problemy z obiektami proxy oraz instancjami tworzonymi przez refleksję,
    - oraz czy Wasz kolejny projekt koniecznie musi wykorzystywać możliwości GraalVM.
    Będzie też dużo materiałów źródłowych pozwalających pogłębić wiedzę na temat GraalVM i jego możliwości.

Sponsorzy następnego spotkania

Go to Mobica

Mobica

Mobica is a world-leading, award-winning software services company offering bespoke development, QA and consultancy. We specialise in complex, next generation, time critical projects across a wide range of industries for many of the world’s leading companies.

Go to JetBrains

JetBrains

Creator of the best Java IDE – IntelliJ IDEA – is a technology-leading software vendor specializing in the creation of intelligent development tools.