Pubblicati i video del Domain Driven Design Day

Sono stati pubblicati tutti i video delle sessioni del primo Domain Driven Design (DDD) Day.

La giornata è stata un vero successo sia per numero di partecipanti che per qualità degli interventi.

Chi non fosse riuscito a partecipare può scaricare i video al seguente link:

http://vimeo.com/album/1721725

Link diretti ai video:

DDD-Day Keynote “Intro, cos’è cambiato dal libro ad oggi, cos’è DDD oggi” (Alberto Brandolini)

Unleash your Domain with CQRS + Event Sourcing (Greg Young)

Mandare il vostro DBA nei matti in tre semplici mosse (Alberto Brandolini)

How I did it (in .NET): idiomatic Domain Driven Design – Parte 1 (Andrea Saltarello)

How I did it (in .NET): idiomatic Domain Driven Design – Parte 2 (Andrea Saltarello)

DDD in PHP (Giorgio Sironi)

Epic.NET: processi, pattern e architetture (Giacomo Tesio)

BDD: { Bring(UserStories). SharedWith(DomainExpert). Into(YourCompiledCode) } (Omid Ehsani)

DDD e Validazione (Andrea Canegrati)

Un ringraziamento doveroso alle community DotDotNet, DotNet Marche, DotNet Campania, XPUG Marche e UGI.Net che come al solito hanno investito tempo libero e passione per la riuscita dell’evento.

Ci vediamo al DDD Day 2012!

PS: inserisco la slide che ho preferito sopra tutte e che credo entrerà nella storia (by Alberto Brandolini). Java nel 2011 è come San Remo: solo i vecchi lo guardano!

Java-2011-San-Remo-solo-i-vecchi-lo-guardano

Share

Build 2011 – Microsoft presenta Windows 8

In questi giorni è in corso a Los Angeles la conferenza Microsoft BUILD (in passato nota come Professional Developer Conference).

Durante la prima giornata è stato mostrato quale sarà il successore di Windows che per ora ha il nome in codice molto fantasioso di “Windows 8”. Si tratta di un codename quindi non è detto che sarà rilasciato con questo nome.

Quali sono le novità?

Elenco in ordine sparso alcune delle novità di Windows 8, ricordando che è tutto in sviluppo e che da qui al 2012, data prevista per il rilascio, cambierà sicuramente molto.

La nuova interfaccia in stile Metro

Windows 8 basa la sua interfaccia su quello che Microsoft chiama stile Metro.

Lo stile Metro è stato creato avendo in mente i sistemi touch ma può essere utilizzato egualmente con mouse e tastiera. E’ un interfaccia che si basa su caratteri tipografici molto chiari e su icone molto “cubettose” (per alcuni è troppo squadrato) con l’esplicita intenzione di garantire una user experience basata sul massimo della semplicità e fluidità.

Lo stile metro ha fatto la prima comparsa in Windows Phone 7 e adesso è destinato a creare il family feeling dei prodotti Microsoft quali appunto mobile, desktop, console.

Il desktop lascia quindi il posto ad un nuovo Start menù in cui sono visualizzate tutte le app come appunto “mattonelle” (tile). La seconda caratteristica è che queste tile possono essere animate e quindi mostrare informazioni in tempo reale.

Le App Metro sono visualizzate a schermo intero e si ridimensionano automaticamente in base al dispositivo su cui sono in esecuzione e possono funzionare su sistemi x86/x64 e per la prima volta su processori ARM.

Da un punto di vista dello sviluppatore le App possono essere scritte sfruttando quanto già si conosce quindi XAML/C#/VB oppure in HTML5/JavaScript/CSS3.

Windows 8 Metro Start Menu Windows 8 Start Menu Desktop Applications

Internet Explorer 10

Nell’ottica Metro è stato presentato anche Internet Explorer 10 che si avvantaggia appunto del nuovo layout ed è soprattutto studiato per i touch screen, il che vuol dire che in maniera nativa e fluida è possibile trascinare, zoomare, cliccare sull’app IE 10.

Ovviamente IE 10 porta con sé alcune delle principali caratteristiche già in produzione oggi su IE 9 quali l’accelerazione hardware, il supporto HTML 5, la compilazione dei javascript.

Internet Explorer 10

Son curioso di vedere quali saranno le risposte di Chrome e Firefox.

Il nuovo task manager e Windows Explorer

Il task manager è stato completamente rinnovato da un punto di vista grafico ma soprattutto fornisce molte più informazioni.Windows 8 Task ManagerWindows 8 Task Manager Performance

I ribbon introdotti in Office 2007 e poi aggiunti a parti di Windows quali ad esempio Paint continuano a diffondersi raggiungendo anche Windows Explorer.

Da notare che è stato anche ripristinato il comodo pulsante per “tornare su” di una cartella.

Windows 8 Explorer Ribbon

Il nuovo “gestore di copia/sposta”

Quando si esegue una copia di un file da una cartella a un’altra, viene visualizzata una nuova finestra che mostra il progresso dell’operazione.

Le particolarità sono:

  • se si lanciano in contemporanea più copie viene utilizzata una sola finestra
  • il dettaglio mostra graficamente l’andamento della copia nel tempo
  • ma soprattutto è possibile sospendere temporaneamente una copia

Windows 8 Finestra copia muovi

Mount di una ISO

Windows 8 ISO Mount

 

Finalmente non sarà più necessario utilizzare to

ols di terze parti per montare una ISO (io utilizzo l’ottimo Virtual Clone Drive nel frattempo).

Quando si clicca con il tasto destro su una ISO (o si fa doppio click in quanto è l’operazione di default per

Hyper-V sul clienti file con questa estensione) viene automaticamente montata l’immagine e creato un disco virtuale. Per rilasciare l’immagine è sufficiente selezionare Eject sul disco virtuale esattamente come fosse un CD/DVD.

L’hypervisor Hyper-V farà la sua comparsa anche su Windows 8 rendendo probabilmente inutili lo stesso Virtual PC o, anche in questo caso software di terze parti (Virtual Box e VMware WorkstationPlayer in primis) e facilitando in questo modo lo sviluppo o il testing di applicazioni.

Il nuovo Windows Store

Il concetto di App store non è ovviamente nuovo. La novità è che Microsoft ha portato lo store anche sul Windows.

Dal punto di vista dell’utente è possibile cercare sullo store le applicazioni ed installarle o provarle semplicemente con un click (o un tap). Come ormai siamo abituati nel settore mobile le applicazioni saranno anche in versione trial. La piattaforma garantirà la qualità e la sicurezza delle applicazioni (ad esempio che siano esenti da virus) oltre ad una user experience uguale anche tra applicazioni diverse.

Gli sviluppatori potranno pubblicare le applicazioni sullo store sfruttando Visual Studio e sarà possibile controllare l’andamento dei download e delle vendite o scegliere in quali mercati rendere disponibile l’app.

Cosa c’è di “scontato”

Oltre alle novità però ci sono alcuni punti fermi quali ad esempio:

  • la compatibilità con tutto ciò che c’è oggi sia in termini hardware che software. Lo slogan è “tutto quello che gira con Windows 7 girerà su Windows 8”. Nota bene: le applicazioni attuali (che per differenziarle dalle App vengono chiamate applicazioni desktop) potranno funzionare se il PC è x86/x64
  • il desktop, le applicazioni esistenti oggi, Windows Explorer, il pannello di controllo: tutto è rimasto come prima quindi il passaggio al nuovo sistema non dovrebbe essere traumatico.

Poiché considero Windows 7 il miglior sistema operativo che Microsoft abbia prodotto ho voluto già installare la Developer Preview della nuova versione per iniziare a capire se è riuscita fare un passo avanti e provare concretamente le novità. Nei prossimi post cercherò di raccontare qualche impressione d’uso.

Share

Prima edizione della conferenza italiana dedicata al tema “Domain Driven Design”. Bologna 8 ottobre 2011

La community DotDotNet in collaborazione con DotNet Campania, DotNet Marche, UGIdotNet e XPUG Marche organizza la prima edizione della conferenza italiana dedicata al tema “Domain Driven Design” o DDD.

logo

Se sviluppi software a qualsiasi livello questa è l’occasione giusta per confrontarsi con speaker nazionali ed internazionali quali Greg Young, Andrea Saltarello, Alberto Brandolini e molti altri.

Il Domain Driven Design è un approccio per lo sviluppo di software complessi che si basa su alcuni punti chiave:

  • il focus di tutto lo sviluppo deve essere il dominio
  • il design deve essere basato su un modello
  • è fondamentale la comunicazione tra tecnici ed esperti di dominio per concentrarsi in maniera sempre più mirata sul dominio del software che si va a creare (e che rappresenta il vero valore)

Il DDD è un insieme di terminologie e pratiche che mirano alla gestione di problemi complessi ed è stato coniato da Eric Evans nel libro “Domain-Driven Design: Tackling Complexity in the Heart of Software” (che assolutamente consiglio!)

Per maggiori informazioni sugli speaker, sull’agenda e sulla logistica vi invito a visitare il sito www.ddd-day.it

Dallo stesso sito è possibile registrarsi.

L’evento è GRATUITO è si terrà nella giornata di sabato 8 ottobre presso l’Hotel Sheraton a Bologna.

Ci vediamo lì.

Share

SMAU Bologna e Community Tour 2011 – Windows Phone, HTML 5 e MVC

Giovedì 9 giugno 2011 nel contesto di SMAU Business alla Fiera di Bologna si terrà una nuova tappa del community tour organizzata da DotDotNet.

L’evento avrà come tema il presente ed il futuro del web con sessioni su Windows Phone 7, HTML 5 e MVC 3.

Mi è piacevolmente toccata la sessione su ASP.NET MVC 3 che considero un prodotto fondamentale per chiunque sviluppi su web applicazioni di una certa dimensione/durata.

Come al solito vi invito all’evento ed alla cena a seguire.

Agenda

Ora Sessione Speakers
13.45 – 14.00 Registrazione
14.00 – 14.45 Keynote – Presente e futuro del Web Microsoft Italia
14.45 – 15.45 Introduzione alla piattaforma Windows Phone

Windows Phone 7 ha introdotto un nuovo modo per intendere il telefono e una nuova piattaforma basata su hardware consistente, una piattaforma di sviluppo basata su Silverlight e XNA e un Marketplace con nuove opportunità di business.
In questa sessione vedremo come sviluppare su Windows Phone, come promuovere le proprie applicazioni tramite il marketplace e inoltre vedremo le moltissime novità della versione “Mango” che verrà rilasciata in autunno.

Lorenzo Barbieri
Microsoft Developer Evangelist
15.45 – 16.00 Pausa
16.00 – 17.00 Le novità di HTML5

HTML5 è il nuovo riferimento per lo sviluppo di siti e applicaizoni web based. In questa sessione vedremo come il nuovo standard può essere utilizzato per realizzare contenuti cross-browser e plugin-free ad alto impatto visuale.

Alessandro Scardova
Microsoft MVP, DotDotNet
17.00 – 18.00 ASP.NET MVC3

MVC favorisce la manutenzione delle applicazioni web tramite una architettura elegante ed una chiara ed esplicita separazione delle competenze, l’impiego dei più diffusi pattern di software engineering, il controllo completo dell’HTML generato e degli URL, la testabilità ed estendibilità. In questa sessione vedremo le novità principali della versione 3.

Stefano Benedetti
DotDotNet

Registrazione

Per registrarsi potete seguire questo link: http://dotdotnet.org/content/SmauBo2011.aspx

Share

Problema di installazione: Android SDK non trova JDK

Stò provando Mono for Android e ovviamente parto dall’installazione dei pre-requisiti.

I passi sono:

  • Java Development Kit (versione 32 bit, non basta la JRE)
  • Android SDK
  • Mono for Android

Tutto semplice all’apparenza, se non fosse che l’installazione di Android SDK (tramite EXE, versione “recommended”) non riesce a proseguire perchè non trova il JDK installato.

In pratica l’installer si ferma sulla seconda schermata con il pulsante NEXT disabilitato.

La soluzione? UNO SPETTACOLO!!! Premere back e poi nuovamente next e l’installer vede il JDK.

Come inizio non c’è male… speriamo bene.

Share

Google indicizza i PDF protetti? Si tramite IFilter

Nel post su IIS Express ho deciso di allegare la guida in formato PDF.

Per ridurre copie e ripubblicazioni ho creato il PDF specificando alcuni parametri di sicurezza. Ad esempio ho impedito la modifica del PDF e la copia del testo nella clipboard.

Quando ho pubblicato il PDF sul blog mi sono però posto questa domanda: Google e più in generale i motori di ricerca saranno in grado di indicizzare un PDF secured?

La risposta è sì in quanto Google, i motori di ricerca ed i software di indicizzazione (ad esempio SharePoint) utilizzano la tecnologia IFilter.

Tramite gli IFilter è possibile accedere e catalogare il contenuto ad esempio di file PDF, RTF, file compressi, CHM, file di Office o Visio.

Per verificare se il contenuto del PDF può essere indicizzato si può scaricare l’utility a riga di comando Extract Text dal sito Bullzip.com (http://www.bullzip.com/products/ext/info.php).

L’utility ha due soli parametri:

EXTRACTTEXT input=input_file_name output=output_file_name

Se questa utility è in grado di esportare il testo nel file di output sicuramente anche i motori di ricerca sono in grado di farlo.

NB: per estrarre il testo da un file PDF è necessario che sia installato l’IFilter PDF. L’IFilter PDF può essere scaricato dal sito Adobe.

Riferimenti

http://ifilter.org

L’ifilter di Adobe per i PDF

http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611

Share

ORM – Non mi serve – non lo voglio – fa schifo!

E’ dal 2007 che seguo con attenzione il tema degli ORM (Object-Relational mapping) ed in questi anni mi sono imbattuto in diverse categorie di utilizzatori.

Se stai facendo o hai fatto (o sicuramente farai) una di queste affermazioni:

  1. Non sò che cos’è on ORM
  2. Sò cos’è ma non mi interessa usarlo
  3. Sono più bravo io a scrivere le query sul DB
  4. Se uso un ORM le performance sono un disastro
  5. L’ORM me lo sono fatto/me lo farò io in casa
  6. Si ho usato un po’ gli ORM ma ho capito che fanno schifo

 

ti invito a continuare a leggere.

  1. Non sò che cos’è on ORMRimando direttamente a wikipedia sul tema Object Relational Mapping
  2. Sò cos’è ma non mi interessa usarlo Non ti interessa utilizzare una soluzione che ti faccia scrivere meno codice, che esegua per te tutte le query CRUD al database, che magari faccia caching, che faccia lazy loading, che ti aiuti a disaccopiare gli oggetti di dominio dal database ecc. ecc.?
  3. Sono più bravo io a scrivere le query sul DBCertamente! Peccato che ormail le query generate da un buon ORM siano esattamente se non meglio di quelle che per anni ha scritto un buon sviluppatore. Personalmente non ho la presunzione che le mie query siano migliori del lavoro svolto dalla comunità di NHibernate ad esempio.
    Però è sicuramente vero che sei più bravo tu se l’ORM non lo sai usare…
  4. Se uso un ORM le performance sono un disastro Vero se non sai minimamente la teoria che ci stà dietro e se non conosci come è stata implementata nell’ORM che stai utilizzando. E comunque non vanno mai usati alla cieca ma almeno almeno con un SQL profiler o se sei un po’ più evoluto con i profiler NHibernate Profiler (nhprof.com), Linq to SQL Profiler(l2sprof.com) o Entity Framework Profiler.
    Ti sei accorto che la tua ignoranza sul funzionamento fa si che le query che fai al db siano di tipo n+1?
  5. L’ORM me lo sono fatto/me lo farò io in casa Mi permetto di ricordarti che siamo pagati per generare valore per i clienti e sicuramente dopo qualche mese di sviluppo avrai fatto magari anche un buon ORM ma non avrai generato nessun valore per il cliente finale.
  6. Si ho usato un po’ gli ORM ma ho capito che fanno schifo Questa è la categoria di dev che mi irrita maggiormente. E purtroppo questa è l’obiezione che sento più spesso.
    Di solito chi fa questa affermazione pretende di utilizzare un ORM senza leggerne un minimo di documentazione ma soprattutto senza essere a conoscenza di un minimo di teoria che sta dietro a questi “robi”.

Per appronfodire il tema sabato 9 ottobre si terrà a Bologna l’NHibernate Day che a dispetto del nome ritengo sarà un’interessante confronto in generale sugli ORM e non solo sul principale player qual è appunto NHibernate. Le liste sono piene ma ci si può mettere in waitlist.

Giusto alcuni speaker:

In primis ci sarà Ayende in persona cioè l’anima di NHibernate e di tool quali appunto NHProfiler.

E poi Andrea Saltarello che ormai parla di ORM con una profondissima conoscenza teorica (accademica oserei dire) e pratica.

E dulcis in fundo DotDotNet con Igor Antonacci, Luca Milan e Alberto Dallagiacoma: e da questi 3 c’è da aspettarsi tanta esperienza concreta sul campo.

Chissà se incontrerò qualche appartenente ai 6 gruppi individuati sopra…

Share

Che faccio? Ovvero come sopravvivere a trunk, branch e tag

In questi giorni sul lavoro si è aperta una discussione sulla modalità di gestione delle linee di sviluppo all’intero del repository.

Come suggerimento di lettura sull’argomento consiglio in primis “Version control with Subversion” e poi la “Microsoft Team Foundation Server branching guidance” (che nonostante il nome contiene diversi spunti sulla gestione del codice sorgente e copre sia la versione 2008 che la 2010)

Il progetto su Codeplex è interessante perchè contiene svariati scenari reali in cui è possibile calarsi. Inoltre è molto utile l’idea di partire da una configurazione definita Basic e scalare via via verso soluzioni più complesse (Standard, Advanced e Mature) qualora si rivelasse necessario.

And don’t forget: “every branch you create does have a cost so make sure you get some value from it”

Share

Evento DotDotNet – Easter.NET 2010

Venerdì 9 aprile si terrà a Modena un nuovo evento di DotDotNet.

Gli argomenti trattati saranno:

  • [W:F#: programmazione parallela e asincrona||F_Sharp]
  • [W:Continuous Integration|en]
Dalla stessa pagina è possibile iscriversi e trovare le indicazioni per raggiungere la location.
A seguire ci sarà la solita cena in compagnia, chi si vuole aggregare è benvenuto.
CU

 

Share

IV UgiAltNetConf il 27 Giugno 2009 a Bologna

Pubblicizzo volentieri questo evento organizzato dallo user group ALT.NET (anche perchè si terrà comodamente a Bologna!).

La 4a UgiAltNetConf si terrà il 27 giugno a Bologna presso la sala consigliare del Quartiere Porto, Via dello Scalo, 21.

Per questa conferenza è stata indetta una call for papers e in virtù di questa apertura fornita dagli organizzatori mi son permesso di proporre una sessione pure io…

Tranquilli comunque, se partecipate le sessioni che sono state scelte saranno ben più stimolanti e tenute da speaker e professionisti di ben altro livello.Tongue out
Quindi per chi vuole iscriversi ci sono ancora alcuni posti liberi.

Informazioni sulla conferenza
Informazioni sulle sessioni

Per maggiori informazioni sulla filosofia ALT.NET vi rimando al sito.

Ah e soprattutto consiglio l’immancabile cena a seguire!!!

Share