What we're about
Upcoming events (3)
About the Talk
In this talk, Arthur will answer some questions like:
- What is Entity Framework (EF) Core, and how does it relate to older versions of EF?
- What kinds of things can you do with EF Core? (Demos!)
- When should I use something else, like Dapper?
- What's up with all the unicorns?
And ask all the questions you want!
Arthur has been working on Entity Framework since joining Microsoft in 2008. He is currently the Engineering Manager for .NET Data Access, but still manages to do some coding on occasion. Arthur grew up near Grimsby programming on Amstrads and Amigas, before moving to America to take on C++, Java, and eventually .NET. He's now back in the UK living near Peterborough with his wife, two cats and a dog. When not coding, Arthur loves Lego and making music.
I don't know about you, but I'm a lazy developer. What do I mean by lazy? I don't mean I don't want to do my work - far from it - I mean that I hate to write out a great deal of code to get the job done. I want to accomplish my goals with as little effort as possible.
One of my pet hates is writing enhancements that involve copying and pasting blocks of code, changing a variable name, then leaving everything else the same. I hate having to consider each and every possible null reference exception, and adding in a whole ton of boilerplate to handle it. I hate having to spent ages jumping back and forth in a legacy codebase, trying to understand what it actually does!
What's the alternative? In this talk, I'll demonstrate a way of working that avoids all this unnecessary work, and gives you more time to do something more productive.
We'll look at:
* Functional Programming - what benefits does this increasingly popular paradigm bring us to cut down coding effort
* Linq & Generics - These have been a part of C# for a long time now, and are some of the most powerful features available in the language, but hardly anyone seems to be using them effectively
* MetaProgramming - break open C# and take it to the next level with code that describes how to generate code
Our goal is to write code in as few lines as possible that provides the greatest amount of impact. We also want code that's readable, and easily maintainable. We want to think smart, and think...Lazy.
I've been working as a .NET developer for over 16 years now in a variety of industries including government, retail and manufacturing. But I've been hacking around with computer code since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual.
I've been speaking about Functional C# at various user groups and conferences around the UK, USA, Europe and Australia and am particularly interested in seeing just how far we can push C# without breaking it.
I'm currently working on a book for O'Reilly publications about functional programming with C#. Expected to appear in bookshops some time in 2023.
When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me.
.NET developers have two options when it comes to OpenAPI or Swagger: Swashbuckle and NSwag. Just decorate your controllers or minimal API endpoints with a bunch of attributes and a NuGet package will generate the swagger.json file for you, right?
No. Wrong. That's not how this is supposed to work.
In this talk, Mark will try to convince you that the correct way to implement OpenAPI is to write and maintain that file manually. Probably as YAML instead of JSON. That way it's included in your version control history, you can use it to generate Markdown docs in a GitHub action, and people don't need to run your app to get a copy of the file.
Mark is working on some new NuGet packages that will provide some pretty neat functionality for static OpenAPI files, including serving a YAML file as JSON in your application, analyzing your code and checking that it matches the spec, and maybe some automated testing as well.
Mark Rendle is the founder of RendleLabs, which is really just him playing with .NET Core, Docker, Azure, microservices and so on and then teaching other people about it and helping them build clean, stable, scalable solutions. He's been getting paid to do what he loves for nearly 30 years now, and still worries that somebody's going to notice and make him stop. He's on Twitter @markrendle.