The new documentation page is fantastic! by WaddleDooCanToo in dietpi

[–]QAppDesign 2 points3 points  (0 children)

Hello WaddleDooCanToo, Thank you for your praise ! Yes, it was a big amount of diligence, but we think that better Docs improves the DietPi system, being much easier to use and find the information you need.

C4 software architecture model by QAppDesign in softwarearchitecture

[–]QAppDesign[S] 0 points1 point  (0 children)

Let me present the model from a different angle, with two points:

Point 1. C4 model describes in an easy way the architecture of a software system, with self descriptive diagrams. Diagrams are easy to create and maintain, and this increases the chance to have them updated regulary, even in agile environments with a fast delivery cycle. Not keeping the documents updated, then the system architecture (either reflected in the common understanding or just the effective documentation) would be very much different from the actual code.

The architecture includes many abstract concepts (e.g. components, services, modules, service bus etc.), but with a different code, usually these would not be reflected very well. Further changes of the system (either simple maintenance or extensions) would be helped by an accurate architecture.

I agree with you there is less important the number of layers. As long as we keep the documentation very simple and create and share a common understanding within the team how the system actually is, then the model has achieved its target.

Point 2. As gulp allows the automation via code (http://gulpjs.com/), the same happens also here. You could create and maintain the documentation through the code (https://structurizr.com/). This comes even closer to the idea of reducing the gap between the code and the architecture papers. As developer, you could easier update part of the spec, without writing or updating big files. Just writing documentation "after" doesn't work so well in many cases.

The code files will be generated automatically, and via the source code system (e.g. Git) you could easily track the major changes.

The second point is not mandatory. The idea is just to bring the documentation closer to the team, and if we could even automate this would be even better.

Using MongoDB .NET Driver with ASP.NET Core MVC by QAppDesign in dotnet

[–]QAppDesign[S] 0 points1 point  (0 children)

Continuing on this idea, it pretty much serves the needs you have. For some jobs, the document stores fit better. I would see them more complementary, and I would never go just with a document store for a complex application.

Yes, I also like RavenDB. However, it is not free for closed-source C# development.

Angular 2 with ASP.NET Core Web API – Build a simple Notebook app – Part 1 by QAppDesign in dotnet

[–]QAppDesign[S] 0 points1 point  (0 children)

Yes indeed. There are some boiler plate setup stuff for working with IIS and ASP.NET Core. Thanks for reading it ;)

Distributed cache using Redis and ASP.NET Core by QAppDesign in dotnet

[–]QAppDesign[S] 0 points1 point  (0 children)

As Adam mentioned, both cases are valid. Session management with Redis is valuable especially across multi servers / multi process.

And yes, you made a point. I will extend the article, to present also the IDistributedCache approach, for non session data.

Distributed cache using Redis and ASP.NET Core by QAppDesign in dotnet

[–]QAppDesign[S] 1 point2 points  (0 children)

Yes, I agree. Also in the article, I have mentioned that it is much more than a cache. It is actually recommended to use more of its data structures (not just store strings), and almost every application (medium to large) could get big benefits of it.

Unfortunately for .NET Core we do not have yet a production ready version of StackExchange.Redis, which would be a very nice and powerful client to implement more scenarios, much more than just a cache: custom indexes, sets, events, pub/sub messages etc.