Corso di formazione in preparazione dell’esame di stato: formazione biologo – 2012
Archetipo Di Formazione
-
Upload
richardgennaro -
Category
Documents
-
view
216 -
download
0
Transcript of Archetipo Di Formazione
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
ARCHETIPO di Formazione:
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso.
Sommario
Background di programmazione su linguaggi object-oriented.........................................................................2
Migliorare la produttività in fase di sviluppo e acquisire la padronanza di Ambienti, Framework e Best Practices:..........................................................................................................................................................2
Competenze tecniche calate nel contesto infrastrutturale utilizzato quotidianamente: Tomcat e Eclipse.....3
Nozioni teoriche, propedeutiche alla comprensione e padronanza degli aspetti tecnici:...............................4
Composizione della giornata formativa………………………………………………………………………………………………………..6
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
Dal confronto telefonico avvenuto in data odierna con Nicola Miletti sono emersi i seguenti argomenti che caratterizzeranno la struttura programmatica del corso:
I discenti hanno tutti un background di programmazione su linguaggi object-oriented (C#) e interpretati (PHP).
Tale know-how permetterà di omettere l'introduzione al paradigma della programmazione orientata agli
oggetti, dei suoi componenti (Classi, Oggetti, Interfacce...) e delle proprietà che caratterizzano tali linguaggi
(Ereditarietà, Polimorfismo e Incapsulamento).
L'obiettivo richiesto è quello di acquisire le competenze necessarie per migliorare la produttività in fase di sviluppo e acquisire la padronanza di Ambienti, Framework e Best Practices:
Ambienti (Eclipse),
Design Pattern
o creazionali (Factory, Builder, Prototype e Singleton),
o strutturali (Decorator, Façade, Proxy, Filters),
o comportamentali (Chain of Responsability, Command, Event Listener/Observer, Iterator,
Memento, State Machine)
o architetturali (MVC, Standalone Client, Client-Server, Multi-Tiers, Batch, Broker, Reflection,
Data Access Object, Data Transfer Object, Object-Relational-Mapping, Inversion Of
Control)
Framework utilizzati che implementano i pattern architetturali ( confronto, contesti pratici, best
pratices ) :
o MVC (Struts e JSF)
o Standalone Client (Swing e Eclipse SWT)
o Client-Server (TCP, HTTP, Unix Sockets)
o Batch (EasyBatch, Spring Batch we JSR 352 in JEE7)
o Broker (CORBA e JMS)
o DAO e DTO Anti-Patterns (JDBC e MyBatis)
o ORM (Hibernate e JPA in JEE6)
o Inversion of Control (Spring Core e CDI in JEE6)
Cenni Architetturali SOA :
o Servizi Web SOAP e RESTFul,
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
o EJB 3.x e Business Delegate
o Ambienti distribuiti, bilanciati e in alta affidabilità (cluster)
L'approccio tematico a quanto sopra elencato sarà del tipo:
1. Approccio ad un Contesto Pratico
2. Introduzione alla Problematica (Requisiti Utente)
3. Soluzione (studio di fattibilità):
- Definizione dei requisiti attraverso casi d'uso
- Scelta di uno o più Design Pattern che garantiscano le caratteristiche funzionali individuate
dai casi d'uso
(Function Point)
- Scouting dei Framework che implementano tali Design Pattern
- Laboratorio Pratico di implementazione del Framework scelto attraverso l'utilizzo di Eclipse
- Best Practices
E' emersa l'esigenza di acquisire le competenze tecniche in questione calate nel contesto infrastrutturale utilizzato quotidianamente dai discenti, ovvero Tomcat come Application Server e Eclipse come Ambiente di Sviluppo.
Per questo motivo verrà approfondita l’analisi dell’implementazione della gamma di soluzioni offerta
dagli ambienti sopra citati rispetto alle linee guida e specifiche tecniche generiche dettate dalla
Comunità Java attraverso le JSR (Java Specification Requests).
Inoltre verranno messi a confronto Frameworks diversi ma funzionalmente concorrenti per
permettere alla classe di sperimentare lo scouting delle soluzioni tecniche
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
L'approccio deciso durante il confronto telefonico di affrontare i vari aspetti nozionistici in ambiti estremamente concreti, con una preponderanza verso laboratori pratici piuttosto che esposizioni teoriche, non può comunque esimere la classe dall'affrontare le seguenti nozioni, propedeutiche alla comprensione e padronanza degli aspetti tecnici trattati:
1. Breve percorso storico e confronto con altri linguaggi O.O.
2. Esecuzione del codice: pre-compilatore, bytecode, JVM
- Best Practices per la scrittura del codice: Naming Conventions e metriche di qualità
3. Limiti della portabilità di un'applicazione Java (metodi nativi) : "Write once, run everywhere" -
> "Write once, debug anywhere"
4. Tipi Immutabili e Strutture di Dati
5. Gestione della memoria in Java: Aree di memoria, passaggio di argomenti ai metodi per valore o per
riferimento, Garbage Collection, Configurazione di Tomcat per ottimizzare l'uso della memoria
- Best Practices per l'ottimizzazione dell'uso della memoria: destory, finalize e strategie di
GarbageCollecting
6. Logging e Debugging: utilizzo di librerie di log e unit test
7. Programmazione test-driven, cenni di programmazione Agile
8. Programmazione event-driven in contesti web: JSF e Ajax
9. Separazione delle logiche:
a. . Presentation Logic
b. . Business Logic
c. . Persistence Logic
d. . applicazioni multi-tiers
10. Programmazione di strati specializzati per il disaccoppiamento, riutilizzo del codice e
implementazione di ambienti distribuiti
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
11. Disaccoppiamento e Coesione : sistemi strong-coopling e loose-coopling, tipi di coesione.
Dipendenze circolari
- Best Practices per il disaccoppiamento e la distribuzione:
- Disaccoppiamento totale con protezione implicita
- Inversion of Control
- Applicazioni message oriented (MOM)
- .Enterprise Service Bus
12. Programmazione Aspect-Oriented :
- Come ottenere le caratteristiche dell'ereditarietà multipla in Java.
- Il Pattern Decorator
- Le annotations e il pre-compilatore AspectJ
13. Strumenti di supporto alla programmazione e alla gestione del ciclo di vita del software (ALM)
- Versionamento del codice e collaborazione : CVS, SVN, ecc...
- Automazioni per la compilazione e la gestione delle dipendenze (librerie) : ANT e MAVEN a
confronto
- Repository delle dipendenze e degli artefatti remoti e locali : NEXUS e ARTIFACTORY
- Issue Tracker
- Collaboration Platforms
- Continuos Integration : JENKINS
- Best Practices sulle metodologie di programmazione: le metafore dell'altalena e della cattedrale nel
deserto
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro
CORSO Java Base ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
Composizine della giornata formativa:
La giornata formativa sarà composta da 8 ore così suddivise:
1a ora :
o Riepilogo delle nozioni acquisite durante la giornata formativa precedente ed eventuali
approfondimenti on-demand
o Introduzione agli argomenti che verranno trattati, correlazioni, motivazioni e contesti reali
o Azioni necessarie allo svolgimento della formazione (download, installazione e
configurazione di ambienti, software e framework trattati durante la giornata)
o Test di valutazione
dalla 2a alla 4a ora : esposizione delle nozioni teoriche previste (con pausa intermedia di 10 minuti)
Pausa Pranzo
dalla 5a alla 8a ora : laboratori pratici (con due pause intermedie di 10 minuti)
Questa minuta sarà l'archetipo sul quale strutturerò il programma delle 3 giornate di formazione che invierò entro domani.
Per domande o approfondimenti sono disponibile via e-mail
Grazie,
Richard Gennaro
Coordinatore dello Sviluppo Software Architect - SOA Solutions Expert
Cell. +39 334.7156742
c/o Cogetech SpAFormazione teorica e laboratori pratici Docente: Richard Gennaro