L’anima tech di CodicePlastico: questi articoli sono il frutto delle nostre sperimentazioni, tutorial, autoformazione ed esperienze tecniche perché siamo convinti che la condivisione della conoscenza sia fondamentale per chi lavora nelle nuove tecnologie.
Tech
Soluzioni per la creazione di PDF: la nostra esperienza con QuestPDF
Nella vita di un programmatore, che sia per creare un report di produzione, oppure per la stampa di una ricevuta, capita a tutti, presto o tardi, di scontrarsi con il ...
Mens sana in corpore Agile
“Anno nuovo, vita nuova” dice il proverbio. E dev’essere proprio quello che è passato nella mente di Kelsey Hightower quando, lo scorso capodanno, pubblicò il seguente tweet ...
Nel paese delle migliorie
Se ci pensiamo, ci vengono in mente almeno un paio di ideuzze per apportare dei cambiamenti in meglio. Sarebbe molto bello se si potessero concretizzare con uno schiocco di dita ...
The simplest thing that could possibly work
La storia narra che, negli anni 90, Ward Cunningam e Kent Beck stavano lavorando in pair all’implementazione di una feature e si trovarono davanti ad un problema di difficile soluzione. ...
CoderDojo: imparare giocando
Tra le varie attività del 2020 che il Covid ha messo in pausa c’è un piccolo evento a cui tenevamo particolarmente. La Biblioteca di Bovezzo (BS) era in cerca di ...
Un libro corale sul DDD
Un paio di mesi fa è stato pubblicato su Leanpub un libro in italiano che raccoglie storie di vita vissuta intorno al tema del Domain Driven Design. Il libro, di ...
Implementare un sistema Cloud Native chiavi in mano con Dapr
Nei mesi scorsi riceviamo da una multinazionale operante nel settore dell’automazione industriale la richiesta di consulenza per implementare un sistema di monitoraggio dei macchinari. I sensori da rilevare sono migliaia, ...
Intelligenze artificiali: strumenti o agenti? Un problema etico.
L’ascesa delle intelligenze artificiali e del machine learning ha portato alla luce le profonde discriminazioni che le intelligenze artificiali, se prive di controllo, possono creare o amplificare. Per la prima ...
Spezzare un monolite microservizio dopo microservizio
Nei mesi scorsi un nuovo cliente ci ha contattato per un progetto di riscrittura della loro applicazione web nata come MVP ma arrivata ormai al limite del gestibile. ...
Required!? Dove stiamo andando non c'è bisogno di... Required!
Quando realizziamo una Web API con ASP.NET Core, è prassi decorare le proprietà obbligatorie dei nostri modelli con l'attributo `Required` anche se, in certi casi, questo ci costringe ad accettare ...
Sudoku in F#: a functional story
This post is part of the F# Advent Calendar 2021. Many thanks to Sergey Tihon for organizing all of this. Go checkout the other many and excellent posts. ...
Diamo un volto ai bug
Lo sviluppo software ci obbliga ogni giorno a dover fare scelte. Da una card del nostro backlog nascono analisi, riflessioni e discussioni riguardanti architetture, pattern e sezioni di codice dove ...
La vera storia del Manifesto Agile
Visto che in tempo di pandemia viaggiare è praticamente impossibile, l’unica cosa che ci rimane da fare è sognare ad occhi aperti e viaggiare con la mente. È quello che ...
ROP con c#9
Recentemente abbiamo avuto l’esigenza di integrare un servizio di firma digitale in un nostro progetto. Il servizio richiede l’esecuzione di diversi step consecutivi per poter essere completato: autorizzazione configurazione del ...
Azure Event Grid: a message to rule them all
Immaginiamo di vivere in un mondo parallelo in cui, a fronte di ogni azione, venga generato un evento. ...
CloudConf: Docker, Kubernetes, monitoring e una spolverata di Machine Learning
In questi mesi l’organizzazione di conferenze e corsi è divenuta più complicata per l’impossibilità di fornire una modalità “in presenza”; è però fondamentale, per la crescita di ogni sviluppatore, poter ...
JamStack: prendiamo esempio dal passato per un futuro migliore
In CodicePlastico amiamo realizzare progetti su misura che soddisfino al cento per cento le esigenze dei nostri clienti. La maggior parte del nostro lavoro consiste nell'analisi delle esigenze dell'azienda che ...
Web Components Lifecycle
Cosa sono i Web Components L’ecosistema Javascript ormai è ricco di librerie o framework che abbracciano i concetti di componenti e moduli per lo sviluppo di applicazioni. Questi elementi vengono ...
Durable Function alla riscossa
Nell’ecosistema di Azure, negli ultimi anni, si sono affacciate le Azure Functions: la proposta di Azure per tutto cio’ che sta sotto il cappello di “serverless computing”. Il modello event-driven ...
Pair Programming Remoto: i consigli per renderlo efficace da chi lo sperimenta sul campo
Il Pair Programming è una tecnica che prevede due programmatori che sviluppano insieme da una medesima postazione. I partecipanti, all’inizio di ogni sessione, stabiliscono due ruoli: il driver, che operativamente ...
Stream in Elixir
Il concetto di stream non è di certo una novità, nel SICP ci sono interi capitoli dedicati all’argomento e tutti i principali linguaggi di programmazione hanno un’implementazione nella standard library ...
Il nostro Pair su Youtube:
come è andata con il Social Network Kata in Elixir
Pair programming: scelgo te! Era da diverso tempo che non lavoravo con Ema su un progetto in pair, forse dai primi anni di CodicePlastico. Con il passare del tempo e ...
Che cosa conta davvero nei design pattern
Un post di Pietro Martinelli, con le illustrazioni di Andrea Gadaldi ...
L’ownership in Rust, spiegata con le torte
Rust è un linguaggio relativamente giovane e molto innovativo sotto vari punti di vista. Proponendosi inizialmente come un linguaggio “per sistemi” (definizione un po’ vaga, che per semplicità tradurrei con ...
Usa la CLI, Luke: kubectl day-by-day
L’architettura di Kubernetes prevede, tra i diversi componenti che compongono il cluster, un componente che prende il nome di kube-apiserver. ...
Danzare sulla tastiera
Parecchi anni fa ero un fan di Resharper, ricordo ancora alcuni degli shortcut che usavo e penso agli incredibili livelli di produttività che ti permetteva di raggiungere con Visual Studio. ...
Fp-ts validation spiegata bene
In CodicePlastico stiamo studiando la programmazione funzionale, abbiamo fatto un corso con Matteo Baglini (che consiglio a tutti) e in questi giorni stiamo provando a fare un po’ di refactoring ...
Testare comportamenti multi-thread (reprise)
Riparto da dove ero arrivato nel post precedente, nel quale si è parlato di come testare comportamenti soggetti a concorrenza e si sono viste alcune tecniche utili ad evitare falsi ...
Testare comportamenti multi-thread
Mai scrivere codice di produzione se non a fronte di uno unit test che fallisce - e mai più dello stretto necessario a far passare il test: questo, fondamentalmente, lo ...
Lens in javascript
Qualche settimana fa per un progetto che stiamo sviluppando abbiamo dovuto interfacciarci con le API di wordpress per recuperare alcune informazioni dai post pubblicati su un blog. La struttura dati ...
Da Java a .Net: la mia esperienza, due anni dopo - Parte II
Seconda parte di un post sulla mia esperienza di passaggio da piattaforma Java (e JEE) a piattaforma .Net: una settimana fa ho parlato (qui) delle principali differenze tra i due ...
Da Java a .Net: la mia esperienza, due anni dopo - Parte I
Un chiarimento Il presente post vuole affrontare l’annosa questione di un confronto tra due delle piattaforme di sviluppo più utilizzate (Java/JEE e .Net), con l’intento di raccontare qualcosa dei miei ...
Pair programming: qual è l’obiettivo?
Il pair programming è uno degli strumenti più consueti all’interno della cassetta degli attrezzi di un team Agile. Su questa pratica si è discusso tanto in passato (ed ancora oggi) ...
Bentornato SQL Server
E’da un po’ di tempo che ho in mente di scrivere questo post. Come al solito, sono in ritardo :) Vediamo di rimediare… ...
La ricerca non è solo una ricerca
Ultimo post datato: 07/10/2015…direi che è ora di ricominciare a bloggare, anche per evitare che @mauroservienti possa continuare indisturbato la sua serie di post su Service (UI) composition senza qualcuno ...
MVP su Azure...#estiqaatsi
A conferma del periodo incasinato della mia vita, non solo lavorativa, mi ritrovo solo oggi, quasi una settimana dopo, a scrivere di quanto mi è successo la scorsa settimana. Giovedi ...
Build your ASP.NET MVC app with Grunt
Grunt (and Gulp) is a marvellous tool to automate your development and build pipeline but until few months ago it was directly tied to the node environment. But since Microsoft ...
My road to F#
Sono da sempre innamorato di C# e del suo essere un linguaggio “fresco e pulito”, ma non posso che affermare che questa feature vale il prezzo del biglietto: ...
On learning TDD
Even if Test Driven Development is an old topic and even if today almost everybody should have learned the benefits of TDD I still do a lot of mentoring on ...
Io, me e R#
Sono sempre stato un grande fan di R#: il giusto completamento di un ottimo IDE come Visual Studio. E’ vero, nei suoi primi anni di vita, le performance non erano ...
Projects structure
Frameworks like ASP.NET MVC, Rails & C. impose you a strict folder structure using a “topology approach”. This means that files of same types are in the same folder. So ...
About TDD (IMHO)
In these days everybody talks about TDD due to the post of DHH titled TDD is Dead and the various hangouts with Fowler and Beck. I’m a proponent of TDD, ...
Software principles
I have more than ten years of experience as a software developer, don’t know if I have to be happy or to be sad for the time that pass. During ...
Eventual consistency...ma de che?
Ma cos’e’ questa benedetta “eventual consistency” di cui tanto si parla? Inizio fermamente a credere che sia la nuova buzzword per classificare i failure dei sistemi come “feature by design” ...
DDDHandsOn - (quasi) un mese dopo
Dopo il necessario mese di decompressione delle idee e delle sensazioni (o meglio questa e’ la scusa migliore che ho trovato per giustificare il ritardo del post) posso dire che ...
Coding Conventions
In CodicePlastico we take the code readability very seriously and during last months we are trying to change the way we write code to made it more readable and performant. ...
Ruby Loves DDD (Part 6)
We are almost at the end of our tour. In the last post we analysed what happens when a command is executed, we learnt that the events are collected in ...
Ruby Loves DDD (Part 5)
Going back to the handler. We saw in a previous post how the repository recreates the aggregate state re-executing the events. Now that we have the aggregate reference we can ...
Ruby Loves DDD (Part 4)
In the last post we saw how it is implemented a command handler and how it interacts with the aggregate. ...
New website
Today we launched our new company web site. You can view it here: http://codiceplastico.com. We are very happy to show the world our new image and to spread our new ...
ASP.NET WebApi succinctly
Months ago, while digging inside the ASP.NET WebAPI I collected a lot of material and I decided to write a small book about the topics. I contacted Syncfusion beacause I ...
Functional programming
In the last year Functional Programming is the topic that devs are talking about. Many functional languages are becoming popular (Scala, F#, Clojure, Elixir and someone is starting to say ...
ruby loves DDD (part 3)
In the last post we saw how the controller issue a command to the pipeline, now we will see how this command in managed. ...
Web developers should stay away from Windows
The more I explore Open Source world the more I ask myself why web developers are still using .NET for their web applications. ...
Ruby loves DDD (part 2)
My experiments with Ruby and Domain Driven Implementation continues. Two weeks ago I was at the Rupy conf talking about Domain Driven Architectures in Ruby. The code is available on ...
Ruby loves DDD
On 14th june, in Milan, I spoke at the rubyday, and I presented a possible implementation of Domain Driven Design (with CQRS and Event Sourcing). I know quite well the ...
ASP.NET WebApi Custom validator
I’m using ASP.NET WebApi for some months and even if I like them everytime I have to dig into the source code to understand some not_so_well_documented feature I’m impressed about ...
Blogging with octopress on windows
Come ha già anticipato emaqui, il blog di codiceplastico ha subito la prima di una lunga serie di modifiche a cui sarà sottoposto (spero) nei prossimi mesi. Per ora stiamo ...
Aggiornate i vostri reader
Da qualche giorno ho spostato il blog su un nuovo server, purtroppo ogni tanto capita di dover abbandonare le vecchie piattaforme per passare a soluzioni più economiche e/o più comode. ...
Usare dropbox da un'applicazione rails
Utlimamente mi è capitato di dover integrare un’applicazione rails con dropbox, in particolare l’applicazione genera un PDF che deve essere salvato su dropbox. Ho deciso di utilizzare la gemma dropbox-api ...
Localizzare le applicazioni web
Sempre più spesso ci capita di realizzare applicazioni web multilingua e questo ci ha spinto a trovare una soluzione che sia facilmente riutilizzabile e che sia sostenibile facilmente. ASP.NET MVC ...
Clickonce su azure
Ultimamente ci è capitato di scrivere ancora un’applicazione con WPF e di dover integrare nel processo di build la pubblicazione del pacchetto clickonce su Azure per poter effettuare il deploy. ...
Query polimorfiche con il table storage
Il table storage è l’implementazione, messa a disposizione da Windows Azure, di un datastore NoSQL, ideale per lo storage di dati strutturati, che non necessitano del concetto di “relazionalità”. ...
Knockout.js (4)
Talvolta è necessario intercettare le operazioni di set fatte da una proprietà in binding per notificare altri viewmodel del cambiamento. Il parallelo con WPF è quando a fronte di un ...
Il processo di bootstrapping di un'applicazione WPF con Radical
In questo post vedremo, alla stessa stregua di quanto fatto in un post precedente, il dettaglio delle operazioni da eseguire per avere un’applicazione WPF up-and-running sfruttando Radical come toolkit di ...
Il processo di bootstrapping di un'applicazione WPF con Caliburn.Micro
Nel post precedente abbiamo elencato una serie di framework/toolkit utili per il supporto allo sviluppo di applicazioni WPF/SL/WP/W8. Tutti questi framework, tranne MVVM-Light se non sbaglio, hanno il concetto di ...
Azure and Git @ UgiDotNet
La piattaforma di Windows Azure sta crescendo, ogni settimana si arrichisce di nuove feature sempre più accattivanti, l’apertura e l’integrazione con mondi extra-microsoft è sempre più evidente. Da qualche mese ...
Blob storage e hosting di siti statici
Questo post è parte di una serie su windows azure. Ecco il link per la lista di tutti i post precedenti. ...
Toolkit per lo sviluppo di applicazioni WPF/SL/WP/W8
Chi ha sviluppato applicazioni mediamente complesse in WPF (e/o SL/WP/W8) nel 99% dei casi ha adottato il pattern MVVM, diventato ormai lo standard di fatto per l’organizzazione della parte di ...
WindowsAzure.Resources
Solo un veloce “inframezzo” per segnalare un po’ di risorse utili in merito alla piattaforma: ...
Blob storage directory
Questo post è parte di una serie su windows azure. Ecco il link per la lista di tutti i post precedenti. ...
Blob storage: nuove API
Questo post è parte di una serie su windows azure. Ecco il link per la lista di tutti i post precedenti. ...
Sinatra e REST
Qualche settimana fa ho avuto il piacere di fare lo speaker alla prima european WebNet conference con un talk su sinatra. ...
Blob storage: introduzione
Questo post è parte di una serie su windows azure. Ecco il link per lista di tutti i post precedenti. ...
WAS: windows azure storage
Questo post è parte di una serie su windows azure. Ecco il link per la lista di tutti i post precedenti. ...
Azure.Intro()
Il titolo potrebbe sembrare un po’ generico e vago, ma meglio di così non ho saputo fare :-) ...
Si fa presto a dire REST
Ogni periodo storico informatico ha le sue buzzword e oggi una di quelle più usate è REST. Anni fa andava di moda SOAP, oggi tutti si scagliano contro di lui ...
knockout.js (3)
Nel precedente articolo abbiamo visto come mettere in binding una collezione di oggetti con una table, oggi riprendiamo l’esempio per aggiungere una funzionalità: vogliamo fare in modo che se la ...
knockout.js (2)
Nel post precedente abbiamo visto le analogie tra knockout.js e le applicazioni WPF/Silverlight. Oggi vorrei aggiungere alcune funzionalità. ...
Factory e leggibilità del codice (2/2)
Nel post precedente abbiamo visto come “addurre scuse plausibili” (cit.) per introdurre il concetto di factory all’interno del nostro domain model, come unico entry point per la creazione (e setup iniziale) ...
Factory e leggibilità del codice (1/2)
Uno degli obbiettivi a cui, sempre più spesso, cerco di porre attenzione, nella scrittura del codice, è la leggibilità: il codice che scrivo deve essere auto-esplicativo sia per “futuri lettori”, ...
CQRS: perchè e quando
Ok, nel post precedente abbiamo cercato di definire l’argomento. Ora cerchiamo di capire due cose fondamentali per l’adozione di qualsiasi tool/metodologia/pattern: quando e perchè usarlo. Se capiamo e padroneggiamo questi ...
CQRS: un po' di confusione?
Ultimamente si sente sempre più spesso parlare di CQRS ed EventSourcing: ormai se non spari qualche evento su un bus non sei nessuno :-) ...
Knockout.js
La moda dei framework javascript è esplosa, esistono decine di librerie MVQualcosa che supportano lo sviluppo di applicazioni client side di una certa complessità. Premesso che sceglierne una è quasi ...
Method interception con Ruby
Durante le vacanze estive ho letto Metaprogramming Ruby di Paolo Perrotta, libro denso a tratti difficile ma di grandissimo interesse che ti porta a scoprire la potenzialità di Ruby che, ...
TDD il primo test
Insegnando il TDD un problema che vedo emergere subito è quello del primo test. Vedo dev come scrittori davanti allo schermo bianco in attesa di un’ispirazione. ...
Build automation @codiceplastico with psake
Come bentornato da una settimana di pseudo-ferie, mi sono imposto di sistemare e soprattutto standardizzare il processo e i tool di build che utilizziamo. Fino ad ora, chi aveva l’ownership ...
Node.js e websockets
Uno degli ambiti in cui Node.js si trova a suo perfetto agio è nei contesti in cui è necessaria un’alta reattività dei componenti in gioco. Il classico esempio che viene ...
DDD: chi fa da sè fa per tre (recap)
Con un po’ di ritardo rispetto al desiderata, ecco la risposta ad alcune osservazioni/domande che sono state fatte al post precedente: ...
L'aggregate-root: la fonte della verità
Quando si parla di DDD ogni componente in gioco ha la sua importanza, ma la “visione d’insieme” e il contenuto informativo contenuto in un aggregate ricopre un ruolo fondamentale di ...
Domain events come se piovesse
“…non c’è immagine, a qualsiasi risoluzione, che possa darti lo stesso contenuto informativo di un video…” ...
DDD: i behavior prima di tutto
Molto spesso, come già detto, ci sembra di applicare DDD, ci autoconvinciamo della cosa (anche perché ultimamente se non fai DDD, non sei nessuno :-) ), ma siamo ben lontani ...
Back to basic: TDD (3)
Nei primi 2 step abbiamo introdotto una piccola funzionalità che permette di aggiungere un articolo al carrello. Continuiamo sullo stesso tema introducendo la seguente funzionalità: ...
Un mese di pomodoro
Da circa un mese in CodicePlastico abbiamo deciso di adottare la tecnica del pomodoro come strumento per misurare la durata delle nostre attività. La sua introduzione è nata dall’esigenza di ...
Back to basic: TDD (2)
Andiamo ancora piano piano…nel post introduttivo avevo evidenziato alcuni benefici del TDD mettendo in risalto il fatto che ti obbliga a pensare e ad essere sicuro di aver capito cosa ...
Back to basic: il contesto e il primo test
Per partire con la serie di post sull’applicazione del TDD dobbiamo prima identificare un contesto che sia abbastanza semplice da capire ma anche abbastanza complesso da implementare. ...
TDD: focalizza il problema
Prendo spunto da un post del socio, per dire la mia (non me ne voglia), in merito al TDD e soprattutto ad alcuni dei suoi vantaggi “intrinseci”. ...
Back to Basic: TDD
Nonostante parlo di TDD da anni, e alcuni cominciano anche ad annoiarsi, ancora oggi mi rendo conto che è una pratica che non è molto utilizzata e apprezzata come meriterebbe, ...
Prism: il bootstrapper
Il punto di ingresso di ogni applicazione che si basa su Prism è il bootstrapper. ...
Prism: introduzione
Ok, ci riprovo: per un progetto che sta partendo abbiamo deciso di utilizzare Prism. Tempo fa ci avevamo già provato (è vero, le competenze su WPF/MVVM non erano al livello ...
NuGet e la debug-experience
Che cosa sia NuGet è ormai noto a tutti, ma non tutte le sue potenzialità sono conosciute. ...
NuGet, le dll e il source control (2)
Nel post precedente, abbiamo visto come sfruttare NuGet per evitare di committare tutti i packages (leggi dll) sul source control e integrarne il download da uno o più repository nel ...
NuGet, le dll e il source control
Fino a poco tempo fa, la struttura dei nostri progetti, era quella “tradizionale”: ...
Chocolatey: un package manager per windows
Dopo diversi mesi, e diverse migliaia (3134 per l’esattezza, al momento) di packages uploadati…NuGet non è più una novità, ma una piacevole realtà. ...
C#, valori di default e la leggibilità
La possibilità di definire i valori di default dei parametri di un metodo con C#, non è cosa recente, ma giusto ieri mi sono trovato ad utilizzare questa “feature” del ...
Perchè MongoDb?
Molto spesso, e sempre più di frequente, mi viene posta questa domanda: “perchè MongoDb?” ...
I wanna be a polyglot programmer
In questi giorni mi sto chiedendo quanto senso ha oggi scrivere un’applicazione (di medie/grosse dimensioni) in un solo linguaggio/framework. Già nell’attuale versione del .NET Framework esistono 2 linguaggi che hanno ...
Asp.net MVC Antipattern
ASP.NET MVC è stato rilasciato alcuni anni fa e nonostante non sia ancora diffusissimo (più che altro per questioni psicologiche) sta pian piano mangiando terreno ad ASP.NET WebForm dimostrando ancora ...
Redirect di dati binari con powershell
In questo post abbiamo visto come è stato possibile, con powershell, eseguire il dump dei nostri repositories svn e zipparli per una più facile archiviazione. Non è però tutto oro quello che ...
Win8, parallels e i parallels tools
Oggi sono riuscito finalmente a trovare un po’ di tempo per installare windows8. ...
Ruby visto da un programmatore C# (pillole) [5]
Nei giorni scorsi ho letto alcuni post e ho assistito ad alcune discussioni sul fatto che il mondo ruby sembra non essere interessato ai principi del buon design. Ne è conferma, ...
Dump di repositories svn con powershell
…mentre c’è chi sollazza in quel di Anaheim, con un nuovo tablet dotato di un windows 8 fiammante… ...
ASP.NET MVC validare un checkbox
Conosciamo tutti gli attributi che possiamo mettere sulle proprietà di un modello e sappiamo che con ASP.NET MVC 3 abbiamo anche la possibilità di usare le regole di validazione client ...
Il Sistema Operativo non conta, quello che conta è il WWW
Il nostro ufficio sta diventando sempre più spesso il punto d’incontro di professionisti e amici che operano nel settore sviluppo web/nuovi media/social/ecc. Organizziamo spesso serate di discussione molto interessanti in ...
Ruby visto da un programmatore C# (pillole) [4]
Uno dei punti forti di Ruby è la metaprogrammazione resa potente grazie al fatto che Ruby è un linguaggio interpretato e dinamico. Rails ne fa largo uso e molto del ...
ValueObject: questo sconosciuto
Uno dei concetti apparentemente più semplici del libro di Evans è quello di value object. Riporto fedelmente la sua definizione per non incorrere in errori e/o omissioni: ...
L'importanza dei contesti
Sollecitato dai commenti di Davide e Francesco, riprendiamo il discorso del post precedente e cerchiamo di analizzare e sviscerare un po’ di più le situazioni che sempre più spesso mi ...
Questo database amico-nemico
Sempre più spesso mi trovo a ripetere (e convincermi) che il database deve essere un servizio al servizio :-) dell’applicazione e non viceversa. In ottica DDD questa affermazione diventa ancora ...
NHibernate e i trigger del SyncFramework
In una applicazione che stiamo sviluppando siamo ricorsi al Sync Framework di Microsoft per gestire la sincronizzazione di un database SQL Compact con il database principale SQL Server 2008. ...
Ruby visto da un programmatore C# (pillole) [3]
Come già detto più volte Ruby è un linguaggio interpretato e ogni riga di codice scritta viene di fatto eseguita dal runtime. Questo vale anche per le definizioni delle classi ...
Build con Rake
Per parecchi anni abbiamo usato NANT e successivamente MSBuild per effettuare le build dei nostri progetti e per parecchi anni ho odiato l’XML per la sua “prolissità” e per la ...
Ruby visto da un programmatore C# (pillole) [2]
Nel post precedente abbiamo visto come è possibile aggiungere un metodo ad una classe, nello stesso modo in cui abbiamo aggiunto il metodo lo possiamo anche rimuovere. ...
Download delle sessioni del MIX 2011
Perfetto…tutte le sessioni del MIX sono online, ma come fare per farne il download, in modalità silent? ...
Sync framework: un po' di link
In questo ultimo periodo mi sono “dilettato” con il sync framework (arrivato alla versione 4.0 in CTP) per risolvere l’annoso problema di sincronizzazione tra un db master ed un db ...
Cosa ho imparato al NoSqlDay
Venerdi scorso si e tenuto a Brescia il primo NoSQLDay un’intera giornata per approndire una delle buzzword del momento e per capire che sotto c’e parecchia ciccia (cit.). ...
NoSql day: una giornata eccezionale!!!
Prima di un più o meno dettagliato resoconto della giornata, mi ritaglio poche righe per congratularmi con gli organizzatori della conferenza. La giornata è stata veramente eccezionale, le sessioni (quasi) ...
La bicicletta e il carroarmato (...continua)
Ho apprezzato i molti commenti al mio ultimo post, mi hanno fatto pensare ad alcune cose…. ...
La Bicicletta E Il Carroarmato
E’ un po’ di tempo che studio e gioco con Ruby e RubyOnRails e a dicembre insieme al Makka ho iniziato un progetto vero (ossia pagato da un cliente) basato ...
DDD, Aggregate e FK
I concetti di aggregate e di aggregate root nell’ecosistema di domain driven design ricoprono un ruolo fondamentale: l’aggregate garantisce un raggruppamento logico delle varie entities e value objects. L’aggregate root ...
CQRS @ UgiAltNet
Sabato si è tenuta la UgiAltNet conference: ottima conferenza, complimenti ancora a tutti gli organizzatori. ...