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)

Podobne dokumenty