Contattataci

Struttura del corso

Introduzione a Groovy

  • Introduzione ad Apache Groovy
  • Storia ed evoluzione di Groovy
  • Groovy e la Java Virtual Machine
  • Groovy come linguaggio di scripting e programmazione
  • Casi d'uso comuni di Groovy
  • Groovy in progetti basati su Java
  • Vantaggi dell'uso di Groovy insieme a Java
  • Panoramica sull'applicazione di esempio

Panoramica delle funzionalità di Groovy

  • Tipizzazione dinamica e tipizzazione statica opzionale
  • Capacità di scripting di Groovy
  • Sintassi concisa e miglioramenti del linguaggio
  • Closure e programmazione funzionale
  • Collezioni di Groovy e API potenziate
  • Overloading degli operatori
  • Interpolazione delle stringhe
  • Navigazione sicura e operatore Elvis
  • Sviluppo di Linguaggi Specifici del Dominio (DSL)
  • Capacità di meta-programmazione
  • Groovy Development Kit (GDK)

Configurazione dell'ambiente di sviluppo

  • Installazione e configurazione di Groovy
  • Lavoro con le distribuzioni di Groovy
  • Utilizzo di Groovy dalla riga di comando
  • Esecuzione degli script Groovy
  • Configurazione di un IDE
  • Creazione di un progetto Groovy
  • Gestione delle dipendenze
  • Integrazione di Groovy nei progetti Java
  • Configurazione dell'ambiente di sviluppo per i contenitori

Scrittura della prima applicazione Groovy

  • Creazione di uno script Groovy di base
  • Comprendere la struttura degli script Groovy
  • Esecuzione delle applicazioni Groovy
  • Utilizzo dell'istruzione println
  • Lavoro con le variabili
  • Definizione dei metodi
  • Aggiunta di commenti e documentazione
  • Costruzione di una semplice applicazione di esempio
  • Compilazione del codice Groovy

Familiarizzazione con la sintassi di Groovy

  • Istruzioni ed espressioni Groovy
  • Punto e virgola ed elementi sintattici opzionali
  • Variabili e costanti
  • Tipizzazione dinamica ed esplicita
  • Letterali di stringa e interpolazione
  • Stringhe su una riga e su più righe
  • Operatori ed espressioni
  • Operatori e scorciatoie di Groovy
  • Gestione dei null
  • Navigazione sicura
  • Operatore Elvis
  • Assegnazione multipla

Utilizzo dei tipi di dati e delle collezioni di Groovy

  • Tipi primitivi e di oggetto
  • Numerali e operazioni numeriche
  • Stringhe e caratteri
  • Booleani
  • Date e valori relativi al tempo
  • Elenco (Lists)
  • Mappe (Maps)
  • Insiemi (Sets)
  • Intervallo (Ranges)
  • Iterazione sulle collezioni
  • Trasformazioni delle collezioni
  • Filtraggio e ricerca nelle collezioni
  • Ordinamento e raggruppamento dei dati
  • Metodi delle collezioni di Groovy

Utilizzo delle Closure di Groovy

  • Comprendere le closure
  • Sintassi delle closure
  • Parametri delle closure
  • Parametri impliciti delle closure
  • Chiamata delle closure
  • Closure come variabili
  • Passaggio di closure ai metodi
  • Ritorno di closure dai metodi
  • Closure e collezioni
  • Utilizzo delle closure per il filtraggio e la trasformazione
  • Ambito e cattura delle variabili
  • Closure per la programmazione funzionale
  • Pattern pratici con le closure

Controllo del flusso del programma con strutture di controllo Groovy

  • Istruzioni condizionali
  • if e else
  • Condizioni annidate
  • Istruzioni switch
  • Cicli e iterazioni
  • for, while e do-while
  • Intervallo nei cicli
  • Utilizzo delle closure per l'iterazione
  • break e continue
  • Gestione delle eccezioni
  • try, catch e finally
  • Lancio di eccezioni personalizzate
  • Funzionalità specifiche di Groovy per il controllo del flusso

Implementazione della Programmazione a Oggetti (OOP) nell'applicazione

  • Definizione delle classi Groovy
  • Proprietà e campi
  • Costruttori
  • Metodi
  • Incapsulamento
  • Ereditarietà
  • Interfacce
  • Classi astratte
  • Polimorfismo
  • Override dei metodi
  • Overload dei metodi
  • Getters e setters di Groovy
  • Trait
  • Enum
  • Creazione di modelli di dominio per l'applicazione di esempio

Meta-programmazione in Runtime e in fase di Compilazione

  • Introduzione alla meta-programmazione in Groovy
  • Chiamata dinamica dei metodi
  • Oggetti Expando
  • Manipolazione dei metodi e delle proprietà in runtime
  • Categorie ed estensioni
  • MetaClass
  • Aggiunta dinamica di metodi
  • Intercettazione delle chiamate di metodo
  • Trasformazioni in fase di compilazione
  • Trasformazioni AST comuni
  • Utilizzo responsabile della meta-programmazione
  • Esempi pratici di meta-programmazione

Lavoro con i Builder

  • Introduzione al pattern builder
  • Builder di Groovy e loro scopo
  • Creazione di strutture gerarchiche
  • Builder XML
  • Builder JSON
  • Generazione di HTML e markup
  • Configurazione dell'output del builder
  • Utilizzo delle closure con i builder
  • Creazione di builder personalizzati
  • Applicazione dei builder nei Linguaggi Specifici del Dominio

Accesso al database con Groovy

  • Concetti di connettività al database
  • Connessione delle applicazioni Groovy ai database
  • JDBC e API database di Groovy
  • Configurazione delle connessioni al database
  • Esecuzione di query SQL
  • Lettura dei risultati della query
  • Inserimento, aggiornamento ed eliminazione dei dati
  • Query parametrizzate
  • Transazioni
  • Gestione delle eccezioni del database
  • Lavoro con Groovy SQL
  • Costruzione della funzionalità database per l'applicazione di esempio

Chiamata di Java da Groovy

  • Interoperabilità tra Groovy e Java
  • Utilizzo delle classi Java da Groovy
  • Chiamata dei metodi Java
  • Lavoro con le librerie Java
  • Utilizzo delle collezioni Java
  • Gestione delle eccezioni Java
  • Confronto tra sintassi Groovy e sintassi Java
  • Chiamata di codice Groovy da Java
  • Miscelazione di file sorgente Groovy e Java
  • Integrazione di Groovy in applicazioni Java esistenti
  • Best practice per l'interoperabilità

Connessione a servizi e applicazioni REST

  • Introduzione alle API REST
  • Concetti HTTP per applicazioni Groovy
  • Invio di richieste HTTP
  • Gestione delle operazioni GET, POST, PUT e DELETE
  • Lavoro con parametri e intestazioni delle richieste
  • Elaborazione delle risposte JSON
  • Costruzione di corpi di richiesta JSON
  • Gestione dell'autenticazione
  • Gestione degli errori HTTP
  • Consumo di servizi REST esterni
  • Integrazione della funzionalità REST nell'applicazione di esempio

Lavoro con il GDK

  • Introduzione al Groovy Development Kit
  • API Java potenziate
  • Lavoro con le stringhe
  • Collezioni potenziate
  • Operazioni su file e directory
  • Lettura e scrittura di file
  • Lavoro con i flussi (streams)
  • Elaborazione XML
  • Elaborazione JSON
  • Lavoro con date e orari
  • Metodi di utilità e API di comodità
  • Selezione delle funzionalità GDK appropriate

Test unitari di un'applicazione Groovy

  • Introduzione ai test delle applicazioni Groovy
  • Concetti di sviluppo guidato dai test
  • Scrittura di test unitari
  • Utilizzo dei framework di testing
  • Strutturazione delle classi di test
  • Assert (verifiche)
  • Test di classi e metodi
  • Test delle closure
  • Test delle eccezioni
  • Mock delle dipendenze
  • Test guidati dai dati
  • Test delle funzionalità relative al database
  • Test delle integrazioni REST
  • Esecuzione e analisi dei risultati dei test

Risoluzione dei problemi (Troubleshooting)

  • Diagnosi degli errori di sintassi Groovy
  • Debug degli errori di runtime
  • Gestione dei problemi di compilazione
  • Risoluzione dei problemi di interoperabilità Java
  • Debug delle closure e delle operazioni sulle collezioni
  • Indagine dei problemi di connettività al database
  • Risoluzione dei problemi delle integrazioni API REST
  • Debug del comportamento della meta-programmazione
  • Utilizzo di log e strumenti diagnostici
  • Esercizi pratici di troubleshooting

Riepilogo e conclusione

  • Revisione delle basi del linguaggio Groovy
  • Revisione della sintassi, dei tipi e delle collezioni
  • Revisione delle closure e della programmazione funzionale
  • Revisione della programmazione a oggetti
  • Revisione della meta-programmazione e dei builder
  • Revisione dell'integrazione con database e REST
  • Revisione dell'interoperabilità tra Groovy e Java
  • Revisione delle capacità del GDK
  • Revisione delle pratiche di test
  • Best practice per lo sviluppo di applicazioni Groovy
  • Esercizio pratico finale
  • Domande e discussione

Requisiti

  • Esperienza di programmazione in qualsiasi linguaggio di programmazione
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative