Certificazioni – Microsoft – Esame 70-536 Microsoft .NET Framework 2.0 – Application Development Foundation

  • Ente Certificatore : Microsoft
  • Nome Esame : 070-536 Microsoft .NET Framework 2.0 – Application Development Foundation
  • Costo : 140€
  • Modalità esame : presso un centro Prometric, 40 domande, 2h15′, domande a risposta singola e multipla, possono esserci anche domande che richiedono drag&drop
  • Score minimo : 700 su 1000, ogni domanda ha un peso diverso
  • Certificazione conseguita : si (858/1000)
  • Livello di difficoltà (1-5) : 4
  • Utilità tecnica (1-5) :4
  • Annotazioni : è l’esame di base per ogni tipologia di certificazione MCTS per .NET; questo vuol dire che da solo non costituisce certificazione specifica MCTS.
  • Preparazione : da 2 a 4 mesi


Oggi ho fatto il mio primo esame per certificazioni Microsoft, e qui vorrei fornire un contributo utile ad altri che vogliano fare questa scelta.
Innanzitutto devo dirvi che l’esame è stato più duro del previsto, e nonostante il discreto voto, da me inatteso, ho sudato un pò in diverse occasioni.
L’esame è adatto a coloro che lavorano con .NET da qualche anno, e che quindi hanno esperienza pratica sul campo. Questo lo dico in quanto può capitare, come è capitato a me, di dover rispondere per intuizione, non avendo mai visto le classi utilizzate in quella domanda. Ma visto che nel framework c’è una “logica”, alcune di queste domande, credo di averle risposte comunque correttamente.
Viceversa mi è capitato un certo imbarazzo nel non ricordare bene il funzionamento di alcune classi che ho usato parecchio ma da diversi anni non mi sono capitate sottomano.
Come dicevo prima l’esame tratta di diversi argomenti, tutti elencati qui, e in pratica è l’esame “di base” per le certificazioni MCTS (win, web, distribuited) per lo sviluppo .NET.
In quanto tale, si tratta di domande attinenti con le classi del framework, e in particolare della versione 2.0.
Ci sono diversi argomenti di rilievo, elencati nel link detto prima, e per quanto mi riguarda mi sono capitati diversi argomenti : serializzazione, sicurezza, configurazione, streaming, cifratura…
Avendo studiato sul libro consigliato da Microsoft, posso dire che almeno tre domande (o quattro?) erano tra quelle presenti nel programma di test sul cd allegato al libro, e quando dico questo intendo dire che le domande erano esattamente uguali !
Erano domande che credo avrei saputo comunque rispondere di mio, ma vederle davanti agli occhi, dopo aver fatto test a valanga, dà quell’attimo di sollievo che ha comunque il suo valore nella tensione dell’esame…
Il consiglio che voglio dare però è questo : non studiate i test a memoria, non ha senso.
Questa certificazione ha senso per chi fa questo lavoro, e per farlo bisogna sapere come funziona il framework.
Ok, alcune domande le ho sbagliate (e non so quali, non me l’hanno dette), ma il risultato è andato oltre le mie aspettative, quindi vuol dire che lo studio mi ha ripagato. E con studio intendo studio, non memorizzazione.
Con questo sono sette anni che lavoro con .NET, sin dal 2002, e di progetti ne ho fatti (e ne farò) tanti.
Nonostante questo alcune classi non le avevo mai viste nè sentite. Questo perchè facendo sempre le cose di corsa (come accade in Italia, nel nostro settore) a volte non si ha il tempo necessario per approfondire alcuni argomenti, ebbene questa è l’occasione giusta !
E visto che ho scoperto alcune classi e/o tecniche di .NET che non conoscevo prima, posso dire con soddisfazione che studiare per questi esami dà un doppio risultato : dopo l’ovvio vantaggio che può derivare dalla certificazione (per appunto “certificare” la propria professionalità), vi è un ulteriore vantaggio che è la conoscenza aggiuntiva, che mi porterà di sicuro a fare meglio il mio lavoro nelle prossime occasioni in cui dovrò progettare una soluzione con .NET.
Inoltre, questo di oggi lo considero solo l’inizio. Da qui voglio andare avanti finchè riesco, sempre nell’ottica di questo doppio beneficio che consegue dalle certificazioni (e non solo quelle di Microsoft).
Certificazioni – Microsoft – Esame 70-536 Microsoft .NET Framework 2.0 – Application Development Foundation

MCP me too!

Da oggi sono anche io un MCP”.
Ho superato con 858/1000 l’esame 70-536 di Microsoft (TS Microsoft .NET 2.0 – Application Development Foundation).

Sono molto contento, mi sento bene ora. Nell’ultima settimana ero diventato come una trottola, ed ero estremamente nervoso.
Devo dire comunque che nonostante il buon punteggio (in cui non onestamente non speravo), l’esame è stato veramente stressante, e le due ore e un quarto (mi pare…) sono passate in un lampo per rispondere a 40 domande, alcune onestamente abbastanza difficili…

Ora mi aspetta il 70-526 per prendere la prima certificazione (formata appunto da due esami).
Ma di questo ne parleremo in un altro post (spero).
🙂

MCP me too!

Multicast Delegate con C#

Nella mia infinita, consapevole ignoranza, ho scoperto l’esistenza dei Multicast Delegate.
In pratica si traduce nella possibilità di sommare o sottrarre l’esecuzione di diversi metodi che siano conformi ad uno stesso delegate.
Questo comporta un’esecuzione in serie, secondo la somma (o la sottrazione) effettuata.
Mi spiego meglio con un esempio (liberamente tratto da questo esempio msdn):

namespace ConsoleApplication1
{

delegate int delegate1(string s);

class Class1
{

public static int Hello(string s)
{

Console.Write(“hello {0} “,s);

return
s.Length;

}

public
static int World(string s)
{

Console
.Write(” world {0} “, s);

return
s.Length;

}
public static int CarriageReturn(string s)
{
Console.WriteLine(” {0} “, s);
return s.Length;

}

public Class1()
{
delegate1 d1, d2, d3, d4;
d1 = Hello;

d2 = World;

d3 = CarriageReturn;

d4 = d1 + d2 + d3;
d4(“!”);
Console.ReadLine();
}
}
}

Questo comporta il seguente output :

hello ! world ! !

Quindi abbiamo eseguito i metodi nella sequenza identificata dalla somma. Come dicevo, si possono eseguire anche operazioni di sottrazione, corrispondenti alla fine ad una eliminazione dalla sequenza di esecuzione.
Quindi avremmo potuto scrivere (al posto della riga in rosso)

d4(“!”);

d4 -= d2;

d4(“!”);

e ottenere :

hello ! world ! !

hello ! !

Questo “sommatoria” si può eseguire come dicevo, solo se i metodi usati come addendi sono conformi ad uno stesso delegate. Lo stesso discorso non vale per un eventuale valore di
ritorno del metodo, che non corrisponde ad una “sommatoria dei valori di ritorno” dei metodi addendi.

In pratica se avessi scritto :

int i1 = d4(“!”);

Console.WriteLine(“Return : {0}”, i1);

d4 -= d2;

int i2 = d4(“!”);

Console.WriteLine(“Return : {0}”, i2);

avrei ottenuto come output :

hello ! world ! !

Return : 1

hello ! !

Return : 1

quindi è chiaro che il risultato è relativo solo all’ultimo metodo eseguito.

Questo si evidenzia ancora maggiormente se lanciamo un ILDASM sull’assembly, dove notiamo che i punti in cui eseguiamo il delegate d4, viene composto dalle chiamate in sequenza dei metodi che in quel momento lo compongono.

Il risultato di una sommatoria anche del valore di ritorno, si potrebbe comunque ottenere, se proprio necessario in uno scenario del genere, ricorrendo semplicemente (ad esempio) a delle variabili statiche con visibilità globale per la classe.

Multicast Delegate con C#

Windows Server 2008 : baco sulla condivisione di una cartella

Immagino sia un baco…

Scenario : Windows Server 2008 Enterprise

Azione : Creare uno share di rete ad una utenza specifica, che ancora non esiste

Prerequisito : Loggato con una utenza del gruppo Administrators

Esecuzione :

1. Creazione Utenza

  • Start > Administrative Tools > Server Manager
  • dal Server Manager > Configuration > Local Users and Groups > Users
  • dal pannello Users > tasto destro > New User…
  • inserisco i dati :
    • User Name : Prova
    • Full Name : Utente di Prova
    • Description : Descrizione Utente di Prova
    • Password : pippobaudo.2008
    • tolgo il check a “User must change password at next logon”
    • premo il tasto “Create” e l’utente viene generato
    • di default l’utente appena creato appartiene al solo gruppo “Users”
    • chiudo la finestra aperta di creazione utente e la finestra di Server Manager

2. Attivazione Share

  • vado in “Computer” (le risorse del computer) > disco “C” > tasto destro > New > Folder > creo una nuova cartella “Prova”
  • una volta creata la cartella “Prova”, faccio tasto destro su di essa e dal menù scelgo “Share…”
  • si apre la cartella di File Sharing, in cui mi viene di default visualizzato l’utente Administrator come Owner
  • dalla combobox di utenze premo la freccia giù, e mi vengono elencate le utenze registrate
  • scelgo l’utenza “Utente di Prova” e premo il tasto “Add”
  • ECCO L’ERRORE : mi viene visualizzata una dialog di errore in cui il messaggio è “Unable to locate user Utente di Prova”

Soluzione :

  • Ritornare nella finestra del Server Manager (Start > Administrative Tools > Server Manager)
  • dal Server Manager > Configuration > Local Users and Groups > Users
  • tasto destro sull’utenza “Prova” > Properties
  • cancellare il contenuto del textbox “Full Name” (che contiene “Utente di Prova”) lasciando il campo vuoto, e quindi fare “OK”
  • a questo punto torno in “Computer” > disco “C” > tasto destro su “Prova”
  • si apre la cartella di File Sharing, e dalla combobox di utenze premo la freccia giù, e mi vengono elencate le utenze registrate
  • scelgo l’utenza che a questo punto si chiama “Prova” e premo il tasto “Add”
  • ORA L’UTENTE VIENE AGGIUNTO
  • posso anche scegliere il tipo di utenza nella voce Permission Level, tra Reader, Contributor o Co-Owner
  • premo il tasto “Share”
  • mi viene visualizzata la finestra “Network discovery and file sharing”, in cui devo scegliere la voce “Yes, turn on network discovery…” e a questo punto è tutto a posto.

Chi ne sa qualcosa in più è invitato ad aggiungere un commento in merito.

Windows Server 2008 : baco sulla condivisione di una cartella