giovedì 6 novembre 2008
Dopo circa due anni di duplicazioni di post tra ugi e DotNetSide ho deciso di passare definitivamente al blog di DotNetSide.
Ovviamente continuerò a seguire questo user group!
venerdì 31 ottobre 2008
Finalmente dopo circa 3 anni di pena è in produzione come source code control Visual Studio Team Foundation Server.
Sono finite le pene del plug-in per la versione 9.x (non certificata) per Visual Studio, tempi biblici nella get latest version, inutili refresh su compare, history, pending check-in da parto, per non parlare degli errori che mandavano in tilt l'IDE.
Questo è un esempio, errato (IMHO), di come la centralizzazione (costrizione nell'usare uno strumento aziendale) in un'azienda dai dipartimenti molto eterogenei (nel campo dell'industria) comporta.
Ultima curiosità, il porting è costato circa 65 ore (test, sviluppo macro, etc.), tra cui solo un paio d'ore di blocco per il team (15 persone). Grazie anche al fresco MVP che ci ha dato una grossa mano.
lunedì 25 agosto 2008
Come descritto su MSDN il metodo reset è fornito solo per interoperabilità con il mondo COM; testualmente
The Reset method is provided for COM interoperability. It does not necessarily need to be implemented; instead, the implementer can simply throw a NotSupportedException.
Come esempio provate ad eseguire questo semplice test:
| class test { public void start() { this.Reset(this.GetItems()); this.Reset(this.GetYieldItems()); } private void Reset<T>(IEnumerable<T> items) { items.GetEnumerator().Reset(); } private IEnumerable<string> GetItems() { return new List<string>(new string[] { "0", "1", "2" }); } private IEnumerable<string> GetYieldItems() { for (int i = 0; i < 3; i++) { yield return i.ToString(); } } } Lanciare il test con new test().start() |
Il metodo GetYieldItems lancia l'eccezione su citata proprio perché l'implementazione fornita dal framework dello yield, generata a compile time, non prevede il metodo Reset (Reflector conferma).
giovedì 12 giugno 2008
Utilissimo tool on-line che permette di formattare per i più comuni RDBMS uno statement sql in diverse tipologie di formati, compresi linguaggi di programmazione.
martedì 27 maggio 2008
A questo indirizzo http://code.google.com/p/remoting-nhibernate ho caricato un progetto / prototipo che dimostra come usare NHibernate in ambiente 3-tier (cioè con layer fisici separati) e con lazy-loading abilitato.
Il progetto a livello architetturale è un estratto di un progetto reale al quale ho potato tutte le feature che caratterizzano un qualsiasi progetto (logging, gestione errori, ecc.)
giovedì 7 febbraio 2008
giovedì 22 novembre 2007
E ' con immenso piacere che pubblico questo post nel quale annuncio il superamento del Final Acceptance Test nelle lande dei canguri con un bel 91%. La fase è durata circa 70 giorni. Dopo il Factory Acceptance Test, giocato in casa, adesso il passo successivo è la messa in esercizio.
Bella soddisfazione!!!
lunedì 5 novembre 2007
Mi parli dei Design Pattern (qualcuno a caso...)
Io nella mia vita lavorativa ho fatto talmente tante cose che quelli anche se non li conosco sicuramente li avrò utilizzati.
No comment.
mercoledì 31 ottobre 2007
Vorrei ricordare il VI workshop organizzato dai ragazzi di .netSide, questa volta si parla di SharePoint 2007. Gli argomenti sono trattati e snocciolati da due dei maggiori esperti nazionali su SharePoint: Igor Macori e Giuseppe Dimauro.
Qui trovate l' agenda, i posti sono limitati!
martedì 2 ottobre 2007
Ho dovuto creare una patch per un progetto di Ayende e non avevo idea di come crearla. Ecco un post che spiega come creare una patch per un progetto Open Source.
sabato 29 settembre 2007
Cos'è un Delegate?
"E' una persona a cui si delega la responsabilità di un compito"
Battezzato in questo modo colui che sparge bug dal peso d'oro a destra e a manca...
Si aprono le danze con questa chicca:
//imposto il default
MyTextBox.Text = "0,001"
Bello scoprire come un semplice default non vada su alcune culture!!!
E l'ObjectModel che ci sta a fare?
sabato 7 luglio 2007
In qualsiasi progetto è di fondamentale importanza un sistema che tenga traccia dei vari bug/requirements etc. Nel mio team abbiamo valutato per una decina di giorni Mantis. Devo dire che lo strumento è ben fatto, ti rendi subito conto che è uno strumento utilizzato perché tutte le feature che ha sono veramente utili.
La features list è davvero corposa.
giovedì 31 maggio 2007
Il primo round è andato abbastanza bene. Relativamente al progetto Canguro a fine Aprile è avventuo il Factory Acceptant Test. Beh, l'abbiamo superato con il 94%. Ok, abbiamo giocato in casa, a breve è previsto l'incontro di ritorno...
Ho molto da pubblicare su questo progetto, spero di tornare con calma al mio tempo libero di un tempo...
mercoledì 21 febbraio 2007
Mi trovavo ad un workshop, presumibilmente, e tra gli altri non poteva mancare il presidente.
Apre una borsa e tira fuori dei soldatini...
io: Andrea, ma hai solo soldatini della seconda guerra modiale?
pres.: si
io: e non hai quelli della prima?
pres.: no, me li hanno ciulati tutti...
Forse sto lavorando troppo...
sabato 13 gennaio 2007
Se avete il vostro componente in host su IIS (aspnet_wp) e utilizzate BinaryFormatter può capitare di avere un certo tipo di errori che il canale lato client non riesce ad interpretare, precisamente quelli di tipo testuale (text/HTML) ottenendo un dettaglio del tipo:
System.Runtime.Serialization.SerializationException: The input stream is not a valid binary format. The starting contents (in bytes) are: 53-79-73-74-65-6D-2E-57-65-62-2E-48-74-74-70-45-78 ...
Incomprensibile. La soluzione è quella di utilizzare uno sniffer.
Qui si trova un custom channel sink in grado di interpretare questo tipo di messaggi in caso appunto di
System.Runtime.Serialization.SerializationException
lunedì 8 gennaio 2007
Mariolino mi ha taggato...
- Brutal Moshing Grinding Core
- Mortician ... la mia band preferita
- Autore - giocatore di Avventure testuali
- Fondatore dei Penis Leech (rip) now Stench of Dismemberment
- Assistere alla nascita di un bambino... la cosa + bella al mondo!!!
martedì 19 dicembre 2006
All'inizio del progetto sul quale lavoro dall'inizio di quest'anno uno degli obiettivi che mi sono prefissato insieme ad un caro collega è stato quello di cercare di industrializzare il più possibile lo sviluppo del codice. Puo' sembrare una cosa stupida, ma poter decidere in qualsiasi momento di fare refactoring con impatto davvero minimo non è una cosa da sottovalutare in un qualsiasi progetto che si rispetti (leggi non RAD).
Alla fine il motto di questo concetto è diventato:
- implementiamola, bella o brutta che sia la soluzione, purché sia uguale per tutti.
sabato 11 novembre 2006
Dopo il post inaugurale del progetto passiamo agli argomenti tecnici. Di seguito trovate l'elenco delle caratteristiche tecnologiche e degli strumenti in uso:
- .NET 2.0
- Web App in host su IIS 6
- Winform Application
- Object Model
- NHibernate
- Remoting
- User Interface Model
- Custom Validation Block (basato su una primordiale versione di Janky)
- Enterprise Application Block
- Composite UI Application Block (CAB)
- GAX e GAT per template moduli CAB
- Generatore custom per entità Business
- Generatore custom per UI Model
Alla prossima con i dettagli e i problemi... eh eh
Da un po' di tempo sto ponendo particolare attenzione ai progetti
Castle Project e
Spring .NET e come sempre la scelta è difficile. Il primo contiene qualcosa come
ActiveRecord che più mi interessa ma fino a quando non provi un framework con un progetto reale, seppur piccolo, è dura. A questo proposito ho trovato un
post vecchiotto (del 3 gennaio 2005) dove vengono mostrate alcune differenze tecniche dei due progetti. Devo dire però che è un po' di parte...