Zaufali Nam

  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam

Kod Szkolenia: J/TOOLS

Tytuł Szkolenia: Narzędzia wspomagające tworzenie projektów w Java.

Karta Szkolenia

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.

Szczegółowy Program

Program szkolenia:

  1. Ant – podstawowe narzędzie budowania projektu
    1. Kompilacja źródeł
    2. Budowanie projektu
    3. Integracja Ant z SVN
    4. Zarządzanie zależnościami przy pomocy Apache Ivy
  2. Maven jako kompleksowa platforma projektu
    1. Ant czy Maven – jak świadomie wybrać odpowiednie narzędzie dopasowane do problemu
    2. Standardowa struktura projektu Maven
      1. Tworzenie projektów wielomodułowych (w tym JEE)
    3. Kluczowe elementy cyklu budowania projektu
      1. Automatyczne testowanie (jUnit)
      2. Tworzenie bieżących wersji (snapshot)
      3. Deploy projektu do środowiska integracyjnego
      4. Release nowej wersji projektu
    4. Zarządzanie zależnościami
      1. Strategie tworzenia hierarchii POM
    5. Tworzenie korporacyjnego repozytorium bibliotek
    6. M2 – Eclipse plugin
      1. Dostrojenie ustawień pluginu
      2. 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
  3. Praca grupowa z CVS/SVN
    1. Konfiguracja pluginów Eclipse
    2. Praca z repozytorium
      1. Podstawowe czynności (commit, update)
      2. Pliki lokalne
      3. Rozwiązywanie konfliktów (merging)
    3. Zarządzanie wersjami kodu
      1. Tags w celu oznaczenia miejsca rozwoju
      2. Branches w celu współbieżnego rozwoju wersji
    4. Zorientowanie na zadania z pomocą Mylyn
      1. Zadania jako główna jednostka pracy
      2. Zarządzanie zadaniami Bugzilla/Jira
      3. Wykonywanie zadań z jednoczesnym ich rozliczaniem i obsługą CVS/SVN (1 komentarz, 1 narządzie, 3 czynności)
  4. Standaryzacja i zwiększenie jakości kodu dzięki Checkstyle
    1. Nieodzowne standardy kodowania
    2. Standardowe konwencje nazewnicze (JSE, JEE)
    3. Metryki jakości kodu
    4. Konfiguracja pluginu
  5. Profesjonalne logowanie zdarzeń i informacji na przykładzie log4j
    1. Konfiguracja appenderów
    2. Poprawne korzystanie z poziomów logowania
    3. Techniki redukcji narzutu logowania na wydajność
    4. Chainsaw – narzędzie do przeglądania logów
  6. Teoria pragmatycznego podejścia do testów z wykorzystaniem jUnit
    1. Wstęp do metodyki Test Driven Development i podejścia Design by Contract
      1. Tworzenie scenariuszy testowych na podstawie Use Case
      2. Testowanie na zasadzie „białe skrzynki”
      3. Testowanie na zasadzie „czarnej skrzynki”
    2. Podstawowe zasady projektowe i architektoniczne zwiększające testability (podatność na testy) kodu
      1. Wsparcie technik OO
      2. Wstrzykiwanie zależności
      3. Mock Objects na przykładzie EasyMock
      4. Stubs
      5. Fakes
    3. Typy testów i ich odpowiednie zastosowanie
      1. Testowanie jednostkowe
      2. Testowanie integracyjne
    4. Kontrola pokrycia kodu testami (code coverage) z użyciem EclEmma
    5. Tresowanie starych systemów – sposoby na izolowanie funkcjonalności poddawanej testom
    6. Podejście oparte o specyfikacje
      1. Podstawowe pojęcia (predykat, niezmiennik)
      2. Biblioteka T2
    7. Testowanie GUI aplikacji webowych z wykorzystaniem JsfUnit i Selenium
    8. Błyskawiczne testowanie EJB 3.1 w lekkich kontenerach (GlassFish)
    9. TestNG jako alternatywa dla jUnit
  7. WTP (Eclipse Web Tools Platform) jako podstawowe narzędzie developera JEE
    1. Składowe platformy
    2. Konfiguracja pluginu
      1. Konfiguracja serverów
      2. Przygotowanie do efektywnej pracy z wykorzystaniem hotdeploy i debugowania kodu po stronie servera
    3. Praktyczne wykorzystanie komponentów platformy pod kątem warstw aplikacji korporacyjnej
      1. Moduł EJB
        1. Wsparcie dla JPA
        2. Wsparcie dla JMS
      2. Moduł Web
        1. Wsparcie dla HTML, JS, CSS
        2. Wsparcie dla JSF
      3. Moduł Webservices
        1. Wsparcie dla generowania usługi
        2. Wsparcie dla generowania klienta
  8. Wdrożenie podejścia Continous Integration w celu śledzenia stanu projektu
    1. Hudson – server CI
    2. Maven jako narzędzie budowania
    3. 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
    1. Kastomizacja środowiska (perspektywy i widoki)
    2. Małe lecz cenne wtyczki
    3. Skróty klawiszowe optymalizujące czas wykonania powtarzalnych i żmudnych czynności
    4. Rozszerzenia Windows usprawniające różne aspekty pracy