Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NNUG Certification Presentation


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

NNUG Certification Presentation

  1. 1. 70-536 .NET Application Development Foundation
  2. 2. Agenda <ul><li>Exam Basics </li></ul><ul><li>Exam Tips </li></ul><ul><li>Exam Breakdown </li></ul><ul><li>Resources </li></ul>
  3. 3. 70-536 Exam Basics <ul><li>Exam Objectives and Matrix </li></ul><ul><ul><li> </li></ul></ul><ul><li>Approximately 50-60 questions </li></ul><ul><li>Mostly multiple choice </li></ul><ul><li>Passing score 700/1000 </li></ul><ul><li>Offered in 3 different programming languages </li></ul><ul><ul><li>VB.NET 2005 </li></ul></ul><ul><ul><li>C# 2005 </li></ul></ul><ul><ul><li>C++ 2005 </li></ul></ul>
  4. 4. Exam tips <ul><li>Read the question!!!! </li></ul><ul><ul><li>What are you being asked for? </li></ul></ul><ul><ul><li>How many options do you have to choose </li></ul></ul><ul><ul><li>Each question is on its own, does not relate to previous questions </li></ul></ul><ul><li>On code segments, play spot the difference </li></ul><ul><li>Check the parameters and logic. Don’t assume </li></ul><ul><li>Know when to use particular classes </li></ul><ul><li>Finally, if it is old tech vs new, new is probably the answer  </li></ul>
  5. 5. Whats in 70-536 <ul><li>.NET Classes </li></ul><ul><ul><li>Specifically the System namespace </li></ul></ul><ul><li>Things to know </li></ul><ul><ul><li>New features of 2.0 vs 1.1 </li></ul></ul><ul><ul><li>Command line tools </li></ul></ul><ul><ul><li>Tracing & debugging </li></ul></ul><ul><ul><li>Code security </li></ul></ul>
  6. 6. Breakdown of the exam <ul><li>Security 20% </li></ul><ul><li>Serialization 18% </li></ul><ul><li>System Types and Collections 15% </li></ul><ul><li>Configuration Management, Diagnostic, and Installation Features 14% </li></ul><ul><li>Service Processes, Threading and Application Domains 11% </li></ul><ul><li>Interoperability, Reflection and Mailing 11% </li></ul><ul><li>Globalization, Drawing, Text Manipulation 11% </li></ul>
  7. 7. Security <ul><li>Code Access Security permission sets (Nothing all the way to Full Trust) </li></ul><ul><li>Caspol – command line tool for setting and viewing code access security </li></ul><ul><li>AccessControl class – for managing access control lists </li></ul><ul><li>Encrypting and Decrypting </li></ul><ul><li>Symmetric vs Asymmetric cryptography (3DES, RSA for example) </li></ul>
  8. 8. Security <ul><li>Permission Classes </li></ul><ul><ul><li>DataProtectionPermission </li></ul></ul><ul><ul><li>EnvironmentPermission </li></ul></ul><ul><ul><li>FileIOPermission </li></ul></ul><ul><ul><li>IsolatedStoragePermission </li></ul></ul>
  9. 9. Security <ul><li>Policy Classes </li></ul><ul><li>Identity and Principal types (Windows, Generic, Custom) </li></ul><ul><li>IIdentity Interface (Name property, IsAuthenticated boolean function) </li></ul><ul><li>IPrincipal Interface (Identity property, IsInRole method) </li></ul>
  10. 10. Serialization <ul><li>Serialization </li></ul><ul><ul><ul><li>Apply Serializable Attribute to serialize all properties </li></ul></ul></ul><ul><ul><ul><li>Apply NonSerialized attribute to exclude properties </li></ul></ul></ul><ul><ul><ul><li>Implement ISerializable interface to customize serialization </li></ul></ul></ul><ul><li>Formatter </li></ul><ul><ul><ul><li>Expose Iformatter interface </li></ul></ul></ul><ul><ul><ul><li>Implement Serialize and Deserialize methods </li></ul></ul></ul><ul><li>BinaryFormatter (for compact storage) </li></ul><ul><li>SOAPFormatter (for XML format, works across firewalls) </li></ul><ul><li>Use XMLSerializer to serialize an object to a specific XML format </li></ul>
  11. 11. Serialization <ul><li>Retrieve File, Directory and Drive information (FileInfo, DirectoryInfo, DriveInfo classes) </li></ul><ul><li>Streams </li></ul><ul><ul><li>Stream (abstract class) </li></ul></ul><ul><ul><li>FileStream (access to files) </li></ul></ul><ul><ul><li>MemoryStream (access to memory buffers) </li></ul></ul><ul><ul><li>BufferStream (access to streams that do not support buffering, you may need it for custom streams) </li></ul></ul>
  12. 12. Serialization <ul><li>Readers and Writers </li></ul><ul><ul><li>TextReader /TextWriter(abstract class) </li></ul></ul><ul><ul><li>StringReader/StringWriter (reads from a string) </li></ul></ul><ul><ul><li>StreamReader/StreamWriter (data in text format to a stream) BinaryReader/BinaryWriter (data in binary format to a stream) </li></ul></ul><ul><li>Compression </li></ul><ul><li>DeflateStream, GZipStream (GzipStream uses standard algorithm and is the preferred compression class) </li></ul>
  13. 13. System Types & Collections <ul><li>Nullable types </li></ul><ul><li>Generic types </li></ul><ul><li>Generic Collections </li></ul>
  14. 14. System Types & Collections <ul><li>Specialised Collections </li></ul><ul><ul><li>ListDictionary </li></ul></ul><ul><ul><li>HybridDictionary </li></ul></ul><ul><ul><li>HashTable </li></ul></ul><ul><ul><li>Stack </li></ul></ul><ul><li>Interfaces </li></ul><ul><li>Creating Event Handlers </li></ul>
  15. 15. Service Threading & Domains <ul><li>Creating a class that runs as a service </li></ul><ul><ul><li>Create Windows Service Project </li></ul></ul><ul><ul><li>Create service that inherits ServiceBase class </li></ul></ul><ul><ul><li>Override OnStop and OnStart methods of class </li></ul></ul><ul><li>Install a service </li></ul><ul><ul><li>Create installer class in service project that inherits System.Configuration.Install.Installer </li></ul></ul>
  16. 16. Service Threading & Domains <ul><li>Launching a method in a thread </li></ul><ul><li>Pass Parameters to a thread </li></ul><ul><ul><li>ThreadStart does not accept parameters </li></ul></ul><ul><ul><li>ParameterizedThreadStart accepts one parameter but is not type safe </li></ul></ul><ul><li>Thread Pool – for running many small jobs in threads </li></ul><ul><li>Application Domains – isolate applications </li></ul>
  17. 17. Diagnostics <ul><li>Writing and reading to and from event logs </li></ul><ul><li>Retrieving information about processes </li></ul><ul><li>Using Mscorcfg.msc (.NET Framework Configuration Tool) for managing assemblies in the GAC, adjusting Code Access Security </li></ul>
  18. 18. Debug <ul><li>Trace Listeners </li></ul><ul><ul><li>DefaultTraceListener (writes to output window, fails go to message boxes used in development only, not production) </li></ul></ul><ul><ul><li>TextWriterTraceListener (writes to a TextStream good for file output) </li></ul></ul><ul><ul><li>EventLogTraceListener (writes to windows event log) </li></ul></ul><ul><li>TraceSwitch (0-Off;1-Error;2-Warning;3-Info;4-Verbose) </li></ul><ul><li>Debugging (Assert, Write, WriteLine, WriteIf, WriteLineIf) </li></ul><ul><li>Performance counters </li></ul><ul><li>Retrieving management information from WMI </li></ul>
  19. 19. Interop <ul><li>Exposing .Net components to COM </li></ul><ul><ul><li>Need a default constructor that takes no arguments </li></ul></ul><ul><ul><li>Uses System.RunTime.InteropServices </li></ul></ul><ul><ul><li>Generate strong name with Sn.exe </li></ul></ul><ul><ul><li>Add reference to strong name in .config file (AssemblyKeyFile) </li></ul></ul><ul><ul><ul><li>Choose Register for COM Interop OR manually register and generate type library using RegAsm.exe </li></ul></ul></ul><ul><ul><ul><li>Expose class members through an interface </li></ul></ul></ul><ul><li>Calling COM from .Net </li></ul><ul><ul><ul><li>Register COM dll with regsvr32 </li></ul></ul></ul><ul><ul><ul><li>Add reference to dll in project, Visual Studio generates a proxy </li></ul></ul></ul><ul><ul><ul><li>Invoke component by creating a runtime callable wrapper (i.e. instance of proxy class) </li></ul></ul></ul>
  20. 20. Interop <ul><li>Calling COM from .Net using Type Library Importer (Tlbimp.exe) to create an interop assembly that can be called by .Net </li></ul><ul><ul><li>tlbimp myTest.tlb /out:myTest.dll </li></ul></ul><ul><li>Using Platform Invoke and DllImport decoraction to call Windows APIs </li></ul>
  21. 21. Reflection <ul><li>Reflection and Reflection.emit for creating and reading Metadata (MSIL) </li></ul>
  22. 22. Mail <ul><li>Sending email using SMTP </li></ul>
  23. 23. Globalization(!) <ul><li>Localization (CultureInfo, CurrentCulture, CurrentUICulture) </li></ul><ul><li>IFormatProvider </li></ul>
  24. 24. Drawing <ul><li>System.Drawing (Pens, Fonts, Brushes) </li></ul><ul><ul><li>To access the graphics of a form you must override the OnPaint method of the form </li></ul></ul><ul><li>Graphics Class </li></ul>
  25. 25. Text <ul><li>StringBuilder – uses memory more efficiently than String when performing frequent updates or appends to a string </li></ul><ul><li>Regex – to use regular expressions </li></ul><ul><li>Encoding and Decoding </li></ul><ul><ul><li>ASCIIEncoding </li></ul></ul><ul><ul><li>UnicodeEncoding </li></ul></ul><ul><ul><li>UTF7Encoding </li></ul></ul><ul><ul><li>UTF8Encoding </li></ul></ul>
  26. 26. Resources <ul><li>Blogs </li></ul><ul><ul><li>MS Learning </li></ul></ul><ul><ul><li>Gerry O’Brien </li></ul></ul><ul><ul><li>Mine </li></ul></ul><ul><li>Forums </li></ul><ul><ul><li>ProProfs </li></ul></ul><ul><ul><li>TechExams </li></ul></ul><ul><ul><li>MSDN </li></ul></ul><ul><ul><li> </li></ul></ul>
  27. 27. Resources <ul><li>MS Press Errata </li></ul><ul><li>How to prepare for your exams </li></ul><ul><li>Taking your exam </li></ul><ul><li>Second Shot </li></ul>
  28. 28. Thanks <ul><li>Quick thanks to Susan Ibach and Trika Harms zum Spreckel for help on the slide deck </li></ul>