giovedì 7 maggio 2009

Corso IACS: Lezione 8 - (07/05/09)

Nell'ottava lezione di Informatica Applicata alla Comunicazione Scritta, il prof. Degli Antoni ha, inizialmente, ripetuto alcuni compiti della lezione precedente: guardare il sito KadiTeam, cercare un'azienda per cui costruire un sito, leggere il materiale inviato dai dirigenti a ciascun gruppo.
Così come nei dottorati di ricerca, in cui si studiano cose che nessuno ancora conosce, anche noi con la nostra community stiamo procedendo in questo modo, cercando di annullare le differenze tra docenti e studenti, visto che, per le materie di cui si ha interesse, le conoscenze sono le stesse per tutti; si è precisato, inoltre, che lo scopo di questo corso è l'acquisizione dell'autonomia.
Dopo questa breve premessa, Degli Antoni ha iniziato la vera lezione assegnandole una prospettiva cronologica, per descrivere l'evoluzione tecnologica nel tempo. Prima, infatti, i computer erano rarissimi, enormi, fragili e avevano una potenza minima; ricevere una mail, era una cosa mostruosa e impensabile. L'informatica, quando è arrivata, si è adagiata su i sistemi che già esistevano, si è sovrapposta alle attività umane: se prima si aveva una visione solo in bianco e nero, ora con l'avvento dell'informatica si ha una visione a colori. I sistemi sono quelli delle fabbriche, delle associazioni, delle famiglie, ecc, questi esistono da tempo, ma nel tempo subiscono dei cambiamenti. Ad esempio Henry Ford aveva definito il processo della catena di montaggio agli inizi del '900 per le fabbriche di automobili, ma nel 1968, a seguito di varie proteste da parte di operai e studenti, tale processo venne ridefinito come isola di montaggio, in cui si poteva lavorare insieme per produrre un prodotto finito, come un'auto, eliminando la sensazione di alienazione per gli operai.
Ora si sta vivendo nell'epoca dell'applicazione automatica, che prevede la sostituzione dell'uomo con delle macchine, per qualsiasi attività e che ha, tra le sue operazioni, il "design for automation", cioè la progettazione di strutture automatiche che andranno a produrre determinati prodotti. Questo fa pensare che non è più sufficiente essere dei sempici programmatori informatici, ma bisogna avere ulteriori capacità, come quelle di progettisti, sviluppatori e designer.
Il problema fondamentale dell'informatizzazione è quello di capire come definire il "controllo dei processi".
L'informatica è il rapporto tra le infrastrutture e l'uomo ed, insieme all'elettronica, ha il compito di controllare i processi. Occorre saper definire e controllare con precisione i vari processi e saper definire anche delle interfacce per l'uomo, che è presente nel processo di automazione.

Si sono analizzate poi le leggi di Moore.
  1. Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.
  2. Il costo delle apparecchiature per fabbricare semiconduttori raddoppia ogni quattro anni


Con la prima legge Moore sosteneva che ogni 18 mesi, le prestazioni degli elaboratori raddoppiavano: la complessità e la velocità aumentano e il costo diminuisce. Oggi esistono circuiti potentissimi, che funzionano in nanosecondi e hanno delle dimensioni estremamente microscopiche; basti pensare alle chiavette usb che hanno raggiunto dimensioni di memorizzazione enormi, che permetterebbero di avere l'intera letteratura nella propria tasca. Si sta procedendo quindi verso l'integrazione e la miniaturizzazione dei circuiti e all'aumento delle loro prestazioni, ma si va incontro ad un grosso problema, ossia la crescita esponenziale del costo degli impianti. Questi sono infatti molto costosi e per realizzarli sono necessari parecchi anni, inoltre giocano un ruolo molto importante per l'economia del paese che li ospita: se un impianto fallisce, fallisce anche il paese. C'è molta competizione e se non si hanno le giuste capacità di adattamento e aggiornamento verso le nuove tecnologie, si rischia di uscire dal mercato.
I nuovi paradigmi sono:
  • disappearing computer: i computer evolveranno progressivamente in qualcosa di assai meno identificabile rispetto ad oggi, e il concetto stesso di computer si farà più vago e sfumato. I calcolatori finiranno per essere così piccoli da essere ovunque, così pervasivi da accompagnarci in ogni passo della nostra vita, così discreti da lavorare dietro le quinte;
  • everywhere computer: display flessibili, sistemi microelettromeccanici in formato francobollo, dei chip capaci di archiviare terabyte di dati e dei computer in grado di funzionare attraverso sistemi di alimentazione autonomi e indipendenti dalla linea elettrica o dalle batterie saranno ovunque.
Gli esercizi assegnati sono:
  • trovare una possibile soluzione al problema dei posteggi;
  • possibili sviluppi attorno ai prodotti di Walt-Disney e Pixel.
La lezione del prof. Astaneh riguardava, invece, l'interazione tra html e javascript.
Bisogna prima di tutto definire il contenitore, il quale deve avere solo 4 regioni che saranno popolate successivamente mediante degli appositi generatori di contenuti.


Il contenitore sarà, in html, il body, mentre le quattro regioni saranno identificate mediante dei tag div. Per avere la certezza che tutto quello che contiene una regione sarà quello che verrà visualizzato a schermo, è necessario settare i margini a zero.
Ecco il codice html:

<html>
<head>
</head>
<body>
<div id="preload"> </div>
<div id="box">

<div id="header"></div>
<div id="left"></div>
<div id="main" ></div>
<div id="footer"></script></div>
</div>
</body>
</html>

Come si può notare è presente, oltre al div box che contiene tutte le 4 regioni, anche un div preload, che definiremo in seguito e che servirà a caricare tutti i contenuti prima di visualizzare la pagina. Se è visibile il div preload, allora il div box sarà nascosto e, viceversa, se è visibile il box, sarà nascosto il preload. Abbiamo questa struttura ad albero:

Per poter raggiungere un determinato div si dovrebbe scorrere lungo tutta la struttura ad albero fino a raggiungerlo, ma questo ormai non è più conveniente, perchè è stato introdotto l'attributo "id", che è univoco, da assegnare ad un tag html. In questo modo sarà possibile lavorare su quel tag usando ad esempio i css o javascript.
Quando il browser carica la pagina, prende il controllo dell'oggetto "document", il quale ha diversi attributi e metodi. Si parla appunto di DOM, Document Object Model, ossia modello a oggetti del documento.
Per avere il controllo dinamico ad esempio dell'elemento head, si dovrebbe scrivere così:

var h=document.getElementById("header");
h.innerHTML=".....................";

In questo modo si assegna alla variabile oggetto h il puntatore che indirizza al div header e attraverso l'attributo innerHTML si può popolare il suo contenuto; si è quindi creato un generatore di informazioni.
Si vedrà in seguito come inserire dei pannelli, attraverso l'importazione di alcune librerie.

Marco Ruberto

0 commenti:

Posta un commento