MCAD
Post specifici sulla preparazione alla certificazione MCAD: materiale, codice C#, commenti
Ieri sera, con molta sorpresa, ho ricevuto il mio Welcome
Kit per essere diventato MCP! Sono molto contento, ho subito infilato la mia
wallet card nel portafoglio e, giusto per fare il figo, la farò vedere a
chiunque mi passi sotto il naso!
So che molti di voi magari essere MCP non è nulla, però per
me è fonte di soddisfazione. In attesa, quando le acque si saranno calmate, di
ricominciare a studiare per sostenere gli altri esami. Continuo a ricevere
tutt'oggi molti commenti sui miei post relativi ad MCAD scritti durante il periodo di preparazione.
Volevo ringraziare pubblicamente, senza...
Dopo avervi annoiato con ben 49 post relativi a MCAD,
dopo aver superato l'esame 70-316, adesso per me è tempo di ricominciare
daccapo. No, no, state tranquilli, non ho intenzione di ripartire con [MCAD.1]
(ma quasi quasi...), quanto piuttosto
quello di considerare il prossimo esame da fare, e quindi di ricominciare a
studiare.
Dato che punto a MCAD, le strade possibili sono fondamentalmente
tre. In ordine di preferenza personale crescente, ecco gli
esami che sto valutando.
Designing and Implementing Databases with Microsoft SQL
Server™ 2000 Enterprise Edition (70-229) - Di certo
non mi metto a studiare...
Dopo quasi 50 post effettivi sul mio blog per
la preparazione all'esame 70-316, questa mattina, finalmente, sono andato alla
Global Knowledge Network, qui a Milano, per sostenere finalmente l'esame.
Dovevo essere già sul posto alle 8:30, mezz'ora prima dell'esame. La pioggia ha
rallentato la mia andatura, ma alla fin fine sono arrivato puntuale.
Entro, do la carta d'identità, firmo un foglio. Mi accompagnano davanti al
PC, dove mi aspetta un software intitolato qualcosa tipo "Developing and Implementing Windows-based Applications with Microsoft
Visual C# .NET and Microsoft Visual Studio .NET". Un consiglio: le
tizie non sanno nulla del software, non sanno spiegare cosa fa...
Come ho già avuto modo di dire precedentemente, ci sono
diversi argomenti che ho tralasciato nella mia serie di articoli dedicati a
MCAD. Uno di questi, la creazione di Windows Control, lo considero piuttosto
importante (e, come al solito, piuttosto divertente), per cui ne parleremo oggi
in modo magari un po' superficiale, ma più che sufficiente per superare l'esame
70-316.
IntroduzioneInnanzitutto, cominciamo col dire che creare
un controllo significa in altre parole implementare una classe che erediti da
System.Windows.Forms.UserControl. Se utilizziamo l'editor
Visual Studio .NET, possiamo cominciare un progetto Windows Control
Library. L'editor ci propone in progettazione il classico Form
Designer,...
Usare il data-binding può veramente togliere gran parte del
lavoro di scrittura del codice. In questi giorni lo sto esplorando ben bene, e
devo dire che, sebbene ci siano molti modi diversi e sicuramente più ottimizzati
per realizzare WF che prelevino i dati da un database, è veramente divertente
e piacevole vedere cosa si può fare in così poco tempo. Si è sul serio
molto più produttivi.
Non mi interessa parlare di DataSource,
DataMember ed affini. In parte l'ho già fatto nel mio post precedente
, in parte vorrei invece approfondire...
Faccio sempre una brutta faccia quando sento
parlare di data-binding.In ambiente Visual Basic 6 ed affini, il
data-binding è un metodo che permette di "collegare" bidirezionalmente un
controllo ad una sorgente dati come, tipicamente, un database. Questo
collegamento era completamente trasparente per l'utente: era sufficiente
posizionare un controllo Data sul form o, più recentemente, un ADODC e impostare
qualche proprietà del controllo ed il gioco era fatto. Troppi automatismi
rendono il vita facile, è vero, ma tolgono allo stesso tempo controllo
lasciando poco spazio al programmatore per intervenire nel processo che, di
fatto, era gestito dal runtime di VB.
In...
Ecco lo scenario: il vostro collega ha sviluppato
in C# un assembly molto carino. L'assembly si chiama
GetBirthday.dll e dispone di un solo metodo statico,
GetNearestBirthday(). L'assembly è strong-named. Il nostro
collega l'ha installato nella nostra GAC con un piccolo installer
fatto da lui. Il metodo GetNearestBirthday ritorna una string contenente il
compleanno più vicino nel tempo fra quelli presenti in un database SQL Server
(qualsiasi riferimento all'applicazione Age è puramente
casuale).
L'assembly installato in questo momento è alla versione 1.0.0.0: noi lo
abbiamo usato nella nostra applicazione Age, e gira a
meraviglia. Clicco un pulsante, e in una TextBox mi viene detto che il prossimo...
Questo è il post relativo a MCAD N°44, oggi è il 4 ottobre, il primo post è stato scritto il 4 luglio.
Dev'essere il destino che ogni tanto fa questi giochini!! Oggi, quando uscirò
dall'uffico, andrò nella prima ricevitoria a giocare i numeri 4 e 44, ambo
secco. Chi lo sa, magari vinco qualcosa!!!
Tornando seri: ritengo di aver parlato della maggior parte degli argomenti inerenti l'esame
70-316. La data dell'esame si sta avvicinando....
Nei post [MCAD.31] e [MCAD.33] abbiamo visto come
lavorare con
.NET avendo a che fare con la CAS (Code Access Security ),
ovvero come assegnare o revocare
dei permessi in base all'origine e all' "affidabilità" del codice che sta per
essere eseguito. In base all'URL di provenienza, a seconda che l'assembly
venga eseguito dalle directory locali del proprio PC oppure dalla Intranet, il
runtime .NET assegna un permission sets piuttosto che un altro. Abbiamo visto
come usare caspol.exe
...
La classe SqlCommand
dispone del metodo Prepare per ottimizzarne l'esecuzione?E che prima di
chiamarlo dobbiamo settare i data-type di tutti i parametri, soprattutto la
proprietà Size per tutti quei parametri che hanno una lunghezza
variabile?
Esiste la keywork checked che serve a controllare gli
overflow nelle espressioni?
Esiste la keyword using che serve (anche) ad
iniziare blocchi di codice al termine dei quali viene fatta automaticamente
la Dispose dell'oggetto indicato al momento della sua
dichiarazione?
Lo strumento più corretto per distribuire un assembly nella GAC di
un cliente non è gacutil, ma Windows
Installer! Perchè? Perchè gacutil non incrementa il reference
counter dell'assembly: gacutil va usato solo in ambiente...
Full MCAD Archive