Karta szkolenia
Transkrypt
Karta szkolenia
Kod szkolenia: Tytuł szkolenia: Dni: TOOLSOLD Narzędzia wspomagające tworzenie projektów w Java 2 Opis: 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. Wymagania: Od uczestników szkolenia wymagana jest znajomość języka Java, mile widziana wiedza ogólna o Java Enterprise Edition, podstawowa znajomość środowiska Eclipse. Parametry szkolenia: 2*8 godzin (2*7 godzin netto) wykładów i warsztatów. W czasie warsztatów oprócz prostych ćwiczeń będzie budowane kompleksowe środowisko develoeprskie. Wielkość grupy: max 8-10 osób. Program szkolenia: 1. Ant – podstawowe narzędzie budowania projektu I. Kompilacja źródeł II. Budowanie projektu III. Integracja Ant z SVN IV. Zarządzanie zależnościami przy pomocy Apache Ivy 2. Maven jako kompleksowa platforma projektu 3. 4. 5. 6. I. Ant czy Maven – jak świadomie wybrać odpowiednie narzędzie dopasowane do problemu II. Standardowa struktura projektu Maven i. Tworzenie projektów wielomodułowych (w tym JEE) III. Kluczowe elementy cyklu budowania projektu i. Automatyczne testowanie (jUnit) ii. Tworzenie bieżących wersji (snapshot) iii. Deploy projektu do środowiska integracyjnego iv. Release nowej wersji projektu IV. Zarządzanie zależnościami i. Strategie tworzenia hierarchii POM V. Tworzenie korporacyjnego repozytorium bibliotek VI. M2 – Eclipse plugin i. Dostrojenie ustawień pluginu ii. 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 I. Konfiguracja pluginów Eclipse II. Praca z repozytorium i. Podstawowe czynności (commit, update) ii. Pliki lokalne iii. Rozwiązywanie konfliktów (merging) III. Zarządzanie wersjami kodu i. Tags w celu oznaczenia miejsca rozwoju ii. Branches w celu współbieżnego rozwoju wersji IV. Zorientowanie na zadania z pomocą Mylyn i. Zadania jako główna jednostka pracy ii. Zarządzanie zadaniami Bugzilla/Jira iii. 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 I. Nieodzowne standardy kodowania II. Standardowe konwencje nazewnicze (JSE, JEE) III. Metryki jakości kodu IV. Konfiguracja pluginu Profesjonalne logowanie zdarzeń i informacji na przykładzie log4j I. Konfiguracja appenderów II. Poprawne korzystanie z poziomów logowania III. Techniki redukcji narzutu logowania na wydajność IV. Chainsaw – narzędzie do przeglądania logów Teoria pragmatycznego podejścia do testów z wykorzystaniem jUnit I. Wstęp do metodyki Test Driven Development i podejścia Design by Contract i. Tworzenie scenariuszy testowych na podstawie Use Case ii. Testowanie na zasadzie „białe skrzynki” iii. Testowanie na zasadzie „czarnej skrzynki” II. Podstawowe zasady projektowe i architektoniczne zwiększające testability (podatność na testy) kodu i. Wsparcie technik OO ii. Wstrzykiwanie zależności iii. Mock Objects na przykładzie EasyMock iv. Stubs v. Fakes III. Typy testów i ich odpowiednie zastosowanie i. Testowanie jednostkowe ii. Testowanie integracyjne IV. Kontrola pokrycia kodu testami (code coverage) z użyciem EclEmma V. Tresowanie starych systemów – sposoby na izolowanie funkcjonalności poddawanej testom VI. Podejście oparte o specyfikacje i. Podstawowe pojęcia (predykat, niezmiennik) ii. Biblioteka T2 VII. Testowanie GUI aplikacji webowych z wykorzystaniem JsfUnit i Selenium VIII. Błyskawiczne testowanie EJB 3.1 w lekkich kontenerach (GlassFish) IX. TestNG jako alternatywa dla jUnit 7. WTP (Eclipse Web Tools Platform) jako podstawowe narzędzie developera JEE I. Składowe platformy II. Konfiguracja pluginu i. Konfiguracja serverów ii. Przygotowanie do efektywnej pracy z wykorzystaniem hotdeploy i debugowania kodu po stronie servera III. Praktyczne wykorzystanie komponentów platformy pod kątem warstw aplikacji korporacyjnej i. Moduł EJB A. Wsparcie dla JPA B. Wsparcie dla JMS ii. Moduł Web A. Wsparcie dla HTML, JS, CSS B. Wsparcie dla JSF iii. Moduł Webservices A. Wsparcie dla generowania usługi B. Wsparcie dla generowania klienta 8. Wdrożenie podejścia Continous Integration w celu śledzenia stanu projektu I. Hudson – server CI II. Maven jako narzędzie budowania III. jUnit jako narzędzie testowania jednostkowego i integracyjnego 9. Praktyczne sposoby zwiększenia produktywności dzięki wykorzystaniu mniej znanych funkcji Eclipse i systemu operacyjnego I. Kastomizacja środowiska (perspektywy i widoki) II. Małe lecz cenne wtyczki III. Skróty klawiszowe optymalizujące czas wykonania powtarzalnych i żmudnych czynności IV. Rozszerzenia Windows usprawniające różne aspekty pracy Powered by TCPDF (www.tcpdf.org)