Zveme vás na večerní sérii 3 přednášek zaměřených na zákulisí vývoje .NET (Core) frameworku, které si pro vás připravil Karel Zikmund, který pracuje v Redmondu přímo ve vývojovém týmu a rád se podělí o zajímavosti, které provází vývoj .NETu. Přednášky budou v češtině.
War stories from .NET team (60 min)
Expect deep dive into a few interesting investigations we faced on .NET team in the last decade.
War stories about:
- Investigations spanning years,
- Dormant bugs coming to life after a decade,
- Root-causes leading to surprising places,
- How we rooted-cause problems with minimal information available,
- Shocking impact of bugs on real world.
We will also cover:
- Root-causing HW bugs (avoid the one-machine problem),
- The value and art of minimal repro,
- Innovation and compatibility - the age-old rivals.
.NET Core Networking stack evolution to high-performance (60 min)
Architecture of .NET Core client-side networking stack focused on portability and performance.
Sharing with server-side networking stack (Kestrel).
The talk will cover:
- Evolution of networking client-stack from .NET Framework to .NET Core 2.1,
- Design goals of the new high-performance networking client-stack (SocketsHttpHandler),
- .NET Core 3.0 roadmap for client-stack (HTTP/2) and beyond,
- Performance goals and strategy,
- General CoreFX/BCL performance goals.
Async demystified (60 min)
Do you struggle to fully understand async in C#? How it works and why?
I did. So I asked the best - the author of async, Stephen Toub. This talk is summary of the most interesting insights from him that helped me finally truly understand the magic behind async.
The talk will cover:
* History and evolution of asynchronous programming patterns in C# and their problems. Leading to async and demonstrating the "why" behind its design choices.
* Touch on the "how" it works behind the scenes.
* Reasons for customizing and hyper-optimizing async for high-performance (like Networking stack).
* Touch on related building block - ThreadPool.
* Hands on sync-over-async pattern and associated problems. Workarounds in your code if you hit it. Potential solutions in future .NET versions.