Docker – Struttura

Gli elementi fondamentali della struttura di docker sono le immagini, i containers, i services e lo stack. Si possono considerare immagini e containers come l’equivalente di classi / istanze  utilizzate nei linguaggi di programmazione ad oggetti. Analogamente a quanto avviene per una classe che viene istanziata tramite la keyword new, anche le immagini sono “istanziate” utiilizando il comando docker run .  

Continua a leggere Docker – Struttura

Dependency Injection con Ninject

Riprendendo il post introduttivo alla dependency injection, sono numerosi i pacchetti in nuget che consentono di creare injection in maniera semplice. Ninject è un dependency injector open-source per .NET e vanta un numero piuttosto cosistente di scaricamenti ed installazioni.  Alcuni dei punti di forza che vengono enfatizzati dal team di sviluppo sono la semplicità e la facilità di utilizzo.

Nello sviluppo di applicazioni Web, in particolare MVC, l’utilizzo di un dependency injector consente di realizzare velocemente soluzioni “switchando” tra repository differenti. Questo significa che è possibile realizzare applicazioni con dati “demo” facilmente testabili e successivamente passare ai dati in produzione.

Continua a leggere Dependency Injection con Ninject

Outh2 – Il protocollo per l’autenticazione

Outh2 è un protocollo di comunicazione open, che può essere utilizzato nello sviluppo di applicazioni che necessitano di fornire un servizio di autenticazione. Outh2 è l’evoluzione del protocollo Outh ideato da Blaine Cook nel 2006, originariamente sviluppato come un’implementazione Twitter di OpenId come alternativa a competitors come  Google AuthSub, AOL OpenAuth, Yahoo BBAuth, Flickr API. Le specifiche del protocollo sono descritte dall’RFC 8252  .

Continua a leggere Outh2 – Il protocollo per l’autenticazione

Design Patterns

I design patterns sono un’elemento fondamentale per lo sviluppo di architetture software complesse. Durante le fasi della progettazione, prima della fase di scrittura, è importante porre l’attenzione sulla riusabilità o meglio sulla possibilità di riutilizzare lo stesso codice all’interno della stessa soluzione ma anche in progetti diversi.

Riutilizzare codice all’interno dello stesso progetto, ma anche in nuovi progetti

Le architetture software, sviluppate ad oggetti e ben strutturate, sono composte da pattern. Una delle metriche utilizzabili per valutare la qualità di un software potrebbe essere proprio l’attenzione posta dagli sviluppatori nel riutilizzo del codice e l’applicazione di pattern.
Continua a leggere Design Patterns

Docker – Usiamo i container!

Nell’ambito IT le macchine virtuali hanno portato ad una vera rivoluzione: la possibilità di installare più sistemi operativi (magari comunicanti tra loro) sulla stessa architettura hardware, ha permesso di risparmiare sui costi e sull’hardware. L’unico vero e proprio problema riguarda il modo di istanziare il sistema operativo: anche se virtuale, necessita comunque di spazio disco e ram (che è quella dell’hardware dove viene fatta girare).

Continua a leggere Docker – Usiamo i container!