Corso di Programmazione Web con Ruby ed SQL
Agli albori del World Wide Web la figura professionale di riferimento era il Web Master, ovvero il "tuttofare" che realizzava i siti web da zero, anche in autonomia.
Nel corso dell'ultimo decennio, con l'aumentare della complessità del Web e dei progetti a esso correlati, le figure professionali di riferimento si sono nettamente differenziate.
Il Web Developer (o Programmatore Web o Sviluppatore Web) è la figura professionale che si occupa di progettare e programmare la logica di business del sito web utilizzando un linguaggio di programmazione lato Server come, in questo caso, Ruby .
In altre parole, il Web Developer è il professionista che progetta e sviluppa il back-end dei siti web, ovvero la parte logico-funzionale, tipicamente eseguita dal Server e che gli utenti non vedono.
Volendo fare un parallelismo fra lo sviluppo di un'applicazione web e quello di un nuovo modello di automobile, il Web Developer si occuperebbe principalmente del motore, lasciando invece il design della carrozzeria e dell'abitacolo al Web Designer.
Requisiti minimi: Predisposizione per la programmazione e una conoscenza base di Internet, del Web e del linguaggio HTML.
Requisiti consigliati: Aver frequentato il nostro Corso di Introduzione al Web o equivalente e, di conseguenza, avere già un proprio progetto web (e.g. un piccolo sito personale) sul quale lavorare.
Durata: 80 ore.
Programma
Il Corso di Programmazione Web in Ruby ed SQL integra il Corso di Programmazione in Ruby con gli argomenti necessari alla programmazione di Siti Web Dinamici, in particolare l'interfacciamento con un Database SQL e la generazione dinamica di pagine HTML e costituisce la migliore introduzione possibile allo sviluppo Web avanzato con l'utilizzo del Framework Ruby on Rails.
Introduzione
- Installazione di Ruby
- Gli strumenti di Lavoro
- I comandi principali per eseguire Programmi in Ruby
Lavorare coi Numeri
- Numeri interi e numeri con virgola mobile
- Aritmetica di base
- Il comando puts
Lavorare con le Lettere
- Le stringhe di testo
- L'aritmetica delle stringhe
- La differenza fra 12 e '12'
Variabili e Assegnamenti
- Cosa sono le variabili
- Come funzionano gli assegnamenti
- Scema dell'utilizzo della memoria
Unione dei concetti fin qui trattati
- Le conversioni
- Approfondimento sul metodo puts
- Il metodo gets
- Il metodo chomp
- I metodi
- I principali metodi delle stringhe
- Metodi matematici
- Numeri casuali
- L'oggetto Math
Il controllo del Flusso
- Metodi di comparazione
- Il branching
- Il looping
Array e Iteratori
- Il metodo Each
- I metodi degli Array
- I vantaggi degli Iteratori
Creazione nuovi metodi
- Come scrivere metodi personalizzati
- I parametri dei metodi
- Le variabili locali
- Lo scope
- I valori di ritorno
La ricorsione
- Come scrivere metodi ricorsivi
- Un rito di passaggio: l'ordinamento ricorsivo
Basi di Input e Output
- L'oggetto IO
- Aprire, Leggere, Scrivere e Salvare un File
- Il linguaggio YAML
- Leggere l'HTML
Nuove Classi di Oggetti
- La Classe Time
- La Classe Hash
- I Range
- Il funzionamento delle Classi
Modificare Classi esistenti e crearne di nuove
- Creare nuove classi
- Le variabili d'istanza
- new e initialize
- programmare un semplice giochino
I Blocks e i Procs
- Metodi che accettano un Proc come parametro
- Metodi che restituiscono Proc
- Passare Block (e non Proc) ai metodi
Condivisione della funzionalità
- Ereditarietà fra classi
- Moduli
- Mixin
Le Basi della Programmazione Avanzata
- Collaborare con un team di sviluppo: gli SCM, le repository e GIT
- Le Eccezioni
- I Test e il Test Driven Development
- La metaprogrammazione
- I Framework
La Generazione Dinamica di pagine HTML
- I Siti Web Dinamici
- Generazione di HTML tramite Ruby
- I Form e la gestione dei Dati
- Interfacciamento del Database con il Sito Web
- I Framework
Il DBMS PostgreSQL
- Teoria dei Database Relazionali
- Progettazione del Database
- Il linguaggio SQL
- Ottimizzazione delle queries e degli indici
- Introduzione al framework Ruby on Rails
Pratica
Entro il termine del corso ciascuno studente avrà realizzato, sotto la supervisione del docente, un semplice sito web dinamico con architettura three-tier.
Attestato di Frequenza e Orientamento
Al termine del Corso ti sarà rilasciato un Attestato di frequenza e ti sarà indicato il corso e/o i contenuti più idonei a proseguire gli studi sulla base delle tue capacità, passioni e aspirazioni. Con particolare riferimento al Corso di Ruby on Rails.