JAVA FULL STACK DEVELOPER
LIVELLO: INTERMEDIO
DURATA: 200 ORE teoria + 150 project work in azienda
FREQUENZA: FULL TIME (lun – ven / 9-16 con pausa pranzo)
TIPOLOGIA: A PAGAMENTO € 1.390 ( Acconto 390 + 4 rate da € 250) (prezzi IVA esclusa)
GARANZIA: STAGE/PW IN AZIENDA IT PARTNER
MODALITÀ: BLENDED
MODALITÀ DI PARTECIPAZIONE: SELEZIONE IN INGRESSO
REQUISITI MINIMI DI ACCESSO
ETÀ: TRA I 18 E I 29 ANNI
TITOLO DI STUDIO: DIPLOMA/LAUREA A INDIRIZZO TECNICO/INFORMATICO
ESPERIENZA: HTML, CSS, SQL, JAVA (6 MESI)
DESCRIZIONE DEL CORSO
L’Academy IT Specialist – Full Stack Developer avrà una durata complessiva di 350 ore, di cui 200 di attività formative tecnico pratiche e 150 ore dedicate a un project work presso le sedi delle Aziende partner.
La fase iniziale prevede la selezione dei futuri discenti sulla base della valutazione del cv, delle esperienze e delle attitudini tecniche. Saranno svolti pertanto dei colloqui tecnico/conoscitivi per l’ingresso in aula.
Una volta costituita la rosa di discenti partecipanti, la stessa sarà sottoposta all’attenzione dei referenti delle Aziende che prenderanno parte all’iniziativa, i quali avranno modo di valutare in fase di input gli studenti in modo da intercettare sin da subito il potenziale.
Durante il processo formativo i discenti saranno sottoposti a test di apprendimento per misurare l’andamento della formazione per ottimizzare al massimo il livello in uscita.
Al termine della fase teorica, i discenti prenderanno parte ad uno specifico progetto in collaborazione con le società IT partner che avranno modo di effettuare una valutazione finale.
L’intero processo avrà una durata totale di 10 settimane.
LO SVILUPPATORE JAVA FULL STACK
Lo Sviluppatore Java Full Stack può lavorare come consulente in ambito IT e ICT, sia come freelance che come dipendente, non solo in grandi aziende, ma anche nelle piccole e medie imprese, come le software houses specializzate nello sviluppo di app e di software su commessa. Può lavorare su progetti in settori come il banking, i pagamenti elettronici. l’automotive, le assicurazioni, l’insuretch e il fintech. Si può occupare anche di software di logistica, automazione e robotica, ma anche di e-commerce e retail.
Le opportunità di lavoro offerte dalle aziende partner
I Master Insieme Academy IT Specialist sono realizzati in collaborazione con aziende partner nel settore IT attentamente selezionate per la loro affidabilità, serietà, modernità e innovazione. Sono aziende realmente interessate ai partecipanti per offrirgli un’opportunità di assunzione dopo il master. Per questo seguono gli studenti già durante il corso e li coinvolgono in progetti concreti durante lo stage, avendo così la possibilità di valutare ogni singolo studente per un’eventuale assunzione.
Il Job Placement è gestito da Insieme in collaborazione con il CSF Centro Servizi e Formazione srl - Agenzia per il Lavoro.
Grazie alla collaborazionepartnership con il CSF Centro Servizi e Formazione srl, Agenzia per il Lavoro autorizzata che si occupa di recruiting e collocamento, ogni partecipante al master sarà affiancato da un career coach che lo accompagnerà verso percorsi professionali individuali.
OBIETTIVI DEL CORSO
Il settore IT è costantemente in evoluzione e la richiesta da parte delle aziende di sviluppatori di software diventa sempre più specifica e articolata.
Questa Academy è stata progettata in seguito ad un confronto con i partner sull’evoluzione del mercato del lavoro e sulle future tendenze tecnologiche e si pone l’obiettivo di:
1) Fornire ai discenti il know – how tecnico pratico e le soft skills necessarie per adattarsi ai vari contesti organizzativi.
2) Accompagnare i discenti in un percorso di inserimento occupazionale post-stage garantendo tutela ed adeguate formule contrattuali
3) Garantire una formazione tecnico/pratica di alta qualità che rispetta gli standard e le tendenze più attuali.
La figura professionale in uscita sarà quella dello SVILUPPATORE JAVA FULL STACK.
COMPETENZE PRINCIPALI IN USCITA
| BACK-END | FRONT-END |
|
JDBS |
JavaScript |
IL PROGRAMMA | LATO BACK END
1. Strutture dati in java:
- Array, List
- ArrayList
- LinkedList,Map
- HashMap,Set
- HashSet
2. JDBS
- Introduzione a JDBC
- Un esempio di CRUD
- Il pooling della connessione JDBC (con l'utilizzo di HikariCP)
3. Introduzione a PHP
- Le basi di PHP
- Variabili, tipi di dato, operatori
- Strutture di controllo e cicli
- Gestire testi e lavorare con le stringhe
- Le espressioni regolari in PHP
- Array e funzioni
- PHP e Web Service
4. Libreria Hibernate
- Cos'è e a cosa serve
- Query native ed attraverso i modelli dati (JPA)
- un esempio di CRUD
- query complesse con relazioni LEFT/RIGHT join in JPA
- query di aggiornamento dati (ad esempio UPDATE) massive attraverso query native
5. Framework Spring
- Cos'è e a cosa serve (il paradigma IOC declinato in Spring)
- Componente Spring MVC
- Componente Spring BOOT
- Componente Spring Security (utilizzo anche con autenticazione OAUTH)
- Componente Spring Data
- Componente Spring Batch
- Scheduling con Spring Framework
6. PHP Framework
- Introduzione ai framework PHP
- Differenze tra framework e CMS
- I principali framework PHP (Laravel, Symfony)
- Applicazione pratica
7. Laravel
- Configurazione di Laravel
- Vagrant e Virtual Box
- Gestione il framework Laravel e dei suoi componenti tramite Git e Composer
- La struttura di un'applicazione LARAVEL e gli ambiti di applicazione
8. Laravel: la struttura MVC
- Gestire il routing con Laravel
- I controller e la gestione delle richieste in Laravel
- Definizione delle views e template blade con Laravel
9. Sviluppare un progetto con Laravel
- Database, modelli, Factory e seed
- Controller e interfacce per le operazioni CRUD
- Service Provider in Laravel
- Service Container in Laravel
- Gestione Utenti in Laravel
- Login e registrazione utenti
- Pagina privata, amministratori e anagrafica
10. Quartz scheduler
- Cos'è e a cosa serve
- Esempi di schedulazione: trigger e job
- Integrazione con Spring Framework
11. RabbitMQ (gestore code)
- Cos'è e a cosa serve
- Esempi di invio e ricezione messaggi su coda in JAVA
- Integrazione con Spring Framework
- Cos'è e a cosa serve
- Esempi di invio e ricezione messaggi su coda distribuita (topic) in JAVA
- Utilizzo del sistema di off-set su coda
- Integrazione con Spring Framework
12. Apache Kafka
13. Database MongoDB
- Cos'è e a cosa serve
- Database, collections e struttura dati in JSON/BSON
- Esempio di query principali per realizzazione CRUD, attraverso driver JAVA
- Integrazione con Spring Framework
- Esempio di query principali per realizzazione CRUD, attraverso il modulo Spring Data MongoDB
14. Creazione di un back-end RESTful con le seguenti caratteristiche
- Spring Boot Framework
- Database SQL con Hibernate
- Esempio di CRUD su tabelle con relazioni
- Autenticazione utenti con Spring Security e meccanismo OAUTH
15. Creazione di un back-end RESTful con le seguenti caratteristiche
- Spring Boot Framework
- Database NOSQL con MongoDB
- Esempio di CRUD su collection con relazioni
- Autenticazione utenti con Spring Security e meccanismo OAUTH
16. Attività pratiche
- Generare un file PDF in Java: la libreria iText
- Generare report complessi in Java, con esportazione in diversi formati: Microsoft Excel, PDF attraverso il tool Jasper Reports
- Utilizzo dell'ambiente di sviluppo STS: Spring Tools Suite
- Utilizzo di SVN
- Utilizzo di GIT (differenze con SVN)
- Utilizzo di client per accesso a database NOSQL (Robot3T/Navicat) e SQL (MySQLWorkbench, SQLDeveloper, Navicat)
- Conoscenza di base di shell Unix/Linux (Bash scripting)
- Utilizzo di Postman
- SwaggerUI: a che serve e come si utilizza
- Maven e Gradle come sistemi di packaging del codice sorgente
- Esempi di comandi di build e di risoluzione delle dipendenze in entrambi i casi
17. Testing: libreria JUNIT
IL PROGRAMMA | LATO FRONT END
1. HTML 5
- Tag di base
- Local e session storage
2. CSS
3. SCSS
4. JavaScript
5. Vue.js
6. TypeScript
7. Ambiente sviluppo front-end/Angular
- Installare npm, Node
- Installazione ed utilizzo di gestori di task come yarn, gulp, grunt ecc ecc
8. Angular
- Struttura/Alberatura App di base
- File di configurazione: package.json
- File di environment per la gestione di vari ambienti (es. dev, prod)
- Struttura di un modulo angular
- Struttura di un componente angular
- Costrutti base di Angular: ngFor, ngIf ecc
- Ciclo di vita di un componente: ngOnInit ecc
- Passare dati da un componente padre ad un figlio e viceversa
- Gestione dei form con ngForm, ngModel
- Validazione form
- Capire come includere componenti attraverso dei moduli condivisi (shared) poiché non è possibile includere lo stesso componente in più moduli (best practice Angular)
- Pipe
- Gestione delle rotte, parametri dalla url con activatedRoute
- Lazy Loading in presenza di rotte annidate
- Services per gestire chiamate Rest e per condividere dati tra più componenti
- Guard sulle rotte
- Observable per gestire chiamate asincrone alle API REST
- Http header Interceptor
- Angular Material
- Creare e gestire un tema material
- Bootstrap (più vecchio), Flex Layout (introdotto con Angular Material dalla versione 6 di Angular) per il responsive