Post

Restore di un database SQL Server in un container Docker

Immagine
Qualche giorno fa un collega aveva la necessità di eseguire il restore di un database creato con  Microsoft SQL Server 2016  in locale, in modo da poter eseguire la creazione di una dashboard in PowerBI. La nostra scelta di team - ormai da anni - è stata quella di installare sui nostri computer meno strumenti possibili, e solo quelli essenziali per portare avanti il lavoro quotidiano. Meno strumenti su un computer = meno spazio disco consumato = più risorse disponibili; quindi la scelta è sempre quella di appoggiarci a risorse ospitate  in cloud . In questo caso lo scenario era più complesso, e il semplice restore del nostro backup di database nel cloud, non sembrava essere la soluzione più performante, specialmente per via dell'obiettivo che avevamo - ovvero un'  analisi dei dati  - in un ambiente di sviluppo. Quindi quello che ho cercato di fare è semplicemente prendere il backup in questione - che nel nostro esempio sarà il file  test.bak  - e fare il suo restore in u

Code Coverage su .NET Core con Coverlet e ReportGenerator

Immagine
Inserire nel processo di sviluppo software la pratica dei  Test  - soprattutto se si sta lavorando ad un progetto di una certa portata - è un'ottima abitudine che incrementa notevolmente il livello di  qualità  e  manutenibilità  della soluzione stessa, e ci mette al riparo da situazioni inaspettate che possono sempre accadere. Purtroppo questa pratica è sempre stata vista come una "inutile perdita di tempo", che sottrae giornate di lavoro che si potrebbero altrimenti dedicare allo sviluppo. Si tratta tuttavia di un'idea ormai superata: è infatti provato che il tempo speso ad invididuare e a correggere errori introdotti in fase di sviluppo, è superiore al tempo che si sarebbe dedicato a realizzare i test che avrebbero garantito un livello di qualità più elevato del prodotto. Superato lo scoglio della volontà di "fare test" (ed è uno scoglio bello grosso, credetemi!), ci si trova spesso a dover decidere quali test fare: Unit Tests, Behavioral Tests, Syst

Rimuovere fastidiose shortcut da Visual Studio 2017

Immagine
Premetto che questo non è un articolo tecnico, ma più un suggerimento che mi sembrava  doveroso  diffondere, per risolvere un fastidioso problema che affligge tutti gli sviluppatori che hanno un layout di tastiera  italiano . Questo è un blog in italiano, quindi mi sembrava il posto più giusto per postarlo ;) ... Al mio rientro dalle ferie - come ogni buon sviluppatore che si rispetti - ho aggiornato la macchina di svilippo e gli ambienti, Visual Studio 2017 compreso. Installato l'update  15.8.1  mi sono trovato alcune novita (che non vi sto a raccontare) e una strana sorpresa: con la solita combinazione di tasti  Ctrl + AltGr + ]  invece che digitare la cara e vecchia parentesi graffa (a.k.a.  } ) mi sono trovato questo: Mi sono detto: "Nulla di importante. A che serve la parentesi graffa ad uno sviluppatore C# e JavaScript? Posso anche vivere senza...". Ironia a parte, dopo diversi minuti persi a "googleare" mi sono imbattuto nel post di un al

Costruire una DataSession custom con Chakra.Core

Lo scopo primario del framework Chakra è sempre stato quello di fornire delle strutture e guidelines per la scrittura di applicazioni enterprise che fossero al tempo stesso robuste , modulari e facilmente manutenibili nel corso del tempo. Ma, visto che il tutto è farina del mio sacco, e che mi ritengo uno sviluppatore assolutamente nella media, non ho mai pensato che bastassero un pugno di classi ed interfacce per mettere in piedi una struttura tanto ambiziosa. E’ con questo spirito che va approcciato questo framework. Farsi aiutare da alcune linee guida che indirizzano lo sviluppo, con la maggior parte del lavoro demandata alle qualità dello sviluppatore che scrive il codice: è lui l’unico responsabile della qualità del prodotto finale. In questo post il mio scopo è mostrare come è possibile utilizzare alcune delle interfacce “meno conosciute” contenute in Chakra, per realizzare un provider custom di accesso dati. L’obiettivo è realizzare una di quelle feature tanto care a Chak