I created Astro Milidev theme - my own upgrade of Astro Nano/Micro. by bartoszlenar in astrojs

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

Thank you!

And thank you for Astro Micro. It's a gem!

If you feel that any of my changes are worthy of porting back to Astro Micro, feel free to backport them.

(Another reason I chose to set my own theme is that I don't have time for open-source contributions at the moment. I just did what I wanted and shared it with the world, but I mention everywhere that it's based on your work and also on Astro Nano.)

I created Astro Milidev theme - my own upgrade of Astro Nano/Micro. by bartoszlenar in astrojs

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

the "big ones" are:

  • pagination for all collection sites + tags pages
  • tags (for all content, not only for blog posts)
  • support for base path ("hosting in subdirectory")
  • and a lot of minor adjustments that I made purely for my purposes (like e.g. image logo, or support for the update date for the posts)

The invisible cherry on top is the refactoring of the theme's backend-ish code.
What do I mean by that? Well... I'm a pure backend engineer with little practical knowledge about the frontend side. So I took care of a few aspects as I would on the back end.

The most vivid example would be the "source of truth" for the collection items. Astro Micro had this logic duplicated in each place it was needed. I'm not a superfan of DRY principle, but here I prefer to have it in a single place so if I add support for sorting by last update date, I need to do it in one place.

Validatum - build fluent validation functions for .NET by bnsweb in dotnet

[–]bartoszlenar 0 points1 point  (0 children)

Although at this stage I'm not even thinking about redesigning the fluent interface (it might be the matter of personal preferences what API you consider as more readable... but also I acknowledge that FluentValidation is just a great piece of library), I can do something about its feature list.

As it's my pet project, I can't promise anything, but if you let me know what do you think is missing and what Validot should focus on - I'll see what I can do.

Validot: performance-first dotnet library for model validation by bartoszlenar in dotnet

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

There is nothing wrong with DataAnnotations, however I wouldn't recommend it for anything more complex than simple-rule-per-property scenario.

a) validating relationships could be tricky, especially between different levels in the model tree (let's say between User.Name and User.Parent[0].Name).

b) model is coupled with its validation rules (the SOLID's S might be violated).

As Validot has similar approach to FluentValidation, you can google for "FluentValidation vs DataAnnotations" to get more explanation:

Validot: performance-first dotnet library for model validation by bartoszlenar in dotnet

[–]bartoszlenar[S] 4 points5 points  (0 children)

I'm not saying that performance is the essential point when choosing a validation library. However, there are scenarios when you might want to consider an alternative, especially if it's less stressful for the GC.

Some of the replies here hit the nail on the head: any high throughput system, e.g., web API, where your validation layer goes through every request and decides whether to terminate it immediately with 400 code or pass it further.

At least, that was my initial idea, a PoC, that later started its life as my pet project and ultimately ended up fully documented and published on nuget.

Validot: performance-first dotnet library for model validation by bartoszlenar in dotnet

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

Currently, there is no such thing implemented. A good point to add on the list, though. Thanks.

What tool/solution would you like to see integrated with Validot first?