Mikroserwisy z wykorzystaniem Spring Framework i Docker
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
Program szkolenia
- Omówienie architektury Web Services
- Omówienie architektury Microservices
- Wprowadzenie do wzorca REST ful Web Services
- Model Richardsona
- Format JSON
- HATEOAS (Hypermedia as the Engine of Application State)
- REST API na przykładzie Facebook i Twitter
- Kody nagłówków komunikacji REST
- Praktyki projektowania usług REST
- Koncepcja Spring Boot
- Moduły Spring Boot
- Budowa i konfiguracja aplikacji webowej
- Wstrzykiwanie zależności (Dependency Injection)
- Mechanizm odwróconej kontroli (Inversion of Control)
- Spring Web - Mapowanie i obsługa żądań
- Mapowanie żądań typu GET, POST, PUT, DELETE
- Przekazywanie parametrów w adresie url
- Przekazywanie parametrów w metodą POST
- Zarządzanie dostępem do zasobów aplikacji
- Content Negotiation
- Spring Data – zarządzanie bazą danych
- Dodanie relacyjnej bazy danych do projektu
- Mapowania obiektowo-relacyjne
- Integracja z JPA i frameworkiem Hibernate
- Tworzenie warstwy utrwalania z wykorzystaniem Spring Data
- Praca z repozytoriami
- Implementacja prostych zapytań
- Implementacja zapytań w JPQL
- Implementacja zapytań w NativeQuery
- Własne implementacje repozytoriów
- Transakcje
- Konfiguracja mechanizmu transakcyjnego
- Menadżer transakcji
- zasada działania
- dostępne implementacje
- Parametry transakcji
- Propagacja
- reguły wycofywania
- poziom izolacji
- czas ważności
- Projektowanie i implementacja aplikacji klienckich
- Narzędzie wspomagające projektowanie Swagger
- Swagger API
- Swagger UI
- Projekt praktyczny Spring MVC
- Wprowadzenie do autoryzacji i uwierzytelniania Spring Security
- Walidacja Spring Validation
- Obsługa błędów
- Wersjonowanie
- Dobre praktyki projektowania REST ful Web Services
- Testowanie serwisów REST
- Mocking
- Testy integracyjne
- Testy bezpieczeństwa
- Docker
- Wirtualizacja, a konteneryzacja
- Obrazy - Docker Images
- Zastosowanie w praktyce
- Zalety i wady
- Podstawowe komendy systemu operacyjnego Linux
- Poruszanie się w drzewie katalogów
- Zarządzanie plikami i katalogami
- Zarządzanie dostępem do plików i katalogów
- Instalowanie pakietów
- Instalacja Dockera
- Możliwości instalacji (Windows, Linux, MacOS)
- Instalacja w praktyce
- Docker Image
- Budowanie obrazów
- Definiowanie pliku Dockerfile
- Definiowanie pliku .dockerignore
- Dobre praktyki budowania obrazów
- Docker Registry
- Praca w środowisku lokalnym
- Praca w chmurze
- Docker Hub
- Wykorzystanie w praktyce
- Publikowanie własnego obrazu
- Docker Compose
- Wprowadzenie i instalacja
- Konfiguracja i format YAML
- Izolacja kontenerów
- Przeładowywanie i modyfikacja kontenerów
- Wstrzykiwanie zmiennych środowiskowych
- Dobre praktyki wykorzystania Docker Compose
- Budowa obrazu dla aplikacji REST
- Budowanie oraz uruchamianie obrazu
- Zarządzanie kontenerami
- Monitorowanie kontenerów
- Działania wewnątrz kontenera
- Trwałość danych i kodu wewnątrz kontenera
- Wprowadzenie do Kubernetesa
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Szkolenie dedykowane dla programistów języka Java, którzy chcieliby rozwijać swoje umiejętności w projektowaniu mikroserwisów wykorzystujących najwyższej jakości RESTful API. Szkolenie zorientowane jest przede wszystkim na dobrych praktykach i solidnym wyjaśnieniu wzorców architektonicznych REST.
Ponadto, szkolenie obejmuje również zagadnienia związane z konteneryzacją aplikacji w platformie Docker. Program szkolenia został tak przygotowany aby poza implementacją aplikacji uczestnik swobodnie poruszał się w platformie Docker przeznaczonej do budowania, uruchamiania oraz zarządzania aplikacjami. Omawiane tematy są przedstawiane w formie warsztatowej, a całe szkolenie zorganizowane jest jako live-coding z trenerem.
Niezależnie czy dopiero rozpoczynasz tworzenie aplikacji RESTowych, czy projektowałeś już wcześniej API tego typu, na pewno szkolenie dostarczy Ci wiele przydatnej wiedzy popartej praktycznymi przykładami. Developerzy z dobrą znajomością rozwiązań opartych na REST oraz znajomością platformy Docker są niezwykle atrakcyjni na rynku pracy IT.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Usuniete
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektych informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash. Jego bogate doświadczenie obejmuje pracę z wieloma systemami Linux, takimi jak Ubuntu, Debian, CentOS i CoreOS, a także administrację serwerem Jenkins i zarządzanie kontenerami Docker i LXC/LXD.
Programista z ponad 12 letnim stażem, pracował dla klientów z Norwegii, Szwecji, Wielkiej Brytanii oraz Niemiec. Pracował dla takich firm jak Schibsted Tech Polska oraz PrimeQ tworząc strony o bardzo dużym natężeniu ruchu, skrypty automatyzujące pracę innych, w tym także crawlery. Trener, który na sali spędził ponad 5000h prowadząc szkolenia z baz danych, programowania w Pythonie i PHP.
Kacper uważa, że język programowania to tylko narzędzie w rękach doświadczonego dewelopera, dlatego nieustannie lubi uczyć się nowych rzeczy oraz zarażać miłością do programowania innych (stąd pewnie ten kanał na Youtubie -> Kacper Sieradziński).
Lead Infrastructure Engineer w Sopra Steria Polska. Administrator baz danych z wieloletnim praktycznym doświadczeniem zawodowym. Przede wszystkim zajmuje się administracją serwerami SQL Server, jednak posiada również praktyczną wiedzę na temat technologii MongoDB, MySQL oraz PostgreSQL. Obecnie zarządza środowiskiem składającym się z ponad 600 serwerów baz danych w chmurze jak i on-premise. W swojej karierze stawiał czoła całemu spektrum projektów związanych z relacyjnymi bazami danych jak również NoSQL.
Jestem programistą z 12-sto letnim doświadczeniem, związanym głównie z ekosystemem Javy, ale również Pythonem, bazami danych, zagadnienami DevOps (Docker, Kubernetes, CI/CD pipelines) i frameworkami JavaScriptowymi. Moja ścieżka kariery prowadziła mnie przez różne branże – od telekomunikacyjnej, przez medyczną, bankową, do giełdy energii – dzięki czemu mogłem poznać wiele technologii i ich zastosowań w poszczególnych obszarach. Od kilku lat zaangażowany jestem w prowadzenie szkoleń i warsztatów, bo wierzę, że najlepszym sposobem na naukę jest przekazywanie wiedzy innym.
Autor wielu niestandardowych rozwiązań i implementacji podyktowanych różnorakimi wymaganiami Klientów. Jego drugie imię to wirtualizacja, gdyż obecnie jest jednym z głównych architektów produktu chmury prywatnej opartej na technologii VMware i Linux w Hays. Kieruje się stwierdzeniem: "Linux – born to be root, Windows – born to reboot". Ma również znakomite zdolności do automatyzacji i pisania skryptów, nie tylko w języku Bash ale także Ansible/Javascript/Python czy Powershell. Od niedawna fan i znawca kubernetesa oraz konteneryzacji. Prywatnie zagorzały kibic F1.
Doświadczony ekspert w obszarze Jiry i narzędzi Atlassian. Aktywny administrator i developer Jira, który od ponad 5 lat zdobywa doświadczenie równolegle w wielu organizacjach spotykając się z szeroką gamą wymagań. Ponadto administrator Jiry niemalże z wykształcenia, gdyż ukończył studia o specjalizacjach, takich jak informatyczne systemy zarządzania i inżynieria procesów biznesowych. Obecnie pełni rolę Inżyniera Atlassian w zespole jednego z polskich Gold Solution Partnerów Atlassian.
W swojej pracy skupia się na tym, aby rozwiązania tworzone na platformie Jira były przyjazne dla użytkowników, wspierały ich pracę, a jednocześnie były zarządzane i łatwe w utrzymaniu dla administratorów. Specjalizuje się w implementacji procesów biznesowych, a także wspierających zarządzani inicjatywami i projektami. Posiada doświadczenie w budowaniu procesów z obszaru zarządzania testami i release managementu. Realizował liczne projekty uwzględniające Jirę z systemami zewnętrznymi, w tym z SAP.
Z drugiej strony aktywny użytkownik Jiry, który dobrze zna i rozumie problemy innych użytkowników, a przez lata wypracował na nie odpowiedzi w postaci wachlarza możliwości.
W grudniu 2020 ukończył Informatykę na wydziale EAIiIB AGH w Krakowie z tytułem magistra inżyniera. Od lipca 2018 do połowy czerwca 2023 pracował w różnych projektach w Erlang Solutions jako Erlang i Elixir developer oraz jako trener. Obecnie (od połowy czerwca 2023) pracuje jako zleceniobiorca dla firmy Baxter (jako programista Erlanga w dziale R&D). W ramach kariery udało mu się wygrać kilka nagród w hakatonach:
- trzecie miejsce z zespołem ”Champions” w BITEhack 2020 w Krakowie,
- nagroda (było tylko pierwsze miejsce) w kategorii poprawność (ang. correctness) w SpawnFest 2020,
- pierwsze miejsce w kategorii utrzymaniowość (ang. maintainability), drugie miejsce w kategorii poprawność (ang. correctness) i trzecie miejsce w kategorii poziom ukończenia (ang. completion) w Spawnfest 2021.
Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.
W ciągu ostatnich 6 lat przeszkolił:
- ponad 3900 osób z zakresu zagrożeń cybernetycznych,
- ponad 1500 dzieci z zakresu zagrożeń internetowych, kariery w IT, poznawania technologii,
- 40 działów IT z zakresu budowania świadomości cyberzagrożeń oraz cyberbezpieczeństwa w organizacji,
- 160 trenerów cyberbezpieczeństwa.
- Cyber Security Consultant w Trecom Group – doradztwo w zakresie rozwiązań, konsultacje, inicjator, konsultant i koordynator projektów związanych z bezpieczeństwem.
- Pomysłodawca, trener, szkoleniowiec, właściciel projektu „cyberkurs.online szkolenia, cyberbezpieczeństwo”.
- Członek ISSA Polska: Stowarzyszenie do spraw Bezpieczeństwa Systemów Informacyjnych.
- Konsultant w: Miękko o it – wykorzystanie miękkich umiejętności w projektach it
- Dyrektor ds. Projektu Cyfrowy Skaut ISSA Polska, lider projektu Cyfrowy Skaut.
- Twórca lokalnej społeczności ISSA Polska Poznań .local #ISSAPolskaPoznań.local