Avete poco chiara l'idea di licenza Open Source?
Questo link potrebbe aiutarvi a capire qualcosa:
http://www.dotnethell.it/articles/LicenzeOpenSource.aspx
lunedì, maggio 16, 2005
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)
giovedì, dicembre 02, 2004
Starbucks
Questo articolo su TheServerSide.Net analizza i processi di vendita dei coffe shop Starbucks, un esempio di quali vantaggi porta il disaccoppiamento e la comunicazione basata su messaggi.
http://www.theserverside.net/blogs/showblog.tss?id=TwoPhaseCommit
http://www.theserverside.net/blogs/showblog.tss?id=TwoPhaseCommit
martedì, novembre 30, 2004
Intervista a Kevin Mitnick
Su Week.It un interessante intervista sul social engineering a Kevin Mitnick, l'hacker più famoso .. dopo David Lightman aka Matthew Broderick in War Games.
http://www.weekit.it/weekit/unico/art006004040286.jsp
http://www.weekit.it/weekit/unico/art006004040286.jsp
mercoledì, novembre 10, 2004
Shiftare bit in VB
Ecco degli esempi di come shiftare bit in VB, dato che in questo linguaggio non ci sono operatori nativi che permettano di farlo...
martedì, ottobre 26, 2004
Guida Pratica ad ADO.NET
Questo articolo è, IMHO, la miglior guida pratica da me finora trovata sull'utilizzo di alcuni oggetti di ADO.NET, quali i DataTables, DataSets e la DataGrid. Dateci un'occhiatina, ne vale la pena.
Su quest'altro articolo, trovate invece una rapida e semplice introduzione all'utilizzo di ADO.NET in modalità connessa al DBMS.
Vedi anche questa bella intro ad ADO: http://www.aspitalia.com/articoli/aspplus/adodotnet.aspx
Su quest'altro articolo, trovate invece una rapida e semplice introduzione all'utilizzo di ADO.NET in modalità connessa al DBMS.
Vedi anche questa bella intro ad ADO: http://www.aspitalia.com/articoli/aspplus/adodotnet.aspx
Sappiamo tutti cos'è la GAC?
Siamo sicuri di avere le idee chiare su cosa sia, a cosa serva e come funzioni la Global Assembly Cache? Bhè questi links potrebbero rivelarsi un valido aiuto:
giovedì, ottobre 21, 2004
Code Injecting
Microsoft Research ha rilasciato gratuitamente le librerie per il C.I. nella versione 1.5 di Microsoft Detours: usabile su architetture X86, permette di reindirizzare chiamate a funzioni di eseguibili Win32, verso funzioni target costruite a runtime dall'utilizzatore.
Basate in parte sull'utilizzo delle DebugAPI, sono utili nelle operazioni di Code injecting e di API Hooking.
In pratica la chiamata a funzione di un processo qualsiasi viene dirottata verso le funzioni create dal programmatore per far eseguire al processo stesso del codice esterno.
MS Detour sostituisce le prime istruzioni della funzione target con un jump incondizionato alla funzione deviazione creata dall'utente.
Le istruzioni della funzione target vengono conservate in una terza funzione detta funzione trampolino.
La funzione trampolino conterrà le istruzioni rimosse dal processo originario e un richiamo al resto della funzione target.
In questo modo si "inietta" un codice arbitrario in un processo; il codice viene preparato direttamente in memoria usando un set di funzioni, le quali realizzano una sorta di micro-assembler e gestiscono la rilocazione.
Chiamando la giusta sequenza di funzioni si riesce dunque a creare runtime un programma in memoria, praticamente come scrivendolo direttamente in assembler.
Questo rende estremamente preciso il filtraggio.
Ad esempio le procedure in una DLL possono essere deviate durante l'esecuzione di una specifica applicazione, mentre le procedure originali non verranno deviate nell'esecuzione contemporanea di un processo parallelo.
Al contrario del re-linking delle DLL e delle redirezioni statiche, l'efficienza del funzionamento delle tecniche di filtraggio usate in questi strumenti è garantita a prescindere del metodo utilizzato da un'applicazione o da un system code per localizzare la funzione bersaglio.
Oltre alle funzionalità base di filtraggio Microsoft Detour include funzioni per modificare la tabella di importazione DLL di qualsiasi eseguibile, per attaccare segmenti dati arbitrari a eseguibili esistenti, per iniettare una DLL sia in processi nuovi che pre-esistenti.
Una volta iniettate all'interno di un processo, le DLL possono deviare ogni funzione Win32, sia presente nell'applicazione che nelle librerie di sistema.
Microsoft Detour è liberamente scaricabile anche se è richiesta una licenza per un utilizzo commerciale.
(tratto da Programmazione.it)
Basate in parte sull'utilizzo delle DebugAPI, sono utili nelle operazioni di Code injecting e di API Hooking.
In pratica la chiamata a funzione di un processo qualsiasi viene dirottata verso le funzioni create dal programmatore per far eseguire al processo stesso del codice esterno.
MS Detour sostituisce le prime istruzioni della funzione target con un jump incondizionato alla funzione deviazione creata dall'utente.
Le istruzioni della funzione target vengono conservate in una terza funzione detta funzione trampolino.
La funzione trampolino conterrà le istruzioni rimosse dal processo originario e un richiamo al resto della funzione target.
In questo modo si "inietta" un codice arbitrario in un processo; il codice viene preparato direttamente in memoria usando un set di funzioni, le quali realizzano una sorta di micro-assembler e gestiscono la rilocazione.
Chiamando la giusta sequenza di funzioni si riesce dunque a creare runtime un programma in memoria, praticamente come scrivendolo direttamente in assembler.
Questo rende estremamente preciso il filtraggio.
Ad esempio le procedure in una DLL possono essere deviate durante l'esecuzione di una specifica applicazione, mentre le procedure originali non verranno deviate nell'esecuzione contemporanea di un processo parallelo.
Al contrario del re-linking delle DLL e delle redirezioni statiche, l'efficienza del funzionamento delle tecniche di filtraggio usate in questi strumenti è garantita a prescindere del metodo utilizzato da un'applicazione o da un system code per localizzare la funzione bersaglio.
Oltre alle funzionalità base di filtraggio Microsoft Detour include funzioni per modificare la tabella di importazione DLL di qualsiasi eseguibile, per attaccare segmenti dati arbitrari a eseguibili esistenti, per iniettare una DLL sia in processi nuovi che pre-esistenti.
Una volta iniettate all'interno di un processo, le DLL possono deviare ogni funzione Win32, sia presente nell'applicazione che nelle librerie di sistema.
Microsoft Detour è liberamente scaricabile anche se è richiesta una licenza per un utilizzo commerciale.
(tratto da Programmazione.it)
lunedì, ottobre 04, 2004
Comega, forse un giorno coderemo con lui...
Comega AKA Xen AKA X#, è un nuovo linguaggio di programmazione generato da Microsoft Research e sviluppato in collaborazionecon l'Università di Cambridge.
C'è dentro tutto il C# 2.0 (quello di Whidbey, che deve ancora arrivare) + una bel pò di features per manipolare gerarchie XML e record (cosiddetti "tuple") di database, in Comega troviamo integrato anche Poliphonic C# (asynchronous concurrency abstractions).
Programmeremo indifferentemente, come affermano i suoi creatori ,con "circles, triangles, and rectangles."
Il cerchio reppresenta l'OOP (object-oriented programming).
Il triangolo reppresenta i dati strutturati gerarchicamente, ossia, XML.
Il rettangolo reppresenta i dati relazionali, o i dati di una tabella di Database.
Il tutto, dicono, si integri perfino con Visual Studio 2003.
C'è dentro tutto il C# 2.0 (quello di Whidbey, che deve ancora arrivare) + una bel pò di features per manipolare gerarchie XML e record (cosiddetti "tuple") di database, in Comega troviamo integrato anche Poliphonic C# (asynchronous concurrency abstractions).
Programmeremo indifferentemente, come affermano i suoi creatori ,con "circles, triangles, and rectangles."
Il cerchio reppresenta l'OOP (object-oriented programming).
Il triangolo reppresenta i dati strutturati gerarchicamente, ossia, XML.
Il rettangolo reppresenta i dati relazionali, o i dati di una tabella di Database.
Il tutto, dicono, si integri perfino con Visual Studio 2003.
I buchi più pericolosi?
Sicuramente quelli che non dipendono da noi. Un ottimo esempio sono quelli introdotti dal .NET framework 1.1 SP1.
Uno di questi, cioè quello che interessa il metodo Select dell'oggetto DataTable, l'ho segnalato tra i primi a mamma MS, nell'attesa di un pò di stucco da parte loro (un pò di auto-celebrazione).
Uno di questi, cioè quello che interessa il metodo Select dell'oggetto DataTable, l'ho segnalato tra i primi a mamma MS, nell'attesa di un pò di stucco da parte loro (un pò di auto-celebrazione).
Iscriviti a:
Post (Atom)