RELAZIONE TECNICA RELATIVA ALL'ATTIVITA` DI STAGE PRESSO I Laboratori Nazionali di Frascati-INFN PERIODO: 10/06 - 5/07/2002 |
STAGISTA: Chiara Giordani TUTOR: Igor Sfiligoi |
OSSERVAZIONI E SVILUPPO RIGUARDANTI I PUNTI FONDAMENTALI DI QUESTA ATTIVITA`LAVORATIVA:
SCOPO DELL'ESPERIENZA |
Questo stage formartivo permette innanzitutto al
singolo studente di inserirsi in una vera e propria attivita`
lavorativa collaborando con un valido personale in un ambiente
rigoroso e comtemporaneamente piacevole.
Nel settore
informatico, in particolare, lo scopo iniziale e` stato quello
di apprendere nuovi linguaggi, formati e interfacce di
programmazione per poter realizzare documenti di vario genere,
sviluppati ancor meglio nella seconda parte dell'attivita`
grazie alla costruzione di lavori specifici per la
consultazione di database molto articolati.
STRUMENTAZIONE USATA |
TITOLO | AUTORE |
HTML SOURCE BOOK | Ian S.Graham |
HTML The definitive Guide | Chuck Musciano Bill Kennedy |
Little Language and Tools | Peter H.Salus |
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 Hyper Text Markup Language 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 "<" e ">". Struttura base di un
documneto HTML: <"html">
Il formato generale per un tag HTML e`:
<"NOME_TAG">Stringa di testo<"/NOME_TAG">
N.B: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.
<"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. Diversi usi di Python:
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.
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 istuzioni:
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.
Vari tipi di tabelle
di diversa organizzazione, sviluppate ampiamente nella seconda
parte con l'ausilio di sfondi colorati e la possibilita` di
passare parametri rendendole "generali", grazie all'utilizzo di
Python e CGI.
Infine sono stati realizzati documenti con FORM
particolari, con grafica di vario genere specifica per la
selezione di dati da parte dell'utente.
EPOSIZIONE DEL LAVORO |
OBIETTIVI PRINCIPALI |
FASE APPLICATIVA |
La seconda parte del lavoro ha permesso, una
volta conclusa la fase di preparazione e di studio, la
realizzazione, tramite HTML, Python e CGI, di documenti in grado
di fornire una descrizione dettagliata dell'organizzazione del
database di Kloe.
Il database di Kloe e` composto da tabelle
raggruppate in schemi.
Ogni tabella, primaria o secondaria, a
sua volta ha un numero fisso di colonne, ognuna avente: un nome e
un tipo associato; e un numero arbitrario di righe, invece
generali.
Un sottinsieme delle colonne puo` far parte o di un
indice o di un foreign keys.
Attraverso una serie di documenti prova, in cui sono
state verificate determinate funzioni, si e` giunti al risultato
finale.
(In questo caso sono state verificate le
funzioni: schemas e tables.La prima fornisce una lista
contenente i nomi degli schemi; la seconda, invece,
una lista di nomi di tabelle, relative ad uno schema.
Cio` e`
stato poi migliorato successivamente.)
A lavoro ultimato:
(In questo caso lo schema selezionato e`:LOGGER)
(In questo caso lo schema e`:LOGGER e la tabella e`:DATAREC_LOGGER)
In questo modo e` fornita all'utente una descrizione
chiara di cio` selezionato.
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.