CORSO PERL02: Programmazione con linguaggio PERL moderno - CEGEKA Education

Pagina creata da Angelo Montanari
 
CONTINUA A LEGGERE
CORSO PERL02:
Programmazione con
linguaggio PERL
moderno

CEGEKA Education
corsi di formazione professionale

                                    © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Programmazione con linguaggio PERL moderno

Il corso avanzato su PERL è dedicato a tutti i programmatori che conoscono già il PERL e vorrebbero
riiniziare ad utilizzarlo. Perl è un linguaggio di programmazione libero di uso generale, che funziona su
oltre 100 diverse piattaforme: dai laptop ai server, dall’home computer ai mainframe, e si adatta sia a
piccoli che grandi progetti. Nato per risolvere i problemi di estrazione dati e reportistica ha riscosso
successo via via in diversi ambiti di programmazione: syadmin, web, analisi dati, bioinformatica,
marketing.

Durata del corso 5 giorni

Destinatari / Audience
Programmatori con esperienza in PERL.

Obiettivi / Goals
Il corso completa le conoscenze di programmatori PERL classico.

Requisiti / Requirements
       Conoscenza del linguaggio PERL.

Moduli / Modules
Modulo 1: Usare il Perl Moderno

       La Filosofia Perl
       Perldoc
       L'espressività
       I contesti: void, scalare, lista, numerico, stringa, booleano
       Idee implicite
       La variabile scalare di default
       Le variabili array di default
       Perl e la sua comunità
       CPAN
       Strumenti per la gestione di CPAN
       Siti della comunità
       Siti sullo sviluppo

Modulo 2: Il Linguaggio Perl

       Nomi
       Nomi di variabili e sigilli
       Namespace
       Variabili
       Scope delle variabili

                                                          © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Sigilli delle variabili
       Variabili anonime
       Variabili, tipi e coercizione
       Valori
       Stringhe
       Stringhe e Unicode
       Codifica dei caratteri
       Unicode nei vostri filehandle
       Unicode nei vostri dati
       Unicode nei vostri dati
       Unicode nei vostri programmi
       Conversione implicita
       Numeri
       Undef
       La lista vuota
       Liste

Modulo 3: Controllo di flusso

       Direttive di scelta
       L'operatore condizionale ternario
       Cortocircuiti
       Contesto per le direttive condizionali
       Direttive di ciclo
       Iterazione e alias
       Iterazione e scope
       Il ciclo "for" in stile C
       "while" e "until"
       Cicli dentro altri cicli
       Controllo di ciclo
       "continue"
       "given/when"
       Chiamate di coda

Modulo 4: Scalari e Vettori

       Scalari e tipi
       Elementi di un array
       Assegnamento ad array
       Operazioni sugli array
       Slice di array
       Array e contesto
       Interpolazione di array

Modulo 5: Vettori associativi

       Dichiarazione di hash
       Indicizzazione di hash
       Esistenza di chiavi di hash
       Accedere a chiavi e valori degli hash
       Slice di hash
       L'hash vuoto
       Idiomi degli hash
       Bloccare gli hash

Modulo 6: Coercizione

                                                © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Coercizione booleana
       Coercizione a stringa
       Coercizione numerica
       Coercizione di riferimento
       Cache di coercizioni
       Dualvar

Modulo 7: Package

       Package e namespace

Modulo 8: Riferimenti

       Riferimenti a scalari
       Riferimenti ad array
       Riferimenti a hash
       Dereferenziazione automatica
       Riferimenti a funzioni
       Riferimenti a filehandle
       Reference count
       Riferimenti e funzioni

Modulo 9: Strutture dati annidate

       Autovivificazione
       Debugging di strutture dati annidate
       Riferimenti circolari
       Alternative alle strutture dati annidate.

Modulo 10: Operatori

       Caratteristiche degli operatori
                Precedenza
                Associatività
                Arità
                Posizione
       Tipi di operatori
                Operatori numerici
                Operatori stringa
                Operatori logici
                Operatori bit-a-bit
                Operatori speciali

Modulo 11: Funzioni

       Dichiarazione di funzioni
       Invocazione di funzioni
       Parametri delle funzioni
       Appiattimento
       Slurping
       Aliasing
       Funzioni e namespace
       Importazione
       Gestione degli errori
       Validazione degli argomenti
       Argomenti avanzati sulle funzioni

                                                   © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Conoscenza del contesto
       Ricorsione
       Lessicali
       Chiamate di coda
       Trappole e funzionalità da evitare

Modulo 12: Scope

       Scope lessicale
       Lo scope di "our"
       Scope dinamico
       Scope di variabili "state"

Modulo 13: Funzioni anonime

       Dichiarazione di funzioni anonime
       Nomi di funzioni anonime
       Funzioni anonime implicite

Modulo 14: Chiusure

       Creazione di chiusure
       Uso delle chiusure
       Chiusure e applicazione parziali:
       "state" e chiusure
       "state" e pseudo-state

Modulo 15: Attributi

       Uso degli attributi
       Svantaggi degli attributi

Modulo 15: AUTOLOAD

       Funzionalità base di AUTOLOAD
       Redirezionare dei metodi in AUTOLOAD()
       Generazione di codice in AUTOLOAD()
       Svantaggi di AUTOLOAD

Modulo 16: Espressioni regolari e matching

       Letterali
       L'operatore qr// e la combinazione di regex
       Quantificatori
       Greediness
       Ancore di regex
       Metacaratteri
       Classi di caratteri
       Cattura
       Catture con nome
       Catture numerate
       Raggruppamento e alternativa
       Altre sequenze di escape
       Asserzioni
       Modificatori di regex

                                                     © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Matching intelligente

Modulo 16: Classi ed oggetti

       Classi
       Metodi
       Attributi
       Incapsulamento
       Polimorfismo
       Ruoli e DOES()
       Ereditarietà
       Ereditarietà e attributi
       Ordine di dispatch dei metodi
       Ereditarietà e metodi
       Ereditarietà e isa()
       Moose e il sistema OO di Perl 5
       Riferimenti blessed
       Ricerca di metodi e ereditarietà
       AUTOLOAD
       Sovrascrittura di metodi e SUPER
       Strategie per sopravvivere ai riferimenti blessed
       Riflessione
       Verificare se un modulo è stato caricato
       Verificare l'esistenza di un package
       Verificare l'esistenza di una classe
       Verificare il numero di versione di un modulo
       Verificare l'esistenza di una funzione
       Verificare l'esistenza di un metodo
       Consultare le tabelle dei simboli
       OO avanzato in Perl
       Preferite la composizione all'ereditarietà
       Principio di singola responsabilità
       Non ripetetevi
       Principio di sostituzione di Liskov
       Sottotipi e coercizioni
       Immutabilità

Modulo 17: Stile ed efficacia

       Scrivere codice Perl manutenibile
       Scrivere in Perl idiomatico
       Scrivere codice Perl efficace
       Eccezioni
       Sollevare eccezioni
       Catturare eccezioni
       Avvertenze sulle eccezioni
       Eccezioni predefinite
       Direttive
       Direttive e scope
       Uso delle direttive
       Direttive utili

Modulo 18: Gestire programmi reali

       Testing
       Test::More

                                                           © Cegeka S.p.A. - documento aggiornato al 10-09-2018
Eseguire test
       Migliorare i confronti
       Organizzazione dei test
       Altri moduli di testing
       Gestione dei warning
       Generare i warning
       Attivare e disattivare i warning
       Disabilitare categorie di warning
       Rendere fatali i warning
       Catturare i warning
       Registrare i Vostri warning
       File
       Input e output
       open a due Argomenti
       Lettura da file
       Scrittura su file
       Chiusura dei file
       Variabili speciali di gestione dei file
       Directory e path
       Manipolazione di path
       Manipolazione di file
       Moduli
       Uso e importazione
       Esportazione
       Organizzare il codice con i moduli
       Distribuzioni
       Attributi di una distribuzione
       Strumenti CPAN per gestire le distribuzioni
       Progettazione delle distribuzioni
       Il package UNIVERSAL
       Il metodo isa()
       Il metodo can()
       Il metodo VERSION()
       Il metodo DOES()
       Estendere UNIVERSAL
       Generazione di codice
       eval
       Chiusure parametriche
       Manipolazioni durante la compilazione
       Class::MOP
       Overloading
       Overloading di operazioni comuni
       Overload e ereditarietà
       Usi dell'overloading
       Taint e sicurezza
       Uso del modo taint
       Origine dei dati marchiati
       Rimuovere il taint dai dati
       Rimuovere il taint dall'ambiente
       Trappole di taint

Modulo 19: Perl oltre la sintassi

       Gli idiomi
       L'oggetto $self
       Parametri per nome

                                                     © Cegeka S.p.A. - documento aggiornato al 10-09-2018
La trasformata di Schwartz
      Slurp semplificato di file
      Gestire il main
      Esecuzione controllata
      Validazione postfissa dei parametri
      Regex en passant
      Coercizioni unarie
      Variabili globali
      Gestire le variabili sovraglobali
      Nomi in inglese
      Variabili sovraglobali utili
      Alternative alle variabili sovraglobali
      Bareword
      Usi appropriati delle bareword
      Bareword come chiavi di hash
      Bareword come nomi di package
      Bareword come nomi di blocchi di codice
      Bareword come costanti
      Usi inappropriati delle bareword
      Bareword nelle chiamate di funzione
      Bareword come valori di hash
      Bareword come filehandle
      Bareword come funzioni per sort
      Oggetti indiretti
      Invocazioni indirette con bareword
      Limitazioni scalari della notazione indiretta
      Alternative alla notazione indiretta
      Prototipi
      Il problema dei prototipi
      Usi appropriati dei prototipi
      Equivalenza metodi-funzioni
      Prospettiva del chiamante
      Prospettiva del chiamato
      Tie
      Legare variabili
      Implementazione di variabili legate
      Quando usare le variabili legate

Modulo 20: Cosa Manca

      Default mancanti
      La direttiva strict
      La direttiva warnings
      IO: File e IO::Handle
      La direttiva autodie

                                                      © Cegeka S.p.A. - documento aggiornato al 10-09-2018
CEGEKA Education
                                                                          corsi di formazione professionale

                                                       La formazione di qualità, su misura per te

                                            Flessibile                              Training on the job                          Two-steps
                                     I corsi possono essere                 Docenti altamente qualificati ti              Teoria e pratica vanno a
                                     organizzati negli orari e nelle        affiancheranno durante una                    braccetto. Il nostro percorso
                                     modalità più adatte alle tue           giornata di lavoro e ti aiuteranno            formativo, suddiviso in due fasi,
                                     esigenze, in modo che abbiano          ad utilizzare le tecnologie per               ti permette di acquisire la
                                     il minor impatto possibile sulle       risolvere problemi reali.                     conoscenza e di testarne subito
                                     tue attività quotidiane.                                                             l’efficacia.

                                            Sharing Course                          On-Site                                      One-to-One
                                     Corsi in aula di gruppo, con           I corsi possono svolgersi presso              Corsi progettati e realizzati su
                                     teoria e laboratori, questi ultimi     una delle sedi CEGEKA o                       misura, sia di gruppo che
                                     proposti da ogni singolo               presso la vostra sede sia sul                 individuali con docente
                                     partecipante su aspetti reali          territorio nazionale che                      interamente dedicato
                                     tratti dalla pratica quotidiana        internazionale.

                                   www.cegeka.it/education/
                                   learning@cegeka.it

                                   Milano                                 Roma                                          Padova
                                   Via Alessandro Volta, 16               Via Casilina 3T, Palazzina D                  Corso Stati Uniti 18/B
                                   20093 Cologno Monzese, MI              00182 Roma                                    35127 Padova
                                   Tel: +39 02 254427 255                 Tel: +39 06 72910119                          Tel. +39 049 8976800

                                                                                                         © Cegeka S.p.A. - documento aggiornato al 10-09-2018

Powered by TCPDF (www.tcpdf.org)
Puoi anche leggere