1 / 24

Web Programming

Web Programming. Specifiche generali del progetto. Nota importante. Queste trasparenze, e tutto il materiale relativo al corso, sono reperibili all’indirizzo web http://www.ing.unibs.it/~cassinis/Dida/FSE. Prima di tutto, il calendario:. I edizione Giorno Ore Aula Docenti

jewell
Download Presentation

Web Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Programming Specifiche generali del progetto

  2. Nota importante • Queste trasparenze, e tutto il materiale relativo al corso, sono reperibili all’indirizzo web http://www.ing.unibs.it/~cassinis/Dida/FSE Web programming

  3. Prima di tutto, il calendario: I edizione Giorno Ore Aula Docenti • Martedì 4/5 10.30 – 12.30 Lab. Via Valotti Cassinis, Tampalini • Martedì 11/5 08.30 – 12.30 Lab. Via Valotti Cassinis, Tassi, Tampalini • Martedì 18/5 08.30 – 12.30 Lab. Via Valotti Cassinis, Tassi, Tampalini • Martedì 25/5 10.30 – 12.30 Lab. Via Valotti Cassinis, Tassi Web programming

  4. Prima di tutto, il calendario: II edizione Giorno Ore Aula Docenti • Martedì 4/5 14.30 – 16.30 Lab. Via Valotti Cassinis, Tampalini • Martedì 11/5 14.30 – 18.30 Lab. Via Valotti Cassinis, Tassi, Tampalini • Martedì 18/5 14.30 – 18.30 Lab. Via Valotti Cassinis, Tassi, Tampalini • Martedì 25/5 14.30 – 16.30 Lab. Via Valotti Cassinis, Tassi Web programming

  5. Introduzione • Questo modulo si propone di integrare nozioni in parte già acquisite, applicandole alla realizzazione di un organico “programma”, potenzialmente distribuito sulla rete Internet su scala mondiale. • Esso prevede una parte di introduzione al lavoro, e una parte realizzativa. Web programming

  6. Prerequisiti • Il corso si rivolge a chi ha già un minimo di esperienza di uso dei linguaggi HTML e C, e dei sistemi operativi Windows e Linux • La documentazione necessaria può essere integralmente reperita sull’internet. I link relativi sono indicati sul sito web segnalato in precedenza • Le informazioni sulla Bourne-Again Shell possono essere ottenute direttamente da brad digitando man bash • Lo stesso vale per tutti i comandi Linux Web programming

  7. Obiettivi • Acquisire “manualità” nell’uso di alcuni strumenti per la produzione del software, con particolare riferimento a • Pagine HTML statiche • PHP • Uso elementare di MySQL • Vari editor di testo • Client FTP, SSH, HTTP, etc. • Rendersi conto delle problematiche reali che si incontrano durante lo sviluppo di un progetto software • Evidenziare i vantaggi e le difficoltà dello sviluppo di moduli software cooperanti Web programming

  8. Programma di lavoro • Lezione teorica: 2 ore • Organizzazione del lavoro • Presentazione e discussione degli strumenti • Introduzione al linguaggio PHP, con esercizi • Esercitazione pratica 1: 4 ore • Esame delle caratteristiche della rete: numeri di IP, routing • Introduzione a MySQL, con esercizi • Presentazione del problema da risolvere e della distribuzione del lavoro • Preparazione e collaudo delle pagine HTML • Preparazione di alcuni script • Esercitazione pratica 2: 4 ore • Preparazione dei rimanenti script • Integrazione e collaudo del sistema • Valutazione e discussione dei risultati: 2 ore Web programming

  9. Il server che useremo • Indirizzo IP: 192.168.120.50 (non ha un nome simbolico) • Usabile solo dall’interno del laboratorio • Ognuno di voi ha un account personale, descritto nel foglietto che vi è stato dato • Potete accedere al server tramite: • SSH (e scp) • FTP • HTTP Web programming

  10. Utilizzazione del server: • Per creare un vostro “server privato”, dovete creare una cartella che si chiama public_html, e metterci dentro i file .html e .php che creerete. • Per farvi servire il file html, puntate il browser su http://192.168.120.50/~userid/nomedelfile.html • Per creare una CGI, dovete metterla in/var/www/cgi-bin/nomedelfile.cgiAttenzione! È una cartella condivisa! • Per utilizzare una CGI, dovete puntare a http://192.168.120.50/cgi-bin/nomedelfile.cgi • C’è già un file che si chiama test.cgi per provare Web programming

  11. Il paradigma fondamentale: l’interazione server-browser Server Client Http Web server Browser Web programming

  12. Un modo per ottenere questo è… Server Client Http Web server Browser forms CGI prog. Web programming

  13. Ma un altro modo potrebbe essere… • Scrivere del codice HTML, in cui alcuni tag sono dei programmini • Che vengono eseguiti quando il file viene servito • Il cui (eventuale) output viene servito insieme al file HTML • Che possono utilizzare file contenuti sul server… • …magari organizzati con un sistema facile da usare. Web programming

  14. Un cenno sull’organizzazione del lavoro • Decomporre il lavoro in attività • Valutare la durata di ogni attività • (Valutare il costo delle attività) • Trovare le dipendenze fra le attività • Individuare i punti di controllo Web programming

  15. Un PERT parziale… • Program Evaluation & Review Technique Web programming

  16. E il relativo timeline Web programming

  17. Per finire • Durante il corso, il docente sarà a disposizione, tramite l’indirizzo di posta elettronica riccardo.cassinis@unibs.it, per risolvere ogni perplessità relativa alle specifiche Web programming

  18. Materiale utile per lo svolgimento del lavoro • Le trasparenze che seguono contengono alcuni “pro memoria” utili per svolgere il lavoro Web programming

  19. Le principali parole chiave relative ai form <!-- This is the start tag for the form. --> <form ACTION=MAILTO:riccardo.cassinis@unibs.it METHOD=POST> <!-- This is a hidden field which sends a text so we know from which form we got this. <input NAME="subject" TYPE="hidden" VALUE="Mail from ARL guestbook"> <!-- This is a standard text field which has the width of 56 characters. --> <input TYPE="text" NAME="name" SIZE=56 MAXLENGTH=56> <!-- This is a popup field where the user can choose an item. --> <select NAME=from> <option VALUE="mail message">I found the address in a mail message <option VALUE="search engine">From a search engine </select> <!-- This is two radiobuttons where the user can choose an item, for example sex. --> <input TYPE="radio" NAME="sex" VALUE="male">Male <input TYPE="radio" NAME="sex" VALUE="female">Female <!-- This is a textfield where the user can type in some comments about your page.. --> <textarea NAME="comments" COLS=60 ROWS=8 WRAP="soft"></textarea> <!-- At last, we have a 'sign' button and a 'reset' button which will clear the form. --> <input TYPE="submit" VALUE="Sign"> <input TYPE="reset" VALUE="Reset"> <!-- Finally, don't forget to end the form using the end tag. --> </form> Web programming

  20. Script da inserire in tutte le pagine HTML <script LANGUAGE="JavaScript"> <!-- Hide this script from incompatible Web browsers! --> document.writeln("<i>Ultimo aggiornamento: ", document.lastModified) document.writeln("</font></i> ") // Hide this script from incompatible Web browsers! --> </script> Web programming

  21. Uno script che può essere utile…(1) #!/bin/bash # La variabile IFS (Input Fields Separator) contiene tutti i caratteri che devono essere # considerati separatori. Siccome nel nostro file i campi sono separati da <TAB>, # definiamo il <TAB> cxome unico separatore possibile (il <CR> lo e' per # definizione). IFS=" " echo IFS "$IFS" NOMEFILE="provaruota" echo '********************************' echo Apertura del File:$NOMEFILE echo '********************************’ # apre il file numero 3 usando un operatore di redirection exec 3<> $NOMEFILE Web programming

  22. Uno script che può essere utile…(2) # legge la prima riga del file in tre variabili read primo secondo terzo <&3 # cicla con la lettura e la stampa fintanto che $primo contiene qualcosa while [ $primo ] do echo $terzo # scrive su standard output echo $secondo echo $secondo >> fileuscita echo $primo >> fileuscita echo read primo secondo terzo <&3 # legge la prossima riga done #chiude il file 3<&- Web programming

  23. Uno script che può essere utile…(3) # riapre il file numero 3 e fa le stesse cose di prima exec 3<> $NOMEFILE echo "File" $NOMEFILE "riaperto" read primo secondo terzo <&3 while [ $primo ] do echo $terzo echo $secondo echo $primo echo $terzo >> fileuscita echo $secondo >> fileuscita echo $primo >> fileuscita echo read primo secondo terzo <&3 # legge la prossima riga done 3<&- # termina regolarmente exit 0 Web programming

  24. Non dimenticare… • Di mettere due linee bianche dopo l’intestazione di ogni pagina html generata automaticamente • Di scrivere correttamente l’intestazione: "Content-type: text/html" • Di salvare sempre il lavoro fatto a intervalli il più ravvicinati possibile Web programming

More Related