DanBlog http://blogs.ugidotnet.org/DanBlog/Default.aspx Il blog di Daniele Armanasco it-IT Daniele Armanasco Subtext Version 2.6.0.0 DanBlog http://blogs.ugidotnet.org/images/RSS2Image.gif http://blogs.ugidotnet.org/DanBlog/Default.aspx 77 60 Aiuto: MCT & Hyper-V http://blogs.ugidotnet.org/DanBlog/archive/2012/07/07/aiuto-mct-hyper-v.aspx <p>Da qualche mese sono finalmente MCT e mi appresto a tenere il mio primo corso MOC!</p> <p>Problema: ho bisogno di installare la macchina virtuale del MOC sul mio portatile; la macchina virtuale è costituita da un vhd "base" e un altro vhd specifico che ha un link a quello base, il tutto "confezionato" per Hyper-V.</p> <p>Visto che mi sembra una stortura installare Windows Server 2008 sul mio portatile, ho cercato tutte le soluzioni alternative (con grande fatica, visto che come "sistemista" sono proprio zero); in particolare pensavo di aver risolto installando Microsoft Hyper-V 2008 R2 (la versione standalone) in un vhd da cui fare il boot. Ho anche trovato una library per PowerShell per gestire la VM dal prompt dei comandi e riesco ad avviare la VM; il problema è che stasera ho scoperto che la VM si avvia, ma ci si può connettere ad essa solo da remoto!</p> <p>Qualcuno sa darmi qualche dritta? Devo per forza installare un sistema server sul mio portatile? In particolare chiedo agli altri MCT che seguono UGI: come avete risolto questo problema?</p> <p>Grazie!</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/101092.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2012/07/07/aiuto-mct-hyper-v.aspx Sat, 07 Jul 2012 01:42:25 GMT http://blogs.ugidotnet.org/DanBlog/archive/2012/07/07/aiuto-mct-hyper-v.aspx#feedback 12 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/101092.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/101092.aspx Javascript: cosa non mi piace - undefined è modificabile http://blogs.ugidotnet.org/DanBlog/archive/2011/10/21/javascript-cosa-non-mi-piace-undefined-e-modificabile.aspx <p>undefined è una variabile globale inizializzata al valore undefined; il problema è che tale variabile è accessibile in read/write.</p> <p>E' quindi sufficiente sbagliare un confronto con un assegnamento (ed in Università vedo che è uno degli errori più frequenti degli studenti) per ridefinire undefined e influenzare tutto il resto del codice:</p> <p>var x = 1;</p> <p>if (undefined = x) ; //do something</p> <p>x == undefined --&gt; true</p> <p>1 == undefined --&gt; true</p> <p>Questo comportamento molto pericoloso è stato finalmente risolto da ECMAScript 5.</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/100466.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2011/10/21/javascript-cosa-non-mi-piace-undefined-e-modificabile.aspx Fri, 21 Oct 2011 19:12:20 GMT http://blogs.ugidotnet.org/DanBlog/archive/2011/10/21/javascript-cosa-non-mi-piace-undefined-e-modificabile.aspx#feedback 3 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/100466.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/100466.aspx Javascript: cosa non mi piace - getMonth base 0 http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-getmonth-base-0.aspx <p>Di questa caratteristica avevo già parlato in un post di qualche anno fa, ma proprio non la digerisco: getMonth è base 0, mentre getDate è base 1.</p> <p>I miei amici sanno che "rompo" un pò sulla storia della base 0, di cui capisco benissimo l'origine legata agli indirizzi di memoria (visto che sono Ing. Elettronico qualcosa mi dice); però ritengo che un linguaggio di alto livello debba mascherare questo aspetto. Mi sta bene che un ciclo, concetto prettamente informatico, vada su base 0; ma che una funzione di una classe DateTime mi restituisca 1 per dire che siamo a Febbraio fatico a digerirlo. Quando poi penso che la funzione getDate è a base 1 e non c'è coerenza la fatica aumenta.</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/100428.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-getmonth-base-0.aspx Wed, 05 Oct 2011 20:04:11 GMT http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-getmonth-base-0.aspx#feedback 3 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/100428.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/100428.aspx Javascript: cosa non mi piace - optional semicolons http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-optional-semicolons.aspx <p>Questa caratteristica è banale e abbastanza innocua, ma secondo me tradisce l'origine del linguaggio: in Javascript (come in certe versioni del C mi sembra) si può omettere il ; di fine istruzione tra due istruzioni che stanno su due righe diverse oppure nelle istruzioni a fine programma o comunque seguite da una }</p> <p>I problemi sono due: certe istruzioni vengono interpretate in modo "poco intuitivo" e inotre si crea una dipendenza tra le diverse istruzioni, nel senso che se aggiungo un'istruzione sotto a quella senza ; devo ricordarmi di correggere anche quella sopra. Ecco un esempio di interpretazione che potrebbe confondere:</p> <p>var y = x + f</p> <p>(a+b).toString()</p> <p>viene interpretata come</p> <p>var y = x + f(a+b).toString();</p> <p>A questo punto mi chiedo: non sarebbe meglio rendere obbligatorio il ; a fine istruzione ed avere tanti ragionamenti in meno sia per me che per il parser? Con tutto il codice che scrivo non saranno mica proprio i ; finali a farmi venire l'artrite alle mani ... Mi sembra più una caratteristica messa lì da un programmatore che voleva dimostrare quanto è bravo a fare un parser ...</p> <p>Vero è che basta non ricordarsi di questa cosa e usare sempre il ; per evitare problemi.</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/100427.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-optional-semicolons.aspx Wed, 05 Oct 2011 19:52:12 GMT http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-optional-semicolons.aspx#feedback 13 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/100427.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/100427.aspx Javascript: cosa non mi piace - numeri floating point http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-numeri-floating-point.aspx <p>Premessa: ritengo che Javascript sia uno dei linguaggi che si DEVONO conoscere al giorno d'oggi se si vuole fare web (e magari anche mobile); il problema è che pur usandolo io mi ci sono sempre trovato a disagio. Parte di ciò è sicuramente dovuto al fatto che non ho mai approfondito per bene il linguaggio, per cui questi giorni ho iniziato la lettura di "Javascript: the Definitive Guide", che mi sembra ben scritto e approfondito. Un'altra parte del disagio è dovuto a caratteristiche del linguaggio che poco si sposano con la mia filosofia (ben poco geek lo so, ma penso che nell'informatica ci sia bisogno sia di geek che di non geek come me ...). Ho deciso di "esplicitare" queste caratteristiche a me antipatiche nella speranza di riuscire a "digerirle emotivamente" e così da ricordarmene e non incappare in errori banali.</p> <p>Partiamo con la prima: in javascript i numeri non interi sono solo in notazione floating point; anche in ECMAScript 5 non esiste ancora nulla che assomigli ai numeri decimali. Questa secondo me è una grave mancanza, perchè ritengo che anche Javascript sia usato molto più spesso per fare calcoli con importi monetari piuttosto che con valori usati in ambito matematico/scientifico.</p> <p>Mi sembra assurdo che un linguaggio di alto livello, nell'anno 2011, mi dica che 0.3 - 0.2 != 0.2 - 0.1 (provare per credere in qualsiasi browser!). Questa mi ci vorrà un pò a digerirla ...</p> <p> </p> <p> </p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/100426.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-numeri-floating-point.aspx Wed, 05 Oct 2011 19:30:03 GMT http://blogs.ugidotnet.org/DanBlog/archive/2011/10/05/javascript-cosa-non-mi-piace-numeri-floating-point.aspx#feedback 7 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/100426.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/100426.aspx Linq to xml: generare nodi vuoti con tag di chiusura esplicito http://blogs.ugidotnet.org/DanBlog/archive/2009/12/10/linq-to-xml-generare-nodi-vuoti-con-tag-di-chiusura.aspx <p>Generando un nodo vuoto nel modo seguente</p> <p>XElement xml = new XElement("PROVA") si ottiene &lt;PROVA /&gt;</p> <p>se invece si specifica la stringa vuota come contenuto:</p> <p>XElement xml = new XElement("PROVA", String.Empty) si ottiene &lt;PROVA&gt;&lt;/PROVA&gt;</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/97695.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2009/12/10/linq-to-xml-generare-nodi-vuoti-con-tag-di-chiusura.aspx Thu, 10 Dec 2009 19:18:16 GMT http://blogs.ugidotnet.org/DanBlog/archive/2009/12/10/linq-to-xml-generare-nodi-vuoti-con-tag-di-chiusura.aspx#feedback 1 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/97695.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/97695.aspx Mocking e unit testing: lavorare bene seppure a mezz&rsquo;aria! http://blogs.ugidotnet.org/DanBlog/archive/2009/11/23/mocking-e-unit-testing-lavorare-bene-seppure-a-mezzrsquoaria.aspx <p>Quando parlo di test unitari e mocking ai clienti che non ne hanno mai fatto uso (nemmeno personale ;-)) mi risulta difficile farne cogliere tutti i pregi; la prossima volta mi ricorderò del progetto di cui mi sto occupando questi giorni (o li dirigerò a questo post).</p> <p>Si tratta di un programma che deve monitorare il flusso di alcune pratiche richieste agli istituti bancari dall’agenzia delle entrate. La richiesta viene ricevuta tramite PEC ed un sistema (esistente) ne interpreta le informazioni e gestisce tutto l’iter (abbastanza complesso). Il mio programma non deve “far altro” che verificare la coerenza di tutte le informazioni sparse tra database relazionali (quello principale e quello “di confronto” per controlli di quadratura) e file relativi alla richiesta presenti su file system locale o server remoti.</p> <p>Io non dispongo ancora del sistema o di una sua simulazione (alcune parti sono ancora in fase di realizzazione); di fatto non ho né la terra sotto i piedi (db, cartelle, ecc.) né il cielo sopra la testa (l’interfaccia, che non ci sarà mai perché il mio programma sarà lanciato da riga di comando).</p> <p>Nonostante questo, grazie ai test unitari e al mocking con cui sostituisco alle mie dipendenze esterne (db, file) degli oggetti “finti”, POSSO lavorare alla mia parte verificandone la logica che implemento e raffinando man mano il mio modello del dominio.</p> <p>Mi sento un pò come se stessi creando un organo artificiale che poi andrò a impiantare nel paziente curandomi solo delle “cuciture”, perché il funzionamento interno l’avrò già provato senza paziente; molto meglio che dover provare l’organo per la prima volta sul paziente!</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/97591.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2009/11/23/mocking-e-unit-testing-lavorare-bene-seppure-a-mezzrsquoaria.aspx Mon, 23 Nov 2009 16:40:43 GMT http://blogs.ugidotnet.org/DanBlog/archive/2009/11/23/mocking-e-unit-testing-lavorare-bene-seppure-a-mezzrsquoaria.aspx#feedback 4 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/97591.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/97591.aspx Le mie prossime conf http://blogs.ugidotnet.org/DanBlog/archive/2009/10/21/le-mie-prossime-conf-again.aspx <p>Ecco le prossime conference a cui intendo partecipare. Se qualcuno della mia zona (BS) si vuole aggregare per il viaggio si faccia sentire; per gli altri: ci vediamò là!</p> <p>22 ottobre (giovedì) - Milano: Windows 7 e Windows Server 2008 R2: The “NEW” Efficiency – Smau</p> <p>18 novembre (mercoledì) – Dalmine (BG): <a href="http://www.ugialt.net/communitytour09.ashx">Community Tour: ALT.NET-web</a></p> <p>20 novembre (venerdì) - Bologna: <a href="http://www.agileday.it/front/">Italian Agile Day</a></p> <p>4 dicembre (venerdì) – Firenze: <a href="http://www.aspitalia.com/eventi/21/Real-Code-Day-4.0-Costruire-Applicazioni-Reali-Firenze.aspx">Real Code Day 4.0: costruire applicazioni reali</a></p> <p>23 gennaio (sabato) – Milano: <a href="http://www.ugialt.net/V%20UgiALT.net%20Conference.ashx">V UgiALT.net Conference</a></p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/97312.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2009/10/21/le-mie-prossime-conf-again.aspx Wed, 21 Oct 2009 15:47:04 GMT http://blogs.ugidotnet.org/DanBlog/archive/2009/10/21/le-mie-prossime-conf-again.aspx#feedback 4 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/97312.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/97312.aspx [Sfogo] Javascript: oggetto Date http://blogs.ugidotnet.org/DanBlog/archive/2009/10/15/sfogo-javascript-oggetto-date.aspx <p>In Javascript basta istanziare un nuovo oggetto Date per ottenere la data corrente:</p> <p>var myDate = new Date();</p> <p>A questo punto basta fare:</p> <p>myDate.getDate(); per avere il giorno (1-31): ma perché non chiamarlo getDay?</p> <p>myDate.getDay(); per avere il giorno della settimana (0 = domenica, visto che non si lavora, 1 = lunedì, ecc.): ma perchè non chiamarlo getDayOfWeek?</p> <p>myDate.getMonth(); per avere il numero del mese con, OVVIAMENTE, 0 = gennaio, 1 = febbraio, ecc. </p> <p>A parte il fatto che usare lo zero per numeri di mese e giorno, che già hanno una loro numerazione, mi sembra “da programmatori mai usciti di casa che non hanno mai visto un calendario”; ma se per il giorno sono partiti da 1, perché per il mese sono partiti da 0? Almeno un pò di coerenza …</p> <p>Scusate lo sfogo; spero qualcuno mi aiuti a capire (hanno progettato ste cose il giorno di Carnevale?), perché a me sembra proprio “poco pensato” (sono un gentiluomo ;-)).</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/97262.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2009/10/15/sfogo-javascript-oggetto-date.aspx Thu, 15 Oct 2009 12:56:21 GMT http://blogs.ugidotnet.org/DanBlog/archive/2009/10/15/sfogo-javascript-oggetto-date.aspx#feedback 5 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/97262.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/97262.aspx Microsoft WebsiteSpark http://blogs.ugidotnet.org/DanBlog/archive/2009/10/12/microsoft-websitespark.aspx <p> </p> <p><a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/DanBlog/WindowsLiveWriter/MicrosoftWebsiteSpark_D7CD/wss_2.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="wss" border="0" alt="wss" width="435" height="261" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/DanBlog/WindowsLiveWriter/MicrosoftWebsiteSpark_D7CD/wss_thumb.png" /></a> </p> <p>Ci sono anch’io!</p><img src="http://blogs.ugidotnet.org/DanBlog/aggbug/97246.aspx" width="1" height="1" /> Daniele Armanasco http://blogs.ugidotnet.org/DanBlog/archive/2009/10/12/microsoft-websitespark.aspx Mon, 12 Oct 2009 16:21:03 GMT http://blogs.ugidotnet.org/DanBlog/archive/2009/10/12/microsoft-websitespark.aspx#feedback 3 http://blogs.ugidotnet.org/DanBlog/comments/commentRss/97246.aspx http://blogs.ugidotnet.org/DanBlog/services/trackbacks/97246.aspx