lunedì, dicembre 19, 2005
SOA e Indigo
Questo è un interessante articolo da FTPOnline introduttivo su Windows Communication Foundation's service orientation (SO) e Indigo, interessante.
venerdì, dicembre 16, 2005
Refactoring
Per tutti i non ReSharper addicted, vi giro un post di G. Cannalire:
"Come è noto, con Visual Studio 2005, i soli programmatori C# disporranno di funzionalità di refactoring integrate nell'IDE.Qualcuno deve aver pensato bene che anche ai programmatori VB potesse far comodo uno strumento del genere ed ecco che, da qualche giorno, Microsoft annuncia la disponibilità di un tool esterno e gratuito, denominato Refactor! for Visual Basic 2005 (...is a free plug-in from Developer Express Inc., in partnership with Microsoft...).
Ma perchè aspettare VB 2005?Essendo in possesso della ".NET Subscription" di DevExpress, ho subito scaricato Refactor! PRO for Visual Studio .NET 2003 (disponibile da pochi giorni)Risultato:...quanto è bello il refactoring con strumenti di questo genere!!!Pensando a quanto codice VB6 dovrò ancora manutenere, mi chiedo se esista qualcosa del genere anche per Visual Studio 6.0.Quasi quasi, faccio una ricerca sulla Rete :)"
"Come è noto, con Visual Studio 2005, i soli programmatori C# disporranno di funzionalità di refactoring integrate nell'IDE.Qualcuno deve aver pensato bene che anche ai programmatori VB potesse far comodo uno strumento del genere ed ecco che, da qualche giorno, Microsoft annuncia la disponibilità di un tool esterno e gratuito, denominato Refactor! for Visual Basic 2005 (...is a free plug-in from Developer Express Inc., in partnership with Microsoft...).
Ma perchè aspettare VB 2005?Essendo in possesso della ".NET Subscription" di DevExpress, ho subito scaricato Refactor! PRO for Visual Studio .NET 2003 (disponibile da pochi giorni)Risultato:...quanto è bello il refactoring con strumenti di questo genere!!!Pensando a quanto codice VB6 dovrò ancora manutenere, mi chiedo se esista qualcosa del genere anche per Visual Studio 6.0.Quasi quasi, faccio una ricerca sulla Rete :)"
mercoledì, novembre 30, 2005
Going solo
Questo interessante post descrive come può essere la vita di un consulente indipendente. Per chi pensa di iniziare un percorso lavorativo in solitario...
venerdì, novembre 18, 2005
Sempre su Windows Forms
Non avevo mai notato, fino al precedente post di Davide, questi utili link su Windows Forms e sul DataGrid Control.
Sono sicuramente un ottimo punto di partenza, un must read!
Articoli correlati:
Per informazioni di background:
Sono sicuramente un ottimo punto di partenza, un must read!
Articoli correlati:
Per informazioni di background:
giovedì, novembre 17, 2005
FAQ Windows Forms 2.0
Sono state pubblicate delle interessanti FAQ sui controlli di base di Windows Forms in .net 2.0.
Quella sul controllo DataGridView è particolarmente dettagliata.
Le trovate qui, sul sito WindowsForms.Net.
La DataGridView è molto potente, forse ha più potenzialità delle griglie di terze parti come ComponentOne (che uso) e Infragistics (che non conosco). Ho seguito una sessione su questo controllo a PDC 2005 e mi ha colpito.
Per ora non siamo riusciti ad usarla perchè, nonostante sia possibile creare controlli personalizzati da inserire nelle celle con semplicità e grande controllo, questi controlli non sono visibili se non quando si entra in modalità edit nella cella (quando ci si entra). Di conseguenza, se con il controllo personalizzato si voleva gestire in forma + elaborata la visualizzazione delle informazioni, oltre a gestirne la modifica, si manca l'obiettivo.
Guarderò meglio la FAQ ma temo di non trovare novità in questo senso.
Quella sul controllo DataGridView è particolarmente dettagliata.
Le trovate qui, sul sito WindowsForms.Net.
La DataGridView è molto potente, forse ha più potenzialità delle griglie di terze parti come ComponentOne (che uso) e Infragistics (che non conosco). Ho seguito una sessione su questo controllo a PDC 2005 e mi ha colpito.
Per ora non siamo riusciti ad usarla perchè, nonostante sia possibile creare controlli personalizzati da inserire nelle celle con semplicità e grande controllo, questi controlli non sono visibili se non quando si entra in modalità edit nella cella (quando ci si entra). Di conseguenza, se con il controllo personalizzato si voleva gestire in forma + elaborata la visualizzazione delle informazioni, oltre a gestirne la modifica, si manca l'obiettivo.
Guarderò meglio la FAQ ma temo di non trovare novità in questo senso.
mercoledì, novembre 09, 2005
AJAX: è un mondo asincrono
AJAX.NET Professional
Vi ricordate Remote scripting? Quella era porcheria...
AJAX mi sembra molto più ben studiato e strutturato.
Devo ancora iniziare ad usarlo ma penso che inizierò a studiarlo a breve.
Che ne pensate?
Vi ricordate Remote scripting? Quella era porcheria...
AJAX mi sembra molto più ben studiato e strutturato.
Devo ancora iniziare ad usarlo ma penso che inizierò a studiarlo a breve.
Che ne pensate?
martedì, novembre 08, 2005
DataGrid & Combos Master and Detail
In questo blog si spiega come ottenere semplicemente una serie di controlli legati in maodo master-detail. Semplice, ma efficace.
Inoltre in questo articolo da MSDN trovate utili informazioni su come utilizzare e personalizzare i DataGrid
Inoltre in questo articolo da MSDN trovate utili informazioni su come utilizzare e personalizzare i DataGrid
CommandBuilder si o no?
In questo interessante articolo si aiuta a capire meglio come funzionano i CommandBuilder e quando sia il caso di usarli o meno. Buona lettura!
Tools per Visual Studio
In questo sito SharpToolbox trovate tutti gli strumenti free e non che possono aiutarvi ad aumentare la vostra produttività con l'IDE di Visual Studio. Take a look!
Logging in .NET
Se avete bisogno di una library di logging concettualmente simile a log4net, progettata con semplicità e flessibilità, ecco da sourceforge.net NLog. Provatela e andate sul sicuro!
giovedì, ottobre 27, 2005
CodeXchange per VS2003
In breve , CodeXchange è un add-in per Visual Studio.NET e un'applicazione standalone che fornisce accesso integrato e istantaneo ad un repository online di codice .NET proto da usare.
Gratuito e utile... codeXchange
Gratuito e utile... codeXchange
lunedì, agosto 08, 2005
MONO
Il progetto mono sviluppato da Novel è un framework open source alternativo a quello .net di microsoft, esso è ancora in via di sviluppo ma già ad un buon livello.
venerdì, giugno 17, 2005
martedì, giugno 14, 2005
Le stringhe in .Net 2.0
In questo interessante articolo su MSDN sono descritte le best practices per l'uso delle stringhe in .Net 2.0 che, sotto certi aspetti, sono cambiate rispetto a .Net 1.x
Viene affrontato il "problema Turco": non si tratta degli sforzi diplomatici degli Alleati per coinvolgere la Turchia nella seconda guerra mondiale o di quelli dell'Asse per mantenerla neutrale.
Si tratta di una mancanza presente nella 1.x che viene esemplificato con l'uso della Culture "tr-TR".
Viene affrontato il "problema Turco": non si tratta degli sforzi diplomatici degli Alleati per coinvolgere la Turchia nella seconda guerra mondiale o di quelli dell'Asse per mantenerla neutrale.
Si tratta di una mancanza presente nella 1.x che viene esemplificato con l'uso della Culture "tr-TR".
venerdì, giugno 10, 2005
Davide goes to PDC 2005
giovedì, maggio 26, 2005
Indigo workshop
In questi giorni ho partecipato ad un workshop sulla tecnologia Indigo presso la sede Microsoft di Monaco, riservato alle aziende che fanno parte di un programma di adozione anticipata di questa tecnologia.
Difficile dire in poche parole cosa Indigo è (come direbbe Yoda): è un programming model che riunisce ed amplia le tecnologie di comunicazione tra processi esistenti in ambiente Windows. Coordina e sfrutta al meglio quanto oggi è esistente con grande attenzione alla interoperabilità con ambienti diversi.
Detto così non sembrerebbe una grande cosa, invece si tratta dell'iniziativa più innovativa e di maggiore valore assoluto portata avanti da Microsoft negli ultimi anni.
Oggi esistono DCOM, COM+, MSMQ, .Net Remoting, ASMX, WSE, etc.... In base allo scenario che si affronta le scelte tecnologiche e di conseguenza l'object model da usare cambia. Ci siamo abituati ma è pur sempre una limitazione.
Indigo propone un object model unificato, molto ricco ma estremamente semplice, che distingue tra i compiti dello sviluppatore e le possibilità dell'amministratore, che permette di affrontare ogni scenario e ne abilita di nuovi.
Indigo può comunicare tramite code, può inviare comunicazioni fire and forget, può stabilire comunicazioni bidirezionali tra client e server anche tramite http: apre due canali distinti e riceve le comunicazioni server to client in modo trasparente...semplice ed efficace. Può usare diversi protocolli di comunicazione. Può fare molto altro...
Questo post su MSDN spiega sicuramente meglio cosa è Indigo. Indigo è uno dei pilastri di Longhorn ed il suo futuro è legato a quello di Indigo. Indigo, come Avalon, sarà disponibile anche per XP e 2003.
Nel prossimo futuro immagino ci saranno molte più applicazioni "rich-client" di quante ce ne siano in giro oggi.
Il framework .Net, dalla prima versione alla prossima 2.0, facilita enormemente la produzione di "rich-client", rendendone agevole anche la distribuzione (con ClickOnce per esempio). Molte applicazioni che oggi vengono realizzate in ASP.Net facendo salti mortali per aumentarne l'usabilità (senza grandi speranze) potrebbero essere realizzate in Windows forms. Ma questo non basta per invertire la tendenza, per spostare l'attenzione dal browser al desktop.
Longhorn non esisterebbe se la volontà non fosse quella di realizzare, almeno per Windows, un mondo di applicazioni ricche non basate su browser o sistemi che interoperano tra di loro, anche attraverso Internet, in modo sicuro ed affidabile, grazie ad Indigo.
Questo scenario mi piace e trovo uno spirito genuinamente innovativo in tecnologie come Indigo, ciò che spero è che (Microsoft) non si faccia troppo male per raggiungere questo obiettivo.
Solo il tempo dirà inoltre se con Indigo Microsoft manterrà la volontà di garantire l'interoperabilità verso gli standard (come WS-*) e le altre piattaforme o cercherà di fuggire in avanti offrendo nuove ed attraenti funzionalità a cui lo sviluppatore non saprà dire di no.
Difficile dire in poche parole cosa Indigo è (come direbbe Yoda): è un programming model che riunisce ed amplia le tecnologie di comunicazione tra processi esistenti in ambiente Windows. Coordina e sfrutta al meglio quanto oggi è esistente con grande attenzione alla interoperabilità con ambienti diversi.
Detto così non sembrerebbe una grande cosa, invece si tratta dell'iniziativa più innovativa e di maggiore valore assoluto portata avanti da Microsoft negli ultimi anni.
Oggi esistono DCOM, COM+, MSMQ, .Net Remoting, ASMX, WSE, etc.... In base allo scenario che si affronta le scelte tecnologiche e di conseguenza l'object model da usare cambia. Ci siamo abituati ma è pur sempre una limitazione.
Indigo propone un object model unificato, molto ricco ma estremamente semplice, che distingue tra i compiti dello sviluppatore e le possibilità dell'amministratore, che permette di affrontare ogni scenario e ne abilita di nuovi.
Indigo può comunicare tramite code, può inviare comunicazioni fire and forget, può stabilire comunicazioni bidirezionali tra client e server anche tramite http: apre due canali distinti e riceve le comunicazioni server to client in modo trasparente...semplice ed efficace. Può usare diversi protocolli di comunicazione. Può fare molto altro...
Questo post su MSDN spiega sicuramente meglio cosa è Indigo. Indigo è uno dei pilastri di Longhorn ed il suo futuro è legato a quello di Indigo. Indigo, come Avalon, sarà disponibile anche per XP e 2003.
Nel prossimo futuro immagino ci saranno molte più applicazioni "rich-client" di quante ce ne siano in giro oggi.
Il framework .Net, dalla prima versione alla prossima 2.0, facilita enormemente la produzione di "rich-client", rendendone agevole anche la distribuzione (con ClickOnce per esempio). Molte applicazioni che oggi vengono realizzate in ASP.Net facendo salti mortali per aumentarne l'usabilità (senza grandi speranze) potrebbero essere realizzate in Windows forms. Ma questo non basta per invertire la tendenza, per spostare l'attenzione dal browser al desktop.
Longhorn non esisterebbe se la volontà non fosse quella di realizzare, almeno per Windows, un mondo di applicazioni ricche non basate su browser o sistemi che interoperano tra di loro, anche attraverso Internet, in modo sicuro ed affidabile, grazie ad Indigo.
Questo scenario mi piace e trovo uno spirito genuinamente innovativo in tecnologie come Indigo, ciò che spero è che (Microsoft) non si faccia troppo male per raggiungere questo obiettivo.
Solo il tempo dirà inoltre se con Indigo Microsoft manterrà la volontà di garantire l'interoperabilità verso gli standard (come WS-*) e le altre piattaforme o cercherà di fuggire in avanti offrendo nuove ed attraenti funzionalità a cui lo sviluppatore non saprà dire di no.
lunedì, maggio 16, 2005
Licenze Open Source
Avete poco chiara l'idea di licenza Open Source?
Questo link potrebbe aiutarvi a capire qualcosa:
http://www.dotnethell.it/articles/LicenzeOpenSource.aspx
Questo link potrebbe aiutarvi a capire qualcosa:
http://www.dotnethell.it/articles/LicenzeOpenSource.aspx
martedì, maggio 10, 2005
Microsoft Coding4fun
Microsoft ha rilasciato un interessante sito per chi programma per divertimento e per hobby: ma ci sono robine davvero interessamti: Coding4fun !
lunedì, marzo 07, 2005
Regular Expression
Avevamo in precedenza segnalato un utilissimo tool a riguardo (vedi Regulator nel blog), ma adesso forniamo un utile link ad un tutorial che infarina ottimamente sull'argomento:
altri links a riguardo:
- http://www.codeproject.com/useritems/RegexTutorial.asp
- http://www.regular-expressions.info/
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconregularexpressionslanguageelements.asp
- http://www.oreilly.com/catalog/regex2/
- http://www.oreilly.com/catalog/regex2/chapter/ch09.pdf
- http://search.cpan.org/dist/perl/pod/perlre.pod
- http://www.regexlib.com/
mercoledì, marzo 02, 2005
.NET Conditio sine qua non
Direi che da ora in poi non si dovrebbe sviluppare nulla in ambiente .NET se non partendo dall'Enterprise Library, un insieme di cosiddetti Application Blocks che faciliteranno la comprensione e la realizzazione di Applicativi a livello Enterprise segiuendo le famigerate "best practices for .NET applications".
venerdì, febbraio 18, 2005
C# Boxing/Unboxing: non è uno sport!
Conversioni implicite di tipi valore in tipi object e viceversa: ecco come capire il meccanismo di boxing-unboxing:
C# Classi e Strutture: conosciamo davvero le differenze?
La situazione è cambiata da C++ a C#, basti pensare che in C# le structs sono value types, mentre le classi sono reference types... vediamo come capire e gestire questi tipi in questo interessante articolo.
.NET String.Format()
Se vi capiterà di dover formattare delle stringhe in .NET, qui trovate un simpatico ripostiglio di informazioni ed esempi pratici e non: String Formatting in C#
venerdì, gennaio 21, 2005
Embedding e utilizzo di Risorse in C#
Qui trovate due utili link che spiegano come "embeddare" risorse in un assembly e come utilizzarle da C#. Il tutto è semplicissimo grazie alle Reflection:
venerdì, gennaio 14, 2005
L'invidia del Mac
Questa sarà l'offerta dell'AppleStore fra qualche anno?
Mi sono sempre divertito a deridere i Mac ma in fondo (molto in fondo) mi piacerebbe avere un bel iMac in salotto che fa 4 cose e non sbaglia mai.....o forse ciò che mi attrae è la visione semplicistica del mondo visto con lenti Apple?
Se il mondo ti sembra troppo complesso, troppo veloce, con tecnologie che cambiano in continuazione, con una feroce competizione su una piattaforma più o meno aperta, è bello pensare che esiste un'alternativa: un ambiente costituito da meno di 10 prodotti hw (tiro a indovinare) e un s.o., prodotti che durano anni e non fanno niente di eccezionale...ma che però sono bellissimi!
Poi smetto di sognare e continuo a vivere nel mondo reale. Credo che Matrix farebbe usare Mac agli umani schiavizzati, altri ambienti forse dimostrano che Matrix non esiste. Oppure che è sadica.
Ho preso il link da questo post.
Mi sono sempre divertito a deridere i Mac ma in fondo (molto in fondo) mi piacerebbe avere un bel iMac in salotto che fa 4 cose e non sbaglia mai.....o forse ciò che mi attrae è la visione semplicistica del mondo visto con lenti Apple?
Se il mondo ti sembra troppo complesso, troppo veloce, con tecnologie che cambiano in continuazione, con una feroce competizione su una piattaforma più o meno aperta, è bello pensare che esiste un'alternativa: un ambiente costituito da meno di 10 prodotti hw (tiro a indovinare) e un s.o., prodotti che durano anni e non fanno niente di eccezionale...ma che però sono bellissimi!
Poi smetto di sognare e continuo a vivere nel mondo reale. Credo che Matrix farebbe usare Mac agli umani schiavizzati, altri ambienti forse dimostrano che Matrix non esiste. Oppure che è sadica.
Ho preso il link da questo post.
lunedì, gennaio 10, 2005
Personalizzare il file App.exe.config
Se avete bisogno di attaccarvi ad un file di configurazione diverso dal solito app.exe.config per esempio quando si crea un plugins per un applicazione host di terze parti o quando si fa il deploying dell'applicativo su com+ si potrebbe preferire l'utilizzo di un config file diverso da quello di default, ossia da: appname.exe.config. (dllhost.exe.config)
E' semplice fare un redirect dell'AppSettingsReader a un config file diverso scrivendo:
AppDomain.CurrentDomain.SetData(“APP_CONFIG_FILE”,”c:\\pippo.config”);
Tutte le chiamate al System.ConfigurationSettings.AppSettings ora useranno il nuovo binding…
Nota: Si può fare il bind aun file di configurazione una sola volta nell'istanza dell'app domain, ossia il cambio di binding DEVE essere fatto una sola volta PRIMA di usare l'app.config per la prima volta.
DA LEGGERE:
AGGIORNAMENTO:
E' semplice fare un redirect dell'AppSettingsReader a un config file diverso scrivendo:
AppDomain.CurrentDomain.SetData(“APP_CONFIG_FILE”,”c:\\pippo.config”);
Tutte le chiamate al System.ConfigurationSettings.AppSettings ora useranno il nuovo binding…
Nota: Si può fare il bind aun file di configurazione una sola volta nell'istanza dell'app domain, ossia il cambio di binding DEVE essere fatto una sola volta PRIMA di usare l'app.config per la prima volta.
DA LEGGERE:
- Unraveling the Mysteries of .NET 2.0 Configuration
- Decoding the Mysteries of .NET 2.0 Configuration
- Cracking the Mysteries of .NET 2.0 Configuration
AGGIORNAMENTO:
.NET in Samples: free e-Book
Iscriviti a:
Post (Atom)