Concetti fondamentali
|
|
- Benvenuto Pandolfi
- 8 anni fa
- Visualizzazioni
Transcript
1 Node.js Concetti fondamentali by Stefano Burigat
2 Esecuzione asincrona Quasi tutte le funzioni in node vengono eseguite in modo asincrono (a tal punto che molte funzioni hanno una versione sincrona che contiene esplicitamente la parola chiave "sync" nel nome). Nel paradigma di node, uno dei (possibili) parametri delle funzioni asincrone è una funzione di callback che verrà chiamata al termine dell'esecuzione del codice della funzione asincrona.
3 Esempio: funzioni timer La funzione setintervalserve ad eseguire una funzione di callback in modo ripetuto. Il primo argomento è la funzione di callback, il secondo argomento indica ogni quanti millisecondi deve essere eseguita la funzione. Eventuali ulteriori argomenti vengono passati alla funzione di callback. setinterval(function() { console.log("callback"); }, 1000); Tenete presente che non c'è garanzia che il tempo impostato sia perfettamente rispettato.
4 Esercizi Provate a scrivere un messaggio dopo la chiamata della funzione setinterval(). Fate in modo che il messaggio da stampare all'interno della funzione venga passato come argomento. La funzione settimeoutè simile a setinterval ma chiama la funzione di callback una sola volta. Provatela. Le funzioni cleartimeoute clearintervalbloccano i rispettivi tipi di timer. Entrambe hanno come unico argomento l'oggetto ritornato dalla funzione che definisce il timer. Provate ad utilizzare clearinterval per simulare settimeout.
5 Esempio: lettura file La funzione readfiledel modulo fsserve a leggere un file dal file system e chiamare una funzione di callback quando il file è stato letto. Il primo argomento è il file da leggere, il secondo (opzionale) la codifica, il terzo la funzione di callback (alla quale vengono passati due argomenti, eventuale errore e dati letti). var fs = require("fs"); fs.readfile("test.txt", "utf8", function(error, data) { console.log(data); }); console.log("lettura file...");
6 Esercizi Provate a passare un nome di file che non esiste come primo parametro. Perchè otteniamo quell'output? Modificate il codice per stampare un messaggio nel caso in cui si sia verificato un errore. NOTA: le condizioni d'errore andrebbero sempre gestite. Eliminate il secondo parametro e verificate cosa succede.
7 Convenzioni L'esempio precedente mostra due convenzioni importanti nella scrittura di codice node (non sono regole del linguaggio e non sono sempre rispettate). Se un metodo prevede una funzione di callback come argomento allora tale funzione viene passata per ultima. Se una funzione prevede un errore come argomento, questo viene passato per primo.
8 Esempio: web server Il modulo httpfornisce le funzionalità necessarie alla creazione di un web server. var http = require('http'); http.createserver(function (req, res) { res.writehead(200, {'content-type': 'text/plain'}); res.end("hello Node!"); }).listen(8124); console.log('server creato'); Accedete al server via browser.
9 Esempio: web server La funzione createservercrea un server http che resta in attesa di connessioni dai client sulla porta specificata tramite la funzione listen. A createserver viene passata una funzione di callback che viene chiamata nel momento in cui si verifica una connessione al server. Alla funzione di callback vengono passati due argomenti che rappresentano la richiesta di connessione e la risposta del server. All'interno della funzione di callback vengono utilizzate la funzione writeheadper scrivere l'header del messaggio di risposta del server e la funzione endper scrivere il corpo del messaggio e segnalare che il messaggio è stato inviato (entrambe le funzioni sono obbligatorie).
10 Esercizi Al posto di scrivere il corpo del messaggio direttamente tramite funzione end, è possibile farlo tramite funzione write sull'oggetto res. Provatela. Provate ad aggiungere una funzione di callback alla funzione listen che stampa un messaggio "Server in ascolto sulla porta 8124". Combinate la creazione di un server http con la lettura di un file (programma precedente) per tornare il contenuto del file all'utente. Informate anche il client in caso di eventuali errori di lettura.
11 Creare un client http La funzione requestdel modulo http permette di effettuare una richiesta http ad un server. var http = require('http'); var options = { host: 'localhost', port: 8124, path: '/', method: 'GET' }; http.request(options, function(res) { console.log('risposta arrivata'); }).end(); console.log('richiesta effettuata'); Esercizio: creare una versione del client che effetta una richiesta ogni 8 secondi.
12 Esercizio Fate in modo che il server http ritorni al client della slide precedente i primi 100 interi, utilizzando la funzione seguente: function writenumbers(res) { counter = 0; for (var i = 0; i<100; i++) { counter++; res.write(counter.tostring() + "\n"); } } Provate a far partire server e client. Perchè otteniamo quel risultato?
13 Gestione degli eventi Node mantiene una coda degli eventi che si verificano durante l'esecuzione di un'applicazione. Ad ogni iterazione del ciclo di gestione degli eventi, un evento viene estratto e processato. Se tale evento ne genera altri, questi vengono inseriti in coda. Al termine della gestione di un evento, si passa all'evento successivo. Negli esempi che abbiamo visto finora, le funzioni di callback venivano chiamate al verificarsi di particolari eventi ma tali eventi non erano visibili (ad esempio, la funzione di callback passata a createserverviene chiamata al verificarsi dell'evento request).
14 Event emitter In node, gli oggetti che generano eventi vengono chiamati event emitter. Creare un event emitter richiede semplicemente di importare il modulo eventse creare un'istanza dell'oggetto EventEmitter. Tale istanza può creare nuovi eventi tramite la funzione emit(). var events = require("events"); var emitter = new events.eventemitter(); emitter.emit("nuovoevento");
15 Eventi Il nome di un evento può essere una qualunque stringa valida. A volte è necessario fornire informazione aggiuntiva rispetto al solo nome dell'evento. In tal caso, è possibile passare ulteriori parametri alla funzione emit(). var events = require("events"); var emitter = new events.eventemitter(); var dato = "datoaggiuntivo"; emitter.emit("nuovoevento", dato);
16 Ascoltatori Per poter gestire gli eventi emessi da un event emitter, è necessario creare degli ascoltatori (listener) tramite le funzioni on()oppure addlistener()dell'emitter stesso. Entrambi i metodi prendono come parametri il nome dell'evento ed una funzione che verrà chiamata quando si verificherà l'evento. var events = require("events"); var emitter = new events.eventemitter(); var dato = "datoaggiuntivo"; emitter.on("nuovoevento", function(dato) { console.log("dato passato: " + dato); }); emitter.emit("nuovoevento", dato);
17 Esercizi Partendo dal codice di un web server visto in precedenza, creare un ascoltatore dell'evento request, passandogli la funzione di callback attualmente inserita in createserver. Aggiungere un ascoltatore per l'evento listeningche viene emesso quando un server viene associato ad una specifica porta, stampando il messaggio "Server in ascolto sulla porta 8124" tramite tale ascoltatore. Nell'esempio del client http, creare un ascoltatore per l'evento responseche viene emesso quando viene ricevuta una risposta ad una richiesta http. La funzione once()può essere utilizzata al posto di on()per fare in modo che un evento venga gestito una sola volta. Provatela modificando l'esempio della slide "Ascoltatori".
18 Node è single-threaded Di base, le applicazioni node possono svolgere una sola operazione alla volta. L'utilizzo degli eventi e dell'esecuzione asincrona può dare l'impressione che le applicazioni siano multithreaded ma viene sempre processato un solo evento alla volta. Esercizio: provate a inserire un ciclo infinito nel corpo della funzione di callback del web server visto in precedenza. Chiamate il server da due tab diverse del browser. Esercizio: scrivete un'applicazione con due funzioni setinterval che stampano due messaggi diversi. Eseguite l'applicazione. Inserite un ciclo infinito in una delle due funzioni. Rieseguite l'applicazione.
19 Eventi imprevisti Prendete il codice del web server visto in precedenza ed inserite un messaggio di log sul server successivamente alla funzione end. Eseguite l'applicazione e accedete al server da browser. Come potete vedere, risulta che ci sono stati due accessi al server al posto dell'unico accesso che si attendeva. Questo perchè il browser può mandare richieste per diverse risorse. Provate a stampare un messaggio di log che mostri la proprietà url dell'oggetto req per verificare quale risorsa è stata richiesta. Bisogna sempre verificare che le richieste che arrivano siano effettivamente per i dati che ci si aspetta.
20 Gestione delle eccezioni Le eccezioni in un ambiente JavaScript sincrono vengono gestite normalmente tramite istruzioni trye catch. Il codice seguente in node non funziona: var fs = require("fs"); try { fs.readfile("", "utf8", function(error, data) { if (error) { throw error; } console.log(data); }); } catch (exception) { console.log("eccezione catturata!") }
21 Gestione delle eccezioni Nell'esempio precedente, quando l'eccezione viene lanciata non siamo più dentro il blocco try/catch. Ci sono diversi modi per gestire queste situazioni in node: Controllare sempre il parametro error delle funzioni e gestirlo in modo appropriato. Utilizzare un gestore globale delle eccezioni che cattura tutto ciò che "scappa". process.on("uncaughtexception", function(error) { console.log("eccezione catturata!") }); Utilizzare il concetto di "dominio" tramite il modulo domain.
22 Domini I domini sono il meccanismo preferito per la gestione delle eccezioni. Quando un timer, un event emitter o una funzione di callback registrati con un dominio creano un errore, questo viene notificato al dominio e può essere gestito. La funzione run()può essere utilizzata per eseguire una funzione e registrare implicitamente con il dominio qualunque timer, event emitter o callback presente all'interno della funzione.
23 Domini var fs = require("fs"); var domain = require("domain").create(); domain.run(function() { fs.readfile("", "utf8", function(error, data) { if (error) { throw error; } console.log(data); domain.dispose(); }); }); domain.on("error", function(error) { console.log("eccezione catturata!") });
24 Domini Al posto della funzione run()è possibile utilizzare le funzioni bind()e intercept()che accettano come parametro una funzione di callback che si vuole associare al dominio. Al contrario di run(), la funzione passata a bind()o intercept()non viene eseguita immediatamente. Esercizio: provate ad utilizzare bind()per racchiudere la funzione di callback che viene passata a readfile nell'esempio precedente. Esercizio: provate ad utilizzare intercept()al posto di bind(). In tal caso, non è necessario inserire il parametro error nella funzione di callback, nè gestire tale parametro all'interno del corpo della funzione.
25 Callback hell Un problema che si può verificare nella scrittura di codice node è il cosiddetto "callback hell" cioè il fatto che si possano avere diversi livelli di callback innestate. Il callback hell porta a codice difficile da leggere e mantenere. L'esempio di lettura di file visto in precedenza va in crash se il file da leggere non esiste. Si può ovviare al problema controllando che il file esista e che sia effettivamente un file, sfruttando le funzioni fs.exists()e fs.stat(), come nell'esempio seguente.
26 Callback hell var fs = require("fs"); var filename = "test.txt"; fs.exists(filename, function(exists) { if (exists) { fs.stat(filename, function(error, stats) { if (error) { throw error; } if (stats.isfile()) { fs.readfile(filename, "utf8", function(error, data) { if (error) { throw error; } console.log(data); }); } }); } });
27 Callback hell Un modo per risolvere il problema del callback hell (a spese della comprensione del flusso del controllo) è quello di utilizzare funzioni con nome al posto di funzioni anonime. Ad esempio, si può chiamare la funzione exists() nel modo seguente: function cbexists(exists) { if (exists) { fs.stat(filename, cbstat); } } fs.exists(filename, cbexists); Provate a completare il resto del codice implementando le due funzioni mancanti (in base al codice della slide precedente).
Protocolli applicativi: FTP
Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione
DettagliEsercizio 2. Client e server comunicano attraverso socket TCP
Esercizio 1 Scrivere una applicazione client/server in cui: Il client, in un ciclo infinito: Legge una stringa da standard input Invia al processo server la stringa. Il server visualizza: L'IP da cui si
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
Dettagli10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
DettagliInvio SMS. DM Board ICS Invio SMS
Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove
DettagliT E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E
Threading T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E Caratteristiche principali dei thread Consentono di eseguire elaborazioni simultanee in un programma scritto in C#. Possono essere
DettagliVisual Basic.NET La Gestione degli Errori di Federico BARBATI
Generalità Visual Basic.NET La Gestione degli Errori di Federico BARBATI La gestione degli errori, è una parte fondamentale di un codice ben progettato. Fino ad oggi, gli errori nelle applicazioni scritte
DettagliISTRUZIONI PER LA GESTIONE BUDGET
ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET
DettagliHTTP adaptation layer per generico protocollo di scambio dati
HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003
DettagliLABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 -
LABORATORIO DI INFORMATICA 1 2014-2015 - parte 6 - Lettura da File Obiettivo: leggere un file Per prima cosa dobbiamo creare un oggetto che rappresenti il file che vogliamo utilizzare (inserendo anche
DettagliModulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress
Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk
DettagliSistemi Mobili e Wireless Android - Dati persistenti: SQLite
Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre
DettagliRISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliACO Archiviazione Elettronica e Conservazione sostitutiva
ACO Archiviazione Elettronica e Conservazione sostitutiva Luglio 2013 INDICE A) INSTALLAZIONE DELL AGGIORNAMENTO... 2 AGGIORNAMENTO STAND ALONE/SERVER... 2 AGGIORNAMENTO CLIENT... 4 B) ELENCO MODIFICHE...
DettagliMANUALE ESSE3 Gestione Registro delle lezioni
MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni
DettagliEsempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
DettagliGovPay 2.0. Manuale Installazione
SERVIZI DI INTERMEDIAZIONE AL NODO DEI PAGAMENTI GovPay-ManualeInstallazione del 16/12/2015 - vers. 1 STATO DEL DOCUMENTO REV. DESCRIZIONE DATA 1 Prima versione 16/12/2015 ATTORI DEL DOCUMENTO Redatto
DettagliCome funziona il WWW. Architettura client-server. Web: client-server. Il protocollo
Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client
DettagliCome si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.
www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere
Dettagli1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client
RETI INFORMATICHE - SPECIFICHE DI PROGETTO A.A. 2013/2014 1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014 Il progetto consiste nello sviluppo di un
DettagliIl client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.
RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2010/2011 Il progetto consiste nello sviluppo di un applicazione client/server. Sia il server che il client dovranno
DettagliGestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché
DettagliSistema di gestione Certificato MANUALE PER L'UTENTE
Sistema di gestione Certificato MANUALE PER L'UTENTE Pagina 1 di 16 Indice 1 Introduzione...3 2 Genera certificato...4 3 Sospendi certificato...10 4 Riattiva certificato...12 5 Revoca certificato...14
DettagliSERVICE BROWSER. Versione 1.0
SERVICE BROWSER Versione 1.0 25/09/2008 Indice dei Contenuti 1. Scopo del documento... 3 2. Introduzione... 3 3. Accordi di Servizio... 4 4. Servizi... 5 5. Servizio: Schede Erogatori... 8 6. Servizio:
DettagliXampp. Valeriano Maysonnave - A.A. 2014/2015 -
Xampp Valeriano Maysonnave - A.A. 2014/2015-1 Introduzione...1 2 Installazione su Windows...1 3 Configurazione Apache...2 3.1 Accesso al file di configurazione httpd.conf...2 3.2 Il file httpd.conf...3
DettagliInterprocess Communications - II. Franco Maria Nardini
Interprocess Communications - II Franco Maria Nardini XSI IPC Tre tipi di IPC introdotti da System V: semafori shared memory code di messaggi Comunicazioni tra processi su stesso host Tutte consentono
DettagliInterfaccia di base di GroupWise WebAccess
Interfaccia di base di GroupWise WebAccess 21 novembre, 2011 Novell Riferimento rapido Dopo che l'amministratore ha installato GroupWise 2012 WebAccess, è possibile usare l'interfaccia di base di GroupWise
DettagliIBM Lotus Notes 8.5.2 Guida per utenti
IBM Lotus Notes 8.5.2 Guida per utenti Andreas Ponte Belsoft AG Indice Generale Guida per utenti IBM Lotus Notes 8.5.2...1 Utilizzo di Lotus Notes...3 Invio mail...3 Firma...4 Gestione cartelle e regole...5
Dettagliappunti delle lezioni Architetture client/server: applicazioni client
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente
DettagliBlue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!
Guida alla configurazione delle centrali innovaphone Versione 2.0 04-06-2006 Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel! Blue s Hotel Pro è la soluzione ideale per i piccoli
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliMODELLISTICA DI IMPIANTI E SISTEMI 2
MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi
DettagliConsiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
DettagliSistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO
Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Login All apertura il programma controlla che sia stata effettuata la registrazione e in caso negativo viene visualizzato un messaggio.
DettagliReti di Calcolatori. Il Livello delle Applicazioni
Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain
DettagliURI. Introduzione. Pag. 1
URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili
DettagliDNS-Tunneling. Reference to. Ettore di Giacinto Luca Montunato http://www.pilug.org
DNS-Tunneling Reference to Ettore di Giacinto Luca Montunato http://www.pilug.org Se, in un sistema, è possibile trasmettere bits ad un altro, ed esso risponde a questa trasmissione, è praticamente impossibile
DettagliProgettazione Web Applicazioni client-server
Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver
DettagliPORTALE CLIENTI Manuale utente
PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo
DettagliPagina n. 1. Via Ficili n 5 62029 Tolentino (MC) Tel.: 0733 9568 Fax: 0733 956817 E-Mail: info@grupposis.it http://www.grupposis.
Prot. C.R.M n. (6778) manuale facile pdf The easiest way to create a PDF! Facile! PDF è la soluzione Completa per creare PDF professionali con semplicità. Sempre presente nella barra di Windows. Si attiva
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliPortale tirocini. Manuale utente Per la gestione del Progetto Formativo
GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...
DettagliEsercizi di JavaScript
Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio
DettagliELENCO CLIENTI FORNITORI Patch1
ELENCO CLIENTI FORNITORI Patch1 Il pacchetto P15_200ElencoCF_Patch1.exe contiene una serie di aggiornamenti alla procedura di generazione del file contenente l. Download: 1) Assicurarsi di avere una versione
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliI casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
DettagliANTISPAM PLAYNET (nuova Piattaforma) In questa piccola guida vogliamo mostrarvi come creare regole di BlackListe e Whitelist per
www.playnet.it agg. Documento 1/03/2007 ANTISPAM PLAYNET (nuova Piattaforma) Il modulo Instant Antispam di Playnet utilizza diversi sistemi e tecnologie: - Filtro Bayesiano - SpamAssassin - Analisi dei
DettagliCenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it
Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
DettagliConfigurazione di Outlook Express
OUTLOOK Outlook Express è il client di posta elettronica sviluppato da Microsoft, preinstallato su sistemi operativi Windows a partire da Windows 98 fino all'uscita di Windows XP. Con l'arrivo di Windows
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliPROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1
PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliINTRODUZIONE AI PRINCIPI DELLO SVILUPPO DI APPLICAZIONI WEB INTERATTIVE
INTRODUZIONE AI PRINCIPI DELLO SVILUPPO DI APPLICAZIONI WEB INTERATTIVE ( I.D. Falconi ~ 21.12.2013) INTRODUZIONE AD AJAX Le caratteristiche di una applicazione Ajax sono sostanzialmente due: aggiornare
DettagliTabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice
- Albo pretorio virtuale e gestione della consultazione documentale - Argomenti Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo
Dettagli1) GESTIONE DELLE POSTAZIONI REMOTE
IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
DettagliDa: http://guide.aiutamici.com/guide?c1=7&c2=15&id=75084
Da: http://guide.aiutamici.com/guide?c1=7&c2=15&id=75084 Spazio web gratuito Per poter pubblicare il proprio sito su internet, si deve disporre di uno spazio web, se non ne abbiamo già uno lo dobbiamo
DettagliI cookie sono classificati in base alla durata e al sito che li ha impostati.
1. Informativa sui cookie 1.1. Informazioni sui cookie I siti Web si avvalgono di tecniche utili e intelligenti per aumentare la semplicità di utilizzo e rendere i siti più interessanti per ogni visitatore.
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 2 (proposta) Socket Java con connessione Luca Foschini Anno accademico 2015/2016 Esercitazione 2 1 Specifica
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliEsercizio 1: trading on-line
Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente
DettagliRegione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
DettagliPRODUZIONE PAGELLE IN FORMATO PDF
Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,
DettagliSchede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.
Schede ADI ADP ADEM Prestazioni aggiuntive MMG - Manuale - Data Solution Provider s.r.l. 1. Generalità Per poter accedere all applicazione è necessario aprire Internet Explorer e connettersi al sito di
DettagliHow-to PDFCreator Cos è Cosa fa Come funziona Creare un PDF
How-to PDFCreator Cos è PDFCreator è un programma per generare file PDF a partire da qualunque documento stampabile (Word, Excel, Powerpoint, PDF ). E installato come stampante virtuale, e viene visualizzato
DettagliL interfaccia utente di Office 2010
L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione
DettagliNode.js. REPL e oltre. by Stefano Burigat
Node.js REPL e oltre by Stefano Burigat Cos'è REPL? REPL (Read-Eval-Print-Loop) è un ambiente interattivo a riga di comando che permette di scrivere codice node ed eseguirlo istruzione per istruzione.
DettagliSistemi Mobili e Wireless Android Activity
Sistemi Mobili e Wireless Android Activity Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Activity Tipicamente, un'activity
DettagliManuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8
Manuale servizio Webmail Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Introduzione alle Webmail Una Webmail è un sistema molto comodo per consultare la
DettagliMANUALE UTENTE UTILIZZO MODULO FILE-STORAGE DI ACS - CANALE AMBIENTE PROVINCIA DI TORINO
Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA V01 CORA 15/01/03 FERRARESI 21/01/03 FERRARESI 21/01/03 STATO DELLE
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliLe caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche:
1 di 6 05/01/2011 10.51 Supporto Tecnico Quali sono le caratteristiche di una casella di posta certificata? Come ricevere e consultare messaggi indirizzati alle caselle di posta certificata? Come posso
DettagliMUDE Piemonte. Modalità operative per eseguire Firma e inoltro del modello
MUDE Piemonte Modalità operative per eseguire Firma e inoltro del modello STATO DELLE VARIAZIONI Versione Paragrafo o Pagina Descrizione della variazione V01 Tutto il documento Versione iniziale del documento
DettagliMANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
DettagliIl Protocollo HTTP e la programmazione di estensioni Web
Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliI M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D
I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D C O N F I G U R A R E L A M A I L 1) Aperto il programma, cliccare su strumenti > impostazioni account. 2) Si
DettagliInformatica per la comunicazione" - lezione 13 -
Informatica per la comunicazione" - lezione 13 - Funzionamento di una password" 1: l utente tramite il suo browser richiede l accesso a una pagina del server; 2: il server richiede il nome utente e la
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliFile, Modifica, Visualizza, Strumenti, Messaggio
Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere
DettagliSIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale
SIRTEL Sistema Informativo per la Rendicontazione Telematica degli Enti Locali Schema di funzionamento del processo per l Ente Locale Sommario del documento Acronimi...3 FASE 1: REGISTRAZIONE ED ABILITAZIONE
DettagliAirone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
DettagliGestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
DettagliMANUALE PARCELLA FACILE PLUS INDICE
MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliManuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
DettagliNode.js + Drupal. Luca Lusso. giovedì 1 dicembre 11
Node.js + Drupal Luca Lusso Agenda Cos è e come funziona node.js Installare node.js Code session: realizzazione si un modulo per l autocompletamento dei tags Demo session: installare e usare il modulo
DettagliCONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...
CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5
DettagliFigura 1 Le Icone dei file di Excel con e senza macro.
18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)
Dettagli(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
DettagliReti di Telecomunicazione Lezione 7
Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione
DettagliGUIDA AL PRONTUARIO MOBILE
GUIDA AL PRONTUARIO MOBILE 1 SOMMARIO Installazione...3 Configurazione...3 Utilizzo...3 Note...10 INDICE DELLE FIGURE Figura 1: schermata di presentazione...4 Figura 2: schermata di login...4 Figura 3:
DettagliCorso basi di dati Installazione e gestione di PWS
Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6
Pag. 1/6 Quello che vogliamo ottenere con questo database è un semplice programma che permetta di fare mailing tramite posta elettronica. 1 Dopo aver creato il database con Access 97 o 2000 è necessario
DettagliL amministratore di dominio
L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un
Dettagli