Software Mason

C# 7.2 piccole novità: ref on extensions

In C# 7 questo non era possibile: public static class Extensions {    public static void Something( ref this ExtendedStruct es)    {    } } Non era cioè possibile passare ad esempio una struct ad un extension method per reference, pagando quindi pegno se volevamo usare extension method su strutture. Con C# 7.2 adesso è possibile, ci sono altre novità che riguardano “ref”, forse più interessanti ancora. Novità tutte orientate...

posted @ Wednesday, December 6, 2017 2:47 PM | Feedback (0)

C# 7.1 piccole novità: AsyncMain

Una delle cose “noiose“ quando si scrive un’applicazione, ad esempio, Console è quando nel metodo Main si deve avere a che fare con codice asincrono, si finisce per scrivere una cosa del tipo: public void Main(string[] args) {    MainAsync(args).GetAwaiter().GetResult(); } public Task MainAsync(string[] args) {    return Task.CompletedTask; }...

posted @ Monday, December 4, 2017 9:56 AM | Feedback (0)

Windows 10 - Controlled Folder Access

Una* delle macchine che uso quotidianamente per lavoro è nel programma insider, slow ring, e da un po’ è stata aggiornata a Creators Update. Una delle feature che aspettavo era il “Controlled Folder Access”. Quello che potete fare è definire una o più cartelle (e di conseguenza le relative sotto-cartelle) come “controllate”. Questo fa si che fondamentalmente solo i programmi autorizzati possono apportare modifiche a quelle cartelle. Ovviamente la cosa che salta subito all’occhio è che un ransomware non risulta tra i programmi autorizzati e quindi problema risolto. Occhio perché al momento non è tutto oro...

posted @ Tuesday, August 15, 2017 10:20 AM | Feedback (0)

“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 @ Thursday, May 5, 2016 9:24 AM | 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 @ Friday, April 15, 2016 12:23 PM | 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 @ Thursday, April 7, 2016 10:00 AM | 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 @ Monday, March 21, 2016 1:00 PM | 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 @ Saturday, February 27, 2016 8:32 AM | 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 @ Wednesday, November 11, 2015 9:57 AM | Feedback (2)

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 @ Thursday, October 8, 2015 9:22 AM | Feedback (0)

Full Software Mason Archive