Narzędzia programisty Java
LICZBA DNI: 3 (24h)
KOD KURSU: JAVA/TOOLS
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
22
marca
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Termin
22
marca
Lokalizacja
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
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
WYMAGANIA
Uczestnik szkolenia powinien posiadać podstawową umiejętność programowania w języku Java
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
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
Program
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
- Informacje
- Zależności
- Pluginy
- Profile
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
