Dziękujemy za wysłanie zapytania! Jeden z członków naszego zespołu skontaktuje się z Państwem wkrótce.
Dziękujemy za wysłanie rezerwacji! Jeden z członków naszego zespołu skontaktuje się z Państwem wkrótce.
Plan Szkolenia
Wprowadzenie do Groovy
- Wprowadzenie do Apache Groovy
- Historia i ewolucja języka Groovy
- Groovy i maszyna wirtualna Java
- Groovy jako język skryptowy i programistyczny
- Powszechne zastosowania języka Groovy
- Groovy w projektach opartych na Javie
- Zalety stosowania Groovy w połączeniu z Javą
- Przegląd przykładowej aplikacji
Przegląd funkcji języka Groovy
- Typowanie dynamiczne i opcjonalne statyczne
- Możliwości skryptowe Groovy
- Kompaktowa składnia i rozszerzenia języka
- Zamknięcia (closures) i programowanie funkcyjne
- Kolekcje Groovy i rozszerzone interfejsy API
- Przeciążanie operatorów
- Interpolacja łańcuchów znaków
- Bezpieczna nawigacja i operator Elvisa
- Rozwój języków dziedzinowych (DSL)
- Możliwości metaprogramowania
- Zestaw narzędzi programistycznych Groovy (GDK)
Konfiguracja środowiska programistycznego
- Instalowanie i konfigurowanie Groovy
- Praca z dystrybucjami Groovy
- Korzystanie z Groovy w linii komend
- Uruchamianie skryptów Groovy
- Konfiguracja środowiska IDE
- Tworzenie projektu Groovy
- Zarządzanie zależnościami
- Integracja Groovy z projektami Java
- Konfiguracja środowiska programistycznego dla kontenerów
Napisanie pierwszej aplikacji w Groovy
- Tworzenie podstawowego skryptu Groovy
- Zrozumienie struktury skryptów Groovy
- Uruchamianie aplikacji Groovy
- Korzystanie z instrukcji
println - Praca z zmiennymi
- Definiowanie metod
- Dodawanie komentarzy i dokumentacji
- Tworzenie prostych aplikacji przykładowych
- Kompilowanie kodu Groovy
Zapoznanie się ze składnią Groovy
- Instrukcje i wyrażenia w Groovy
- Średniki i opcjonalne elementy składni
- Zmienne i stałe
- Typowanie dynamiczne i jawne
- Literale łańcuchów znaków i interpolacja
- Łańcuchy znaków jedno- i wieloliniowe
- Operatory i wyrażenia
- Operatory Groovy i skróty składniowe
- Obsługa wartości null
- Bezpieczna nawigacja
- Operator Elvisa
- Przypisanie wielu wartości (dekompozycja)
Korzystanie z typów danych i kolekcji Groovy
- Typy podstawowe i typy obiektowe
- Liczby i operacje liczbowe
- Łańcuchy znaków i znaki
- Typy boolowskie
- Datow i wartości związane z czasem
- Listy
- Mapy
- Zbiory
- Zakresy (Ranges)
- Iteracja przez kolekcje
- Transformacje kolekcji
- Filtrowanie i przeszukiwanie kolekcji
- Sortowanie i grupowanie danych
- Metody kolekcji w Groovy
Korzystanie z zamknięć (closures) w Groovy
- Rozumienie zamknięć (closures)
- Składnia zamknięć
- Parametry zamknięć
- Implikowane parametry zamknięć
- Wywoływanie zamknięć
- Zamknięcia jako zmienne
- Przemykanie zamknięć jako argumentów metod
- Zwracanie zamknięć z metod
- Zamknięcia i kolekcje
- Korzystanie z zamknięć do filtrowania i transformacji
- Zakres i przechwytywanie zmiennych
- Zamknięcia w programowaniu funkcyjnym
- Wzorce praktyczne stosowania zamknięć
Kontrolowanie przebiegu programu za pomocą struktur kontrolnych Groovy
- Instrukcje warunkowe
ifielse- Zagnieżdżone warunki
- Instrukcje
switch - Pętle i iteracja
for,whileorazdo-while- Zakresy (Ranges) w pętlach
- Korzystanie z zamknięć do iteracji
breakicontinue- Obsługa wyjątków
try,catchorazfinally- Rzucanie niestandardowych wyjątków
- Szczególności kontrolowania przepływu w Groovy
Implementacja programowania obiektowego (OOP) w aplikacji
- Definiowanie klas Groovy
- Właściwości i pola
- Konstruktory
- Metody
- Inkapsulacja
- Dziedziczenie
- Interfejsy
- Klasy abstrakcyjne
- Polimorfizm
- Nadpisywanie metod
- Przeciążanie metod
- Gety i setery w Groovy
- Cechy (Traits)
- Wyliczenia (Enums)
- Tworzenie modeli domenowych dla aplikacji przykładowej
Metaprogramowanie w czasie wykonania i w czasie kompilacji
- Wprowadzenie do metaprogramowania w Groovy
- Dynamiczne wywoływanie metod
- Obiekty typu Expando
- Manipulacja metodami i właściwościami w czasie wykonania
- Kategorie i rozszerzenia
- MetaClass
- Dynamiczne dodawanie metod
- Przechwytywanie wywołań metod
- Transformacje w czasie kompilacji
- Powszechne transformacje AST
- Przemyślany stosunek do metaprogramowania
- Praktyczne przykłady metaprogramowania
Praca z wzorcem Builder (Budowniczy)
- Wprowadzenie do wzorca budowniczy (Builder pattern)
- Budowniczowie w Groovy i ich przeznaczenie
- Tworzenie struktur hierarchicznych
- Budowniczowie XML
- Budowniczowie JSON
- Generowanie HTML i znaczników
- Konfigurowanie wyjścia budowniczych
- Używanie zamknięć z budowniczymi
- Tworzenie niestandardowych budowniczych
- Zastosowanie budowniczych w językach dziedzinowych (DSL)
Dostęp do bazy danych w Groovy
- Pojęcia dotyczące łączności z bazami danych
- Łączenie aplikacji Groovy z bazami danych
- JDBC i interfejsy API baz danych w Groovy
- Konfigurowanie połączeń z bazą danych
- Wykonywanie zapytań SQL
- Odczyt wyników zapytań
- Wstawianie, aktualizowanie i usuwanie danych
- Zapytania parametryzowane
- Transakcje
- Obsługa wyjątków bazy danych
- Korzystanie z Groovy SQL
- Budowanie funkcji bazodanowych w aplikacji przykładowej
Wywoływanie kodu Java z Groovy
- Interoperowalność Groovy i Java
- Korzystanie z klas Java w Groovy
- Wywoływanie metod Java
- Praca z bibliotekami Java
- Korzystanie z kolekcji Java
- Obsługa wyjątków Java
- Porównanie składni Groovy i Java
- Wywoływanie kodu Groovy z Java
- Mieszanie plików źródłowych Groovy i Java
- Integrowanie Groovy w istniejących aplikacjach Java
- Best practice interoperowalności
Łączenie z usługami i aplikacjami REST
- Wprowadzenie do interfejsów API REST
- Pojęcia HTTP dla aplikacji Groovy
- Wysyłanie żądań HTTP
- Obsługa operacji GET, POST, PUT i DELETE
- Praca z parametrami i nagłówkami żądań
- Przetwarzanie odpowiedzi JSON
- Tworzenie ciał żądań JSON
- Obsługa uwierzytelniania
- Zarządzanie błędami HTTP
- Konsumpcja zewnętrznych usług REST
- Integracja funkcji REST w aplikacji przykładowej
Korzystanie z zestawu narzędzi GDK
- Wprowadzenie do zestawu narzędzi programistycznych Groovy (GDK)
- Rozszerzone interfejsy API Java
- Praca z łańcuchami znaków
- Rozszerzone kolekcje
- Operacje na plikach i katalogach
- Odczyt i zapis plików
- Praca z strumieniami
- Przetwarzanie XML
- Przetwarzanie JSON
- Praca z datami i czasem
- Metody pomocnicze i wygodne interfejsy API
- Dobieranie odpowiednich funkcjonalności GDK
Testowanie jednostkowe aplikacji Groovy
- Wprowadzenie do testowania aplikacji Groovy
- Koncepcje rozwoju napędzanego testami (TDD)
- Piszenie testów jednostkowych
- Korzystanie z frameworków testowych
- Struktura klas testowych
- Aserty (assertions)
- Testowanie klas i metod
- Testowanie zamknięć
- Testowanie wyjątków
- Mockowanie zależności
- Testowanie oparte na danych
- Testowanie funkcjonalności związanych z bazą danych
- Testowanie integracji REST
- Uruchamianie i analiza wyników testów
Rozwiązywanie problemów (Troubleshooting)
- Diagnozowanie błędów składni Groovy
- Debugowanie błędów w czasie wykonania
- Rozwiązywanie problemów kompilacyjnych
- Rozwiązywanie problemów z interoperowalnością z Javą
- Debugowanie zamknięć i operacji na kolekcjach
- Rozpoznawanie problemów z łącznością z bazą danych
- Rozwiązywanie problemów z integracjami API REST
- Debugowanie zachowań metaprogramowania
- Korzystanie z logowania i narzędzi diagnostycznych
- Praktyczne ćwiczenia z rozwiązywania problemów
Podsumowanie i zakończenie
- Podsumowanie podstaw języka Groovy
- Podsumowanie składni, typów i kolekcji
- Podsumowanie zamknięć i programowania funkcyjnego
- Podsumowanie programowania obiektowego
- Podsumowanie metaprogramowania i wzorca budowniczy
- Podsumowanie integracji z bazami danych i REST
- Podsumowanie interoperowalności Groovy i Java
- Podsumowanie możliwości GDK
- Podsumowanie praktyk testowania
- Best practice w tworzeniu aplikacji Groovy
- Praktyczne ćwiczenie końcowe
- Pytania i dyskusja
Wymagania
- Doświadczenie w programowaniu w dowolnym języku programowania
21 godzin
Opinie uczestników (1)
Dodatkowe informacje, które zostały podzielone, wskazywały, że szkolenie nie było prostym językiem Groovy, co było miłe.
Covenant - Vodacom
Szkolenie - Groovy Programming
Przetłumaczone przez sztuczną inteligencję