JUGtoberFest 2018
Otwieramy sezon JUGowy 2018! W tym roku zapraszamy do TomToma na ul. Za Bramką 1! Wysłuchamy trzech prezentacji, zjemy coś i pogadamy do samego wieczora ;)
A co będzie można wysłuchać? Poniżej szczegółowe info!
- Adam Warski - Co z nami zrobiły @dnotacje?
Od lat mamy coraz większą skłonność do (nad)używania adnotacji. Trudno sobie dziś wyobrazić aplikację, która nie jest oparta o jakiś framework. A czy pamiętacie kiedy ostatnio własnoręcznie zaimplementowaliście `public static void main(...)`?
Taki stan rzeczy nie jest bez przyczyny. Co więcej, adnotacje i frameworki znacząco poprawiły jakość kodu, który tworzymy, jak i efektywność naszej pracy.
Nasuwa się jednak pytanie: czy to wszystko na co nas stać? Czy może jednak istnieje coś lepszego?
W pierwszej części prezentacji spróbujemy zdefiniować jakie problemy niesie ze sobą obecne podejście: ograniczona możliwość eksploracji kodu, czy też ciągle towarzysząca nam niepewność, co tak właściwie się dzieje podczas startu systemu.
W drugiej części zastanowimy się nad potencjalnymi lepszymi rozwiązaniami. Jedna z możliwości może wydawać się zaskakująca: "po prostu" "zwykły" kod. Zarówno Java, JVM, jak i nasze podejście do różnych odmian programowania (obiektowego i funkcyjnego) zmieniło się przez ostatnie lata. Najwyższy czas zrobić z tego dobry użytek: zamiast adnotacji, użyć struktur danych do opisu klas, metod i definiowania meta-danych. I przywrócić metodzie `main()` należne jej miejsce w naszej codziennej pracy.
Adam Warski - I am one of the co-founders of SoftwareMill, where I code mainly using Scala and other interesting technologies. I am involved in open-source projects, such as sttp, MacWire, Quicklens, ElasticMQ and others. I have been a speaker at major conferences, such as JavaOne, LambdaConf, Devoxx and ScalaDays. Apart from writing closed- and open-source software, in my free time I try to read the Internet on various (functional) programming-related subjects. Any ideas or insights usually end up with a blog (https://softwaremill.com/blog)
- Grzegorz Jachimko - Reaktywny model programowania
Omówimy podstawy programowania asynchronicznego i zobaczymy jak można je wykorzystać w javie. Pokażemy przykłady jak wykorzystać tę wiedzę aby zoptymalizować aplikacje wielowątkowe. Wprowadzimy w podstawy programowania reaktywnego i biblioteki Rx oraz wskażemy, jak wykorzystać je w celu wprowadzenia spójnego i przejrzystego interfejsu dla asynchronicznego kodu.
W czasie drugiej części zostanie zaprezentowane kilka przydatnych cech bibliotek Rx w kontekście wykorzystania ich w aplikacji webowej – backend java, frontent html+js. Pokażemy, jak dzięki narzędziom dostępnym w tych bibliotekach tworzyć wydajne, responsywne i łatwo testowalne aplikacje. Wskażemy jak wykorzystać najlepsze wzorce z programowania funkcyjnego i reaktywnego aby osiągnąć wspomniane cele.
Grzegorz Jachimko - .NET, JAVA developer i architekt z ponad 10-letnim doświadczeniem. Pracował zarówno dla tych największych (Microsoft, Siemens) jak i mniejszych firm z branży. Specjalizuje się w przetwarzaniu danych i optymalizacji kodu. Szczególnie interesuje się wielowątkowością. Aktualnie pracuje w TomTom w dziale platformy mapowej.
- Adam Dymek - Przyszłość Javy - Co kryje się za winklem?
W "najbliższej przyszłości" ulubiony język każdego szanującego się programisty wzbogaci się o:
- user-mode threads (fibers)
- delimited continuations
- tail calls
- reference-free non-primitive types
- parametric polymorphism over primitive types
Znakomicie prawda? ...a co to właściwie znaczy? Przyjdź się dowiedzieć i zajrzyj za winkiel
Adam Dymek - Przeżył wystarczająco wiele wiosen użerając się z kodem źródłowym, żeby wmówić sobie, że to nie boli. Szczególną satysfakcję czerpie z projektowania bibliotek wykorzystywanych przez innych programistów (sadyzm!) i śledzenia rozwoju języków programowania (masochizm!). Cynik. Lubi pączki.
Rejestrować się, bo miejsca szybko się rozchodzą!
Zapraszamy serdecznie!