Software Mason
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 ) { … ...
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...
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; }...
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...
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...
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.
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...
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...
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...
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...
Full Software Mason Archive