The Ugi Blog of Antonio Di Motta

“Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.” (Martin Fowler)
posts - 58, comments - 65, trackbacks - 1

giovedì 22 dicembre 2011

ALTernative Paas a Windows Azure

Per chi sviluppa con .Net e vuole provare a fare qualcosa con il cloud sicuramente la prima scelta è Windows Azure, ma io ultimamente mi sento molto ALT.NET e allora ho deciso di cercare qualche altra soluzione PaaS (Platform As A Service) magari a prezzi più bassi, ed ho trovato AppHarbor.

AppHarbor gestisce sia il deployment che la fase di runtime delle applicazioni .net. E' possibile fare il push del codice, in pratica, da tutti i vcs e dvcs oggi disponibili (git, mercurial, svn, tfs...), AppHarbor farà la build, lancerà i nostri test e se questi daranno esito positivo farà il deployment sull'application server e noi sviluppatori riceveremo tutte le notifiche.

In fase di esecuzione AppHarbor gestirà la scalabilità dell'applicazione (possiamo acquistare più istanze) e il bilanciamento del carico delle richieste.

Una caratteristiche che mi piace molto è l'estendibilità della piattaforma, in quanto AppHarbor mette a disposizione delle api per consentirci di sviluppare nuovi add-on come ad esempio supportare un nuovo vcs o un nuovo sistema di notifiche.

Una chicca è il catalogo degli add-on (in continua crescita) per "pluggare" servizi nelle nostre applicazioni come dbms (sqlserver,mysql,mongodb,redis) o gestiori di log (airbrake), un vero e proprio store di servizi per le applicazioni.

Per chi vuole cominciare a provarlo i prezzi mi sembrano competitivi e la prima istanza è gratis.

posted @ giovedì 22 dicembre 2011 0.00 | Feedback (0) | Filed Under [ dotnet opensource ]

lunedì 12 ottobre 2009

Goolge Wave Test

Da qualche settimana sto provando Google Wave la nuova piattaforma di comunicazione che Google sta preparando come
alternativa alla comunicazione classica dell'email.

Oltre all'invito mi sono ritrovato con la possibilità di invitare altri 8 amici, che sono stati abilitati molto lentamente.
Questo mi fa supporre che la richiesta è molto alta e la piattaforma ancora poco stabile.

Comunque dopo qualche giorno Google ha abilitato i primi amici ed ho potuto finalmente cominciare ad usarlo.
All'inizio Wave mi ha disorientato molto in quanto non sono abituato ad usare una "chat" che mi da la possibiltà di interagire con quello che ho scritto (o che hanno scritto i miei amici) precedentemente.
Ma Wave è mooooolto più di una chat.
La possibilità di far evolvere una discussione tra colleghi (o clienti) è notevole.
Da quello che si vede nei filmati disponibili in rete un ruolo fondamentale lo giocheranno i plugin. Ad esempio, bella la possibilità di interagire con i commenti associati ad un post di un blog.

In definitiva questa prima esperienza non posso che giudicarla positiva.

posted @ lunedì 12 ottobre 2009 10.45 | Feedback (3) | Filed Under [ google ]

giovedì 1 ottobre 2009

E' arrivata l'onda.

Stamattina apro la posta e cosa trovo?

La risposta di Google alla mia richiesta di utilizzare la preview di Google Wave.

Ora ho un altro "giocattolo web" da provare... che bello!!!!

ps. ho ancora un invito disponibile.....

posted @ giovedì 1 ottobre 2009 10.11 | Feedback (4) | Filed Under [ google ]

domenica 13 settembre 2009

Fluent Validation

Qualche tempo fa ricordo di un post di Janky in cui descriveva il modo con cui gestiva la logica di validazione del domain model. Quella poche righe di codice mi hanno colpito molto in quanto per la prima volta realizzavo quanto fosse importante poter separare la logica di validazione da tutto il resto. Da allora mi sono imbattuto in molte librerie che in modo più o meno diverso realizzano la validazione.

Ultimamente con il proliferare di librerie fluent like mi è venuta l'idea di creare una mia liberia di validazione che appunto utilizzasse l'approccio fluent, il mio errore è stato quello di non controllare che altri avessero già realizzato ciò.

Per farla breve ho trovato su codeplex Fluent Validation che sembra essere la libreria di Janky  + quello che avevo in testa io.

In pratica si possono scrivere cose di questo tipo:

public class CustomerValidator: AbstractValidator<Customer> {
public CustomerValidator() {
RuleFor(customer => customer.Surname).NotEmpty();
RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Please specify a first name");
RuleFor(customer => customer.Company).NotNull();
RuleFor(customer => customer.Discount).NotEqual(0).When(customer => customer.HasDiscount);
RuleFor(customer => customer.Address).Length(20, 250);
RuleFor(customer => customer.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
}
A me piace e a voi?

posted @ lunedì 14 settembre 2009 9.29 | Feedback (2) | Filed Under [ dotnet opensource ]

venerdì 11 settembre 2009

Codeplex Foundation

Nella giornata di ieri è stata lanciata una nuova iniziativa open source Codeplex Foundation che ha il compito di:

"Enabling the exchange of code and understanding among software companies and open source communities"

posted @ venerdì 11 settembre 2009 9.46 | Feedback (0) | Filed Under [ opensource ]

domenica 30 agosto 2009

Architecture Tools in VSTS 2010

Bello il post di Somasegar in cui parla delle nuove caratteristiche da "Architetto" che possiederà il prossimo VS 2010.

Ne beneficeranno anche le mie slides :)

posted @ domenica 30 agosto 2009 20.19 | Feedback (0) | Filed Under [ dotnet ]

domenica 12 luglio 2009

nunitex

Appello per chi utilizza molto NUnit e ama scrivere codice fluente come me,

vi segnalo questo interessante nunitex di Fabio Maulo che permette di scrivere cose come queste:

const string somethig = "something";
somethig
.Should().Contain("some");
somethig
.Should().Not.Contain("also");
somethig
.ToUpperInvariant().Should().Not.Contain("some");

posted @ domenica 12 luglio 2009 19.17 | Feedback (5) | Filed Under [ dotnet opensource ]

giovedì 2 luglio 2009

Good Books

Microsoft.NET: Architecting Applications for the Enterprise

di Dino e Andrea è tra i libri favoriti di David Chappell.

Concordo con lui.

posted @ giovedì 2 luglio 2009 9.04 | Feedback (2) |

lunedì 22 dicembre 2008

Modificare i dati con Entity Framework

Oggi voglio segnalare un ottimo articolo introduttivo circa la modifica dei dati con l'Entity Framework.

posted @ lunedì 22 dicembre 2008 10.46 | Feedback (0) | Filed Under [ dotnet ]

giovedì 18 dicembre 2008

Google Application Engine

Me ne ero completamente dimenticato, ma tempo fà avevo fatto richiesta a Google di poter utilizzare la preview del suo Google Application Engine.

Ieri mi è arrivata l'email di conferma, adesso mi tocca rispolverare le mie scarse conoscenze di pyton :)

posted @ giovedì 18 dicembre 2008 12.37 | Feedback (0) | Filed Under [ google ]

Powered by: