Narzędzia programisty Java
Czas trwania szkolenia:3 dni (24h)
Kod kursu:JAVA/TOOLS
Poziom zaawansowania:
O szkoleniu Narzędzia programisty 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
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
- 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
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
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