Rendere Python un linguaggio di scripting migliore

Размер: px
Начинать показ со страницы:

Download "Rendere Python un linguaggio di scripting migliore"

Транскрипт

1 Rendere Python un linguaggio di scripting migliore Nicola Agenda Perché siamo qui? Cos'è un linguaggio di scripting? Una sorta di linguaggio di programmazione Ha meccanisimi di controllo del flusso Fornisce un modo pratico di eseguire comandi Python è un linguaggio di scripting? E' un linguaggio di programmazione Ha molte istruzioni di controllo del flusso Fornisce un modo di eseguire comandi non molto pratico Un comando semplice Qualsiasi interprete di comandi: ls -la Python: from subprocess import call call(("ls", "-la")) Cosa c'è di sbagliato?

2 Ragionevole per linee di comando fisse e semplici Gestire comandi complessi diventa scomodo La sintassi del linguaggio non fornisce supporto E' difficile rendere il codice riusabile Un comando non molto semplice svnadmin create repo if [ $? == 0 ]; then p="file://$(pwd)/repo/project" svn mkdir $p/branches $p/tags --parents \ -m"create project tree" svn import backup $p/trunk -m"first import" fi mkdir sandbox cd sandbox svn checkout $p/trunk project Prima di nxpy.command import os from subprocess import call p = "file://" + os.getcwd() + "/repo/project" res = call("svnadmin create repo", shell=true) if res == 0: call("svn mkdir " + p + "/branches " + p + "/tags " "--parents -m=\"create project tree\"", shell=true) call("svn import \"backup\" " + p + "/trunk " "-m=\"first import\"", shell=true) os.mkdir("sandbox") os.chdir("sandbox") call("svn checkout " + p + "/trunk \"project\"", shell=true) Vogliamo davvero... import os from nxpy.command.command import Error from magic import run_commands p = "file://" + os.getcwd() + "/repo/project" try: svnadmin create repo svn mkdir $p/branches $p/tags --parents \ -m"create project tree" svn import backup $p/trunk -m"first import" except Error: pass os.mkdir("sandbox") os.chdir("sandbox") svn checkout $p/trunk project Idealmente

3 from ls import ls print ls(long=true, all=true) Si... può... fare! Lanciare comandi Un comando non molto semplice (ripresa) import os from nxpy.command.command import Error from nxpy.svn.svnadmin import SvnAdmin from svn import Svn svn_ = Svn() p = "file://" + os.getcwd() + "/repo/project" try: SvnAdmin().create("repo") svn_.mkdir(p + "/branches", p + "/tags", parents=true, message="\"create project tree\"") svn_.import_("backup", p + "/trunk", message="\"first import\"") except Error as e: print e os.mkdir("sandbox") os.chdir("sandbox") svn_.checkout(p + "/trunk", "project") Il package nxpy.command svn_.mkdir(p + "/branches", p + "/tags", parents=true, message="\"create project tree\"") I comandi sono espressi con chiamate a metodi Gli argomenti dei comandi sono passati come argomenti semplici Le opzioni sono passate come argomenti keyword Il package nxpy.command (cont.) Le opzioni possono essere specificate in modo dichiarativo Verifica vincoli custom su combinazioni di opzioni e argomenti Costruisce le linee di comando risultanti e le esegue Restituisce output e error del comando Funziona sia con comandi interattivi che non interattivi E' più efficace quando molti sotto-comandi condividono le stesse opzioni ad es. svn, cleartool

4 Il package nxpy.command (cont.) package nxpy + package command + module option + class Config + class Parser + module command + class Command + module interpreter + class Interpreter La classe nxpy.command.option.config Specifica quali opzioni sono supportate e come devono apparire sulla linea di comando: bool_opts: value_opts: iterable_opts: format_opts: mapped_opts: opposite_options: vanno specificate quando sono True prendono un singolo argomento possono prendere più argomenti la loro sintassi è specificata da una stringa di formato sono mappate su una sintassi specifica devono apparire sulla linea di comando quando non sono presenti La classe nxpy.command.option.config (cont.) _config = Config( bool_opts = ( "ignore_externals", "parents" ), value_opts = ( "message", ), mapped_opts = { "ignore_externals" : "--ignore-externals" } ) Altri argomenti sono: prefix: prefisso delle opzioni. Il default è -- separator: separatore degli argomenti delle opzioni. Il default è spazio La classe nxpy.command.option.parser def import_(self, src, dest, **options): op = Parser(_config, "import", ( src, dest ), options, message="") op.checkmandatoryoptions("message") Controlla che le opzioni passate siano valide Costruisce la linea di comando Gli argomenti keyword indicano le opzioni supportate coi loro default La classe nxpy.command.command.command

5 class Svn(Command): def init (self): super(svn, self). init ("svn", None) def import_(self, src, dest, **options): op = Parser(_config, "import", ( src, dest ), options, message="") op.checkmandatoryoptions("message") self.run(op) Assembla tutti i pezzi Esegue (o visualizza) la riga di comando risultante Restituisce il contenuto di output ed error del comando Creare un wrapper per il comando ls from nxpy.command.command import Command from nxpy.command.option import Config, Parser _config = Config( bool_opts = ( "all", "long" ), mapped_opts = { "all" : "-a", "long" : "-l" } ) class Ls(Command): def init (self, debug=false): super(ls, self). init ("/bin/ls", debug) def call (self, *args, **options): op = Parser(_config, None, args, options, all=false, long=false) return self.run(op)[0] ls = Ls() Controllare interpreti Gestire programmi interattivi Le opzioni dei sotto-comandi si gestiscono allo stesso modo L' I/O non bloccante è usato per evitare deadlock Bisogna indicare come individuare il completamento del comando corrente Per individuare il completamento è usato un algoritmo di polling Può essere necessario gestire durate eccessive Un esempio: l'interprete di cleartool class FailedCommand(BadCommand): def init (self, cmd, err_code=0, err=""):

6 message = [] if err: message.append(err) if err_code!= 0: message.append("error: " + err_code) super(failedcommand, self). init (cmd, "\n".join(message)) command_line = "cleartool -status" _result_re = re.compile(r"command \d+ returned status (\d)\r\n") Un esempio: l'interprete di cleartool (cont.) class ClearTool(Interpreter): def _run(self, parser, **kwargs): if isinstance(parser, Parser): cmd = parser.getcommandline() else: cmd = parser raise_on_failure = kwargs.get("raise_on_failure", False) try: kwargs["cond"] = RegexpWaiter(self._result_re, EXP_OUT) out, err = self.run(cmd, **kwargs) if raise_on_failure: err_code = ClearTool._result_re.search(out).group(1) if err_code > 0: raise FailedCommand(cmd, err_code=err_code) return ClearTool._result_re.sub("", out), err, cmd except BadCommand as e: raise FailedCommand(e.command, err=e.stderr) Esprimere condizioni di terminazione Gli interpreti potrebbero emettere lo stesso messaggio ad ogni comando Altrimenti occorre cercare output specifico I Waiter aiutano a individuare la terminazione Waiter disponibili Il modulo interpreter fornisce modi per aspettare: Qualsiasi output / error Un numero specifico di righe Una stringa fissa Un'espressione regolare Un esempio diverso: il client ftp class Ftp(Interpreter): def init (self): super(ftp, self). init ("ftp -v") self.setlog(true) def open(self, host, port, user, password): op = Parser(None, "open", ( host, port ), {}) self.send_cmd(op.getcommandline()) self.expect_regexp("220")

7 self.send_cmd(user) self.expect_string("password:", EXP_ERR, raise_on_error=false) self.send_cmd(password) self.expect_regexp("230") Personalizzare l'algoritmo di polling A volte non c'è una fine dell'input identificabile I comandi potrebbero bloccarsi Può essere desiderabile interrompere comandi che durano troppo Personalizzare l'algoritmo di polling (cont.) Puoi specificare: Un timeout complessivo Un numero massimo di tentativi Un intervallo fisso tra i tentativi Un limite minimo all'intervallo tra tentativi Un esempio: l'interprete di cleartool (ripresa) def update(self, **options): op = Parser(_config, "update", (), options, print_report=false, force=false, nolog=false, log="") op.checkexclusiveoptions("log", "nolog") self._run(op, raise_on_error=false, timeout=300, interval=0.5, quantum=0.5) Conclusioni Python come linguaggio di scripting - E' importante? L'agilità del linguaggio ed il numero di librerie disponibili rendono spesso più conveniente scrivere veri e propri programmi Python di qualsiasi approccio tipo scripting. Però: I comandi utente possono essere più stabili A volte non esiste API! Tips & tricks Raggruppare i comandi uccide l'auto-documentazione Assicurati di individuare davvero la fine dell'output/error del sotto-comando Prima di usare un approccio EAFP assicurati che il tuo programma perdoni davvero! Punti aperti

8 Portare a Python 3 Più test! Separare dalla libreria? Indicazioni Il package nxpy.command è parte della libreria Nxpy Home page del progetto: E' disponibile su PyPI: pip install Nxpy Colophon sphinx sphinx-intl hieroglyph Nessuno stylesheet ha subito violenze nella realizzazione di questa presentazione! Q & A Q & A [Slide lasciata vuota intenzionalmente]

Introduzione al Python

Introduzione al Python Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

Подробнее

Il sistema operativo UNIX/Linux. Gli script di shell

Il sistema operativo UNIX/Linux. Gli script di shell Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue

Подробнее

Tipi 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. 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

Подробнее

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Подробнее

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Подробнее

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Подробнее

Guida di Pro Spam Remove

Guida di Pro Spam Remove Guida di Pro Spam Remove 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) FILTRO 5) ARCHIVIO E-MAIL 6) NOTE CONCLUSIVE 1) SOMMARIO Pro Spam Remove è un software che si occupa di bloccare tutto lo

Подробнее

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Подробнее

Introduzione alla programmazione in C

Introduzione 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

Подробнее

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista

Подробнее

Server Galileo. http://galileo.dmi.unict.it/

Server Galileo. http://galileo.dmi.unict.it/ Server Galileo http://galileo.dmi.unict.it/ Gestione progetti Wiki Subversion Iscrizione a Galileo Per registrarsi è sufficiente iscriversi da questa pagina: https://galileo.dmi.unict.it/iscrizioni/ L'account

Подробнее

Protocolli applicativi: FTP

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

Подробнее

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Подробнее

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI ([email protected]) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Подробнее

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Подробнее

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: [email protected] Valori e Tipi Un valore (= value) è una delle entità fondamentali che i programmi sono

Подробнее

I file di dati. Unità didattica D1 1

I 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à

Подробнее

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

Blue 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

Подробнее

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Подробнее

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Подробнее

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Подробнее

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX Attività Attività --> FIX In alcuni casi, in precedenza, sulla finestra trova attività non funzionava bene la gestione dei limiti tra date impostati tramite il menu a discesa (Oggi, Tutte, Ultima Settimana,

Подробнее

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Подробнее

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Подробнее

Lezione 9. Applicazioni tradizionali

Lezione 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

Подробнее

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione)

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) - 36 - Manuale di Aggiornamento 4 MODULI AGGIUNTIVI 4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) È stata realizzata una nuova funzione che permette di inviare un sollecito ai fornitori,

Подробнее

Guida Pro di Email Verifier

Guida Pro di Email Verifier Guida Pro di Email Verifier 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 1) SOMMARIO Pro Email Verifier è un programma che si occupa della verifica della validità di un certo numero di indirizzo

Подробнее

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it) ISTRUZIONI XCODE Autore: Luca Florio (luca.floriopolimi.it) XCode è l ambiente di sviluppo fornito da Apple che permette la creazione di applicazioni OSX e iphone. In questa guida vedremo come installarlo

Подробнее

W@DOM. Il Portale Documentale. Note Operative. Distribuzione Documenti on Line. Finpro Soc.Coop.

W@DOM. Il Portale Documentale. Note Operative. Distribuzione Documenti on Line. Finpro Soc.Coop. W@DOM Il Portale Documentale Distribuzione Documenti on Line Note Operative Pagina 1 di 7 Sommario W@DOM Distribuzione Documenti On Line... 3 Descrizione... 3 Home Page e Accesso all Applicazione... 3

Подробнее

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Подробнее

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Подробнее

Word processor funzione Stampa Unione

Word processor funzione Stampa Unione Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.

Подробнее

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Подробнее

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Подробнее

MANUALE BREVE PER IL DOCENTE TUTOR

MANUALE BREVE PER IL DOCENTE TUTOR MANUALE BREVE PER IL DOCENTE TUTOR INDICE ARGOMENTO PAGINA Descrizione ruolo svolto 2 Note 2 RUOLO TUTOR Modalità di accesso 3 FUNZIONI SOTTO COMUNICA: Messaggeria 5 FUNZIONI SOTTO STRUMENTI: AGENDA 10

Подробнее

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci [email protected] Basi di Dati A.A. 2007/2008 Tronci ( [email protected] ) Esercitazione libpq Basi di Dati 2007/2008

Подробнее

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Подробнее

Usare Python in Linux

Usare Python in Linux Università di Bologna 24 febbraio 2012 Outline 1 2 Outline 1 2 Cos è? Un sistema operativo Open Source; uno dei sistemi operativi dominanti in ambito server, ma utilizzabile su desktop, notebook, netbook,...

Подробнее

I Metacaratteri della Shell Unix

I Metacaratteri della Shell Unix I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla

Подробнее

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Подробнее

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Подробнее

Introduzione al Linguaggio C

Introduzione 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

Подробнее

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Подробнее

developed by Emanuele De Carlo

developed by Emanuele De Carlo developed by Emanuele De Carlo WorkGym è un Software sviluppato in JAVA pensato per migliorare la gestione di piccole e grandi palestre. Il suo principale scopo è quello di mantenere un DataBase contenente

Подробнее

Esercizi di JavaScript

Esercizi 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

Подробнее

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Подробнее

- DocFinance Manuale utente

- 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

Подробнее

PROCEDURE GENERALI ATTIVAZIONE MACRO

PROCEDURE GENERALI ATTIVAZIONE MACRO PROCEDURE GENERALI OBIETTIVO Attivazione macro GUIDA ALL UTILIZZO PREMESSA COS È UNA MACRO ATTIVAZIONE MACRO Che cos è una macro? Una macro è un automazione tramite software VBA (Visual Basic for Applications)

Подробнее

Gestione dei processi

Gestione dei processi Gestione dei processi Dormire unsigned int sleep(unsigned int); Attende un numero specificato di secondi a meno che non si verifichi un segnale Restituisce 0 se l'attesa è terminata senza interruzioni,

Подробнее

Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon

Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon NOTE PRELIMINARI: 1. La versione analizzata è quella del laboratorio beta della sede S. Davide di Porto, ma il programma è presente anche nel laboratorio alfa (Porto) e nel laboratorio di informatica della

Подробнее

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Подробнее

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) User Guide di Mattia Bargellini 1 CAPITOLO 1 Getting Started 1.1 Contenuto del package e Installazione

Подробнее

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per 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

Подробнее

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Подробнее

Bot Tutorial. NTR Italia Via Sangro, 29 20132 Milano Tel. +39 02 28 04 04 68 Fax +39 02 28 93 80 2 www.ntradmin.com www.ntrglobal.

Bot Tutorial. NTR Italia Via Sangro, 29 20132 Milano Tel. +39 02 28 04 04 68 Fax +39 02 28 93 80 2 www.ntradmin.com www.ntrglobal. Bot Tutorial NTR Italia Via Sangro, 29 20132 Milano Tel. +39 02 28 04 04 68 Fax +39 02 28 93 80 2 www.ntradmin.com www.ntrglobal.com Offices in Barcelona - Boston - Dallas - Heidelberg - London - Madrid

Подробнее

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Подробнее

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/ Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive https://nonconf.unife.it/ Registrazione della Non Conformità (NC) Accesso di tipo 1 Addetto Registrazione della Non Conformità

Подробнее

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Подробнее

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link: MANUALE UTENTE OTRS è il sistema di ticketing per la gestione delle richieste tecniche e di supporto ai clienti e partner di Delta Progetti 2000. La nuova versione 3.2.10 introduce una grafica più intuitiva

Подробнее

COSTER. Import/Export su SWC701. SwcImportExport

COSTER. Import/Export su SWC701. SwcImportExport SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune

Подробнее

Output di sistema di Capture Pro Software FTP Server

Output di sistema di Capture Pro Software FTP Server Panoramica Output di sistema di Capture Pro Software FTP Server L'output di sistema Capture Pro Software FTP Server trasferisce automaticamente i dati dei batch e degli indici (digitalizzati e con l'output

Подробнее

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Подробнее

SOFTWARE. Aprendo il SW la prima schermata che appare è la seguente:

SOFTWARE. Aprendo il SW la prima schermata che appare è la seguente: MediQuadro è il nuovo software creato da Medi Diagnostici per l archiviazione efficace di vetrini e biocassette preparati nei laboratori di ISTOLOGIA, CITOLOGIA, CITOGENETICA e EMATOLOGIA, tramite il proprio

Подробнее

Corso Drupal «Project management»

Corso Drupal «Project management» Corso Drupal «Project management» Pino Vasarelli, Andrea Vivaldi Iit Istituto di Informatica e Telematica del CNR Project management Il sito Project management deve avere le seguenti caratteristiche: la

Подробнее

MySQL Database Management System

MySQL 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

Подробнее

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione La Stampa Unione La Stampa unione consente di personalizzare con il nome, il cognome, l'indirizzo e altri dati i documenti e le buste per l'invio a più destinatari. Basterà avere un database con i dati

Подробнее

ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED

ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED Il collegamento normale delle schede Ethernet è eseguito installando la scheda e collegando la macchina al sistema. Di norma una rete Ethernet

Подробнее

Alcune configurazioni del browser Internet Explorer e del runtime Java necessarie per utilizzare l'interfaccia GIS del sistema gestionale ARTEA.

Alcune configurazioni del browser Internet Explorer e del runtime Java necessarie per utilizzare l'interfaccia GIS del sistema gestionale ARTEA. 16 maggio 2011 Alcune configurazioni del browser Internet Explorer e del runtime Java necessarie per utilizzare l'interfaccia GIS del sistema gestionale ARTEA. Leonardo Danza - [email protected]

Подробнее

Introduzione alla Programmazione

Introduzione alla Programmazione Introduzione alla Programmazione Lorenzo Bettini Corso di Laurea in Scienze dell'educazione 2014/2015 Cosa è un programma Costituito da tante istruzioni Una lista di cose da fare Che il processore esegue

Подробнее

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Подробнее

LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007

LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007 LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007 La fase di riclassificazione del bilancio riveste un ruolo molto importante al fine di comprendere l andamento aziendale; essa consiste,

Подробнее

FtpZone Guida all uso Versione 2.1

FtpZone Guida all uso Versione 2.1 FtpZone Guida all uso Versione 2.1 La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente

Подробнее

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni: XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive

Подробнее

Eclipse e Subversion

Eclipse e Subversion Eclipse e Subversion Prerequisito: creare un repository gratuito su http://www.assembla.com Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn:

Подробнее

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Подробнее

Per utilizzare il sistema VCP il programmatore deve inserire una porzione di codice di VCP nella sua applicazione.

Per utilizzare il sistema VCP il programmatore deve inserire una porzione di codice di VCP nella sua applicazione. Questo programma è indicato per tutti coloro che sviluppano applicazioni in linguaggio AutoLISP e VisualLISP e che desiderano proteggere da copie non autorizzate il proprio software. VisualLISP Copy Protection

Подробнее

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Подробнее

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Подробнее

Corso basi di dati Installazione e gestione di PWS

Corso basi di dati Installazione e gestione di PWS Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: [email protected] Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del

Подробнее

Dispensa di database Access

Dispensa 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

Подробнее

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Подробнее

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Подробнее

Tradelink: il tuo portale online. Una garanzia di semplicità nella gestione degli ordini

Tradelink: il tuo portale online. Una garanzia di semplicità nella gestione degli ordini Philips TradeLink Un nuovo modo di lavorare con Philips Lighting Tradelink: il tuo portale online. Una garanzia di semplicità nella gestione degli ordini Breve introduzione Indice 3 Accesso a Philips Tradelink

Подробнее

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:

Подробнее

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Подробнее

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Подробнее

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Подробнее

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Подробнее

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Подробнее

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Подробнее

Matlab: Gestione avanzata dei file

Matlab: Gestione avanzata dei file Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma

Подробнее

Manuale Utente MyFastPage

Manuale Utente MyFastPage Manuale MyFastPage Utente Elenco dei contenuti 1. Cosa è MyVoice Home?... 4 1.1. Introduzione... 5 2. Utilizzo del servizio... 6 2.1. Accesso... 6 2.2. Disconnessione... 7 2.3. Configurazione base Profilo

Подробнее