febbraio 2006 - Posts
So che è una sciocchezza, ma oggi stavo per farmelo da solo, ma come dice sempre Marco ;-) con .NET non bisogna mai iniziare a scrivere una classe o un metodo se non dopo aver verificato che effettivamente non esiste nel Framework. Ebbene ho scoperto un metodo, che quando serve è proprio comodo avere, che non conoscevo (e ce ne sono sicuramente tanti :-), sebbene usi il Framework .NET dal luglio 2000 quando era in Beta 1).
Oggi Avevo l'esigenza di convertire in TitleCase delle stringhe. In pratica mettere la prima lettera di ogni parola in maiuscolo e le altre in minuscolo.
Ecco fatto:
System.Globalization.TextInfo ti = new System.Globalization.CultureInfo("it-IT", false).TextInfo;
Console.WriteLine(ti.ToTitleCase(
"paOLo PIAlorsi"));
Il risultato sarà: Paolo Pialorsi
L'ho scritto per non scordarmelo e perché magari anche altri hanno avuto o avranno questa esigenza, quindi meglio trovare al volo come fare.
http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html
Da pochi minuti è disponibile WSCF 0.6. Si tratta di un ottimo prodotto che ho avuto modo di valutare come beta tester in questi ultimi mesi e lo consiglio caldamente a tutti.
Trovo ottimo il designer di WSDL a partire dagli schema XSD definiti nel progetto.
Complimenti a Christian e a Buddhike per l'ottimo lavoro!
http://msdn.microsoft.com/windowsvista/getthebeta/default.aspx
Nel week-end controllerò se e cosa cambia, provando anche a ricompilare i progetti che ho in corso su WCF.
Come annunciato da Arpan Shah nel suo blog, siamo sempre più vicini ad una beta 2 pubblica della prossima versione di Sharepoint. Entro la metà dell'anno uscirà la Beta 2 e entro la fine dell'anno la versione finale. Sono molto soddisfatto di come si sta evolvendo la parte "Portal" di Sharepoint e devo dire che il prodotto funziona già abbastanza bene, almeno per le prove e verifiche che sto facendo in un progetto al quale sto lavorando, utilizzando la Beta 1. Non posso purtroppo parlare più di tanto del prodotto, perché sono sotto NDA.
Sulla parte CMS integrata in Sharepoint 2007 e Office 2007 ho invece, come sempre e da sempre, qualche perplessità.
Per ripassare la "lezione" e vedere come si sta evolvendo il prodotto consiglio la lettura di questo post del team di Sharepoint e anche di questo, ma anche la lettura di quest'altro post, sempre di Arpan Shah, per capire in che direzione si stia muovendo Microsoft sia con Sharepoint che con il CMS.
Tempo fa avevo segnalato, sul mio blog in inglese, la mancanza in WCF della possibilità di eseguire codice in ambienti partially trusted, tramite CAS. Per altro non ero stato l'unico a segnalare la cosa.
Adesso ho appena letto nel blog di Douglas Purdy - persona che stimo molto per le sue capacità professionali e per la sua disponibilità - che hanno deciso di rimandare alla prossima versione di WCF il supporto all'esecuzione di codice in contesti partially trusted.
Trovo che sia una scelta sbagliata e che mi dispiace molto! La sicurezza non può essere un aspetto secondario da considerare solo se avanza tempo. Peccato!
Negli ultimi 2 anni ho utilizzato un PC Portatile a noleggio per sperimentare la soluzione. Ho ordinato 2 anni fa un portatile "super-carrozzato" che in effetti ancora oggi ha caratteristiche hardware di tutto rispetto. L'ho tenuto a noleggio per 24 mesi, pagando circa 400€ + IVA al trimestre, che è meglio dei 4K + IVA che avrei dovuto pagare per averlo allora e che fiscalmente comportano dei vantaggi leciti :-) rispetto all'acquisto.
Ciò detto, aspettavo di scoprire dove fosse nascosto il vantaggio, per chi me lo noleggiava. Facendo infatti 2 conti: 400€ a trimestre per 24 mesi fanno 3200€, in pratica meno del prezzo da nuovo, per giunta dilazionato in 24 mesi .... strano. D'altra parte è pur vero che oggi quel produttore non offre più una simile forma di noleggio, ma per quanto ne so propone solo il leasing.
Mi è arrivata qualche giorno fa la documentazione per l'acquisto o la restituzione, perché il noleggio scadrà a fine febbraio. Se voglio tenermelo devo pagare altri 554€ + IVA. Se voglio restituirlo non pago nulla, tranne i danni eventuali che posso avere arrecato al PC. Viene anche riportata una simpatica tabellina esplicativa delle voci di spesa per i possibili "danni".
Vi riporto le voci più divertenti per completezza:
- borsa di trasporto mancante o rotta: 60€
- graffi sul coperchio: 60€
- graffi sul poggia palmo: 100€
- mancanza della pellicola trasparente sul monitor: 60€
- fino al 5% di settori danneggiati sul disco: 100€
- oltre il 5% dei settori dannggiati sul disco: 220€
- etichette, adesivi, serrature, altro applicato sul PC: 220€
- fino a 5 pixel rotti sul display: 220€
- più di 5 pixel rotti sul display: intero valore del PC
- ventola rotta: intero valore del PC
In pratica: se lo restituisco mi costa di più che non a riscattarlo. Dopo 2 anni è ovvio che ci siano graffi sulla cover e sul poggia palmo, che ci siano dei settori del HD danneggiati, che non abbia più la pellicola trasparente sul display, ecc. Meno male che le ventole funzionano ancora :-) !
Mi tocca quindi tenermelo .... vabbé ... ho fatto la prova e ho capito dove stava il "trucco".
Giovedì e venerdì mi sono dedicato all'aggiornamento delle mie certificazioni. Ho provato a sostenere i seguenti esami:
- 071-551: UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft® .NET Framework
- 071-552: UPGRADE: MCAD Skills to MCPD Windows® Developer by Using the Microsoft® .NET Framework
- 071-553: UPGRADE: MCSD Microsoft® .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft® .NET Framework: Part 1
- 071-554: UPGRADE: MCSD Microsoft® .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft® .NET Framework: Part 2
Si trattava di esami ancora in Beta (come si vede dallo 071 nel codice) quindi non so come sono andati e come dice il modulo NDA che si sottoscrive ad ogni esame, non posso parlarne più di tanto :-) ... ma si sa ... siamo un paese mediterraneo :-) ....
Credo di poter dire che i primi 2 esami me li aspettavo francamente un pochino più difficili. Erano principalmente orientati alle novità del Framework 2.0, e ci sta visto che sono esami di upgrade, ma le domande erano abbastanza semplici.
I secondi 2, in particolare l'ultimo, li ho trovati mediamente impegnativi. In particolare ho trovato domande su argomenti che non credevo di ritrovare in esami simili.
Se qualcuno ha in programma di sostenerli ... non qui, ma via email :-) possiamo parlarne di più ..... nei limiti della ragionevolezza e del NDA.
Da quando è stata, ormai da parecchio tempo :-), resa disponibile in SQL Server 2005 la possibilità di utilizzare codice managed all'interno di stored procedure, user defined function, ecc. mi sono sempre ritrovato ad usare con scetticismo queste funzionalità, forse anche perché condizionato da amici e colleghi che mangiano ogni mattina pane e SQL che mi dicevano sempre "non riempire il DB di codice managed!" oppure "attento a non usare a sproposito i tipi .NET al posto dei tipi nativi di SQL!", ecc.
In effetti ancora oggi in giro molto spesso si trovano i classici esempi delle coordinate polari nel DB, della creazione di file su disco (?!) tramite stored procedure CLR, ecc. e poco di più.
Ieri ho avuto, finalmente mi verrebbe da dire, bisogno di avere il CLR dentro SQL, l'ho usato e ne ho apprezzato le potenzialità. Stiamo infatti lavorando ad una soluzione di registrazione e profilazione utenti, per la richiesta di fidelity card che siano anche carte di credito e/o di finanziamento. Il sistema deve funzionare on-line via Web, per consentire ai clienti di registrarsi da casa, ma anche da chioschi posizionati nei vari negozi che il cliente ha in Italia. L'assegnazione del codice della card è ottenuto in base ad un algoritmo non troppo complesso ma nemmeno banalissimo che lavora su dei dati che vengono forniti dal cliente e dei dati invece di lookup presenti nel DB, oltre ad avere un CRC finale, tipo il codice fiscale. Le card hanno anche una numerazione progressiva da rispettare.
Ho definito una User Defined Function managed, che calcola il codice della card sulla base dei dati a disposizione, quindi nel salvare il record che rappresenta la card nel DB ho la certezza, essendo sotto transazione di inserire il record con il numero di card corretto e progressivo. Ovviamente avrei potuto fare il tutto da un oggetto di business, lavorando ad esempio con un TransactionScope, visto che il progetto è in .NET 2.0. Francamente però l'approccio SQLCLR è stato molto più semplice ed è anche più facile da manutenere, rispetto a dover intervenire sugli oggetti di business. Inoltre in questo modo ho anche prestazioni migliori perchè evito inutili roundtrip tra il server SQL 2005 e lo strato di business.
Volevo solo rendervi partecipi dei ragionamenti e della mia soddisfazione nell'aver trovato un campo di applicazione del SQLCLR che trovo "giustificabile" :-).
Segnalo questo thread sui forum di Microsoft:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=233818&SiteID=1
Al di là del titolo, se non ho frainteso il discorso, per ora WinFx sarà presente in Windows Vista e sarà supportato su Windows 2003 e XP. Nulla di nuovo fin qui.
Forse, perché come afferma Parimal Deshpande (PM di WPF e WinFx Marketing Manager) finché il prodotto non sarà rilasciato non ci sarà nulla di veramente certo, potrebbe però succedere che WinFx sia un componente opzionale per Windows Vista, esattamente come .NET Framework 2.0 lo è oggi nell'installazione di Windows Server 2003 R2.
Ad onor del vero anche io penso che sia un fattore ostativo non da poco, per l'utente finale, vedere WinFx come componente aggiuntivo e non come default del sistema. D'altra parte è anche giusto che gli utenti installino solo ciò che serve loro realmente, abbiamo già visto in passato cosa ha comportato il fatto di installare by default di tutto e di più sui PC e sui server. Comunque noi sviluppatori potremo creare dei pacchetti di setup con ClickOnce, attivando anche WinFx durante il deployment delle nostre applicazioni
Dopo il JasJar ho finalmente trovato un altro device da "desiderare":
http://www.dualcor.com/
Di tutte le sue caratteristiche quelle sicuramente più interessanti sono la risoluzione video, l'hard disk da 40GB, il fatto che è un tablet PC e la possibilità di collegarlo ad una VGA esterna, oltre ad avere 3 porte USB per espansioni. Direi che è un ottimo sostituto del PC portatile da portarsi in giro, magari per collegarsi in VPN all'ufficio con una bella connessione WiFi o UMTS (o perché no WiMax o WiBro) e usare via Remote Desktop un PC molto ben carrozzato che rimane connesso alla rete LAN dell'ufficio.
Sarebbe un bel modo di smettere di avere il mal di schiena :-) !!
Articolo "simpatico" uscito da poco su MSDN: http://msdn.microsoft.com/msdnmag/issues/06/02/PasteAs/default.aspx.
Francamente non ci vedo una reale e fondamentale utilità nel poter fare cut da un linguaggio (C#) e paste in un altro (VB.NET) però è curioso appunto vedere come si possa realizzare.
Da poche ore è disponibile per gli abbonati ad MSDN la versione RC di Team Foundation Server. Segnalo la guida alla migrazione (di Rob Caron) dalla Beta 3 Refresh alla RC, che poi vale anche per la RTM, di TFS. Considerando anche il modello di licensing che dovrebbe essere disponibile per le piccole realtà (versione simil-"Small Business" limitata a 5 licenze client), vale proprio la pena di provarlo e provare ad utilizzarlo sul serio, per darsi una struttura solida e delle regole sane per lo sviluppo.
Il prode Cristian mi ha appena segnalato un progetto presente su SourceForge che non posso fare a meno di segnalare a tutti:
http://xsltsl.sourceforge.net/
Come già segnalato da
Alessandro Perilli nel suo blog, VmWare ha reso disponibile una
versione gratuita della sua piattaforma di virtualizzazione server-side. Personalmente utilizzo VmWare GSX in ambiente di test e lo trovo molto valido. Anche Virtual Server di Microsoft ha fatto passi da gigante rispetto alle prime versioni di Virtual PC. Ritengo che il mercato della virtualizzazione sia ormai diventato di fondamentale importanza anche per chi si occupa di sviluppo software, sia per il test e la simulazione che per la messa in produzione di alcune particolari soluzioni software. Non a caso anche per
DevCon 2006 stiamo pensando all'eventualità di occuparci anche di virtualizzazione dal punto di vista dello sviluppatore.
More Posts
Next page »