Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
a889a9f0b8 | |||
71fc44acc5 | |||
36cd9266b3 | |||
21ff0825cc | |||
c7cdd65f87 | |||
3b2adea40f | |||
8e82c90734 | |||
ea7529c443 | |||
d83d53180d | |||
511fdbce7c | |||
e2bdc520dd | |||
d5eeda3bab |
File diff suppressed because it is too large
Load Diff
@ -70,5 +70,5 @@ links = [
|
|||||||
{ email = "mailto:adrien@okami101.io" },
|
{ email = "mailto:adrien@okami101.io" },
|
||||||
{ github = "https://github.com/adr1enbe4udou1n" },
|
{ github = "https://github.com/adr1enbe4udou1n" },
|
||||||
{ linkedin = "https://linkedin.com/in/adr1enbe4udou1n" },
|
{ linkedin = "https://linkedin.com/in/adr1enbe4udou1n" },
|
||||||
{ twitter = "https://twitter.com/adr1enbe4udou1n" },
|
{ bluesky = "https://bsky.app/profile/adr1enbe4udou1n.bsky.social" },
|
||||||
]
|
]
|
||||||
|
@ -18,7 +18,7 @@ I can develop proper API design following [**DDD / Hexa**](https://en.wikipedia.
|
|||||||
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
||||||
|
|
||||||
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
||||||
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) with [`Fluent Assertions`](https://github.com/fluentassertions/fluentassertions) for *.NET Core*
|
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) for *.NET Core*
|
||||||
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
||||||
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
||||||
|
|
||||||
|
@ -8,7 +8,5 @@ Main packages involved :
|
|||||||
* [Fluent Validation](https://fluentvalidation.net/) for strongly typed validation
|
* [Fluent Validation](https://fluentvalidation.net/) for strongly typed validation
|
||||||
* [dotnet-format](https://github.com/dotnet/format) as official formatter
|
* [dotnet-format](https://github.com/dotnet/format) as official formatter
|
||||||
* [xUnit.net](https://xunit.net/) as framework test
|
* [xUnit.net](https://xunit.net/) as framework test
|
||||||
* [Fluent Assertions](https://fluentassertions.com/) for strongly typed assertions within the API
|
|
||||||
* [Respawn](https://github.com/jbogard/Respawn) as for optimal integration tests isolation
|
|
||||||
* [Bogus](https://github.com/bchavez/Bogus) for strongly typed fake data generator
|
* [Bogus](https://github.com/bchavez/Bogus) for strongly typed fake data generator
|
||||||
* [Bullseye](https://github.com/adamralph/bullseye) as a nice CLI publisher tool with dependency graph
|
* [Bullseye](https://github.com/adamralph/bullseye) as a nice CLI publisher tool with dependency graph
|
||||||
|
@ -9,7 +9,7 @@ We'll be comparing the read performance of 6 Web APIs frameworks, sharing the sa
|
|||||||
{{< /lead >}}
|
{{< /lead >}}
|
||||||
|
|
||||||
{{< alert >}}
|
{{< alert >}}
|
||||||
Update April 2024 for PHP: I replaced previous Apache results by new [FrankenPHP](https://frankenphp.dev/). Now PHP is back in the game, with huge performance increase thanks to worker mode.
|
Outdated post, check the [lastest]({{< ref "/posts/23-web-api-benchmarks-2025" >}}) for updated benchs.
|
||||||
{{< /alert >}}
|
{{< /alert >}}
|
||||||
|
|
||||||
This is not a basic synthetic benchmark, but a real world benchmark with DB data tests, and multiple scenarios. This post may be updated when new versions of frameworks will be released or any suggestions for performance related improvement in below commentary section.
|
This is not a basic synthetic benchmark, but a real world benchmark with DB data tests, and multiple scenarios. This post may be updated when new versions of frameworks will be released or any suggestions for performance related improvement in below commentary section.
|
||||||
|
2449
content/posts/23-web-api-benchmarks-2025/index.md
Normal file
2449
content/posts/23-web-api-benchmarks-2025/index.md
Normal file
File diff suppressed because it is too large
Load Diff
1
content/posts/23-web-api-benchmarks-2025/thumb.svg
Normal file
1
content/posts/23-web-api-benchmarks-2025/thumb.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 7.7 KiB |
@ -70,11 +70,8 @@
|
|||||||
title: Vuetify Admin
|
title: Vuetify Admin
|
||||||
date: 11/2020
|
date: 11/2020
|
||||||
repo: okami101/vuetify-admin
|
repo: okami101/vuetify-admin
|
||||||
demo: https://va-demo.okami101.io/
|
|
||||||
docs: https://www.okami101.io/vuetify-admin
|
|
||||||
|
|
||||||
- name: laravel-rad-stack
|
- name: laravel-rad-stack
|
||||||
title: Laravel RAD Stack
|
title: Laravel RAD Stack
|
||||||
date: 10/2021
|
date: 10/2021
|
||||||
repo: adr1enbe4udou1n/laravel-rad-stack
|
repo: adr1enbe4udou1n/laravel-rad-stack
|
||||||
demo: https://laravel-rad-stack.okami101.io/
|
|
||||||
|
@ -74,8 +74,8 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<img src="/kube.png" width="30" height="30" alt="Kubernetes"
|
<img src="/talos-logo.svg" width="30" height="30" alt="Talos Linux"
|
||||||
title="Run on K3s over Hetzner Cloud" />
|
title="Run on Talos Linux over Hetzner Cloud" />
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden lg:block">
|
<div class="hidden lg:block">
|
||||||
{{/* Copyright */}}
|
{{/* Copyright */}}
|
||||||
|
BIN
static/kube.png
BIN
static/kube.png
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
3
static/talos-logo.svg
Normal file
3
static/talos-logo.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 203.74 226.05"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}.cls-5{fill:url(#linear-gradient-5);}</style><linearGradient id="linear-gradient" x1="101.85" y1="-15.19" x2="101.85" y2="237.81" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd200"/><stop offset="0.06" stop-color="#ffb500"/><stop offset="0.14" stop-color="#ff8c00"/><stop offset="0.21" stop-color="#ff7300"/><stop offset="0.26" stop-color="#ff6a00"/><stop offset="0.33" stop-color="#fc4f0e"/><stop offset="0.43" stop-color="#f92f1e"/><stop offset="0.51" stop-color="#f81b27"/><stop offset="0.57" stop-color="#f7142b"/><stop offset="0.68" stop-color="#df162e"/><stop offset="0.79" stop-color="#af1a38"/><stop offset="1" stop-color="#4b214c"/></linearGradient><linearGradient id="linear-gradient-2" x1="24.84" y1="-15.19" x2="24.84" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-3" x1="178.9" y1="-15.19" x2="178.9" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-4" x1="145.06" y1="-15.19" x2="145.06" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-5" x1="58.64" y1="-15.19" x2="58.64" y2="237.81" xlink:href="#linear-gradient"/></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M101.89,226.05c2.85,0,5.67-.15,8.46-.35V.35c-2.8-.21-5.62-.35-8.48-.35s-5.7.14-8.52.35V225.69c2.81.21,5.64.35,8.5.36Z"/><path class="cls-2" d="M11.56,50.9,9.12,48.47A112.82,112.82,0,0,0,.2,63.61c29.42,29.89,32.52,44.31,32.48,49.14C32.57,125,17.58,144.21,0,162a113.69,113.69,0,0,0,8.84,15.15c1-1,1.95-1.92,2.92-2.9,25.37-25.54,37.77-45.61,37.92-61.38S37.36,77,11.56,50.9Z"/><path class="cls-3" d="M192,174.29l2.92,2.9A113.69,113.69,0,0,0,203.74,162c-17.57-17.83-32.56-37.09-32.68-49.29-.11-11.9,14.79-31.15,32.46-49.18a112.88,112.88,0,0,0-8.9-15.1l-2.44,2.43c-25.8,26.05-38.27,46.34-38.12,62S166.61,148.75,192,174.29Z"/><path class="cls-4" d="M140.68,112.83c0-22,9.81-58.58,24.92-93.15A113,113,0,0,0,150.45,11c-16.54,37.27-26.78,76.91-26.78,101.87,0,24.15,11.09,64.23,27.93,101.7a113,113,0,0,0,14.84-8.77C150.85,170.73,140.68,134.07,140.68,112.83Z"/><path class="cls-5" d="M80,112.83C80,87.74,69.35,47.88,53,11.07a112.76,112.76,0,0,0-14.93,8.64C53.21,54.26,63,90.85,63,112.83c0,21.23-10.17,57.88-25.76,92.91a113.66,113.66,0,0,0,14.84,8.77C68.94,177.05,80,137,80,112.83Z"/></g></g></svg>
|
After Width: | Height: | Size: 2.7 KiB |
Submodule themes/congo updated: 475798497c...15b06a8615
Reference in New Issue
Block a user