Roundup #7: AspNet Core Nested Applications, Blazor-State, DebugType=Embedded, Controllers as action filters

Here are the things that caught my eye last week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

AspNet Core Nested Applications

Given any application of a reasonable size, to reason about it and manage complexity one generally applies modular programming along clear and well defined boundaries. Recently I was seeking to do this with AspNet Core where I wanted to compose several independent applications, potentially developed by separate teams, within the one host.

I’ve been wanting to do something similar in AspNetCore so this is right up my alley with great timing.  This is a great method for having independent apps but running under one host.

Link: http://dhickey.ie/2018/06/09/aspnet-core-nested-apps/

 

Blazor-State

If you are familiar with MediatRRedux, or the Command Pattern you will feel right at home. All of the behaviors are written as plug-ins/middle-ware and attached to the MediatR pipeline. You can pick and choose which behaviors you would like to use or even write your own.

Pretty interesting idea and like to see where this goes along with Blazer in the future.

Link: https://timewarpengineering.github.io/blazor-state/

 

<DebugType>embedded</DebugType>

This was really cool and I had no idea about this.  You can also set this from Visual Studio in the Project Properties, Build, Advanced window.

Link: https://twitter.com/KirillOsenkov/status/1007052524946255872

 

Controllers as action filters in ASP.NET Core MVC

It is common to leverage action filters when building MVC applications – this was the case in classic ASP.NET MVC, in ASP.NET Web API and is a still widely used technique (with much richer support!) in ASP.NET Core MVC.

What is not commonly known though, is that it’s possible for controllers to act as their own filters – so let’s have a look at this feature today.

Really love this idea of adding the filters to the controller itself since they are generally coupled anyways.

Link: https://www.strathweb.com/2018/06/controllers-as-action-filters-in-asp-net-core-mvc/

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.

Roundup #6: Fuget.org, Nat Friedman AMA, Lippert and Nishanov, 10 Things I Regret About Node.js, Avoiding Microservice Megadisasters

Here are the things that caught my eye last week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

fuget.org

Have you ever wondered what exactly is in a nuget to see if it’s right for you? You read the description, you like the name, but, if you’re like me, you probably ended up in GitHub reading the source code to decide if you want to use the library.

This announced last week but after I posted last week round up.  What a straight awesome idea.  Incredible.

Link: http://praeclarum.org/post/174440517348/introducing-fugetorg

 

I’m Nat Friedman, future CEO of GitHub. AMA.

Hi, I’m Nat Friedman, future CEO of GitHub (when the deal closes at the end of the year). I’m here to answer your questions about the planned acquisition, and Microsoft’s work with developers and open source. Ask me anything

After the big announcement on Monday of Microsoft acquiring GitHub, it’s pretty interesting to read some of the Q&A.

Link: https://www.reddit.com/r/AMA/comments/8pc8mf/im_nat_friedman_future_ceo_of_github_ama/

 

Eric Lippert and Gor Nishanov: Co-Routines, Probabilistic Programming, and More

Eric Lippert (@ericlippert) and Gor Nishanov (@GorNishanov) discuss C++ co-routines, probabilistic programming, undefined behavior, and more. Eric Lippert was the first dev interviewee on @Ch9. In fact, it was his interview that really made us believe that we were on to something with unscripted conversations in video format… Great to see Eric again! He still has the boyish looks and sly grin. Amazing, the things he and team are working on, which should have impact across the industry. Gor loves C++ and he is quite the personality. His co-routine design is on the path to standardization in C++20. We (Service Fabric team) use his current implementation in many places, including code that runs in the Windows kernel. We love co-routines!. We must get him to spend more time on camera and share his passionate insights.

Link: https://www.youtube.com/watch?v=AZYCPoG7rD0

 

10 Things I Regret About Node.js – Ryan Dahl – JSConf EU 2018

Pretty interesting listening to the gripes about Node and interesting to see the prototype project Deno with TypeScript.

Link: https://www.youtube.com/watch?v=M3BM9TB-8yA

 

Avoiding Microservice Megadisasters – Jimmy Bogard

You’ve spent months re-architecting your monolith into the new microservices vision. Everyone gathers around to flip the switch. You navigate to the first page…and nothing happens. Refresh…still nothing. The site is so slow, it won’t respond for minutes. What happened? In this session, I’ll walk through a post-mortem of a real-life microservice disaster. I’ll show the modeling, development and production problems we found, and how we slowly morphed the new distributed monolith into our final picture of sanity. While we can’t prevent project failures, we can at least identify problems early on in our design so that our final product results in a clean, robust distributed system.

Link: https://www.youtube.com/watch?v=gfh-VCTwMw8

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.

Roundup #5: .NET Core 2.1, ReSharper Perf Series, Rider 2018.1.1, EF Core Evaluation

Here are the things that caught my eye last week.  Obviously the big one is the release of .NET Core 2.1.  JetBrains are always up to good stuff with Rider 218.1.1 being released last Friday and a really cool series on ReSharper.

I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

Announcing .NET Core 2.1

We’re excited to announce the release of .NET Core 2.1. It includes improvements to performance, to the runtime and tools. It also includes a new way to deploy tools as NuGet packages. We’ve added a new primitive type called Span<T> that operates on data without allocations. There are many other new APIs, focused on cryptography, compression, and Windows compatibility. It is the first release to support Alpine Linux and ARM32 chips. You can start updating existing projects to target .NET Core 2.1 today. The release is compatible with .NET Core 2.0, making updating easy.

This also includes the release of ASP.NET Core 2.1 and Entity Framework Core 2.1.

Link: https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/

 

ReSharper performance series

We use ReSharper to develop ReSharper. It may not always be visible, but we are working hard on improving ReSharper performance. And because those changes aren’t always visible, we are starting a blog series about the minor and major changes that are in the works.

Really cool series of posts so far by Maarten Balliauw and being pretty open about how ReSharper and Visual Studio work as well as how they are implementing perf improvements.

Link: https://blog.jetbrains.com/dotnet/2018/05/28/introducing-resharper-performance-series/

 

Rider 2018.1.1 is released

A polished version of Rider 2018.1 is ready. Just click download to get the latest Rider 2018.1.1 bug-fix update working on your machine.

Support for .NET Core 2.1 Project Templates and a pile of bug fixes.

Link: https://blog.jetbrains.com/dotnet/2018/05/25/rider-2018-1-1-released/

 

EF Core: Client vs. Server Evaluation

Entity Framework Core supports parts of the query being evaluated on the client and parts of it being pushed to the database. It is up to the database provider to determine which parts of the query will be evaluated in the database.

I thought this was really interesting.  By default it will produce warnings when client side evaluation occurs, but you may want configure to completely disable.

Link: https://docs.microsoft.com/en-us/ef/core/querying/client-eval

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.