SlideShare a Scribd company logo
1 of 94
Download to read offline
Hands on MVC
 Mastering the Web
Chi siamo?
Michele Capra
 sviluppatore freelance
 .Net
 mail: michele@orangecode.it
 twitter: @piccoloaiutante



Claudio Gandelli
 sviluppatore freelance
 PHP
 mail: claudio@bitcandies.com
 twitter: @cgandelli
www.flickr.com/photos/justinbaeder/5317820857
WEB
www.flickr.com/photos/loungerie/1471835306




                                             Web
Web
1990 - Tim Berners-Lee
 Pool of Human Knowledge

Web Browser WorldWideWeb
       Web Server
        Web Page
Web
Internet
URL Uniform resource locator
HTTP Hypertext Tranfer Protocol
HTML Hypertext Markup Language
CSS Cascading Stylesheet
HTTP




       www.flickr.com/photos/kryptyk/125244997
HTTP

REQUEST | RESPONSE
HTTP
HTTP
www.flickr.com/photos/tz1_1zt/3202641220




                                           HTML
HTML
             Linguaggio di markup
     Annotation & Presentation Semantic
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
          <head>
                     <title>Html</title>
          </head>
          <body>
                     <h1 id=“header”>HTML</h1>
                     <div class=“slide”>
                        <h2>Linguaggio di markup</h2>
                        <p>Annotation &amp; presentation semantic</p>
                     </div>
          </body>
</html>
HTML
                    Document Type Declaration
                    Attributi
                    Entità
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
          <head>
                     <title>Html</title>
          </head>
          <body>
                     <h1 id=“header”>HTML</h1>
                     <div class=“slide”>
                        <h2>Linguaggio di markup</h2>
                        <p>Annotation &amp; presentation semantic</p>
                     </div>
          </body>
</html>
CSS




      www.flickr.com/photos/r80o/43381087
CSS

Regole per la formattazione
          Selettori
     Override a cascata
   Priorità dei selettori
www.flickr.com/photos/90921086@N00/56844581
WEB 2.0
WEB 2.0
http://www.flickr.com/photos/respres/3231178720




WEB 2.0
?
Progettazione
Integrare servizi disponibili
Progettazione
Scelta degli strumenti adatti
     Valutare alternative
www.flickr.com/photos/tuinkabouter/497701866




Linguaggi di Programmazione
Definire l’architettura del sistema
  Realizzare codice   modulare   e


    riusabile
  Riutilizzare codice già scritto
    Non “reinventare la ruota”
Architettura Software

www.flickr.com/photos/thomashawk/43213643
Identificare i dati in gioco
Persistere i dati in maniera intelligente
       Utilizzo di storage online
  Alternative ai DB relazionali: NoSQL
www.flickr.com/photos/thomashawk/24089964




Storage
Cloud Computing or not Cloud Computing?
Cloud




        www.flickr.com/photos/8525214@N06/3884240503
Lavoro di squadra
Rispettare la pianificazione
    Gestire le risorse
Team




       www.flickr.com/photos/atomicshed/161716498
Produrre software di qualità
Robustezza Affidabilità Correttezza
www.flickr.com/photos/jeffkrause/5636722378




                                              Test
Benchmarking
Ottimizzazione
www.flickr.com/photos/luciano_meirelles/3461860276




                                                     Performance
Cavalcare il cambiamento
Adattare alle innovazioni
www.flickr.com/photos/jdhancock/3420540107




Mobile
Caso di studio
Realizzare un guestbook


1   La pagina deve mostrare i messaggi
dei visitatori



2   Gli utenti devono poter inserire i
propri messaggi
Mock up
Il prototipo HTML
Mock up
Il foglio di stile
Mock up
Il foglio di stile
Mock up
Il foglio di stile
Caso di studio

 La programmazione
www.flickr.com/photos/36182550@N08/3347465868
Spaghetti Code
          Devo realizzare il blog
        Preparo l’html necessario
 Introduco le interrogazioni al database
  Realizzo la gestione degli inserimenti
                    ==
Una pagina di codice per realizzare il blog
Spaghetti Code


    DEMO
Spaghetti Code
          Pro
   Veloce da scrivere
   Veloce da eseguire

        Contro
   Scarsa manutenibilità
    Scarsa espressività
Difficile riuso del codice
  Impossibile il Testing
Separiamo




www.flickr.com/photos/bitzcelt/3892962709
Separiamo
          Business Logic
           Presentazione

Separiamo il layer logico (ASP .net)
da quello di presentazione (HTML)
Separiamo
Logica e presentazione in file distinti
Separiamo


  DEMO
Separiamo
Abbiamo ottenuto:


Controller     contiene la logica
               dell'applicazione


  Vista        presenta i
               risultati forniti
               dal controller
Separiamo

  Percorso Request – Response
Con architettura View - Controller
www.flickr.com/photos/19724636@N00/3297328910




Refactoring MVC
Refactoring MVC
Modello   gestisce il comportamento e i dati del
    dominio applicativo, risponde a richieste di
    informazioni di stato e a istruzioni di cambio
    di stato.

Vista     traduce le informazioni ottenute dal
    modello in un formato adatto all'interazione.

Controller      serve a coordinare il processo di
    interazione: riceve gli input dell'utente e
    scatena le chiamate verso gli oggetti del
    modello, per poi passare alla vista il
    necessario a fornire l'output corretto.
Refactoring MVC
MVC


DEMO
Refactoring MVC
                Pro
       Riusabilità del codice
        Astrazione dei dati
               Ordine

             Contro
            Numero di file
          Codice da scrivere
Pattern architetturale da implementare
ASP .Net MVC
ASP .Net MVC

Primo esperimento open source di Microsoft


             Nasce da Asp.net


    Implementazione nel .Net Framework
             del pattern   MVC.
ASP .Net MVC
       Sistema di   routing
           Scaffolding

             Template

           ActionFilter

Validazione automatica lato client

      Caching delle pagine
ASP .Net MVC


    DEMO
ASP .Net MVC

Richiesta   Url Routing   Mvc Route    Mvc Handler
              Module       Handler


                                        Controller
                                         Factory



Risposta                  ViewEngine   Controller
              View
ASP .Net MVC

   Ottima testabilità del codice


Separazione delle responsabilità di
              ogni layer


    Completo controllo dell’html
PHP Way




www.flickr.com/photos/dragonbe/3411273755
Approccio Naive
         Devo realizzare il blog
       Preparo l’html necessario
Introduco le interrogazioni al database
 Realizzo la gestione degli inserimenti
                   ==
 Una pagina di codice per realizzare il blog


                                               www.flickr.com/photos/lrargerich/3187525211
Approccio Naive


     DEMO


            http://webprog.php.local/
Refactoring MVC




www.flickr.com/photos/nrivera/3988954350
Refactoring MVC
Separazione View - Controller
Refactoring MVC
   Aggiunta del Model
Refactoring MVC
 Un semplice Framework MVC
MVC


DEMO


 http://webprog.mvc.local/messages/show
Symfony Framework
Symfony
 Web Application Framework per progetti PHP
 Setup semplice
 Design “pulito”
 Tools di Testing, Debugging, Documentazione
 Generatori automatici di codice
 Gratuito e licenziato   MIT

Symfony 1 (1.4)
Symfony 2
Symfony
Setup
Si scarica il Framework o si clona
dall’SVN
Si genera un nuovo progetto con gli
strumenti CLI messi a disposizione

   $ php lib/vendor/symfony/data/bin/symfony
   generate:project webprog-symfony

   $ php symfony generate:app frontend

Si configura il webserver per puntare
alla catella pubblica “web”
Struttura del Progetto
Cartella Web

      Contiente i Front
        Controller per
            ciascuna
          applicazione

         Contiene le
       risorse pubbliche
            del sito
Cartella Apps
Contiente le applicazioni web che insistono
         sul modello di riferimento
Ogni applicazione contiene le configurazioni
     (e.g. routing) e tutti i Controller
Cartella Config
    Configurazione del progetto

Configurazione di accesso al database

      Schema dei dati per l’ORM
Creazione del modello
Grazie all’ORM a partire dalla descrizione dello schema il
modello e la persistenza verranno generati automaticamente

            $ php symfony doctrine:build –model
            $ php symfony doctrine:build --sql
Creazione di un modulo
Un modulo suddivide l’applicazione per
  “funzionalità”
Per introdurre la funzionalità di gestione dei
  nostri messaggi creiamo il modulo “message”

$ php symfony doctrine:generate-module frontend
  message Message
Elenco dei messaggi


 Controller
              View


Model
Routing
Il documento di Routing permette al
  Front Controller di indirizzare al
  Controller corretto le richieste
Symfony


 DEMO


    http://webprog.symfony.local/
Generazione di Codice
L’Admin-Generator è lo strumento
  fondamentale per il RAD

Permette la creazione di un pannello
  di amministrazione dal Modello dei
  dati
$ php symfony generate:app admin

$ php symfony doctrine:generate-admin admin
  Message --module=message
Admin Generator


        DEMO


   http://webprog.symfony.local/admin.php/message
Hands on MVC
                             Mastering the Web
                                      Grazie


Michele Capra                Claudio Gandelli
 michele@orangecode.it         claudio@bitcandies.com
 twitter: @piccoloaiutante     twitter: @cgandelli




                                                www.flickr.com/photos/donbuciak/3151055123
Hands on MVC - Mastering the Web

More Related Content

What's hot

Spring Framework
Spring FrameworkSpring Framework
Spring FrameworkNaLUG
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
Modulo 6 Spring Framework Core E Aop
Modulo 6 Spring Framework Core E AopModulo 6 Spring Framework Core E Aop
Modulo 6 Spring Framework Core E Aopjdksrl
 
Utilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperUtilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperStefano Ottaviani
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
DotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppDotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppMassimo Bonanni
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applicationsDotNetCampus
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriAlessandro Nadalin
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0XeDotNet
 
Win02 bing e windows store apps
Win02   bing e windows store appsWin02   bing e windows store apps
Win02 bing e windows store appsDotNetCampus
 
Introduzione a JavaScript e jQuery (2/2)
Introduzione a JavaScript e jQuery (2/2)Introduzione a JavaScript e jQuery (2/2)
Introduzione a JavaScript e jQuery (2/2)Giuseppe Vizzari
 
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte
 
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppCorso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppAndrea Picchi
 
Sviluppo applicazioni in Ruby on Rails
Sviluppo applicazioni in Ruby on RailsSviluppo applicazioni in Ruby on Rails
Sviluppo applicazioni in Ruby on RailsNERDYDOG Web Agency
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Railsjekil
 
Mvc e di spring e angular js
Mvc e di   spring e angular jsMvc e di   spring e angular js
Mvc e di spring e angular jsRiccardo Cardin
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 

What's hot (20)

Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
Modulo 6 Spring Framework Core E Aop
Modulo 6 Spring Framework Core E AopModulo 6 Spring Framework Core E Aop
Modulo 6 Spring Framework Core E Aop
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Utilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperUtilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software Developer
 
Spring 2.5
Spring 2.5Spring 2.5
Spring 2.5
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
DotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppDotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store App
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
 
Win02 bing e windows store apps
Win02   bing e windows store appsWin02   bing e windows store apps
Win02 bing e windows store apps
 
Introduzione a JavaScript e jQuery (2/2)
Introduzione a JavaScript e jQuery (2/2)Introduzione a JavaScript e jQuery (2/2)
Introduzione a JavaScript e jQuery (2/2)
 
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
 
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppCorso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
 
Sviluppo applicazioni in Ruby on Rails
Sviluppo applicazioni in Ruby on RailsSviluppo applicazioni in Ruby on Rails
Sviluppo applicazioni in Ruby on Rails
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Rails
 
Mvc e di spring e angular js
Mvc e di   spring e angular jsMvc e di   spring e angular js
Mvc e di spring e angular js
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 

Similar to Hands on MVC - Mastering the Web

Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC FrameworkDotNetMarche
 
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)brossi676
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockoutDotNetCampus
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09Francesco Ronchi
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsAndrea Dottor
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAndrea Balducci
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?Giorgio Di Nardo
 
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Massimo Bonanni
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailDotNetMarche
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANODrupalDay
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
 

Similar to Hands on MVC - Mastering the Web (20)

Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)
 
Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
ASP.NET MVC Intro
ASP.NET MVC IntroASP.NET MVC Intro
ASP.NET MVC Intro
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
 
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developers
 

Recently uploaded

Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 

Recently uploaded (6)

Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 

Hands on MVC - Mastering the Web