Szkolenie: Narzędzia programisty Java
Przegląd narzędzi i bibliotek pomagających w wytwarzaniu oprogramowania
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:JAVA/TOOLS
Narzędzia programisty Java
Cele szkolenia
Nabycie wiedzy odnośnie ogólnie stosowanych narzędzi i bibliotek
Umiejętność praktycznego ich zastosowania
Zwiększenie produktywności i efektywności pracy programisty
Zrozumienie wpływu omówionych narzędzi i bibliotek na jakość pracy oraz kodu
Dla kogo?
Szkolenie adresowane jest do programistów Java, którzy pragną zapoznać się bądź poszerzyć swoją wiedzę na temat narzędzi i bibliotek, które są powszechnie wykorzystywane w procesie wytwarzania oprogramowania
Zalety
Zapoznanie się z powszechnie stosowanymi narzędziami i bibliotekami oraz poznanie różnic pomiędzy nimi
Zapoznanie się z różnymi aspektami wytwarzania oprogramowania oraz narzędziami je wspomagającymi
Możliwość praktycznego wypróbowania omawianych narzędzi
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Uczestnik szkolenia powinien posiadać podstawową umiejętność programowania w języku Java
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie
Ciągłe doskonalenie i automatyzacja jako techniki zwiększenia produktywności
Software Craftsmanship
DevOps
Budowanie aplikacji
Różnice pomiędzy Maven, a Gradle
Budowanie aplikacji z wykorzystaniem Maven
Tworzenie pliku POM
Zarządzanie zmianami kodu
Czym jest system kontroli wersji?
Git czy SVN?
Omówienie systemu kontroli wersji na przykładzie Git
Różne sposoby dostarczania zmian
Praca z IDE na przykładzie IntelliJ
Integracja z Maven oraz Git
Wsparcie dla refaktoryzacji
Pluginy
Debugowanie kodu
Pomocne skróty
Statyczna analiza kodu
Czym jest statyczna analiza kodu?
Checkstyle
PMD
Softbugs
SonarQube oraz SonarCloud
ArchUnit
Code review z wykorzystaniem GitHub
Dynamiczna analiza kodu
Czym jest dynamiczna analiza kodu?
JUnit 5
AssertJ
Mockito
Code Coverage z wykorzystaniem Jacoco
Testy mutacyjne z wykorzystaniem Pitest
Programowanie przez testy
Testy akceptacyjne i wydajnościowe
Selenium
JBehave
JMeter
Continuous Integration/Delivery/Deployment
Czym jest Continuous Integration/Delivery/Deployment?
Omówienie na przykładzie Jenkins
Definicja zadań
Integracja
Pluginy
JVM
Co warto wiedzieć o JVM?
VisualVM
Java Mission Control
Logowanie i monitorowanie
Log4J
ELK Stack: Elasticsearch, Logstash, Kibana
Monitorowanie aplikacji na przykładzie Splunk
Zarządzanie pracą na przykładzie Jira
Dodatkowe narzędzia i biblioteki, które warto znać
Spring Boot
Groovy
Docker
Cloud Computing