.NET

Serie di webcasts su ASP.NET MVC 3

  Su Channel9 é stata da poco pubblicata una serie di 4 webcasts su ASP.NET MVC 3, realizzata da me e da Ugo. I webcasts partono da un’overview delle principali novitá di ASP.NET MVC 3, per poi passare a vedere nel dettaglio Razor, l’integrazione con SQL CE 4 e EF CodeFirst e come funziona IoC/DI all’interno di ASP.NET MVC 3. Spero che li troviate utili e vi aiutino a capire verso dove sta andando lo sviluppo web in casa Microsoft. Per i piú intraprendenti, é anche giá disponibile una early preview della versione...

Offerta per l’iscrizione ad Agile.NET 2011 Europe, 10-11 Ottobre

Il 10 e 11 Ottobre, tra poco meno di 3 settimane, si terrá a Gent, in Belgio, (Gand in Italiano) l’edizione 2011 di Agile.NET Europe, conferenza di due giorni su Agile Principles e Software Craftsmanship con speaker internazionali. L’agenda, organizzata su 3 track, avrá sia sessioni frontali che workshops che coding dojo e include sessioni anche su noSQL, Node.js, UX, Windows 8 Metro, NuGet e molto kanban, XP, lean, ecc… Per tutti i membri di UgiALT.net (e non solo) c’é uno sconto di 50€ sulla quota di iscrizione, inserendo all’atto del pagamento il codice di sconto simonech. Quindi...

Pubblicata l'agenda per l'NHibernate Day

Dopo la votazione lanciata il mese scorso, ecco l'agenda della seconda track dell'NHDay, in versione speriamo definitiva: From relational data to ObjectSpaces – Andrea Saltarello Loosely Coupled Complexity - Unleash the power of your domain model, using Event Sourcing and CQRS - Alberto Brandolini Real World Application Development with NHibernate, FluentNHibernate and Castle Windsor - Chris Canal Model-first development with FluentNHibernate - Rob Ashton Intercepting NHibernate – The DotDotNet crew L'agenda completa, insieme a tutte le altre informazioni sull'evento, sono visionabili sul sito ufficiale dell'NHDay. Se ancora non lo avete fatto, non...

What's new in ASP.NET MVC 2 é ora disponibile

E' appena stata pubblicata la mia ultima realizzazione "letteraria": What's New in ASP.NET MVC 2. E' un Wrox Blox (solo versione digitale, nessun albero é stato maltrattato per produrre questo libro) di 35 pagine e copre tutte le principali funzionalità introdotte con ASP.NET MVC 2. Non compre invece i concetti base di ASP.NET MVC e le funzionalità che già erano presenti nella versione 1 del framework: per queste ci sono già miriadi di libri disponibili, compreso il mio Beginning ASP.NET MVC 1.0. L'eBook è disponibile per l'acquisto sul sito Wrox al prezzo di US $6,99, ed in futuro potrebbe essere disponsilbe anche in...

Microsoft® .NET: Architecting Applications for the Enterprise

Mi è appena arrivata a casa la copia del libro scritto da Andrea Saltarello e Dino Esposito: Microsoft® .NET: Architecting Applications for the Enterprise. Ora dovrò aspettare che Andrea torni dalle ferie per farmelo autografare. Technorati Tags: Libro,Saltarello,Esposito

Online le slide dell’evento DotNetMarche su ASP.NET MVC e Unit Testing

Chi non è potuto venire al workshop di settimana scorsa, o chi è venuto e vuole rivedere i LOLCats, sono state rese disponibili le slide e il codice degli Hands-on Labs: 6° - Testing & Asp.NET MVC. Technorati Tags: aspnetmvc,dotnetmarche,workshop,presentazione

Come simulare i RowTest di mbUnit con MS Test

Sul mio blog in Inglese ho scritto un post su come, usando MS Test, cioè il framework di testing incluso in VS2005 e VS2008, si possa raggiungere un risultato simile ai RowTest di mbUnit usando i Data-Driven unit tests. How to simulate RowTest with MS Test HTH Technorati Tag: MS Test,Unit Test,RowTest,Data-Driven Test,TFS

Quando lo scopo è far scalpore....

Cito un'articolo di Punto Informatico di questa mattina: .NET: codice si`, ma non per tutti Microsoft ha rilasciato il codice di alcune librerie chiave di MS.NET Framework, pubblicando i sorgenti sotto una licenza a sola lettura. Ma per certi sviluppatori, come quelli di Mono, l'accesso al codice rimane interdetto. Poi nel corpo dell'articolo si spiega il perchè, e che anche Miguel de Icaza "approva" questa modalità. La cosa che mi lascia sempre più perplesso sono i commenti degli utenti che a mio avviso commentano solo leggende l'abstract della notizia.

Mono Day: impressioni

Stamattina mi sono fatto una 10ina di minuti in Vespa, e alle nove sono entrato in Novell per assistere al "Mono Day". Come già avevo intuito leggendo l'agenda, l'evento non è stato tecnicissimo... anzi, non lo è stato per nulla : veloce presentazione di Suse Linux e del perchè Novell ha deciso di sponsorizzare Mono, la presentazione di qualche partner tecnologico di Novell e di IBM Z series (a mio avviso l'unica attinenza con Mono è che siccome permette di far girare Linux, permette anche di far andare Mono). Infine, ultimo intervento, quello di Massimiliano Mantione, che ha raccontato un...

ALT.NET o no?

La mia risposta, in parte anche al post di Lorenzo, è si, ma... Il dettaglio su : Yet another ALT.net opinion

Learning Ruby

No, non ho ancora iniziato a studiarlo, anche se per qualche settimana avrò un po' di tempo libero, penso che la dedicherò a Subtext... e poi mi manca la spinta principale ad iniziarne lo studio . Ma nel frattempo su <edit> il mio omonimo Simone Carletti ha iniziato il suo "Ruby Diary", dove racconterà le sue avventure di programmatore alle prese con lo studio di Ruby e poi di Rails, il framework per fare webapp. Il primo post del diario è: Ruby Diary #01: dove cominciare a studiare Ruby Lo inizierò a guardare, non tanto per fare applicazione applicazioni...

Certificazioni Microsoft: ma che difficile capirci qualcosa!!!

No, non voglio continuare il dibattito di qualche mese fa sull'utilità delle certificazioni , ma solo linkare il post che ho fatto oggi sul mio blog CodeClimber: So, you want to become a Microsoft Certified Professional Developer? Nell'azienda dove lavoro mi è stato richiesto di organizzare il training degli sviluppatori (me compreso) e quello è che sono riuscito a sintetizzare dalla lettura delle molte pagine sul sito MS Learning.

Breaking Change nel funzionamento delle Encoding.GetByte in .NET 2.0

Uno dei più grossi problemi che ho incontrato nella conversione dell'applicativo che abbiamo in Calcium dalla versione 1.1 di .NET alla 2.0 è stato con l'invio e ricezione di testo criptato serializzato usando UnicodeEncoding. C'è stato un cambio di funzionamento, o, meglio, un adeguamento alle specifiche Unicode, nella versione 2.0 del framework: ora i metodi GetByte (e GetString di conseguenza) non funzionano se la sequenza di byte non rappresenta un carattere ma è solo una serie di byte "messi in fila a caso". Ho scritto un post più dettagliato a riguardo sul mio blog in inglese: Your encryption algorithm may...

Sviluppo su VS2005 e Vista a Wellington

Eccomi a scrivere dal "futuro" :) La prima settimana di lavoro a Wellington è passata: dove lavoro sembra di stare in una barzellatta: "ci sono un programmatore italiano, uno argentino, uno olandese e uno nuovo zelandese..." :) Mi sto occupando della migrazione dell'applicazione dal FW 1.1 al 2.0, ed in contemporanea sto iniziando a sviluppare su Vista: ho accumulato un buon numero di possibili post interessati che mageri scriverò nei prossimi giorni. Ad esempio, sapevate che il "DHTML Editing control" è stato rimosso da Vista? O che bisogna fare un po' di salti mortali per debuggare da VS2005 delle web application...

Siete degli "Evangelist"?

Evangelism is simply sharing your excitement and enthusiasm with other people in an effective way. If that makes you more entertaining and a better communicator, well, those are side effects you can probably live with. Jeff "Coding Horror" Atwood ha appena posto questa domanda sul suo blog. Io penso che la maggior parte dei chi scrive blog sia in qualche modo un "evangelist", altrimente non starebbe svegli0 fino alle 2 di notte solo per condividere il proprio sapere con il mondo. E si, io mi sento un Evangelist... il mio nick di MSN è anche ".NET Evangelist" :-)

Vulnerabilità XSS in .NET 2.0

E' stata appena rilasciata una patch per bloccare una vulnerabilità di XSS su ASP.NET 2.0: questa vulnerabilità interessa le pagine con AutoPostBack impostato a true. Qui trovate il security bulletin, e qui potete scaricare la patch di sicurezza relativa

VS2003 SP1

E' appena stato rilasciato il primo service pack per Visual Studio 2003. E' possibile scaricarlo sul sito Microsoft download center, sia in inglese che in italiano. Per maggiori info sulle fix rilasciate: List of bugs that are fixed in Visual Studio NET 2003 Service Pack 1   PS: Eccomi di ritorno al lavoro... e sto postando con il nuovo Windows Live Writer

HanselMinutes #26

"Any integration problem is solved adding another layer of abstraction" "Software programs don't guess: they infer" HanselMinutes sta diventando il mio podcast preferito: correttamente scadenzato, prodotto accuratamente, parla sempre di problemi reali. Nell'ultimo episodio, il n°26, Scott Hanselman parla di un argomento interessante: Globalization/Localization with .NET 44minuti di ottimo contenuto tecnico, inframezzati come sempre dalle battute di Carl Franklin che cerca di moderare il flusso di nozioni sparate da Scott. powered by IMHO 1.3

MSDN Maggio 2006 disponibile per il download

E' disponibile "gratuitamente" per il download dal sito Microsoft l'edizione di Maggio dell'MSDN... anche per i non sottoscrittori di MSDN: MSDN Library provides access to essential programming information, including technical white papers, software development kits and code samples necessary to develop web services and applications. This is an updated version of the MSDN Library for Visual Studio® 2005. Updated content sets in the May 2006 Edition include: Visual Studio 2005 Team Foundation Server SQL Server 2005 Microsoft...

Valutare gli speaker online

Per il San Diego Rock And Roll CodeCamp, è stato lanciato un sito che sembra facilitare la gestione delle schede di feedback sugli interventi dei relatori: CodeCampEvals.com Gli intervenuti posso collegarsi al sito, e dare la loro valutazione (e un commento) per ogni session. Questo permette agli organizzatori di non sbattersi ricopiando a mano le valutazione scritte sui soliti foglietti di carta, e agli speaker di sapere le valutazioni degli ascoltatori immediatamente, senza dover andare dagli organizzatori per sapere le medie delle valutazioni. Il sito è stato sviluppato da David Silverlight, l'HeadGeek (come ama definirsi) di CommunityCredits e altri siti .NET community. Anche altri sviluppatori...

Sviluppo di Robot con tool Microsoft

Sono sempre stato affascinato alla robotica e dallo sviluppo di prodotti che combinassero una parte HW e una SW, ma, a parte qualcosa al Politecnico durante l'università, non ho mai fatto nulla di similare. Ora vedo che Microsoft ha rilasciato (questo l'annuncio ufficiale) un prodotto che si chiama Microsoft Robotic Studio: un tool per permettere lo sviluppo di applicazione "robotiche" o anche applicazioni che fanno uso, pur non essendo "robotiche", di operazioni parallele poco accoppiate (non riesco a tradurre meglio di così "loosely-coupled" ). Su Channel9 c'è un video di quasi un'ora con un'intervista e alcune demo fatte dai membri del "Robotic Team" di...

Forum su Community Credits

Oggi è stata lanciata una nuova sezione del sito Community Credits: il forum. Da ora è quindi possibile andare sul sito di Community Credits, oltre che per inserire i propri post, anche per discutere di programmazione, e di "geeky things". C'è anche una sezione sull'integrazione con SubText, nella quale è già inserito un breve descrizione di come configurare SubText per inviare i propri post in maniera automatica. Unico appunto: il forum non è integrato con Community Credits... per lo meno per ora powered by IMHO 1.3

MSDN Wiki

Anche Microsoft entra nel mondo dei Wiki: Announcing MSDN Wiki! Da ieri è disponibile online il wiki MSDN: The MSDN Wiki site experiments with ways we can integrate community contributions into the Visual Studio 2005 and .NET Framework 2.0 documentation.  This is phase one.  On the current site you can add content and edit other people’s contributions in a wiki-like fashion around the official Microsoft-authored docs.  In the future we want to take this further by allowing people to edit the Microsoft-authored docs directly.  Let us know what you want to see! Molto, molto molto interessante... http://msdnwiki.microsoft.com/...

IIS sale, Apache scende

E' stata appena rilasciata la consueta statistica mensile di NetCraft: l'ultimo mese ha visto un'impennata di siti hostati su IIS e una diminuzione dei siti che girano su Apache. Apache passa da 64.76 a 61.25 con un -3.51%Microsoft invece sale da 25.46 a 29.71 con un incremento del 4.25% Il tutto solo nel mese di Giugno. Fonte: June 2006 Web Server Survey powered by IMHO 1.3

Top Podcasts

Dieci giorni dopo la sua nascita, share.opml.org aggiunge una nuova interessantissima funzionalità (per chi non sapesse di cosa sto parlando, guardate il mio post "Condividete i vostri OPML"): Top Podcasts Se il vostro elenco di feed include anche dei feed con delle enclosures audio, il sistema lo riconosce come podcast e lo inserisce in questa classifica. Un'unico dubbio sull'attendibilità di questa classifica: io gestisco i podcasts con ITunes, e questo non esporta l'elenco in opml. Inoltre per ora si può caricare un'unico file per utente, quindi per ora l'unica soluzione è includere manualmente i feed di podcasts nel proprio opml. Cmq, un'interessante feature. Inoltre, volevo segnalare un post...

Come limitare un designer troppo invadente? Usando l'attributo DesignerSerializationVisibility

Quando si inserisce un controllo custom in un form, il designer di visual studio cerca di inizializzare tutte le sue proprietà.
Ma non è detto che tutte le proprietà debbano essere impostate in design time, ad esempio oggetti di domain model che vengono gestiti solo a run-time.
Come si può fare per evitare che VS inizializzi anche quelli? Decorando la proprietà con l'attributo DesignerSerializationVisibility.
Per maggiori dettagli leggete il seguito del post.

ASP.NET 1.1 e ASP.NET 2.0 sullo stesso server

Tutti sappiamo che il due framework sono stati pensati per girare side-by-side: e questo avviene tranquillamente su applicativi winform... ma come farlo su un server web? Dal pannello di IIS6, una volta installato il Framework 2.0 è possibile decidere con quale runtime far girare una web application... ma non basta. IIS6 gestisce le applicationi web all'interno di application pool, ognuno dei quali col suo working process: tutte le applicazioni all'interno dello stesso working process condividono risorse, e ovviamente anche le librerie caricate in memoria. Cosa succede se mettete nello stesso application pool due web application fatte per due versioni differenti di Framework: la...

UG locali vs UGItaliano

Ieri sera stavo pensando alla questione UG locali vs UG nazionale... Avevo iniziato a scrivere qui, ma poi per non intasare il blog con questo lungo argomento, più adatto ad un forum... ho scritto nel forum FreeTime (o Caffeteria se usate la verione NNTP). Mi piacerebbe sapere le vostre opinioni in merito. UGI troppo "grande"? che ne pensate degli UG locali? parlatene sul forum powered by IMHO 1.3

WebEncoder: problematiche affrontate

Nelle scorse settimane ho lavorato alacremente per portare a compimento il mio primo programma winform based serio, basato sul Framework.NET versione 2.0. Giusto per far capire di cosa si tratta: WebEncoder permette di encodare in formato WMV file video, caricare dei metadati, e uploadare il tutto su di un server web all'interno del nostro (di Esperia) CMS specialistico per la gestione di Web-TV. Il tutto rendendo trasparente all'utente l'esistenza delle impostazioni di encoding, l'esistenza di più formati per lo stesso contenuto, la creazione della thumbnail. Quali sono state le problematiche incontrate nello sviluppo di questo applicativo? ...

Formati delle connection string

Quanti di voi impazziscono tutte le volte che non posso fare cut&paste da un progetto vecchio per specificare la connection string da usare? Oppure dovete connettervi ad un DB Server al quale non vi siete mai collegati? Questo sito è la risposta a tutte le vostre domande: http://www.connectionstrings.com/ powered by IMHO 1.3

Dove sta la nuova classe ConfigurationManager?

Sto facendo il porting di una class library dal Fx 1.1 alla 2.0. Nelle chiamate per leggere la configurazione da file .config prima si usava fare ConfigurationSetting.AppSettings ora invece questa chiamata genera un warning: System.Configuration.ConfigurationSettings.AppSettings' is obsolete:'This method is obsolete, it has been replaced bySystem.Configuration!System.Configuration.ConfigurationManager.AppSettings'     Ma sostituendo semplicemente ConfigurationSettings con ConfigurationManager non si compila... la classe ConfigurationManager non viene trovata, perchè? Dopo un'oretta di ricerca ho capito il motivo... e pensare che avevo anche la spiegazione sotto gli occhi! La dicutura con ! serve per indicare la signature completa del metodo nel formato Assembly!Namespace, quindi significa che la nuova classe ConfigurationManager si trova nell'assembly System.Configuration.dll Quindi, ora, facendo il porting dalla 1.1 è necessario creare...

UrlRewriting con ASP.NET 1.1

Sfortunatamente non so ancora sviluppando software reale sul nuovo framework, quindi eccomi a postare ancora qualcosa sul FW 1.1 UrlRewriting, tecnica essenziale per rendere più facilmente digeribili gli url del proprio sito ai motori di ricerca che, per qualche motivo, preferiscono www.mysite.com/2005/12/12/3456/index.aspx al più comune www.mysite.com/index.aspx?y=2005&m=12&d=12&transId=3456 Con ASP.NET ci sono sostanzialmente 4 metodi per farlo: Filtro ISAPI HTTP Handler HTTP Module metodo Begin_Request del Global.asax Non faccio ora una trattazione di quele sia il metodo migliore in base alla esigenze, ne sulle differenza tra handler e module. Per un'articolo più dettagliato ed esaustivo vi rimando all'articolo di...

Membership/Role Provider: tool di gestione personalizzato

Ho appena trovato sul blog di Scott Guthrie un puntatore ad due ottimi articoli di tal Peter Kellner su come sviluppare una serie di pagine di gestione che utilizzano il componente di Membership/Role provider nativo di ASP.NET 2.0. L'esempio usa ObjectDataSource per bindare le classi del default provider alle datagrid usate per la gestione: il problema principale è che non si può usare direttamente la classe Membership così come fornita dal Framework, quindi ha realizzato un wrapper che esponesse i metodi necessari per la creazione, l'aggiornamento e la selezione degli utenti presenti. In particolare ho visto una caratteristica mai vista e che dovrò approfondire,...

Corso Nhibernate

Eccomi ripreso dal corso di ieri su Enterprise Library e NHibernate... dalla serata di degustazione vini alla quale sono andato dopo il corso. Mattinata con Lorenzo: EntLib... Lorenzo, come al solito molto preciso e dettagliato, e capace di far sembrare un gioco da ragazzi anche le cose più complesse, ha fatto un'overview su tutti i componenti dell'EntLib, e infine ha parlato dell'updater application block.Cosa mi è rimasto dalla mattinata? Non usare il logging della EntLib (o meglio, usarlo consapevolmente se serve tutta la parte di instrumentation, perf counter, etc...) DAAB: occhio che, siccome fa tante cose come...

MenuStrip, ToolStrip, and StatusStrip

Ma per caso, queste tre classi (per chi non lo sapesse sono i nuovi controlli per fare dei menu, delle toolbar e delle status bar con winform 2.0) derivano da una classe "StripBar" ? powered by IMHO 1.3

READY LAUNCH GO!!!

Eccomi di ritorno dall'evento di lancio di VS2005, SQLServer 2005 (e BizTalk 2006) Come diceva Igor (anche se solo come portavoce del fratello), è stato un evento grandioso, con video ad effetto, luci tipo discoteca, quasi 3000 persone... Mi sono perso lo stand UGIdotNET (ma dov'eravate??) ma ho visto Michele e Rossella... ehm Eleonora Rossetti (si è svegliata alle 5 di mattina per venire all'evento), Lorenzo, e, alla fine Andrea (che come al solito era intento a parlare con una dolce donzella ). Io ho seguito la session per gli sviluppatori: dopo una intro su Team System, è stata la volta del solito, mitico,...

MS MediaCenter: un po' di link

Ho iniziato lo sviluppo di una HTML Hosted application per MCE, questi un po' di link di riferimento per chi volesse (o dovesse) affrontare la stessa necessità Sito pubblico di riferimentohttp://msdn.microsoft.com/mce Software Development Kit (SDK) http://msdn.microsoft.com/library/en-us/medctrsdk/htm/windowsxpmediacentereditionsdk.asp Community http://www.thegreenbutton.com Blog Michael Creasy http://blogs.msdn.com/mcreasy/ Charlie Owen http://blogs.msdn.com/charlieo/ Ethan Zoller http://blogs.msdn.com/ethanz/ powered by IMHO 1.3

Carl Franklin on C# o VB.NET

Oggi in palestra stavo ascoltando l'ultima puntata di polymorphicpodcast.Argomento della giornata: intervista a Carl Franklin (host di Dotnet Rocks!) che parla dello sviluppo Object Oriented, e da la sua opinione sulle differenza tra programmatore VB.NET e programmatori C#. Alcuni pensieri generali sono che la differenza viene principalmente dal loro background:chi programma in VB.NET viene da VB, quindi è abituato a pensare per eventi, procedure, non oggetti, metodi, ereditarietà, ecc..i programmatori C# invece vengono da C++, Java, e sono già abiutati a pensare OO Inoltre un programmatore VB pensa a VB come una "religione", mentre un programmatore C# usa C# come uno strumento,...

Ma dov'è l'XML di Ajax?

Ajax sta per Async Javascript And Xml, ma se avete provato a guardare con uno sniffer le risposte che che Ajax.NET e Atlas mandano al client, noterete che non è XML, ma una serie di valori del tipo: [{FirstName:"Michael",Age:28},{FirstName:"Marc Julian",Age:3}] E questo è il formato chiamato JSON, ossia JavaScript Object Notation... Il vantaggio di questa notazione, che per processarla basta fare un bell'Eval della stringa restituita dal server per ottenere la nostra gerarchia di oggetti sul client... avete presente che sbattimento sarebbe processare una gerarchia di oggetti scrivendo chilometri di codice JS per valutare col DOM un documento XML generico? Questo JSON non sarà cool...

Atlas, atlas, atlas..

Ajax, sembra sia l'unica nuova tecnologia in giro di questi tempi: col nome Atlas sarà incluso in ASP.NET 2.0. Sul blog di David Hayden, ho scovato un riassunto di quello che ci sarà in Atlas MS. Inoltre un paio di link interessanti a: Inoltre la documentazione di MS su Atlas Slide (e demo) dalla presentazione tenuta da Nikhil Kothari alla PDC, sul suo blog  Atlas quick start tutorial Interessanti le slide, che spiegano come Atlas sia stato integrato con l'architettura di ASP.NET e non sia una "YAAL" (Yet Another Ajax Library) powered by IMHO 1.2

Singleton

Ultimamente sto mettendo il Pattern Singleton un po' ovunque... e spiegando ad un mio collega cos'è il Singleton gli ho girato il link della DO Factory con in Pattern della GOF spiegati in C#. E ho notato che l'esempio di codice proposto è con la lazy initialization: // "Singleton"class Singleton{  // Fields  private static Singleton instance;  // Constructor  protected Singleton() {}  // Methods  public static Singleton Instance()  {    // Uses "Lazy initialization"    if( instance == null )      instance = new Singleton();    return instance;  }} Nelle mie molte implementazioni invece ho sempre usato la forma senza lazy initialization: class Singleton{  // Fields  private static Singleton instance = new Singleton();  // Constructor  private Singleton() {}  // Properties  public static Singleton Instance  {    get {        return instance;    }  }}  cioè, con l'istanza caricata nella parte "statica" della classe. Mi chiedevo quale fosse il metodo migliore, e dopo un post sul forum di ugi, sono arrivato alla conclusione che il metodo migliore, a meno di problematiche realtive alle cose fatte nel costruttore (tipo accesso...

Stringhe di formattazione in .NET

La documentazione a riguardo su MSDN è malissimo strutturata, sparsa su n-mila pagine, e serve un bel lavoro di "sintesi" e "intersecazione" per capire come scrivere la stringa di formato. Girando un po' su Google ho trovato questa specie di quick reference... Come dicono nei commenti.. "it saved my day" , spero salvi anche il vostro   powered by IMHO 1.2

Context switching: C# -> Java -> C#

Oggi mi sono messo ad aggiornare la libreria di integrazione per JSP/Servlet/Java per FCKeditor... dopo oltre 2 mesi che non toccavo Java è stato un bagno di sangue... senza IntelliSense, con l'abitudine al naming .NET e C#, ho passato più tempo a cercare sui JavaDoc i nomi dei metodi che a sviluppare la parte di codice aggiuntiva Ma perchè Java e .NET hanno regole di naming diverse? Perchè per mettere un'elemento in un Hashtable devo fare .put() in Java e .Add() in C#?? Se volessi essere produttivo con Java dovrei decidermi ad installare un IDE sensato per Java (tipo Eclipse) invece...

Workshop Components Development

Eccomi tornato dal workshop, come al solito interessante, anche se con alcuni appunti da fare ad uno speaker in particolare... ma ne parlo dopo. Ora non c'è nessun post sul workshop... è il primo a blog sul workshop? Ho vinto qualcosa? dai... almeno una maglietta di quelle di fabio.. o una borsa... Premessa: io sviluppo ASP.NET da sempre, e poco, pochissimo, quasi nulla WinForms.UPDATE (me lo ha fatto notare Igor): preciso, ASP.NET da sempre nel mondo .NET, ma prima ho fatto per 5 anni applicazioni ASP Classic e COM con VB6... ma cmq, mai applicativi WinForm Windows Components: entrambe le due sessioni, la prima...

Bruco colorato=Visual Studio 2005?

Che il team di Marketing di MS stia seguendo il mio consiglio, e sia cercando una mascotte per VisualStudio? Ieri ci è arrivato in azienda la TechNet, e al suo interno c'era una cartolina "cangiante" (si dice cosi? boh.. ) con raffigurato il bruco con i pelucchi colorati...E unito alla sfondo per il PocketPc (scaricabile qui) ciò mi fa presupporre che tra poco avremo anche un bel peluche col bruco ... o almeno lo spero... powered by IMHO 1.2

Validazione di XML con XSD

Ma è possibile che non esiste un programma per validare un file XML passandogli un XSD? Cercando su internet ho trovato degli IDE per gestire XML, per scrivere XSD, per XSLT, per testare le trasformate, per tutto, e fanno anche la validazione, ma sono programmi da 20Mb, da installare, da comprare, e che fanno anche il caffè in formato XML... ma non uno stupido programma che prende solo un file XML e lo valida contro un XSD. Allora me lo sono fatto io... con .NET è veramente facile... 1  using System;2  using System.Text;3  using System.Xml;4  using System.Xml.Schema;5  6  namespace Com.Piyosailing.Xml.Validator7  {8      public class XmlValidator9      {10          // salvo lo stato della validazione11          private bool _isValid = true;12          private StringBuilder _stringBuilder = new StringBuilder();13  14          //Propretà per fornire al chiamante il risultato della validazione15          public string ValidationErrors 16          {17              get 18              {19                  return _stringBuilder.ToString();20              }21          }22  23          // Metodo che valida24          public bool Validate(string xmlPath, string xsdPath,string targetNameSpace) 25          {26              XmlTextReader reader = null;27              XmlValidatingReader vReader = null;28              XmlSchemaCollection myschema = new XmlSchemaCollection();29              try30              {31                  //Creo XML reader32                  reader = new XmlTextReader(xmlPath);33                  //Incapsulo XML reader dentro Validiting reader34                  vReader = new XmlValidatingReader(reader);35                  vReader.ValidationEventHandler36                          +=new ValidationEventHandler(vReader_ValidationEventHandler);37  38                  myschema.Add(targetNameSpace, xsdPath);39  40                  vReader.ValidationType = ValidationType.Schema;41                  vReader.Schemas.Add(myschema);42  43                  //Leggo il file44                  //Se ci fossero errori viene chiamato l'handler45                  while (vReader.Read()) {}46              }47              catch48              {49                  _isValid=false;50              }51              finally52              {53                  if(reader.ReadState!=ReadState.Closed)54                      reader.Close();55                  if(vReader.ReadState!=ReadState.Closed)56                      vReader.Close();57              }58  59              return _isValid;60          }61  62          //Event Handler per cattuare tutti gli errori di validazione63          private void vReader_ValidationEventHandler(object sender, ValidationEventArgs e)64          {65              _isValid = false;66              _stringBuilder.AppendFormat("\r\nValidation Error: {0}", e.Message);67          }68      }69  } Questa è solo la libreria che valida, l'ho estrapolata dal programmino da linea di comando...

Come testare DTO gerarchici

Nel progetto appena iniziato sto provando ad adottare varie metodologie scoperte da quando sto seguendo UGIdotNET e, soprattutto dal Workshop "Architecture and Management". Ieri, primo giorno di scrittura codice, mi sono trovato a scrivere i Data Transfer Object, che, per come è strutturato l'ambito applicativo, sono gerarchici, cioè tutti gli oggetti ereditano da un "mainobject". Ma come scrivere dei test per gli assegnamenti, evitando di replicare per ogni oggetto tutti gli assegnamenti delle proprietà comuni? Io ho trovato questa soluzione // Classe DTO Padrepublic abstract class MCObject {        private string _uuid = string.Empty;        private DateTime _data = DateTime.Now;        private DateTime _dataMod = DateTime.Now;        public string Uuid        {            get            {                return _uuid;            }            set            {                _uuid = value;            }        }        public System.DateTime Data        {            get            {                return _data;            }            set            {                _data = value;            }        }}// Classe DTO figliopublic class MCOTappo: MCObject{    private string _url = string.Empty;        public string Url        {        get        {            return _url;        }        set        {            _url = value;        }    }}// Test dell'oggetto padre con i Test per le// proprietà generiche// NOTA: non è marcato [TestFixture]public class MCObjectFixture    {    public MCObjectFixture() {}    private MCObject mco;    public MCObject MCO     {        set         {            mco=value;        }    }    [Test]    public void UuidAssignment()    {        string id = "68d6d186-c6ee-11d9-98ef-0003ba99c667";        mco.Uuid=id;        Assert.AreEqual(id, mco.Uuid);    }    [Test]    public void DataAssignment()    {        DateTime value = DateTime.Now;        mco.Data=value;        Assert.AreEqual(value, mco.Data);    }    }// Test dell'oggetto figlio// è marcata come [TestFixture]// e testa solo la proprietà specifica[TestFixture]public class MCOTappoFixture: MCObjectFixture{    private MCOTappo tappo;    // Nel setup creo l'oggetto da testare    // e lo passo anche al test padre    [SetUp]    public void SetUp()    {        tappo = new MCOTappo();        base.MCO=tappo;    }    [TearDown]    public void TearDown()    {        tappo = null;    }        [Test]    public void UrlAssignment()    {        string value = "http://www.ugidotnet.org";        tappo.Url=value;        Assert.AreEqual(value, tappo.Url);    }} powered by IMHO 1.2

Finalmente un progetto!!! - Plugin pattern

Dopo 3 mesi di analisi e "tappabuchi" inizia finalmente un progetto... anche abbastanza complesso...Mi ero stufato di scrivere analisi e allegati tecnici alle proposte commerciali. E' un bel progetto (del quale, ovviamente, avevo fatto anche l'analisi nei mesi scorsi ) che include la realizzazione di un servizio windows, che legge dei file xml di vario tipo (questo spiega il perchè del "Plugin Pattern" del titolo), li elabora e li mette in un DB.Poi c'è un sito web che visualizza in maniera "graficamente accattivante" i contenuti recuperati. Negli ultimi mesi ho fatto un po' di prove con Enterprise Library di MS, e...

DVD Beta Experience

Grazie MS per la celere consegna del Visual Studio 2005 Beta 2 Experience Kit su DVD. Però un controllo sugli indirizzi tripli lo potevate anche fare  (Mi si è impallata x 2 volte il form di richiesta del DVD, e quindi mi sono arrivati 3 DVD... per fortuna che ho altri 2 colleghi sviluppatori ai quali dare i 2 DVD in più) powered by IMHO 1.2

Offerta di lavoro per programmatore junior

Offerta di lavoro: se interessate cliccate sul link

Come ridimensionare (e croppare) un'immagine con .NET

Oggi mi sono imbattuto in problema "strano" per chi è abitutato a lavorare come me su applicazioni di puro data retrivial via web: il ridimensionamento di un'immagine da codice. Prima di .NET mi ricordo che c'era da smattire con GDI, directX, puntatori... insomma, una cosa complessa. Con C# è invece tutto molto facile. Ecco il codice, commentato: // Carico l'oggetto Image dal file sorgente da ridimensionareSystem.Drawing.Image oImg = System.Drawing.Image.FromFile(sourceFileName); // Creo un'immagine bitmap delle dimensioni dell'immagine ridimensionataSystem.Drawing.Image oThumbNail = new Bitmap((int)finalW, (int)finalH, oImg.PixelFormat);// Creo una "drawing surface", ossia una lavagna sulla quale disegnare// che si appoggia sulla bitmap appena creataGraphics oGraphic =  Graphics.FromImage(oThumbNail);// Setto tutto alla massima qualità (tanto è un'operazione "batch", non realtime)oGraphic.CompositingQuality = CompositingQuality.HighQuality ;oGraphic.SmoothingMode = SmoothingMode.HighQuality ;oGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic ;// Definisco un'area rettangolare della dimensione finaleRectangle oRectangle = new Rectangle(0, 0, (int)finalW, (int)finalH);// Ridimensiono e croppo:// in pratica tutta l'operazione sta in questo metodo, che esiste in 30 versioni// questa prende una zona dell'immagine originale (da cropStartX-Y con dimensioni// cropW-cropH) e la disegna nel rettangolo appena definito dell'oggetto graphic.oGraphic.DrawImage(oImg, oRectangle,(float)cropStartX,(float)cropStartY,                        (float)cropW,(float)cropH,GraphicsUnit.Pixel);// Poi salvo il file in formato jpegoThumbNail.Save(outputFileName,ImageFormat.Jpeg); // "Butto" i due oggetti immagineoImg.Dispose(); oThumbNail.Dispose(); Tutto questo cercando su MSDN, dalla necessità alla "produzione" in mezza giornata. powered by IMHO 1.2

Telemetria Indy Racing realizzate in VB.NET

DotNetRocks ha un bel "talk show" su come è stata implementata la gestione delle statistiche e della telemetria per l'IRL (Indy Racing League) Audio: http://msdn.microsoft.com/dotnetrocks/en/20050419mmannion/dotnetrocks_0109_matt_mannion.asx Case Study: http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=15150 Video Business oriented: http://www.microsoft.com/resources/casestudies/ShowFile.asp?FileResourceID=3971 Video Tech Oriented: http://www.microsoft.com/resources/casestudies/ShowFile.asp?FileResourceID=3972 Case Study in formato word: http://www.microsoft.com/resources/casestudies/ShowFile.asp?FileResourceID=3866 La cosa sconvolgente è che è stato fatto, dall'analisi al deply in 5 settimane di 3 sviluppatori, ok, sono sempre 75gg uomo, e in realtà era solo il porting di un'applicativo fatto in flash+java... ma per la mole di dati e la "real-timeness" è sbalorditivo... magari il fatto di lavorare in un contesto applicativo più divertente dei soliti conti bancari, fornitori, ordini ecc... potrebbe...

[OT]: Application OpenSource per la gestione di Azienda Vinicola

Stavo pensando di iniziare lo sviluppo di un applicativo OpenSource per la gestione di Aziende Vinicole. Per maggiori info a riguardo e per commenti e feedback guardate il thread che ho aperto sul newsgroup powered by IMHO 1.2

Microsoft: Beta Software Good Enough for Production Use

Letto da CNET: Microsoft on Monday released test versions of its forthcoming development tools and database that, according to the company, are already suitable for running production business applications.Fonte: Microsoft to license test software for real-world use powered by IMHO 1.2

MediaPortal 0.1.1

E' uscito da pochi giorni (beh, 10 giorni fa ) l'ultima versione di MediaPortal, il programma di cui avevo già parlato, che "trasforma" un PC XP based in un MediaCenter o HTPC che dir si voglia. L'ultima versione rilasciata è la 0.1.1, e tra le tante cose ha aggiunto il supporto a numerose schede video (e sta arrivando anche il supporto per la mia vecchia Radeon All In Wonder) e la possibilità di masterizzare un CD di MP3 direttamente dal programma. Scaricate qui l'ultima versione. Consiglio vivamente a tutti di dare un'occhiata al codice dell'applicativo: usa pesantemente DirectX versione managed code e ha...

Workshop Security

Non sono stato contentissimo del workshop: a parte le 2 session di Fabio Santini, come al solito sempre "spumeggiante" e "divertente", e quella sulla sicurezza dei webservices, le altre sono state repliche di altre sessioni di altri eventi (quello di Melzo) o molto "informative". La giornata è iniziata male perchè ho scoperto che nella notte mi hanno rotto il portatarga della vespa, quindi sono dovuto venire in bus (la 73/)... Almeno ho guadagnato una "Quick assistance Card", anche se non so come usarla, visto che in 5 anni che sviluppo ho chiamato solo 3 volte, e tutte e 3 le volte il...

Architect Day 2005: MS wants me :-)

Questa mattina, una signorina MS mi ha chiamato dicendomi che mi avevano mandato una mail invitandomi all'Architect Day 2005 che avrà come punto focale la SOA, e siccome non avevo ancora risposto mi chiamava per invitarmi personalmente. E' da poco che frequento i convegni e similari, ma fanno sempre così con tutti? Beh, cmq, lusingato dalla chiamata personale ho deciso di iscrivermi, così cercherò di capire se i webservices sono veramente utili oppure sono solo un gadget per aiutare l'interoperabilità.Ci sarà qualcuno del bloggers? Lorenzo, Andrea, questa volta non vi do il pacco come alla cena Per chi non sapesse di cosa...

Utile newsletter

Volete stare sempre aggiornati sugli aggiornamenti e tutte le cose utili (tips, workarounds, bugs, ecc...) che Microsoft rilascia riguardo alle vostre tecnologie preferite? Se la risposta è si, allora correte a registrarvi a KBAlertz: questo ottimo servizio vi permette di configurare le tecnologie da monitorare (e ce ne sono oltre 350, tutte le categorie della KB di MS), e vi spedisce una mail ogni volta che viene aggiunto o modificato un'articolo alla KB relativamente ad una delle tecnologie configurate. Io sono iscritto ormai da quasi 6 mesi e quasi giornamente ricevo la newsletter: secondo me è molto utile. Oltre alla newsletter permette di fare ricerche...

Installazione di VS2005 su VPC, continued

Stamattina accendo il PC, avvio il virtual PC, e incredibilmente il setup di VS che avevo lasciato a metà ieri sera riprende correttamente, e alla fine ho un bel VS2005 installato sulla macchina.Per evitare brutte sorprese in futuro, ora sto compattando il disco virtuale in modo da metterlo da parte già configurato ... e anche per risparmiare una giornata di lavoro ai miei colleghi che volessero provare VS2005. UPDATE: Dopo la procedura ho ottenuto un disco virtuale di 6,7GB contro i 9,8GB di prima della procedura... non male come risparmio. powered by IMHO 1.1 with Emoticon Formatter

VS 2005 Beta: i primi passi

Mi sono finalmente deciso a provare VS 2005 Beta 1... Ho iniziato questa mattina, ed ora sono quasi arrivato alla fine: Installato Virtual PC 2004 (10 minuti) Installato XP Pro su una virtual (3 ore) Aggiornato XP con SP2 e tutti gli altri update del caso (2 ore) Installato VS 2005 dal CD MSDN 2004 (sta ancora a metà, ma è già 1 ora) Fortunatamente VPC continua a lavorare anche quando è in background, anche se è molto, molto più lento di quando è un foreground. Speriamo di finire prima di andare a casa, altrimenti mi...

C#: dubbi da libro

Sono andato a trovare i suoceri ad Ancona, e andando in stazione ho visto in edicola la guida su C# di "ioProgrammo": visto che mi aspettavano 5 ore di treno e non avevo con me il portatile ho deciso di fare questo investimento e comprarlo, per vedere se per caso c'era qualcosa di interessante. L'introduzione non promette nulla di buona per uno che sviluppa in C# da 3 anni: "Se siete programmatori C#, e siete già produttivi, questo libro non vi serve a niente. Perchè non avete comprato la rivista senza libro?" Comunque, dopo le 5 ore di treno mi sono dovuto...

Come essere compatibili con le guidelines .NET

Prima di andare a fare cascate di ghiaccio in quel di Cogne, stavo iniziando a vedere cosa combina FxCop sulle mie dll. Questa mattina ho cercato di razionalizzare il risultato dell'analisi, e ho buttato giù un articolo con quelle che ritengo siano le indicazioni importanti da tener presente. Leggilo qui... powered by IMHO 1.1 with Emoticon Formatter

FxCop non ne fa passare una!!

In un momento di pausa lavorativa, mi sono messo a cercare di capire come automatizzare la creazione di daily-builds... pensavo di usare CruiseControl.NET. Cmq, uno dei controlli che fa CC.NET è lanciare FxCop sugli assembly appena compilati, allora per curiosità ho provato ad installarlo e a farlo girare sulle dll dell'ultima class-library che abbiamo sviluppato in azienda (un CMS). Aggiungo le due dll come target dell'analsi, e... mi becco ben 1412 issues, 989 dei quali sono relativi alle regole di naming (io venendo da Java ho adottato la naming convention per la quale solo le classi devono avere iniziali Maiuscole, mentre le...

Web Upload progress bar: aggiornamento

Come dicevo ieri, ho fixato il problema con il SlickUpload, cioè il fatto che non era possibile prendere i file dal nome del campo del form... E' un po' un'accrocchio, però funziona... in attesa che Chris Hynes inserisca il nome del campo tra le proprietà dall'UploadedFile. Inoltre ho implementato una bella progress bar che mostra l'avanzamento dell'upload, con velocità e tempo stimato. Scarica qui il file dell'applicativo powered by IMHO 1.1 with Emoticon Formatter

Emoticon Formatter: rilasciata la versione 1.1 beta (1.1.1819.21075)

Quasi due settimane fa avevo rilasciato la CTP, lasciando un po' di cose in sospeso, tra la quali anche il non funzionamento con la nuova versione 1.1 beta di IMHO... (ovviamente ora potrebbe non funzionare più con la 1.0) Ora è disponibile la versione 1.1 beta, sia come binario che come sorgente (se qualcuno vuole vedere). Installazione L'installazione rimane uguale a quella della volta scorsa, e ancora non c'è un readme.txt nel package Per installare il plugin è sufficiente estrarlo nella root della vostra installazione di IMHO, in modo che tutti i files vadano per conto loro nella loro cartella di destinazione Per chi...

Control.Invoke e "manipolazione" di controlli da thread differenti

Per l'Emoticonformatter per IMHO (del quale spero di rilasciare la versione nuova in giornata) stavo cercando di modificare una finestra (aggiungendo dei picturebox e ridimensionandola) alla fine dello scaricamento di tutte le icone. Questa volta ho aggiunto un bel thread per gestire lo scaricamento... ma il problema era proprio qui: l'handler dell'evento che alzavo alla fine dello scaricamento veniva eseguito nel thread usato per lo scaricamento, e non nel thread che disegnava la form e dal quale era stato lanciato lo scaricamento, quindi, veniva una bella eccezione "I controlli creati su un thread non possono avere come elemento padre un controllo...

Media portal: HTPC opensource in C#

Da un po' di tempo si parla di Win 2005 Media Edition (o come diavolo si chiama).. Ho trovato un splendito sostituto, realizzato in C#, che gira su Win XP con DirectX 9.0c... è Media Portal L'ho installato sul mio portatile per provarlo, in vista di metterlo sul PC che userò in soggiorno con il monitor al plasma, per vederci la TV (a dire il vero vedo solo Sex&the city e MTV) e i vari DVD e DivX. E' molto be fatto, è estendibile con vari plugins (tipo posta, MSN Messenger, ricette, allarmi, ecc...), si connettere a internet per scaricare la guida...

ASP - ASP.NET: 0 - 10 !!!!

Oggi ho avuto la sfortuna di dover implementare delle funzionalità su un sito "vecchio" di qualche anno. Ovviamente questo sito era sviluppato ancora con ASP 3.0, in VBScript e qualche COMponente COM. Passata la prima mezz'ora a cercare tra i CD dell'MSDN una versione di VisualStudio 6, la seconda a installare VB6, mi sono trovato in mezzo a righe di codice di pagine da editare con Notepad (InterDev è stato sempre un tabu)... Ma come facevamo ad essere produttivi quando bisogna scrivere i nomi delle variabili di max 4 caratteri per non passare 2 ore a scriverli? e quando non esisteva l'intellisense? e...

Macro per VS.NET per creare le #region nel codice

Come sapete su VS.NET c'è la possibità di raggruppare delle aree di codice tra i tag #region e #endregion (o #Region e #End Region se parlate VB.NET).   Metterlo sempre a mano prima e dopo la zona di codice da racchiudere è un po' una palla, quindi ho cercato un po' e ho trovato questa macro per VS.NET che ho sistemato un po' perchè per come seleziono io il testo non sempre funzionava. ...

Emoticon Formatter: rilasciata la versione CTP (1.0.1807.200)

Siamo in periodo di CTP, quindi mi pare giusto rilasciare anche il mio plugin per IMHO in versione CTP Questo è il file zip contenente il plugin: Scarica Installazione Una veloce spiegaizone in attesa di un bel readme.txt dentro allo zip Per installare il plugin è sufficiente estrarlo nella root della vostra installazione di IMHO, in modo che tutti i files vadano per conto loro nella loro cartella di destinazione Per chi non si fidasse i file sono 3: com.piyosailing.IMHO.Emoticon.resources.dll: va nella cartella appdir\en-US ed è il satellite assembly con le risorse in inglese com.piyosailing.IMHO.Emoticon.EmoticonFormatter:...

Bizze di VS.NET: files di risorse "associati" a file .cs

Ho notato che i file di risorse collegati ad una classe non sempre vengono visti come file "nascosti e associati" ad essa (cioè visibili solo abilitando i file nascosti e navigando sotto al file principale... come nell'esempio qui a fianco tratto da un articolo sulla localizzazione degli applicativi WindowsForm pubblicato tra gli articoli UGIdotNET), ma ogni tanto vengono visti come file .resx autonomi (per lo meno in visualizzazione, perchè poi funziona tutto correttamente) Ho notato quanto segue: se si fa il file di risorse con un editor di testo (e col nome del file .cs con il quale lo...

Emoticon Formatter: "sul mio PC ora funziona"

Come annunciato oggi pomeriggio ho finito la realizzazione dell'Emoticon Formatter. Finito = sul mio PC, con VS.NET in debug mode, funziona Questo è uno screenshot del formatter in azione   Ora vedo di contattare Andrea per testare il plugin e rilasciare il file: anzi, se qualcuno volesse provarlo mi contatti pure, che gli mando l'assembly powered by IMHO

Emoticons con IMHO

Come potete notare anche io sono diventato subito un utente "affezionato" di IMHO, è molto comodo poter scrivere un messaggio senza dover andare sul sito. Io amo le emoticons, ma inserirle sono un casino, bisogna tenersi un elenco degli url delle immagini, e poi inserire le immagini in HTML (più veloce che inserirle con il bottone "Inserisci immagine") Allora mi sono detto: "Perchè non sviluppare un custom formatter per IMHO che permetta di inserive velocemente le icone?" Mi sono scaricato il codice, è ho iniziato a sviluppare questo plugin: è il mio primo progetto "WindowsForm" con .NET (ho sempre fatto solo i soliti applicativi web-based...

«novembre»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567