venerdì 18 dicembre 2015

Christmas holidays and final lecture notice

This post is to confirm that the next (and last) lecture of the course will be held on friday Jan 8th from 9 to 12 in room A320.

We will recap server side programming, will see some basic JDBC programming and will define the platform for final projects deploy.

Handouts on server side programming

Available handouts and sample code on server side programming:


Note on JSP translation to servlet
To understand the translation of JSP to servlet have a look to the files hello.jsp, shown in class, and the corresponding, automatically generated, servlet hello_jsp.java You can experience with your own JSP and look at the generated servlets.

Be aware that the automatically generated servlet are somewhat hidden. On my system they where in my Eclipse workspace directory and precisely in:

workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/helloJEE/org/apache/jsp

You should find them in a similar place in your computer.

martedì 8 dicembre 2015

Tesine

Come anticipato qualche tempo fa, per aver assegnata una tesina, che può essere individuale o di gruppo, dovete inviarmi un documento di specifiche di poche pagine che riporta cosa volete fare, come volete farlo e quali tecnologie utilizzerete (fra quelle viste a lezione) e aspettare che io vi dia l'OK prima di considerare le specifiche accettate. Per scrivere le specifiche utilizzate come riferimento lo schema allegato.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre  altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito alcuni possibili temi da sviluppare, altri seguiranno nei prossimi giorni.

Gestore di note
Si tratta di realizzare una versione semplificata di Google Keep che e’ il sistema di Google per gestire note (se non lo conoscete visitate keep.google.com).
Ovviamente non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione nota, storing su server e visualizzazione delle note). Sulle eventuali funzionalità aggiuntive avete campo libero (immagini nelle note, interfaccia utente evoluta, condivisione fra utenti, cancellazione delle note, ricerca nelle note, impostazioni di visualizzazione, etc…).
Se lo ritenete utile potete usare XML e le tecnologie collegate per definire il formato delle note e per visualizzarle.

Gestore contatti
Si tratta di realizzare una versione semplificata di un sistema come Google contatti per la gestione dei contatti telefonici, email, social, etc..
Non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione contatto, storing su server, eliminazione contatti e visualizzazione dei contatti). Sulle eventuali funzionalità aggiuntive avete campo libero (immagine del contatto, interfaccia utente evoluta, ricerca nei contatti, possibilità di avere un qualsiasi numero di campi per ciascun contatto, possibilità di importare i dati da un file Excel di cui si fa l'upload, esportazione dei dati in formato XML, etc…).
I dati vanno memorizzati su un DB relazionale. Il modello dei dati lo definirete voi ma potrà essere una semplice tabella (nel caso in cui per ciascun contatto si possono avere solo i campi predefiniti) o un modello più complesso che consenta maggiore flessibilità.

Virtual Pet
Single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock del libro Head First JavaScript (http://examples.oreilly.com/9780596527747/), per nuove funzionalità da realizzare potete ispirarvi alla app Pou disponibile per Android e iOS.

lunedì 26 ottobre 2015

martedì 13 ottobre 2015

No class on friday

As I already anticipated this morning, there will be no class on friday 16th.
We'll meet again tuesday 20th at 11:00.

giovedì 1 ottobre 2015

giovedì 17 settembre 2015

Data orali esami di settembre 2015

Si comunica che gli orali degli esami in oggetto saranno giovedì 24 nei locali ex-DINFO (Ed.6 III piano) con inizio alle ore 9:00.

venerdì 5 giugno 2015

Tesina monitoraggio impianti

Come anticipato a lezione sono riuscito ad ottenere i dati di monitoraggio di un campo fotovoltaico. I dati di monitoraggio sono salvati su una singola tabella dove in ciascuna riga è indicato ID_impianto (da 1 a 5), data e ora della misurazione, e diversi parametri elettrici.

Per sviluppare questa tesina dovete importare la tabella in un database e scrivere una web-application che permetta di visualizzare in maniera efficace ed interattiva i dati presenti nel database. Non è prevista la modifica dei dati presenti nel database (si suppone che ci sia un'altra parte del sistema di monitoraggio che si occupa di popolare il database).
La vostra web-application potrebbe avere un'aspetto simile a questo. Se volete dare all'utente la possibilità di visualizzare i dati in forma grafica potete utilizzare una delle tante librerie Javascript disponibili a questo scopo (Choosing a JavaScript Charting Library: the Main Contenders).

Il database di test, in formato SQL, è grande poco meno di 50Mb e contiene alcune centinaia di migliaia di righe relative ai dati di monitoraggio di febbraio 2015.
Notate che se utilizzate phpMyAdmin per gestire MySQL dovete prima modificare un paio di parametri del file di configurazione php.ini per permettere upload di files di grandi dimensioni (ad esempio potete settore a 50Mb le variabili upload_max_filesize e post_max_size).
Se per importare il DB utilizzate invece MySQLWorkbench non avete alcun problema.

Come possibili funzionalità aggiuntive potreste prevedere:

  • controllo degli accessi con login e password e possibilità di visualizzazioni diverse a seconda che si tratti di utente registrato o non registrato (dovete aggiungere una tabella per memorizzare i dati degli utenti al DB).
  • possibilità per l'utente di registrarsi autonomamente mediante un'opportuno form che, dopo opportuna validazione, attiva la scrittura dei dati dell'utente nel database.
  • possibilità di scaricare i risultati di interrogazioni.
  • qualsiasi altra funzionalità che vi viene in mente e ritenete opportuna...

Se siete interessati a svolgere questa tesina scrivete le specifiche dettagliate seguendo il format già pubblicato per l'altra tesina e inviatemelo per email.

giovedì 28 maggio 2015

JSP and JDBC

Available handouts on JSP programming and database access in Java using JDBC, some sample code (JSP, JDBC) and a new exercise set.
Implementation of some of the exercises given during the semester will be published in the next days.

mercoledì 27 maggio 2015

URGENTE: anticipo lezione del 28/05

Si comunica che la lezione di domani 28/5 sarà sempre in aula A210 ma dalle 10:00 alle 13:00 invece che dalle 11:00 alle 14:00.

giovedì 21 maggio 2015

venerdì 15 maggio 2015

jQuery

Available for download handouts on jQuery and JSON, some sample code and a new exercise set.
I also suggest reading this very short article about jQuery history..

martedì 5 maggio 2015

No class on Thursday

The lesson scheduled for Thursday, May 7th, is canceled. We will meet again in class on Tuesday, May 12nd.

AJAX fundamentals

Available for download handout on AJAX and some sample code. In order to test the code with browsers different from the latest versions of Firefox, you have to serve the files using an actual web server.

lunedì 4 maggio 2015

mercoledì 29 aprile 2015

martedì 21 aprile 2015

Tesine

Come anticipato al lezione, per aver assegnata una tesina, che può essere individuale o di gruppo, dovete inviarmi un documento di specifiche di poche pagine che riporta cosa volete fare, come volete farlo e quali tecnologie utilizzerete (fra quelle viste a lezione) e aspettare che io vi dia l'OK prima di considerare le specifiche accettate. Per scrivere le specifiche utilizzate come riferimento lo schema allegato.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre  altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito un possibile tema da sviluppare, altri seguiranno nei prossimi giorni.

Virtual Pet
single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di mini giochi potete usare il CSS. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock che vi ho mostrato a lezione, per nuove funzionalità da realizzare potete ispirarvi al videogioco Pou.

JavaScript

Available part 1 of JavaScript handout and some sample code.

venerdì 3 aprile 2015

Exercise set on XML

Available an exercise set on XML and XML validation. Look at the sample code and use it as a guide to do your homework.

mercoledì 25 marzo 2015

URGENTE: Cancellazione lezione di giovedì 26 marzo

Causa indisposposizione del docente la lezione di domani è cancellata. Martedì decideremo quando recuperarla.

mercoledì 18 marzo 2015

HTML handouts and sample code

Available for download handouts on html (part1, part2) and some code to play with.
Install Eclipse IDE for Java EE Developers and use it to import and edit HTML to start do get acquainted with this powerful IDE.

giovedì 5 marzo 2015

2014-15 course started

Available for download the syllabus, course description and introduction to web technologies handouts.

Due to teacher duties out of town, there will be no classes next week. Next class is scheduled for Tue March 17th @ 9:00 in classroom A210.