SVILUPPO DI APPLICAZIONI WEB CON RUBY ON RAILS 3

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SVILUPPO DI APPLICAZIONI WEB CON RUBY ON RAILS 3"

Transcript

1 SVILUPPO DI APPLICAZIONI WEB CON RUBY ON RAILS 3 Tommaso Visconti Laboratorio di Informatica Libera del Kollettivo

2 OPEN SOURCE Non solo linux...

3 RUBY & RAILS Distinguiamo le cose...

4 PROGRAMMAZIONE A OGGETTI Oggetto: stato (valori) + comportamenti (metodi) Interfacce: nascondere l implementazione generalizzando Ereditarietà Incapsulamento: getter e setter

5 OOP class MyClass < AnotherClass attr_reader :status def = 1 end def setstatus = new_status + 4 end end m = MyClass.new m.status => 1 m.setstatus(1) m.status => 5

6 RUBY AUTOMAGICALLY [:!, :!=, :!~, :%, :*, :+, :<, :<<, :<=, :<=>, :==, :===, :=~, :>, :>=, :[], :[] =, : id, : send, :`, :acts_like?, :acts_like_string?, :as_json, :ascii_only?, :at, :between?, :bind, :blank?, :breakpoint, :bytes, :bytesize, :camelcase, :camelize, :capitalize, :capitalize!, :casecmp, :center, :chars, :chomp, :chomp!, :chop, :chop!, :chr, :class, :class_eval, :classify, :clear, :clone, :codepoints, :column_of, :concat, :constantize, :copy_instance_variables_from, :count, :crypt, :dasherize, :dclone, :debugger, :define_singleton_method, :delete, :delete!, :demodulize, :display, :downcase, :downcase!, :dump, :dup, :duplicable?, :each_byte, :each_char, :each_codepoint, :each_line, :empty?, :enable_warnings, :encode, :encode!, :encode_json, :encoding, :encoding_aware?, :end_with?, :ends_with?, :enum_for, :eql?, :equal?, :equality_predicate_sql, :exclude?, :extend, :find_correlate_in, :first, :force_encoding, :foreign_key, :freeze, :from, :frozen?, :gem, :getbyte, :gsub, :gsub!, :hash, :hex, :html_safe, :html_safe!, :html_safe?, :humanize, :include?, :indent, :index, :inequality_predicate_sql, :initialize_clone, :initialize_dup, :insert, :inspect, :instance_eval, :instance_exec, :instance_of?, :instance_values, :instance_variable_defined?, :instance_variable_get, :instance_variable_names, :instance_variable_set, :instance_variables, :intern, :is_a?, :is_binary_data?, :is_complex_yaml?, :is_utf8?, :kind_of?, :last, :length, :line_of, :lines, :ljust, :load, :load_dependency, :lower_camelcase, :lstrip, :lstrip!, :map_soap_response, :match, :mb_chars, :method, :methods, :next, :next!, :nil?, :not_ascii_only?, :object_id, :oct, :ord, :parameterize, :partition, :pluralize, :presence, :present?, :pretty_inspect, :pretty_print, :pretty_print_cycle, :pretty_print_inspect, :pretty_print_instance_variables, :private_methods, :protected_methods, :public_method, :public_methods, :public_send, :replace, :require, :require_association, :require_dependency, :require_library_or_gem, :require_or_load, :respond_to?, :respond_to_missing?, :returning, :reverse, :reverse!, :rindex, :rjust, :rpartition, :rstrip, :rstrip!, :scan, :send, :setbyte, :silence_stderr, :silence_stream, :silence_warnings, :singleton_class, :singleton_methods, :singularize, :size, :slice, :slice!, :snakecase, :split, :squeeze, :squeeze!, :squish, :squish!, :start_with?, :starts_with?, :strip, :strip!, :strip_heredoc, :strip_namespace, :sub, :sub!, :succ, :succ!, :sum, :suppress, :swapcase, :swapcase!, :syck_to_yaml, :tableize, :tabto, :taguri, :taguri=, :taint, :tainted?, :tap, :titlecase, :titleize, :to, :to_blob, :to_c, :to_crlf, :to_d, :to_date, :to_datetime, :to_enum, :to_f, :to_i, :to_json, :to_lf, :to_param, :to_query, :to_r, :to_s, :to_soap_key, :to_soap_value, :to_soap_value!, :to_sql, :to_str, :to_sym, :to_time, :to_xs, :to_yaml, :to_yaml_properties, :to_yaml_style, :tr, :tr!, :tr_s, :tr_s!, :treetop_camelize, :truncate, :trust, :try, :underscore, :unloadable, :unpack, :untaint, :untrust, :untrusted?, :upcase, :upcase!, :upto, :valid_encoding?, :with_options, :with_warnings]

7 SFATIAMO UN MITO Ruby è fortemente tipizzato! ruby > stringa = "pippo" => "pippo" ruby > intero = 2 => 2 ruby > stringa + intero TypeError: can't convert Fixnum into String from (irb):3:in `+' from (irb):3 [...] ruby > stringa + intero.to_s => "pippo2"

8 LE IDEE DIETRO RAILS DRY: Don t Repeat Yourself Convention Over Configuration (REST e Routing) Rack: concatenazione di middleware Paradigma MVC: Model-View-Controller

9 MODEL-VIEW-CONTROLLER

10 MODEL-VIEW-CONTROLLER ActiveRecord: un ORM (Object Relational Mapping) per rendere OO i dati su un DBMS Migrazioni: Dovendo astrarre il DBMS usato, anche la creazione delle tabelle e il loro popolamento iniziale deve esserlo ERB: Ruby Template Files <% what = World! -%> <strong>hello, <%= what %></strong>

11 CONVENTION OVER CONFIGURATION Un esempio REST: il routing Metodo Path Azione Uso GET /photo index Mostra le foto GET /photo/new new Form di creazione POST /photo create Crea la foto GET /photo/:id show Mostra la foto GET /photo/:id/edit edit Form di modifica PULL /photo/:id update Aggiorna la foto DELETE /photo/:id destroy Elimina la foto Se seguo queste convenzioni Rails mi mette a disposizione un sacco di strumenti già pronti e adattati al mio modello

12 INTERNAZIONALIZZAZIONE /app/controller/application_controller.rb before_filter :set_locale def set_locale I18n.locale = params[:locale] end /config/locale/<lang>.yml en: hello: "Hello, world!" it: hello: "Salve, mondo!" /app/views/welcome/index.html.erb <strong><%=t hello %></strong>

13 EVITARE I RTFM E I LMGTFY SITI WEB MAILING-LIST listinfo/ml

14 APPLICAZIONI FAMOSE

15 Queste slides sono su: Let s code... Licenza:

I tipi di dati. Il comando dir. Capitolo 4

I tipi di dati. Il comando dir. Capitolo 4 Capitolo 4 I tipi di dati Dopo tante lungaggini burocratiche, entriamo finalmente nel vivo del linguaggio. Entriamo alla grande, esplorando uno degli aspetti più peculiari di Python: i suoi spettacolari

Dettagli

Ruby on Rails. Lugano, 29.03.2014. railsgirlsticino@gmail.com @RailsGirls_TI WWW.RAILSGIRLS.COM/TICINO

Ruby on Rails. Lugano, 29.03.2014. railsgirlsticino@gmail.com @RailsGirls_TI WWW.RAILSGIRLS.COM/TICINO Ruby on Rails Lugano, 29.03.2014 railsgirlsticino@gmail.com @RailsGirls_TI WWW.RAILSGIRLS.COM/TICINO INTRODUZIONE PRINCIPI BASE PRINICIPI BASE ROR SVILUPPIAMO CONCLUSIONI RailsGirls Ticino 2014 WWW.RAILSGIRLS.COM/TICINO

Dettagli

Ruby on Rails. Ovvero: Sviluppare applicazioni web divertendosi. Piero Bozzolo piero.bozzolo@gmail.com

Ruby on Rails. Ovvero: Sviluppare applicazioni web divertendosi. Piero Bozzolo piero.bozzolo@gmail.com Ovvero: Sviluppare applicazioni web divertendosi Piero Bozzolo piero.bozzolo@gmail.com Struttura del seminario 1 Parte prima: Panoramica su rails 1 Introduzione a 2 3 4 Principali caratteristiche di Rails

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) OSPF I lucidi presentati al corso sono uno

Dettagli

MODEL-VIEW-CONTROLLER PROBLEMA

MODEL-VIEW-CONTROLLER PROBLEMA MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

Let's start! File > New Project > Ruby > Ruby on Rails Application (events)

Let's start! File > New Project > Ruby > Ruby on Rails Application (events) La nuova versione di Netbeans 6 consente di lavorare con Ruby On Rails, un potente e nuovissimo framework per lo sviluppo e la prototipazione di applicazioni web, che fa uso del design-pattern MVC (Model-View-Controller,

Dettagli

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework. tesi di laurea Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework. Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio

Dettagli

Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_3

Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_3 Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_3 Luigi Ferrigno ferrigno@unicas.it Gruppo Misure Elettriche ed Elettroniche Facoltà

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Stringhe. Capitolo 6. Python for Informatics: Exploring Information www.pythonlearn.com

Stringhe. Capitolo 6. Python for Informatics: Exploring Information www.pythonlearn.com Stringhe Cpitolo 6 Python for Informtics: Exploring Informtion www.pythonlern.com Unless otherwise noted, the content of this course mteril is licensed under Cretive Commons Attribution 3.0 License. http://cretivecommons.org/licenses/by/3.0/.

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Outline. Quale è il ruolo del Web? Web 2.0 LAMP: Linux Apache MySQL PHP Hosting: Come e cosa scegliere CMS. Sviluppi futuri.

Outline. Quale è il ruolo del Web? Web 2.0 LAMP: Linux Apache MySQL PHP Hosting: Come e cosa scegliere CMS. Sviluppi futuri. Outline Quale è il ruolo del Web? Web 2.0 LAMP: Linux Apache MySQL PHP Hosting: Come e cosa scegliere CMS Joomla Wordpress Sviluppi futuri Ruby on Rails Il ruolo del Web Il ruolo del Web Il Web, grazie

Dettagli

strutturare dati e codice

strutturare dati e codice Puntatori e passaggio parametri strutturare dati e codice Tipo di dati int * Pi ; Op. dereferenziazione j = *Pi ; Op. indirizzo Pi = &i ; By value int f(int i) ; a = f(b) ; By address int f(int * Pi) ;

Dettagli

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti Alessio Bechini - Corso di - Il paradigma OO e le relative metodologie di progettazione Metodologie OO Programmazione orientata agli oggetti La programmazione ad oggetti (OOP) è un paradigma di programmazione

Dettagli

DROOLS in Laboratorio teoria e pratica di un sistema a regole

DROOLS in Laboratorio teoria e pratica di un sistema a regole DROOLS in Laboratorio teoria e pratica di un sistema a regole Denis Ferraretti denis.ferraretti @ unife.it January 19, 2011 Outline 1 Introduzione - Drools 2 Richiami di teoria... 3 Drools - Componenti

Dettagli

IL FRAMEWORK WEB RUBY ON RAILS E BREVE INTRODUZIONE ALLA PIATTAFORMA DI E-LEARNING CANVAS

IL FRAMEWORK WEB RUBY ON RAILS E BREVE INTRODUZIONE ALLA PIATTAFORMA DI E-LEARNING CANVAS UNIVERSITA DEGLI STUDI DI PADOVA FACOLTA DI INGEGNERIA CORSO DI LAUREA TRIENNALE IN INGEGNERIA INFORMATICA IL FRAMEWORK WEB RUBY ON RAILS E BREVE INTRODUZIONE ALLA PIATTAFORMA DI E-LEARNING CANVAS RELATORE:

Dettagli

Novità sul progetto Joomla!, panoramica sulle nuove versioni e compatibilità con nuovi database

Novità sul progetto Joomla!, panoramica sulle nuove versioni e compatibilità con nuovi database Novità sul progetto Joomla!, panoramica sulle nuove versioni e compatibilità con nuovi database Ing. Gabriele Pongelli Team leader e lead developer del driver PostgreSQL per Joomla! Outline Joomla! da

Dettagli

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 MySQL La pronuncia ufficiale è MY- S- Q- L ma si può leggere anche MY- Sequel. MySQL è il secondo RDBMS più diffuso al mondo. OpenSource sono licenza GPL Scelto

Dettagli

UML. Analisi, Modellazione e altro. UML (2) - 2010/11 G. Bucci 1

UML. Analisi, Modellazione e altro. UML (2) - 2010/11 G. Bucci 1 5 UML Analisi, Modellazione e altro UML (2) - 2010/11 G. Bucci 1 Contenuto Analisi e Modellazione Il pattern Singleton (en passant) Stereotipi per l analisi Il pattern MVC Il pattern Observer Una metodologia

Dettagli

DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE INTRODUZIONE SINGLETON. Scopo dei design pattern creazionali

DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE INTRODUZIONE SINGLETON. Scopo dei design pattern creazionali DESIGN PATTERN CREAZIONALI DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

Presentazione. Installazione, connessione e uso di Intelligent NAS 2014/7

Presentazione. Installazione, connessione e uso di Intelligent NAS 2014/7 Presentazione Installazione, connessione e uso di Intelligent NAS 2014/7 Indice Self-RAID Creation e capacità dell unità...3 Guida rapida di installazione...4 Installazione di Intelligent NAS...5 Dopo

Dettagli

Il Sistema di Routing. Routing nell Interrete. Routing con Informazioni Parziali. Propagazione delle Rotte

Il Sistema di Routing. Routing nell Interrete. Routing con Informazioni Parziali. Propagazione delle Rotte I semestre 02/03 Il Sistema di Routing Routing nell Interrete Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica

Dettagli

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Sviluppo Rapido di Applicazioni con Grails

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Sviluppo Rapido di Applicazioni con Grails Sviluppo Rapido di Applicazioni con Grails Presentazioni About Mokabyte: La prima rivista Web dedicata a java Circa 30 corsi di formazione On line da più di 10 anni About Gruppo Imola: Consulenze di alto

Dettagli

Mastering Matlab II. Esempi ed esercizi. 22/04/2010 C.Guerrini 1

Mastering Matlab II. Esempi ed esercizi. 22/04/2010 C.Guerrini 1 Mastering Matlab II Esempi ed esercizi 22/04/2010 C.Guerrini 1 Esempio 1 Questo esempio crea un montaggio da una serie di immagini contenute in 10 file. Il montaggio ha due righe e 10 colonne. Si possono

Dettagli

Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari

Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari Algoritmi e Strutture Dati Tipo di dato astratto e Strutture dati elementari 1 Argomenti della lezione Tipi di dato astratto Strutture dati elementari Liste o Implementazione di liste in Java Stack Code

Dettagli

Esercitazioni di Basi di Dati

Esercitazioni di Basi di Dati Esercitazioni di Basi di Dati A.A. 2008-09 Dispense del corso Utilizzo base di pgadmin III Lorenzo Sarti sarti@dii.unisi.it PgAdmin III PgAdmin III è un sistema di progettazione e gestione grafica di database

Dettagli

Introduzione a Ruby. Tesina. Laureando: Simone Ranzato Relatore: Prof. Federico Filira

Introduzione a Ruby. Tesina. Laureando: Simone Ranzato Relatore: Prof. Federico Filira UNIVERSITÀ DI PADOVA FACOLTÀ DI INGEGNERIA Introduzione a Ruby Tesina Laureando: Simone Ranzato Relatore: Prof. Federico Filira Corso di laurea in Ingegneria Informatica Anno Accademico 2009 2010 Indice

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server. Cosa vediamo web server Programmazione lato server PHP + MySQL request response web client database server Cosa vediamo MySQL browser Apache PHP engine MySQL server MySQL is a very fast, robust, relational

Dettagli

By E.M. note sull'uso di GAMBAS

By E.M. note sull'uso di GAMBAS By E.M. note sull'uso di GAMBAS GAMBAS viene installato sotto Xubuntu nella directory: /usr/share/gambas2 link problema su uso dell'esempio SerialPort http://gambasrad.org/zforum/view_topic?topic_id=1057

Dettagli

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi

Dettagli

Basi di Dati Uso di informazioni statistiche e partizionamento delle tabelle per incrementare le performances in PostgreSQL

Basi di Dati Uso di informazioni statistiche e partizionamento delle tabelle per incrementare le performances in PostgreSQL Basi di Dati Uso di informazioni statistiche e partizionamento delle tabelle per incrementare le performances in PostgreSQL di Matteo Bertini Email: matteo@naufraghi.net Web: http://www.slug.it/naufraghi/

Dettagli

Tecnologia e Applicazioni Internet 2011/12

Tecnologia e Applicazioni Internet 2011/12 Tecnologia e Applicazioni Internet 2011/12 Lezione 4 - Persistenza Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it Perché usare un DB relazionale? Per l accesso concorrente ai dati

Dettagli

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

Dettagli

Formazione sulla piattaforma Java2EE

Formazione sulla piattaforma Java2EE cprsjava2ee Formazione Personale Applicativo JAVA Pag 1 di 8 Formazione sulla piattaforma Java2EE Obiettivo: Figure interessate Informare sulle tecniche OOP OOA e OOD applicate alla piattaforma Java2EE-JSP-

Dettagli

Giovanni Torrero. E-mail = giovanni.torrero@email.it

Giovanni Torrero. E-mail = giovanni.torrero@email.it JAVA con NetBeans Giovanni Torrero E-mail = giovanni.torrero@email.it Indice Capitolo 1. Il primo programma 5 1.1. L ambiente operativo 5 1.2. La calcolatrice 16 1.3. Gli oggetti 21 Capitolo 2. Applet

Dettagli

Laboratorio di reti II: PHP

Laboratorio di reti II: PHP Laboratorio di reti II: PHP Stefano Brocchi brocchi@dsi.unifi.it 2 marzo, 2009 Stefano Brocchi Laboratorio di reti II: PHP 2 marzo, 2009 1 / 55 Il PHP Il PHP è un linguaggio di scripting che si può inserire

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1

Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1 Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1 HTTP, Web Services e RestSharp Dopo aver descritto nella prima parte di quest articolo 1 le basi su cui poggia la comunicazione nel Word Wide

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

DBImport Manuale Utente. DBImport Manuale Utente

DBImport Manuale Utente. DBImport Manuale Utente DBImport Manuale Utente Pagina 1 di 28 Pagina 2 di 28 SOMMARIO 1 Introduzione... 4 2 Descrizione del processo di importazione... 5 2.1 Invocazione... 5 3 File XML di importazione... 6 3.1 File principale,

Dettagli

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

Dettagli

Università degli Studi di Modena e Reggio Emilia. Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE

Università degli Studi di Modena e Reggio Emilia. Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE Università degli Studi di Modena e Reggio Emilia Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE Corso di Fondamenti di Informatica 2010-2011 Sommario Introduzione... 3 Installazione di Wascana Eclipse

Dettagli

ORACLE PARTITIONING 11G

ORACLE PARTITIONING 11G ORACLE PARTITIONING 11G Oracle Database e la Business Intelligence: Oracle Partitioning 11g Pagina 1 di 8 Indice Indice... 2 Introduzione... 3 Prerequisiti... 3 Criteri di partizionamento... 3 Gestione

Dettagli

VoIP tra teoria e pratica. Michele O-Zone Pinassi

VoIP tra teoria e pratica. Michele O-Zone Pinassi VoIP tra teoria e pratica Michele O-Zone Pinassi Breve storia della telefonia Il telefono è stato inventato attorno al 1860 da Antonio Meucci. Brevemente, l'apparecchio era dotato di un microfono e di

Dettagli

PROGRAMMAZIONE DISCIPLINARE D ISTITUTO a.s. 2015/2016 SECONDO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE

PROGRAMMAZIONE DISCIPLINARE D ISTITUTO a.s. 2015/2016 SECONDO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE ISIS"Giulio Natta" Bergamo pag. 1 di 5 SECONDO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE Disciplina INFORMATICA monte ore annuale previsto (n. ore settimanali per 33 settimane) 2X33 = 66 OBIETTIVI

Dettagli

L architettura MVC (Model- View-Controller) Introduzione

L architettura MVC (Model- View-Controller) Introduzione L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,

Dettagli

Analisi e sviluppo di un componente per un ESB open source

Analisi e sviluppo di un componente per un ESB open source tesi di laurea Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Ciro Romano candidato Rosario Celotto Matr. 534/1459 Introduzione L attività svolta è stata l analisi

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

Dettaglio dei corsi in aula

Dettaglio dei corsi in aula L offerta formativa Dettaglio dei corsi in aula Software Engineering Object Oriented Analysis and Design: fondamenti e principi dell object orientation. Dall analisi alla progettazione. I Design Pattern.

Dettagli

1.0.4. PostGIS. L'estensione geografica a PostgreSQL

1.0.4. PostGIS. L'estensione geografica a PostgreSQL 1.0.4 PostGIS L'estensione geografica a PostgreSQL Obiettivi Fornire una conoscenza di base su PostGIS dal punto di vista funzionale Presentare le principali interrogazioni SQL su oggetti PostGIS Fornire

Dettagli

Inserttags. Inserimento di contenuti dinamici nello sviluppo di siti web

Inserttags. Inserimento di contenuti dinamici nello sviluppo di siti web Inserimento di contenuti dinamici nello sviluppo di siti web Dov'è possibile utilizzare i tags? Elemento Testo Elemento Hyperlink Elemento Html Nei form All'interno dei moduli All'interno dei template

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

Dettagli

Copyright 2014 - Roberto Travagliante Email: info@travagliante.com Sito web: http://www.travagliante.com

Copyright 2014 - Roberto Travagliante Email: info@travagliante.com Sito web: http://www.travagliante.com Copyright 2014 - Roberto Travagliante Email: info@travagliante.com Sito web: http://www.travagliante.com Tutti i diritti sono riservati a norma di legge e a norma delle convenzioni internazionali. Nessuna

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

Programmazione Funzionale

Programmazione Funzionale Programmazione Funzionale LP imperativi: apparenza simile modello di progettazione = macchina fisica Famiglia dei LP imperativi = progressivo miglioramento del FORTRAN Obiezione: pesante aderenza dei LP

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

La Firma Digitale e le sue applicazioni

La Firma Digitale e le sue applicazioni La Firma Digitale e le sue applicazioni Ing. Francesca Merighi CINECA Tel. 051 6171916 e-mail: f.merighi@cineca.it Sommario Introduzione Dematerializzazione documentale Definizione e normativa sulla Firma

Dettagli

UML Analisi Modellazione e altro. G. Bucci 2005-6

UML Analisi Modellazione e altro. G. Bucci 2005-6 UML Analisi Modellazione e altro 1 UML (cos è) Linguaggio visuale (sostanzialmente) Non proprietario Sintesi di notazioni usate in passato (ER, State chart, OMT,.. ) in larga misura la notazione è specificatamente

Dettagli

SQL nei linguaggi di programmazione

SQL nei linguaggi di programmazione SQL nei linguaggi di programmazione Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia, Capitolo 6 SQL in Linguaggi di Programmazione L uso diretto

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Node.js + Drupal. Luca Lusso. giovedì 1 dicembre 11

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

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica-Informatica-Telecomunicazioni a.a. 2001-2002 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 Trasferimento

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

Dettagli

GerbView. 25 novembre 2015

GerbView. 25 novembre 2015 GerbView GerbView ii 25 novembre 2015 GerbView iii Indice 1 Introduzione a GerbView 2 2 Schermo principale 2 3 Top toolbar 3 4 Barra strumenti sinistra 4 5 Comandi nella barra del menu 5 5.1 File menu.......................................................

Dettagli

DIABETES. Tesina sull'apprendimento - Intelligenza Artificiale Cosimo Cecchi, Tommaso Visconti

DIABETES. Tesina sull'apprendimento - Intelligenza Artificiale Cosimo Cecchi, Tommaso Visconti DIABETES Tesina sull'apprimento - Intelligenza Artificiale Cosimo Cecchi, Tommaso Visconti Indice Cap. 1 - Descrizione del problema... pag. 3 Cap. 2 - Preprocessing dei dati... pag. 4 Cap. 3 - Suddivisione

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

PARTE 2. BZB 9 4. INSTALLAZIONE BZB SU WINDOWS 95... 9 5. CREAZIONE DI UNA ETICHETTA... 17 4-1. INSTALLAZIONE...9 4-2. APERTURA DI BZB DA WINDOWS...

PARTE 2. BZB 9 4. INSTALLAZIONE BZB SU WINDOWS 95... 9 5. CREAZIONE DI UNA ETICHETTA... 17 4-1. INSTALLAZIONE...9 4-2. APERTURA DI BZB DA WINDOWS... PARTE 2. BZB 9 4. INSTALLAZIONE BZB SU WINDOWS 95... 9 4-1. INSTALLAZIONE...9 4-2. APERTURA DI BZB DA WINDOWS...11 4-3. DISEGNO DI UNA NUOVA ETICHETTA...12 4-4. APERTURA DI UNA ETICHETTA ESISTENTE...13

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

Product Update - Version 3

Product Update - Version 3 powered by Product Update - Version 3 Questo documento fornisce una panoramica sulle funzionalità ed i miglioramenti rilasciati con la nuova versione 3 di WÜRTHPHOENIX EriZone Il concetto di EriZone EriZone

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 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

Dettagli

Installazione e configurazione dell'ide. IZ1MHN e IW1ALX. L IDE Introduzione alla programmazione su Arduino Le librerie

Installazione e configurazione dell'ide. IZ1MHN e IW1ALX. L IDE Introduzione alla programmazione su Arduino Le librerie IZ1MHN e IW1ALX Installazione e configurazione dell'ide L IDE Introduzione alla programmazione su Arduino Le librerie Occhio: purtroppo questa lezione ha un po di teoria! 1 L IDE o ADE Cos è un IDE Installazione

Dettagli

SOGo: sostituire Microsoft Exchange con software Open Source. Giovanni Bechis giovanni@openbsd.org

SOGo: sostituire Microsoft Exchange con software Open Source. Giovanni Bechis giovanni@openbsd.org SOGo: sostituire Microsoft Exchange con software Open Source Giovanni Bechis giovanni@openbsd.org Universitá degli studi di Udine, Nov 30, 2013 Mi presento sistemista e sviluppatore presso la SnB sviluppatore

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Sicurezza delle reti 1

Sicurezza delle reti 1 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2012/13 1 cba 2011 13 M.. Creative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia License. http://creativecommons.org/licenses/by-sa/3.0/it/.

Dettagli

24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1

24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1 24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1 _ REGOLE DI SCRITTURA COBOL : 1 fino a 6 = una volta usati per numerare le righe del programma, adesso usate normalmente per marchiare le modifiche. 7 * =

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia

Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia Firmato digitalmente da Sede legale Via Nazionale, 91 - Casella Postale 2484-00100 Roma - Capitale versato Euro

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E Informazioni personali Nome e Cognome Caruso Indirizzo Via Casale dei Greci 1bis 95031 Adrano (Catania) Telefono 3288850975 E-mail andrealuca.caruso@gmail.com

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: RIPASSO E APPROFONDIMENTO DEGLI ARGOMENTI PRECEDENTI 1.1. Concetti elementari di informatica Algoritmo, Dato, Informazione Campi di applicazione e classificazione

Dettagli

La gestione dei processi in Minix

La gestione dei processi in Minix La gestione dei processi in Minix Sistemi Operativi Lez. 28 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010 RESTful Web Service Andrea Pinazzi 10 Maggio 2010 Che cos è REST? REST, Representational State Transfer, è uno stile architetturale per sistemi software distribuiti. Il termine è stato introdotto e definito

Dettagli

USE IMPROVE EVANGELIZE HOT SUMMER ZFS. Luca Morettoni

USE IMPROVE EVANGELIZE HOT SUMMER ZFS. Luca Morettoni <luca@morettoni.net> HOT SUMMER ZFS Luca Morettoni HOT SUMMER ZFS ZFS: l'ultima parola sui filesystem Dove utilizzarlo Come utilizzarlo Q&A (best questions wins...) 2 ZFS: l'ultima parola sui filesystem

Dettagli

Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig

Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig Chiara Braghin chiara.braghin@unimi.it! Fingerprinting (1) Definizione generica: A fingerprint is defined as: 1. The impression

Dettagli

Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig. Chiara Braghin. chiara.braghin@unimi.it! Fingerprinting (1)

Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig. Chiara Braghin. chiara.braghin@unimi.it! Fingerprinting (1) Elementi di Sicurezza e Privatezza Lezione 19 Web Application Fingerprintig Chiara Braghin chiara.braghin@unimi.it! Fingerprinting (1) Definizione generica: A fingerprint is defined as: 1. The impression

Dettagli

Architettura e tecnologie per lo sviluppo del Setup-Dashboard. Setup Srl Information Technologies

Architettura e tecnologie per lo sviluppo del Setup-Dashboard. Setup Srl Information Technologies Architettura e tecnologie per lo sviluppo del Setup-Dashboard Setup Srl Information Technologies 1 Introduzione INTRODUZIONE In seguito a diverse richieste, Setup ha deciso di sviluppare un modulo denominato

Dettagli

Alla scoperta dei Graph Database

Alla scoperta dei Graph Database Alla scoperta dei Graph Database Matteo Pani 24 ottobre 2015 One size doesn t fit all Modellare le relazioni I Graph Database Il Labeled Property Graph Model I Graph-DBMS Neo4j Neo4j Internals Cypher Interagire

Dettagli

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A.

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 NoSQL http://nosql nosql-database.org/ Eufemia TINELLI Cosa è NoSQL? 1998 il termine NoSQL è

Dettagli

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo tesi di laurea Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori Anno Accademico 2009 2010 relatore Ch.mo prof. Marcello Cinque candidato Nicola Lubrano Matr. 534/1397 Contesto

Dettagli

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

Routers e LAN aggregati in regioni prendono il nome di Autonomous System quando sono controllati dalla stessa amministrazione; in un AS:

Routers e LAN aggregati in regioni prendono il nome di Autonomous System quando sono controllati dalla stessa amministrazione; in un AS: Routing Introduzione Il routing sulla rete avviene grazie all indirizzamento gerarchico: ogni router non conosce tutte le possibili destinazioni. Routers di livello basso conoscono solo le sottoreti che

Dettagli