Flying Code Ninja!
Ankeny, Iowa, United States
Mitchel Sellers is globally known as a 14-time Microsoft MVP, an ASPInsider, a DNN MVP, is an MCP (Microsoft .NET, ASP.NET and SQL Server), and CEO of IowaComputerGurus Inc. Sellers has a deep understanding of software development and when speaking focuses on proper architecture standards, performance, stability, security, and overall cost-effectiveness of delivered solutions. This message and his abilities resonate in the technical war room as well as the executive board room.
Mitchel is a prolific public speaker, presenting more than 400 sessions at user groups and conferences globally, such as DevUp, SDN, and Code PaLOUsa. Sellers has been the author of multiple books and a regular blogger on technology topics.
When Mitchel is not working in technology, you will find him flying his airplane, teaching others how to fly, or spending time with his family He is also actively involved in the Open Source Community working diligently to further the movement. Find out more about Sellers at his website http://www.mitchelsellers.com.
Area of Expertise
ASP.NET Core & Entity Framework Core Development Workshop
Designed to provide developers a leg up on implementing solutions using ASP.NET Core as well as Entity Framework this full-day workshop will lead attendees through the development of an entire solution from the ground up with .NET Core.
Focusing on real-world development scenarios, including items such as:
* Bundling & Minification
* Security Best Practices
* .NET Core Adoption Considerations
* Deployment Scenarios (Including CI/CD Concerns)
* Effective Change Management with EF MIgrations
* Complex query & UI considerations
At the conclusion of the day, attendees will leave with a completed project that is ready to meet the rigors of day-to-day development in teams of all sizes. A true leg-up into implementing ASP.NET Core in their own teams.
Bundles, Migrations, Magic; Managing CI/CD with Entity Framework Core
Entity Framework continues to grow in the available features and functionality available to developers, with these increases it can be harder than ever to figure out how to manage deployments of your DB Context from one environment to another.
In this exploratory session, we will review the available tools and techniques for managing DB deployment available with Entity Framework. The session focuses on the practical application of the tools available and will include examples of GitHub Actions to complete the deployments of each type, including known limitations, gotcha's and more.
After the session attendees will have a great understanding of the tools available and how they might be applied to their specific use cases.
One Codebase for Mobile, Desktop and Web Using .NET MAUI Blazor
With the introduction of .NET MAUI Blazor a lot was promised with regard to code-reusability and the ability for developers to build for android, iOS, Windows, Mac, and the Web. However, there is still limited information about HOW to accomplish this goal, and limited architecture guidance to do this effectively.
This session will explore architecture patterns, including a sample project, that demonstrates utilizing .NET MAUI Blazor, as well as a Blazor WASM application to use a single codebase to build an application that can service clients on Android, iOS, Windows, Mac, and the web.
A focus on project structures, best practices, limitations, and how this can be used on your OWN project will be a focus. All session materials are based on real-world implementations that are in production now.
Practical Unit Testing Patterns With .NET Core
Reaching 100% Code Coverage is often a mythical number, however, when you dive deep into an application you might discover that patterns of the technology limit your ability to achieve good code coverage. This sessions explores this topic and introduces attendees to tips and tricks that can be used to help reduce the amount of code that needs to be written while at the same time allowing project Code Coverage to be reported accuratly with the ultimate goal of helping to implement higher quality code.
After the session attendees will leave with a greater understanding of Unit Testing principles, methods to manage coverage percentages, and areas of .NET Core that inhibit unit testing and how to work around those limitations.
Navigating Technology Stack Selection
Within DNN, and the greater technology world we have a plethora of technology options that we COULD use for our projects. This session dives into the considerations of making a technology selection, common misconceptions, and a repeatable process to ensure the best success in making those selections.
This session will be geared primarily towards the technologies that are relevant for the DNN community and how you might utilize each within a project. Including .NET Core, MVC, Blazor and more.
Managing Performance in the Azure PaaS World
Often times developers can find it hard to track performance or scale environments for PaaS environments. However, oftentimes this is from a lack of understanding of the tools available to help understand how, and why an environment is performing in the way that is.
In this session, we will take a deep dive into the out-of-the-box performance monitoring and improvement tools that are available in AppServce & Azure SQL environments including:
* AppService & WebApp Metrics
* Application Insights
* Azure SQL Performance
At the end of the session attendees should have a much better understanding of the overwhelming amount of tooling and data available for performance diagnostics in the PaaS environment at no extra cost.
Effective Unit Testing with .NET & XUnit
Documentation for .NET is great and includes detailed examples regarding Unit Testing. However, these examples often skip over the real-world issues that arise with unit testing.
What happens when you use that one thing that Microsoft hasn't actually moved from an Extension Method? What happens if you want to mock a static object that we might use every day, such as DateTime or TimeSpan? In this session we take a dive into real-world unit testing strategies for .NET 5 applications, focusing on quickly and easily achieving 100% unit test coverage.
Attendees will leave with a set of examples to help implement effective unit testing, quickly, upon returning to work.
Deployment Automation with Entity Framework
Entity Framework (EF) is an amazing tool for development teams, and its MIgrations functionality creates a great high-level change control system. However, there is not much in the form of production-level guidance in existence with regards to how true production environments should be managed with EF + MIgrations and the long-term source control concepts.
This session will explore Entity Framework MIgrations and the various models that can be used in conjunction with the CI/CD tools of your choice. (Azure DevOps, Octopus, GitHub Actions, etc). By taking a methodical review of how Entity Framework migrations are managed and how they can be leveraged attendees will have the information necessary to implement solid solutions for their teams.
Including in this discussion will be the concept of Migration Rests & long-term change management, which is critical for true enterprise solutions.
Make Your ASP.NET Core Application Amazingly Fast!
Everyone has seen the performance benchmark reporting for ASP.NET Core, it can be blazing fast. However, these are optimized benchmark situations that might not directly translate to your application.
This session takes a deep dive into the performance features and configurations that will take your application from fast to amazingly fast. Understanding the tools of the trade to ensure that you can achieve benchmark worthy performance with applications of any kind is of the utmost importance.
Even if you are using Entity Framework, third-party solutions, or otherwise should not impact your performance so lets work together and make your application work as you expect!
Making the Move to .NET MAUI
Now that .NET MAUI is real, what does this mean for existing Xamarin.Forms projects? How do we upgrade, what is the future like, and how quickly must we get there!
This session looks at the real-world implications and risk associated with upgrading your existing Xamarin.Forms based solutions to the newer .NET MAUI Processes.
We will explore the following as it relates to the transition.
* Completing the Migration
* Risks to Migration
* Build & Packaging Implications
* Emulator and Device Support
* Benefits once transitioned to MAUI
All information in this session is based on real-world transition experience of more than a 1/2 dozen mobile applications.
But It was Logged! Practical Logging & Monitoring with .NET Core
.NET Core makes writing log entries a breeze within your applications, however, that is where the out-of-the-box simplicity ends. So you have decorated your code with all of these pretty log messages that are designed to make your life easier, but then what? Have you actually reviewed them? Something bad happened, did it tell you? What about confidential information, have you limited that from being logged?
Well, this session is designed to help take your logging from ***IMPLEMENTED*** to ***USABLE***. Logging is great, but we have so many questions to answer, including where you store the logs, how you get notifications etc. In this code-focused solution, we explore the following concepts, with detailed examples.
* Where to log entries to, and flexible configurations
* Monitoring and escalation of log entries
* Integration with logging & external assemblies
* Configuration & build systems with logging
At the end of the session, attendees should be able to work with logging and exception handling in .NET Core effectively.
Architecting ASP.NET Core for Geo-Distributed Deployment
With the combination of ASP.NET Core and Azure PaaS tooling, it is possible to quickly, easily, and cost-effectively create a geo-distributed application that can be hosted for <= $400 a month. Doing so, however, does require specific knowledge in both application architecture as well as application deployment to ensure operational effectiveness is managed.
This session will explore a sample application and distribution that shows automated deployment and operation of an application in multiple Azure Data Centers and the inputs necessary to accomplish this, including application architecture dependencies and options for Azure Configuration.
After this session attendees will have an example model allowing them to explore geo-distribution of their own applications with a solid understanding of pitfalls and troublesome areas of implementation.
Deploying Secure Web Apps on Azure App Service (PaaS)
Azure PaaS offerings are robust, complex, and ever-changing. One of the biggest detractors for organizations adopting the PaaS offerings is the potential exposure to other resources. With recent enhancements to the Premium App Services infrastructure, it is easy to implement a robust environment, on low-cost Azure resources and keep your private information private and protected from others in the Azure Cloud.
This session will take a deep dive into real-world application deployment scenarios and how they can be hardened and protected form un-wanted access even on the low-cost Azure Tiers.
Flying Code Ninja!
Ankeny, Iowa, United States