Musa Formazione

Programma Didattico Corso Back-End Developer

BACKEND OPZIONE A: PHP | MYSQL | LARAVEL


MYSQL: IL DATABASE RELAZIONALE

COME AMMINISTRARE IL DATABASE MYSQL

  • Installazione MySQL
  • Accedere al database MySQL attraverso la riga di comando
  • Effettuare l’avvio e l’arresto dei servizi MySQL
  • Comprendere come creare un nuovo account MySQL
  • Aggiungere ed eliminare i privilegi ad un utente
  • Modificare le proprietà di un account per l’accesso e la gestione di MySQL
  • Eliminare un account MySQL
  • Gestire il backup dei dati MySQL
  • Amministrare MySQL attraverso software specifici
  • Esercitazione

MYSQL ARCHITECTURE

  • Usare il terminal client MySQL per interagire con il MySQL Server
  • Cosa sono i SQL Modes e che impatto hanno sul comportamento di MySQL
  • La Session scope

CREAZIONE E PROGETTAZIONE DI UNO DATABASE SCHEMA IN MYSQL

  • Tabelle, Tipi dei campi, Indici
  • Le relazioni e i vincoli tra le tabelle

QUERY

  • La basic SELECT statement
  • Limitare i risultati
  • Limitare le colonne ritornate
  • Ordinamento
  • Raggruppamento dei risultati
  • Esercitazione

JOINS, SUBQUERIES AND UNION

  • Cosa sono le JOIN
  • Cosa sono le SUBQUERIES
  • Cosa sono le UNION
  • Esercitazione

OTTIMIZZAZIONE DELLE QUERY

  • Identificare costrutti che richiedono ottimizzazione
  • Creare indici per ottimizzare le query
  • Strategie di ottimizzazione per INNODB
  • Ottimizzazione performance attraverso la data normalization
  • Esercitazione

MODIFICA DEI DATI

  • INSERT
  • REPLACE
  • UPDATE
  • TRUNCATE
  • LOAD DATA
  • DELETE
  • Esercitazione

AVANZATE

  • Viste
  • FUNZIONI ed ESPRESSIONI fornite da MySQL per tutti i tipi di dato
  • COUNT(), MAX(), SUM(), NOW(), LIKE
  • Commenti
  • Prepared Statements
  • Le Transactions e transaction isolation levels
  • Esercitazione

STORED PROGRAMS

  • Triggers
  • Stored Procedures
  • Stored Functions
  • Esercitazione

PHP

EVOLUZIONE DI PHP

INSTALLAZIONE E CONFIGURAZIONE AMBIENTE DI SVILUPPO


WEB SERVER

  • Comprendere la definizione dei processi che si occupano di fornire i servizi web su richiesta di un browser: I server web Apache / IIS
  • Effettuare le installazioni e le configurazioni dei server web Apache / IIS
  • Esercitazione

FONDAMENTI PHP | CONCETTI GENERALI

  • Riconoscere la sintassi corretta per scrivere codice PHP all’interno di una pagina HTML
  • Includere porzioni di linguaggio in varie sezioni della pagina web utilizzando i relativi tag
  • Riconoscere le varie tecniche di visualizzazione di una pagina dinamica attraverso l’utilizzo di un server web

STILE DI PROGRAMMAZIONE

  • Riconoscere e saper utilizzare le diverse tipologie di commenti per rendere il codice più comprensibile
  • Utilizzare una struttura ad albero per una corretta leggibilità del codice

STRUTTURE DATI

  • Comprendere come identificare una porzione di memoria destinata al contenimento di dati
  • Tipologie di dati per la gestione degli script PHP, come ad esempio tipi booleani, interi, virgola mobile, stringhe
  • Analizzare i diversi operatori di assegnazione per la gestione dei dati
  • Comprendere l’utilizzo del concatenamento di stringhe per la gestione dei testi
  • Gestire le operazioni aritmetiche tra variabili utilizzando i relativi operatori
  • Riconoscere come incrementare e decrementare una variabile
  • Analizzare i diversi operatori booleani per la gestione dei dati
  • Analizzare gli operatori di confronto utili per la gestione delle condizioni
  • Esercitazione

GESTIRE L’OUTPUT DEGLI SCRIPT PHP

  • Istruzione echo per restituire l’output di uno script PHP
  • Comprendere l’utilizzo della funzione var_dump per fornire il valore ed il tipo di una espressione
  • Istruzione print per restituire l’output di uno script PHP
  • Riconoscere i vantaggi e gli svantaggi dei costrutti echo e print
  • Esercitazione

LE ISTRUZIONI CONDIZIONALI, DI CONTROLLO E I CICLI

LA LOGICA CONDIZIONALE

  • Riconoscere la logica condizionale mediante l’utilizzo dell’operatore ternario
  • Comprendere come utilizzare i controlli di flusso attraverso l’istruzione IF
  • Riconoscere le differenze tra le istruzioni Else ed Elseif
  • Gestire i controlli multipli per il flusso dei dati attraverso l’istruzione Switch
  • Esercitazione

LE OPERAZIONI RIPETITIVE

  • Comprendere come eseguire operazioni ripetitive attraverso l’utilizzo del ciclo For
  • Gestire operazioni ripetitive attraverso la logica condizionale: While
  • Comprendere le differenze tra il ciclo While e Do While
  • Comprendere come evitare cicli “infiniti”
  • Utilizzare le istruzioni fondamentali per interrompere una routine
  • Esercitazione

STRUTTURE DATI COMPLESSE | ARRAY

  • Definizione di una struttura complessa vettoriale per la gestione dei dati
  • Comprendere l’utilizzo di una struttura di dati complessa e dei relativi indici
  • Modificare una struttura di dati ed eliminarne i relativi elementi
  • Effettuare operazioni di interazione tra gli elementi di una o più strutture complesse di dati
  • Utilizzare il costrutto FOREACH per la gestione di strutture di dati complesse
  • Saper effettuare azioni su ogni elemento di un vettore tramite l’uso dei puntatori
  • Effettuare ricerche all’interno di una struttura vettoriale
  • Esercitazione

GESTIONE DEL CODICE PHP | RIUTILIZZARE IL CODICE PHP

  • Comprendere come ottenere il codice di programmazione da un altro file
  • Analizzare le diverse sintassi per includere un file
  • Esercitazione

LE FUNZIONI PER LA GESTIONE DELLE VARIABILI

  • Comprendere il concetto di visibilità, o scope, di una variabile
  • Valutare il contenuto di una variabile attraverso la funzione empty()
  • Comprendere come verificare se una variabile è definita mediante la funzione isset()
  • Eliminare una variabile attiva utilizzando la funzione unset()
  • La funzione is_string() per verificare che una variabile sia una stringa
  • La funzione is_numeric() per verificare che una variabile sia una numerica
  • Esercitazione

LE FUNZIONI PER LA GESTIONE DELLE STRINGHE

  • Gestione delle stringhe all’interno di raggruppamenti di codice
  • Eliminare tutti gli spazi da una stringa mediante la funzione trim()
  • Verificare se una stringa contiene degli spazi iniziali ed eliminarli attraverso la funzione ltrim()
  • Verificare se una stringa contiene degli spazi finali ed eliminarli attraverso la funzione rtrim()
  • Verificare la lunghezza di una stringa utilizzando la funzione strlen()
  • Gestire i caratteri maiuscoli e minuscoli di una stringa
  • Comprendere come gestire file di testo con campi delimitati
  • Comprendere come creare ed accedere ai file di dati
  • Esercitazione

LE FUNZIONI PER LA GESTIONE DELLE STRUTTURE COMPLESSE DI DATI

  • Comprendere i concetti relativi all’ordinamento dei dati
  • Ordinare gli elementi di un vettore in ordine crescente aggiornando le chiavi
  • Ordinare gli elementi di un vettore in ordine decrescente aggiornando le chiavi
  • Ordinare gli elementi di un vettore in ordine crescente mantenendo le chiavi di origine
  • Ordinare gli elementi di un vettore in ordine decrescente mantenendo le chiavi di origine
  • Esercitazione

LE FUNZIONI PER LA GESTIONE DELLE DATE

  • Comprendere il significato di timestamp
  • Comprendere come restituire il timestamp di un preciso istante
  • Restituire la data del timestamp in un formato definito dall’utente
  • Verificare se una determinata data risulta corretta
  • Esercitazione

LE FUNZIONI PERSONALIZZATE

  • Comprendere come poter personalizzare una funzione per la creazione di nuove funzionalità
  • Gestione delle variabili all’interno di raggruppamenti di codice personalizzato
  • Comprendere come inviare valori ad una funzione
  • Gestire i valori restituiti da una funzione
  • Esercitazione

INVIO EMAIL IN PHP

  • Comprendere come inviare email utilizzando il protocollo SMTP
  • Utilizzare una libreria di invio e-mail
  • Esercitazione

RECUPERO E VERIFICA DEI DATI INSERITI IN UN FORM HTML |RECUPERO DATI DA UN MODULO 

  • Comprendere con quali metodi sono inviati i dati di un form ad uno script
  • Accodamento dei dati ad una URL di una pagina attraverso l’utilizzo dell’array $_GET
  • Invio dei dati di un form in modo invisibile all’utente utilizzando l’array $_POST
  • Esercitazione

CONTROLLO DEI DATI DI UN MODULO 

  • Comprendere come monitorare la compilazione dei campi di un form
  • Verificare la lunghezza ed il tipo di un campo di un form per la registrazione di un utente
  • Convalidare il campo email di un form
  • Convertire caratteri particolari in entità HTML
  • Esercitazione

 

IL MANTENIMENTO DI INFORMAZIONI IN PHP |LE SESSIONI 

  • Comprendere come mantenere attivi, durante la navigazione, dati significativi per la gestione delle procedure
  • Avviare e memorizzare i dati in una sessione Gestire i dati di una sessione
  • Comprendere come è possibile eliminare una sessione 8.0
  • Esercitazione

INTERAZIONE CON IL DATABASE MYSQL |PHP E MYSQL 

  • Riconoscere il codice PHP per effettuare la connessione e la disconnessione ad un database MySQL
  • Implementare uno script PHP per la creazione di una tabella MySQL Inserire i dati in una tabella MySQL attraverso un form
  • Visualizzare i dati di una tabella MySQL e formattarli per il web
  • Effettuare l’aggiornamento e l’eliminazione dei dati di una tabella MySQL attraverso uno script PHP
  • Ottenere il dettaglio di una riga MySQL attraverso uno script PHP
  • Comprendere come realizzare un motore di ricerca interno ad un database MySQL
  • Protezione delle pagine web e gestione degli accessi: login e logout utente
  • Esercitazione

 

PROGRAMMAZIONE AD OGGETTI IN PHP | OGGETTI

  • Programmazione ad oggetti
  • Creazione di un oggetto
  • Accesso a proprietà e metodi
  • Dichiarazione di una Classe
  • Dichiarazione Metodi, Proprietà, Costanti
  • Ereditarietà
  • Interfacce
  • Traits
  • Metodi Abstract
  • Costruttori
  • Distruttori
  • Classi anonime
  • Introspezione (Reflection)
  • Esaminare una classe
  • Esaminare un oggetto
  • Serializzazione
  • Principi SOLID
  • Esercitazioni

 

LARAVEL

API LARAVEL DEVELOPER -PHP 

  • Version 7.1+
  • Composer
  • Autoloading Standards
  • Esercitazione/Laravel Setup

 

BASIC ARCHITECTURE 

  • HTTP Verbs
  • Request Lifecycle

ROUTING 

  • Redirects
  • Route Parameters
  • Named Routes
  • Route Groups
  • Route Model Binding
  • Rate Limiting

CONTROLLERS 

  • Defining Controllers
  • Controller Namespacing
  • Esercitazione
  • Resource Controllers
  • Route Caching

MIDDLEWARE 

  • Defining / Registering Middleware
  • Middleware Parameters
  • Esercitazione

REQUESTS 

  • PSR-7 Requests
  • Request Path and Method
  • Retrieving Input
  • Uploaded Files
  • Proxy Configuration

RESPONSES 

  • Attaching Headers / Cookies
  • Encryption
  • Redirects
  • Flash Data
  • Response Types
  • Response Macros

COLLECTIONS 

  • Creating / Extending Collections
  • Collection Methods
  • Higher-order Messages

HELPER METHODS 

  • Arrays / Objects
  • Paths
  • Strings
  • URLs


DATABASE 

  • Query Builder
  • Pagination
  • Migrations
  • Seeding

ELOQUENT ORM 

  • Conventions
  • Relationships
  • Eloquent Collections
  • Mutators / Accessors
  • API Resources
  • Serialization
  • Scopes
  • Esercitazione

TESTING 

  • Creating / Running Tests
  • HTTP Tests
  • Session / Authentication
  • Testing File Uploads
  • Available Assertions
  • Browser Tests / Dusk
  • Data Factories
  • Fakes / Mocking
  • Esercitazione

 

ADVANCED ARCHITECTURE

  • Service Container Binding and Resolution
  • Service Providers
  • Facades
  • Esercitazione

VIEWS 

  • Creating Views
  • Passing Data to Views
  • View Composer
  • Esercitazione

URL GENERATION 

  • Named Routes
  • Controller Actions
  • Default Values

SESSIONS

  • Configuration
  • Storing Data
  • Retrieving Data
  • Deleting Data
  • Flash Data
  • Custom Drivers
  • Esercitazione

VALIDATION 

  • Form Requests
  • Manually Creating Validators
  • Error Messages
  • Validation Rules
  • Custom Rules
  • Esercitazione

LOGGING 

  • Configuration
  • Writing to Specific Channels
  • Creating Custom Channels
  • Esercitazione

FRONTEND 

  • Blade Templating
  • Localization
  • Asset Compilation
  • Esercitazione

SECURITY 

  • Authentication
  • Authorization
  • Encryption / Hashing
  • CSRF Protection
  • XSS Protection

ARTISAN CONSOLE 

  • Generating Commands
  • Command I/O
  • Registering Commands
  • Executing Commands
  • Esercitazione

WEBSOCKETS 

  • Broadcasting Events
  • Receiving Events
  • Broadcasting Channels
  • Presence Channels
  • Client Events
  • Esercitazione

CACHING 

  • Drivers / Configuration
  • Storing Items
  • Retrieving Items
  • Cache Tags
  • Creating Custom Drivers
  • Esercitazione

EVENTS 

  • Registering Events / Listeners
  • Queued Listeners
  • Dispatching Events
  • Subscribing to Events
  • Esercitazione

FILE STORAGE 

  • Configuration / Drivers
  • Storing / Retrieving Files
  • Custom Filesystems
  • Esercitazione

MAIL 

  • Drivers / Configuration
  • Generating Mailables
  • Writing Mail
  • Sending Mail
  • Markdown
  • Local Development
  • Esercitazione

NOTIFICATIONS 

  • Creating Notifications
  • Sending Notifications
  • Mail Notifications
  • Markdown
  • Database Notifications
  • Broadcast Notifications
  • SMS Notifications
  • Slack Notifications
  • Custom Channels
  • Esercitazione

PACKAGE DEVELOPMENT 

  • Discovery
  • Service Providers
  • Resources
  • Commands
  • Assets
  • Publishing File Groups
  • Esercitazione

QUEUES 

  • Drivers / Configurations
  • Creating / Dispatching Jobs
  • Running Queue Workers
  • Supervisor
  • Handling Failed Jobs
  • Esercitazione

TASK SCHEDULING 

  • Scheduling Artisan Commands
  • Scheduling Queue Jobs
  • Scheduling Shell Commands
  • Time Zones
  • Preventing Task Overlaps
  • Maintenance Mode
  • Esercitazione

ESERCITAZIONE FINALE

PROGRAMMA DIDATTICO BACKEND OPZIONE B| PYTHON – POSTGRES – DJANGO – DEPLOY – PROGETTO FINALE

 

PYTHON

  • Introduzione a Python
  • Basic data types
  • Data structure
  • Control Flow
  • Functions
  • Exceptions
  • Classes
  • Decorators
  • Pip (Package manager) e PyPi
  • Modules & Library
  • Esercitazione di fine modulo

Database Postgres

  • Introduzione a Postgres
  • Installazione di PgAdmin
  • Tabelle, campi, indici
  • Relazioni tra tabelle
  • Query SQL
  • CRUD SQL

Django Framework

  • Introduzione a Django
  • Architettura MTV
  • Virtual environment
  • Installazione e configurazione ambiente di sviluppo
  • Creazione di un progetto e apps
  • Struttura e avvio di un progetto
  • Interfaccia di admin

 

 

 

Ti Aiutiamo Noi!

Compila il form e scopri tutti i vantaggi riservati a TE!
Copyright 2021 © IN-Formazione s.r.l.. Tutti i diritti riservati. P. IVA 07252070722