novembre 2011 Blog Posts

Bitwise operators

Riporto qui un semplice metodo per recuperare il valore incorporato in un byte, nel caso in cui si abbiano più informazioni entro un unico byte: C#: private static int GetBits(byte b, int offset, int length) {     // shifta di un numero di volte pari a offset     b >>= offset;     // esegui mascheratura     b &= (byte)((1 << length) - 1);     return b; } Se vi è chiaro ciò che fa questa funzione, e in particolare l’operazione di mascheratura, saltate pure il resto, altrimenti forse è il caso di fare un piccolo...

SQL Compact e le modifiche fantasma

Lo scrivo per ricordarmelo, visto che ci ho perso sin troppo tempo! Per popolare il contenuto di un database ho creato una semplice applicazione console che legge un file csv. Peccato che una volta eseguita l’applicazione, andata a buon fine senza alcun messaggio di errore, il database non contenesse alcuna modifica! Rieseguendo l’applicazione, ogni volta era come fosse la prima volta. Ho pensato ad ogni possibile causa, anche perché facendo dei controlli all’interno dell’applicazione il database risultava effettivamente modificato. Alla fine ho trovato la soluzione su Stackoverflow: Quando si esegue un’applicazione all’interno di Visual Studio,...

SQL Compact - SKIP, TAKE and SQL emitted code

Per ottenere la lettura della n-esima riga di una tabella filtrata mediante Skip() e Take() basta eseguire una istruzione del tipo: // Troviamo la row id della riga (randomSkip +1)-esima int wordPK = (from w in dbContext.Words where w.Language == languageDictionaryCountryCode select w.Word_PK).Skip(n-1).Take(1).Single(); // Recuperiamo il testo della parola string wordText = (from w in dbContext.Words where...

Fare il debug del “Page State” di una App WP7

In Windows Phone 7.5 (Mango), per fare il debug dello stato di una pagina e verificare che abbia il giusto comportamento in caso di tombstoning occorre impostare una specifica opzione nelle proprietà del progetto: questo perché la disattivazione dell’applicazione ora porta allo stato di “Dormant” e finche c’è memoria il S.O. di Windows Phone 7.5 non rimuove dalla memoria l’applicazione e quindi non è possibile verificare il comportamento della nostra applicazione nel passaggio allo stato di “Tombstoned” e ciò che accade a seguito della riattivazione della nostra applicazione. Settando tale opzione, la deattivazione dell’applicazione...

WP7 Local Database - Database First

DISCLAIMER: E’ noto che il modello dei dati necessario ed ottimale per la nostra applicazione generalmente non coincide con quello generato dall’approccio Database First, ma è anche vero che avere un tool di generazione automatica consente di poter eventualmente utilizzare tale approccio per poter prendere spunto dal codice generato automaticamente e utilizzarlo come punto di partenza della metodologia Code First. Come abbiamo visto nel precedente post, utilizzare l’approccio Code First è piuttosto noioso e ripetitivo, ma è quello che attualmente ci offre la casa (Visual Studio 2010). Per fortuna esiste la possibilità di utilizzare anche l’approccio Database First,...

WP7 Local Database - Code First Vs Database First

L’uso di SQL Compact all’interno di applicazioni Windows Phone 7 richiede l’approccio Code First, dove siamo noi a definire nel nostro “codice” il modello a oggetti e i relativi attributi che definiscono le opzioni di mapping tra in nostro modello ad oggetti e la relativa struttura dati relazionale (il database). Ma questa modalità è assai noiosa e “time consuming”, oltre a richiedere una buona conoscenza degli aspetti di gestione dell’integrità del grafo di oggetti che rappresenta i nostri dati. Infatti, se da una parte è vero che LinqToSQL si occupa di tutti gli aspetti assai complessi legati all’OR/Mapping...

WP7 Local Database Type Mapping

Come molti sanno, dalla versione Mango di WP7 è possibile utilizzare il database SQL Compact 3.5 (WP7 Edition) per gestire database locali alle applicazione WP7. Poiché il motore ORM è LinqToSQL, è opportuno ricordare che esiste una tabella di mapping che associa i tipi SQL Compact 3.5 agli equivalenti tipi CLR: Occhio alla nota relativa al SQL Decimal data type! E poiché è ipotizzabile un collegamento a SQL Azure per sincronizzare i nostri dati locali con un database in the cloud, è opportuno ricordare che esiste anche una tabella di mapping tra tipi SQL di...

System Center 2012 Private Cloud CEP

Oggi ho seguito la prima sessione del Community Evaluation Program. Le sessioni si tengono tutti i martedì alle 21:00 (ora italiana) e durano all’incirca un’ora e mezza. Essendo la prima, è stata ovviamente una sessione introduttiva, che ha ricalcato e ampliato i concetti base già espressi nella Keynote di apertura di MMS (Microsoft Management Summit) 2011. Dal punto di vista di uno sviluppatore, la parte più interessante è riconducibile a tre concetti chiave: 1. Il focus è sulle applicazioni, con la possibilità di definire tutto ciò che è necessario per farle girare. 2....

Si parte, verso l’infinito ed oltre!

Mi hanno accettato, vedremo presto di che si tratta…

«novembre»
domlunmarmergiovensab
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910