Software Mason

C# 7.2 piccole novità: in, ovvero read-only ref

Una delle cose “scomode” di passare un parametro ad una funziona per reference è che la funzione a questo punto può liberamente modificare il parametro in ingresso con il rischio di produrre side-effect indesiderati. Una cosa del tipo: struct Person {    … } static void DoSomething( ref this Person ) {    … ...

posted @ mercoledì 20 dicembre 2017 11:04 | Feedback (0)

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 @ mercoledì 6 dicembre 2017 15:47 | 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 @ lunedì 4 dicembre 2017 10:56 | 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 @ martedì 15 agosto 2017 11:20 | 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 @ giovedì 5 maggio 2016 10: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 13: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 11: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 14: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 09: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 10:57 | Feedback (2)

Full Software Mason Archive