January 2005 Blog Posts

TDD: Test Driven Development

posted @ Sunday, January 23, 2005 6:03 PM | Feedback (5)

HttpResponse Flush

Non so se vi è mai capitato, ma a volte è nacassario spedire al client (user agent) il contenuto del buffer anzitempo. Questo lavoro è solitamente eseguito dal metodo Flush della classe HttpResponse, come da esempio: Response.Write("aaaaaaaaaaaaaaaaaaaaaaaaaa");Response.Flush();System.Threading.Thread.Sleep(10000);  Peccato che se la dimensione del buffer è inferiore a 256 bytes (compresi) allora sembra non venga spedito alcunchè. In realtà non è vero, il problema è del browser. Infatti, il codice di cui sopra verrà correttamente visualizzato da browsers differenti da Internet Explorer (vedasi Firefox) mentre in IE nulla da fare. Pare che in IE ci sia un bug (uno ?!?!) che non permetta di...

posted @ Thursday, January 13, 2005 10:50 AM | Feedback (1)

MAC Mini

Non c'è niente da fare, ma questo oggetto mi piace troppo :-)

posted @ Wednesday, January 12, 2005 12:00 PM | Feedback (1)

Donazioni per le vittime del disastro nel sud-est asiatico

Sono veramente felice di aver visto in questi giorni quetsa enorme mobilitazione mondiale a favore delle vittime della catastrofe avvenuta nel sud-est asiatico. Spero che sia una vera svolta anche per altri (Africa, centro e sud America, ecc ecc.). E' da notare anche chi (vedi Schumacher) non si è risparmiato.

posted @ Friday, January 7, 2005 11:32 AM | Feedback (0)

WS-Eventing

WS-Eventing è una specifica che definisce il pattern di messaggistica publish/subscribe. Non essendo rattificata da alcun ente 'terzo' non so dire se rimarrà così oppure verranno apportate modifiche, ma rimane comunque una specifica interessante per chi deve gestire questo tipo di problematica (meglio una spefica che niente, no?). Bruce Williams ha scritto una serie di blog in tre parti (parte 1, parte 2 e parte 3) dove illustra in maniera molto semplice la specifica.

posted @ Thursday, January 6, 2005 11:52 PM | Feedback (0)

Ma quanti giorno mancano/sono trascorsi ?

La domanda è banale, come faccio a calcolare i giorni che intercorrono fra due date ? Sembra proprio una banalità, ma in realtà nasconda parecchie insidie. Infatti, l'oggetto DateTime contiene non solo la data, ma anche l'ora i minuti e secondi. Quindi, se calcolo i giorni che ci sono fra adesso (mentre scrivo) e domani (il 7 gennaio 2005), mi dirà 0 e non 1 (è domani). Potrei usare TimeSpan, peccato che se faccio la comparazione fra due date di anni differenti iniziano a sorgere parecchie eccezzioni. Bene, quale soluzione ? In questa fase mi limito al calendario Gregoriano (non voglio complicarmi troppo...

posted @ Thursday, January 6, 2005 11:25 PM | Feedback (5)

AntiSpyware firmato Microsoft

Era stato anticipato, ed ora è uscita la beta 1 dell'AntiSpyware firmato Microsoft.

posted @ Thursday, January 6, 2005 3:35 PM | Feedback (0)

Unit test in Visual Studio .NET 2005

Andrea ne ha parlato in passato, in Visual Studio .NET 2005 è possibile fare unit testing. Da una recente discussione via messenger con Corrado è sorta la domanda: ma le classi di test debbono stare dentro l'assembly da testare o in un assembly a parte ?  La mia risposta (del tutto personale) è dipende. In linea generale è molto meglio avere un progetto esterno (come suggerisce Andrea), ma se la classe da testare non esce dallo scope dell'assembly allora è necessario creare la classe di test internamente. Per evitare di esporre anche quella dalla libreria (effetto decisamente indesiderato) è possibile introdurre...

posted @ Sunday, January 2, 2005 11:09 AM

I predicati in .NET 2.0

Vi è mai capitato di fare una ricerca (selezione) all'interno di una lista ? Credo spesso. Se ad esempio è necessario estrarre tutte le persone con un'età compresa fra due valori, basta ciclare (for oppure foreach) nella lista e crearne una nuova con persone che soddisfano i requisiti. Nel nuovo framework sarà possibile definire un predicato con un metodo anonimo (questo ultimo aspetto non è obbligatorio): public List<Person> FindByAgeRange(int startAge, int endAge){  return this.FindAll(delegate(Person person) { return (person.Age > startAge && person.Age < endAge); });}  

posted @ Sunday, January 2, 2005 9:41 AM | Feedback (2)

Progettare la GUI

Sviluppare la GUI di una applicazione, sia essa web o windows (non considero la shell), è fondamentale per vari motivi: primo fra tutti è la parte applicativa che il vostro cliente valuterà per prima (e probabilmente nel 99% dei casi dipenderà il successo dell'acquisto). Suona male dirlo, ma vale di più (commercialmente parlando) una applicazione bellissima an 1-tier piuttosto che una applicazione molto meno bella distribuita (n-tier). Detto questo, si comprende quanto sia importante dare il giusto peso allo sviluppo della GUI. Ma che struttura ha il codice della GUI  (view)? Sostanzialmente ci sono due aspetti: logica del dato e logica...

posted @ Saturday, January 1, 2005 4:00 PM | Feedback (0)