C#
Piccoli tip, informazioni ... insomma roba da due minuti e via su C#
Questo è un problema che ci porteremo dietro all'infinito. A tal proposito in questi giorni stavo valutando dei tool di offuscazione e di licensing. Ne ho trovati due estremamente interessanti dal costo nemmeno tanto proibitivo rispetto ai must segnalati da Microsoft che costano una "fortuna" per i poveri singoli sviluppatori. Il primo si chiama .Net Reactor. Oltre ad offuscare fa uso di una tecnlogia proprietaria chiamata Necrobit che dovrebbe assicurare il file una volta per tutte. Per il momento mi sono limitato ad offuscare e testare l'applicazione. E sembra che funzioni. Ho poi passato la dll al Reflector e anche...
Questo articolo è una traduzione con alcuni commenti personali sull'esperienza che ho avuto nell'usare il Remote Access di Visual Source Safe 2005.
L'articolo lo trovate qui.
Tra il leggere, l'immagazzinare informazioni e poi usarle, come al solito di differenza ce ne passa un oceano.
Oggi stavo da un cliente che mi ha chiamato per delle consulenze (ok, si mi sono rimesso a lavoro - ho ancora un sacco di difficoltà, ma spero di superarle a breve) e mi espone - tra le varie perplessità - "Sai vorrei creare una dll da riclicare per dei progretti proprio come facevo per VB6". Al che prima cosa che mi viene in mente è GAC ... e gli spiego cosa è ... a cosa serve, come fare per registrare i componenti...
Corrado ne sà sempre una più del diavolo ... chissà mai se un giorno il diavolo farà anche a noi dono di 1/100^10 della sua bravura :)
Intanto il suo trucchetto su come modificare una collection lasciandola enumerabile è raggiungibile al link sopra riportato.
Venendo dal mondo VB, la regola migliore che c'era per
liberare memoria era quella di appicciare a fondo funzione - dove occorreva - un
bel set x = nothing, così che oggetto particolarmente pesanti venivano scaricati
dalla memoria e niente problemi di appesantimento del pc o crash inattesi,
overflow ecc. ecc.
Il .Net framework sicuramente ha cambiato molto in questo, grazie
all'implementazione della Garbage Collection (alias GC), una specie di spazzino
h24 che gira per il framework e butta via quello che non serve.
Tuttavia, secondo me, Microsoft non è stata molto chiara su come e
quando questo spazzino lavora, ma soprattuto su...
Direte che ho fatto una scoperta idiota. In realtà no.
Proprio perchè il mio blog lo intendo come un diario dove appuntare tutte le
pifferate che combino, ritengo opportuno scriverci pure questo.
In realtà sapevo che i membri statici erano condivisi, ma il problema vero è
che avevo scritto un pezzo di codice - errato - dove riuscivo ad avere un valore
per il membro statico diverso per ogni istanza di una classe che avevo
dichiarato. Come ci sono riuscito non lo sò nemmeno io, però più guardavo
esterefatto il risultato che ottenevo e più leggevo nell'MSDN questo paragrafo:
"Static class...
In questo caso mi sono ritrovato a cercare di capire cosa
potessero essere i named parameters, o meglio quello lo avevo capito, ma come,
invece, li potevo creare.
Sulle prime pensavo che la descrizione che compariva al di sotto del tooltip
box fosse una questione di tag per la commentazione del codice (Recommended Tags for Documentation Comments), però i conti non mi
tornavano.
Gira che ti rigira, dopo un pò di analisi di alcune classi che esponevano
questi named parameters, finalmente comprendo che altro non sono che delle
banali proprietà (get, set), ma applicate a classi che ereditano da Attribute.
Quindi per intenderci...