Software Mason

“Focus Day on Developer Tools”

Con grande piacere sono stato invitato, dai ragazzi di Brain-Sys e da Overnet, al Focus Day che si terrà a Milano il 27 maggio. Il focus della giornata sono i “developer tools” quindi tutti gli strumenti che un team di sviluppo si trova ad usare quotidianamente, parleremo quindi di Visual Studio, dando anche una sbirciata a cosa ci riserva il nuovo Visual Studio “15”, di NPM, Bower, Grunt e Gulp senza dimenticarci di UWP e Xamarin per lo sviluppo cross-platform. Io personalmente mi dedicherò a qualcosa di un po’ inusuale: GitFlow & GitHubFlow: gestire...

posted @ giovedì 5 maggio 2016 9.24 | Feedback (0)

Che l’idempotenza sia con noi… :-(

Idempotenza questa sconosciuta… Il “buon” Subtext è evidente che non sa cosa sia… post, duplicati, visibili da front-end ma non da back-end, dove ce ne sono altri duplicati: Lasciamo perdere poi la gestione della paginazione: Evito poi di addentrarmi nei meandri dello scheduler…è come sparare sulla Croce Rossa.

posted @ venerdì 15 aprile 2016 12.23 | Feedback (2)

Lavoro da remoto - strumenti: Google Inbox / GMail

Il primo degli strumenti di cui ho parlato è Slack che sostanzialmente si configura come il centro del nostro mondo in particolare come accentratore di, quasi, tutta la comunicazione interna. La comunicazione però, purtroppo, non è solo quella interna e questo fa si che sia quasi impossibile, almeno per figure come la mia, eliminare completamente l’uso della mail. Ho colleghi che, dato il tipo di lavoro che fanno principalmente, guardano la posta una volta alla settimana o meno. Inbox Zero Tutta la posta aziendale gira su Google Apps il che comporta che il client di posta sia...

posted @ giovedì 7 aprile 2016 10.00 | Feedback (0)

DotNetLiguria: Workshop 1 Anno 2016

Workshop 1 Anno 2016 - Introduzione a DotNetCore, Microservice e ServiceFabric, una gran soddisfazione non c’è che dire. Slide: http://www.slideshare.net/mauroservienti/soa-ddd-e-microservices Esempi: https://github.com/mauroservienti/NServiceBus.Samples/tree/master/v5 L’esempio che abbiamo visto girare durante la mia sessione è il 14esimo: Il sistema più semplice per averlo up & running è installare i tool della Particular Platform, l’esempio usa dietro le quinte NServiceBus, scegliendo di configurare come minimo NServiceBus e ServiceControl: Questo fa si che tutte le code necessarie al funzionamento degli esempi siano create a correttamente configurate. Il file markdown relativo...

posted @ lunedì 21 marzo 2016 13.00 | Feedback (0)

Pub/Sub, Composite UI e AngularJS

Questo post era originariamente su Medium a fini di sperimentazione della piattaforma, ed era anche l’unico, ma ho deciso di chiudere l’account. Riporto quindi il contenuto qui. Ieri sera è stata una piacevolissima sorpresa, sinceramente, non mi aspettavo così tanta gente e così tanto interesse. Quando, qualche mese fa, abbiamo deciso di parlare di “pub/sub” applicato al mondo di front-end avevo ben chiaro in testa come avrebbe dovuto funzionare la demo, ma in tutta sincerità non avevo la più pallida idea di come gestire la parte introduttiva. Alla fine mi sono preso il...

posted @ sabato 27 febbraio 2016 8.32 | Feedback (1)

to Topshelf or not to Topshelf?

Un bel post di Martino introduce Topshelf, libreria che in passato ho usato parecchio. Si, ho usato e non uso più, nessun problema, semplicemente ritengo sia totalmente inutile. Riporto di seguito il codice che ha mostrato Martino, nulla di trascendentale, un servizio e la sua fase di bootstrap. Vediamo lo stesso codice implementato senza Topshelf using System; using System.ServiceProcess; class Program : ServiceBase {     static void Main( string[] args...

posted @ mercoledì 11 novembre 2015 9.57 | Feedback (4)

Falsi miti: monolite è male, microservices è bene

Agli ultimi Community Days, 2015 per i posteri, una delle mie slide era la seguente: Nel contesto di quella presentazione, sempre per i posteri si parlava di NoSql, l’obiettivo era far notare come non ci fosse il giusto o lo sbagliato, in termini assoluti, quando si parla di database documentali, o in generale di lotta tra Sql e NoSql. Allo stesso modo è sbagliato affermare che: basso accoppiamento è bene, alto accoppiamento è male; microservices è bene, monolite è male; funzionale è bene, procedurale è male;...

posted @ giovedì 8 ottobre 2015 9.22 | Feedback (0)

Falsi miti: sincrono è consistente

Questa è facile! Aleggia questa strana convinzione che un mondo sincrono sia anche consistente, ecco… a meno che le vostre query in lettura non usino lock pessimistici e transazioni con un altissimo livello di serializzazione allora mi spiace dirvi che le vostre query sono stale by design… Mi spiace anche farvi notare che il sincrono non fa altro che ridurre la finestra temporale e dare una falsa sensazione di sicurezza; sensazione che altro non fa che abbassare il livello di guardia “aiutandoci” a produrre codice che troppo spesso parte dal presupposto che le cose vadano come ci aspettiamo....

posted @ giovedì 16 luglio 2015 9.29 | Feedback (2)

Repository delle mie brame

Qualche tempo fa con un amico si stava discutendo di `Repository Pattern` e di tutto quello che gli gira intorno, tutta la disquisizione ruotava intorno a quale fosse il ruolo di un `repository` in un mondo orientato a CQRS. Siamo dopo un po’ di scambi di opinioni giunti alle seguenti questa conclusioni. Un repository deve consentire di caricare un aggregato data la sua chiave primaria; consentire di aggiungere una nuova istanza di un aggregato; persistere le modifiche apportate ad un aggregato; rappresentare una...

posted @ mercoledì 17 giugno 2015 9.44 | Feedback (2)

CQRS: “C” come “Conversation Id”

La serie di post su CQRS si arricchisce sempre più, ne mancano un paio per chiudere il cerchio e avere una overview abbastanza completa su “cosa”, “come” e “quando”.   L’ultima volta che ne abbiamo parlato abbiamo introdotto il concetto di de-normalizzazione asincrona, elencando più o meno una lista di possibili passi simile a quella che segue: Invio del comando in POST; Ricezione del comando e dispatch dello stesso su una coda; Invio della risposta HTTP-202; Ricezione del comando e...

posted @ giovedì 2 aprile 2015 11.05 | Feedback (0)

Full Software Mason Archive