• RJUG #17

    Apart Hotel 12

    "AWS & Serverless Case Study" + "Time-based domain events - how to deal with time on Kafka" ---------------------------------- 18:00 Networking 18:30 AWS & Serverless Case Study - czyli krotka prezentacja o tym, jakie problemy i dylematy spotkalem podczas budowy aplikacji opartej na AWS Lambda i Serverless framework, co bylo dla mojego zespolu najwiekszym wyzwaniem i na co trzeba uwazac przy pisaniu takich aplikacji w oparciu o rozwiazania chmurowe. Chetnie podziele sie swoimi doswiadczeniami i przemysleniami i postaram sie udowodnic ze do zabawy z chmura nie potrzeba grubego portfela a tylko troche checi BIO Wojciech Kloc - aktywny developer od 15 lat, ubrudzil rece w kilku jezykach programowania, i wpuscil na produkcje niejednego buga. Hobbysta-entuzjasta czystego kodu, milosnik wygodnego zycia, majsterkowicz, ogrodnik i turysta motocyklowy. Lubi podejmowac nowe wyzwania i z ciekawoscia obserwuje zmieniajacy sie swiat technologii. Wyznaje dewize, ze przede wszystkim liczy sie jakosc. 19:15 Time-based domain events - how to deal with time on Kafka Description: Time-Based Domain Events are a niche in the studies of business modelling. Moreover, there is no straightforward answer to whether technology would be appropriate to support them efficiently. Dealing with time very often proves to be a tough challenge. Especially bearing in mind distributed computing and various aspects of it. However, it is very likely that in your Domain, there is a plethora of Domain Events triggered by a precisely defined point in time. The purpose of this presentation is to tackle difficulties in a proper and reliable design in order to fulfil business needs where Time-Based Domain Events are concerned. In the first place, some brief overview of a general idea is given. Secondly, the focus is put on the real requirements such as interaction with domain models. Next part includes technical exploration of solution backed up with Kafka. It is hoped that this presentation will shed some light on technical aspects of Time-based domain events as well as inspire interested parties to further research. Requirements: basic knowledge of DDD, Kafka, Redis Bio: Konrad Jakubiec - Open-minded Software Engineer specializing in designing and building well crafted distributed systems. A charismatic leader of the cross-functional team at VirtusLab. Highly interested in quality improvement through an evolutionary approach to development lifecycle. Passionate about Domain-driven Design, Reactive Microservices and Event-driven architecture. Background includes an extensive experience of backend development with Java, Kotlin, Vert.x and RxJava, as well as extensive adoption of infrastructure as a code principle on AWS. Spending free time on self-growth, discovering new music and playing on drums. -------------------------------- If you would like to share something among the community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

  • Pierwsze warsztaty z Kotlina w ramach RJUG

    Apart Hotel 12

    Nie musisz znać Kotlina i tak będzie w sumie lepiej, bo zaczynamy od zera. To, co się przyda, to wiedza, że na JVM jest jakiś bytecode oraz podstawowa znajomość przycisku do odpalania testów w Intellij. Idąc zgodnie z planem zaczniemy od OOP, które powinno być przyjazne dla programistów Javy a później, poprzez FP i inne charakterystyczne cechy Kotlina dojdziemy do Springa i Reaktora. Jednak wcale nie musimy iść zgodnie z planem. Warsztaty, mamy nadzieje, będą interaktywne. Czeka na Was: -- Tworzenie DSLi i praktyczny przykład ze Springiem -- System typów w Kotlinie -- sesja Q & A -- i wiele innych ________________ Prowadzący: Paweł Włodarski Od kilku lat pracuje w ramach łódzkiego JUGa (czyli grupy miłośników technologii już nie tylko okołojavowywch) organizuję wykłady, warsztaty i ćwiczenia – tak zwana praca u podstaw społeczności. Co roku także trochę pomagam przy organizacji chyba największej w Łodzi konferencji skupiającej się na technologiach mobilnych – „Mobilization". Komercyjnie już od 10 lat programuję w Javie, a ostatnio doszła do tego i Scala. ________________ Liczba miejsc ograniczona. Szkolenie odbędzie się w APART HOTEL 12 Afterparty przeniesie się do Starego Browaru Rzeszowskiego

    5
  • RJUG#16 - Deeplearning4j & The Git's Guts

    18:00 Networking 18:30 Talk by Dariusz Zbyrad Deeplearning4j - Twój krok w stronę głębokiego uczenia w Javie Abstract: Słyszałeś o głębokim uczeniu, ale jednocześnie nie wiedziałeś jak zacząć? Może kilkukrotnie próbowałeś, ale doszedłeś do wniosku, że Python lub R to nie Twoja bajka? W takim razie ta prezentacja jest dla Ciebie! Podczas niej wprowadzę Cię w świat głębokiego uczenia w Javie dzięki zyskującej coraz większą popularność bibliotece Deeplearning4j . Zapoznam Cię również z podstawowymi pojęciami z zakresu uczenia maszynowego oraz pokażę, w jaki sposób Deeplearning4j wykorzystuje takie technologie jak CUDA czy Spark. Nie zabraknie również live codingu. Bio: Dariusz Zbyrad - Programista Javy w firmie jCommerce. W codziennej pracy stawia na minimalizm i czysty kod wykorzystując do tego najnowsze technologie. Toleruje JavaScript, uwielbia górskie wycieczki i elektronikę, budując czasem coś z niczego. Zakochany w analizie danych. Twitter: https://twitter.com/giverPL 19:15 Talk by Paweł Lipski & Mikołaj Karebski The Git's Guts - Also included: a bunch of prevalent misconceptions and nifty everyday tricks! Abstract: Without question, Git is one of the most popular version control systems. While usually just knowing the commands is enough, it's still a good idea to get familiar with what happens behind the scenes. Paweł & Mikołaj will show you the surprisingly elegant insides of your beloved VCS. Also included: a bunch of prevalent misconceptions and nifty everyday tricks! Bio: Paweł Lipski: Scala Engineer @ VirtusLab, with a long-standing inclination towards git hacking :) Currently maintaining git machete (https://github.com/VirtusLab/git-machete), aka "probably the sharpest git repository organizer & rebase workflow automation tool you've ever seen" as a hobby project. Mikołaj Karebski: Software Engineer @ VirtusLab. Not so long ago - Kotlin developer; currently devops. Interested in security and pragmatic software development. One of the leaders of Kielce Java User Group If you would like to share something among the community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

    2
  • RJUG#15 - TBC - multithreading with Project Loom and Kotlin's Coroutines

    18:00 Networking 18:30 Talk by Artur Skowronski Abstract Both Java and Kotlin are languages that are heavily used in Distributed Systems, handling multiple asynchronous operations simultaneously. Blocking is not an option in such an environment, but let’s be honest, we crave for the easier synchronous world. That’s why JVM as a platform has an inherent focus on providing an easier option of multithreaded programming. Today, I’d like to compare two of such options - Kotlin Coroutines and Project Loom, that want to provide fibers and continuations to core Java. Bio: Artur Skowroński Developer with heart cracked between JS and JVM stacks (with a more mature relationship and advanced marriage plans with JVM), with fingers chopped from playing with bleeding edge technologies... the hard way. Working in VirtusLab. If you would like to share something among the community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

    3
  • Scala and database access (Slick)

    Kwadrat

    Scala and database access (Slick) By Paweł Dolega Celem prezentacji jest szybkie wprowadzenie do Slicka 3.x — najpopularniejszej alternatywy dla klasycznych ORMów (jak np. Hibernate w w Javie). W zasadzie Slick to tak na prawdę nie jest ORM…. ale o tym porozmawiamy już na samej prezentacji. Prezentacja będzie praktyczna tzn. że po przejściu przez materiał (razem z licznymi przykładami użycia w kodzie) powinieneś / powinnaś być w stanie użyć Slicka we własnym projekcie bez większych problemów. Skupimy się na tym jak Slick działa, jaka jest jego filozofia i zobaczymy jak buduje się zapytania czy inne operacje, jak owinąć je w tranzakcie itd itp. Generalnie — jak sensownie używać Slicka. Nie będziemy natomiast omawiać bebechów samej biblioteki. Tak w zasadzie wszystko to będzie też trochę wymówką, żeby zagłębić się trochę w meandry paradygmatu funkcyjnego programowania. Wcześniejsza znajomość Slicka nie jest wymagana. Więcej, nawet wcześniejsze doświadczenia ze Scala nie są wymagane (!). Jakieś doświadczenie z typowymi ORMami czy innymi bibliotekami dostępu do danych może być przydatne. W skrócie — jeśli jesteś Java developerem i chciałeś / chciałaś dowiedzieć się o co chodzi z tym całym Slickiem (nawet jeśli nie masz zamiaru go później używać w swoich projektach) — prezentacja powinna ciągle być interesująca i (mam nadzieję) poszerzy Twoje horyzonty. Bio Człowiek od wszystkiego (i specjalista w niczym). Inżynier oprogramowania z wykształcenia i zamiłowania. W mojej karierze byłem developerem, team leadem, managerem. Pracowałem w międzynarodowych korporacjach, małych lokalnych software house-ach (dwa z nich założyłem) i średniej wielkości firmie wytwarzającej oprogramowanie. Dostarczałem projekty dla ogromnych globalnych korporacji, małych startupów i wszystkiego pomiędzy (małe/średnie firmy, korporacje, startupy, organizacja rządowe). Obecnie pełnię rolę VP of Engineering (Cloud & Reactive stack) w VirtusLab. See you soon! Krzysztof, RJUG Team If you would like to share something among community or help Us, do not hesitate to poke us :) Help is always welcome. JetBrains provided free licence to rafle during the meetup. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

    1
  • Could Gradle be statically-typed and Java - teraźniejszość i przyszłość

    Talk #1: Could Gradle be statically-typed? Meet build.gradle.kts ====== by Tomasz Godzik In this talk we will try to introduce you to Gradle build tool and how you can get it working using Kotlin. We will try to show how you can benefit from using a statically typed language for your project builds. Bio: Developer by day and... developer by night. Mostly try to figure out problems and create tooling for insanely large codebase. Talk #2: Java - teraźniejszość i przyszłość ====== by Piotr Łaskawiec Java jest nadal jednym z najczęściej wykorzystywanych języków programowania. Wraz z wprowadzeniem nowego cyklu wydawniczego programiści mają szybszy dostęp do nowych możliwości. Podczas prezentacji omówione zostaną najciekawsze zmiany wprowadzone w Java 9, 10, 11 oraz 12. Postaram się rozwiać wszystkie wątpliwości, które pojawiają się w kontekście najnowszych wersji (np. kontrowersje związane z modelem licencyjnym i wsteczną kompatybilnością). Nie zabraknie również porównań z innymi językami (np. Kotlin). Wszystko to na bazie praktycznych przykładów i historii z pierwszej linii frontu. Bio: Pasjonat technologii bazujących na Java Virtual Machine. Obecnie pracuje jako architekt oprogramowania, opracowując oraz implementując rozwiązania dla największych instytucji finansowych na świecie. W projektach kładzie nacisk na kwestie wydajnościowe, jakość kodu oraz wykorzystanie narzędzi usprawniających proces tworzenia oprogramowania. Autor licznych publikacji technicznych, okazjonalny mówca, trener. See you soon! Krzysiek, RJUG Team • Important to know We do our best to organise RJUG meetups regularly. If you would like to share something among community or help Us, do not hesitate to poke us :) Help is always welcome. JetBrains provided free licences to rafle during the meetup. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

  • RJUG #12: Czysta historia w gicie & Could Gradle be statically-typed?

    Talk #1: Jak utrzymać nasze repozytorium (gita) w czystości? ====== by Piotr Hendzel Tematem wystąpienia będzie czysta historia w gicie. Zastanowimy się jak pracować z najpopularniejszym systemem kontroli wersji w taki sposób by analiza historii naszego repozytorium nie przyprawiała deweloperów o ból głowy. Odpowiemy na pytanie kiedy użyć merge'a a kiedy rebase'a. Poznamy rodzaje tagów i sposób ich użycia. Bio: Java Developer w JCommerce. Członek kapituły Rzeszów Java User Group. Czynnie angażuje się w rozwój społeczności skupionej wokół JVM w Rzeszowie. Javą zajmuje się zawodowo od dwóch lat. Pasjonat nowych technologii, niekoniecznie tych najpopularniejszych. Talk #2: Could Gradle be statically-typed? Meet build.gradle.kts ====== by Tomasz Godzik In this talk we will try to introduce you to Gradle build tool and how you can get it working using Kotlin. We will try to show how you can benefit from using a statically typed language for your project builds. Bio: Developer by day and... developer by night. Mostly try to figure out problems and create tooling for insanely large codebase. See you soon! Piotr, RJUG Team • What to bring • Important to know We do our best to organise RJUG meetups regularly. If you would like to share something among community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

  • Lagom i dyskusja o mikroserwisach

    Kwadrat

    Prezentacja 1: Krzysztof Borowski: Short Trip into Reactive System space with Lagom Abstract I want to invite you on a short trip around a few popular recently spots. We will visit the rapidly developing space of Reactive Systems and mighty Domain Driven Design region assisted by our new friend Lagom. Alongside visiting some interesting places like Reactive Programming marketplace, CQRS and Event Sourcing library, Lightbend factory, our friend Lagom will perform for us showing some nice skills. Sounds interesting? Bio Krzysiek is a Scala programmer @ Virtuslab. Believes that simplicity is the key to modern software development. Passionate about all technologies and ideas that make programmer life brighter and more interesting. Born with a love of mountains, singing, and exciting new experiences. Dyskusja: Monoliths vs Microservices : Should we care? See you soon! Krzysztof, RJUG Team We do our best to organise RJUG meetups regularly. If you would like to share something among community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

    2
  • O sposobach audytu w systemach IT & Buzzwords vs reality

    Wojciech Kloc: O sposobach audytu w systemach IT Zastanowimy się czy audyt ma znaczenie i czy warto go wszedzie implementowac. Zastanowimy się co tak naprawdę możemy audytować (i po co)? Pokażemy sposoby audytu w aplikacjach JAVA z wykorzystanie JPA, Envers, Spring Data, JaVers Odpowiemy na pytanie jak sobie poradzić z audytem jeśli nie jesteśmy jedynym klientem bazy danych. BIO: - Programowal jeszcze przed powstaniem Facebooka. - Krotko flirtowal ze startupem w Stanach Zjednoczonych (PHP), by ostatecznie poswiecic je jedynej slusznej technologii - C++. - Z uplywem czasu migrowal w kierunku Javy (kolejnej jedynej slusznej technologii). - Lubi proste i skuteczne rozwiazania. - Programowanie jest dla niego "narzędziem" do tworzenia coraz lepszego świata. - Uważnie obserwuje świat nowinek w swojej branży, choć traktuje je w wyważony sposób. - Prywatnie pasjonat ogrodu i majsterkowicz w świecie tworzywa niewirtualnego​ ---------------- Michał Orłowski: Buzzwords vs reality Talk typu „Lessons learned"/„Case study" poruszający tematykę mikroservices i devops, a dokładniej wszystko co związane z szeroko spotykanymi buzzwordami (orkiestracja, CDC, Spring Cloud, monitoring, distributed tracing…). Wszystkie „buzzowordy" zostaną omówione (wraz z komentarzem) na podstawie praktycznego ich wykorzystania w n+1 projektach. TLDR: Microservices development na talerzu. Dużo real kodu/konfiguracji, brak za długich wstępów typu „co to Docker", konkret. Agenda: Orkiestracja (Docker + Kubernetes + Helm) CQRS vs Event Driven Architecture (Kafka case study) Spring Cloud (10 buzzwordów na linijkę kwadratową kodu) Consumer Driven Contract Distributed logging (ELK vs Graylog) Distributed tracing Monitoring (Prometheus case study) Automatyzacja (Jenkins 2 case study) ... Poziom zaawansowania: Materiał przeznaczony dla osób z doświaczeniem w developmencie (mile widziane podstawy tematyki mikroservices). Bio: Jako programista - fan programowania funkcyjnego, pasjonat Javy, adept Scali, zwolennik JavaScriptu. Jako architekt - unika słowa „beton" jak ognia. Jako rekruter - nie szuka przeciętności oraz 'zasiedziałych' seniorów. Jako mentor - stara się udowodnić, że jednak 'się da'. Jako trener - uczy tylko rzeczy nowych i ambitnych. Na co dzień stara się udowodnić, że „umiejętności > doświadczenie". Po godzinach kolekcjoner certyfikatów programistycznych. Zawodowo ponad 7 lat w aktywnym developmencie, pełnił szereg funkcji od Senior Java Developera, Technical Team Leadera, Dev Opsa po IT Architekta. See you soon! RJUG Team • What to bring • Important to know We do our best to organise RJUG meetups regularly. If you would like to share something among community or help Us, do not hesitate to poke us :) Help is always welcome. Huge thanks to VirtusLab (http://www.virtuslab.com) for sponsoring the event - venue, drinks & video (https://www.youtube.com/channel/UC_G8Ne1ZVfPXFplKOED94Ew?view_as=subscriber).

    3
  • RJUG #9: JUnit 5 - Testowanie jednostkowe nowej generacji & Kotlin

    Talk #1: JUnit 5 - Testowanie jednostkowe nowej generacji, Bartosz Sądel Abstract Podczas tego wystąpienia omówimy nową wersję najbardziej popularnej biblioteki do tworzenia testów jednostkowych w Javie. Zaczniemy od poznania nowej architektury biblioteki oraz stających za nią założeń. Następnie krok po kroku, odkryjemy potencjał nowych funkcjonalności. Zobaczymy jak wpływają na czytelność zarówno kodu jak i produkowanych raportów. Zestawimy również narzędzie z jego starszą wersją, aby jeszcze wyraźniej zobaczyć udoskonalenia zawarte w wersji piątej. Na zakończenie zobaczymy jak połączyć bibliotekę z innymi popularnymi narzędzimi, takimi jak Mockito czy Spring, oraz spojrzymy jak nową architekturę wspierają najpopularniejsze IDE. Bio Software developer mainly working with JVM stack, who sometimes like to make a sideways jump with other technologies. Software craftsmanship and testing advocate. Constantly looking forward for new opportunities to make our projects better and lives easier. Talk #2: Beyond “Better Java”, Paweł Marks Abstract Kotlin jest często reklamowany jako “lepsza Java”. O ile prawdą jest, że możemy tworzyć bardziej bezpieczny, czytelny i zwięzły kod korzystając z tego samego zestawu narzędzi co w Javie, to nie jest wszystko co język ma do zaoferowania. Kotlin ma własne idiomy i styl. W swojej prezentacji chciałbym pokazać kilka małych ficzerów standardowej biblioteki i samego Kotlina, które udowodnią jak eleganckie i przyjemne może być pisanie kodu. Będzie to dobry wstęp dla rozpoczynających przygodę z Kotlinem, ale bardziej zaawansowani programiści również znajdą coś użytecznego. Bio Paweł Marks jest programistą Kotlina w VirtusLabie. Jest on również głównym deweloperem plugina kotlinowego dla Eclipse’a. Uwielbia poznawać nowe języki programowania, porównywać je i narzekać na nie. Prywatnie interesuje się lingwistyką, historią i podobają mu się absurdalne memy. ... Sponsorzy Sponsorem tego wydarzenia jest Ailleron: ailleron.com Sponsorem założycielskim JUGa jest VirtusLab: virtuslab.com Licencje na IDE sponsoruje Jet Brains: twórca najlepszego IDE do Javy na świecie :)