ApexVox 2.0 Speakers
High-performance code design patterns in C#Konrad Kokosa - Microsoft MVP, dotnetos.org
More and more effort is being seen in .NET ecosystem put into the performance. Quite often we are seeing a new benchmark or blog post about memory allocations being reduced or overall throughput is increased. But how all this is achieved? Can any common code patterns be recognized, named and summarized in a modern C#, at the times of C# 8.0 and .NET Core 3.0? Can we provide a kind of Gang Of Four “design patterns” counterpart in the context of performance? As I believe so, in this talk a propose such a list of patterns, altogether with the rationale behind them and practical use cases. Please, feel invited to the world of common ways of using stackallocs, Span of T, pipelines, parallel processing and more.
Hot Choclate: GraphQL schema stitching for ASP.Net CoreMichael Staib - Co-Founder, ChilliCream
GraphQL is a great way to expose your APIs and it has changed the way we think about consuming data over HTTP. With GraphQL we want to have one schema that provides all the data to us in a consistent way, enabling us to drill into the graph and fetch with one request what we actually want instead of having to issue multiple requests. In the real world, however, we more often build small services that serve certain use cases. Simpler services are easier to maintain and can be deployed more rapidly. Moreover, we often also want to use external services that are not built by us. Ultimately, we will end up with multiple APIs again.The solution for this dilemma is schema stitching. This talk will explore the schema stitching capabilities on ASP.Net Core with Hot Chocolate. We will show how you can set up a Hot Chocolate GraphQL gateway in under 5 minutes and move on to the various stitching scenarios.This talk introduces simple auto-stitching scenarios and goes on to demonstrate how you can rewrite your GraphQL APIs into something truly new.
Things you did not know about C# and .NETMarius Bancila - Software Architect, Visma
No matter for how long you’ve been working with C# and .NET there is always something new to learn. In this talk we go through several practical but perhaps less known facts and gotchas about the language and the framework. Thi talk will shed light on various aspects and gotchas of the following topics: * Boxing and unboxing * Nullables * Rounding * Conversion * Enumerations * Exceptions * Operators * Testing privates * Type aliases * Partial function applications.
.Net Core global toolsAndrei Ignat - TD, AOM
.NET Core comes with the concept of global tools - command lines that can run everywhere. We will see Coverlet, Report Generator, DotNetProperty, Property Sonar, dotnet-warp, dotnet-watch and dotnet try in practice. Even though some of these tools might not be that popular, they can bring your developer experience to the next level and empower your code in ways that you'd probably not imagine. Also, Andrei will guide you through the process of making a simple command line tool during the session.
Machine Learning and Artificial Intelligence for mere mortals with Visual Studio 2019 and ML.NETSilviu Niculita - Engineering Manager, UIPath
Silviu will show us how we can infuse custom AI/ML into any .NET application with ease and how Visual Studio 2019 improves our debugging & development experience. This is wil be a demo heavy session that will cover different useful scenarios, providing you with all the knowledge you need to get started as soon as possible. Maybe you don’t need those expensive data scientists after all!
NUKE Build Automation 101Matthias Koch - Developer advocate, JetBrains
Founded in April 2017, NUKE is a free, open-source build automation system for C#/.NET that runs cross-platform on .NET Core, .NET Framework, and Mono. While builds are bootstrapped with conventional Bash or PowerShell scripts, their actual implementation resides in simple C# console applications. This approach unleashes the power of the type system and natively provides IDE features like code-completion, refactorings, and debugging. A custom global tool and several IDE extensions further improve how build projects are setup, authored and executed. A revolutionary code-generation approach ensures scalable integration of third-party tools like MSBuild or dotnet CLI. Matthias is the man in charge of NUKE and during this session he'll provide you with an overview of the most important features by walking you from A-Z through the build automation process of a real app. It will be a demo-heavy session!
Devs! It's past time we got our security act together!Emil Craciun - Software Development Engineer, Lateral
Didn’t you notice that these days you cannot get by on the Internet without seeing almost everyday news about data breaches, hacks, malware and the likes? Because I know I have, for the last years, and I’ll tell you what: I’m sick of it! Do you find this normal? Acceptable? Let me help you with the answer to those questions: it’s a definite NO! And who’s to blame for all of these? (well apart from the bad guys doing all the nasty stuff of course) It’s you the developer, yes, for writing that vulnerable code and leaving the door open for others to do harm. Wait, before you get your pitchforks out… Actually, the root cause for mishandling security is the improper education combined with the lack of awareness. In order to push things just one little step in the right direction I want to go through some of the most important web security headers and security flaws that every web developer should know. We will see how a simple ASP.NET Core with intended vulnerabilities can be exploited, and then how can it be easily be patched up, negating those attack vectors.
Worker services in .NET Core 3 a Deeper DiveLiviu Mandras-Iura - Software Architect, Evozon
Worker services is a new type of project you can use in .NET Core 3 but the task of building background tasks goes way back to previous versions of ASP.NET Core. Join me in this talk to see what are worker services, what are they used for, how to implement them even in older versions of .NET Core and see what are the options for hosting and deploying them.