Managed Designs

Andrea @ WPC 2013

Ormai ci siamo: settimana prossima “arriva” WPC e, per la 12a volta, abbasserò la qualità dell’evento partecipandovi in qualità di relatore. Sperando di far cosa utile ai partecipanti, provo a spiegare quale sarà il taglio delle mie 2 sessioni in modo da permettere di capire se preferirle (o viceversa) a quelle contemporanee. Idiomatic Domain Driven Design: siete reduci dalla prima lettura del “blue book” oppure “non ho letto il libro, ma ho trovato un po’ di documentazione online”? Bene, probabilmente ora ricadete in una delle seguenti categorie: 1) pensate che DDD “per il nostro scenario è...

Sito UGIdotNET, beta 2

Ho pubblicato un aggiornamento della versione beta del nuovo sito UGIdotNET, ecco il changelog: [UPDATE] Alcuni cambiamenti in home page, sia estetici (es: appaiono gli abstract anche per i tip e il numero di video è stato aumentato a 4) sia “sotto il cofano” (es: video e blog nella barra di dx vengono popolati mediante AngularJS). [NUOVO] Le pagine “lista” di articoli, news e tip hanno i feed atom/rss [NUOVO] E’ disponibile la sezione “Eventi” [NUOVO] Aggiunta la pagina “Collabora” [UPDATE] La pagina di...

Never mind the bollocks: here’s the MvcMate

Premessa: l’ho mostrato durante la mia sessione ai #CDays13 di Roma e mi stanno arrivando alcune mail al riguardo, quindi approfitto del blog per una risposta “pubblica e cumulativa”: ecco il sorgente di MvcMate, disponibile anche come package NuGet. Per coloro che non erano presenti, MvcMate è una libreria che sviluppiamo in Managed Designs a supporto dei nostri progetti web: fondamentalmente, è nata quando ho deciso di iniziare a impacchettare tutte quelle primitive che, pur generalmente utili, erano invece sparpagliate all’interno dei vari progetti (uno su tutti: la beta del nuovo sito UGIdotNET). Al momento, la libreria contiene:...

Do ut des

Ultimamente, uno dei dischi del server UGIdotNET decide di dichiararsi “offline” ogni tanto. Poi riparte, ma il fenomeno è fastidioso (il volume deve essere ricostruito). Nessun reale problema per la “salute” dei nostri dati (blog, forum, news, …) perchè: il server dispone di una catena RAID6 (ergo, dovrebbero rompersi simultaneamente 2 dischi per essere faulty e “addirittura” 3 per perdere il volume) effettuiamo un backup “online” dei dati ogni 4 ore effettuiamo un backup offline dei dati (“qualche” Gb di database) 2 volte alla settimana ...

Domain Driven Design @ Community Days

Con dei tempi decisamente troppo lunghi (mea culpa, e “millegrazie” a Daniele per la pazienza), da qualche giorno l’agenda dei Community Days è completa, con l’inserimento (grazie al supporto di GUISA) delle sessioni della track “Software architecture”. Riguardando l’agenda, mi sono reso conto che “spunta” un vero e proprio mini tutorial di Domain Driven Design imperniato su 3 sessioni: DATA01 - Build a LINQ-enabled Repository WEB01 - MVC++ ARCH02 - "Beyond" DDD: uno sguardo a CQRS and event sourcing La sessione di Alessandro è dedicata...

UGIdotNET PhoneSevenizzato

Ricordate quel “anche UGIdotNET sarà presto WindowsPhoneSevenizzato” che ho scritto qui ieri? Il “bottegaio” Davide si è scatenato ed abbiamo pubblicato una piccola preview sul feed Twitter di UGIdotNET. Commenti? Suggerimenti? Ci “vediamo” sul forum! Technorati Tag: UGIdotNET,Windows Phone 7

La legge è uguale per tutti… Software compreso

Premessa: questo post “nasce” dal verificarsi di une serie di "episodi” concentrati negli ultimi giorni; più precisamente: Questo post di Raf Una conversazione avvenuta ieri (e quindi ancora facilmente rintracciabile sul mio feed) con il Makka su Twitter. Argomento: “Database as a service” Ultimamente sto dando una mano al team di Dexter, perchè i “ragassuoli” vogliono aggiungere il supporto multi blog (Dexter users, non trattenete il respiro perché non so se sarà una attesa breve <g>). Fondamentalmente, li sto supportando nel ruolo di “analista”, ergo sto scrivendo requisiti. ...

Tutto il mondo è paese, ma se lo avesse fatto Microsoft…

Premessa: il mio desktop è un MacMini dal 2005, il mio notebook è un MacBook ed il telefono un iPhone 3GS; se non fossi mediamente soddisfatto, non sarei più cliente Apple da un bel pezzo (considerando che il primo Mac sul quale misi le mani fu un Mac LC II e son passati tanti anni). Però… Però settimana scorsa ho acquistato un MacBook Pro per un “nuovo acquisto” di Managed Designs e… “Out of the box”, lo attacco alla rete per fare il primo “giro” di “Aggiornamento Software” (l’equivalente di Windows Update, per intenderci) e scarica *1,02* Gb di aggiornamenti....

NSK: Entity Framework, finalmente

La domanda è di Aigor, ma poiché penso possa essere di comune interesse la pubblico anche qui. Da un paio di giorni, ho “committato” in NSK il DAL basato su Entity Framework 4. Utilizza (come da requisito) il Domain Model “vanilla” perché si avvale del mapping “POCO style” introdotto con la v4 dell’O/RM di casa Microsoft. Ho temporaneamente desistito dall’implementazione del mapping “Fluent” perché la CTP attuale del toolkit “Code Only” (che nel gergo MS significa “POCO & fluent” <g>) per EF è ancora troppo acerba, ma appena arriverà una nuova build (e AFAIK non dovrebbe mancare molto) riprenderò i...

NSK: status update

Piccolo recap: A partire dal post di Giulio sul forum GUISA, il mapping fluent/POCO/code only con EF4 è la domanda che ultimamente ricevo più spesso. Un po’ per rispondere a tutti in “colpo unico”, un po’ perché la documentazione è effettivamente molto carente (in fondo si tratta di una feature in CTP3), ho iniziato a lavorare “seriamente” sul DAL EF4 di NSK: è ben lungi dall’essere finito, ma la “raffica” di check-in di ieri dovrebbe iniziare ad essere un significativo supporto per coloro che desiderassero intraprendere questa strada Con la definizione dei...

Ad ognuno il suo…

“Loro” oggi vanno in RTM, noi nel nostro piccolo abbiamo pubblicato la “RC” del nostro nuovo sito :-) Technorati Tag: managed designs

NSK: da 'vnext' a 'vnow'

Complici una serie di motivi (a partire dalle prime chiacchiere sulla ipotetica/futuribile seconda edizione del mattoncino), ultimamente ho introdotto un po' di codice "nuovo" in NSK. Per chi non lo conoscesse, NSK è il progetto open source che Managed Designs ha avviato nel 2004 per poter disporre di una reference implementation di architetture layered basate sul .NET stack: il lato positivo della vicenda è che una quota significativa della codebase e delle scelte di architettura/design proviene dai progetti "real world" che realizziamo in bottega, il lato negativo è che essendo un "toy project" al quale da un...

Grazie NHibernate

Era giugno 2002, e partecipavo ad un private meeting con alcuni PM di Microsoft Corporation ed alcuni soliti noti: ad un certo punto, Ingo chiese lumi sullo stato di avanzamento della implementazione un “certo” ObjectSpaces. ObjectSpaces, per la cronaca, era l’O/RM che avrebbe dovuto fare la comparsa all’interno del framework 2.0: alla facciazza di quelli che pensano che MS sia sempre indietro nell’adottare pratiche e soluzioni, a Redmond stavano lavorando per fornirci un O/RM “out of the box” nel 2004 (prima del famoso/famigerato “Longhorn Reset” che portò sia Vista sia il FX 2.0 ad essere rilasciati in ritardo). Il...

VS2010 RC vs. MVC1

Con l’arrivo della RC, in azienda abbiamo iniziato a migrare le soluzioni dei progetti che hanno una data di rilascio o delle modalità di gestione compatibili con la possibilità di cambiare release di VS o del FX. Tutto “quasi” ok: “quasi” perché l’apertura di progetti MVC v1 restituisce l’errore “The project type is not supported by this installation.”. Come spiegato nelle release notes, è necessario: aprire con un text editor il file di progetto, e cercare l’elemento ProjectTypeGuid modificare il valore dell’elemento da {603c0e0b-db56-11dc-be95-000d561079b0} a {F85E285D-A4E0-4152-9332-AB1D724D3325} aprire con VS...

“I predict a riot” (cit.) @ #sqlconf09

Domani, con il beneplacito di Greenpeace e WWF (che supportano la causa “Tutela per gli O/RM”) terrò presso la SQL Server & BI Conference 09 una sessione intitolata “Impact of using an O/RM with SQL Server”. Due-info-due per i potenziali interessati: durante i 75 minuti non ci saranno effetti speciali o fuochi d’artificio, ma “solo” le considerazioni derivanti dai 5 anni di esperienza d’uso di vari O/RM (EF, iBatis, NHibernate, …) nei progetti che abbiamo realizzato in azienda, dando anche (ove possibile) una “sbirciata” al loro codice sorgente (“loro”==dei progetti :-) ). P.S.: che titolo del Kaiser (Chiefs) per...

Caro cliente

Caro cliente, Natale è passato da poco e potresti aver scelto di “regalarti” un nuovo televisore: ormai ogni centro commerciale che si rispetti offre una elevata gamma di scelta, e con un migliaio di euro potresti aver comprato un prodotto decisamente valido. Oppure potresti aver puntato al “top” ed aver scelto sua Maestà “Pioneer Kuro”: FullHD, upscaler hardware integrato, porta USB ed Ethernet con client SMB, codec MPx e WMx e, soprattutto, il nero-migliore-che-c’è. Certo, costa circa 3x rispetto alla offerta concorrente, ma è il prezzo da pagare se si vuole avere un prodotto “Premium”. Caro cliente, prima o poi...

Refresh4 per NSK

Ho migrato NSK alla versione refresh4 del framework ASP.NET MVC rilasciata ieri, "fondendo" la web app con il sample project standard in modo da avere "gratis" l'implementazione della login: poichè è basata sul SqlMembershipProvider, è necessario creare il "solito" aspnetdb.mdf in App_Data. Non ho sperimentato alcun problema particolare, se non un "bisticcio" con la custom controller factory che ho implementato per iniettare nei controller l'istanza del data context: sono incappato in un comportamento quanto meno "particolare" di Unity ed ho piazzato un piccolo hack workaround in Application_OnStart per risolverlo. Technorati Tag: ASP.NET,MVC,NSK,Unity

Community Days: da Query Object a O/RM

Ok, sembra che il corso di settimana scorsa sia piaciuto e che, per l'ennesima volta, il tempo non sia stato sufficiente, giacchè Alessio avrebbe gradito un approfondimento sul tema "Query Object". Provo a "rimediare" :-) In realtà la richiesta di Alessio sottointende 3 distinte tematiche: "Query Object": chi era costui? Implementazione "hand made" di un DAL capace di gestire in maniera sensata la persistenza di un DM Produzione "al volo" del codice SQL Andiamo in ordine: il design pattern query object è una specializzazione...

Cercasi Sus... Developers disperatamente

Attenzione: questo post contiene offerte di lavoro. Leggere attentamente le avvertenze <g> Se: non siete ancora stufi di dover continuare ad utilizzare le "solite, trite e ritrite" tecnologie quali: ASP.NET/AJAX, Castle Project, Linq 2 Whatever, NHibernate, Silverlight, WCF, WPF, ... chissenefrega di "MbUnit vs. MSTest vs. NUnit vs. xUnit" perchè l'unica cosa importante è che "se non è testato... è rotto!" la vostra sede di lavoro può essere a Bergamo (e dintorni) o Milano (e dintorni) o Torino (e dintorni) non vedete l'ora che...

Code Camp "Zero" @ Managed Designs

Era una idea che mi ronzava nella testa da circa un anno: Janky e Simo la conoscevano con il nome "carboneria", ed è costituita da alcuni incontri "underground" nei quali parlare a ruota libera ed in forma "improvvisata e destrutturata" di argomenti che difficilmente troverebbero una giustificabile collocazione in un "classico" workshop UGIdotNET. A partire da questi presupposti, quindi, si è svolto ieri sera un Code Camp presso la sede di Managed Designs, al quale hanno partecipato: Davide, Emanuele, Marco, Mario, Pierpaolo, Roby ed Ugo. Nessun ordine del giorno prestabilito se non: "data la disponibilità di...

Education @ Managed Designs

Comunicazione aziendale spicciola: grazie ad un paio di edizioni pilota che abbiamo erogato nelle ultime settimane, SuperCorrado ha aggiornato l'agenda del corso "Introduzione a Windows Presentation Foundation". Passando al "lato Web della Forza", mi dicono dalla regia che c'è ancora qualche posto libero per il corso "AJAX+Silverlight" che Dino erogherà settimana prossima presso Microsoft Italia. Technorati Tag: ajax,managed designs,silverlight,wpf

Alternativo... A cosa?

Parliamo della ricerca della felicità, quindi di ALT.NET
(clicka per leggere)

Community After Hour: comunicazione di servizio

Come anticipato sul forum, sono disponibili le slide e le demo mostrate nel corso del "Community After Hour" svoltosi a Bologna. Poichè gli assenti potrebbero potrebbero avere qualche difficoltà nel districarsi con il codice del LINQ provider, ecco un "riassunto delle puntate precedenti": In Managed Designs stiamo provando a implementare un "mini" Linq 2 SQL Mobile: la codebase della demo è fondamentalmente lo stato attuale di questo "esercizio di stile" quindi non sparate sul pianista solo perchè non sono (ancora) supportate funzionalità indispensabili quali: transazioni distribuite, object tracking, persistence ignorance, ... <g> Non provate...

CommunityAfterHour.About(ContentType.Speech);

Suppongo che ormai anche i sassi sappiano che lunedi martedi prossimo UGIdotNET organizza, in appendice alla tappa di Bologna del roadshow di Microsoft, un workshop "after hour". Per coloro che fossero interessati a partecipare, segnalo di aver appena cambiato il titolo della sessione che io e SuperMauroBros stiamo preparando; il nuovo titolo è "The LINQ Backroom" e riflette sicuramente meglio le nostre intenzioni. Poichè ormai si sprecano gli (spesso validissimi) articoli/eventi/post/podcast/tip/tutorial/vattelapesca dedicati ai "mille gusti di LINQ", abbiamo pensato di evitare l'ennesima sessione sul tema e di concentrarci invece su un caso d'uso di LINQ che a volte...

Nuovo ModelViewPresenter @ NSK

Ho approfittato di alcuni viaggi in treno effettuati negli ultimi giorni per estendere l'implementazione di Model View Presenter in NSK. Nulla di trascendentale, ma le nuove view sono basate su un subset ("sanitizzato", come direbbero i Microsoft guys) del mini-framework MVP che io e Markino abbiamo implementato per i progetti che realizziamo in Managed Designs. In pratica, oltre alle "solite" interfacce che definiscono i contratti caratteristici di view e presenter, offre alcune implementaziono concrete e generiche utilizzabili come scorciatoia. Technorati Tags: Managed Designs, model view presenter, NSK, northwind starter kit, software architecture

Toh! Mi è semblato di vedele un gadget!

Mi dicono dalla regia che è disponibile la registrazione della gag sessione che io e Alberto abbiamo erogato nel corso di REMIX07: non sparate sul pianista <g>   Technorati tags: gadget, microsoft, remix

I've got the Power!

Ho un torcicollo clamoroso, e di poter uscire di casa (e, peggio, guidare l'auto) oggi non se ne parla proprio. Però... Però ho una linea FastWeb su fibra ottica, e il progetto sul quale stiamo lavorando è accessibile mediante un TFS raggiungibile via Internet. Sono "qua", ma è come se fossi "là". Figata (torcicollo escluso, ovviamente :-/ ) Technorati tags: Managed Designs

"Godi popolo" (cit.), ovvero... Tormentoni @ Managed Designs

Non bastava Forum: l'ultimo tormentone in Managed Designs (shame on Markino) è costituito dalle ricette di Arturo e Kiwi. Technorati Tags: Managed Designs

"Il codice e l'architetto" (Reprise)

L'ho combinata grossa: la telefonata mattutina col socio si è trasformata in un post che avrei voluto scrivere da mesi, senza riuscire mai a trovare tempo (e voglia). (Clicka per leggere)

NSK: Tu chiamale, se vuoi... Emozioni!

Cappuccino e brioche al cioccolato (sono ottime, parola di lupetto!) al bar di Jack: 2 euro. Biglietto per il concerto dei Muse all'arena di Verona: 34,50 euro (ben spesi) L'università di Copenhagen che basa su Northwind Starter Kit il proprio studio di comparazione tra architetture layered implementate con J2EE e .NET (citando -vedi pagina 48- Managed Designs): impagabile! P.S.: Peccato abbiano usato la codebase (cambiando i nomi dei namespace) di maggio 2006; si sono "persi" l'implementazione di: unit of work, query object, model view presenter e un bel refactoring generale... Technorati tags: NSK, Northwind Starter Kit, Managed Designs

Corso "Introduzione alle ASP.NET AJAX Extensions": il giorno dopo

Lo ammetto: fino a ieri ho fatto l'imbucato al nostro corso su Atlas; direi che il socio ha passato il "quality check", giacchè ricordo ancora qualcosa. <g> Technorati tags: Managed Designs

[NSK] Work in progress

Update interessante per NSK, che integra quanto anticipato: Ho completato il query model (sostanzialmente una implementazione di Query Object), che ora permette di esprimere le clausole di ordinamento dei risultati Ho corretto il bug del DAL basato su Hibernate: sostanzialmente, il QueryTranslator in alcuni contesti faceva cilecca (lo so che sono un pollo: prima di correggere il bug, avrei dovuto scrivere un test che lo scatena) La Unit of Work ora è "disposable by design" (work item chiuso) Ho integrato una rudimentale (leggi: schifosa) implementazione di identity map....

Talking about a Revolution...

...And it sounds like a whisper (cit.) Revolution è il codename della nuova versione del sito UGIdotNET, (in parte) pre-pre-pre-visionabile qui: http://vnext.ugidotnet.org. Perchè "Revolution"? Perchè è riscritto "from scratch", da zero. Tempo addietro provai a portare la codebase attuale verso la v2 del framework, ma ad un certo punto capii che sarei riuscito "solo" ad introdurre alcune feature del nuovo framework, senza goderne davvero dei benefici. Ed allora... Revolution. Revolution perchè oggi posso "barare" e partire nello sviluppo da basi differenti rispetto a quelle a mia disposizione nel lontano 2001, quando realizzai il "core" della codebase che, in un modo o nell'altro,...

Il corso OOD cambia data

Comunicazione di servizio: precedentemente previsto dall'11 al 13 dicembre, il mio corso "OOD ed architettura delle soluzioni .NET" è invece stato spostato al 20 dicembre. La location è invece confermata: Training Room 2 presso Microsoft Italia a Segrate. Maggiori informazioni qui (il codice del corso è MDE105). Technorati tags: software architecture, Microsoft, Managed Designs

[WPC] Ecco i tutorial

Pian piano (ok, lo ammetto: con imperdonabile ritardo) anche l'agenda WPC emerge: ecco i tutorial. A breve l'abstract completo e i primi titoli delle sessioni. Non sparate sui pianisti :-)

Open Source @ Managed Designs: NSK e VAB cambiano casa

Come "qualcuno" già ha notato, Northwind Starter Kit e Validation Application Block hanno abbandonato i lidi di Sourceforge per approdare su CodePlex. Ogni eventuale (improbabile) ulteriore spostamento sarà comunque segnalato nella home page ufficiale dei progetti. Technorati tags: Northwind Starter Kit, nsk, Managed Designs, Codeplex

Piccolo spazio, pubblicità

Non mi sembra vero: sono riuscito a pubblicare il nuovo catalogo corsi sul sito Managed Designs. La novità più importante è l'introduzione dei corsi su Avalon e Atlas (ok... Windows Presentation Foundation e ASP.NET 2.0 AJAX Extensions) schedulati rispettivamente per gennaio e febbraio. La collocazione temporale, che potrebbe sembrare tardiva agli early adopters, è in realtà stata scelta per permettere a  Corrado e Dino di utilizzare durente il corso le versioni RTM dei toolkit in oggetto, assicurandoci quindi di offrire informazioni sicuramente applicabili nei progetti "real world". Mi spiace che l'agenda tematica dei corsi non sia ancora disponibile, ma (parola di lupetto)...

Microsoft e i "miei" webcast per architetti

Forse non tutti se ne saranno (ancora) accorti, ma il focus di Microsoft Italia in merito alle tematiche di design architetturale è in deciso aumento, e ciò non può che rendermi felice. E' quindi con immenso piacere che, a luglio, ho accolto la proposta di Giuseppe e Sara relativa alla preparazione di una serie di webcast architetturali "griffati" Managed Designs. (Clicka per leggere)

«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011