RELAZIONE TECNICA
RELATIVA ALL`ATTIVITA` DI STAGE PRESSO I Laboratori Nazionali di Frascati-INFN
PERIODO:10/06-5/07/2002

STAGISTA:Valentina Mariotti
TUTOR:Igor Sfiligoi


OSSERVAZIONI E SVILUPPO RIGUARDANTI I PUNTI FONDAMENTALI DI QUESTA ATTIVITA` LAVORATIVA:


SCOPODELL`ESPERIENZA


Questo stage formativo permette innanzitutto al singolo studente di inserirsi in una vera e propria attivita` lavorativa collaborando con un valido personale in un ambiente rigoroso e contemporaneamente piacevole.
Nel settore informatico, in particolare, lo scopo iniziale e` stato quello di apprendere nuovi linguaggi, formati e interfacce di programmazione per realizzare documenti di vario genere, sviluppati ancor meglio nella seconda parte dell`attivita`, grazie alla costruzione di lavori specifici per la creazione e lo studio di grafici rappresentanti fenomeni rilevati da dati sperimentali.


STRUMENTAZIONE USATA


TITOLO AUTORE
HTML
SOURCEBOOK
Ian S.Graham
HTML
The Definitive Guide
Chuk Musciano,
Bill Kennedy
Little Languages
and Tools
Peter H.Salus
Sono state prese in considerazione anche guide di HTML, PYTHON, CGI e di realizzazione grafici consultate da Internet, in particolare dal browser "NETSCAPE".

Riferimenti:

SISTEMA OPERATIVO UNIX
LINGUAGGI
DI PROGRAMMAZIONE
PYTHON
HTML
INTERFACCIA
DI PROGRAMMAZIONE
CGI


Esposizione della fase preliminare,teorica e di alfabetizzazione dei concetti non noti:


FASE DI PREPARAZIONE
E DI STUDIO


HTML

HTML, o HyperTextMarkupLanguage e` un linguaggio che permette ad un web browser di visualizzare i suoi documenti multimediali, file di testo, grazie all`ausilio di particolari codici speciali, chiamati "TAG", contrassegnati dai simboli "<">".
Il formato generale per un tag HTML e`:
<"NOME_TAG">Stringa di testo<"/NOME_TAG">
NB:Il tag di chiusura contiene il carattere "/".
I tag sono fondamentali poiche` determinano il formato, il colore e in generale l`aspetto del documento.
Ad esempio, possono dire al web browser di rendere il testo in grassetto, in corsivo, trasformarlo in un`intestazione, o farlo diventare un link ipertestuale ad un`altra pagina web.
Un documento HTML, e` costituito da due parti distinte:il corpo e la testa(Head,Body).
Nella TESTA sono contenute le informazioni riguardo il documento che non vengono visualizzate sullo schermo.
Il CORPO e` costituito da tutto quello che e` visualizzato come parte della pagina.

Struttura base di un documento HTML:

<"html">
<"head">
<"title">TITOLO<"/title">
<"!--COMMENTI per fornire maggiori informazioni--">
<"/head">
<"body">
<"!--Tutto l`HTML da visualizzare--">
<"/body">
<"/html">

FORM

I FORM in HTML, costituiscono un mezzo efficace per sviluppare e migliorare l`architettura "client-server" in Internet.
Permettono di rendere interattivi i documenti HTML,facilitando il passaggio di parametri e in generale di dati via CGI.
Tutto questo puo` trovare interessanti applicazioni pratiche, come la possibilita` di modificare o aggiornare basi di dati e la gestione di una posta elettronica.
L`insieme di queste operazioni, sono rese dai FORM estremamente semplici ed immediate per l`utente, che si trova a lavorare con documenti ipertestuali, e non deve far ricorso a comandi del sistema operativo o ad altri programmi.

PYTHON

Python e` un linguaggio di programmazione ad altissimo livello, ha tipi di dato primitivi di alto livello, come array dinamici e dizionari.
Permette di suddividere i programmi realizzati dall`utente in moduli che possono essere riutilizzati in altri programmi Python.
E` accompagnato da un`ampia raccolta di moduli standard utilizzabili come basi per programmi o come esempi utili nell`apprendimento della programmazione in Python.
E` un linguaggio interpretato, e questo puo` far risparmiare molto tempo durante lo sviluppo del programma,poiche` non sono necessari compilazione e linking.
Consente di scrivere programmi molto compatti e di facile lettura.

Diversi usi di Python:

PROGRAMMAZIONE CGI

CGI significa Common Gateway Interface.
Con la parola "Common" si intende che CGI puo` essere usato da molti linguaggi di programmazione e puo` interagire con molti tipi diversi di sistemi operativi e macchine.
La parola "Gateway" suggerisce che la forza di CGI non sta in quello che puo` fare in se` e per se`, ma nell`accesso potenziale che offre ad altri sistemi, che possono essere magari database o generatori grafici.
"Interface" significa semplicemente che CGI fornisce un mezzo ben definito per richiamare le sue caratteristiche,(in altre parole, che si possono scrivere programmi che lo usano).
Nell`utilizzo di CGI sono necessarie due sezioni separate da una "blank line".
La prima, standard, e` rappresentata da due istruzioni:
Content-type:text/html
(Si lascia una riga vuota)

La seconda e` costituita dal corpo, essenzialmente in HTML.

PROVE REALIZZATE IN FUNZIONE
DELL`ESPERIENZA


Conclusa la fase di preparazione e di studio, sono stati realizzati diversi documenti.
Una prima parte utilizzando solo HTML, comprende la realizzazione di testi particolari, costituiti in gran parte da liste ordinate (da lettere o numeri), e non;e diversi formati.
Sorgente HTML! Vedi un ESEMPIO!

Vari tipi di tabelle di diversa organizzazione, sviluppate ampiamente nella seconda parte con l`ausilio di sfondi colorati e la possibilita` di passare parametri rendendoli "generali", grazie all`utilizzo di Python e CGI.

Sorgente HTML!Vedi una TABELLA!

Infine sono stati realizzati documenti con FORM particolari, con grafica di vario genere specifica per la selezione di dati da parte dell`utente.


Sorgente HTML!Vedi un esempio di FORM!


ESPOSIZIONE DEL LAVORO


OBIETTIVI PRINCIPALI


Saper lavorare con grafici dai diversi aspetti e caratteristiche, attraverso l`ausilio di programmi predefiniti o elaborati dallo stagista in questione, in grado di rendere i grafici stessi "generali",
soggetti a variazioni differenti selezionate dall`utente, e quindi contemporaneamente originali
attraverso l`utilizzo di un`interfaccia piacevole.


FASE APPLICATIVA


La seconda parte dell`attivita` lavorativa si e` svolta principalmente attraverso lo studio e la realizzazione di particolari grafici.
In primo luogo, grazie ad un programma gia` esistente, "Chart1", sono stati costruiti dei differenti tipi di grafici, dai diversi stili, sfondi colorati e titoli di vario genere, inclusi in un primo documento HTML.
In questo caso i parametri e le caratteristiche del grafico in generale, sono stati decisi dall`utente stesso e scritti direttamante nella "URL" d`intestazione.
Vedi un primo esempio di grafico! Vedi l`URL corrispondente!

Successivamente, e` stato possibile, attraverso l`ausilio dei software Python e CGI, creare un secondo lavoro in grado di rendere i grafici prima costruiti, generali, passando, attraverso una lista predefinita e contenuta in un ulteriore programma, tante coppie di numeri tali da determinare l`andamento,ogni volta diverso, del grafico preso in considerazione.
Osserva la seconda fase del lavoro!


In seguito e` stato realizzato un terzo documento con la carattertistica di passare ai precedenti grafici,parametri ancor piu` particolari:delle date articolate in questo modo:anno, mese, giorno, ore e minuti.Nello specifico, data di inizio e fine lavoro.
Osserva l`organizzazione delle date!

Vedi il grafico risultante!

Lo stesso documento e` stato poi modificato elaborando i parametri da passare a gruppi.
Inizialmente, attraverso un programma prova, le ascisse sono state organizzate a gruppi di 30.
Vedi il grafico risultante dalla terza fase di lavoro!

Per rendere il programma piu` generale, anche quest`ultimo dato, attraverso un ultimo lavoro, e` stato passato come parametro da selezionare.
Osserva la nuova organizzazione delle date!

L`ordinata di ogni gruppo e` stata determinata dalla media di tutte le ordinate dei punti inerenti al gruppo in questione.
In conclusione, e` stato possibile ottenere grafici caratterizzati ogni volta da un fenomeno diverso relativo alle date e al parametro di lavoro inserite.
Grafico risultante con un parametro diverso!


Alcune difficolta` sono nate nella fase di elaborazione dati,
in particolare sono state di ordine logico nella parte di programmazione.


Considerazioni personali

Questo stage e` stato sicuramente un`opportunita` molto interessante che ha permesso a me, semplice studentessa, con la guida di un personale fidato e attento, di avere un primo contatto con il mondo del lavoro e di acquisire nuove conoscenze utili per il futuro.
Ringraziamenti particolari al tutor che ci ha accompagnato in questa bella avventura!