Tematy i warsztaty

Masz 168 godzin, co z nimi zrobisz?
Masz 168 godzin w tygodniu. Co z nimi robisz? Czy wiesz jak spędzasz czas? A może masz tylko iluzję i wrażenie, że czas ucieka. Pora coś z tym zrobić. NIE uczyć się zarządzania czasem, ale uczyć się świadomego, uważnego, rozważnego korzystania z czasu. Z każdej chwili. Tak, by doprowadzić do sytuacji, gdy każda minuta będzie twoim świadomym wyborem. Nie nauczę cię sztuczek, bo w nie nie wierzę. Wierzę w naukę i naukowe sposoby szlifowania rzeczywistości. Nie dowiesz się więc niczego o wielozadaniowości i wyskrobywaniu minut w ciągu dnia. Dowiesz się wiele o tym, co jest ważne dla ciebie. I jak na to znaleźć świadomie czas. Poznasz mechanizmy pro-krastynacji, dowiesz się dlaczego sama motywacja to zdecydowanie za mało i dlaczego wizualizowanie sukcesu, to najgłupsza technika, którą propagują bieda-coachowie.

Piotr Bucki

Od 17 lat pomaga ludziom szlifować komunikację w różnych obszarach

Co gryzie świadomego programistę DDD?
W swojej pracy spotykając dziesiątki zespołów zauważam wzorce pytań/dylematów/rozterek jakie pojawiają wraz ze wzrostem doświadczenia i świadomości zespołu. Na pewnym poziomie zaawansowania wszyscy zadają te same pytania:
- jak określić granicę agregatów?
- jak opracować stabilne API?
- czym kierować się przy modularyzacji?
- a co ze smutnym CRUDem, którego też mamy?
- dlaczego byznes nie chce z nami rozmawiać?
- jak być partnerem a nie podwykonawcą?
Tak na prawdę pytania te są ogólne a metodyki (jak np. DDD) jedynie szybciej do nich doprowadza. Podczas prezentacji przyjrzymy się tym typowym pytaniom na poziomie modelu, architektury i organizacji - spróbuję odpowiedzieć na nie w postaci konkretnych technik i rozwiązań.

Sławomir Sobótka Główny trener / architekt . Bottega IT Minds

Jest trenerem i konsultantem w firmie Bottega IT Minds, specjalizuje się w technologiach Java EE

JVM: przez dziurkę od klucza
JVM to złożona maszyna, która napędza nasze systemy. Codziennie w pocie czoła przerzuca terabajty obiektów pomiędzy kolejnymi generacjami w GC, generuje strumienie optymalnego kodu skompilowanego przez jeden z kompilatorów JIT, w międzyczasie próbując dogadać się z systemem operacyjnym. Jednak nie zawsze w naszej maszynowni wszystko przebiega zgodnie z planem. Gdzie szukać informacji? Jak odczytywać i interpretować wartości metryk? Kiedy winny jest JVM, nasza aplikacja, a w jakim przypadku system operacyjny?
Podczas tej sesji postaram się pokazać dostępne narzędzia, magiczne przełączniki i dostępne rozwiązania potrzebne w pracy każdego "kryminologa" JVM. Sesja będzie przeznaczona dla osób, które zaczynają przygodę z optymalizacją JVM. Porozmawiamy o zapisywaniu zdarzeń z JVM, narzędziach ukrytych w JDK,w tym także Java Mission Control i Flight Recorder i zobaczymy jak Java płonie :). Nie zapomnimy też o narzędziach dostępnych w systemie operacyjnym Linux.

Jarosław Pałka Główny trener, Architect . Symentis

Od ponad 20 lat w branży IT, jako administrator baz danych, programista, architekt, manager i 'inżynier od spraw katastrof'

O optymalizacji MongoDB przykładów kilka
Zajęte miejsca: 0 / 12
MongoDB to w ostatnich latach jedna z najpopularniejszych NoSQL'owych baz danych. Jak każda baza obiecuje być szybka, niezawodnia i skalowalna. Jednak jak pokazuje Problem Wyciekającej Abstrakcji (https://en.wikipedia.org/wiki/Leaky_abstraction) nie da się tego osiągnąć bez znajomości niuansów i wewnętrznej implementacji (a przynajmniej wiedzy o tym, jak działa dane narzędzie poniżej publicznego api).
Na warsztacie przyjrzymy się temu jak poszukiwać wąskie gardła, jak czytać explain() i na co zwracać uwagę. Dokładnie przyjrzymy się indeksom. Dowiemy się jak najlepiej wykorzystywać indeksy do sortowania, dlaczego tak ważna jest kolejność pól w indeksie oraz jakie są zasady, którymi powinniśmy się kierować tworząc indeksy.
Aby dodać łyżkę dziegciu do beczki miodu rzucimy okiem na ciemniejszą stronę indeksów - zasobożerność i to jak wpływają na wydajność zapisów.
Oprócz tego zobaczymy kilka trików z klastrami (replica set) oraz na co zwrócić uwagę przy używaniu shardingu.

Wiktor Sztajerowski Programista, trener . Symentis

Programista z ponad 5-cio letnim stażem, trener i konsultant w Symentis.pl, aspirujący mówca konferencyjny, znany między innymi z konferencji 4Developers i Confitura

Wprowadzenie do Domain-Drived Design na przykładach
Przejdziemy przez przykład aplikacji DDD na podstawie, której wytłumaczę najważniejsze koncepty Domain-Drived Design oraz popularne techniki towarzyszące jak:
  • CQRS
  • CRUD segregation
  • Hexagonal Architecture
  • Knowledge Crunching
  • Event Storming
  • Domain Story
  • Ubiquitous language
  • Domain Model
  • Invariant
  • Aggregate
  • Domain Event
  • Value Object
  • Bounded Context
  • Context Map

Michał Michaluk Trainer, Craftsman . Bottega IT Minds

Doświadczony w wytwarzaniu nowego oprogramowania zarówno dla startup-ów o skrajnie zwinnym kontekście, jak i zbiurokratyzowanych korporacji z klasycznym modelem

Sesja Event Storming-u
Zajęte miejsca: 0 / 25
Na sesji zapoznam was z notacją Event Storming-u, rolą warsztatów ES w procesie zwinnego wytwarzania oprogramowania oraz możliwymi zastosowaniami w waszej codziennej pracy.
Zastosujemy Event Storming Big Picture, Design Level oraz przyjrzymy się relacji modelu ES z kodem źródłowym.

Michał Michaluk Trainer, Craftsman . Bottega IT Minds

Doświadczony w wytwarzaniu nowego oprogramowania zarówno dla startup-ów o skrajnie zwinnym kontekście, jak i zbiurokratyzowanych korporacji z klasycznym modelem

Docker - wstępniaczek
Zajęte miejsca: 0 / 20
Dzięki zastosowaniu dockera możemy w prosty sposób zapewnić izolację serwisów, zwiększając tym samym bezpieczeństwo i stabilność aplikacji. Podejście kontenerowe umożliwia nam sprawne i pełne odtworzenie środowisk produkcyjnych w każdym miejscu (nawet na swoim laptopie). Poznasz technologię, która rozwiąże większość problemów, jakie masz dzisiaj ze środowiskami dev/test i prod. W prosty i łatwy sposób będziesz w stanie dostarczać kolejne "paczki" z softem do klienta oraz co najważniejsze, będziesz miał pewność, że jak "działa lokalnie to zadziała też na produkcji" :)
Trener ma ponad 3 letnie doświadczenie z dockerem, był odpowiedzialny za zdockeryzowanie aplikacji czasu rzeczywistego opartej na javie składającej się z kilkudziesięciu różnych kontenerów. Nie ma pytania z docker’a na które nie zna odpowiedzi.
Podczas warsztatu poruszymy następujące kwestie:
  • Czym jest Docker
  • Tworzenie kontenerów
  • Zarządzanie kontenerami
  • Dokeryzowanie aplikacji
  • Zarządzanie obrazami Dockera
  • Budowanie skalowalnej aplikacji

Oczekiwany poziom: Podstawowa wiedza z zakresu linuxa - poruszanie się po konsoli, instalowanie paczek itd. Doświadczenie z dockerem mile widziane, gwarantuje że poznasz go lepiej.
Co trzeba mieć na kompie

Maciej Krajewski Managing Director / Trener . Yameo

Maciej jest trenerem w Infoshare Accademy i dyrektorem zarządzającym w Yameo, Devops z wieloletnim doświadczeniem

Clojure Koans & REST assured
Zajęte miejsca: 0 / 18
Clojure Koans
Nie znasz Clojure? Nie ma problemu! Przy użyciu prostych przykładów, rozwiązując praktyczne zadania polegające na naprawieniu testów jednostkowych nauczysz się języka krok po kroku. Zapraszam wszystkich, którzy chcą spróbować sił w programowaniu funkcyjnym i zobaczyć o co na prawdę chodzi z tymi "nawiasami".
REST assured
Zbudujmy coś praktycznego! Krok po kroku, małymi zmianami zbudujemy razem prostą aplikację, która będzie odpowiadać na http. Taki typowy przypadek użycia. Pozwoli to przećwiczyć wiedzę nabytą w pierwszej części warsztatu.
Wymagania przed warsztatem
  • Laptop z nowożytna przeglądarka internetową

Paweł Kapała Business Driven Developer . kapware.com

Inżynier, business driven developer, programista Clojure, przedsiębiorca w kapware.com

Jak przygotować swoją pierwszą prezentację (lub ulepszyć istniejące)?
Zajęte miejsca: 0 / 25
Jeżeli nosisz w sobie kawałek wartościowej wiedzy ale zastanawiasz się jak ją "sformatować" w formę ciekawej prezentacji to zapraszam na mój warsztat.
Zajmiemy się jednym z kilku aspektów wystąpienia: przygotowaniem treści.
Podczas warsztatu będziemy ćwiczyć sprawdzone techniki:
- nawiązanie połączenia z odbiorcami poprzez role i problemy
- prowadzenia osi narracji poprzez pytania jakie stawiają sobie odbiorcy
- używanie "włączającego" języka i trybu dialogu
- kilka wzorców tworzenia prezentacji: ADEPT, Context-problem-questions-solutions, triada, łuk narracyjny, metaprogramy

Sławomir Sobótka Główny trener / architekt . Bottega IT Minds

Jest trenerem i konsultantem w firmie Bottega IT Minds, specjalizuje się w technologiach Java EE

JMX w praktyce
Zajęte miejsca: 0 / 20
Podczas warsztatu zapoznamy się z Java Management Extensions (JMX). Zaczniemy od wprowadzenia do tematu i poznania możliwości technologii. Sprawdzimy narzędzia, które pozwalają korzystać z JMX, zobaczymy także co mają do zaoferowania popularne frameworki i biblioteki, których większość z Was już używa. Zakończymy implementacją własnych pomysłów oraz omówieniem najlepszych praktyk.
Wymagania do przygotowania przed warsztatem
  • JDK Java 8
  • dowolne IDE
  • maven, gradle
  • git

Wiktor Bachnik Chief Software Architect . Dynatrace

Programista lubiący wyzwania

Zawładnij (hiper)tekstem, czyli jak zbudować wyszukiwarkę?
Zajęte miejsca: 0 / 20
Przeszukiwanie tekstu zagościło na dobre we współczesnych aplikacjach internetowych. Czy zastanawiałeś się, jak to właściwie działa? Może chciałbyś stworzyć własną wyszukiwarkę, obsługującą różnorodne formy danych wejściowych?
Poznaj Lucene - silnik wyszukiwania leżący u podstaw popularnych rozwiązań, takich jak Elasticsearch, Opengrok, czy Apache Solr. Dowiedz się, jak zbudowany jest indeks wyszukiwarki i jak sprawić, aby użytkownik szybko znalazł interesujące go dane. W ramach warsztatu zobaczysz, jak sprowadzić tekst do postaci, którą można efektywnie przeszukiwać. Nauczysz się także stosować Lucene w praktyce, krok po kroku budując własną, coraz bardziej wyrafinowaną wyszukiwarkę.
Wymagania przed warsztatem
  • laptop i podstawowa znajomość Javy

Zbyszko Papierski Programista . Dynatrace

Inżynier, z silnym uzależnieniem od produktowej warstwy rozwiązania

Jakub Słota Programista . Dynatrace

Programista full-stack specjalizujący się w technologii Java, od początku kariery zawodowej związany z firmą Dynatrace

Speed-up code evaluation by JIT compilation
Podczas prezentacji chcialbym odpowiedziec na pytanie, dlaczego generowanie kodu ma sens, gdzie mozna je zastosowac i w jaki sposob zwieksza wydajnosc. Postaram sie takze omowic obecne trendy w tej dziedzinie. Zmierzajac do celu przedstawie budowe kompilatorow oraz opisze kolejne fazy kompilacji skupiajac sie na generowaniu kodu, poczynajac od frontentu, konczac na generowaniu kodu maszynowego.

Kasper Kulikowski Software Engineer . Dynatrace

Absolwent ETI, Programista i trener Java, lokalny patriota

Przemysław Delewski Senior Software Engineer . Dynatrace

Interesuje mnie redukowanie luki pomiędzy problemem a rozwiązaniem

ElasticSearch: wydajnościowe pułapki?
Z ElasticSearchem łatwo zacząć - ściągasz JARa, uruchamiasz, budujesz swój pierwszy indeks i bawisz się RESTowym API. Kilka sprintów dalej wdrażasz rozwiązanie na produkcję, puszczasz na nie produkcyjny ruch... i jesteś nieco zmartwiony wydajnością.
Domyślna konfiguracja indeksów ElasticSearcha nie pasuje do wszystkich przypadków użycia i w produkcyjnych warunkach prawie zawsze musimy coś zmienić. A żeby nie uciekać się do, niekiedy kosztownych, metod typu “kręcę gałami i patrzę co się dzieje” potrzebna jest odrobina wiedzy o tym, co się kryje pod maską.
W trakcie sesji postaramy się tę wiedzę dostarczyć. Na początek powiemy kilka słów o samym sercu ElasticSearcha, którym jest indeks Lucene, a następnie zrobimy przegląd parametrów konfiguracyjnych, które wpływają na wydajność, za każdym razem demonstrując co się dzieje z indeksem kiedy je zmieniamy i jak to wpływa na czas indeksowania, czas odpowiedzi na zapytanie, wielkość indeksu, czy pamięć zużytą do obsługi zapytania. Zilustrujemy te przykłady opowieściami z życia wziętymi.
Sesja jest przeznaczona dla tych, którzy zaczynają przygodę z optymalizacją ElasticSearcha i zamiast polegać na metodzie na chybił-trafił, woleliby zanurkować głębiej, zrozumieć mechanikę działania i na tej podstawie wykonać kilka bardziej precyzyjnych ruchów.

Dominika Makuch Software Developer . Dynatrace

Programistka i wielbicielka języka Java oraz technologii okołowyszukiwarkowych, ostatnio pilnie zgłębiająca zagadnienia wokół machine learningu i big data

Patryk Makuch . EPAM

Współautor serwera wyszukiwawczego obsługującego miliony zarówno userów jak i requestów dziennie w WP.PL, gdzie zdobywał doświadczenie programistyczne przez wiele lat

Wydajność bazy danych z perspektywy programisty
Zajęte miejsca: 0 / 20
Na warsztacie pokażemy, co dzieje się "na zapleczu" relacyjnej bazy danych, kiedy wykonujemy codzienne czynności i odpowiemy na odwieczne pytanie "dlaczego tak wolno?".
Zaczynając od wnioskowania o samych danych, przejdziemy stopniowo do architektury bazy i typowych nieporozumień między bazą a programistą (n+1 query problem, normalizacja-denormalizacja, zarządzanie połączeniami). Po skończonym laboratorium każdy z uczestników powinien czuć się pewnie diagnozując własne problemy z bazą.
W czasie warsztatu będziemy korzystać z przygotowanego przez nas Microsoft SQL Servera, natomiast poruszane tematy są niezależne od silnika bazy danych.
wymagania przed warsztatem: laptop min 8 GB RAM (najlepiej 16GB), dowolny OS, zainstalowany VirtualBox, Java JDK8 albo Java JDK9

Grzegorz Witczak Software developer . Dynatrace

Od niemal czterech lat w Dynatrace zajmuję się rozwijaniem narzędzia do monitorowania baz danych, ułatwiając życie programistom i devopsom na całym świecie. Po godzinach gadżeciarz i pasjonat bezpieczeństwa IT, buduję różne cuda z wykorzystaniem Raspberry Pi.

Michał Weyer Software developer . Dynatrace

Siedem lat kariery spędziłem w bankach, gdzie błędy łatwo przeliczało się na pieniądze

Java Mission Control + Flight Recorder — diagnozowanie problemów wydajnościowych na produkcji
Zajęte miejsca: 0 / 20
Narzędzia JDK pozwalają na szczegółową analizę wydajności. Możemy liczyć że będą dostępne na (pre-)produkcji. Co daje nam duże możliwości diagnozowania problemów. Nawet jeśli podchodzimy do problemu ad hoc — nie planowaliśmy takiej możliwości przy wdrożeniu i instalacji.
Na warsztacie zobaczymy jak za pomocą narzędzi JDK wykryć przykładowe problemy: wyciek pamięci, nadmierna alokacja obiektów, źle skonfigurowany GC. Porównamy informacje dostępne w maszynie wirtualnej, z tym co oferuje system operacyjny. Przyjrzymy się możliwościom wizualizacji i automatyzacji.
Przed laboratorium proszę zainstalować
  • Java JDK8
  • Oracle VirtualBox (https://www.virtualbox.org/)
  • klienta SSH (np dla Windows: Putty)
  • klienta SCP (np dla Windows: WinSCP)
  • ~ 10GB miejsca na dysku

Marcin Okraszewski Chief Software Architect . Dynatrace

Od ponad 10 lat pracuję w firmie Dynatrace, obecnie na stanowisku architekta

Michał Weyer Software developer . Dynatrace

Siedem lat kariery spędziłem w bankach, gdzie błędy łatwo przeliczało się na pieniądze

Introduction to Kotlin
Zajęte miejsca: 0 / 20
Jeśli coraz częściej słyszysz o Kotlinie, ale dotąd nie miałeś(-aś) czasu bliżej się z nim zapoznać, to te warsztaty są właśnie dla Ciebie :)
Zapraszam na piękną przygodę poznawania języka, który czerpie pełnymi garściami z doświadczeń swoich wielkich poprzedników - Java, C#, Groovy, JavaScript, Scala, Swift - biorąc z nich to, co najlepsze, a odrzucając to, co słabe.
Najpierw omówimy założenia języka i motywy jakie przyświecały jego twórcom (JetBrains). A potem włączymy IntelliJ i zaczniemy się bawić :) Serio - niektóre rozwiązania są tak genialne, że wywołują niekontrolowany uśmiech na twarzy :) Przećwiczymy najważniejsze elementy składni języka i jego najciekawsze funkcjonalności, rozwiązując przy tym sporo praktycznych zadań.
Wymagania względem uczestników
  • Żadna wiedza o Kotlinie nie jest wymagana (warsztaty będą od samych podstaw)
  • Przyda się znajomość Javy (będzie sporo porównań Kotlin vs Java)
  • Przynosimy laptopy z zainstalowanym IntelliJ IDEA (może być darmowa wersja Community)
  • Przed warsztatem próbujemy: File > New > Project > Gradle > zaznaczamy dwa frameworki: Java i Kotlin (Java). Jeśli jakimś cudem nie masz takiej opcji, to pewnie musisz doinstalować do IntelliJ plugin o nazwie "Kotlin".
  • Utwórz jakąś prostą klasę w Javie i przykładowy Unit Test JUnit'owy do niej i sprawdź czy wszystko się buduje i czy test przechodzi. Jeśli Test nie działa, to pewnie musisz dodać JUnit'a w dependency w Gradle'u

Grzegorz Dyrda Full Stack Mobile Developer . Geeky Devs

Programista od ponad 15 lat

JUnit5
To praktyczny warsztat adresowane jest do programistów Java, chcących poznać najnowszą wersję frameworka do tworzenia testów jednostkowych - Junit 5. JUnit 5 to całkowicie nowy projekt, oferujący wiele ciekawych funkcjonalności takich jak m.in. całkowite wsparcie dla Javy w wersji 8, wstrzykiwanie parametrów, testy parametryzowane czy w końcu nowe i API umożliwiające łatwiejsze niż kiedykolwiek rozszerzanie możliwości frameworka i dostosowanie go do potrzeb projektowych . JUnit 5 daje całkowicie nowe możliwości pisania testów. Na szkoleniu poznasz podstawy Junit 5 jak również sposoby integracji z popularnymi bibliotekami takimi jak Mockito, AssertJ czy RESTAssured. Poznasz również możliwości wykorzystania frameworku w tworzeniu testów integracyjnych dla aplikacji opartych o Spring Boot i Spring Framework.
Zakres:
  • Gradle i Maven oraz wsparcie IDE
  • Junit 5 - wprowadzenie
  • Asersje oraz integracja z AssertJ
  • Testowanie wyjątków
  • Testy parametryzowane
  • Mockito
  • Spring / Spring Boot
  • REST Assured
  • Extension API

Rafał Borowiec . Goyello

Rafał o sobie: Profesjonalista IT, entuzjasta open source oraz zwinnych metodyk wytwarzania oprogramowania, developer, wykładowca i trener IT, sporadycznie bloger

Maciej Koziara . Goyello

Karierę rozpoczął 3 lata temu od przygody z GWT

Wprowadzenie do Scali
Zajęte miejsca: 0 / 12
Java 10 tuż tuż i już nikogo nie będzie dziwić zapis var s=”hello”. Alternatywne języki JVM wpływają na to jak rozwija się sama Java i chciałbym was zachęcić do poznania mechanizmów w tychże językach zanim wszystko trafi do mainstreamu.
Ponieważ Java przyzwyczaiła nas do podejścia obiektowego to i od tego zaczniemy nasza naukę. Zobaczymy, że Scala jest tak naprawde bardziej obiektowa niż Java a także i wprowadza wiele ciekawych mechanizmów, które sprawdziły się na tyle, że również pojawiają się w Kotlinie.
W dalszej części - w zależności od tego co będzie chciała robić publiczność - możemy pójść dalej w system typów lub skupić się na funkcjach.
Nie trzeba znać Scali, trzeba trochę znać Javę.
Kto chętny może zapoznać się z teorią : https://pawelwlodarski.gitbooks.io/workshops/content/
Przygotowanie środowisko
  • Wyciągnijcie kod : https://github.com/PawelWlodarski/workshops
  • Zainstalujcie https://www.jetbrains.com/idea/ community edition (bezpłatne) i później w opcjach zainstalujcie plugin do scali.
  • Zaimportujcie projekt (ten z wyciągniętego kodu) do IDE.
  • Otwórzcie klaskę "TestingJavaClassAnswer" (2 razy Shift otwiera okno wyszukiwania) i odpalcie (ctrl+Shift+F10). Powinien pojawić się zielony pasek.
Przed warsztatem warto przygotować środowisko
  • Wyciągnijcie kod : https://github.com/PawelWlodarski/workshops
  • Zainstalujcie https://www.jetbrains.com/idea/ community edition (bezpłatne) i później w opcjach zainstalujcie plugin do scali.
  • Zaimportujcie projekt (ten z wyciągniętego kodu) do IDE.
  • Otwórzcie klaskę "TestingJavaClassAnswer" (2 razy Shift otwiera okno wyszukiwania) i odpalcie (ctrl+Shift+F10). Powinien pojawić się zielony pasek.

Paweł Włodarski Starszy Inżynier Oprogramowania . Idemia

Od kilku lat 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 IT

Kubernetes od podstaw
Zajęte miejsca: 0 / 30
W świecie systemów rozproszonych, mikrousług, zdarzeń programiście nie wystarczy już tylko wiedzieć jak napisać i zbudować kod źródłowy. W świecie, w którym system podzielony jest na kilka, kilkanaście, kilkadziesiąt lub kilkaset modułów przychodzi taki moment w którym potrzebujemy skomunikować się z innymi komponentami.
W tym samym świecie systemy produkcyjnie uruchamiamy w chmurze. I wszystko ładnie, pięknie, ale jak tutaj prowadzić development? Czy każdy programista powinien mieć swoją chmurę na którą będzie w stanie wrzucić swoje "dziecko w trakcie aktu tworzenia"? Czy musimy uruchamiać wszystko? Co z kosztem? W takim razie może powinienem uruchamiać swoją lokalną instancję poza chmurą? Ale czy wtedy nie istnieje ryzyko, że inny sposób wdrożenia podczas developmentu spowoduje problemy na środowiskach produkcyjnych?
A może by tak dało się prościej? Może da się tworzyć w oparciu o takie same podejście do wdrożeń na lokalnej maszynie programisty z możliwością wybrania, które elementy faktycznie powinny zostać uruchomione? Może development mógłby działać podobnie do produkcji i gwarantować taki sam sposób wdrożenia?
Chciałbym Wam pokazać jedną z alternatyw- podejście które jest wygodne zarówno od strony OPSów jak i programistów, podejście, które potrafi bardzo przyspieszyć i ułatwić development. Podejście, które pozwoli nam (programistom) i administratorom wejść w świat kultury devops i naprawdę lepiej rozumieć siebie nawzajem.
W ramach warsztatów:
  • Skonfigurujesz poprawnie lokalne środowisko pracy z kubernetesem
  • Na podstawie przygotowanych i udostępnionych obrazów dockera przykładowych aplikacji wdrożysz własne moduły na kilka różnych sposobów wraz z wyróżnieniem wad i zalet każdego z podejść
  • Opracujesz automatyczny restart aplikacji na wypadek problemów i zobaczysz jak działa to w praktyce
  • Skonfigurujesz na potrzeby developmentu bazy danych i inne usługi serwisowe
  • Zdefiniujesz automatyczne skalowanie aplikacji
  • Przeprowadzisz rolling-release przykładowej aplikacji gwarantując tzw. "zero-downtime"
  • Dowiesz się jak rekonfigurować aplikację za pomocą config map
  • Zabezpieczysz hasła i klucze do baz danych

Wszystko to pozwoli Ci swobodnie pracować i przygotowywać konfiguracje aplikacji za które administratorzy Cię pokochają :)
Wymagania
  • Komputer z minimum 8GB pamięci (mocno zalecane 12GB) i procesor z minimum dwoma core'ami
  • Skonfigurowany i zainstalowany docker (https://docs.docker.com/install/)
  • Podstawowa znajomość komend dockera (pobieranie obrazów z dockerhub, budowanie obrazów). Znajomość przygotowywania plików dockera może pomóc, ale nie jest konieczna.
  • Zainstalowany edytor tekstu
  • Konsola użytkownika i podstawowa umiejętność jej obsługi w swoim systemie operacyjnym
  • Dodatkowa instalacja minikube mile widziana: https://github.com/kubernetes/minikube

Daniel Pokusa Technical Team Leader . Onwelo

Zapalony zwolennik zwinnych metodyk prowadzenia projektów, automatyzacji i efektywności

Paweł Młynarczyk . Onwelo

Programista od 10 lat nieustannie związany z Javą

Testowanie wydajności kodu Javy za pomocą narzędzia JMH.
Zajęte miejsca: 0 / 20
Testowanie wydajności kodu. A co w tym trudnego? Wystarczy System.currentTimeMillis() przed i po wywołaniu metody i po kłopocie. Przecież sam Bruce Eckel tak robił. Okazuje że można przy okazji popełnić wiele typowych błędów, które mogą spowodować, że nasze szacowania będą bezużyteczne. W ramach sesji warsztatowej wykorzystamy narzędzie JMH do testowania naszych kawałków kodu i zobaczymy jak pomoże nam ono tych błędów uniknąć. Przy okazji poznamy też triki JIT-compilera, którymi sprawia, że java potrafi działać naprawdę szybko ale przy okazji czyni pisanie microbenchmarków zadaniem nie tak trywialnym jakby się mogło na pierwszy rzut oka wydawać.
Uczestnicy powinni umieć programować w Javie.
Środowisko
  • Dowolne IDE do Javy plus maven
  • GIT

Wojciech Oczkowski Trener, Architekt . IT Kontekst

Prowadzący własną działalność specjalista do spraw trudnych, zawodowo rozwiązuje problemy związane z projektowaniem architektury systemów, integracją, wydajnością i jakością kodu

Implementacja OAuth 2.0 za pomocą Spring Boot
Zajęte miejsca: 0 / 20
W ramach warsztatu opiszę na czym polega bardzo popularny framework OAuth 2.0 oraz pokażę jak wygląda jego implementacja w Spring Boot oraz jak zabezpieczyć za jego pomocą system zbudowany w oparciu o mikroserwisy
Uczestnicy powinni umieć programować w Javie.
Środowisko
  • Laptop, z IDE (pref. Intellij)
  • JDK 1.8
  • Git

Krzysztof Mejka . Travactory

Aktualnie Senior Java Developer w Travactory.com

Functional concepts in JavaScript
Zajęte miejsca: 0 / 18
Niektóre elementy programowania funkcyjne przydadzą się każdemu. Nie będziemy omawiać monad, funktorow i innych ciekawych matematycznych terminów. Zobaczymy w jaki sposób programowanie funkcyjne pomoże nam udoskonalić nasz kod, uczyni go bardziej czytelnym. Będziemy eksperymentowali z kilkoma funkcyjnymi operacjami i typami danych. Prześledzimy konstrukcje, które wykorzystujemy na co dzień i przeniesiemy je do świata programowania funkcyjnego.

Bartłomiej Witczak Unicorn . DayOne

Codziennie uczę się nowych rzeczy i testuje rożne narzędzia, żeby nie wkręcać śruby młotkiem

Efektywne programowanie funkcyjne w Scali
Zajęte miejsca: 0 / 18
Odnośnie programowanie funkcyjnego oraz Scali narosło wiele mitów takich jak: "Programowanie funkcyjne jest trudne i to sama matma", "Scala jest nieproduktywna, niezrozumiała i ogólnie ciężka".
Podczas moich warsztatów, dowiesz się że to wszystko nieprawda. Pokażę Ci, że programowanie funkcyjne w Scali jest logiczne, zrozumiałe i proste.
Lecz uważaj, smakując raz potęgi ciemnej (tak na prawdę jasnej) strony mocy, być może już nigdy nie będziesz chciał wrócić do starych praktyk.
Uczymy się poprzez praktykę, więc jak najwięcej kodu będziecie pisać samodzielnie. Nie będziemy się rozwodzić nad słowami zaczynającymi się na M, F oraz A. Będą natomiast zadania w przygotowanej domenie, z problemami, z którymi spotykacie się na codzień.
Znajomość Scali nie jest konieczna, ale nie będę opisywał i zagłębiał się w podstawy samego języka. Skupimy się na zaletach i bezpieczeństwie jakie daje podejście funkcyjne.

Założenia i metodologia: Stosujemy metodę fake it till you make it , czyli udajemy, że doskonale znamy teorię programowania funkcyjnego i pomijamy jej wewnętrzne skomplikowanie.
Nie rozkładamy samochodu na części pierwsze. Tak jak w życiu, najpierw tylko jeździmy samochodem i ewentualnie sami wymieniamy olej, abstrahując od wewnętrznego skomplikowania mechanizmów.
Warsztaty będą bardzo praktyczne. Najpierw przedstawię wam zasadę działania elementu poprzez przykłady lub live-coding, a następnie będziecie sami implementować konkretne zadanie na przygotowanej domenie i templacie.
Wymagania
  • Java 1.8
  • Sbt >= 1.0
  • Scala >= 2.12
  • ulubiony edytor / IDE, zalecam Intellij (prowadzący będzie korzystał z Intellij z wtyczką do scali)
  • pobrany kod źródłowy do workshopu https://github.com/andrjew/workshop-fp-in-scala

Andrzej Janczak . Scalac

Programista Scali z 3 letnim doświadczeniem produkcyjnym

Datalog: Biting the Silver Bullet
"Databases, databases everywhere! Which one do I need?" -- You need all of them; you need none of them; you're asking all the wrong questions! This workshop is dedicated to solving the data vs code impedance mismatch with a 1970's technology (chevron mustache is optional). This workshop assumes no previous knowledge of Datalog and applies to both client and server applications. If you are interested in data pipelines, GraphQL, event-sourcing, or building maintainable data systems, you will leave a better person* (some restrictions apply, promises are not legally binding).

Norbert Wójtowicz

Norbert Wójtowicz is a recovering empty-stack developer, whose magic 8-ball predicts that Clojure and ClojureScript will be in your future toolbox

Wykorzystanie dockera w celu poprawy efektywności CI/CD
Zajęte miejsca: 0 / 20
Dzięki zastosowaniu dockera możemy zwiększyć efektywność naszego CI/CD. I nie mamy tu na myśli konteneryzacji aplikacji, a wykorzystanie dockera jako składnik środowiska budującego (development toolchain). Na warsztacie wspólnie przygotujemy build plan w narzędziu CI z pojedynczym agentem, a następnie jak w prosty sposób skalować to rozwiązanie gdy przybywa nam obciążenia - zarówno w postaci wzrostu ilości: użytkowników, build planów oraz samych buildów. Każdy z uczestników będzie rozwijał swoje środowisko CI z wykorzystaniem platformy chmurowej. W wielu firmach dużym problemem jest utrzymywanie wydajnej infrastruktury CI/CD i chcemy zaprezentować jeden ze sposobów na rozwiązanie tego wyzwania.
Podczas warsztatu poruszymy następujące kwestie:
- Tworzenie kontenera budującego przykładową aplikację
- Uruchomienie kontenera budującego w lokalnym środowisku
- Symulacja wzrostu ilości równoległych buildów
- Skalowanie kontenerów budujących z wykorzystaniem chmury
Środowisko do przygotowania przed warsztatami
  • docker w wersji >= 17.09
  • docker-compose w wersji >= 1.18

Michał Gryko . Nordea

Od dziecka zainteresowany elektroniką

Bartek Nowakowski . Nordea

Absolwent informatyki i MBA, od 5 lat pełni role managerskie w sektorze IT

Service Discovery & Failure Detection with Consul (101)
Zajęte miejsca: 0 / 18
Do you want to know how you can ensure that your microservices are resilient to network problems? Or perhaps you need to know how to keep system running even after crash of the half of the servers? Join our workshop to learn more. The workshop provides intensive introduction into service discovery tool from Hashicorp - Consul.
Our exercises ran for the two-and-half hour and at the end, you should have basic knowledge on how to do service discovery and failure detection in highly resilient environments. We will also cover some best practices for using Consul at scale.

Tomasz Mazur . Nordea




Tomasz Wnorowski . Nordea




React – co i jak?
Zajęte miejsca: 0 / 20
Chcesz nauczyć się najpopularniejszej technologii do tworzenia aplikacji internetowych? Poprawić swoje umiejętności programowania w JavaScript? Skupiając się na prostocie przekazu ten kurs pokaże Ci:
- Jak zbudować dynamiczną aplikację internetową w krótkim czasie
- Jak wykorzystać create-react- app w swojej pracy
- Jak skorzystać z nowych funkcji ES6
W czasie warsztatu zbudujemy razem aplikację opartą o najnowocześniejsze technologie frontendowe, których używa m. in. Netflix, Facebook czy AirBnB.

Adam Marczyk . Nordea

NginX + Lua = OpenResty
Zajęte miejsca: 0 / 12
Czy wiesz co potrafi zrobić twój serwer reverse-proxy? Wydaje Ci się, że żeby zrobić sprytny routing / uwierzytelnianie / autoryzację (niepotrzebne skreślić) między serwisami musisz go napisać w Javie lub jako moduł w C? A co jeżeli odpalanie JVM tylko po to, żeby do każdego żądania http dokleić jeden nagłówek to armata na wróbla? Zwłaszcza, że prawie na pewno gdzieś tam po drodze mijasz nginx... Zapraszam Cię do świata idealnej symbiozy nginx i Lua.
Znajomość Lua ani nginx nie jest wymagana - będziemy robić warsztaty od "zera do bohatera".
Jak przygotować sprzęt
  • docker (najlepiej na linuksie lub maszynie wirtualnej z linuksem)
  • docker-compose
  • ulubiony edytor tekstu

Marcin Stożek Senior Devops Engineer . Collective Sense

Za dnia jestem programistą i devopsem, po nocach czytam co słychać na Hacker News

Spring Boot - szybki start
Zajęte miejsca: 0 / 20
Spring Boot - szybki start to warsztat dla osób chcących szybko zbudować aplikacje internetową napisaną w języku Java. Minimum konfiguracji, sprawny development.

Przemysław Bykowski CEO . senteli.pl

Programista z zawodu i pasji

Consumer-Driven Contracts w praktyce
Zajęte miejsca: 0 / 20
Jeśli robisz mikroserwisy, udostępniasz publiczną usługę albo po prostu korzystasz z jakiegoś API to na pewno masz do czynienia z kontraktami. Kontrakt pomiędzy klientem a serwerem ma niestety to do siebie, że bardzo łatwo go złamać (co zapewne każdy z nas nie raz doświadczył). Mała poprawka na API, szybkie wdrożenie i ... BOOM! Dlaczego? Bo okazało się, że "jeszcze któryś klient korzysta z tego co zmieniliśmy?" Co wtedy robić? Oczywiście próbować nie dopuszczać do takiej sytuacji, jednak jak? Tą bolączkę rozwiązuje Consumer-Driven Contracts. W ramach warsztatu omówimy idee wzorca oraz co najważniejsze - narzędzie Spring Cloud Contract. Nauczymy się je konfigurować w środowisku Java + SpringBoot oraz pisać "żywe" kontrakty pomiędzy serwisami RESTowymi tak, aby nie dopuszczać do wprowadzania niekompatybilnych zmian pomiędzy klientem a producentem.
Jak przygotować sprzęt
  • Ulubione IDE i zainstalowane JDK Javy, jednak jeśli programujesz w czymś innym to też damy jakoś radę :)

Jędrzej Andrykowski Senior Software Developer & Team Leader . cinkciarz.pl

Na co dzień Software Developer oraz Team Leader w firmie Cinkciarz.pl

Jak podzielić system na moduły
Zajęte miejsca: 0 / 25
Nie ważne w jakim stylu architektonicznym tworzymy nasze aplikacje, (monolitycznym, mikroserwisy, serverless) warunkiem koniecznym niewystarczającym, do uzyskania takich właściwości jak: łatwość utrzymania, testowalność, reużywalność czy skalowalność, jest odpowiedni podział na moduły. Odpowiedni czyli jaki? I tu się zaczynają schody, bo przecież nigdzie nie ma do tego instrukcji. To co jest to ogólnikowe rady w stylu "musisz znaleść bounded context". Jak to zrobić?
Skąd będę wiedział, że zrobiłem to dobrze? Jak to odzwierciedlić w strukturze paczek? Nie mam jedynych słusznych odpowiedzi, ale podzielę się z wami tym jak ja to robię.

Łukasz Szydło Trener, Software Craftsman . Bottega

Programista pasjonat, fan “Software Craftsmanship” i zwinnego podejścia do wytwarzania oprogramowania. Lubi proste rozwiązania skomplikowanych problemów

Micro Services using Spring Boot 2.0 with Kotlin - krok po kroku
Zajęte miejsca: 0 / 20
Podczas warsztatu zaprezentujemy nasze podejście do architektury mikro serwisowej wytwarzanej w oparciu o Spring Cloud oraz rozwiązania firmy Netflix.
Dowiesz się krok po kroku w jaki sposób:
  1. Umożliwić komunikację pomiędzy mikro serwisami za pomocą service discovery (Eureka).
  2. Zapobiegać propagacji błędów pomiędzy mikro serwisami z wykorzystaniem wzorca circuit breaker (Hystrix + Ribbon).
  3. Zarządzać konfiguracją aplikacji dla wielu środowisk w architekturze rozproszonej stosując Spring Cloud Config Server.
  4. Śledzić komunikację pomiędzy mikro serwisami wykorzystując biblioteki Sleuth i Zipkin.
  5. Dowiedzieć się czy aplikacja działa prawidłowo bazując na metrykach zebranych przez Prometheus i zaprezentowanych w Grafana.
  6. Prawidłowo udostępnić usługę zewnętrznym klientom poprzez Spring Cloud Gateway.
  7. Uruchomić produkcyjnie system rozproszony opierając się na konteneryzacji (Docker).

Dodatkowo będziesz miał okazję zapoznać się z reaktywnym oraz funkcyjnym podejściem do wytwarzania oprogramowania z wykorzystaniem języka Kotlin.
Warto wiedzieć przed: podstawowa znajomość koncepcji architektury mikro serwisowej oraz umiejętność programowania w dowolnym języku.
Przygotowanie do warsztatu to laptop z zainstalowanym
  • JDK 1.8
  • Ulubionym środowiskiem programistycznym z wtyczką do Kotlina np. IntelliJ IDEA
  • Git
  • Docker >=17.12
  • Docker Compose >= 1.18

Karol Lotkowski . Travactory

Karol to programista z 10-letnim doświadczeniem

Jarek Bela . Travactory

Jestem programistą od ponad 10 lat od początku związanym z JVM

Rozwój Reactowej aplikacji w firmie
Zajęte miejsca: 0 / 20
Poruszenie tematów
  • Testowanie aplikacji (komponentów(shallow, mount, snapshoty, mockowanie), jest, reducery, akcje, testowanie kodu asynchronicznego)
  • Storybook jako ułatwienie przy tworzeniu aplikacji, filozofia zamkniętych komponentów
  • HOC(High order component) i kontekst jako sposób na DRY
  • Różne sposoby dzielenia aplikacji(budowanie wielu plików przy pomocy webpacka, wspólne elemty jako odzielnie repozytorium)
  • React Native jako początek aplikacji mobilnej
Co warto zrobić przed warsztatem
  • zainstalować środowisko programistyczne pod javascript
  • wiedzieć co to react i co to komponent

Bartosz Markowski . Travactory

Programista od 5 lat, od 3,5 związany z travactory

Asynchroniczny Javascript - od callbacków przez promisy do async/await
Zajęte miejsca: 0 / 20
To, że Javascript jest jednowątkowy, nie oznacza, że wszystko musi dziać się po kolei.
Na tych warsztatach zgłębimy dostępne techniki pisania asynchronicznego kodu w Javascript dla przeglądarek i Node.js. Zaczniemy od znanych od lat callback-ów. Zobaczymy też "streetfighter code" (https://pbs.twimg.com/media/Bp1IyS7CYAATIEB.jpg) do którego prowadzi ich nadużywanie. Później przejdziemy do Promise-ów i sprawimy, że nasz kod będzie znów piękny i czytelny. Zobaczymy też dostępne w nich “super moce” i jak obchodzić ich ograniczenia. Na koniec jeszcze raz przeorganizujemy nasz kod tak, żeby wykorzystywał generatory i async/await, które pojawiły się w standardzie ES2017.
o tych warsztatach powinieneś wiedzieć już który styl programowania asynchronicznego wybrać. Tak, żeby najlepiej pasował do rozwiązywanego problemu.

Marek Piechut Unicorn . DayOne

Programista od zawsze

Messaging Queues
Zajęte miejsca: 0 / 20
Spadek wydajności aplikacji nie zawsze wymaga otworzenia nowych serwerów i skalowania. W większości przypadków wystarczy oddelegować czasochłonne lub zasobochłonne zadania na później lub do innych aplikacji. Systemy kolejkowania wspomagają ten proces dostarczając zaawansowane, skuteczne i stabilne rozwiązania, które pozbywają się najczęstrzych problemów. Podczas workshopu dowiesz się jakie systemy kolejkowania są dostępne i jak je skonfugurować. Jaka jest różnica między AMQP, a MQTT i kiedy z nich korzystać.

Piotr Pasich

Senior software developer, specjalizuje się w tworzeniu aplikacji klasy enterprise opartych o frameworki Symfony 2, Zend i Laravel

Reactive APIs behind the scenes
W ramach sesji hands-on zobaczymy jakie problemy (i w jaki sposób) adresują reaktywne implementacje.
Przykłady oprzemy na stosie Springa (m.in.: Spring 5.0 i WebFlux, Project Reactor, Spring Boot 2.0) choć tematy będą raczej uniwersalne.
Nie będziemy się zbytnio skupiać na API (omówimy jedynie podstawowe operatory), zamiast tego skupimy się na tym jak działają reaktywne implementacje.
Poruszymy m.in. tematykę:
  • wykorzystania dostępnych zasobów
  • strumieni
  • backpressure (po stronie klienta, producenta oraz sam protokół)

Kamil Szymański . Pragmatic Coders

Software developer, entuzjasta JVM i open-source, rozwija platformę inwestycyjną D2C @ Pragmatic Coders

Z Typescriptem Ci do twarzy
Zajęte miejsca: 0 / 20
Zapraszam Cię na niesamowitą podróż podczas której:
  • dowiesz się czym jest Typescript, skąd pochodzi i dokąd zmierza,
  • poznasz jego najważniejsze cechy, w czym jest podobny, w czym lepszy a w czym gorszy od innych rozwiązań
  • rozpoczniesz z nim pracę, w sposób praktyczny poprzez wykonywanie ćwiczeń zobaczysz dlaczego warto go używać
  • zaspokoisz swój głód wiedzy co dalej poprzez wskazanie drogi jak dalej się rozwijać.

A po tym wszystkim będziesz mógł odpowiedzieć na pytanie - dlaczego to właśnie Typescript jest Twoją ulubioną technologią do tworzenia rozwiązań webowych i nie tylko.
Dla kogo jest ten warsztat? Dla tych którzy znają już programowanie a chcieliby poznać TypeScript, praktycznie wykorzystać oraz dowiedzieć się co dalej.
Co dostaniesz - dużą dawkę wiedzy, masę pytań i wątpliwości a także materiały by móc dalej samodzielnie rozwijać się w tym kierunku.
Co potrzebujesz na komputerze przez warsztatem
  • nodejs (wersja w miarę aktualna)
  • TypeScript w wersji 2.7
  • IDE - najlepiej Visual Studio Code (wersja też w miarę aktualna) lub ewentualnie WebStorm, nawet notatnik może być ale tam nie będzie podpowiadania składni itp
  • git (by móc korzystać z repozytorium z materiałami)

Łukasz Łuczak Projektant programista poliglota . Symentis

Projektant programista poliglota żyjący w cyfrowym świecie, który ponad połowę życia spędził tworząc oprogramowanie, a przez ostatnią dekadę dostarczając rozwiązania komercyjne (nierzadko klasy enterprise*)

Storytelling
Zajęte miejsca: 0 / 20
Czy zastanawiałeś się jak prezentować, żeby ludzie słuchali Cię z uwagą? Nawet kiedy chcesz przedstawić dane liczbowe, statystyki, czy wytłumaczyć skomplikowane zagadnienia, możesz zaangażować widownię i sprawić, że będzie to dla nich ciekawe doświadczenie. Podczas warsztatów dowiesz się jak stworzyć opowieść, która wzbudzi emocje i sprawi, że Twoja prezentacja będzie interesująca. Nauczysz się jak poprzez wykorzystanie elementów Storytellingu przekazać drugiej osobie informacje w najbardziej przystępnej formie, a także będziesz miał możliwość wykorzystać zdobytą wiedzę w praktyce przygotowując krótką prezentację.

Aleksander Gozdek . Software Development Academy

Starszy programista od ponad 5 lat pracujący z technologiami .NET, Scrum Master i trener w Software Development Academy w jednej osobie

"Przeszczepianie wiedzy" - czyli jak fachowo uczyć programowania?
Zajęte miejsca: 0 / 20
Chcesz dowiedzieć się jak rozwinąć się programistycznie i spełnić dodatkowo jako człowiek? Naucz się przekazywać wiedzę innym i pomóż wejść im do magicznej krainy IT. Uczenie przyszłych programistów, ludzi, którzy naprawdę chcą zmienić swoje życia, daje ogromną radość oraz poczucie, że czynimy świat lepszym miejscem. Bądź jak Elon Musk – realizując się zawodowo (każde zajęcia to gruntowanie wiedzy, ale też spojrzenie na kodowanie z perspektywy „świeżych” w branży osób), pomożesz ambitnym osobom zrealizować ich marzenia o przygodzie w magicznym świecie programingu. Opowiem o tym, jak wyglądają spotkania z kursantami, jak z nimi rozmawiać, jak uczyć, jak słuchać i być słuchanym i wiele, wiele więcej. Jeśli lubisz pracę z ludźmi (w dosłownym rozumieniu) i chcesz nauczać zapraszam – warto.

Piotr Mariański . Software Development Academy

Programista z 8 letnim doświadczeniem, samouk – życiowo programista od zawsze

Projektowanie i szlifowanie komunikacji. Jak słowa działają na mózg i jak to dobrze wykorzystać.
Zajęte miejsca: 0 / 20
Komunikację można projektować – jak architekturę, kod, czy interfejs strony internetowej. Trzeba tylko wiedzieć, z grubsza jak działa mózg i jakie słowa smakują mu jak najlepsza włoska pizza, a które są tak mdłe jak szpitalny posiłek. Na warsztacie nauczymy się, jak dobrze i zwięźle sprzedawać idee. Dowiemy się, czy introwertycy robią lepsze prezentacje i sprawdzimy, czy zamek w Malborku jest lepszy niż "stara budowla".

Piotr Bucki

Od 17 lat pomaga ludziom szlifować komunikację w różnych obszarach

Implementacja modeli Machine Learningowych
Zajęte miejsca: 0 / 20
Machine Learning na dobre zagościł w developerskim świecie. Dziś do naszej dyspozycji są nie tylko dziesiątki ciekawych bibliotek, ale także dedykowane usługi online, także w formie komponentów oferowanych w ramach popularnych platform cloud. Dodając do tego różne mechaniki tworzenia rozwiązań ML czy setki gotowych algorytmów, poruszanie się w świecie uczenia maszynowego potrafi przysporzyć bólu głowy...
Podczas naszego warsztatu na przykładzie otwartych data-setów zbudujemy kilka modeli, w tym klasyfikacyjnych i regresyjnych, poznając przy tym podstawowe koncepty Machine Learningu. Zastanowimy się również nad wykorzystaniem technik ML jako warstwy Decision Support w modelach wielkoskalowych.
Co będzie potrzebne podczas warsztatu?
  • Pracować będziemy w oparciu o notebooki Jupyter, laptop i przeglądarka będzie więc wszystkim, czego będziemy potrzebować

Mariusz Gil Architect . Bottega IT Minds

Software architect i trener, z branżą IT związany od ponad 16 lat

Kick your ass to the cloud
Zajęte miejsca: 0 / 20
Czy commit jest ostatnią rzeczą o której myślisz w trakcie tworzenia oprogramowania ? Czy kiedykolwiek zastanawiałeś się jaką drogę musi przejść Twój kod zanim trafi do urządzenia klienta? Jak przyspieszyć działanie aplikacji backendowej czy front-endowej lub ograniczyć dostęp z poszczególnych regionów świata zaledwie kilkoma kliknięciami ? Jak zbudować produkcyjną aplikację web nie pisząc ani jednej linijki kodu backendowego ? Wszystkie te tematy poruszymy na moim bootcampie. Dodatkowo dowiemy się jak skonfigurować Continuous Delivery dla aplikacji front-endowych używając CDN oraz przeprowadzając testy A/B. Znacznie przyspieszymy także działanie backendu w oparciu o infrastrukturę AWS.
Co będzie potrzebne podczas warsztatu?
  • Podstawowa wiedza z zakresu aplikacji WEB i zagadnien sieciowych
  • Dostęp do Amazon AWS (zarejestrowane konto)

Paweł Szczerbicki Software Architect . Arc Software

Programista skupiający się głównie na technologiach WEB opartych na chmurze, zarówno od strony front-endowej jak i back-endowej

Przeszłość i przyszłość tworzenia aplikacji Internetowych
Będzie to swoista podróż w czasie. Zaczniemy od przeglądu dawnych problemów i technik przy tworzeniu aplikacji internetowych. Zobaczymy co się sprawdziło, a co wymagało poprawki. Określimy nowe ambicje i cele webdevów godne 2018 roku, a następnie zaprojektujemy rozwiązania i je wdrożymy.
Sesja rozpocznie się od prezentacji i niejako rozmowy z publicznością. Później będzie bardziej technicznie. Jeśli hasła microservices, Server Side Rendering, Progressive Web Applications albo TypeScript coś Ci mówią — to właśnie sesja dla Ciebie :-)
Przykłady będą głównie oparte o Node.js, React.js i Next.js, ale przedstawianie idee będą możliwie najbardziej uniwersalne i łatwe do przeniesienie na dowolne technologie.

Michał Miszczyszyn Full Stack JavaScript Developer . Type of Web

Michał jest programistą JavaScript z wieloma latami profesjonalnego doświadczenia

NgRx - czyli Redux w Angularze
Zajęte miejsca: 0 / 18

Tomek Sułkowski . FrontEnd.Coach

I am an experienced IT trainer specializing in browsers-related technologies