giugno 2004 Blog Posts
Visto che non sono un ASP.NET guy, mi suona un strano che gran parte dei T&T mostrati da Rob Howard li conoscessi già...Mi ha un po deluso il fatto che quando si arrivava la parte 'interessante' lo speaker glissava brillantemente passando all'argomento successivo...Gli argomenti sono statiTemporary Wait Page: Come mostrare una pagina di attesa all'utenteSet Focus: come mettere il focus su un determinato controlloDuration & Page Size: Come ottimizzare la size di una webpageMultiple ResultSets: Come usarli per aumentare le performancesSQL Record Paging: Paginare usando SQL Server (peccato che la store procedure non l'abbia mostrata)Background Threading: Utilizzare il multithreading attraverso SQL Server...
Non tutte le sessioni "escono col buco", questa è una di quelle.Argomento interessante, peccato che lo speaker faccia di tutto per renderla 'pesante'.Gli Application Blocks sono delle applicazioni (o blocchi di codice) creati da Microsoft con l'intento di offrire allo sviluppatore del codice già pronto e configurabile per alcune necessità comuni.Alcuni di questi sono abbastanza famosi, ad esempio l'Application Updater Block.I block sono distribuiti con source code, sono configurabili e hanno un ampia documentazione, il cui scopo è ottenere la 'goldn rule' ovvero far si che l'utente possa iniziare ad usare il block entro 1 ora; obiettivo non sempre raggiunto...
Questa volta la sessione è stata completamente su ClickOnce e il relatore era Mike Harsh (chi usa i windows form senz'altro conoscerà questo nome.ClickOnce è una tecnica di deployment per applicazioni Win32 che estende e migliora il "No Touch Deployment" del framework v1.1 (tutti i dettagli su www.windowsforms.net)Non sostituisce i files MSI in quanto ha alcune limitazioni ma credo sarà una tecnologia che riscuoterà parecchio successo.Nella foto le differenze tra ClickOnce e MSIAlcuni dettagli tecnici (probabilmente utili per chi già conosce ClickOnce...)Nella beta c'è un nuovo Tool mageui.exe che permette di modificare i files .application (ex .deploy della alpha) e...
La sessione di Marc Russinovich è stata veramente interessante:
A che servono tutti i vostri sforzi, le vostre tecniche più evolute di programmazione se poi il vostro PC non parte più, ecco che Marc mostra 1001 tecniche per capire e risolvere i problemi legati al boot del PC (e credo sia questo il momento più da panico tra i vari errori che siamo abituati a vedere)Dopo una descrizione del boot sequence (boo record,NTLDR...) vengono analizzati i singoli steps e per ognuno viene indicata la possibile soluzione.L'uso della Recovery Console è d'obbligo, ma il conoscere le varie opzioni (che Marc dimostra di...
Passato il 'naturale' entusiasmo per le versioni "Express" (sopratutto perchè dopo mesi di bocche cucite causa NDA ne potremo parlare liberamente) si passa alle sessioni vere.Dal titolo la sessione di Joe Stegman pareva essere tutta su ClickOnce, in realtà lo è stata solo la prima parte.Attrraverso System.Net.NetworkInfo.NetworkAddressChanged è possibile capire lo status della nostra applicazione e, di conseguenza adattarne le funzionalità.Una demo sulla funzione di Publish e autoupdate mostrano la potenza di ClickOnce.Un dettaglio interessante: Non è necessaio essere Admins per installare e usare ClickOnce.La sessione prosegue con una panoramica dei nuovi controlli WinForms,e viene accennato alla tecnologia "Renderers" sul...
Un Don Box stranamente "serio" (a parte quando ha esibito un estintore sul palco) per una sessione difficile per me da bloggare.Gli argomenti riguardano principalmente quello che avviene allo startup di un applicazione, sia essa Win32, ASP.NET oppure Windows Service.Box ha descritto interessanti dettagli sull'architettura delle varie versione di IIS dichiarando publicamente che la 6 è la migliore mai prodotta (almeno fino al rilascio della prossima... :-))
Presumo stiate già tutti scaricando la Beta1...Ecco una 'chicca' per chi usa il profilo VB.NET per far apparire la "Build configuration" combo nella toolbox.
1) Add or Remove Buttons -> Standard -> Solution Configurations on the main toolbar to get the combo box to appear2) Tools | Options | Projects and Solutions - Show advanced build configurations to actually enable the combo box
Verrà sistemato nella Beta2...
Era da tempo che non vedevo uno speaker in giacca e cravatta..., tant'è che la sessione sui mobiles devices si è dimostrata più una demo marketing che altro percui abbiamo deciso di uscire e farci un giretto per gli stands.Ad esempio ecco lo stand MSDN:Oppure il nostro stand preferito, dove abbiamo 'apprezzato' live il nuovo Motorola (quello citato da Fabio al workshop "reloaded")
Per quelli, come noi (!) che non vedono l'ora di averlo, la risposta da parte di Motorola sulla disponibilità è stata "Q4 2004".Ora siamo in attesa della sessione di Don Box, il quale, incurante del publico si sta tranquillamente...
Rockford Lhotka, nome conosciuto per chi segue le "Adventures with VB.NET" su MSDN, ci parla delle applicazioni semiconnesse, e con l'avvento dei pocket pcs e smartphones questo sarà un argomento che prenderà piede.Il tutto è basato sugli application blocks (disponibili su MSDN) partendo dall'uso di Interop per capire se l'applicazione è online on meno (ora con VS 2005 la cosa sarà ancora più semplice...)Una sessione tranquilla..., forse troppo... ;-)
Adesso si va a pranzo...
Qualche dato su SQL Server Express:
Support for XCopy style deployment
No workload governor
Support for databases up to 4Gb in size
Support for up to 50 instances
Only supports 1 processor
Only supports 512 Mb of RAM
Migliaia di persone alla main keynote, ognuno con il proprio "bongo" (si ci hanno regalato un bongo!).La sessione si apre con uno speaker (non vedente) che mostra le features di accessibility che Windows offre e, invita giustamente gli sviluppatori, a sviluppare le applicazioni anche per i portatori di handicap.Si prosegue con i new goals, ovvero, integrazione tra architetto e sviluppatore, il tutto usando lo stesso tool: Visual Studio 2005.La visione di Microsoft è cambiata, il mondo non è solo MS e gli applicativi MS devono interagire con le "altre" applicazioni, ecco quindi l'integrazione Visual Studio 2005 e SAP Netweaver.La panoramica...
Sull'aereo Raf ha verificato che il tragitto fosse quello giusto tenendo monitorata la rotta con il suo Pocket PC...
Il "rito" prevede il ritiro del "kit del partecipante" a Tech-Ed, e potevamo noi mancare?, assolutamente no, quindi appena atterrati ci siamo diretti verso il RAI Center e abbiamo ritirato la borsa "Antinebbia" che identifica l'appuntamento di quest'anno.Capientissima (ci potete mettere dentro anche uno scooter), piena di materiale interest-promozionale e sopratutto Antinebbia! (ha un colore Arancione fosforescente... chissà perchè... :))E poi, dopo qualche ora unwired gli MVP si sono "ricaricati" testando la connessione Wi-Fi di Tech-Ed.E' impressionante come l'essere "Wired" faccia...
Come gia' segnalato, anche quest'anno la banda UGIdotNET (eh!, i soliti fortunati direte voi...) sara' a TechEd 04 che quest'anno si tiene in una 'fredda' Amsterdam.Come avvenuto l'anno scorso cercheremo di tenervi aggiornati in tempo reale su quanto di interessante accade e sulle sessioni alle quali parteciperemo.I piu' informati sanno che gia' domani alla keynote ci saranno interessanti novita' che faranno piacere a tutti gli sviluppatori.
Stay tuned!
Alla sessione del 22/6 ho parlato di Using e del suo utilizzo con IDisposable.Non so se funziona anche con la March 04 CTP pero' provate in VB 2005 a scrivere questo codice:
Public Class TestEnd Class
a questo punto fate implementare IDisposable alla classe Test aggiungendo Implements IDisposable e... attenzione a quello che appare premendo Enter alla fine di IDisposable ;-)Ne approfitto per ricordare che parte delle slides dell'evento sono disponibili online...
Certe giornate ti fanno arrivare a casa distrutto ma soddisfatto, e con la voglia di ripeterle al piu' presto (ed e' proprio cosi'! il giorno 8 Luglio ci si ritrova !)Che altro dire, vedere un affluenza cosi' massiccia e scoprire cosi' tanta gente interessata e preparata (I piu' coraggiosi hanno anche rinunciato alla partita, ed e' stato meglio cosi...) ti fa capire quanta gente sia "mad about .NET"Ieri sono riuscito a scattare qualche foto...
I piu' 'cattivi' stanno in fondo... :-)
Francesco Balena e i problemi con i monitors
Qualcuno riesce a riconoscersi?
Come? non ne parli?... ebbene si!, il tempo non me lo permette e gli argomenti sono tanti...Operator Overloading vi permette di definire (e ridefinire) degli operatori da applicare a dei tipi da voi creati....e per l'ultima volta mi rispiego... Public Class SetPoint Public Temperature as SinglePublic Sub New (value as Single) Me.Temperature=value End SubEnd Class
Quello che vorrei ottenere con questa classe è poter scrivere qualcosa tipo:Dim T1 as new SetPoint(12.3)Dim T2 as New SetPoint(11)Dim T3 as SetPoint=T1+T2Come ben sapete questo non è possibile in quanto l'operatore "+" non è definito per il tipo SetPoint.Con VB 2005 si potrà aggiungere l'operatore...
Altra argomento che non citerò nella sessione per motivi di tempo sono i "Custom Events"Anche questa feature è gia presente in C# (quanti la conoscono?...) e permette di implementare degli eventi dei quali abbiamo il controllo totale sia per quanto riguarda lo storage che per quanto riguarda la gestione della fasi di Attach, Detach e Raise di un evento....mi ri-spiego...Tutti i programmatori VB sanno che è possibile creare una classe con un evento in questo modo:Public Class A Public Event Signaled (info as String) Public Sub DoSomething() RaiseEvent Signaled("ok") End SubEnd ClassUn pò meno sanno che la stessa classe può essere scritta in maniera...
Sto riorganizzando le slides per la sessione "Language Revolution" del prossimo workshop, e, dopo una stima della durata della mia parte dedicata a VB 2005 e uno scambio di opinioni con il mio compagno di sessione Raffaele, mi trovo, mio malgrado, nella condizione di dover tagliare alcune parti (e chi mi conosce sa quanto mi dispiace).Onde evitare di lasciare "incompleta" la panoramica su VB 2005 ho deciso di bloggare qui gli argomenti affichè possiate, scaricando in seguito le slides, avere una copertura totale.L'argomento #1 che non tratterò sarà : Interface ReimplementationQuesta feature (già presente in C#) vi permette di ridefinire...
Deve ancora uscire C#2.0 che già si parla di C# 3.0, certo, quando a parlarne e Anders Hejlsberg probabilmente vale la pena ascoltare....Quello di cui si parla è Cw (C Omega)
Come già indicato nella news, sono disponibili 7 controlli Windows Forms scritti interamente in Visual Basic .NET 2003.Qui trovate un articolo che ne descrive le caratteristiche e l'utilizzo.
Quando generate un nuovo progetto in VB 2005/C#2005 oltre al vostro eseguibile trovate un altro file col nome <nomeapplicazione>.vshost.exe.A che serve?E' un 'trick' per velocizzare lo startup quando premete F5 all'interno di Visual Studio, in pratica compila il vostro progetto prima che voi premiate F5 (o F10, F11..) cosi che a Visual Studio non rimanga che attaccare il debugger quando avviate il debugging.Essendo una feature di Visual Studio, il file non va ovviamente ridistribuito.
PS: Nella May CTP la classe AssemblyInfo ritorna le informazioni di vshost.exe anziche' quelle del vostro eseguibile, ma di semplice bug si tratta... :-)
Stando a questo blog, la beta1 di Whidbey sarebbe ormai pronta, qualcosa mi dice che a TechEd 04 di Amsterdam verra' distribuita ai partecipanti...
Alla sessione "Language Revolution" del Workshop del 22/6 parlerò anche del nuovo Namespace My disponibile ai soli programmatori VB (e in alcuni casi mi chiedo il motivo...).Alcune features sono dei semplici shortcuts verso le relative classi del framework, in altri invece viene anche wrappate la logica di contorno che le classi native del .Framework richiedono.Un esempio:"Dovete verificare se siete connessi ad internet, in caso affermativo pingare un indirizzo e scaricare un file in una cartella."
Ecco il codice in VB2005:If (My.Computer.Network.IsAvailable) Then If My.Computer.Network.Ping("http://www.mysite.com", 30) Then My.Computer.Network.DownLoadFile("www.mysite.com/myfile.zip", "c:\") End IfEnd If
Si può fare questo in C# 2005?, certamente, bisogna scrivere un...
Volete sviluppare le vostre applicazioni C# direttamente sul vostro Pocket PC?, ecco il compilatore che fa per voi. :-)
Se siete programmatori VB credo valga la pena leggere questo blog di Paul Vick riguardo gli operatori di conversione in VB.NET
Avete presente Global.asax nelle applicazioni ASP.NET?, bene, quando create un applicazione Windows Forms in Whidbey viene automaticamente creato un file MyEvents.vb il quale contiene gli eventi "Tipici" di un applicazione Win32 quali Startup, ShutDown, StartupNextInstance...Trovate altri dettagli in questo blog.Qualche info aggiuntiva:Gli eventi si trovano nella classe parziale Application all'interno del namespace My, la classe Application eredita da System.Windows.Forms.WindowsFormsApplicationBase che, udite udite, non si trova in System.Windows.Forms ma in Microsoft.VisualBasic (e non e' documentata al momento nella CTP di Maggio).
Che significa questo?1-Che questa feature e' disponibile solo in VB (e se data un occhiata a WindowsFormsApplicationBase noterete parecchie cose interessanti...
Non lo so, ma mi offro come beta tester...Le caratteristiche sono interessanti, purtroppo nessun dettaglio sul prezzo...
Dopo qualche giorno di vacanza "totally unwired" mi sono reso conto della mole di informazioni che quotidianamente leggo... :-)Tra i blogs degli ultimi giorni ho trovato molto interessante questo di Cameron Beccario (VB.NET Team) che descrive in dettaglio il funzionamento delle chiamate late bound in VB.NET.