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

Esame 70-536

Serie di post sull'esame 70-536 per conseguire la certificazione MCPD
[70-536, #33] Passato!

Innanzitutto chiedo scusa a tutti per essere stato così poco produttivo nella mia serie di post relativi all'esame 70-536. Purtroppo ho avuto francamente poca voglia di scrivere (e studiare), e quando l'ho fatto è stato nei rari momenti in cui mi sentivo ispirato. Ho studiato molto meno per questo esame, ma sono rimasto contento perchè se l'ho superato devo ringraziare soprattutto la mia esperienza. L'unico rammarico è che avrei potuto prendere un punteggio nettamente superiore al 718/1000 che ho miseramente conquistato. Ho sfiorato i punteggi massimi in quasi tutte le categorie (Developing applications that use types and applications, Implementing service processes, threading and application...

posted @ Wednesday, July 26, 2006 12:26 PM | Feedback (28) | Filed Under [ Esame 70-536 ]

[70-536, #32] L'attributo DllImport nei dettagli

I parametri dell'attributo DllImportNell'ultimo post riguardante l'esame 70-536, abbiamo visto come utilizzare l'attributo DllImport per poter utilizzare una funzione esportata da una libreria unmanaged. Nella sua forma base, DllImport richiede un solo parametro: una stringa che contiene il nome del file DLL che esporta la funzione che ci interessa utilizzare nella nostra applicazione managed. L'ultima volta avevamo fatto un piccolo esempio, considerando la funzione GetTempPath, esportata da kernel32.dll. la dichiarazione nella nostra classe managedera: [DllImport("kernel32.dll")]    private static extern uint GetTempPath(uint nBufferLength,       [Out] StringBuilder lpBuffer); L'attributo DllImport può avere qualche parametro aggiuntivo. Ad esempio, nel codice qui sopra il nome della funzione GetTempPath corrisponde al nome della funzione contenuta in kernel32.dll. Se...

posted @ Monday, June 12, 2006 3:08 PM | Feedback (0) | Filed Under [ Esame 70-536 ]

[70-536, #31] P/Invoke e l'attributo DllImport

IntroduzioneP/Invoke è l'abbreviazione di Platform Invoke  e consiste nella capacità da parte del nostro managed code di utilizzare DLL di sistema ed eseguire le funzioni contenute. Ho trovato di grande comodità il sito www.pinvoke.net, che ci aiuta con una grande raccolta di tutte le librerie di sistema e come poterle importare in una classe managed per rendere accessibile da C#, VB.NET e da tutti gli altri linguaggi della famiglia .NET. Anche in questo caso, come nel mio ultimo post, abbiamo a che fare con una classe wrapper: sarà questa che il codice managed eseguirà. Tale classe deve essere decorata...

posted @ Wednesday, June 7, 2006 11:42 AM | Feedback (2) | Filed Under [ Esame 70-536 ]

[70-536, #30] Primi passi con il mondo Interop

IntroduzioneFino ad oggi abbiamo sempre discusso con un mondo completamente managed, ovvero il cui codice è scritto al 100% in linguaggi previsti dal FX (VB.NET e C# in primo luogo), e che quindi gira all'interno del CLR. Possiamo però andare oltre, e permettere al nostro codice di oltrepassare le normali barriere ed avere a che fare con il managed unmanaged, ovvero tutto quello che riguarda codice Win32, mondo COM e via dicendo. Ovviamente, il fatto che sia possibile non vuol dire che sia una cosa semplice, nè tantomeno che siamo esenti da rischi. La difficoltà principale è saper mappare in memoria gli oggetti...

posted @ Monday, June 5, 2006 1:32 PM | Feedback (1) | Filed Under [ Esame 70-536 ]

Manca un mese al mio esame 70-536

In molti, giustamente, mi hanno detto che i miei post per l'esame 70-536 sono più discontinui rispetto alla mia prima serie per l'esame 70-316. Effettivamente, i miei impegni di lavoro mi hanno portato via più tempo del previsto e anche se trovo il tempo per studiare un po' (ho giusto giusto del materiale su P/Invoke che mi aspetta sul letto), ho sicuramente meno tempo per dedicarmi alla scrittura di post. Spero davvero di poter riprendere a parlare come una volta, perlomeno sugli argomenti più importanti come P/Invoke che citavo prima. Rimane da vedere qualcosa sulla sicurezza ed altro ancora: avevo fissato l'esame il...

posted @ Sunday, June 4, 2006 10:42 PM | Feedback (2) | Filed Under [ Esame 70-536 ]

[70-536, #29] Qualche dettaglio in più sulla gestione dei thread

IntroduzioneNel post precedente abbiamo visto come utilizzare la classe Thread in modo basilare. In breve: come creare un nuovo thread, utilizzando le classi ThreadStart e ParameterizedThreadStart, a seconda del fatto che il metodo da eseguire in modo asincrono abbiamo parametri oppure no. Quello che vediamo oggi va un po' più in là. Sarà un po' tutto teorico, perchè francamente non ho mai avuto bisogno di scendere così nel dettaglio. Innanzitutto il Framework ci mette a disposizione la classe ThreadPool. Questa classe è definita come static, di conseguenza non abbiamo bisogno di istanziarla per poterla utilizzare. Come dice la pagina su MSDN,...

posted @ Thursday, May 4, 2006 10:19 AM | Feedback (1) | Filed Under [ Esame 70-536 ]

Ho fissato la data dell'esame

Il 1° Giugno, alle ore 10:00, andrò a sostenere l'esame 70-536. In tempo per riprendere a lavorare, per ripassare un po' di roba, per vedere le cose che mancano, per farmi venire un po' d'ansia. E, credetemi, se lo passo, io salto dalla gioia, e ve lo dico anche, alla faccia delle polemiche che ogni tanto imperversano sul blog.  Su questo discorso, mi allineo con Lorenzo, sinceramente: quando posto sul mio blog, so di rivolgermi ad un mio gruppo di amici e quindi mi viene naturale raccontare le cose che mi succedono, sia belle che brutte. Tra queste cose, ci sono anche i miei esami, per...

posted @ Thursday, April 27, 2006 6:27 PM | Feedback (27) | Filed Under [ Esame 70-536 ]

[70-536, #28] Esecuzione asincrona? Thread!

Ve l'avevo promesso che avrei ricominciato. Dopo questa lunga pausa, dovuta un po' a motivi di lavoro e salute, vediamo oggi di riprendere la mia serie di post per l'esame 70-536. Questa ripresa dei lavori vede come protagonista la class Thread ed affini, ovvero tutte quelle classi definite nel namespace System.Threading che ci permettono di eseguire operazioni in modo asincrono. Ne avevamo già parlato in passato quando avevamo trattato il nuovo componente BackgroundWorker: con nuovo, intendo con il FX2.0. Il BackgroundWorker internamente fa ovviamente uso di thread secondari, e risolve la maggior parte delle problematiche riguardanti la gestione della UI. Come...

posted @ Thursday, April 27, 2006 6:01 PM | Feedback (2) | Filed Under [ Esame 70-536 ]

[70-536, #27] Le classi Installer, InstallContext ed altre classi

Della classe Installer abbiamo già parlato molto tempo fa. Era il 27 settembre, e mi stavo preparando per l'esame 70-316. Quel giorno abbiamo visto come aggiungere alla nostra soluzione un nuovo progetto Class Library, come implementare una classe custom che eredita da Installer. Tale classe viene consumata da Windows Installer durante il setup della nostra applicazione. Possiamo in pratica fare l'overloading degli eventi che accadono durante il processo di installazione, quindi gestire manualmente la Commit, provocare il Rollback, e via dicendo. Ma non solo: ci eravamo spinti un po' più in là. Avevamo aggiunto Custom Dialog, richiedendo alcune informazioni all'utente, come...

posted @ Tuesday, March 28, 2006 4:46 PM | Feedback (16) | Filed Under [ Esame 70-536 ]

[70-536, #26] Punto della situazione e rallentamenti

Ultimamente ho un po' rallentato la pubblicazione dei miei post sull'esame 70-536. In questo periodo sono un po' stra-carico, in tutti i casi per motivi di lavoro. Ho impegni che riguardano il mio software di fatturazione, ho impegni con la società con la quale lavoro, ho impegni personali, etc. etc. Insomma, il tempo è davvero poco. Gli argomenti da affrontare per coprire tutta la Preparation Guide dell'esame per ottenere la MCPD : Windows Developer invece sono ancora tanti. Bisogna parlare di Thread ed affini, bisogna parlare di ServiceBase e dintorni, qualche concetto teorico su Application Domain, la classe Configuration e le sue relative...

posted @ Friday, March 24, 2006 5:33 PM | Feedback (4) | Filed Under [ Esame 70-536 ]

Full Esame 70-536 Archive

Powered by:
Powered By Subtext Powered By ASP.NET