Speaker

Duane Newman

Duane Newman

Microsoft MVP

Kansas City, Missouri, United States

Duane is Co-Founder of Alien Arc Technologies, LLC where he focuses on creating apps targeting mobile devices, modern desktops, and the Internet of Things. As a Microsoft MVP and technology enthusiast with a passion for good software he strives to bring solutions that improve or eliminate costly duplication and repetitive processes so more important things can be done. He enjoys teaching others and speaking at conferences on topics ranging from DevOps to Xamarin. When not behind a computer screen he can be found sharing his love of SCUBA and all things underwater with new divers as a scuba instructor at https://drrscuba.com.

Area of Expertise

  • Information & Communications Technology

Topics

  • dotNet
  • dotnet core
  • csharp
  • Unit testing
  • DevOps

Packaging your world with NuGet

Whether you are creating an open source library or building enterprise app core components, you need to get that functionality into other projects. But developing these resources is usually easier than consuming them. How about a worry free way to distribute and reference those resources in your project that will let you stay up to date, but allow you to avoid problems that may introduce breaking changes or new bugs? NuGet packages to the rescue! We'll also take a look at where you can find NuGet (packages aren't just for code any more) and how to create, distribute, and maintain your very own package. Then, you’ll be ready to share your package with your team, your enterprise, or even… The world!

Learning Objectives

The learner will:
* understand the many ways to create a NuGet package, both with VS and NuGet command line
* understand versioning concerns, especially around a public package
* understand things they can do to make their public packages self-documenting and ease new dev adoption

Putting the Fun in Func with Lambdas & LINQ

Working with delegates in C# is easier than ever with .NET's generic Action and Func types. Understanding .NET delegates is key to harnessing the power of language features like Lambdas and LINQ. In this session, we'll dig into delegates, exploring what they are, how they work, and how they can help you be a SOLID developer. Don't let delegates put you in a Func, take Action, and learn how to make your code simpler, cleaner, and more flexible.

Learning Objectives

The learner will:
* understand Delegates, in their many forms, and how to use Lambdas
* be able to take advantage of Action and Func when utilizing delegates in their code
* be able to use Delegates and Lambdas to unlock the potential of LINQ

Unit Testing Prism Apps With Ease

Prism makes it easy to use dependency injection and keep our apps modular. This modularity is great for testing, but all that dependency injection magic can make our test code seem more complex and filled with a lot of ceremony just to create a testable instance of a ViewModel and its dependencies. I've learned to embrace magic and I'll share tips on how to take advantage of the same IoC container strategy used at runtime to make instantiating the class we want to test less painful. We'll tap into the life-cycle or our unit testing framework and combine a mocking framework and a custom lifetime manager for our IoC container to make sure each test has clean dependencies and keep us from ever directly instantiating our ViewModels or dependencies again. A great side-effect is that our tests become more resilient against changing dependencies that do not concern the test. Skip all the setup ceremony and get straight to the actual test.

Unit-Testing .NET With Ease

Do you want to skip all the setup ceremony and get straight to the actual testing when writing unit tests for your .NET code? Leveraging dependency injection and IoC makes it a breeze to build solutions that are modular and testable, but building out those dependency chains in our unit tests can leave them cluttered and overly complex. It's time to learn to embrace the magic of IoC, DI, and mocking to lower the friction of writing and maintaining unit tests. Taking cues from the open-source library Ease, you can see how to tap into the life-cycle of unit testing frameworks and integrate it with an IoC container to give you a fresh start for each test. Throw in a little mocking and a flexible pattern for managing setup and now you are testing in high gear! A great side-effect of using Ease, or a similar methodology, is that tests become more resilient against changes in the dependencies that are not a direct concern of the test, so you end up breaking fewer tests and changing less test code. What are you waiting for? Stop the ceremony, and start testing!

TAGS: unit testing,ioc,di,mocking,moq,nunit,easelibrary

Learning Objectives:
• Attendees will learn how to harness IoC in their unit tests to simplify instance creation
• Attendees will learn how to use generic Action delegate methods to manage setup of mocked types and override/append setup per test
• Attendees will be shown How to convert existing tests to use these methodologies

Coding Paradise: The Future of App Creation with .NET MAUI

Dive into cross-platform app development with .NET MAUI, Microsoft's Multi-platform App UI framework. Learn how MAUI allows you to craft native mobile and desktop applications using C# and XAML. You'll be able to unify your development efforts for Android, iOS, macOS, and Windows under a single shared codebase while still enabling access to every aspect of each native platform. Unlock the potential of .NET MAUI, where the creation of cross-platform applications becomes an accessible reality.

Testing the Waters: Navigating Unit Testing in the Blazor Universe

Let's take a look at unit testing Blazor UIs. Learn how to render components, inspect output, and trigger event handlers, all crucial for testing the UI in your Blazor applications. We'll step through the intricacies of mocking external dependencies, ensuring that your tests are not only efficient but also stable. These skills are indispensable for developers striving to build resilient solutions in Blazor. Discover how to seamlessly integrate testing into your development workflow, gaining the confidence to deliver stable and reliable Blazor applications.

Blazing Trails: Your Guide to Effortless Web Development with Blazor

Let's explore Blazor, a revolutionary .NET frontend web framework that seamlessly blends server-side rendering and client interactivity. With Blazor, you can craft interactive UIs using C# while sharing logic across server and client. Benefit from the familiarity of .NET, leverage a vast ecosystem of libraries, and enjoy the performance, reliability, and security inherent in the framework. We'll delve into the fundamental concept of Blazor components, C# classes that define UI rendering logic, handle user events, and offer a reusable and shareable approach to building web applications. Discover the simplicity and robustness of using C# on the client-side, bid farewell to traditional JavaScript-centric approaches, and learn to encapsulate functionality into reusable components for cleaner, more maintainable code. Whether you're a seasoned developer or a newcomer eager to explore, this session will help you unlock the true potential of Blazor, reshaping your web development journey for greater productivity and enjoyment.

dev up 2022 Sessionize Event

June 2022 St. Louis, Missouri, United States

KCDC 2021 Sessionize Event

September 2021 Kansas City, Missouri, United States

Build Stuff 2020 Lithuania Sessionize Event

November 2020

Code PaLOUsa 2020 Sessionize Event

August 2020 Louisville, Kentucky, United States

Code PaLOUsa 2019 Sessionize Event

August 2019 Louisville, Kentucky, United States

KCDC 2019 Sessionize Event

July 2019 Kansas City, Missouri, United States

Xamarin Developer Summit Sessionize Event

July 2019 Houston, Texas, United States

Music City Tech 2018 Sessionize Event

May 2018 Nashville, Tennessee, United States

Duane Newman

Microsoft MVP

Kansas City, Missouri, United States

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top