Welcome

This is the generic homepage (aka Aggregate Blog) for a Subtext community website. It aggregates posts from every blog installed in this server. To modify this page, edit the default.aspx page in your Subtext installation.

To learn more about the application, check out the Subtext Project Website.

Powered By:

Blog Stats

  • Blogs - 660
  • Posts - 20890
  • Articles - 265
  • Comments - 44990
  • Trackbacks - 81596

Bloggers (posts, last update)

Latest Posts

Lanciare MbUnit usando NAnt e Gallio

Gallio ha un buon supporto per NAnt! L'unica pecca è la documentazione a riguardo che attualmente è un po' scarna. Di seguito quindi posto le istruzioni per portare a buon fine l'operazione senza grossi sforzi.

Prima di tutto bisogna caricare i Tasks di Gallio in NAnt inserendo la riga nel file di progetto
<loadtasks assembly=".\tools\Gallio\Gallio.NAntTasks.dll" />

Poi grazie a questo frammento di xml possiamo lanciare gli unit tests contenuti in un assembly chiamato Data.Fixture.dll
<target name="test" depends="build"> <gallio result-property="exitCode" failonerror="false" > <runner-extension value="TeamCityExtension,Gallio.TeamCityIntegration" /> <assemblies> <!-- Specify the tests assemblies --> <include name="${src.dir}\Data.Fixture\bin\${project.config}\Data.Fixture.dll"/> </assemblies> </gallio> <fail if="${exitCode != '0'}" >One or more tests failed</fail> </target>

Se avete bisogno di ulteriori informazioni potete controllare la documentazione on-line oppure i sorgenti.

Technorati Tag: ,,

posted @ 02/12/2008 20.48 by Claudio Maccari

Google Testing Blog - Clean Code Talks

Chiunque di voi scriva test unitari per il proprio codice (perché esiste ancora qualcuno che non lo fa?? smile_wink) consiglio questi brevi video di Google:

Clean Code Talks - Unit Testing

Clean Code Talks - Dependency Injection

Clean Code Talks - Global State and Singletons

posted @ 02/12/2008 16.17 by Matteo Baglini

Un altro esempio di buona “programmazione”

Sono sul sito di Mediaworld, sezione “Punti vendita”, seleziono dalla dropdownlist “Seleziona la regione” la mia regione e traaak errore: [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 SQLCODE=-1042Unable to connect to database!. Con tanto di punto esclamativo :-). Ora mi chiedo, ma come fanno ad arrivare ancora errori del genere all’utente finale? Forse li trovano romantici. Mahhh. Ricollego anche un post su PHP...

Matteo Migliore.

posted @ 02/12/2008 14.53 by Matteo Migliore

Windows 7 Developer Guide

Sul sito MSDN Code Gallery è disponibile la versione 1.1 della Windows 7 Developer Guide, un documento di 44 pagine (in continua evoluzione) che riassume gli aspetti fondamentali del nuovo sistema operativo, da tenere presenti quando si sviluppano applicazioni espressamente progettate per lui. Il download è disponibile qui.

Technorati Tags: ,

posted @ 02/12/2008 14.33 by Marco Minerva

L’arte del bilanciare: fare coesione e disaccoppiare

Leggete un mio articolo, di 3 puntate, su Programmazione.It relativo a riflessioni e suggerimenti sul bilanciamento tra l’alta coesione e il disaccoppiamento delle classi in fase di design. E siccome mi interessa, fatemi sapere le vostre riflessioni sull’argomento.

posted @ 02/12/2008 13.12 by Fabio Carucci

SharePoint 2007 - Security Trimmed Control

Nel realizzare le nostre pagine SharePoint (o le nostre Web Part), alle volte nasce l’esigenza di legare la visibilità di alcuni componenti della pagina, ai permessi che l’utente connesso possiede; un po’ quello che è il comportamento dei componenti standard di SharePoint.

Rendere il nostro controllo “SecurityTrimmed” non è particolarmente complesso, in quanto possiamo utilizzare la classe SPSecurityTrimmedControl messa a disposizione da SharePoint.

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageLists">
Inserisci qui I tuoi controlli….
</SharePoint:SPSecurityTrimmedControl>

 

La proprietà Permissions ci permette di specificare quali sono i permessi che l’utente deve possedere per visualizzare tutto quello che è stato inserito all’interno del controllo; possiamo chiaramente utilizzare tutto il set di permissions messo a disposizione da SharePoint.

Technorati Tags:

posted @ 02/12/2008 12.48 by Daniele Proietti

Un po' di formazione non guasta mai...

Ho notato che da oggi ci sono disponibili queste interessanti guide per gli smanettoni (sviluppatori mi sembra un termine forte in questo ambito) di SharePoint.

Dato che non se ne sai mai abbastanza consiglio di dare una bella lettura...

...per chi ci riesce visto che io finora ho scaricato solo pdf corrotti (colpa del mio pc?!?)

posted @ 02/12/2008 11.04 by Omar Damiani

Entity Framework and Log4Net

Da molti anni uso Log4Net come strumento di log per le mie applicazioni ora è venuto il momento di integrare il tutto anche con Entity Framework ma come fare ? Mi sono detto, mi piacerebbe molto tenere traccia delle query che genero con Entity, certo il Profiler "SEMPRE ATTIVO" come il Master raccomanda, ma un log delle query in molti casi ti salva la 'vita'.

Lasciando perdere la configurazione di Log4net log4net Manual - Configuration che potete trovare in ogni dove sul web, concentriamoci su come Entity deve essere configurato per il risultato voluto.

Entity ci fornisce questo bel metodo ObjectQuery.ToTraceString per monitorare la query che verrà generata al momento della chiamata. Siamo a cavallo quindi, vediamo alcuni esempi di utilizzo.

EntityCommand.ToTraceString()

   1: var _context = new AdventureWorksEntities();
   2:  
   3: var connection = new EntityConnection(_context.Connection.ConnectionString); 
   4:  
   5: var query = "SELECT VALUE pro FROM AdventureWorksEntities.Product AS pro " +
   6:                       "WHERE pro.Color = @color"; 
   7:  
   8: var cmd = new EntityCommand(query, connection);
   9:  
  10: var param = new EntityParameter("color", DbType.String) {Value = "Black"};
  11: cmd.Parameters.Add(param); 
  12:  
  13: if (cmd.Connection.State != ConnectionState.Open) cmd.Connection.Open();
  14: _log.Debug(cmd.ToTraceString());

ObjectQuery.ToTraceString()

   1: var sql = "SELECT VALUE pro FROM AdventureWorksEntities.Product AS pro " + 
   2:                        "WHERE pro.Color = @color"; 
   3:  
   4: var query = _context.CreateQuery<Product>(sql); 
   5: query.Parameters.Add(new ObjectParameter("color", "Black")); 
   6:  
   7: if (_context.Connection.State != ConnectionState.Open) _context.Connection.Open(); 
   8: _log.Debug(query.ToTraceString());

LINQ to Entities

   1: string color = "Black";
   2: var query = from e in _context.Product
   3:             where e.Color == color
   4:             select e;
   5:  
   6: if (_context.Connection.State != ConnectionState.Open) _context.Connection.Open();
   7: _log.Debug((query as ObjectQuery<Product>).ToTraceString());

facile no?!?! che ne dite?

posted @ 02/12/2008 9.52 by Sonny

Architecture Pocket Guides

RIA Architecture Pocket Guide.pngIl team di Pattern & Practices ha pubblicato una serie di guide inerenti l’archittettura di diverse tipologie di applicazioni:

      • Agile Architecture Method Pocket Guide
      • Web Architecture Pocket Guide
      • Mobile Architecture Pocket Guide
      • RIA Architecture Pocket Guide
      • Rich Client Architecture Pocket Guide
      • Service Architecture Pocket Guide

Da una prima sfogliata sembrano interessanti, le trovate qui

posted @ 02/12/2008 6.52 by Corrado Cavalli

Video del processo al db server relazionale

Avete poco meno di 40 minuti liberi e volete farsi delle grasse e sane risate? Non perdetevi il video della sessione organizzata dagli amici dell'XPUG Bologna ripreso all'Italian Agile Day. Nella sessione hanno inscenato un processo al db relazionale con tanto di giudice, pubblica accusa, avvocato difensore, testimoni e giuria popolare:

http://www.agilemovement.it/video/processo-al-database

Se avete poco tempo ora andate almeno al minuto 21 e godetevi la citazione di quanto Leonardo Da Vinci ha scritto a proposito del'ingegneria del software :-D

posted @ 02/12/2008 0.07 by Marco Abis

Mostrare solo alcuni campi con i Dynamic Data

Un po' di tempo fa, qui nel mio blog avevo espresso lo stupore di fronte alla prima esperienza con i Dynamic Data del .NET Framework 3.5 SP1. In questi giorni ho avuto l'occasione di fare qualche prova più approfondita; in particolare, mi sono scontrato con la necessità di personalizzare l'interfaccia web fornita di default.

In questa attività sono stato aiutato dal grande Alessandro Del Sole, che si è sempre dimostrato molto disponibile. L'ultima cosa che gli ho chiesto, in ordine di tempo, è stato se fosse possibile escludere alcuni campi dalla GridView con la lista dei record,  facendo in modo che apparissero solo quando si visualizzano i dettagli oppure si sceglie di modificare il record stesso. Seguendo il suo consiglio, sono giunto a questo post, che spiega esattamente come fare per ottenere ciò che mi serve, con tanto di esempio di codice disponibile per il download.

Technorati Tags: , ,

posted @ 01/12/2008 21.35 by Marco Minerva

Windows Home Server Power Pack 2

Stando a quanto si legge in questo post, in attesa del rilascio di Windows Home Server V2, entro la metà del 2009 sarà rilasciato il Power Pack 2 per l'attuale versione: al pari del primo Power Pack, non conterrà solo bug-fixed, ma aggiungerà anche alcune nuove funzionalità, la cui portata, tuttavia, al momento non è ancora stata comunicata.

posted @ 01/12/2008 16.20 by Marco Minerva

Belkin Network USB e Virtual PC 2007 (2 parte)

Riassunto della precedente puntata:
Il Belkin Network USB sembra non funzionare su XP virtualizzato con Virtual PC 2007, nel senso che l'hub di rete viene visto ma le preficeriche non si installano correttamente.

Nella pausa pranzo ho provato, senza successo, il consglio di Lorenzo, di installare USB@nywhere; l'idea era comunque buona, spulciando proprio nel suo blog ho trovato un vecchio post che fa riferimento a USB over Network il cui client, tra l'altro, è freeware.

Una volta installato sulla macchina virutualizzata il client della FabulaTech Solution (che installa il supporto a USB per XP)  anche i device collegati al Belkin Network USB si sono correttamente installati.

posted @ 01/12/2008 14.29 by Alessandro Scardova

Pattern Testing-by-user implemented

E' stato veramente difficile scegliere il titolo del post fra i molti che mi erano venuti in mente. Considerato il mio umore odierno ho scelto quello, per così dire, più "tecnico". :-)

 

I prossimi passaggi saranno:

Debugging-by-user

e

Fixing-by-user

(Securing-by-user neanche lo nomino in un caso del genere...)

 

P.S. Si è capito di che umore sono oggi? :-)

posted @ 01/12/2008 14.23 by Mario Duzioni

TechDays08, Case study tra ObjectWay e MTV.it

Sempre ai TechDays, oltre alla sessione sulla customizzazione del TFS (nella track del prode Lorenzo nazionale), avrò il piacere di condividere in 45 minuti (ci stiamo preparando a dovere) con Ugo Lattanzi, Technical Manager di MTV Italia, un bel case study che racconta il "dietro le quinte" dell'attuale architettura della community di MTV.it, e di come è nata e si è sviluppata con il lavoro congiunto di ObjectWay e tutto il gruppo di MTV.
Per dirla in parole povere: come abbiamo montato assieme WCF, LINQ to SQL, MSMQ, e un pizzico di AOP.

Felice da una parte...triste dall'altra, perchè mi sa che saltiamo il pranzo.
Lorenzo ci tieni da parte qualcosa? :-)

La data è il 4 Dicembre.

posted @ 01/12/2008 13.45 by Giancarlo Sudano

Validare una mail secondo uno schema predefinito

Forse questo post sarà banale ma non tutti conoscono e sanno usare le regular expression.
In questi giorni mi sono trovato ad avere una lista di indirizzi mail da convalidare secondo uno schema ben preciso, ho risolto il problema usando il seguente metodo:

   1:  public bool Convalida (string indirizzo)
   2:  {
   3:    string schema =
   4:   @"^[-a-zA-Z][.a-zA-Z0-9]*@(studenti.unina|)*\.(it)$";
   5:              
   6:   Regex controllo = new Regex(schema, 
RegexOptions.IgnorePatternWhitespace);
   7:   
   8:   bool booleano = false;
   9:   
  10:   if (string.IsNullOrEmpty(indirizzo))
  11:    booleano = false;
  12:   else
  13:    booleano = controllo.IsMatch(indirizzo);
  14:   
  15:   return booleano;
  16:  }
Technorati Tag: ,

posted @ 01/12/2008 12.55 by Fabrizio Lapiello

Parsing XML with jQuery

ho trovato molto semplice la lettura di un file xml attraverso l'utilizzo di jquery, per riuscirci ho preso spunto da questo
articolo link

posted @ 01/12/2008 12.42 by Alessandro Gervasoni

I've got you under my skin

A seguito della mia "call to action", ci sono pervenute alcune proposte per "skinnare" il muro dei blog. Premettendo i doverosi ringraziamenti agli autori... Eccole:

Skin 1

Snapshot

Skin 2

UgiBlackToGray

Skin 3

UgiBlackToWhite
Per "votare", inviatemi un messaggio utilizzando il form dei "contatti". Le "regole" sono semplicissime:
  • Può votare ogni socio UGIdotNET, esprimendo una singola preferenza
  • La preferenza va espressa con un semplice: "Skin XXX" senza ulteriori commenti o richieste e, soprattutto, senza esternazioni pubbliche.
  • Le skin sono anonime per evitare (improbabili ma) spiacevoli campagne promozionali. Ergo, la comparsa di dinamiche di queso tipo avrà come unico effetto quello di mantenere la skin attuale. Il concetto è: "non è una competizione; si tratta di scegliere quale sarà la 'faccia' del muro della nostra community".
  • Le preferenze saranno raccolte fino al 31/12
 
Technorati Tag:

posted @ 01/12/2008 11.23 by Andrea Saltarello

Avviso ai naviganti...

...Io darei una occhiata qui.

Technorati Tag: ,

posted @ 01/12/2008 1.21 by Andrea Saltarello

Pagine master, file Javascript e immagini di sfondo

Credo che il 99% dei siti sviluppati con ASP .NET, a partire dalla versione 2.0, facciano uso delle pagine Master. Tra le altre cose, esse possono essere utilizzate per aggiungere il riferimento a file Javascript (*.js) in modo da renderli automaticamente disponibili a tutte le pagine. Il problema di questo approccio è che il percorso del file Javascript (quello indicato nell'attributo src del tag script) è relativo alla posizione della Master page: ad esempio, se la master page è nella root del sito e il file javascript si trova nella directory Js, il tag script avrà la seguente forma:

<script src="js/functions.js" type="text/javascript" language="javascript"></script>

Tuttavia, se il sito contiene file ASPX in altre directory, questo percorso non è più valido, poiché la loro posizione relativa rispetto al file javascript è diverso (ad esempio, dovrebbe essere del tipo "../js/functions"). Purtroppo con il tag script non si può usare il carattere speciale ~ per indicare la root del sito. La soluzione al problema consiste nell'usare il metodo ResolveUrl per determinare dinamicamente il percorso corretto del file:

<script src="<%= ResolveUrl("~/js/functions.js")%>" type="text/javascript" language="javascript"></script>

Così facendo, il runtime di ASP .NET di volta in volta inserirà nel tag script il percorso del file corretto, in base alla posizione della pagina ASPX.

Lo stesso "trucco" permette di indicare un'immagine di sfondo nel tag body della Master page, in modo che sia visualizzata correttamente da tutte le altre pagine del sito, indipendentemente dalla loro posizione.

Technorati Tags: , ,

posted @ 01/12/2008 1.13 by Marco Minerva

Latest Images

From Store
From OtherPostImages
From Immagini
From Immagini
From Immagini
From Immagini
From TechEd 2008
From TechEd 2008
From Blog
From PostImages
From PostImages
From PostImages
From PostImages
From Foto
From Foto
From Images
From MyGallery
From MyGallery
From MyGallery
From Images