Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

February 2006 Blog Posts

Documentazione varia su Visual Studio Team Architect

Non sopporto questi post dove si enumerano una serie di links, ma siccome in questo periodo è utile a me, chi può dire che non possa servire anche a voi? Ecco quindi una serie di documenti dal sito MSDN che trattano Visual Studio Team Architect. Per la serie...leggere...leggere...leggere... Distributed System Designer Overviewshttp://msdn2.microsoft.com/en-us/library/ms246227(VS.80).aspx Overview of System Designerhttp://msdn2.microsoft.com/en-us/library/k3yeaezt.aspx Overview of Application Designerhttp://msdn2.microsoft.com/en-us/library/ms181827.aspx Overview of Applications on Application Diagramshttp://msdn2.microsoft.com/en-us/library/ms181833.aspx Overview of Application Systems on System Diagramshttp://msdn2.microsoft.com/en-us/library/ms181880.aspx Overview of Endpoints on Applicationshttp://msdn2.microsoft.com/en-us/library/ms181835.aspx Defining Communication Pathways on Application Diagramshttp://msdn2.microsoft.com/en-us/library/ms181864.aspx Exposure of Members in Application Systemshttp://msdn2.microsoft.com/en-us/library/ms181883.aspx Defining Applications on Application Diagramshttp://msdn2.microsoft.com/en-us/library/ms181832.aspx Designing and Viewing Classes and Typeshttp://msdn2.microsoft.com/en-us/library/ab7aty24.aspx System Designer Terminologyhttp://msdn2.microsoft.com/en-us/library/ms246209.aspx Application Designer Terminologyhttp://msdn2.microsoft.com/en-us/library/ms246211.aspx Deployment Designer Terminologyhttp://msdn2.microsoft.com/en-us/library/ms246215.aspx Logical Datacenter Designer Terminologyhttp://msdn2.microsoft.com/en-us/library/ms246216.aspx Web Service...

posted @ Tuesday, February 28, 2006 2:51 PM | Feedback (2) | Filed Under [ Tecnologia ]

[70-536, #20] Qualche dettaglio in più sul BackgroundWorker

Il BackgroundWorker (d'ora in poi BW) è un componente nuovo disponibile nel FX2.0 di .NET, per cui vale la pena approfondire il suo funzionamento con qualche dettaglio in più. Mi piacerebbe dimostrare veramente che il task gestito dal BW gira davvero in un thread separato rispetto a quello della UI. Ed ancora, vedremo come implementare l'annullamento di un'operazione lunga, tramite il semplice click di un pulsante. Per far questo, ho creato un progetto Windows Forms completamente nuovo: a questo progetto ho aggiunto una semplice WF Form1, con una ListBox ancorata su tutti e quattro i lati, in modo tale da...

posted @ Tuesday, February 28, 2006 1:16 PM | Feedback (2) | Filed Under [ Esame 70-536 ]

[OT] Oggi compio trent'anni tondi tondi

Ragazzi, io la buona volontà ce l'ho messa, e tanta anche: ho cercato entro la mezzanotte di trovare una ragazza da sposare, di cambiare casa, di arruolarmi nella legione straniera.  Sinceramente, ho rinunciato fin da subito a cambiare sesso () o di diventare prete!  Ce l'ho messa davvero tutta, ma ho fallito la mia missione, per cui mi sa che al prossimo workshop dovrò venire con la divisa da giocatore da hockey, così se Roberto vorrà davvero picchiarmi forte sulle gengive, almeno sarò ben riparato!  Insomma, avete ipotizzato di tutto, ma la verità, come al solito, è sempre molto più semplice....

posted @ Tuesday, February 28, 2006 9:15 AM | Feedback (24) | Filed Under [ OT ]

Provate a tornare indietro nel tempo...

Tornate indietro nel tempo, quando eravate bambini. Quante volte vi è capitato di dire: "Cavolo, quando prenderò la patente sarà il 1995!", oppure "Finirò le scuole superiori nel 1999!". Non so voi, ma a me è capitato parecchio, e tutte le volte avevo la sensazione di parlare di eventi talmente lontani nel tempo da sembrare in un'altra vita. Eppure, immancabilmente, quel momento prima o poi è arrivato. Alla fine, si sa, il tempo non può fare altro che l suo maledetto corso e quello che ci sembrava lontanissimo, in realtà era proprio dietro l'angolo. Un angolo che abbiamo raggiunto, svoltato, ed adesso...

posted @ Monday, February 27, 2006 1:24 PM | Feedback (14) | Filed Under [ Frasi sagge ]

[70-536, #19] Query WMI, ManagementObjectSearcher e BackgroundWorker

In questo post parleremo in modo particolare di come fare delle query verso il mondo Windows Management Instrumentation (WMI). Tramite WMI, possiamo infatti accedere dal mondo managed di .NET a tutta una serie di informazioni gestite da Win32, alcune delle quali particolarmente interessanti, specialmente se si lavora un po' più a basso livello rispetto a quanto facciamo di solito. Tanto per citarne qualcosa, è possibile eseguire delle query tipo: SELECT * FROM Win32_NTLogEvent        -- Log degli eventiSELECT * FROM Win32_BIOS            -- Info sul BIOSSELECT * FROM Win32_NetworkAdapter    -- Info sulle schede di reteSELECT * FROM Win32_LogicalDisk        -- Info sui dischiSELECT * FROM Win32_Product            -- Info sui software installati                                    -- con Windows Installer Il linguaggio utilizzato è un SQL-style, utilizza la clausola SELECT * FROM identifer, ed eventualmente possiamo aggiungere una clausola WHERE per filtrare determinati contenuti. MSDN riporta la struttura delle classi esposte da Win32,...

posted @ Monday, February 27, 2006 12:50 PM | Feedback (1) | Filed Under [ Esame 70-536 ]

[OT] Queste Olimpiadi mi mancheranno

Dico sul serio, mi mancheranno, perchè per 15 giorni in TV abbiamo visto sport sano, diverso, di cui si dovrebbe parlare un po' più spesso di quanto non si faccia. Adesso, si ricomincerà daccapo con le caviglie di Totti, i Mondiali alle porte, la moto di Volantino ed il nuovo assetto aerodinamico della Ferrari. Eppure, cavolo, ci siamo appassionati e abbiamo gioito per le medaglie vinte dai nostri atleti, per le loro braccia sollevate verso il cielo in segno di vittoria, e per i volti soddisfatti di chi magari è arrivato 8° ma ce l'ha messa tutta per essere lì e per...

posted @ Monday, February 27, 2006 11:30 AM | Feedback (3) | Filed Under [ OT ]

La paura nasce dall'ignoranza (inteso come non sapere)

Lunedì scorso, il 20, ho fatto una lunga fila di 3 ore (ometto il dove). Preso dalla noia, girovagando per i corridoi semi-deserti dell'ufficio in cui mi trovavo, ho preso un opuscolo che spiegava qualcosa dell'influenza aviaria, e l'ho letto. Diceva un sacco di cose, che adesso preferisco non dire, perchè non voglio scatenare polemiche, e soprattutto perchè non avendolo davanti adesso, potrei essere impreciso. Lo stesso Lorenzo qualche giorno fa sollevava la questione sul suo blog. Il commercio del pollame è in caduta libera, c'è una sorta di panico che aleggia un po' dappertutto, non si sa bene se e come questo maledetto...

posted @ Friday, February 24, 2006 5:48 PM | Feedback (25) | Filed Under [ OT ]

[70-536, #18] Le classi Process e ProcessModule, con un bel contorno di Reflection

Nel post di oggi scendiamo un po' più a basso livello nella combinata software + hardware gestito autonomamente dal sistema operativo. Vedremo infatti come ottenere l'elenco dei processi attivi (classe Process del FX) in questo momento e come leggerne le proprietà. Ogni processo inoltre è composto da uno o più moduli (class ProcessModule del FX), anch'essi dotati di proprietà specifiche. Annuncio che per preparare questo post ho fatto anche un banale progetto con VS2005 che è disponibile per il download da questo indirizzo. E' molto semplice: contiene una sola Windows Forms (FormProcess) le cui caratteristiche essenziali sono le seguenti: un oggetto TreeView e un...

posted @ Friday, February 24, 2006 11:52 AM | Feedback (2) | Filed Under [ Esame 70-536 ]

[OT] del venerdì (38)

Devo soffrire di allucinazioni: quasi ogni mattina, quando esco dalla metro, vedo un tizio che è a metà strada tra Davide Mauri ed un mio amico, Matteo, detto "Il Ghim " (soprannome che si perde nella notte dei tempi). Appena il tempo di chiedermi cosa ci faccia lì, poi questo prende e va via...mah...perchè non mi capita di vedere invece una via di mezzo tra Vanessa Incontrada e Vanessa Gravina? Si vede che ho un debole per le Vanesse? A...

posted @ Friday, February 24, 2006 10:01 AM | Feedback (4) | Filed Under [ OT ]

Oggi ti tolgono la parola

So di scrivere questo post perchè un giorno lo farò leggere ad una persona a cui, spero, interesserà. E condivido quello che scrisse Umberto Eco su Repubblica dopo che il Governo Berlusconi si era insediato: "Stiamo vivendo in un regime mediatico, che si differenzia dall'altro nel fatto che non ti fanno bere l'olio di ricino, che non ti mettono in galera, che non ti uccidono.Oggi ti tolgono la parola, ti impediscono di lavorare. Tratto da: "Era Ieri", di Enzo Biagi powered by IMHO 1.3

posted @ Thursday, February 23, 2006 8:10 PM | Feedback (19) | Filed Under [ Frasi sagge ]

Le cose accadono...

Le cose accadono non sempre perchè c'è un buon motivo. A volte, nei casi più crudeli, accadono perchè è scritto così, perchè l'ha voluto il destino, o chissà chi per lui. Alla fine, stringi stringi, una spiegazione - o più spiegazioni - le troviamo, questo è vero, ma spesso sono talmente irrazionali o illogiche che ci sfuggono, non riusciamo a comprenderle davvero fino in fondo. E allora? Che problema c'è? Non sempre le motivazioni migliori sono dettate dal raziocinio o dalla logica, anzi: spesso, ci vuole un po' di sano istinto, di iniziativa spontanea e di quella lampadina che ogni tanto si...

posted @ Thursday, February 23, 2006 5:50 PM | Feedback (76) | Filed Under [ Frasi sagge ]

Il sito del garante della privacy

Ieri sera, quando son tornato a casa, ho trovato una circolare del mio commercialista che mi dice che devo obbligatoriamente (entro il 31 marzo) fare non so cosa per quanto riguarda la legge sul trattamento dei dati personali. Dopo aver corrugato la fronte, questa mattina mi sono armato di santa pazienza e ho raggiunto il sito http://www.garanteprivacy.it per vedere di saperne di più.Beh, tra un exception generata da Oracle sulla homepage (che non capita sempre, ma io un po' di volte l'ho vista), tra errori 404, tra files scaricati senza estensione, sono rimasto senza parole!  Per adesso ho scaricato files chiamati GUIDA...

posted @ Thursday, February 23, 2006 1:04 PM | Feedback (22) | Filed Under [ Tecnologia ]

(Parte 2) Le interfacce INotifyPropertyChanged e IBindingList

Nella prima parte ho fatto un po' un'introduzione di come implementare una classe che implementi l'interfaccia INotifyPropertyChanged, allo scopo di notificare all'engine di binding del FX che deve aggiornare i controls corrispondenti. Questo nel caso in cui la classe è bindata ad un controllo come la TextBox, per esempio, in grado di mostrare un solo elemento alla volta. In questo secondo ed ultimo post vedremo invece quello che bisogna fare se la nostra classe espone una property adatta ad essere bindata ad un controllo lista, come ListBox, ComboBox, etc .etc. La classe HockeyPlayer espone una property Faults: private FaultsCollection faults;public FaultsCollection Faults{ get { return faults; } } La classe FaultsCollection è una...

posted @ Thursday, February 23, 2006 12:31 PM | Feedback (5) | Filed Under [ Sviluppo .NET ]

(Parte 1) Le interfacce INotifyPropertyChanged e IBindingList

Non ho mai guardato in modo approfondito il data-binding offerto da .NET, reduce dalla brutta fama che ha in ambiente VB6. Ho scritto questo primo post per fornire lo spunto su come realizzare le proprie classi di business objects con un occhio di riguardo verso possibili e futuri servizi di data-binding che esse dovranno soddisfare. Ovvero, come utilizzare le interfacce INotifyPropertyChanged e IBindingList. Cliccare sul titolo per leggere.

posted @ Thursday, February 23, 2006 11:18 AM | Feedback (12) | Filed Under [ Sviluppo .NET ]

Gli snippet con Visual Studio 2005

Da questa pagina di MSDN è possibile scaricare tutta una serie di snippet dedicati a VS2005 in formato VSI, un'estensione che viene gestita da VS e che permette di installarli e renderli disponibili. Io li sto scaricando ed installando, se a qualcuno interessa domani faccio un bello zippone da mettere sul mio sito con tutti i files .snippet (suddividendo ogni categoria in una directory a parte) così potete installarli anche voi semplicemente estraendo tutto quanto nella vostra directory %MY_DOCUMENTS%\Visual Studio 2005\Code Snippets. Senza diventare troppo matti a scaricare singolarmente ogni file VSI, confermare dentro l'IDE cosa volete installare, dove, bla bla bla.... Fatemi sapere... powered...

posted @ Wednesday, February 22, 2006 5:41 PM | Feedback (34) | Filed Under [ Tecnologia ]

Il mio pensiero sul mondo del software dalle nostre parti

Ho letto con vivo interesse e con una certa passione questo post di Raffaele e tutti i commenti che ha ricevuto, compreso il mio. Devo dire che mi trovo d'accordo con parecchi dei punti che bene o male sono stati espressi, ma volevo aggiungere del mio e siccome sarebbe stato troppo lungo metterli in un semplice commento, mi son detto: "Perchè non scrivere un post su questo discorso?".Beh, il post è questo qua. Leggetelo, ed insultatemi pure. ...

posted @ Wednesday, February 22, 2006 11:26 AM | Feedback (22) | Filed Under [ Tecnologia ]

[70-536, #17] Un custom visualizer per una classe (XmlWriterSettings e dintorni)

In questo post, come al solito davvero troppo lungo per lasciarlo sul main feed del blog di UGI, descrivo come creare un custom visualizer per la classe XMLSerialization del mio progetto. Cliccate sul titolo per leggere!

posted @ Tuesday, February 21, 2006 1:24 PM | Feedback (13) | Filed Under [ Esame 70-536 ]

Il posto più strano dove l'avete fatto

Non siate maliziosi, cosa avete capito????Sto parlando di bloggare!!!!!   Questo tizio ha bloggato mentre era in volo dagli USA verso l'Europa. Io credo che il posto più strano da cui ho bloggato è stata la mia (anzi, di mio padre) Fiat 500 d'epoca rosso Ferrari, dalla Svizzera, con qualche cumulo di neve, mentre viaggiavo per tornare a casa. Software installato sul mio Pocket PC connesso via BT sul il mio Nokia 6630.  E voi??? powered by IMHO 1.2

posted @ Tuesday, February 21, 2006 9:40 AM | Feedback (11) | Filed Under [ Tecnologia ]

Firefox usa tanta memoria? Non è un bug, è una feature!

Non sono comunque d'accordo con quello che si dice nell'articolo che ho appena letto su punto-informatico.it. Mi può anche stare bene che Firefox consumi 100Mb di RAM per mantenere la cache delle pagine visitate finora...oddio, mica tanto, però...vabbè...dai, partiamo dal presupposto che mi possa andare bene. Quello che secondo me non viene detto è che Firefox ci mette una vita a partire, e quindi mi sembra che carichi mezzo pianeta prima di poter vedere qualcosa sullo schermo. La cache IMHO non c'entra nulla. Perchè un conto è dire che un browser occupa, ad esempio, 5Mb ed il resto è tutta cache. Un'altra è dire...

posted @ Tuesday, February 21, 2006 9:34 AM | Feedback (13) | Filed Under [ Tecnologia ]

[70-536, #16] Le classi attributo per fare debugging avanzato con VS2005

In questo post illustro alcune delle classi attributo specifiche per fare debugging avanzato, e per predisporre le nostre classi ad essere debuggate in modo più funzionale rispetto a quanto proposto di default dall'IDE di VS2005. Clicca sul titolo per leggere nel dettaglio il contenuto del post.

posted @ Monday, February 20, 2006 9:38 PM | Feedback (6) | Filed Under [ Esame 70-536 ]

Un grazie personale a Danilo Piran

Qualche giorno fa ho ricevuto una bella notizia, che - non lo nascondo - mi ha riempito d'orgoglio e mi ha reso davvero felice ed ancora più smanioso di continuare la mia piccola grande impresa di studiare/scrivere, studiare/scrivere, studiare/scrivere post sulle certificazioni. Desidero ringraziare pubblicamente Danilo Piran, un laureando del Politecnico di Milano che il 6 Marzo prossimo esporrà la propria tesi di laurea. Danilo infatti ha voluto citarmi nella bibliografia della sua tesi per aver studiato parte del .NET Framework sui miei post scritti per l'esame 70-316. Sono davvero riconoscente a Danilo per reputarmi una fonte attendibile di informazioni!  A parte scherzi,...

posted @ Monday, February 20, 2006 10:56 AM | Feedback (1929) | Filed Under [ Tecnologia ]

[OT] Una giornata alla BIT

Lo so, è un post OT, ma lo voglio scriverlo lo stesso, veloce veloce. Ieri ho passato la giornata alla BIT, alla fiera del turismo, e devo dire di essere rimasto molto sorpreso e piacevolmente colpito. Era da anni che non mi capitava di andare ad una fiera e di venir subissato da depliant, fogli, opuscoli, libri, libretti, CD, DVD, offerte, etc. etc. Ma non solo: la cosa che mi ha lasciato davvero di stucco sono le ragazze, che non sono lì semplicemente come vetrina o come banale attrazione, ma ci puoi tranquillamente interagire per chiedere, per chiaccherare e per...

posted @ Monday, February 20, 2006 9:28 AM | Feedback (3) | Filed Under [ OT ]

[OT] del venerdì (37)

Si sta avvicinando per me Il giorno dei giorni, ma mi sa che lo vivrò più scombussolato e tormentato di quello che avevo previsto. Si sa: tanto più si tenta di raggiungere la perfezione, tanto più sono le cose che tentano di deviarci dalla rotta che ci eravamo prefissi. Se vi state chiedendo quale sia questo famigerato giorno, non pensateci troppo, quando arriverà, ve lo dirò e festeggeremo tutti assieme. Non pensate ad esame di certificazione sull'onda di quelli superati da Lorenzo, questo è un post OT e il nostro lavoro non c'entra per nulla. Caspita, come sono sibillino questa mattina!!!...

posted @ Friday, February 17, 2006 10:10 AM | Feedback (3) | Filed Under [ OT ]

[70-536, #15] Manipolare l'eventlog di Windows

Uno degli aspetti presi in considerazione dall'esame 70-536 riguarda la creazione e la lettura degli eventi di Windows, e la creazione ex-novo di un nuovo log dove poter andare a gestire tutto quello che ci serve. Quindi, abbandoniamo un attimo il nostro set di classi che abbiamo visto fino a questo momento, e dedichiamo questo post alle classi del FX create appositamente a questo scopo. Ricordo innanzitutto, per dovere di cronaca, che è possibile consultare l'EventLog di Windows, aprendo il Control Panel, andando nel gruppo Administrative Tools e cliccando su Event Viewer. Di default, i log disponibili sono 3: Application, Security e System....

posted @ Wednesday, February 15, 2006 11:51 AM | Feedback (1) | Filed Under [ Esame 70-536 ]

Il mio nuovo case è un Thermal Take Soprano

Qualche tempo fa avevo scritto sul mio blog di avere problemi di surriscaldamento nel mio PC. Non ho capito se fosse la CPU, oppure i due hard-disk, oppure qualche ventola ko. Deciso a risolvere il problema, di qualunque natura fosse, ho chiesto un po' in giro sui vari forum e newsgroup. Il mio omonimo Igor mi aveva consigliato di acquistare un case Thermal Take, perchè sono affidabili, hanno un buon numero di ventole posizionate nel modo giusto per raffreddare il sistema e così via. Alla fine mi sono rivolto ad un piccolo negozio a Crema, la ErrediOnLine, ben fornito per...

posted @ Wednesday, February 15, 2006 9:35 AM | Feedback (27) | Filed Under [ Tecnologia ]

Registrare nomi di dominio....sbagliati....

In questi giorni ho sentito alla radio una pubblicità che mi ha fatto pensare. C'è un sito, il cui dominio è www.sceglitu.it che parla di sessualità, di problemi della donna, di ginecologia, e così via. Mi chiedo come si possa registrare un dominio così OT rispetto ai temi trattati dal sito stesso. Non lo trovo giusto, perchè quel dominio potrebbe servire a chiunque, è troppo generico e troppo sbagliato per quel contesto. Mi chiedo anche in termini di marketing quanto possa essere vantaggiosa una scelta di quel tipo. Una volta, poco meno di una decina di anni fa, lavoravo prevalentemente sul...

posted @ Tuesday, February 14, 2006 10:15 AM | Feedback (15) | Filed Under [ Tecnologia ]

[OT] E' solo una Fiamma, però...

Ci sono persone che si emozionano leggendo un libro o vedendo un film.Altre che si incantano davanti ad un dipinto oppure ad una scultura.Chi rimane in contemplazione di fronte ad una bella donna, oppure ad un bell'uomo.Alcuni di noi provano qualcosa davanti all'oceano, ad un bel tramonto o paesaggio montano. Ditemi pure che sarò un tipo sensibile, prendetemi in giro, ma io mi sono incredibilmente emozionato vedendo in TV la cerimonia d'apertura di Torino 2006. Definirla meravigliosa è dir poco: dall'Inno d'Italia intonato dalla bambina, alla Ferrari turbinante, a Yuri Chechi e il suo martello, ai fuochi d'artificio intorno allo stadio,...

posted @ Friday, February 10, 2006 11:01 PM | Feedback (1) | Filed Under [ OT ]

Il deploy di applicazioni .NET 2.0 su PocketPC

Questa sera, mentre mi sto vedendo la serata d'inaugurazione delle Olimpiadi Invernali di Torino 2006, ho fatto qualche esperimento: ho creato una piccola applicazione per PocketPC, ho aggiunto nei riferimenti il file System.Data.SqlClientCE e ho provato a farne il deploy sul mio palmare. Tutto è andato a buon fine. Ho dovuto però aggiornare ActiveSync alla versione 4.0. Se si mantiene installata la release precedente 3.8, Visual Studio 2005 ci informa nella status-bar che dobbiamo per forza aggiornarlo. Io ho scaricato la nuova versione qui. Il setup mi ha aggiornato i driver USB del sistema: a me è filato tutto liscio, però...

posted @ Friday, February 10, 2006 10:09 PM | Feedback (2) | Filed Under [ Tecnologia ]

Perchè ho evitato di migrare a IMHO 1.3 ?

Io credo di essere uno dei pochi che è rimasto ad IMHO 1.2.Perchè, vi chiedete? Beh, è presto detto: aprite IMHO 1.3 (l'ultima release disponibile) cominciate a scrivere un nuovo post con titolo e testo cliccate e salvate il post (scrivete qualcosa di pubblicabile, mi raccomando!) IMHO, come suo solito, ci avvisa con un ballon nella tray-bay che il post è stato salvato in locale cliccate subito sul ballon e vedrete che IMHO pubblica il post (!!!) sul vostro blog Mi capita spesso di scrivere post lunghi, e di salvare spesso, e siccome ho il vizio di cliccare sul ballon per toglierlo dallo schermo...

posted @ Friday, February 10, 2006 5:36 PM | Feedback (3) | Filed Under [ Tecnologia ]

Avere l'Intellisense in SQL Server 2005? Non è così semplice...

Ieri pomeriggio parlavo con un collega sul fatto che sarebbe bello avere l'Intellisense nell'IDE del Query Analyzer di SQL Server. Cavolo, mi dicevo io, d'altronde VB ce l'ha dalla release 5.0, perchè ancora una volta non me l'hanno messo in SQL2005? Un certo Anthony Bloesch in questo post le cose non sono così semplici. Una fra tutte: immaginatevi di avere il classico costrutto SELECT...FROM...WHERE. Com'è possibile che Intellisense ci elenchi i campi che possiamo mettere nella SELECT se non abbiamo ancora indicato nella clausola FROM le tabelle da cui stiamo prelevando i dati?  Non ha tutti i torti, non vi pare?...

posted @ Friday, February 10, 2006 4:47 PM | Feedback (7) | Filed Under [ Tecnologia ]

Quando un byte in più o in meno significa la morte o la vita

Il soldato nazista si nascose in mezzo agli alberi, un filare di grandi betulle che costeggiavano il fossato qualche metro più in là. Si accucciò in silenzio e cercò di prendere fiato. Era sudato, sporco ed impaurito ma la cosa peggiore era che doveva sfuggire ai suoi nemici che lo braccavano. Alzò lo sguardo ed i suoi occhi digitali scrutarono con attenzione la strada di terra battuta da cui era arrivato, cercando ansioso qualsiasi traccia dei suoi inseguitori. Sperava di vedere qualche nemico ucciso, ma una voce dentro di lui gli diceva che era una cosa impossibile: l'algoritmo ripuliva le aree di memoria man mano che non...

posted @ Friday, February 10, 2006 2:44 PM | Feedback (18) | Filed Under [ 010 .bytes. 010 ]

[70-536, #14] La classe SortedList<K, T> e l'interfaccia IComparable

Nel codice C# che ho messo a disposizione c'è un file CustomCollection.cs che contiene la definizione delle 3 classi ChapterCollection, BookCollection e ShelfCollection: using System;using System.Collections.Generic;using System.Collections.ObjectModel;[Serializable]public class ChapterCollection : Collection<Chapter> { }[Serializable]public class BookCollection : Collection<Book> { }[Serializable]public class ShelfCollection : Collection<Shelf> { } Grazie alle API create per questo tipo di applicazione, possiamo velocemente definire un nuovo Book, con i relativi Chapters nel modo seguente: // Creo il BookBook promessiSposi = new Book("I Promessi Sposi", "A. Manzoni", 348);// Aggiungio tutti i Chapter di questo libropromessiSposi.Chapters.Add(new Chapter("Prologo"));promessiSposi.Chapters.Add(new Chapter("Inizio della storia"));promessiSposi.Chapters.Add(new Chapter("Storia"));promessiSposi.Chapters.Add(new Chapter("Fine della storia"));promessiSposi.Chapters.Add(new Chapter("Epilogo")); Fatto questo, possiamo ciclare tutti i capitoli con un banale for...each: foreach (Chapter cycle in promessiSposi.Chapters)    Console.WriteLine(cycle.ToString()); Quello su cui voglio porre l'attenzione oggi è che noi potremmo aggiungere i Chapter in un ordine casuale, per qualsiasi motivo. Quindi, per esempio: promessiSposi.Chapters.Add(new Chapter("Storia"));promessiSposi.Chapters.Add(new Chapter("Inizio della storia"));promessiSposi.Chapters.Add(new Chapter("Prologo"));promessiSposi.Chapters.Add(new Chapter("Fine della storia"));promessiSposi.Chapters.Add(new Chapter("Epilogo")); Il nostro promessiSposi contiene sempre 5 capitoli, ma sono alla rinfusa....

posted @ Friday, February 10, 2006 12:35 PM | Feedback (14) | Filed Under [ Esame 70-536 ]

[OT] del venerdì (36)

Questa mattina sono davvero stanco, cosa dimostrata anche dalla quantità di barba che ho in faccia.  La settimana scorsa ho lavorato davvero tanto e bene: in 5 giorni lavorativi ho scritto tutte le stored-procedure che ci eravamo programmati in realtà per 2 settimane: alla faccia della buona pianificazione di risorse e di tempi di sviluppo!  Questa settimana invece è stata un po' altalenante: lunedì-martedì-mercoledì normali, giovedì ho fatto un UPDATE su un db senza la clausola WHERE  aggiornando così qualche centinaia di migliaia di record. Oggi, vedremo!!! Tutto questo per dire che ho bisogno di un sano weekend di divertimenti.  Domani sera...

posted @ Friday, February 10, 2006 10:09 AM | Feedback (5) | Filed Under [ OT ]

Assessment sul sito Microsoft

Ieri durante il webcast si è accennato al fatto che esiste sul sito Microsoft una sezione dedicata a chi vuole mettere alla prova le proprie conoscenze su .NET Framework, Visual Studio 2005, SQL Server, e così via. Questa sezione è raggiungibile attraverso l'URL http://www.microsoft.com/assessment. Ve li consiglio, giusto anche solo per curiosità, perchè simulano davvero le tipiche domande da esame per certificazione. L'unica pecca a mio avviso è che non sono realmente specifici per ogni esame. Se ad esempio si sceglie il test "Microsoft® Windows®-based Client Development with Microsoft Visual Studio® 2005 and Microsoft Visual C#", in realtà quello che salta fuori...

posted @ Thursday, February 9, 2006 5:15 PM | Feedback (1) | Filed Under [ Tecnologia ]

[70-536, #13] Deserializzazione di una classe da uno stream XML o binario (con contorno di Generics)

Nel post di ieri abbiamo visto come serializzare una classe, sia in formato XML sia in formato binario. Abbiamo anche detto che uno degli scopi della serializzazione è quello di rendere trasmissibile un oggetto da un componente all'altro, dove con componente intendo un qualsiasi altro assembly .NET, un altro PC della nostra LAN o un server Web dall'altra parte del pianeta. Si arriva quindi al proposito di voler ricostruire in memoria un oggetto che era stato serializzato, così da poterlo maneggiare anche dopo la trasmissione stessa. Deserializzazione da stream XMLQuesta operazione è nota con il nome di deserializzazione ed...

posted @ Thursday, February 9, 2006 3:20 PM | Feedback (7) | Filed Under [ Esame 70-536 ]

Esame 70-548: quali libri leggere?

Ieri sera, parlando con mio fratello delle certificazioni, sono andato a vedere la pagina dedicata all'esame 70-548. E' quello che permette di fare il salto dalla certificazione Technology Specialist: .NET Framework 2.0 Windows Applications alla certificazione MCPD: Windows Developer. Ho notato che rispetto agli altri è molto più teorico, e questo va di pari passo rispetto a quanto è stato detto nel webcast di ieri pomeriggio. Mentre un TS dice: "io so sviluppare con questi strumenti", un MC dice: "io so fare questo tipo di lavoro, indipendentemente dagli strumenti che ho a disposizione". Quindi, si parla di concetti come: logical design of...

posted @ Thursday, February 9, 2006 10:23 AM | Feedback (3) | Filed Under [ Tecnologia ]

[70-536, #12] Serializzazione di una classe con XmlSerializer e BinaryFormatter

Il post di oggi per l'esame 70-536 è davvero troppo lungo. :-) Cliccate sul titolo per leggere il testo completo.

posted @ Wednesday, February 8, 2006 12:07 PM | Feedback (4) | Filed Under [ Esame 70-536 ]

[OT] Sapevo che sarebbe arrivato quel giorno...

Questa mattina ho firmato il mio primo assegno in bianco a mio papà!!"Ehm..." - toc toc - "....papà, ci sei? Mi raccomando, fanne buon uso, ok? Mi senti?" powered by IMHO 1.2

posted @ Wednesday, February 8, 2006 10:19 AM | Feedback (1) | Filed Under [ OT ]

Qualche link, documentazione e blog

API Design Guidelines Digesthttp://blogs.msdn.com/kcwalina/archive/2004/09/28/235232.aspx Design Guidelines for Class Library Developershttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconNETFrameworkDesignGuidelines.asp Applying the Principle of Least Privilege to User Accounts on Windows XPhttp://www.microsoft.com/technet/prodtechnol/winxppro/maintain/luawinxp.mspx SQL Server 2005 Blogshttp://msdn.microsoft.com/sql/community/blogs/default.aspx powered by IMHO 1.2

posted @ Tuesday, February 7, 2006 2:11 PM | Feedback (1) | Filed Under [ Tecnologia ]

Il mio primo progetto con SQL Server 2005

Ieri pomeriggio ho cominciato a lavorare con il mio primo progetto con SQL Server 2005, internamente alla società dove faccio consulenza tutti i giorni. Il reparto IT del cliente, una ditta spagnola, ha deciso di adottare senza battere ciglio il nuovo DBMS di Microsoft, e quindi eccomi a litigare con tabelle con milioni e milioni di records (medicinali, farmacie, etc.) e a scrivere stored-procedure con T-SQL. Dopo aver usato il Management Studio per conto mio a scopo didattico e per testarne le nuove funzionalità, adesso lo uso anche seriamente in ambiente di produzione. Evvai!!! powered by IMHO 1.2

posted @ Tuesday, February 7, 2006 9:42 AM | Feedback (2) | Filed Under [ Tecnologia ]

[70-536, #11] L'intera struttura di classi: Storage, Shelf, Book e Chapter

Alla classe Shelf descritta nei post precedenti, oggi aggiungiamo un po' di carne sul fuoco. Lo scopo è quello di presentare la classe Book e di fare qualche precisazione riguardante la classe Shelf, dato che studiando la serializzazione ho cambiato un po' le carte in tavola e sono state fatte diverse modifiche al codice in modo da renderlo più pulito e più "standard" rispetto alle design guidelines di Microsoft. Un grazie a Michele, a Marco e ad Andrea per avermi risposto ...

posted @ Monday, February 6, 2006 11:34 AM | Feedback (1) | Filed Under [ Esame 70-536 ]

Mi sa che....cambierò lavoro! Apro una redazione?

Non spaventatevi, rimarrò sempre qui a tempestare il mio blog, cosa credete? A parte scherzi, è solo una battuta quella in oggetto. Mi riferisco però al fatto che ogni giorno, la mattina, il pomeriggio, la sera, il sabato o la domenica, ricevo diverse e-mail di persone che stanno studiando attraverso i miei post su MCAD. Mi fanno i complimenti, mi chiedono consigli ed aiuti, mi spronano a continuare la mia attività totally-freeware di stesura dei post per certificarsi. Beh, io non posso fare altro che ringraziare tutti quanti attraverso il mio blog (così sono sicuro di raggiungere tutti), senza fare nomi...

posted @ Monday, February 6, 2006 10:25 AM | Feedback (9) | Filed Under [ Esame 70-536 ]

Distributor, Publication e Subscription con SQL Server 2005

Circa un anno fa acquistai il mio primo palmare serio, un Asus A620 con Bluetooth, e una delle prime cose che volli provare a livello di programmazione era il meccanismo di repliche tra SQL Server 2000 e SQL Server CE. Fu un'impresa - almeno per me - abbastanza impegnativa, perchè oltre a dover configurare il server (specificare ed impostare distributor e publication, per esempio), c'era anche da configurare IIS con la virtual directory, installare SQLCE sul palmare, installare gli SP opportuni, scrivere codice .NET per CF e così via. Mi misi d'impegno per diverse settimane, googlando di qua e di là, ma alla...

posted @ Sunday, February 5, 2006 11:29 PM | Feedback (4) | Filed Under [ Tecnologia ]

All'insegna delle tradizioni di una volta

Direttamente dal dialetto lodigiano:'Nco lè san Bias, guariss gula e nas.Tradotto in italiano:Oggi è San Biagio, guarisce gola e naso. Scusate, ma avevo accennato ai miei genitori che avrei postato questa proverbio. Chi li sente se questa sera vanno sul mio blog e non lo trovano??? powered by IMHO 1.2

posted @ Friday, February 3, 2006 2:24 PM | Feedback (5331) | Filed Under [ Frasi sagge ]

10.000 PC solo nel comune di Milano...500.000 in tutto il mondo

Questa mattina leggevo su fonti autorevoli dell'IT italiano (Metro e Repubblica.it)  che in questi giorni 10.000 PC del comune di Milano sono stati infettati dal virus Black Mail. Avrebbe dovuto colpire oggi (il 3 del mese), così per precauzione questi PC sospetti sono stati lasciati spenti.  Cavolo, eppure è semplice la regola da sapere: non aprire allegati sospetti, non aprire allegati sospetti, non aprire allegati sospetti, non aprire allegati sospetti, non aprire allegati sospetti. L'avremo ripetuto davvero centinaia di volte ad amici, parenti, colleghi. Eppure ci si casca sempre. Perchè???? Poi, mi chiedo: che proporzione hanno fatto quelli che hanno scritto l'articolo?...

posted @ Friday, February 3, 2006 12:33 PM | Feedback (1339) | Filed Under [ Tecnologia ]

[OT] del venerdì (35)

Mi ricordo di venerdì scorso come se fosse ieri: nevicava da tutte le parti, mentre oggi almeno qua a Milano splende un sole che sa di primavera. Spero di potermelo godere, questo weekend, perchè ne ho proprio bisogno.  Oggi è anche il mio primo venerdì lavorativo dell'anno: per una serie di circostanze (Epifania, visita medica n°1, visita medica n°2, nevicata colossale), le settimane scorse non sono venuto in ufficio. Oggi invece, eccomi qua, a scrivere stored-procedure, a maneggiare database da 1,5GByte sul mio SQL Server, e leggere ogni tanto qualcosa sulla serializzazione, e poi....oh no, questo deve essere un post...

posted @ Friday, February 3, 2006 11:41 AM | Feedback (1) | Filed Under [ OT ]

Qualche piccolo problema hardware...risolto?

Ho passato le ultime 3 serate un po' stressanti. Invece di staccarmi un po' dal PC, mi sono ritrovato a reinstallare OS, driver, applicativi e soprattutto a capire bene dove potesse essere il problema di cui avevo parlato. Molti mi hanno consigliato di far girare Memtest86, una piccola e veloce utility che può partire solo al boot del sistema, sia da floppy che da CD. Nonostante occupi davvero poco, ho preferito quest'ultima soluzione per maggior praticità e anche perchè non ho un floppy collegato al mio desktop.  Ho fatto girare l'applicazione per un paio d'ore, mi ha trovato ZERO errori sul mio...

posted @ Thursday, February 2, 2006 11:39 AM | Feedback (7) | Filed Under [ Tecnologia ]

Usare .Close() o Dispose() ? Questo è il problema...

Mi è capitato sotto mano questo post su un blog di MSDN e mi ha fatto pensare. Se avete un'oggetto che supporta sia il metodo Close() che il Dispose(), quale usare dei due? Che differenza c'è? Secondo l'autore del post originale, ci sono un gran numero di programmatori che ha dei dubbi, perchè non c'è una chiara distinzione tra l'uno e l'altro. Vi riporto una regola che scrive lui: Here is an easy to remember rule I use:If you plan to reuse the same instance of the object, then call Close(); otherwise call Dispose(). Ci sono anche 3 regole per cui privilegiare Dispose(),...

posted @ Wednesday, February 1, 2006 5:46 PM | Feedback (1) | Filed Under [ Sviluppo .NET ]

[70-536, #10] Implementare le interfacce ICollection, IList e ICloneable

Le interfacce ICollection, IList e ICloneablePartendo dal codice che abbiamo visto nel post precedente, cominciamo a fare un po' di refactoring e vedere di rendere la nostra classe Shelf aderente ad alcune delle interfacce standard di .NET. Le classi con cui cominceremo sono ICollection, ICloneable e IList. Come abbiamo detto in un post precedente, aderire ad una certa interfaccia (o contract, contratto) significa fornire l'implementazione per ciascuno dei membri previsti dall'interfaccia stessa. La prima cosa da sapere quando dobbiamo fare un lavoro di questo tipo quindi è sapere cosa prevede effettivamente ciascuna interfaccia e scrivere il codice necessario. Cominciamo con...

posted @ Wednesday, February 1, 2006 3:16 PM | Feedback (3) | Filed Under [ Esame 70-536 ]

Powered by:
Powered By Subtext Powered By ASP.NET