martedì, novembre 08, 2005
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
martedì, dicembre 21, 2004
PInvoke Add-on per VS2003
In questo link trovate un bell'add-on per semplificare le chiamate del codice "unmanaged" dal codice "managed" di .Net (altri riferimenti li trovate sul sito PInvoke.net)
Iscriviti a:
Post (Atom)