Accademia BBAA Albertina di Torino, Torino

Corsi LM e PM, a.a. 2025-25 - Docente Mario Chiari                     
Basic wherabouts per gli insegnamenti ABTEC40/AFAM095 - T/B

 

A –  CONOSCERE LA VOSTRA MACCHINA
La vostra macchina è il vostro strumento di lavoro e di produzione, dovete averne cura e conoscenza professionale.

Consulta https://en.wikipedia.org/ per tutte le nozioni di sotto indicate.

Per tutto ciò che riguarda l’informatica  - sopratutto per le delucidazioni di base di cosa si intenda con questa o quella nozione -  le voci di wikipedia sono in genere chiare, esaustive e attendibili.  Molto, molto, molto meglio la versione inglese!

 

1. Delle principali componenti hardware della tua macchina, devi sapere individuare nome, azienda produttrice, caratteristiche principali:

Per chi ha un vecchio desktop a casa, apritelo e curiosate, e individuate le diverse componenti (non aprite il vostro laptop!).

 

2. Sai individuare il sistema operativo - e la versione - installato sulla tua macchina (e anche quello del tuo smartphone)

As of September 2024, Android is the most popular operating system with a 46% market share, followed by Microsoft Windows at 26%, iOS and iPadOS at 18%, macOS at 5%, and Linux at 1%. Android, iOS, and iPadOS are mobile operating systems, while Windows, macOS, and Linux are desktop [e laptop] operating systems.

 

I sistemi operativi che ci possono interessare sono o della famiglia Windows (Microsoft) o derivati Unix. Le macchine della Apple usano oggi macOS, una versione di Unix.

 

Se siete interessati (lo dovreste essere!), scoprite cosa sia Linux e cosa si intende per  distribuzione Linux (le più note sono Fedora, Ubuntu, Debian, Mint, ma ce ne sono molte altre). Capite come si usa gergalmente il termine piattaforma.

 
Per saperne di più:

3. Distingui tra sistema operativo e l’interfaccia grafica utente  GUI (Graphical user interface)

 

Per rendersi conto di come le cose sono evolute velocemente, vedi questa storia visuale.
E questa è un’altra intreressante risorsa storica.


4
. Impara ad aprire il terminale (o prompt dei comandi), sia nei sistemi Microsoft (un tempo nella cartella Accessori, oppure con il comando cmd) sia nei Mac (in genere cercando il terminal), sia nella varie distribuzioni Linux.


Imparate i comandi  principali disponbili in Dos/Win e in Linux (+macOS):

 
tabella da qui

Imparate come minimo a navigare l’albero delle cartelle e file con cd (si usa sia in Dos sia in Unix), e ricordatevi che da quale Directory (cartella) lanciate un comando può essere importante.


B – INTERNET

5. Cerca di capire l'idea di base della comunicazione telematica Internet, per iniziare la distinzione:


Commutazione di circuito vs. Commutazione di pacchetto


Nelle voci wikipedia, leggi i paragrafi iniziali, per capire di che cosa si stia parlando, il resto sono nozioni per ingegneri della tele-comunicazione.  Sappi spiegare – in termini elementari - la differenza tra Circuito e Pacchetto.

Domanda: di quale precedente infrastruttura tecnologica Internet è stata l’evoluzione? Cercate di confrontare la struttura della comunicazione Internet con quelle fornite dal sistema postale, da radio/televisione, dalla telefonia e dalla stampa quotidiana: differenze e similitudini.

Qui trovi la storia di Internet scritta dai protagonisti-inventori (pdf).


Quando la tua macchina è collegato in rete, controlla l’indirizzo IP che gli viene assegnato con il comando ipconfig (win) o ifconfig (linux): apparirà - tra altre informazioni - l'indirizzo IP, una stringa composta da quattro numeri, ciascuno tra 1 e 254, con cui la vostra macchina è identificata nella LAN, o in Internet; dovrebbe essere qualcosa del tipo 192.168.50.123.

 

6. Cerca la definizione (per cosa sta l’acronimo) e le caratteristiche dei principali protocolli Internet:

P è sempre per Protocol; T è per Transfer. Controlla di ciascuno la data di quando sono stati formulati e divenuti di uso comune.

Consultate www.ietf.org, ente dedicato alla sviluppo protocolli Internet. Questo è per informatici, ma è sempre utile vedere cosa si intende per protocollo, per esempio vedi l'ultima versione della formulazione del protocollo per la posta elettronica. Lo IETF pubblica dei documenti indicati come RFC (Request For Comments), che contengono la descrizione dei protocolli (quelli proposti da qualcuno, e quelli adottati secondo una complessa procedura)


Per esempio nella RFC2616, si trovano le definizioni di cosa si deve intend
ere per client e per server:

 

7. DNS

C –  TROVARE INFORMAZIONI, RISORSE e TOOLS IN RETE

(prima della AI – da valutare come le cose stanno cambiando)

8. Risorse, motori di ricerca, directory, ecc.

D –  CAVI E PRESE
banale ma utile e necessario

 

9. Competenze pratiche banali e date per scontate, ma necessarie e utili: dovete saper collegare la vostra macchina alla rete elettrica di alimentazione, alla presa Ethernet per accedere a Internet, all’accesso wi-fi (e al hot spot), e ai proiettori disponibili nell’aula, e quindi saper distinguere uscite/prese e cavi corrispondenti.  Semplifica la vita conoscere gli standard più comuni per cavi e prese: consultate qui e qui (o simili risorse in rete)

 
Ricordatevi: per le presentazioni durante il corso, e in sede di Esame, siete voi a dovervi preoccuparvi di presentarvi con cavi e spinotti per collegare la Vostra macchina al proiettore messo a disposizione in aula

 

NOTA: chi ha macchina Apple, con uscite non standard, deve munirsi (comprare!) i necessari connettori.

E – UN POCO DI GERGO

10. Per ognuno dei seguenti acronimi, consultare la corrispondente voce di wikipedia:

Via via impar ad usare le seguenti nozioni in modo appropriato, comprendendo i rispettivi ambiti semantici:

 

(controllate come si traducono questi termini nella vostra lingua madre e in Inglese)
Fate attenzione all’uso corretto di alcuni termini italiani (alcuni forse desueti, o poco usati), consultate un buon dizionario, e le seguenti voci Treccani: Informatica - Telematica - Cibernetica (io non lo uso)

F – COME RENDERE LA VOSTRA MACCHINA OPERATIVA

 

11. Installa un software bundles (L)(M)(W)AMP, dove

 

Per software bundle (o suite) si intende in genere un pacchetto di applicativi composto da più pacchetti indipendenti (per produzione, funzionalità e possibilità d'uso) ma che sono di fatto interdipendenti nei loro utilizzi più comuni e che quindi merita installare in modo coordinato. Un buon software bundle comprende inoltre qualche applicativo ausiliario, in genere per installare e/o configurare i pacchetti principali, per il loro utilizzo e monitoraggio, nonchè una pulsantiera (pulsantiera un termine non tecnico, che uso tanto per intenderci) utile per lanciare o chiudere e i diversi tool (talvolta detti servizi) principali (e quindi non confondete il lanciare la pulsantiera stessa con il lanciare/accendere i servizi principali). Ogni bundle è in genere sviluppato per uno specifico SO, ovvero  devi installare la versione adatta al tuo SO, e anche al tuo hw, se 32bit o 64bit.


(
Se siete interessati: provate a installare Apache, mySQL e PHP separatamente, e vedrete il numero di difficoltà da superare).

 

Di seguito elenco i bundle AMP che ho visto usare negli ultimi anni (non tutti per ogni SO):

Se usate una distribuzione Linux, i programmi AMP dovrebbero essere già presenti. Anche su Windows e Mac potrebbero essere già installati, ma installare una opportuna bundle è più pratico (per voi e per me).


In teoria, potete avere più installazioni di AMP sulla vostra macchina, ma nel caso dovete fare un poco di attenzione a che non entrino in conflitto (in genere basta una qualche attenzione alle porte su cui sono in ascolto).

12. Installa il browser (http-client) Firefox, versione developer (Fortemente Consigliato!)

+ esplorate gli add-on (componenti aggiuntivi), dal menù Strumenti/Tools di Firefox, tra cui:


13. installa un Syntax Highlighter Editor (editore di codice)

Inoltre avete bisogno di un tool che highlight il codice mentre lo scrivete, ovvero che colori le diverse categorie sintattiche di cui sono composti i linguaggi che imparerete a conoscere (html+css, php, mysql, JS) con colori diversi. Per quanto apparentemente banale, questo permette una scrittura estremamente più facile e veloce, ed aiuta anche a capire come sono strutturati i diversi linguaggi. I Syntax Highlighter Editor sono in genere diversi per OS diversi (alcuni hanno versioni multipiattaforma), in particolare potete usare:

 


In alcuni di questi, sono integrati strumenti di organizzazione di famiglie di script in progetti, strumenti di compilazione e debugging, e oggi di consultazione motori AI.

 

G – CLIENT – SERVER

IMPORTANTE E SEMPLICE


14. Per capire alcuni aspetti della programmazione orientata al web, è essenziale capire i ruoli di client e di server tra entità che comunicano, in genere rispetto a un certo protocollo di comunicazione. Quindi, per ogni protocollo, dovete saper individuare e operare con gli applicativi che svolgono i ruoli di client e rispettivamente di server, in particolare per almeno i seguenti protocolli: http-html, ftp, smpt. Per il corso, il caso importante è ovviamente il primo, ma potremmo utilizzare anche un client ftp.

 

 
 

Attenzione: le entità che comunicano, nel ruolo di client o di server, sono in genere collocate su macchine diverse, a indirizzi diversi della rete Internet, in località geografiche diverse, come viene raffigurato nel disegno sopra. Ma le entità che comunicano sono programmi (applicativi) installati su una macchina, non macchine (non confondere).
E quindi nota bene – un programma client e un programma server possono comunicare tra di loro anche se sono installati sulla stessa macchina! È importante capire come far interagire tale coppie di programmi client/server su una singola macchina, perché questo è quello che dovremo fare.


(Nota: nel disegno è mostrato anche il terzo personaggio che incontreremo spesso, l’archivio dati, o database (db), qui raffigurato da uno schedario. Il db può travarsi su una macchina dedicata, collegata alle altre, oppure su la stessa macchina degli altri.)


Si utilizza il termine
browser per indicare un qualche http client. Gli applicativi che sono dei client http sono i noti Firefox, IE, Safari, Opera, Chrome, SeaMonkey e altri meno noti.  Il server http più diffuso e più noto (ma non l’unico) è Apache.


Quindi: da un punto operativo dovete assai velocemente imparare a distinguere tra operare lato client e operare lato server: Devi aver ben chiaro la distinzione tra operare lato Server e operare lato Client dopo aver installato la suite AMP controllate che tutto funzioni e che avete capito come muoversi tra il lato client e il lato server. Imparate la seguente procedura:

  1. a)Individuate la cartella nel vostro hd in cui porre tutto ciò che costituirà il vostro sito (nei Wins, viene in genere creata la cartella www; con MAMP in genere la cartella htdocs (nei Mac apribile da Applicazioni, sotto la cartella MAMP); nel mio Linux Fedora, la trovo al percorso /var/www/html/). Per intenderci chiameremo tale cartella cartella server. Quando modificate il contenuto di questa cartella state agendo lato Server. 

  1. b)Lanciate il servizio Apache (preferibilmente dalla pulsantiera della vostra bundle;
    in alcuni bundle apparirà una spia verde=acceso,
    o un checkbox spuntato)
     

  2. c)Create un file primo.html con le seguenti righe di codice html e salvatelo nella cartella server:

    <html>  

    <head>  

    <title> mio primo file </title>  

    </head>  

    <body>  

    <p> Hello <b>World</b>! </p>  

    </body>  

    </html>

    (Attenzione: se usate Win: prestate attenzione a se il file è salvato con estensione esattamente .html: Win ha spesso delle configurazioni di salvataggio automatico che aggiungono estensioni non volute e inoltre non sempre visibili (da qualche parte potete settare Win che mostri sempre le estensioni dei file).
     

  3. d)Dalla barra di navigazione del vostro browser, interrogate/chiamate il vostro server con la URL (indirizzo Internet) http://127.0.0.1/primo.html, o (nome di dominio) http://localhost/primo.html.
    Se vedete
    il testo: Hello World! (ma non le tag <p>, <b>), allora il tutto funziona. OTTIMO!

    In alcuni casi dovete indicare anche la porta di connessione, 

    per es. http://localhost:8888/primo.html 


    Quando, con un browser, eseguite una tale chiamata http, state agendo
    lato Client.
     

  4. e)Attenzione: se invece digitate nella barra di navigazione qualcosa tipo file://percorso--a/www allora state utilizzando il vostro browser semplicemente come visualizzatore di codice html, senza connessione al server. 

    Se confondete questi due casi, lo considero un errore grave! 

 

 

HMULTIMEDIALITÀ

 

15. In genere, tendo a non usare il termine multimedialità, che considero in parte obsoleto in parte poco significativo. Consiglio però di tenere presente e consultare il seguente testo, con una varietà di informazioni tecniche assai utili:

Fundamentals of Multimedia, 3rd ed.
 

by Ze-Nian Li, Mark S. Drew, Jiangchuan Liu

https://www.cs.sfu.ca/mmbook/

(se cercate, al sito per ogni sezione del libro

vi sono link a ulteriori risorse e informazioni)