Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

COMUNICAZIONE DIGITALE E SOCIAL MEDIA - Riassunto slide, Schemi e mappe concettuali di Sistemi Digitali

COMUNICAZIONE DIGITALE E SOCIAL MEDIA - Riassunto slide

Tipologia: Schemi e mappe concettuali

2019/2020

Caricato il 13/10/2021

seees1
seees1 🇮🇹

4.5

(19)

19 documenti

Anteprima parziale del testo

Scarica COMUNICAZIONE DIGITALE E SOCIAL MEDIA - Riassunto slide e più Schemi e mappe concettuali in PDF di Sistemi Digitali solo su Docsity! COMUNICAZIONE DIGITALE E SOCIAL MEDIA — Riassunto slide — LEZONE 0: INTRODUZIONE AL CORSO 56 ore di didattica frontale La maggior parte del corso (circa 40 ore) sarà organizzata con classiche lezioni di didattica in cui si tratteranno gli aspetti basilari e teorici di informatica, comunicazione multimediale, social media e social advertising Ogni conoscenza di base necessaria per la comprensione degli argomenti trattati verrà altresì trattata nel prosieguo del corso stesso A queste verranno affiancate delle lezioni integrative (circa 8 ore) in cui verranno proposti esempi reali e tutorial guidati relativi ai temi trattati AI termine di ogni Macro-tema ci sarà una lezione di riepilogo dei temi trattati (circa 8 ore) con esempi delle domande che verranno poste all'esame Modalità d'esame Verrà proposto un quiz composto da 30 domande a risposta multipla, coprendo tutte le tematiche trattate nel corso Il numero di domande proposte sarà lo stesso per ogni argomento del corso (ad es., 10 argomenti + 3 domande per argomento) Ogni risposta corretta varrà 1 punto, ogni risposta sbagliata varrà -0,25 punti Per prepararsi all'esame sarà sufficiente studiare accuratamente le slides del corso Non è richiesta l'integrazione con materiali aggiuntivi (i quali restano letture facoltative) È però richiesto iscriversi agli appelli d'esame tramite la piattaforma esse3. Ad iscrizioni chiuse verranno pubblicati sulla pagina eLearning turni e orari Programma del Corso Concetti base di Informatica * Architetture dei calcolatori, software, reti Comunicazione digitale ® Fondamenti del Web (XML, XHTML, CSS) * Web come mezzo di comunicazione * Web come strumento di business Concetti base di matematica * Teoria dei grafi Social Media * Social network come mezzo di comunicazione e Data analysis * Social advertising LEZIONE 1: FONDAMENTI DELLA COMUNICAZIONE DIGITALE Levoluzione della Comunicazione Nell'ambito delle scienze del comportamento e nella teoria dell'informazione, il processo consistente nello scambio di messaggi, attraverso un canale e secondo un codice, tra individui o sistemi Comunicazione Orale Quella orale (deriv. dal Lat. os-oris: bocca) è la prima forma di comunicazione di cui abbiamo conoscenza, e risale ad un era così lontana che facciamo addirittura fatica ad immaginarla. Prima ancora della comparsa dell’uomo sul pianeta terra, le prime forme di vita animali comunicavano tra di loro emettendo versi e suoni riconoscibili dai propri simili Comunicazione Scritta La seconda forma di comunicazione che incontriamo nella storia è quella scritta. | primi segni di comunicazione scritta di cui abbiamo conoscenza risalgono agli albori della civiltà, quando le prime società umane dipingevano i muri delle caverne con scene di vita quotidiana Comunicazione Verbale È solo con l'evoluzione della civiltà e della società che nasce la comunicazione verbale (sia nella sua forma parlata che in quella scritta). Dato un insieme finito di simboli (ALFABETO) ed un insieme di convenzioni/regole (GRAMMATICA), le combinazioni di questi simboli creano concetti complessi che permettono di esprimere pensieri elaborati Comunicazione Analogica Tutte le forme di comunicazione menzionate finora, si definiscono “Analogiche” La comunicazione analogica permette di esprimere il pensiero umano attraverso l'uso di segni, gesti, comportamenti o parole, e di trasmetterlo a chi ne conosce le regole Comunicazione Digitale Il termine “Comunicazione Analogica”, però, nasce solo in seguito alla comunicazione digitale, al fine di rimarcare la differenza con quest'ultima neonata forma di comunicazione. Ogni forma di comunicazione digitale ha uno stretto (anche se spesso invisibile) legame con una rappresentazione basata unicamente su due cifre. 0 e 1 Analogico o digitale? Segnale Analogico Un segnale analogico è una rappresentazione (convenzionale) del valore di grandezza fisica tramite un valore analogo ad esso. ES. Ore, Minuti, Secondi + l'angolo della lancetta Un segnale analogico, per sua natura, deve avere una rappresentazione continua, in quanto l'insieme dei valori che rappresenta è infinito Segnale Digitale Un segnale digitale è un tipo di segnale che, come abbiamo visto prima, può essere espresso con l'utilizzo di cifre La Codifica ASCII Estesa Nella codifica ASCI estesa abbiamo a disposizione altri 128 possibili valori, a cui possiamo assegnare 128 nuovi simboli. La codifica ASCII estesa ci permette di assegnare a tutti i 256 valori possibili di un alfabeto da 8 bit dei caratteri testuali La codifica Bitmap Letteralmente, creare una bitmap, significa rappresentare un'informazione per mezzo di una mappa composta unicamente da bit Il valore di ogni singolo bit della bitmap rappresenta una precisa informazione, che varia a seconda dello scenario di utilizzo Nella codifica bitmap il valore di un bit rappresenta la presenza (o l'assenza) di un elemento all'interno della mappa che vogliamo elaborare Più alto è il numero di bit che scegliamo di utilizzare per la codifica, minore è il rischio di perdere informazioni 0.9 died 000 Ma 440 tidrdt,0000 d0t.I0 000 d 01000 til 0 1109900 OSS O | O Vie: 0 NP 00 0° Q00000010 00 Og 0 1901 0 000 £IT00 Q000%T000 LEZIONE 3: CODIFICHE DIGITALI (PARTE 2) - La codifica Bitmap —- Scala di Grigi Possiamo utilizzare i 256 valori numerici di un byte per rappresentare la “quantità di luce” contenuta In ogni pixel Mentre in un immagine in bianco e nero, ogni pixel poteva avere solo due possibili valori (0/1), in scala di grigi ogni pixel può assumere 256 valori differenti - La codifica Bitmap - Immagini a colori Con i 256 possibili valori di un byte possiamo codificare la “quantità di colore” contenuta in un pixel, per ognuno dei 3 colori primari. Andando a combinare tutte le 256 tonalità dei 3 colori primari, otteniamo una gamma composta da 2563 = 16 777 216 colori differenti Per codificare un colore non basta più un solo bit o un solo byte, ma servono 3 bytes La codifica bitmap di un immagine a colori richiede 3 bytes per pixel La trasmissione del suono Un suono, fisicamente, non è altro che un'onda Più un onda è ampia (pensiamo alle onde del mare) più è grande l'energia che l'onda stessa è in grado di trasportare Più un onda è “veloce” (il numero di volte che l'onda si ripete), più è rapido il processo di compressione/rarefazione dell’aria + Il numero di volte in cui un onda si ripete in un arco di tempo è la sua frequenza LA TRASMISSIONE 1. Per prima cosa, dobbiamo dividere il suono che vogliamo campionare in tanti piccoli pezzetti, divisi ad intervalli regolari 2. In secondo luogo, decidiamo qual è l'ampiezza massima che vogliamo codificare 3. Come ultimo step, definiamo quanti bit utilizzare per la codifica In generale, per codificare un suono di s secondi avremo bisogno di b/(ix8), dove i è la frazione di secondo che corrisponde al campionamento e b è il numero di bit utilizzati per la codifica LEZIONE 4 - INTRODUZIONE ALL'INFORMATICA La Scienza del XX Secolo INFORMATICA: L'insieme dei processi e delle tecnologie che rendono possibile la creazione, raccolta, elaborazione, immagazzinamento e trasmissione dell’informazione con metodi automatici La Gestione dell'Informazione Numeri, testi, immagini o suoni Processi di Elaborazione Documenti di ERE] EA video, ... Processi di Elaborazione Elaborazione delle Informazioni Processo di input: | processi di input consistono nell'inserimento dei dati nel computer. | dispositivi di input più comuni sono la tastiera, il mouse, il microfono, la webcam e lo scanner. Elaborazione dei dati: Una volta che i dati sono stati inseriti nel computer, questi possono essere elaborati dal computer stesso. Ad esempio, i numeri si possono sommare, i testi si possono formattare ecc Processi di output: | processi di output consentono di vedere (o ascoltare) i risultati dei processi di elaborazione. | più comuni dispositivi di output sono lo schermo, la stampante e gli altoparlanti Memorizzazione dei dati: Tutti i dati che non sono utilizzati al momento dell'elaborazione vengono immagazzinati in appositi dispositivi (nastri, dischi, chiavette, età) in modo da renderli disponibili per un loro utilizzo futuro Distribuzione dei dati: | dati possono essere stampati e distribuiti, oppure trasmessi da un dispositivo all'altro tramite opportuni canali di comunicazione (Internet, via cavo, via radio) Processi di {{aleltis I agleltrAfG] Elaborazione (CIPEIS] dei Dati Memorizzazione Processi di dei Dati Output Questo tipo di processo continuo avviene In modo automatico attraverso i computer, server, smartphone, etc Più in generale, un sistema che opera il processo appena descritto si dice Sistema Informativo Sistemi Informativo SISTEMA: Un insieme di parti correlate tra di loro che operano in sinergia per svolgere una specifica funzione ad esso assegnata, ovvero assegnata al Sistema E ad esempio; un insieme di informazioni e dati strutturati per soddisfare le esigenze conoscitive di un'azienda Dentro al Calcolatore Un computer è un Elaboratore Elettronico Digitale * Rappresenta ed elabora dati, in base ad una serie di istruzioni che gli viene data e È costituito da componenti elettronici, che realizzano le funzionalità di elaborazione * Elabora e memorizza le informazioni mediante una codifica digitale (...e sappiamo già qual è...) Da cosa è composto un Computer? * Hardware: tutte le componenti fisiche che permettono al computer di funzionalità * Software: tutte le componenti logiche che implementano le funzionalità offerte dal computer - Le istruzioni vengono eseguite in modo sequenziale (ovvero, dopo aver eseguito un istruzione viene eseguita quella contenuta nella “cella” di memoria successivo) Il processore, essendo pur sempre un componente elettronico, ha un insieme ristretto e rudimentale di istruzioni che può eseguire Inoltre, nell'eseguire operazioni, il processore non ha la minima concezione di “tipo” dei dati (e g., numeri Interi, numeri reali, lettere) La base di tutto il funzionamento di un processore è basato su un ciclo molto semplice Il ciclo FETCH - DECODE - EXECUTE BOTA CULTO VOLI) CITTÀ Unità centrale di VITTORI controllo interpreta 1. Caricamento 4. Memorizzazione — (ARRE (CUI CELA ARÀ IT ZII dalla memoria all'unità CIR aritmetiche svolte sono immagazzinati nella VERI IAA un registro dell'unità (ITA CILE Memoria CIT 1. L'unità di controllo preleva VETTE] STI (LI IZIRIETÀ interno in una piccola Cesti OLII VS CR). Tempo di istruzione Tempo di esecuzione II ciclo della macchina Linterno della CPU Il processore non si occupa solo della gestione del ciclo fetch-decode-execute, ma coordina le altre componenti del calcolatore e si assicura che il flusso dei dati e delle istruzioni sia gestito correttamente Ogni CPU, vero centro nevralgico e di controllo del calcolatore, può essere caratterizzato anche per mezzo del suo set di istruzioni | programmi devono essere sviluppati in accordo alle istruzioni delle CPU (ed ecco perché i programmi per windows non funzionano su mac, e viceversa ...) All'interno di un computer possono esistere anche dei “co-processori” dedicati a svolgere una funzione ben determinata, che alleggeriscono il carico di lavoro della CPU - Processore grafico (GPL) - Processore audio (DSP) - Processore matematico (FPU) - Controller /O La gestione della Memoria La CPU, per poter svolgere i propri compiti, ha però bisogno di un supporto di memoria non indifferente La memoria centrale (anche detta volatile o RAM) deve essere rispondere il più rapidamente possibile alla CPU, in modo da non rallentare il ciclo Fetch-Decode-Execute del processore Differentemente rispetto alla RAM, la memoria di massa deve garantire il mantenimento delle informazioni a lungo termine, a dispetto della velocità di lettura/scrittura RAM - Elevata velocità per il supporto alla CPU - Elettronica (veloce, ma costosa e volatile) HD - Elevate dimensioni per l'archiviazione - Magnetica/ottica (economica, ma lenta) Come paragonare le unità di memoria? - Velocità: tempo di accesso (access time) e velocità di trasferimento (transfer rate) - Volatilità: quanto tempo i dati vengono mantenuti in memoria? In che condizioni? - Capacità: quanti byte può mantenere? Qual è la dimensione massima? - Costo: quanto costa ogni bit di memoria? - Modalità di accesso: diretta (casuale), sequenziale o associativa La Memoria Centrale (RAM) La RAM (Random Access Memory) mantiene al proprio interno tutte le informazioni necessarie al funzionamento dei programmi in esecuzione È una memoria ad accesso diretto (casuale), quindi scrivere/leggere un dato dalla RAM richiede una quantità di tempo indipendente dalla sua posizione Generalmente è costruita sfruttando le proprietà dei componenti elettronici, quindi è molto veloce ma allo stesso tempo costosa e volatile La Memoria Virtuale Cosa succede se lo spazio di memoria disponibile in RAM è meno dello spazio di cui avrebbe bisogno un certo programma? In questo caso viene “preso in prestito” un po’ di spazio dalla memoria di massa (l'hard disk) e viene utilizzato come se fosse RAM... con tutti gli svantaggi, però, delle memorie di massa L'utilizzo della memoria virtuale rallenta l'utilizzo dei programmi, ma permette di far funzionare programmi più grandi della RAM Processore VS Memoria * Le CPU sono sempre state molto più veloci delle memorie * Le CPU accede alla memoria passando dati sul BUS Per superare i problemi legati al trasferimento delle informazioni, con il passare degli anni, sono state inserite delle piccole memorie ad altissima velocità all’interno della CPU Chiaramente, vale la stessa regola detta per la RAM: più una memoria è veloce, maggiore è il suo costo; quindi le memorie interne alla CPU sono molto piccole Una gerarchia di memorie Ai livelli più alti corrispondono le tecnologie più veloci, ma anche più costose Man mano che ci si sposta verso il basso aumenta il valore di - Tempo di accesso - Capacità di memorizzazione - Ma diminuisce il costo per bit Registri contenuti nella CPU (qualche kb) CACHE da c.ca 32kb a c.ca 4096kb RAM da 512 Mb a oltre la decina di Gb Hard Disk dalle centinaia di Gb ai Tb Il Cloud miliardi di HD collegati tra loro LEZIONE 7 - IL SOFTWARE Un software è una sequenza (finita) di istruzioni che permette al computer di svolgere dei compiti predefiniti | primi software erano specializzati e molto costosi, mentre ora (a partire dagli anni 80) i sw sono in grado di fare molte cose e sono relativamente economici Possiamo catalogare i software in due grandi gruppi * | software di sistema (Sistemi operativi, linguaggi di programmazione, ...) * | software applicativi (Word, Excel, ...) I Software applicati | software applicativi (o applicazioni) sono quei software che svolgono particolari compiti. Ad es, video editing, database, grafica ecc Distribuzione del software | software applicativi sono sviluppati in tre tipologie e A distribuzione “orizzontale” e A distribuzione “verticale” * Applicativi “ad-hoc”: applicativi personalizzati, sviluppati su richiesta del cliente | software vengono distribuiti secondo diverse tipologie di licenza di utilizzo * Shareware: distribuiti gratuitamente, ma solo per un periodo di prova limitato * Freeware: distribuiti gratuitamente, ma con alcune limitazioni riguardo al loro utilizzo * Open Source: distribuiti gratuitamente, assieme al loro codice sorgente Il Sistema Operativo Il sistema operativo è quell'insieme di software/programmi/procedure che agiscono da intermediario tra l'hardware e l'utente finale Il sistema operativo permette l'esecuzione di altri programmi e fornisce all'utente vari strumenti che gli danno una visione astratta dell'hardware sottostante Sostanzialmente è un insieme di moduli software che virtualizzano l'hardware del computer, rendendolo accessibile sotto forma di macchina astratta, molto più semplice da utilizzare Ogni istruzione elementare è associata a un'azione elementare (oppure a una successione di azioni elementari) che può essere direttamente compiuta dall'esecutore Procedura Effettiva Si dice procedura effettiva per un esecutore una successione di azioni tale che * tutte le azioni della successione sono elementari per l’esecutore, che è in grado di eseguire ciascuna di esse in un tempo finito e in modo deterministico, cioè ottenendo sempre gli stessi risultati a parità di input * è fissato l'ordine di esecuzione delle azioni; * è esplicitamente specificato il modo in cui un'azione utilizza i risultati delle azioni che la precedono Soluzione Effettiva Dati un problema P e un esecutore E, si definisce soluzione effettiva del problema P per l’esecutore E una successione di istruzioni elementari tale che * l’esecutore è in grado di interpretare le istruzioni nella successione e quindi di associare a ciascuna di esse l’azione (o la successione di azioni) che deve compiere per eseguirla * la successione di azioni risultante dall’interpretazione delle istruzioni costituisca una procedura effettiva per l'esecutore stesso Descrivere le soluzioni * La soluzione è espressa come una sequenza di operazioni la cui esecuzione porta alla soluzione del problema * Questa sequenza viene definita come algoritmo risolutivo del problema ico >> Algerino n) L'algoritmo è una sequenza di azioni che in un numero finito di passi, elementari e non ambigui, elabora i dati di partenza per giungere al risultato finale La sequenza di azioni è specificata sulla base diun insieme di dati iniziali ben definito le caratteristiche dell'esecutore Riassumendo ... Algoritmo = descrizione di come si risolve un problema Programma = algoritmo scritto in modo che possa essere eseguito da un calcolatore (linguaggio di programmazione) Linguaggio macchina = linguaggio effettivamente “compreso” da un calcolatore, caratterizzato da istruzioni primitive semplici (e.g. max 2 operandi) attenzione all'efficienza (costi, complessità, velocità) difficile e noioso da utilizzare per un programmatore Due aspetti rilevanti - produrre algoritmi (cioè capire la sequenza di passi che portano alla soluzione di un problema) - codificarli in programmi (cioè renderli comprensibili al calcolatore) Lo sviluppo del Software PROBLEMA SOLUZIONE » ANALISI INFORMALE N / \ Z SOLUZIONE FORMALIZZAZIONE FORMALE SISTEMA INFORMATICO: ALGORITMO AMBIENTE DI SVILUPPO TRADIZIONALE / i / / PROGRAMMA PROGRAMMAZIONE (alto livello) ESECUTORE DEL LINGUAGGIO DI ALTO LIVELLO 1 î Î i PROGRANMA | “TRADUZIONE (macchina) i \ \ \ ESECUTORE DEL LINGUAGGIO | || EsecuZIONE MACCHINA (HW) 30 Dall'algoritmo al Software | programmatori convertono le specifiche (descrizioni accurate) di un problema in una sequenza di istruzioni per risolvere una classe di problemi per mezzo del computer. Per scrivere (codificare) un programma si utilizza un linguaggio di programmazione 1° Generazione: Il linguaggio macchina + istruzioni e dati sono solo numeri; è l'unico linguaggio che la CPU comprende 2° Generazione: Linguaggi assemblativi + le istruzioni e i dati sono sostituiti da espressioni mnemoniche della loro funzione; questo linguaggio va tradotto in linguaggio macchina tramite un assemblatore 3° Generazione: Linguaggi procedurali + la sintassi e le parole si arricchiscono di elementi che “riassumono” funzioni più complesse in un'unica istruzione. Il codice assomiglia sempre più a espressioni del linguaggio naturale LEZIONE 9 - INTRODUZIONE ALLE RETI Internet È una rete composta dall’interconnessione globale di un insieme eterogeneo di reti le quali comunicano tra di loro attraverso il protocollo TCP/IP La nascita di Internet Nel 1966, nella sede di Washington dell’ARPA (Advanced Research Projects Acency) si inizia a progettare un sistema per collegare tutti i centri di ricerca ARPA e garantire il mantenimento delle informazioni anche in caso di disastro nucleare Nel 1974 ARPANET collega già oltre 30 centri di ricerca sparsi per tutto il territorio Americano Ogni nodo della rete viene connesso in modo ridondante con gli altri nodi, facendo in modo che anche la rete possa mantenere la propria funzionalità anche in caso di distruzione parziale dell’infrastruttura Nei primi anni ‘80 la NSF (National Science Foundation) finanzia la costruzione di una rete tra tutte le università Americane. Nel 1983 ARPANET si separa in due: una parte di rete «pubblica» collega le università, mentre una seconda porzione collega i centri di ricerca militare Tra il 1989 e il 1991 Tim Berners Lee sviluppa il primo prototipo del WWW (World Wide Web) presso il CERN di Ginevra. È il passaggio chiave per dare il via alla nascita (e allo sviluppo) di Internet per come lo conosciamo noi Composizione di una rete * Nodi: i dispositivi hardware inclusi nella rete, in grado di comunicare con tutti gli altri dispositivi che ne fanno parte * Collegamenti: le connessioni fisiche tra un nodo e l’altro Una rete può andare dalla più semplice possibile (due computer connessi tra loro) alla più vasta, estesa e capiente che possiamo immaginare, ovvero Internet (tutti i calcolatori del globo interconnessi tra loro) Architetture di Rete e Connessione Punto a punto (Peer-to-Peer) - 2 Nodi collegati direttamente - Nessun nodo intermedio e Architettura centralizzata (Star System) - Un numero di terminali collegati ad un host - Un computer centrale che gestisce la rete Architetture distribuite * LAN: Local Area Network — Identifica una rete costituita da computer collegati tra loro (comprese le interconnessioni e le periferiche condivise) all'interno di un ambito fisico. Sono reti basate sulla condivisione di risorse (computer, stampanti, dati). Le connessioni possono essere realizzate con molteplici mezzi (cavi ethernet, fibra ottica, WiFi) e MAN: Metropolitan Area Network — Una rete metropolitana (MAN) è una versione ampliata di una rete locale. Può comprendere un numero indefinito di LAN al proprio interno e WAN: Wide Area Network — Le WAN sono connessioni tra tante LAN, estese geograficamente Una WAN è una rete composta di reti. COMPOSIZIONE + Host: computer o server connessi alla rete / Linee di comunicazione / Router, Hub, Bridges: Dispositivi usati per collegare due o più linee di comunicazione tra loro IP è un protocollo connectionless: e | dati vengono frammentati in datagrammi e Ogni datagramma viene inviato a destinazione anche seguendo percorsi differenti e Il controllo di correttezza verifica solo le informazioni aggiunte da IP La combinazione, in fase di utilizzo, di TCP e di IP fornisce un servizio che garantisce: efficienza di trasmissione + affidabilità di ricezione LEZIONE 11 - HTTP E ILWEB Il Protocollo HTTP Il protocollo HTTP (HyperText Transfer Protocol) è il protocollo su cui si basa la trasmissione di contenuti nel Web. Esso richiede la trasmissione dei dati in un'architettura di rete di tipo Client- Server * Il Client richiede una Risorsa al Server, che risponde restituendola * Le risorse richieste sono identificate tramite URL (Uniform Resource Locator), che le identifica in modo univoco * | browser sono i software applicativi dedicati alla ricezione e alla traduzione di risorse nel web MWW) IWWW Il WWW World Wide Web) è stato inventato da Tim Berners-Lee al CERN di Ginevra nel 1990 Aveva come obiettivo la creazione di un nuovo modo di comunicazione tra gli studiosi di tipo ipertestuale e Interattivo Ogni risorsa del WWW è identificabile tramite il suo URL: protocollo://server:porta/path/nome_file Il linguaggio HTML (HyperText Markup Language) è ... (era) ... il linguaggio predefinito per il trasferimento di risorse nel Web. Oggigiorno è caduto in disuso l'utilizzo dell’HTML «puro», ma è sempre la base su cui avvengono tutte le comunicazioni La richiesta di una risorsa 1° fase: La richiesta da parte del Client Il client (l'utente) interagisce con il suo browser e «scatena» degli eventi all’interno del software (ad es., il click su un link) 2° fase: L'elaborazione dell'azione Il browser interpreta l'evento e lo traduce in una richiesta da inviare al server. 3° fase: L'invio della richiesta al Server Il browser invia la stringa (la richiesta) al server. Tutti i protocolli di livello < 6 sono gestiti dal S.O. e non dal browser, che si occupa solo della cifratura (eventualmente) 4° fase: L'elaborazione della richiesta da parte del Server Il Server riceve la richiesta del Client e la elabora, e opera per soddisfare la richiesta Quindi, ricerca nel proprio file system la risorsa ricerca e, nel caso, la trasmette 5° fase: L'invio della risorsa Come avviene anche per il client, il Server si occupa solo dell'utilizzo dei protocolli di livello 7 e, eventualmente 6, per inviare la risorsa al client 6° fase: La risorsa viene elaborata dal Client Il browser del Client elabora la risorsa ricevuta in accordo al MIME type inviato dal server (insieme alla risorsa) Il MIME type associato alle pagine web è text/html Il Linguaggio HTML Il linguaggio HTML si occupa della dichiarazione del layout (logico) di una pagina web Anche se in origine non era così, tutti gli elementi grafici (sfondi, colori, etc.) sono definiti in un altro linguaggio L'HTML è un linguaggio di markup nato per la formattazione e impaginazione di documenti ipertestuali disponibili nel web 1.0, ma oggi è utilizzato principalmente per il disaccoppiamento della struttura logica di una pagina web e la sua rappresentazione grafica In generale un linguaggio di markup è un insieme di regole che descrivono i meccanismi di rappresentazione (strutturali, semantici o presentazionali) di un testo che, utilizzando convenzioni standardizzate, sono utilizzabili su più supporti Un linguaggio di Markup introduce degli elementi esterni (rispetto al contenuto del documento) permettendo di separare il contenuto dall’elaborazione che deve essere fatta del contenuto stesso. Ogni Software che fa editing del testo (Word, Pages, etc..) utilizza un linguaggio di markup per impaginare i contenuti di un documento Evoluzione linguaggio HTML * Giugno 1993: HTML 1.0 (Tag heading, paragrafi, formattazione testo, liste, link) ® Dicembre 1994-Dicembre 1995: HTML 2.0 e 3.0 (form, tabelle) e Gennaio 1997: HTML 3.2 (linguaggi di scripting) * Dicembre 1997: HTML 4.0 (fogli di stile, frame) * Dicembre 1999: HTML 4.01 (tag deprecati come font) * Gennaio 2000 — Agosto 2002: XHTML 1.0 e XHTML1.1 * 2005: XHTML 2.0 (XHTML2 è XML ma non è retrocompatibile rispetto ad HTML 4.01 ) (non è più sviluppato dal 2009) * Dicembre 2007: HTML 5.0 (Candidate Recommendation) definita dal Web Hypertext Application Technology Working Group C. (Apple, Mozilla e Opera) e W3C RIASSUMENDO : Una pagina web, riassumendo, non è altro che un normalissimo file di testo che contiene il contenuto della pagina ed il suo relativo markup | browser sono quei software in grado di «leggere» il markup ed interpretarlo correttamente dal punto di vista grafico LEZIONE 12 - HTML e CSS Il Linguaggio HTML (continuazione) In un linguaggio di markup, il testo è racchiuso tra due tag + <p> </p> Per creare un documento html non ci serve altro che un qualsiasi blocco note (inteso come software) che ci permetta di salvare i files che creiamo utilizzando l'estensione .html * Il primo passo è sempre quello di creare lo «scheletro» della pagina * In HTML possiamo definire 6 livelli di intestazioni, dal più importante al meno importante e Un paragrafo è una sezione di testo delimitata e spaziata (sopra e sotto) dal resto del contenuto e Con il tag <br> (break) interrompo una linea di testo e vado a capo; con il tag <hr> (horizontal break) faccio lo stesso tracciando una linea orizzontale * La struttura semantica e sintattica dell'HTML è garantita dalla presenza di contenitori chiamati div e In HTML una tabella è visualizzata come un insieme di righe (e non di colonne), identificate dal tag <tr> (table row) * All’interno di una riga posso definire delle celle di intestazione <th> o delle celle normali <td> * All’interno di un elemento di testo potrei aver bisogno di dare enfasi (sintattica) ad alcune parole e Se voglio fare un elenco di elementi, devo inserire tanti list item <li> all'interno di una unordered list <ul> * Se l'ordine (semantico) dei miei elementi è importante e va rispettato, utilizzo una ordered list <ol> * Alcuni (... tutti ...) tag HTML possono essere accompagnati da alcuni attributi, che specificano meglio il tag stesso * Un ipertesto è caratterizzato in modo inequivocabile dai suoi collegamenti, che avvengono grazie alle ancore e Un attributo spesso molto utile è il titolo di un certo tag * | più utili ed importanti, però, sono la classe (... le classi ...) e lid Il Foglio di Stile Quando vogliamo associare un certo tipo di aspetto grafico ad un documento HTML, gli dobbiamo associare una (o più) regole grafiche, definibili attraverso un foglio di stile Un file CSS (Cascading Style Sheet) racchiude una o più regole CSS che definiscono l'aspetto grafico di un certo documento HTML Il termine "a cascata" (cascading) richiama la possibilità di incorporare nel documento differenti fogli di stile, ognuno dei quali, in base a regole gerarchiche, prevale sull'altro Per definire delle regole di stile possiamo 1. Definirle direttamente sull’elemento HTML 2. Definirle tutte nella sezione <head> del documento HTML 3. Includere un file css esterno utilizzando il tag <link> nella sezione <head> del documento HTML LEZIONE 13 - HTML e CSS (PARTE 2) Spaziatura degli elementi Per porter sfruttare al meglio le caratteristiche offerte da CSS, dobbiamo altresì conoscere al meglio tutte le sfaccettature dei vari tag HTML Semplificando (leggermente) lo scenario, possiamo dire che gli elementi HTML si dividono in due famiglie Elementi di livello «SBLOCCO» 1. Possono contenere altri elementi di livello blocco o di livello “inline” 2. Di default, il loro inserimento inizia in una nuova linea Gli elementi HTML che hanno specificato l'attributo selezionato [attributo] [target] {...} Gli elementi HTML che hanno il valore specificato oe pareri alba] per l'attributo selezionato Gli elementi HTML che hanno il valore specificato [attributo-=val] , [title-=montagna]{...} , contenuto nell'attributo selezionato Gli elementi HTML che hanno l'attributo selezionato [attributol=val] [langl=it] {...} che inizia con il valore specificato Gli elementi HTML che hanno l'attributo selezionato attrA= “stringa a[hrefA= ttrA="stringa” hrefA= “http” che inizia con la stringa specificata Gli elementi HTML che hanno l'attributo selezionato ii ce eg che termina con la stringa specificata Ad ogni selettore, poi, è possibile abbinare anche delle pseudo-classi logico/comportamentali che vanno a specificare alcune particolari casistiche di selezione Gli elementi vengono selezionati quando evidenziati al *hover passaggio del mouse x Gli elementi vengono selezionati se non corrispondono al not(selettore) not(div) selettore indicato t ti Seleziona gli elementi HTML che non contengono nulla (né emply piemply testo né altri elementi) Seleziona gli elementi HTML che hanno specificato l’attibuto lang( lingua lang(it) a(lingua) pilang(i) lang con il valore selezionato link *link Seleziona tutti i link non ancora visitati visited *:visited Seleziona tutti i link già visitati active *:active Seleziona il link attivo (cliccato) Seleziona tutti gli elementi HTML che corrispondono al first-child p:first-child w P selettore e sono i primi figli dei propri genitori Seleziona tutti gli elementi HTML che corrispondono al last-child pilast-child selettore e sono gli ultimi figli dei propri genitori Seleziona tutti gli elementi HTML che corrispondono al eri ono selettore e sono figli unici Seleziona tutti gli elementi HTML che corrispondono al first-of-type p:first-of-type selettore e sono i primi tra gli elementi selezionati dei propri genitori Seleziona [...] sono gli ultimi tra gli elementi selezionati dei last-of-type p:last-oftype propri genitori Seleziona [...] sono gli unici tra gli elementi selezionati dei only-oftype | Pionly-oftype propri genitori before p::before { ...} Inserisce qualcosa prima degli elementi HTML selezionati after piafter{ ...} Inserisce qualcosa dopo degli elementi HTML selezionati selection selection{...} Seleziona la selezione specificata a mano dall'utente LEZIONE 15 - RESPONSIVE WEB DESIGNED Transizioni, trasformazioni e animazioni Ci sono situazioni comportamentali, all'interno di una pagina web, che molto spesso -sempre trattando l'argomento da un punto di vista puramente grafico richiedono di poter interagire con delle transizioni di stato non repentine e puntuali Questo significa che, al cambiamento di stato di un determinato elemento (ad es., con il passaggio del mouse su di esso), alcune sue proprietà (o quelle dei suoi figli) hanno la possibilità di cambiare da uno stato all'altro seguendo una transizione temporale In CSS, una transizione di stato è specificabile tramite la terna + proprietà - durata - funzione di transizione Proprietà: quale proprietà CSS deve variare Durata: in quanto tempo deve avvenire il passaggio di stato Funzione: quale metodologia di transizione applicare al passaggio di stato Definendo come animatable ogni proprietà CSS che può essere oggetto di transizioni di stato, allora possiamo anche pensare di gestire le transizioni indipendentemente dal verificarsi o meno di un evento. Utilizzando il comando + @keyframes ® Possiamo trasmettere al browser la nostra volontà di definire un insieme di frame che devono regolare il passaggio di stato tra differenti insiemi di proprietà CSS ® Andiamo a definire una vera e propria animazione che possiamo andare ad associare ad un elemento HTML sfruttando la proprietà Responsive Web Design Con lo sviluppo, la diffusione e l'utilizzo sempre più capillare degli strumenti web su un insieme sempre più vasto ed eterogeneo di dispositivi, si è fatta avanti sempre di più la necessità di poter adottare tecniche ben definite per far sì che un dato portale web potesse adattarsi (con il minimo sforzo) a tutti i tipi di dispositivi. Il primo passo è stato quello di introdurre, studiare e analizzare il problema RWD (Responsive Web Design): ogni contenuto informativo presente sul web deve adattarsi al device del fruitore del servizio Ogni device ha le sue caratteristiche e peculiarità, di cui il portale deve tenere conto per ottimizzare la resa visiva dello stesso > CSS3.0 è predisposto a risolvere il problema RWD attraverso l'utilizzo delle media querys Una media query è un blocco di proprietà CSS che vengono valutate (ed eventualmente realizzate) solo nel caso in cui le caratteristiche del media device corrispondono alle caratteristiche definite nella media query. Generalmente, il primo passaggio è quello di utilizzare le media query per definire dei breakpoints per distinguere le regole CSS da applicare ai diversi device E se andassi a ruotare di 90°il tablet !? Combinando, opportunamente, breakpoints e dimensionamenti degli elementi, avrei l'opportunità di definire una “struttura a griglia” alla quale ancorare tutti i miei elementi, che automaticamente verranno posizionati e ridimensionati a seconda del media di utilizzo Nel definire uno stile grafico che debba seguire una gestione RWD, è bene ricordarsi sempre il paradigma fondamentale del web design: Mobile, first! LEZIONE 16 - WEB e PROGRAMMAZIONE Interattività del Web Come accennato più volte durante le passate lezioni, l’interattività e la dinamicità dei portali web sono diventati, negli anni, dei requisiti fondamentali per una comunicazione efficace Per quanto visto finora, però, le nostre conoscenze ci permettono solo di creare un documento HTML e di farne variare l'aspetto grafico, non quello comportamentale Per far sì che i nostri portali web siano arricchiti con tecniche dinamiche ed interattive, dobbiamo prima fare distinzione tra le seguenti fasi e Generazione del contenuto Il Server accede a database, dati di navigazione ed altre informazioni disponibili al fruitore del servizio e genera una pagina web personalizzata per l'utente (ad es., ogni utente che visita Facebook comunica con lo stesso server ma visualizza una pagina differente) * Ricezione del contenuto Il Client riceve solo i dati inviatigli dal server ma, a differenza sua, può accedere alle azioni vere e proprie dell'utente, gestendole in modo da personalizzare le risposte a queste azioni (ad es., cliccando su un «mi piace» il conteggio dei like aumenta e l’immagine del like cambia) ec Qta repro se È CLIENT SIDE SERVER SIDE
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved