Kod Szkolenia: J/TOOLS Tytuł Szkolenia: Narzędzia wspomagające tworzenie projektów w Java.
Adresaci szkolenia: Szkolenie adresowane jest do programistów tworzących w języku Java niezależnie od platformy JME/JSE/JEE pragnących udoskonalić swój warsztat pracy. Cel szkolenia: Celem szkolenia jest zapoznanie uczestników z narzędziami i metodami pracy mającymi na celu usprawnienia wykonywania czynności związanych z developmentem. Zakres szkolenia obejmuje zarówno teoretyczne podstawy inżynierii oprogramowania jaki i praktyczne narzędzia wchodzące w skład warsztatu profesjonalisty. Poznane techniki mają znaczny wpływ na zwiększenie wydajności pracy o jakości produkowanego kodu. Na życzenie modyfikujemy program szkolenia pod inne ze znanych narzędzi developerskich. Parametry szkolenia: 2*7 godzin wykładów i warsztatów w proporcji 1/1. W czasie warsztatów oprócz prostych ćwiczeń będzie budowane kompleksowe środowisko develoeprskie. Wielkość grupy: max 8-10 osób. Wymagania: Od uczestników szkolenia wymagana jest znajomość języka Java, mile widziana wiedza ogólna o Java Enterprise Edition, podstawowa znajomość środowiska Eclipse. Program szkolenia: - Ant – podstawowe narzędzie budowania projektu
- Kompilacja źródeł
- Budowanie projektu
- Integracja Ant z SVN
- Zarządzanie zależnościami przy pomocy Apache Ivy
- Maven jako kompleksowa platforma projektu
- Ant czy Maven – jak świadomie wybrać odpowiednie narzędzie dopasowane do problemu
- Standardowa struktura projektu Maven
- Tworzenie projektów wielomodułowych (w tym JEE)
- Kluczowe elementy cyklu budowania projektu
- Automatyczne testowanie (jUnit)
- Tworzenie bieżących wersji (snapshot)
- Deploy projektu do środowiska integracyjnego
- Release nowej wersji projektu
- Zarządzanie zależnościami
- Strategie tworzenia hierarchii POM
- Tworzenie korporacyjnego repozytorium bibliotek
- M2 – Eclipse plugin
- Dostrojenie ustawień pluginu
- Zwiększenie ergonomii i produktywności: jednoczesne korzystanie z budowania Maven i hotdeploying na server aplikacji wraz z możliwością debugowania po stronie servera
- Praca grupowa z CVS/SVN
- Konfiguracja pluginów Eclipse
- Praca z repozytorium
- Podstawowe czynności (commit, update)
- Pliki lokalne
- Rozwiązywanie konfliktów (merging)
- Zarządzanie wersjami kodu
- Tags w celu oznaczenia miejsca rozwoju
- Branches w celu współbieżnego rozwoju wersji
- Zorientowanie na zadania z pomocą Mylyn
- Zadania jako główna jednostka pracy
- Zarządzanie zadaniami Bugzilla/Jira
- Wykonywanie zadań z jednoczesnym ich rozliczaniem i obsługą CVS/SVN (1 komentarz, 1 narządzie, 3 czynności)
- Standaryzacja i zwiększenie jakości kodu dzięki Checkstyle
- Nieodzowne standardy kodowania
- Standardowe konwencje nazewnicze (JSE, JEE)
- Metryki jakości kodu
- Konfiguracja pluginu
- Profesjonalne logowanie zdarzeń i informacji na przykładzie log4j
- Konfiguracja appenderów
- Poprawne korzystanie z poziomów logowania
- Techniki redukcji narzutu logowania na wydajność
- Chainsaw – narzędzie do przeglądania logów
- Teoria pragmatycznego podejścia do testów z wykorzystaniem jUnit
- Wstęp do metodyki Test Driven Development i podejścia Design by Contract
- Tworzenie scenariuszy testowych na podstawie Use Case
- Testowanie na zasadzie „białe skrzynki”
- Testowanie na zasadzie „czarnej skrzynki”
- Podstawowe zasady projektowe i architektoniczne zwiększające testability (podatność na testy) kodu
- Wsparcie technik OO
- Wstrzykiwanie zależności
- Mock Objects na przykładzie EasyMock
- Stubs
- Fakes
- Typy testów i ich odpowiednie zastosowanie
- Testowanie jednostkowe
- Testowanie integracyjne
- Kontrola pokrycia kodu testami (code coverage) z użyciem EclEmma
- Tresowanie starych systemów – sposoby na izolowanie funkcjonalności poddawanej testom
- Podejście oparte o specyfikacje
- Podstawowe pojęcia (predykat, niezmiennik)
- Biblioteka T2
- Testowanie GUI aplikacji webowych z wykorzystaniem JsfUnit i Selenium
- Błyskawiczne testowanie EJB 3.1 w lekkich kontenerach (GlassFish)
- TestNG jako alternatywa dla jUnit
- WTP (Eclipse Web Tools Platform) jako podstawowe narzędzie developera JEE
- Składowe platformy
- Konfiguracja pluginu
- Konfiguracja serverów
- Przygotowanie do efektywnej pracy z wykorzystaniem hotdeploy i debugowania kodu po stronie servera
- Praktyczne wykorzystanie komponentów platformy pod kątem warstw aplikacji korporacyjnej
- Moduł EJB
- Wsparcie dla JPA
- Wsparcie dla JMS
- Moduł Web
- Wsparcie dla HTML, JS, CSS
- Wsparcie dla JSF
- Moduł Webservices
- Wsparcie dla generowania usługi
- Wsparcie dla generowania klienta
- Wdrożenie podejścia Continous Integration w celu śledzenia stanu projektu
- Hudson – server CI
- Maven jako narzędzie budowania
- jUnit jako narzędzie testowania jednostkowego i integracyjnego
- Praktyczne sposoby zwiększenia produktywności dzięki wykorzystaniu mniej znanych funkcji Eclipse i systemu operacyjnego
- Kastomizacja środowiska (perspektywy i widoki)
- Małe lecz cenne wtyczki
- Skróty klawiszowe optymalizujące czas wykonania powtarzalnych i żmudnych czynności
- Rozszerzenia Windows usprawniające różne aspekty pracy
|