Alkampfer's Place

Il blog di Gian Maria Ricci
posts - 659, comments - 871, trackbacks - 80

My Links

News

Gian Maria Ricci Mvp Logo CCSVI in Multiple Sclerosis

English Blog

Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

I miei siti

Siti utili

August 2007 Blog Posts

Le cose poco chiare

Spesso si parla male degli ambienti di sviluppo windows, ma spesso gli altri ambienti sono quantomeno misteriosi. Situazione, sto guardando joomla, un CMS in php, è molto carino e lo ho provato nel nostro hosting senza problemi. Stamane volevo giocarci un po di più ed allora mi sono detto che sarebbe stato meglio istallare tutto in locale perché cosi è più veloce. Passo 1, istallo il supporto php, non lo avevo mai istallato, vado nel sito e prendo l'installer, lo istallo e tutto ok. A questo punto IIS non è configurato, mi istallo manualmente la isapi e configuro l'estensione php per...

posted @ Tuesday, August 28, 2007 9:16 AM | Feedback (3) | Filed Under [ Generale ]

Testare codice Legacy

I progetti costruiti con TDD oppure pensati per il "design for testabiliy" sono creati e pensati per essere "testati" con facilità, purtroppo così non è per i sistemi legacy. Quando si mette mano ad un sistema preesistente per rifattorizzarlo è di primaria necessità costuire una batteria di test i più dettagliati possibile, ma spesso si incontrano difficoltà. Un caso tipico è una funzione di questo tipo: In questo caso il SUT (System Under Test) esegue codice in base ad un settaggio che è memorizzato su un database. Questa tipologia di codice è molto comune e rende difficile effettuare il test, soprattutto...

posted @ Monday, August 13, 2007 11:02 PM | Feedback (0) | Filed Under [ Testing ]

xUnit test patterns

Ho quasi finito di leggere il libro xUnit Test Patterns, il giudizio è sicuramente positivo, il libro è completo, tratta l'argomento dello unit testing in maniera decisamente approfondita presentando nel contempo numerosi pattern per organizzare i propri test nella maniera più efficiente possibile. Uno dei pregi maggiori è la formalità delle definizioni, che costituiscono un glossario utilissimo quando si parla dell'argomento Testing. L'unica pecca è la lunghezza del libro (più di 800 pagine) che lo rende in alcuni tratti decisamente ripetitivo e talvolta noioso. Alcuni concetti infatti sono espressi nella prima parte e ripresi nella seconda con solo pochissime aggiunte....

posted @ Monday, August 13, 2007 7:15 PM | Feedback (0) | Filed Under [ Libri ]

Extension methods nello unit testing

Uno dei problemi maggiori che si incontra nello unit testing di codice già esistente e non scritto secondo I principi del "design for testability" è l'impossibilità di verifcare lo stato interno di un oggetto. Talvolta infatti per verificare che un test è andato a buon fine è necessario andare a verificare il valore di una variabile privata del SUT (System Under Test), ma naturalmente questo non è possibile farlo dal test. Questa necessità emerge più spesso del previsto, ad esempio se il SUT è un oggetto a stati ed il chiamante non ha necessità di conoscere lo stato corrente, è...

posted @ Monday, August 13, 2007 6:44 PM | Feedback (0) | Filed Under [ Testing ]

Repository e LINQ

Premesso che sono alle prime armi con LINQ, in questo post faccio vedere una prima ipotesi di come il nostro repository possa dare funzionalità di query per LINQ grazie al progetto LINQ to NHIbernate. Alk.

posted @ Friday, August 10, 2007 5:10 PM | Feedback (0) | Filed Under [ DDD ]

Repository – Fluent Query Interface

Quarta parte degli articoli sul repository.

posted @ Tuesday, August 7, 2007 2:52 PM | Feedback (1) | Filed Under [ DDD ]

Repository non generico

Terza parte della serie di post su come realizzare un repository pattern.

posted @ Monday, August 6, 2007 5:47 PM | Feedback (3) | Filed Under [ DDD ]

Gestire un repository Generico [1]

seconda parte del post sull'argomento "repository pattern" Alk.

posted @ Sunday, August 5, 2007 10:05 AM | Feedback (4) | Filed Under [ DDD ]

Gestire un repository generico

Prima parte di una serie di post sull'argomento "repository Pattern" In relazione ad un thread aperto su guisa. (http://www.guisa.it/forums/1258/ShowThread.aspx#1258) Alk.

posted @ Sunday, August 5, 2007 10:01 AM | Feedback (5) | Filed Under [ DDD ]

Provider di connessione per nhibernate - Precisazioni

Nel precedente post ho spiegato come realizzare un provider custom per le connessioni in nhibernate al fine di potere iniettare una connessione in una sessione. Per completezza è il caso di citare che il metodo SessionFactory.OpenSession() ha una versione in overload che accetta un oggetto IDbConnection come parametro. Il risultato è praticamente analogo e sicuramente si scrive meno codice rispetto all'esempio precedente. Il contro di questa tecnica è che spesso si debbono eseguire dei test su classi che internamente creano una sessione (o prendono quella della conversazione corrente). Queste classi chiaramente invocano il metodo SessionFactory.OpenSession() senza preoccuparsi della gestione della...

posted @ Friday, August 3, 2007 10:56 PM | Feedback (0) | Filed Under [ NHibernate ]

Provider di connessioni per nhibernate

Debbo dire che più conosco nhibernate più lo apprezzo veramente tanto. Stasera mi sono chiesto, posso iniettare una mia connessione in una sessione? Lo scopo di una simile operazione è vario, potrei ad esempio iniettare una connessione durante un test per potere poi fare query dirette al database e verificare che i dati siano scritti bene, oppure potrei volere eseguire codice SQL diretto assieme a nhibernate in una unica transazione etc etc. LA soluzione a questo problema è veramente banale :D. Nhibernate definisce un interfaccia chiamata IConnectionProvider tramite la quale la sessionFactory recupera la connessione da dare in pasto alla sessione,...

posted @ Friday, August 3, 2007 9:56 PM | Feedback (1) | Filed Under [ NHibernate ]

Ancora su vista e i suoi piccoli disagi

Il CD-ROM è una periferica che per me è praticamente inesistente…..ma talvolta la uso, oggi vado a prendere il cd con gli esempi del libro del petzold, lo inserisco e quando provo ad accedere al contenuto windows vista mi propone di formattarlo……premendo annulla la finestra si chiude. Ho provato con tasto destro esplora, apri, espelli e reinserisce nulla…dopo 10 minuti di frustrazione apro una finestra DOS e magia E:> Risultato….ogni cd che metto posso leggerlo solo da dos, perché il vista mi dice che è da formattare e non mi fa vedere il contenuto L Alk.

posted @ Friday, August 3, 2007 11:39 AM | Feedback (7) | Filed Under [ Generale ]

Castle Vs Spring Override delle properties

Una delle funzionalità di Castle.Windsor che non ho trovato su spring, e si fa anche un po fatica a simularla, è la possibilità di fare un override delle proprietà di un oggetto. In questo post viene mostrato come windsor permetta di iniettare manualmente a runtime le dipendenze degli oggetti.

posted @ Friday, August 3, 2007 8:12 AM | Feedback (0) | Filed Under [ Castle ]

Test di post da word

Lo so che è gaurro :D, ma mi piace bloggare da word. Alk.

posted @ Thursday, August 2, 2007 7:45 AM | Feedback (2) | Filed Under [ Generale ]

Castle Windsor - Facilities

Esempio di facility per configurare runtime un contenitore di IoC di Castle.Windsor.

posted @ Wednesday, August 1, 2007 10:23 PM | Feedback (2) | Filed Under [ Castle ]

Castle o Spring?

Una delle domande principale che mi faccio talvolta parlando di IoC e di AOP è se utilizzare castle o spring...Spring è una libreria in giro da più tempo e più matura, la documentazione inoltre è migliore di quella di Castle effettivamente, ma se dovessi scegliere sceglierei Castle, per una serie di motivi. Il primo motivo è le API pubbliche che si utilizzano, Castle.Windsor è fortemente tipizzato, ad esempio per recuperare un istanza si usa questo codice MyInterface instance = _container.Resolve<MyInterface>(); dove naturalmente _container è un istanza di WindsorContainer che possiamo ottenere da un file xml di configurazione o da una...

posted @ Wednesday, August 1, 2007 4:42 PM | Feedback (2) | Filed Under [ .NET ]

Powered by:
Powered By Subtext Powered By ASP.NET