Scrivere codice performante

Sono appena uscito dalla sessione di Jonathan Hawkins, Lead PM del CLR, un tipo tutto da vedere :D Sessione interessante e con il poco tempo che mi rimane per postare dal TechEd non riuscirei a dire tutto... molto meglio un blog o altro post TechEd... con più calma e tempo per pensare a quanto detto. Una Sessione motlto discorsiva senza esempi e codice, ma dai contenuti che fanno riflettere :D Ha sottolineato che passando a codice managed si è un po tutti newbie, occorre che si impari come fare le cose, le cose appaiano così semplici ma occorre conoscere il loro costo sottolineando la smania per l`XML e per l`eccessivo uso di OOP... questo non per dire che sono tecnologie da non usare ma tecnologie che occorre approfondire meglio e non assimilare e usare con troppo facilità senza chiedere il loro costo. Una sua slide ricordava: "Slow Software is Bad".

Credo che questo sarà il mio ultimo post da barcellona...
beh UGI ci vede a Milano :D

Internet, ASP.NET e sicurezza!

Panoramica sui tre tipi di autenticazioni Windows, Form e Passport... breve spiegazione di qualla windows per poi immergersi nella Forms Authentication e lasciare nel dimenticatoio quella passport, snort :(  Nulla di nuovo durante la sessione.. solo qualche conferma, queste le raccomandazioni:
- uso del sistema di autenticazione/autorizzazione di ASP.NET e la gestione dei ruoli;
- criptazione della password nel dababase usando System.Security.Cryptography o con FormsAuthentication.HashPasswordForStoringInConfigFile e comunque mai mettere in chiaro le cose segrete,  la base dati può essere hackerata (questa avrei preferito fosse più approfondita... e non mancherò di farlo io...)
- uso (se possibile) di HTTS per le pagine dove passa in chiaro utente e password;
- uso di HtmlEncode soprattutto per i dati che arivano da input esterno per evitare script injection (un problema più che altro fastidioso), a tal proposito è interessante l`uso della proprietà ValidateRequest delle WebForm;
- uso dei parameters per eviatare SQL injection (un problema molto dannoso!);
- usare Store Procedure e dare all`utente ASP la possibilità solo di accedere ai dati passando da esse (ma su questa si potrebbe aprire un lunghissimo dibattito!)
In generale molte che ritengo note anche se ho come l`impressione che non siano poi note a tutti! :(

...ultime ore al TechEd...

Siamo alle ultime ore di UGI al TechED, questa sera ore 21 partanza con nave per Genova.... purtoppo ci saltiamo la festa di fine evento. Le sessioni riprenderanno alle 15 e avremo il tempo di partecipare ancora un paio a testa... un esperienza davvero interessante essere venuto al TechEd! Qui i PC sono presi d`assalto e spero di trovarne uno dopo per poter completare il mio bulletin per commentare le sessioni finali!

Debugging e MS VS .Net

Una sessione carina ma nulla di nuovo: uso di immediate window, della watch list, della local window, tecniche di dump di collection in xml, personalizzazione del debug & tips più o meno di comune utilizzo. Lui Keith Pleas uo speaker davvero simpatico che ha tenuto un ampia e simpatica introduzione su bugs e metodologia di debug, dalla quale ecco un simpatico _decalogo_: 1. duplicare il bug, 2. descrivere il bug, 3. Sempre assumere che i bug siano propri, 4. Dividere e conquistare, 5. Sii creativo, 6. Usare i tools, 7. Inziare un debug duro, 8. Verifica che il bug sia stato sistemato, 9. Impara e condividi!

Clemens Vasters e patterns WS & XML

Ho avuto modo di apprezzare una seconda volta Clemens Vasters, uno speaker davvero interessante e una sessione altrettanto! La sessione ha spaziato parlando in lunghe e in largo di serializzazione XML , tecniche di estensione e versioning per passaggio di tipi complessi! Ho visto che Andrea aveva un foglio di appunti lunghissimo che voleva serializzare nel suo BLOG... dopo corro a vedere cosa ha voltuto appuntare di una sessione che non si poteva perdere! :D

Modellare soluzioni Enterprise usando UML...

Sessione leggera leggera per essere una "300"... un tutorial di UML con un paio di Demo in Visio. Visio? Si interessante... può genarere template di classe e relativo progetto a partire dal diagramma UML e può genarare diagrammi UML a partire da un progetto. Se devo essere sincero sono abbstanza interessato all`uso di diagrammi UML ma la sessione e quanto è stato fatto vedere di Visio non mi ha partikolarmente esaltato.

WS Internals!

Clemens Vasters wow! Lo speaker ha tenuto una sessione davvero bella :D Ha parlato di SoapExtention e non solo spaziando a tutto tondo sui WS... poche slide (4) e per il resto? codice quasi tutto scritto al momento. Problemi? si qualcuno... ma ho quasi il sospetto che fossero problemi voluti per "inscenare" uno spettacolare debuging. Il suo BLOG qui  http://radio.weblogs.com/0108971/rss.xml ; qui invece http://www.newtelligence.com/wsextensions/Download.aspx un kit completo con interessantissime SoapExtention! Costo?  Clemens ci teneva a dire che "newtelligence is free"!

Interoperabilità J2EE & .Net

Ho riprovato a seguire una sessione sull`argomento che entrasse un po più nello specifico sull`argomento "Interoperabilità J2EE & .Net", la parola d`ordine è service technology, XML e definizione di Schemi XML... in poco parole web services! A parte questa panoramica generale la sessione ha mostrato come è stato possibile realizzare una soluzione dove le due tecnologie cooperavano e come è stato possibile fornire alla presentation un buono strato di astrazione sulle due tecnologie sfruttando i pattern classici della programmazione OOP: Command, Facade e Adapter! Come dire le soluzione architetturalmente ben disegnate non fanno fatica a interoperare con soluzioni di altre tecnologie senza dover stravolgersi completamente!

Costruire Server Control in ASP.NET (parte 2)

Parte seconda della sessione da cui ero uscito entusista questa mattina sulla costruzione dei Server Control in ASP.NET . La seconda parte mi ha entusiasmato un po meno... sessione fluida e ricca di contenuti.. perchè non mi ha esaltato... beh mi sono reso conto che implementare un server control non è una cosa così semplice, tanto da scrivere e tante cose da curare e tenere conto... dai problemi di design ai problemi della gestione del view state... tutto sommato una sessione interessante e un argomento altrettanto interessante!

Tips e Tricks ADO.Net

...eccomi pappato e ecco un paio di Tips/FAQ che ho carpito dalla sessione dal titolo omonimo.

Alcune cose sono dei classici ma sempre meglio ribadirle viste che arrivo direttamente dal PM di ADO.

Close o Dispose della connesisoni? è la stessa cosa... se il pool è attivo la cnnesione viene rimesa in gioco nel pool, se il pool è disabilitato la connesione viene chiusa. SQL concatendo stringhe? praticamente da bandire e meglio usare i Parameters.

Poi un paio di cose interessanti.

Come passare i dati da DataReader a Dataset usando il dataadapter? il dataadapter non ha nessun metodo pubblico per fare l`operazione detta... tuttavia esiste un overload protetto della fill, come usarlo?  Creando una classe di supporto che eredita dal dal DataAdapter!

Quale è il miglior metodo per accedere a un BLOB? ExecuteReader(CommandBehavior.SequantialAccess) + GetBytes(). Inoltre esistono della primitive per letture chuncked e update parziali dei blob, ma la cosa non è stata approfondita :(

Quale è il metodo migliore per fare il dump di un DataSet? ds.WriteXml(Console.Out)

Per finire le novita nella versione 1.1: OracleCliente e Odbc integrate senza bisogno di insallazione a parte e novità nella partial trust application.

Questo è tutto... ora me al giro un po per il salone e alle 15:00 la seconda parte della sessione sull`implemantazione dei Serverl Control in ASP.Net!

a dopo, buon lavoro a tutti!

Pablo Castro PM di ADO.NET

Sono da poko uscitro dalla sessione su Tips e Tricks di ADO.Net e nuove Features si ADO.Net 1.1, nulla che mi ha partikolarmente stupito ma ho seguito la sessione kon interesse senza annoiarmi e segnandomi qui e la un po di tips... alkuni noti altri un po meno... lui lo speaker avevao l`aria di avere non troppi anni pìù di me... non più di 30 a mio parare... ma PM di ADO.NET non è certo paglia, complimenti! :D oltre a vedere che sapeva il fatto suoo la kosa ke più mi ha fatto piacere è stato vedere ke era molto interessato a fare pubblicità alle comunity e ai newsgroup... lui frequenta e segue i Newgroup perchè lo aiutano a capire cosa si può fare per gli svilippatori perchè ha modo di vedere di cosa la gente ha bisogno! ...ora pappa, a dopo per un sunto dei tips & tricks! :D

CodeDOM wow!

Tutto contento di aver scoperto il CodeDOM  avere scritto il Tip su come creare script al volo (metto il link così mi faccio un po di pubblicità http://www.ugidotnet.org/tips/tips_read.aspx?ID=99) sono andato a vedere la sessione in cui si parlava proprio dell`argomento!

beh che dire fantastiko... un modo inkerdibile, la possibilità di compilare codice da file on-the-fly è solo una delle tante kose ke si possono fare :D Tornando al tip ho visto che in caso di errori compilazione invece di ciclare CompilerResults:Errors è più interessante controllare CompilerResults:Output.

Comunque quello che mi ha entususiasmato maggiormente non è stata la compilazione, cioè passare da codice a compilato... ma costruirsi il proprio grafico logico di codice e stampare il codice associato, davvero interesanti le classi ICodeGenerator! Per far capire meglio la cosa: un conto avere il proprio file XML e caricare un XmlDocument e un conto creare un XmlDocument aggiungerci nodi a attributi e generare il file XML... Nel caso di CodeDOM non c`è XML ma Codice c# o VB.Net... fantastiko! :D

vi state kiedendo kome usarlo? beh vi siete mai kiesti ad esempio kome viene creata la classe proxy per kolloquiare kon un servizio web :D

Una sesione davvro interessante e _educativa_, uno speaker dall`aria simpatica che non ha fatto per nulla annoiare... il codice che veniva scritto era tutt`altro che facilmente leggibile e intuitivo tanto ke lo speaker era felice e stupito di scrivere kodice senza errori di compilazione :D ...System.CodeDOM è una libreria forse non di uso quatidiano ma che permette di fare cose davvero interessanti! :D

Costruire Server Control in ASP.NET

Una buona panoramica/introduzione sulla costruzione dei Server Control in ASP.NET... interessantissima la tecnica di rendering e l`uso dei metodi WriteBeginTag, WriteAttribute, WriteEndTag della classe HtmlTextWriter per sfruttare la feature della pagine aspx di generare HTML in base al target impostato. In genarale ho assistito ad una buona introduzione di come costruire controlli in ASP.NET: le interfaccie da usare, gli attributi con cui decorare le proprieà per meglio descriverle e aiutare lo sviluppo... tante cose da dire e forse il tempo davvero tiranno... soddisfatto della prima parte nel pomeriggio ho deciso di seguire anche la seconda parte!

Ora scappo che sta per inziare una sessione su ADO... in pausa pranzo vedrò di biloggare anche sulla sessione su CodeDOM a cui ho appena assistito: davvero davvero interessante e illuminante! :D
«luglio»
domlunmarmergiovensab
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789