File system, http, database e altro
|
|
- Gustavo Visconti
- 8 anni fa
- Visualizzazioni
Transcript
1 Node.js File system, http, database e altro by Stefano Burigat
2 Passaggio di argomenti Nelle applicazioni node, è possibile accedere agli argomenti passati all'avvio da riga di comando tramite la proprietà argv dell'oggetto globale process. process.argv.foreach(function(arg, index) { console.log("argv[" + index + "] = " + arg); ); I primi due elementi sono sempre node e il path dell'applicazione. Esercizio: create un'applicazione che stampa la somma dei due numeri che gli passate all'avvio.
3 Commander Il modulo esterno commanderpuò essere utilizzato per semplificare il parsing degli argomenti tramite le funzioni option()e parse(). var commander = require("commander"); commander.option("-f, --foo <i>", "Valore intero di foo (obbligatorio)", parseint, 0).option("-b, --bar [j]", "Valore intero di bar (opzionale)", parseint, 0).option("-z, --baz", "Valore Boolean di baz").parse(process.argv); console.log(commander.foo); console.log(commander.bar); console.log(commander.baz); Option()registra i comandi validi mentre parse() permette di estrarli.
4 Stdin Le applicazioni node sono connesse a tre stream di dati - stdin, stdoute stderr- che forniscono funzionalità di input/output. Comunemente stdinpermette di ottenere input dall'utente tramite il terminale da cui è stata fatta partire l'applicazione. stdinè una proprietà dell'oggetto globale processe deve essere sbloccato tramite la funzione resume()prima di poter essere utilizzato. process.stdin.once("data", function(data) { var response = data.tostring(); console.log("il tuo nome è: " + response); process.stdin.pause(); ); console.log("inserisci il tuo nome: "); process.stdin.resume();
5 Stdout e stderr stdoutpermette tipicamente di indirizzare l'output verso il terminale da cui è stata fatta partire l'applicazione. Il modo più comune di utilizzare stdoutè tramite la funzione console.log(). Di fatto, console.log()è un wrapper per la funzione process.stdout.write(). stderrviene utilizzato per visualizzare messaggi d'errore. Il modo più semplice per utilizzare stderrè tramite le funzioni console.error()e console.warn()che sono dei wrapper di process.stderr.write().
6 Posizione nel file system Ogni applicazione node può accedere ad alcune variabili che forniscono informazioni sulla propria posizione nel file system. La variabile filenameè il path assoluto del file attualmente in esecuzione. La variabile dirnameè il path assoluto della directory nella quale è contenuto il file attualmente in esecuzione. console.log("il file in esecuzione è " + filename); console.log("il file in esecuzione è contenuto in " + dirname);
7 path Il modulo nativo pathmette a disposizione diverse funzioni per lavorare con i path. Le funzioni extname(), basename()e dirname() ritornano rispettivamente l'estensione, il nome completo e la directory di un path. var path = require("path"); var filename = "/foo/bar/baz.txt"; var extension = path.extname(filename); var fullfile = path.basename(filename); var file = path.basename(filename, extension); var dirname = path.dirname(filename); console.log(fullfile); console.log(file); console.log(dirname);
8 I/O su file: exists() Le applicazioni node possono effettuare operazioni di I/O su file utilizzando il modulo fs. La maggior parte delle funzioni di fsha anche una versione sincrona. La funzione exists()permette di determinare se un particolare path esiste. Gli argomenti della funzione sono una stringa rappresentante il path ed una funzione di callback a cui viene passato il risultato booleano del controllo di esistenza. var fs = require("fs"); var path = "/"; var existssync = fs.existssync(path); // versione sincrona di exists() fs.exists(path, function(exists) { if (exists!== existssync) { console.error("qualcosa è andato storto!"); else { console.log(path + " esiste: " + exists); );
9 I/O su file: stat() La funzione stat()consente di ottenere le statistiche di un file. Gli argomenti della funzione sono una stringa rappresentante il path ed una funzione di callback a cui vengono passati un eventuale errore e un oggetto fs.stats che contiene le statistiche vere e proprie. var fs = require("fs"); var path = "primo.txt"; fs.stat(path, function(error, stats) { if (error) { console.error("errore: " + error.message); else { console.log(stats); );
10 Metodi di fs.stats L'oggetto fs.statsmette a disposizione dei metodi sincroni che permettono di identificare il tipo di file che si sta esaminando. I metodi più comuni sono isfile()e isdirectory(). var fs = require("fs"); var path = "primo.txt"; fs.stat(path, function(error, stats) { if (error) { console.error("errore: " + error.message); else { console.log("si tratta di un file: " + stats.isfile()); console.log("si tratta di una directory: " + stats.isdirectory()); );
11 I/O su file: readfile() Come abbiamo già visto la funzione readfile()consente di leggere dati da un file. Gli argomenti della funzione sono normalmente il path del file da leggere, la codifica con la quale ritornare i dati ed una funzione di callback da chiamare alla fine della lettura. var fs = require("fs"); var path = dirname + "/primo.txt"; fs.readfile(path, "utf8", function(error, data) { if (error) { console.error("errore di lettura: " + error.message); else { console.log(data); );
12 I/O su file: writefile() La funzione writefile()consente di scrivere dati su un file (sovrascrivendone il contenuto). Gli argomenti della funzione sono normalmente il path del file su cui scrivere, i dati da scrivere ed una funzione di callback da chiamare alla fine della scrittura. var fs = require("fs"); var path = dirname + "/primo.txt"; var data = "Lorem ipsum dolor sit amet"; fs.writefile(path, data, function(error) { if (error) { console.error("errore di scrittura: " + error.message); else { console.log("scrittura completata: " + path); );
13 I/O su file: appendfile() La funzione appendfile()consente di aggiungere dati ad un file esistente senza sovrascriverne il contenuto. La funzione si utilizza nello stesso modo di writefile(). var fs = require("fs"); var path = dirname + "/prova.txt"; var data = ", consectetur adipisicing elit"; fs.appendfile(path, data, function(error) { if (error) { console.error("errore di scrittura: " + error.message); else { console.log("scrittura completata: " + path); );
14 Database I database consentono un accesso rapido a grandi quantità di dati. Node supporta due tipi di database: relazionali e NoSQL (nel seguito vedremo solo l'accesso a database relazionali). Un database relazionale è costituito da un insieme di tabelle. Le tabelle sono costituite da record (o tuple) di dati. Le tabelle possono essere collegate tra di loro mediante l'utilizzo di chiavi (primarie ed esterne).
15 MySQL MySQL è uno dei database relazionali più popolari. Per utilizzare MySQL tramite node è necessario installare il modulo mysqled è necessario installare MySQL stesso (ad esempio, tramite pacchetti come WAMP, MAMP, LAMP o XAMPP). Gli esempi in queste slide assumono che MySQL sia installato sulla macchina locale e sia attivo. E' inoltre necessario creare un database di nome "dbname" (o il nome che utilizzerete nel codice) e creare un utente con lo username e la password che utilizzerete nel codice (per queste operazioni è comodo utilizzare phpmyadmin).
16 Connessione a database Per accedere ad un database MySQL è necessario creare un oggetto di tipo connessione tramite la funzione createconnection(). var mysql = require("mysql"); var connection = mysql.createconnection({ "host": "localhost", "port": 3306, "user": "username", "password": "secret", "database": "dbname" ); Alla funzione createconnection()viene passato un oggetto che contiene i parametri di connessione (host e porta a cui connettersi, credenziali, database a cui accedere).
17 Connessione a database Dopo aver creato un oggetto connessione, si deve chiamare la funzione connect(). // questo codice va aggiunto al precedente connection.connect(function(error) { if (error) { return console.error(error); // Connessione stabilita ); La funzione connect()ha come parametro una funzione di callback che verrà chiamata dopo che sarà stata stabilita la connessione. Se accade un errore durante la connessione, l'errore viene passato come argomento alla funzione di callback.
18 Connessioni pooled In alternativa a createconnection()e connect()è possibile utilizzare createpool()e getconnection() che permettono una gestione più efficiente delle connessioni. var mysql = require("mysql"); var pool = mysql.createpool({ "host": "localhost", "user": "username", "password": "secret", "database": "dbname" ); pool.getconnection(function(error, connection) { if (error) { return console.error(error); // Connection available for use ); Oltre ad un eventuale errore, la funzione di callback ha come parametro l'oggetto che rappresenta la connessione.
19 Query Una volta stabilita una connessione, è possibile effettuare delle query al database mediante la funzione query(). var mysql = require("mysql"); var pool = mysql.createpool({ "host": "localhost", "user": "username", "password": "secret", "database": "dbname" ); pool.getconnection(function(error, connection) { if (error) { return console.error(error); var sql = "SELECT * FROM Person"; connection.query(sql, function(error, results) { if (error) { return console.error(error); console.log(results); connection.release( ); ); );
20 Esercizio Utilizzare la funzione query per creare una tabella Person mediante la stringa SQL seguente: "CREATE TABLE Person (" + "SSN CHAR(11) NOT NULL," + "LastName VARCHAR(50) NOT NULL," + "FirstName VARCHAR(50) NOT NULL," + "Gender CHAR(1)," + "City VARCHAR(50) NOT NULL," + "State CHAR(2) NOT NULL," + "PRIMARY KEY(SSN)" + ");"
21 Esercizio Dopo aver creato la tabella, riempitela mediante la stringa SQL seguente (aggiungendo codice all'esercizio precedente): "INSERT INTO Person (SSN, LastName, FirstName, Gender, City, State)" + "VALUES (' ', 'Pluck', 'Peter', 'M', 'Pittsburgh', 'PA')," + "(' ', 'Johnson', 'John', 'M', 'San Diego', 'CA')," + "(' ', 'Doe', 'Jane', 'F', 'Las Vegas', 'NV')," + "(' ', 'Doe', 'John', 'M', 'Las Vegas', 'NV');"
22 Esercizi Create una seconda tabella Vehicle secondo il seguente schema: CREATE TABLE Vehicle ( SSN CHAR(11) NOT NULL, VIN INT UNSIGNED NOT NULL, Type VARCHAR(50) NOT NULL, Year INT UNSIGNED NOT NULL, PRIMARY KEY(VIN), FOREIGN KEY(SSN) REFERENCES Person(SSN) ); Aggiungete i seguenti record alla tabella Vehicle: (' ', 12345, 'Jeep', 2014); (' ', 67890, 'Van', 2010); (' ', 54327, 'Truck', 2009); (' ', 98032, 'Car', 2006);
23 Esercizi Estraete dalla tabella Person tutti i record il cui cognome sia Doe. Estraete dalla tabella Vehicle tutti i veicoli immatricolati successivamente al Create una query che permetta di estrarre il nome e cognome delle persone che posseggono un'auto a Las Vegas.
24 Web server statico In questo esempio, creeremo un web server funzionante per contenuti statici. L'esempio suppone che le pagine web siano contenute in una directory "public" e che le immagini e i fogli di stile siano contenuti rispettivamente in "public/imgs" e "public/styles". Per prima cosa importiamo tutti i moduli che ci servono var http = require('http'); var fs = require('fs'); var path = require('path'); var mime = require('mime'); Il modulo mimepermette di identificare il tipo MIME di un file a partire dal nome del file ed è un modulo esterno che va installato tramite npm.
25 Web server statico Creiamo due funzioni per ritornare una risposta al client sia in caso di risorsa non disponibile che in caso di risorsa disponibile. Notate l'utilizzo di mimeper poter determinare in automatico il tipo di informazione che ritorniamo al client function send404(response) { response.writehead(404, {'Content-Type': 'text/plain'); response.write('error 404: resource not found.'); response.end(); function sendfile(response, filepath, filecontents) { response.writehead( 200, {"content-type": mime.lookup(path.basename(filepath)) ); response.end(filecontents);
26 Web server statico Creiamo una funzione che recupera la risorsa richiesta dal client, ritornando la risposta opportuna tramite utilizzo delle funzioni create in precedenza. function servestatic(response, abspath) { fs.exists(abspath, function(exists) { if (exists) { fs.readfile(abspath, function(err, data) { if (err) { send404(response); else { sendfile(response, abspath, data); ); else { send404(response); );
27 Web server statico Infine, creiamo il server per rispondere all richieste provenienti dal client. Notate che andiamo a lavorare con il path per poter recuperare sempre le risorse corrette. var server = http.createserver(function(request, response) { var filepath = false; if (request.url == '/') { filepath = 'public/index.html'; else { filepath = 'public' + request.url; var abspath = './' + filepath; servestatic(response, abspath); ); server.listen(8124, function() { console.log("server listening on port 8124."); );
Concetti fondamentali
Node.js Concetti fondamentali by Stefano Burigat Esecuzione asincrona Quasi tutte le funzioni in node vengono eseguite in modo asincrono (a tal punto che molte funzioni hanno una versione sincrona che
DettagliMySQL Database Management System
MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliApache 2, PHP5, MySQL 5
Installazione di Apache 2, PHP5, MySQL 5 Corso Interazione Uomo Macchina AA 2005/2006 Installazione e Versioni Considerazione le versioni più recenti dei vari software così da poterne sperimentare le caratteristiche
DettagliCostruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query
Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che
DettagliLaboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliMetodi per la Gestione dei Dati (lezioni di laboratorio)
Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati
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
DettagliConcetti fondamentali dei database database Cos'è un database Principali database
Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione
DettagliLezione 9. Applicazioni tradizionali
Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere
DettagliINDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliMYSQL CLUSTER. Di Stefano Sardonini
MYSQL CLUSTER Di Stefano Sardonini 1 MYSQL CLUSTER NDB, MON,HEARTBEAT Questo documento descrive la progettazione e configurazione di un architettura di database che utilizza l engine mysql ndb per la replica
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
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
DettagliUniversità degli Studi di Catania Dipartimento di Matematica e Informatica Compilatori 2014/15
Università degli Studi di Catania Dipartimento di Matematica e Informatica Compilatori 2014/15 Cristina Parasiliti Parracello, Dario Safarally, Roberta Maccarrone Mail Parser Introduzione Il presente documento
DettagliIntroduzione a phpmyadmin
Introduzione a phpmyadmin http://www.phpmyadmin.net Per chiarimenti, http://www.ing.unibs.it/~alberto.lazzaroni 1 phpmyadmin: cosa è, a cosa serve È un software di amministrazione di database MySql (MySql
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliBackup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF
SPARC-CS-12/001 20 Gennaio 2012 Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF Abstract Vengono descritte le procedure di backup e restore dei dati memorizzati in un database di
DettagliProtocolli 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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliEsercitazione 4 JDBC
JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione
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.
DettagliFASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!)
Panoramica sul Web design: FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!) FASE 2: Definire se lavorare su un CMS (es Joomla, Wordpress,
DettagliLA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliIndice GAMMA. Guida utente
Indice GAMMA Schermata di benvenuto... 3 1.1.1 Connessione a SQL Server... 5 Uscita dalla procedura di installazione... 7 1.1.2 Aggiornamento DATABASE... 9 1.1.3 Aggiornamento CLIENT... 12 II Aggiornamento
DettagliLicenza per sito Manuale dell amministratore
Licenza per sito Manuale dell amministratore Le seguenti istruzioni sono indirizzate agli amministratori di siti con un licenza per sito per IBM SPSS Modeler 15. Questa licenza consente di installare IBM
DettagliStrumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale
Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale Installazione EasyPHP Scaricare e lanciare easyphp1-8_setup.exe (es. dalla pagina della didattica su http://www-db.deis.unibo.it/~fgrandi)
DettagliEsercitazione sulle libpq - libreria C per PostgreSQL
Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008
DettagliAppunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.
Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco
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
DettagliCreazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente)
Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati
DettagliQuesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando
DettagliCOSTRUZIONE SITO WEB da AlterVista (www.altervista.org)
COSTRUZIONE SITO WEB da AlterVista (www.altervista.org) Registrazione del proprio sito: occorre individuare un nome da dare al Sito e successivamenete (se il nome non è già stato usato), premere il bottone
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
Dettagli- DocFinance Manuale utente
Interfaccia - DocFinance Manuale utente Installazione interfaccia. L interfaccia - DocFinance viene installata tramite il pacchetto di Setup, che permette di lanciare la console di configurazione automatica
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliSicurezza Informatica: Tecniche di SQL INJECTION
Sicurezza Informatica: Tecniche di SQL INJECTION Pietro Bongli Aprile 2004 N.B. L'informazione contenuta in queste pagine è divulgata per scopi puramente didattici e non per ni illegali. Structured Query
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
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliPreparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL
Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL
DettagliLezione 8. Metadati, Viste e Trigger
Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli
DettagliIL DAT A B A S E DI ALGE B R A N D O
IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano
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
DettagliManuale d uso della libreria Volta Log
Manuale d uso della libreria Volta Log www.satellitevolta.com 1 www.satellitevolta.com 2 [Rif.01] Pacchetto di distribuzione di Volta Log (volta-log-x.y.z.* scaricabile da http://sourceforge.net/projects/voltalog/files/?source=navbar)
DettagliIBM Software Demos Tivoli Composite Application Manager for Web Resources
In questa demo esamineremo le esclusive funzioni di ITCAM for Web Resources che consentono al personale operativo IT e agli amministratori delle applicazioni di identificare e risolvere i problemi. Queste
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
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
DettagliCONFIGURAZIONE SERVER APACHE (XAMPP): ACCESSO SICURO A DIRECTORY DEL FILE SYSTEM.
CONFIGURAZIONE SERVER APACHE (XAMPP): ACCESSO SICURO A DIRECTORY DEL FILE SYSTEM. A CURA DI ANTONELLA LAURINO Questa guida permette di configurare il server apache, contenuto nel software xampp, in modo
DettagliCORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity
CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliRemote SQL Command Execution
Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere
DettagliEsercitazione PAM. (Php Apache MySQL)
Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione
DettagliRELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI
RELAZIONE TECNICA GESTIONE CARTE DI CREDITO a cura di EMANUELE CESARI 1 INDICE ARGOMENTO: PAGINA 1. Traccia del problema 3 2. Analisi di massima e spiegazione 4-11 3. Modello Er 12 4. Scema Relazionale
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliUna piattaforma per creare blog, che utilizza il linguaggio PHP e si
1^ Puntata WordPress è un ottimo CMS (Content Management System) Una piattaforma per creare blog, che utilizza il linguaggio PHP e si avvale di un database Mysql. Un CMS è quindi un sistema di gestione
DettagliLavorare con MySQL Parte Seconda.
Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
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
DettagliScheda 15 Accedere ai DataBase con JDBC
Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali
DettagliProgetto di Ingegneria del Software 2. SWIMv2
Progetto di Ingegneria del Software 2 2012/2013 SWIMv2 Guida di installazione Docente: Prof. Luca Mottola Davide Brambilla Antonio Caputo Paolo Caputo 1 Introduzione La piattaforma è stata sviluppata come
DettagliMySQL Database Management System
MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form
DettagliSOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE
SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE S O. S E. B I. P R O D O T T I E S E R V I Z I P E R I B E N I C U L T U R A L I So.Se.Bi. s.r.l. - via dell Artigianato, 9-09122 Cagliari Tel. 070 / 2110311
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
DettagliScrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i
Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo
Dettagli1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio
1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio Per installare Concept su un nuovo Client è sufficiente collegarsi con Esplora Risorse al server di Concept (il tecnico che esegue l
DettagliLe funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
DettagliLa connessione php-mysql con MySQLi
La connessione php-mysql con MySQLi Premessa Lo scenario che si intende alla base di questo capitolo è di disporre di un ambiente phpmysql rappresentato nel seguente schema: L'applicazione php viene eseguita
DettagliInstallazione e caratteristiche generali 1
Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato
DettagliPHP e Structured Query Language
Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliGuida all upgrade alla versione 1.4.1
Guida all upgrade alla versione 1.4.1 Questo documento ha lo scopo d analizzare le problematiche e individuare le soluzioni per aggiornare MWCMS da una versione precedente alla versione 1.4.1. Verifica
DettagliGuida all installazione e configurazione di Joomla 1.5
Guida realizzata e rilasciata dallo staff di Joomlaservice.org Joomla 1.5 lascia finalmente la fase beta per la RC1, in attesa di approdare alla versione stabile. Le differenze tra un installazione di
DettagliISTRUZIONI AGGIORNAMENTO TARIFFARIO 2006
ISTRUZIONI AGGIORNAMENTO TARIFFARIO 2006 Download: Procedura di aggiornamento 1) Assicurarsi di avere una versione di Winzip uguale o superiore alla 8.1 Eventualmente è possibile scaricare questo applicativo
DettagliACTIVE SERVICE PAGES E DATABASE: tecnologia ADO
ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO CARICARE DATI IN UNA TABELLA DA UN FORM Per utilizzare il Database nel Web, è necessario essere collegati al Db stesso, per far ciò, si utilizzano gli ADO
DettagliCorso breve su automazione d'ufficio
OpenOffice.Org MySQL PHP Corso breve su automazione d'ufficio L'obiettivo di questa dimostrazione è la creazione di una connessione ad una sorgente dati e l'automazione della stessa con un foglio di calcolo
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
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
Dettagli1. Importazione massiva delle richieste di accesso
1. Importazione massiva delle richieste di accesso La procedura di Inserimento Massivo consente ad un Ente Accreditato nel sistema (ovvero che possiede le credenziali di accesso) di effettuare delle importazioni
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliEsercitazione 01: DDL e DML di base
Esercitazione 01: DDL e DML di base Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione01.pdf Sistemi Informativi L-A Prima di iniziare
DettagliUn client su arduino invia i dati acquisiti ad un database
Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliSMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited 2015 http://www.yousms.it
SMS API Documentazione Tecnica YouSMS HTTP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione
DettagliSERVIZIO TELEMATICO ENTRATEL. Applicazione Invia Multifile
SERVIZIO TELEMATICO ENTRATEL Applicazione Invia Multifile Versione del documento: Novembre 2012 SERVIZIO TELEMATICO ENTRATEL... 1 APPLICAZIONE INVIA MULTIFILE... 1 1. Premessa... 3 2. Cartella di intallazione...
DettagliIntroduzione al Python
Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
DettagliQuesto punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di
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
DettagliEsercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account
DettagliPHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN
PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy
DettagliPrima di iniziare l installazione, controlla che tutte le parti necessarie siano presenti. La scatola dovrebbe contenere:
M A N U A L E N I - 7 0 7 5 0 2 1 C O N T E N U T O D E L L A C O N F E Z I O N E 4 C A R AT T E R I S T I C H E T E C N I C H E 4 G A M M A D I A P P L I C A Z I O N I 4 I N S TA L L A Z I O N E H A R
DettagliSOMMARIO COSA SERVE... 2 PRIMA DI INIZIARE... 2 COME PROCEDERE LATO SERVER... 3 COME PROCEDERE LATO CLIENT... 3
SOMMARIO COSA SERVE... 2 PRIMA DI INIZIARE... 2 COME PROCEDERE LATO SERVER... 3 COME PROCEDERE LATO CLIENT... 3 OPERAZIONE DI CONVERSIONE DEI NOMI LATO SERVER... 5 SYBASE... 6 MS SQL... 8 ESECUZIONE DEL
Dettagli