Post

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 altro che - come me - ha ge…

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 Chakra che è l…

Disabilitare la compilazione TypeScript in Visual Studio 2015

Come sviluppatore Microsoft, è normale che sia un fan "più-che-sfegatato" di Visual Studio; ritengo sia l'ambiente di sviluppo di gran lunga più completo e confortevole presente in commercio. Ma nonostante gli sforzi che il nuovo corso della "Grande M" sta facendo per migliorarlo ancora, denota anche qualche difetto e limite nel momento in cui si va al di la dei confini dell'ambiente .NET.

In particolare, se ci si trova a lavorare con Angular2 e TypeScript - benchè si sia ancora parzialmente sul territorio Microsoft dal punto di vista del linguaggio - lavorando con Visual Studio (versione 2015) ci si può scontrare con una serie di errori di compilazione dei file ".ts" e delle dipendende di riferimento.

Il ritmo con cui vengono rilasciati gli aggiornamenti delle dipendenze e del compilatore TypeScript, è troppo elevato per poter adeguatamente tenere il passo tramite un update del nostro amato IDE; forse anche per questo, il team di Redmond …

Utilizzare il nuovo Router di Angular2 (versione RC)

Nel precedente post (link) ho mostrato come integrare un componente JavaScript (per esempio MomentJs) con l'ecosistema TypeScript di Angular2. Questo approccio potrebbe essere molto utile nel primo periodo di utilizzo di questo framework, vista la momentanea scarsità di plugin nativi rispetto la controparte di AngularJs (prima versione).

Benché il funzionamento di NG2 sia molto diverso da AngularJs, molti concetti sono stati ripresi e opportunamente riveduti. Inoltre, se avete avuto esperienze di utilizzo di DurandalJs - altro fantastico framework JavaScript - noterete certamente alcuni aspetti che da esso sono stati acquisiti: l'ideatore di DurandalJs, Rob Eisenberg, ha lavorato fianco a fianco con il team di Angular2 per il primo anno di incubazione del progetto, per poi lasciare a causa di divergenza di opinioni. Ma la sua presenza ha fatto si che il nuovo sistema prendesse il meglio dei due mondi che fino a quel momento dominavano la scena per le Single Page Application.

Angular2 - Pipes e integrazione con librerie Javascript

Ormai da qualche mese mi sto "dilettando" con Angular2. Essendo un grandissimo fan (ed utilizzatore) di AngularJs, mi sembrava una naturale evoluzione; questo senza dimenticare che questa nuova reincarnazione del gioiellino di Google, chiude le porte con il passato, rivisitando completamente la maggior parte dei concetti e la sua infrastruttura in nome delle performance e dell'estendibilità.

Con questo post - giuro che questa volta cercherò di essere più breve del solito - non è mia intenzione fare una panoramica di Angular2; navigando in rete si possono facilmente trovare moltissimi articoli (molti dei quali veramente ben scritti) che fanno introduzioni dettagliate al framework, e imbastiscono in maniera esauriente il classico "Hello World, Angular2!".

Vorrei quindi condividere un paio di pensieri in merito ad una delle funzionalità che più sto apprezzando di NG2 e che - in qualche modo - ereditano da AngularJs prima versione: le Pipes, precedentemente note …

RESTful Stress: misurare le performance di un servizio REST

Immagine
Nel post di qualche settimana fa (lo potete trovare a questo link) abbiamo fatto una rapida introduzione al tema delle misurazioni delle prestazioni di una piattaforma applicativa fortemente basata su REST. Il tema è estremamente complesso, e le quattro idee che ho "buttato giù" sono solo la superficie di un mondo vastissimo ed articolato.

Al mio primo approccio con questo argomento - non lo nego - mi sono trovato parecchio spiazzato. Sono sempre stato abituato a "calcoli insindacabili" e certezze; ma tutto questo richiede una buona dose di analisi dei comportamenti e di...speranza.

Dico questo per un motivo molto semplice: rispondere alla domanda "quanti utenti l'ora è in grado di supportare la mia applicazione?", non è così banale. Vuol dire prima misurare tutto il misurabile, e poi dover fare i conti con la variabile più imprevedibile con cui un professionista dell'IT deve fare i conti: il comportamento dell'utente med…

Load tests, Stress tests e performance di un servizio REST

A fine 2012 ho iniziato ad avvertire una maggiore sensibilità dei clienti riguardo il tema delle prestazioni di un sistema basato sul web. Parecchi degli applicativi a cui stavo lavorando in quel periodo erano già basati su architetture con piattaforme REST e dati in formato JSON, che si adattavano molto bene al tema della "misurazione dei tempi di risposta". La separazione dei moduli applicativi e - in particolare - del "presentation layer" dallo strato di servizi, è a mio parere una caratteristica essenziale per ottenere una metrica dell'applicazione sotto carico.

Faccio subito una precisazione ritengo doverosa. In ogni situazione - ed in particolar modo se si lavora con SPA (Single Page Application) - è fondamentale distinguere tra le problematiche prestazioni dovute ad un codice client "lento", magari non adeguatamente ottimizzato, da una piattaforma di servizi che fatica a fornire risposte nei tempi desiderati.

In questo post mi soffermerò su q…