Passa ai contenuti principali

Post

Visualizzazione dei post da 2011

Deserializzazione JSON e costruttori: OnDeserialized e OnDeserializing

In questo post vorrei illustrarvi l’utilizzo degli attributi OnDeserializingAttribute e OnDeserializedAttribute contenuti nel namespace System.Runtime.Serialization.Il loro scopo è quello di decorare dei metodi che verranno richiamati, rispettivamente, prima (OnDeserializing) e dopo (OnDeserialized) la deserializzazione di un oggetto tramite determinati serializzatori che vedremo più avanti.Vediamo il loro possibile utilizzo in caso di deserializzazione JSON.Supponiamo di avere il seguente JSON:{"nome":"Giuseppe","cognome":"Verdi"} una possibile classe che permette la deserializzazione di tale JSON potrebbe essere:Imports System.Xml.SerializationImports System.Runtime.Serialization<DataContract()>PublicClassPersonaPublicSubNew()EndSub    <DataMember(Name:="nome")>PublicProperty Nome AsString    <DataMember(Name:="cognome")>PublicProperty Cognome AsStringPrivate _DataCreazione AsDateTime = DateTime.NowPublicRe…

Community Days 2012 - Milano, 16 e 17 febbraio 2012

DomusDotNet presenta, in collaborazione con le altre community ed user group italiani,
il maggior evento community dell'anno: 12 track spalmate su 2 giorni interamente dedicati alle ultime tecnologie, 4 lab ed i migliori speaker italiani.Windows 8, Windows Phone, Entity Framework, ASP.NET, .NET Framework 4.5 e Visual Studio 2011, applicazioni mobili, HTML 5 e tanto, tanto altro ancora!La partecipazione, come sempre, è totalmente gratuita. Le iscrizioni sono aperte e l'agenda è
disponibile sul sito. ISCRIVITI SUBITO!Tag di Technorati: ,,

Uguaglianza tra tipi in VB.NET

Se abbiamo due istanze della classe Type e vogliamo verificare che tali istanze rappresentino effettivamente lo stesso tipo, possiamo procedere in due modiSiano Type1 e Type2 le due istanze di Type da controllare.Un primo modo è utilizzare l’operatore Is:If Type1 Is Type2 Then' i tipi sono ugualiElse' i tipi non sono ugualiEndIf In alternativa possiamo utilizzare il metodo statico (shared) Equals:IfType.Equals(type1, type2) Then' i tipi sono ugualiElse' i tipi non sono ugualiEndIf In quest’ultimo caso, in realtà, stiamo utilizzando il metodo Equals (shared) di Object, la cui definizione è:Tag di Technorati: ,,

Aprire un file xml in un’applicazione LightSwitch

Da qualche giorno sto lavorando con LightSwitch (ed il buon Alessandro sa quanto apprezzo il prodotto!!!) e la logica con cui si approccia alla soluzione di un problema, anche banale, di programmazione è piuttosto differente da chi proviene dalle applicazioni desktop classico.Ricordatevi sempre che stiamo parlando di Silverlight, quindi, già per questo, non date per scontato che possiate fare quello che volete, in più sotto LightSwitch.Per questo motivo, ogni volta che mi scontrerò con un problema da “desktoppiano” classico e riuscirò a venirne a capo, cercherò di postarlo qui. Probabilmente la soluzione sarà banale e puerile, ma magari potrà servire ad altri!!Detto questo, supponendo di voler aprire un file Xml e creare un oggetto XDocument utilizzando il metodo statico Load(String), normalmente scriveremmoDim xmlTemplate AsXDocumentxmlTemplate = XDocument.Load(fullFileName) dove fullFileName è il nome completo (con tanto di path) del file xml da aprire.Questo funziona benissimo nelle…

Rilasciata la versione 3 di Async CTP

In attesa di avere, “di serie”, la programmazione asincrona a task all’interno di Visual Studio e del framework (sarà presente in Dev11), è stata rilasciata la versione 3 di Async CTP.Async CTP è un pacchetto che introduce la programmazione asincrona a task (che semplifica di molto la scrittura del codice multithread) all’interno di Visual Studio 2010.Async CTP, di fatto, introduce nuove parole chiave e tutta l’infrastruttura che permette al compilatore di gestirle.Per maggiori info sulla programmazione asincrona a task, vi consiglio il link: http://msdn.microsoft.com/en-us/vstudio/gg316360Per il download del pacchetto di installazione di Async CTP 3, potete utilizzare il link: http://www.microsoft.com/download/en/details.aspx?id=9983La versione 3 di Async CTP è compatibile con le installazioni non in lingua inglese di VS, Silverlight 5 e Roslyn ed include una EULA (http://it.wikipedia.org/wiki/EULA) che ne permette (ma non incoraggia) l’utilizzo della stessa in produzione.Tag di Tech…

FT Toolkit v.1.0 is out!!

Finalmente sono orgoglioso di comunicarvi che la prima release di FT Toolkit è out!!Cosa è FT Toolkit?FT Toolkit è un insieme di classi che consentono di accedere in maniera semplice ai servizi di Fotolia.Per chi non la conoscesse, Fotolia è una delle maggiori agenzie on-line per stock-foto con circa 14 milioni di immagini a disposizione dei propri clienti.
Fotolia mette a disposizione degli sviluppatori una serie di servizi (inizialmente con protocollo XmlRpc e adesso anche in Rest) per accedere alle funzionalità della piattaforma (come ad esempio eseguire ricerche sulla banca dati immagini, creare gallerie, gestire il  proprio account e così via).Per maggiori info sulle API esposte fare riferimento al link http://it.fotolia.com/Services/API/IntroductionFino ad ora (almeno che io sappia e avendo ricevuto conferma dal gruppo si sviluppo interno a Fotolia stessa) non esisteva un toolkit che permettesse facilmente, a chi sviluppa con linguaggi .NET, di accedere ai servizi (lo si pote…

Nuova release dell’SDK per Kinect

Dopo una settimana intensa dal punto di vista lavorativo e non (evento ALM Revolutions da sovraintendere), eccomi qui a postare qualcosa (come non mi capita più spesso nell’ultimo periodo ).Questa volta si tratta della nuova versione del Kinect SDK per Windows rilasciata il 1 Novembre.Cominciamo dal nuovo sito ridisegnato (http://www.kinectforwindows.org/):Nel sito trovate documentazione, risorse e il link per il download del nuovo SDK (sia nella versione 32bit che 64 bit).Le novità presenti in questa release (che tengo a precisare non è ancora una versione commercial la quale sarà disponibile “early 2012”) sono, fondamentalmente :Miglioramenti e ottimizzazioni del motore di skeletal tracking. Viene dichiarato un 20% di incremento delle performance rispetto alla precedente versione e un miglioramento nell’accuratezza e tracciatura dei joint dello scheletro; E’ possibile attaccare e staccare a caldo il Kinect senza avere problemi con la classe Runtime di gestione dello stesso; Supporto…

Windows Phone 7.5 Developer Day/Lab a Roma

Vi segnalo due eventi (che si svolgeranno in contemporanea)organizzati da Microsoft in collaborazione con Nokia per il 15 Novembre 2011 presso la sede Microsoft di Roma (Viale Avignone 10).Windows Phone 7.5 Developer Day – una giornata dedicata allo sviluppo per Windows Phone 7.5, dove si parlerà del Windows Phone Runtime, delle novità della versione 7.5 (Fast Application Switching, Tombstoning, Multitasking, Live Tiles e Push Notification, etc…), di come costruire un’applicazione completa, del marketplace e di come monetizzare le proprie applicazioni. Gli speaker saranno Daniele Bochicchio e Cristian Civera, che hanno realizzato alcune tra le più importanti e conosciute applicazioni italiane per Windows Phone 7 e 7.5.
Per iscrivervi potete andare qui. Windows Phone 7.5 Developer Lab – un laboratorio pratico dedicato a Windows Phone 7.5, dove provare sul campo lo sviluppo di applicazioni per Windows Phone 7.5. Affiancati da me e da altre persone molto competenti sullo sviluppo P…

Rilasciata la versione CTP di Roslyn

Ieri sera (da noi) è stata rilasciata la versione CTP di Roslyn.Roslyn, in poche parole (insufficienti e parziali), è un progetto che nasce con lo scopo di “aprire” la scatola nera Compilatore in modo da permettere una personalizzazione dello stesso.Il download della CTP e risorse per poter approfondire il discorso sono disponibili all’indirizzo http://msdn.microsoft.com/it-it/roslynTag di Technorati: ,,

Visual Studio 11 – Impostare il target framework e la CPU

Visual Studio 11, come il suo predecessore Visual Studio 2010, consente di selezionare per quale versione del framework compilare il nostro progetto solo che permette di farlo in maniera più semplice.Se vogliamo impostare il framework di compilazione in Visual Studio 2010, dobbiamo andare nelle proprietà del progetto, selezionare la scheda “Compile”e il bottone “Advanced Compile Option” in modo da aprire la finestra delle impostazioni avanzate di compilazione:In questa finestra troviamo la casella a discesa che ci consente di selezionare il framework di destinazione.In VS11 la procedura è stata semplificata e la combo di scelta è stata inserita direttamente nella scheda “Application”:Possiamo osservare, inoltre, che la scelta della CPU di destinazione, che nel VS2010 è contenuta sempre nella finestra delle impostazioni avanzate di compilazione, è stata spostata all’interno della scheda delle impostazioni di compilazione:Da notare la presenza del flag “Prefer 32-bit” (utilizzabile solo…

WPC2011 sta per arrivare!!!

WPC è il più importante evento italiano di formazione: 3 giorni di sessioni di ottimo livello con ottimi speaker!! Che aspettate!!!!Fate un giro sul sito ufficiale (http://www.wpc2011.it), guardate l’agenda e non potrete non iscrivervi!!!!Tag di Technorati: ,,,

ALM Revolutions e FREE Web Workshop

Siete interessati all’ALM (Application LIfecycle Management)?Se si vi segnalo due interessanti appuntamenti.Il primo è un pomeriggio, organizzato da DomusDotNet, con 4 sessioni tutte incentrate, appunto, su ALM.L’evento si terrà il giorno 3 Novembre 2011 presso la sede Microsoft di Roma e l’agenda è la seguente:14:00-14:30 Registrazione14:30-14:45 Keynote di benvenuto14:45-15:30 Non si vive di solo check-out e check-in
(Gian Maria Ricci, MVP Visual Studio ALM e fondatore DotNetMarche)
Il source control è lo strumento fondamentale per la gestione dei propri progetti e spesso purtroppo anche il meno conosciuto. Troppo spesso i team utilizzano solamente le funzionalità più base di un VCS senza usufruire a pieno di tutte le sue potenzialità. In questa sessione vedremo alcune best practice da adottare per la gestione del codice basandoci sul source control di TFS e parleremo quindi di branch, shelvest, integration platform ed altro.15:30-16:15 Real World Team Foundation Server
(…

Comunicando: History Tech Day

Vi segnalo l’evento Comunicando - da strumenti di calcolo a strumenti di comunicazione- che si terrà il prossimo 24 Settembre 2011.
L’evento è dedicato all'evoluzione delle piattaforme di sviluppo, e si terrà ad Avellino, presso il Carcere Borbonico di Avellino sito in Corso Vittorio Emanuele II, dalle 9.00 alle 17.30.


Purtroppo i posti sono limitati quindi affrettatevi a registrarvi.Tag di Technorati: ,

Webinar LightSwitch DevExpress

Vi segnalo un interessante webinar (un americanismo per chiamare una sessione on-line) interamente dedicato a LightSwitch e tenuto da Alessandro Del Sole.Il webinar è a cura di DevExpress e si terrà il giorno 4 Ottobre 2011 alle ore 19:00 (il link del webinar è http://www.devexpress.com/Support/Webinars/details.xml?id=IntroLightSwitchDelSole.Maggiori informazioni sul post di Alessandro.Se volete cominciare a capire cosa è LightSwitch e se fa al caso vostro, non perdete l’occasione!!!Tag di Technorati: ,,

Windows 8 @ BUILD : arrivato!!!!

Ieri, durante la keynote di BUILD tenutasi ad Anaheim in California, Steven Sinofsky mostrato alcune delle potenzialità del nuovo Windows 8.Per vedere la Keynote potete collegarvi all'indirizzo: http://www.microsoft.com/presspass/events/build/Da questa mattina presto è stata rilasciata la preview di Windows 8 e degli strumenti di sviluppo. Per scaricare le ISO usate l'indirizzo http://msdn.microsoft.com/en-us/windows/home/Le sessioni dell'evento BUILD sono disponibili all'indirizzo: http://channel9.msdn.com/Events/BUILD/BUILD2011?sort=sequential&direction=desc&term=A questo punto non ci resta che “giocare”!!!!Tag di Technorati: ,,,,

DomusDotNet : Pomeriggio Entity Framework

DomusDotNet, in collaborazione con Microsoft, EF Profiler by Hibernating Rhinos, Edizioni FAG, O’Reilly, organizza l’evento Pomeriggio Entity Framework. Un pomeriggio dedicato all’ORM di casa Microsoft.Se avete dubbi, perplessità, domande o semplicemente volete conoscere EF, potrebbe essere il caso di investire un pomeriggio e venire a seguirci!!!Tag di Technorati: ,,,,,,,,

Alla scoperta del Kinect : utilizzo del Kinect in modalità polling

Nei precedenti post abbiamo visto che il Kinect ci mette a disposizione una serie di eventi che ci permettono di recuperare i frame video, di profondità o gli skeleton data.Possiamo utilizzare le potenzialità del Kinect anche senza fare ricorso alla gestione di tali eventi ma utilizzando una tecnica di polling sugli streams.Partiamo dall’inizio: la classe Runtime (già vista in precedenza) ci mette a disposizione 3 proprietà utilissime in questo contesto e che contengono proprio gli stream di cui sopra.VideoStream : è un’istanza di ImageStream che incapsula lo stream video; DepthStream : è un’istanza di ImageStream che incapsula lo stream dei dati di profondità; SkeletonEngine : è il motore di skeletal Tracking che permette l’accesso ai frem di skeleton data. In particolare osserviamo la presenza, in tutte le classi in gioco, del metodo GetNextFrame il cui risultato è un oggetto di tipo ImageFrame per il VideoStream e per il DepthStream e SkeletonFrame per lo SkeletonEngine.ImageFrame …

Alla scoperta del Kinect: gli smooth parameters

Abbiamo accennato in questo post come sia possibile eseguire un filtro sui dati grezzi provenienti dal Kinect per “smussare” e correggere le fluttuazioni.In questo post vorrei cercare di capire (per primo io) quale è il significato dei vari parametri utilizzabili.Riprendiamo il discorso dall’inizializzazione della classi Runtime e l’impostazione dei parametri di smoothing:Try    _Nui = NewRuntime    _Nui.Initialize(RuntimeOptions.UseSkeletalTracking)AddHandler _Nui.SkeletonFrameReady, AddressOf SkeletonFrameReadyHandler    _Nui.SkeletonEngine.TransformSmooth = TrueDim parameters = NewTransformSmoothParameters() With {.Smoothing = 1.0F,                                                        .Correction = 0.1F,                                                        .Prediction = 0.1F,                                                        .JitterRadius = 0.05F,                                                        .MaxDeviationRadius = 0.05F}    _Nui.SkeletonEngine.SmoothParameters = p…

Alla scoperta del Kinect : gli scheletri e l’uomo vitruviano

Cosa c’entra Leonardo e il suo Uomo Vitruviano, gli scheletri ed il Kinect? Apparentemente nulla, ma leggendo questo post scoprirete che, invece, un legame c’è.Abbiamo visto in precedenti post che l’infernale aggeggio (il Kinect) ci permette di ottenere, in maniera molto facile, le immagini video e le immagini di profondità. Già con questi due insiemi di informazioni potremmo realizzare una sorta di interazione tra i player ed il nostro applicativo.L’SDK del Kinect, però, fa molto di più perché è in grado di fornirci gli “scheletri” dei player disposti davanti ad esso.Vediamo come procedere per ricavare ciò.La classe Runtime (di cui abbiamo parlato in questo post) prevede un evento chiamato SkeletonFrameReady che viene sollevato quando SDK ha a disposizione un oggetto di tipo SkeletonFrame pronto per essere elaborato.L’istanza di questo oggetto è passata come proprietà dell’argomento dell’evento SkeletonFrameReady:La classe SkeletonFrame, come possiamo vedere, espone una serie di prop…