216 JUG. Blokujące strumienie oraz Mikrousługi - Adam Warski && Rafał Maciak
1. Temat: W kierunku blokujących strumieni
Abstract:
Jak szybkie są wirtualne wątki? To pytanie może mieć tyle odpowiedzi, ile jest różnych use-case'ów, dlatego skupimy się na jednym: implementacji "direct-style" przetwarzania strumieniowego. Zaczniemy od znanego z poprzednich wersji Javy ArrayBlockingQueue i zobaczymy jak z problemem radzi sobie Kotlin. Spróbujemy prostych implementacji w Javie i przejrzymy dostępne optymalizacje. To zaprowadzi nas do biblioteki jox: szybkich, skalowalnych kanałów w Javie. W drugiej części wejdziemy po drabinie abstrakcji i zobaczymy jak na bazie kanałów z jox-a można zbudować API wyższego poziomu, przypominające to, które znamy z implementacji strumieni "reaktywnych". Bezpieczeństwo zapewni nam ustrukturyzowana współbieżność, przyjazną składnię Scala, a szybkość jox.
Język: PL
Prelegent: Adam Warski
Jestem jednym z współzałożycieli SoftwareMill (http://www.softwaremill.com/), gdzie koduje głównie używając Scali i innych ciekawych technologii. Część czasu spędzam nad różnymi projektami open-source, m.in. sttp, tapir, ElasticMQ i innymi. Byłem prelegentem na konferencjach takich jak Devoxx, ScalaDays, GeeCON czy LamdbaConf. W trakcie pozostałego wolnego czasu próbuję przeczytać internet na tematy około-programistyczne, przemyślenia kierując na bloga (https://softwaremill.com/blog).
2. Temat: Mikrousługi w praktyce: sukcesy i porażki
Abstract:
Pomimo upływu dobrych kilu lat od zakorzenienia się konceptu architektury mikrousługowej w naszej branży, nadal jest to temat bardzo gorący. Potwierdzają to zarówno statystyki Google Trends, czy pytania na StackOverflow, ale również ogłoszenia o pracę, dyskusje tematyczne czy prezentacje na konferencjach. Mikrousługi obiecują wiele korzyści, takich jak lepsza modularyzacja, izolacja awarii, elastyczność w skalowaniu, szybsze wdrażanie i niezależność zmian czy technologiczna agnostyczność. Ale jak to wygląda w praktyce? Czy te korzyści są łatwe do osiągnięcia i jakie wyzwania mogą się pojawić w drodze do ich realizacji? Jakie są koszty związane z wdrożeniem tej architektury i czy sama implementacja mikrousług wystarczy do osiągnięcia pożądanych rezultatów? Podczas prezentacji odpowiem powyższe pytania posiłkując się osobistymi doświadczeniami z pracy z architekturą mikrousługową. Opowiem o sukcesach i porażkach, które spotkałem na swojej drodze włączając w to zarówno dobrze przeprowadzone wdrożenia, jak i błędy, które popełniłem. Nie zabraknie przykładów pokazujących jak nie do końca poprawna implementacja mikrousług może zamiast poprawić jakość naszej pracy, skutecznie nam ją uprzykrzyć. Oraz przykładów na to jak kluczowa jest zmiana sposobu myślenia i procesów w organizacji, aby w pełni wykorzystać potencjał mikrousług.
Język: PL
Prelegent: Rafał Maciak
Programista pasjonat i pragmatyk z doświadczeniem głównie w technologiach około JVMowych. Wierzy w koncepcje stojące za trzyliterowymi skrótami - TDD, DDD i tym podobnymi. Lubi od czasu do czasu wyjść z piwnicy i porozmawiać z ludźmi. Możecie go spotkać przy ścianie przyklejającego karteczki.