Post-cons (October 26, 2023):

  • Going deep into .NET and Windows internals

    In this workshop, we’ll see .NET and Windows deep under the hood. We will use debuggers to understand type safety, memory management, or concurrency primitives. We will learn how to debug the platform when something goes wrong. We’ll see multiple software layers, starting with C#, through intermediate language, down to the operating system, and the machine code level.

    Objectives:
    * Understanding of Windows and x86 CPU architecture, how they work together and how they are used by .NET platform.
    * Understanding of various .NET mechanisms, memory structures, exception handling, asynchronous programming.
    * Common debugging scenarios with WinDBG, including memory management, concurrency, garbage collection.
    * Tools helpful for post-mortem debugging and investigation.

    Requirements:
    * Windows 10+ running on x86_64 architecture
    * Visual Studio 2022
    * .NET 7+
    * .NET Framework 4.8
    * dnSpy
    * WinDBG + configured symbols + configured SOS for all .NET environments
    * git

    • Mastering asynchronous code, threading and parallelism

      Abstract:
      Asynchronous code is nowadays everywhere. With the proliferation in .NET it’s a tool that can be easily used to improve performance of application. It’s used in frameworks under you, so good understanding is necessity and you can also employ it in your own code to benefit even further. After this workshop you’ll understand what threading and async means in .NET and how it affects scaling and performance. You’ll be able to make proper decision in regards to performance and also spot incorrect behavior and know where it’s coming from and why it’s happening.

      Topics covered:
      * Differences between IO async code and CPU bound code.
      * Thread scheduling and scaling.
      * Properly using async code.
      * Understanding performance and scaling of async and threading.
      * How async works under the hood.
      * Basic synchronization and locking.

      Intended audience:
      Seasoned .NET developer looking for deep understanding of async and threading and performance implications.

      Required SW:
      Visual Studio/Rider/VS Code

      Workshop type:
      Lecture with hands-on labs

      Session and Speaker Management powered by Sessionize.com