Intrati in legatura

Schița de curs

Introducere în Groovy

  • Introducere în Apache Groovy
  • Istoria și evoluția Groovy
  • Groovy și Java Virtual Machine
  • Groovy ca limbaj de scripting și programare
  • Cazuri de utilizare frecvente pentru Groovy
  • Groovy în proiecte bazate pe Java
  • Avantajele utilizării Groovy alături de Java
  • Prezentarea aplicației de exemplu

Prezentare caracteristicilor Groovy

  • Tipare dinamică și tipare statică opțională
  • Capacități de scripting în Groovy
  • Sintaxă concisă și îmbunătățiri ale limbajului
  • Closures și programare funcțională
  • Colectii Groovy și API-uri îmbunătățite
  • Suprascrierea operatorilor
  • Interpolarea șirurilor de caractere
  • Navigație sigură și operatorul Elvis
  • Dezvoltare de limbaje specifice domeniului (DSL)
  • Capacități de metaprogramare
  • Groovy Development Kit (GDK)

Setarea mediului de dezvoltare

  • Instalarea și configurarea Groovy
  • Lucrul cu distribuțiile Groovy
  • Utilizarea Groovy din linia de comenzi
  • Rularea scripturilor Groovy
  • Setarea unui IDE
  • Crearea unui proiect Groovy
  • Gestionarea dependențelor
  • Integrarea Groovy în proiecte Java
  • Configurarea mediului de dezvoltare pentru containere

Scrierea primei aplicații Groovy

  • Crearea unui script Groovy de bază
  • Înțelegerea structurii unui script Groovy
  • Rularea aplicațiilor Groovy
  • Utilizarea enunțului println
  • Lucrul cu variabile
  • Definirea metodelor
  • Adăugarea comentariilor și documentației
  • Construirea unei aplicații simple de exemplu
  • Compilarea codului Groovy

Familiarizare cu sintaxa Groovy

  • Enunțuri și expresii în Groovy
  • Puncte și virgule și elemente de sintaxă opționale
  • Variabile și constante
  • Tipare dinamică și explicită
  • Literaluri și interpolare a șirurilor
  • Șiruri într-o linie și multi-linie
  • Operatori și expresii
  • Operatori și scurtături în Groovy
  • Tratarea valorilor Null
  • Navigație sigură
  • Operatorul Elvis
  • Alocare multiplă

Utilizarea tipurilor de date și colecțiilor în Groovy

  • Tipuri primitive și de obiecte
  • Numere și operații numerice
  • Șiruri și caractere
  • Booleane
  • Date și valori legate de timp
  • Liste
  • Hărți (Maps)
  • Seturi (Sets)
  • Intervale (Ranges)
  • Iterarea peste colecții
  • Transformări ale colecțiilor
  • Filtrarea și căutarea în colecții
  • Sortarea și gruparea datelor
  • Metode pentru colecții în Groovy

Utilizarea closures în Groovy

  • Înțelegerea closures
  • Sintaxa closures
  • Parametrii closures
  • Parametrii impliciti ai closures
  • Apelarea closures
  • Closures ca variabile
  • Transmiterea closures către metode
  • Retornarea closures din metode
  • Closures și colecții
  • Folosirea closures pentru filtrare și transformare
  • Scop și capturarea variabilelor
  • Closures pentru programare funcțională
  • Modele practice de closures

Controlul fluxului programului cu structuri de control în Groovy

  • Enunțuri condiționale
  • if și else
  • Condiții imbricate
  • Enunțuri switch
  • Bucle și iterație
  • for, while și do-while
  • Intervale în bucle
  • Utilizarea closures pentru iterație
  • break și continue
  • Tratarea excepțiilor
  • try, catch și finally
  • Aruncarea excepțiilor personalizate
  • Caracteristici specifice Groovy pentru controlul fluxului

Implementarea Programării Orientate pe Obiecte (OOP) în aplicația ta

  • Definirea claselor Groovy
  • Proprietăți și câmpuri
  • Constructori
  • Metode
  • Incapsulare
  • Moștenire
  • Interfețe
  • Clase abstracte
  • Polimorfism
  • Suprascrierea metodelor
  • Suprascrierea metodelor (overloading)
  • Getters și setters în Groovy
  • Traits
  • Enumerații (Enums)
  • Crearea modelelor de domeniu pentru aplicația de exemplu

Metaprogramare la runtime și Metaprogramare la momentul compilării

  • Introducere în metaprogramarea Groovy
  • Invocarea dinamică a metodelor
  • Obiecte Expando
  • Manipularea metodelor și proprietăților la runtime
  • Categorii și extensii
  • MetaClass
  • Adăugarea metodelor dinamic
  • Interceptarea apelurilor de metodă
  • Transformări la momentul compilării
  • Transformări AST comune
  • Utilizarea responsabilă a metaprogramării
  • Exemple practice de metaprogramare

Lucrarea cu Builderi

  • Introducere în modelul de construcție (builder pattern)
  • Builderi în Groovy și scopul lor
  • Crearea structurilor ierarhice
  • Builderi XML
  • Builderi JSON
  • Generarea HTML și markup
  • Configurarea ieșirii builderului
  • Utilizarea closures cu builderi
  • Crearea de builderi personalizate
  • Aplicarea builderilor în limbaje specifice domeniului (DSL)

Accesarea unei baze de date cu Groovy

  • Concepte de conectivitate la baza de date
  • Conectarea aplicațiilor Groovy la baze de date
  • JDBC și API-uri de bază de date în Groovy
  • Configurarea conexiunilor la baza de date
  • Executarea interogărilor SQL
  • Citirea rezultatelor interogărilor
  • Insertarea, actualizarea și ștergerea datelor
  • Interogări parametrizate
  • Tranzacții
  • Tratarea excepțiilor de bază de date
  • Lucrarea cu Groovy SQL
  • Construirea funcționalității de bază de date pentru aplicația de exemplu

Apelarea Java din Groovy

  • Interoperabilitate între Groovy și Java
  • Utilizarea claselor Java din Groovy
  • Apelarea metodelor Java
  • Lucrarea cu biblioteci Java
  • Utilizarea colecțiilor Java
  • Tratarea excepțiilor Java
  • Sintaxa Groovy comparativă cu sintaxa Java
  • Apelarea codului Groovy din Java
  • Mixarea fișierelor sursă Groovy și Java
  • Integrarea Groovy în aplicații Java existente
  • Bune practici pentru interoperabilitate

Conectarea la servicii și aplicații REST

  • Introducere în API-uri REST
  • Concepte HTTP pentru aplicații Groovy
  • Trimiterea cerințelor HTTP
  • Tratarea operațiunilor GET, POST, PUT și DELETE
  • Lucrarea cu parametrii și anteturile cerințelor
  • Procesarea răspunsurilor JSON
  • Construirea corpului cerințelor JSON
  • Tratarea autentificării
  • Gestionarea erorilor HTTP
  • Consumarea de servicii REST externe
  • Integrarea funcționalității REST în aplicația de exemplu

Lucrarea cu GDK

  • Introducere în Groovy Development Kit
  • API-uri Java îmbunătățite
  • Lucrarea cu șiruri de caractere
  • Colecții îmbunătățite
  • Operațiuni de fișier și director
  • Citirea și scrierea fișierelor
  • Lucrarea cu fluxuri (streams)
  • Procesarea XML
  • Procesarea JSON
  • Lucrarea cu date și timp
  • Metode de utilitate și API-uri de conveniență
  • Seleționarea funcționalității adecvate din GDK

Testarea unitară a unei aplicații Groovy

  • Introducere în testarea aplicațiilor Groovy
  • Concepte de dezvoltare condusă de teste (TDD)
  • Scrierea testelor unitare
  • Utilizarea framework-urilor de testare
  • Structurarea claselor de test
  • Aserțiuni
  • Testarea claselor și metodelor
  • Testarea closures
  • Testarea excepțiilor
  • Mocking-ul dependențelor
  • Testare bazată pe date
  • Testarea funcționalității legate de baza de date
  • Testarea integrărilor REST
  • Rularea și analiza rezultatelor testelor

Troubleshooting

  • Diagnostecarea erorilor de sintaxă Groovy
  • Dezbugarea erorilor de runtime
  • Rezolvarea problemelor de compilare
  • Troubleshooting al problemelor de interoperabilitate cu Java
  • Dezbugarea closures și operațiilor de colecție
  • Investigarea problemelor de conectivitate la baza de date
  • Troubleshooting al integrărilor REST API
  • Dezbugarea comportamentului metaprogramării
  • Utilizarea logării și a instrumentelor de diagnosticare
  • Exerciții practice de troubleshooting

Rezumat și concluzii

  • Recapitularea fundamentelor limbajului Groovy
  • Recapitularea sintaxei, tipurilor și colecțiilor
  • Recapitularea closures și a programării funcționale
  • Recapitularea programării orientate pe obiecte
  • Recapitularea metaprogramării și a builderilor
  • Recapitularea integrării cu baza de date și REST
  • Recapitularea interoperabilității Groovy și Java
  • Recapitularea capabilităților GDK
  • Recapitularea practicilor de testare
  • Bune practici pentru dezvoltarea aplicațiilor Groovy
  • Exercițiu hands-on final
  • Întrebări și discuții

Cerințe

  • Experiență de programare într-o limbaj de programare
 21 Ore

Numărul de participanți


Pret per participant

Mărturii (1)

Cursuri viitoare

Categorii înrudite