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:

Ruby Language and some applications. Dott. Giovanni Nigita

Ruby Language and some applications. Dott. Giovanni Nigita Ruby Language and some applications Dott. Giovanni Nigita Panoramica u u u u u Introduzione Gli strumenti in Ruby Convenzioni e programmazione ad oggetti Tipi di dati Strutture di controllo u Ereditarietà?!?

Dettagli

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

ISTRUZIONI VELOCI DI PYTHON Versione 1.0 - (manuale realizzato con Google Documenti)

ISTRUZIONI VELOCI DI PYTHON Versione 1.0 - (manuale realizzato con Google Documenti) ISTRUZIONI VELOCI DI PYTHON Versione 1.0 - (manuale realizzato con Google Documenti) Realizzato da NiktorTheNat e diffuso in rete da: 8thPHLOOR Iniziato il giorno 8 febbraio 2010 - terminato il giorno

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

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky:

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky: Focusky Focusky è l innovativo e professionale software progettato per creare resentazioni interattive ad alto impatto visivo e ricco di effetti speciali (zoom, transizioni, flash, ecc..). A differenza

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

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

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

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

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

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

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

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

TITOLO DIGITALE. Come da Unico16042008.dtd nel plico XML potrà essere inserito il titolo digitale:

TITOLO DIGITALE. Come da Unico16042008.dtd nel plico XML potrà essere inserito il titolo digitale: TITOLO DIGITALE Come da Unico16042008.dtd nel plico XML potrà essere inserito il titolo digitale:

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

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

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

Informatica 3. Informatica 3. LEZIONE 12: Liste. Lezione 12 - Modulo 1. Posizione corrente. Introduzione

Informatica 3. Informatica 3. LEZIONE 12: Liste. Lezione 12 - Modulo 1. Posizione corrente. Introduzione Informatica 3 Informatica 3 LEZIONE 12: Liste Lezione 12 - Modulo 1 Modulo 1: ADT lista e implementazione basata su array Modulo 2: Lista concatenata ADT lista e implementazione basata su array Politecnico

Dettagli

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca

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

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

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

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

vcloud Director 5.5: what s new Novità e differenze con la precedente versione 1.5.1

vcloud Director 5.5: what s new Novità e differenze con la precedente versione 1.5.1 vcloud Director 5.5: what s new Novità e differenze con la precedente versione 1.5.1 Speaker Profile Raffaello Poltronieri Datacenter Operations Specialist. Lavoro nell IT da 15 anni, mi occupo di virtualizzazione

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

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

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

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

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

Python. Valerio Perticone

Python. Valerio Perticone Python Valerio Perticone Python Python è un linguaggio di programmazione molto semplice e conciso Ha il vantaggio di essere semplice da imparare e di poter essere eseguito su diversi sistemi operativi

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

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Windows 7 Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Contenuto del kit cod. 20046946: - Interfaccia PC-scheda (comprensiva

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

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

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

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

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

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

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

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

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

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

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

Funzione di Bridging su Windows XP

Funzione di Bridging su Windows XP Funzione di Bridging su Windows XP (le problematiche di convivenza con lo Spanning Tree) La funzione di Bridging dei sistema operativi Windows XP e 2003 permette di implementare due tipi di funzioni: 1.

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

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

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

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

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

Dettagli

Sicurezza delle reti. Monga. Tunnel. Sicurezza delle reti. Monga

Sicurezza delle reti. Monga. Tunnel. Sicurezza delle reti. Monga Sicurezza dei sistemi e delle 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XIX: Virtual Private Network a.a. 2015/16 1 cba 2011 15 M.. Creative Commons

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

Programmazione Orientata agli Oggetti in Linguaggio Java

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

Dettagli

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Versione Preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi

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

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

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

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

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

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

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

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

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

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

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

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

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

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

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

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

XAL - Realizzazione di un sito web in Joomla

XAL - Realizzazione di un sito web in Joomla XAL - Realizzazione di un sito web in Joomla Andrea Poli vr056636 Dipartimento di Informatica Facoltà di Scienze matematiche, fisiche e naturali Università degli Studi di Verona xx Luglio 2009 Presentazione

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

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

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

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

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione al linguaggio PHP Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione a PHP PHP è un linguaggio di programmazione general-purpose che viene utilizzato in larga parte

Dettagli

Una prima applicazione in C per l utilizzo delle socket

Una prima applicazione in C per l utilizzo delle socket Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface

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

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

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

ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema

ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema Pag. 1 a cura di Francesco Trucchia un phpbreakfast offerto dal GrUSP

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

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

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

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

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

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

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

Lavorare con i Fireworks pop-up menus in Dreamweaver

Lavorare con i Fireworks pop-up menus in Dreamweaver Lavorare con i Fireworks pop-up menus in Dreamweaver Su una pagina Web, un menu pop-up è uno strumento di navigazione che rimane nascosto fino a che l utente non sposta il puntatore del mouse sopra un

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

IGRP Interior Gateway Routing Protocol

IGRP Interior Gateway Routing Protocol IGRP Interior Gateway Routing Protocol Mario Baldi Politecnico di Torino mario.baldi[at]polito.it http://staff.polito.it/mario.baldi IGRP - 1 Nota di Copyright Questo insieme di trasparenze (detto nel

Dettagli