The Weekly Dev - 202220
Know the limits
You have a lot of good ideas and have exactly what it takes to implement them in software. Maybe not the time to follow up with all of them, you have priorities, bu something, eventually, gets done.
It's not just that it needs to work, it needs to support the scale and the averse conditions of real usage.
Don't get obsessed by tests, but rather get something working and take real feedback.
You will be surprised if people even use your product. And if they do... it'll need to scale.
You don't need to be ${big-privacy-offender} to think of scaling. It's not some sort of hybris, it is simply what it takes to have a system able to grow as much as it's needed.
Having a system that hallows you to take down part of it without failing on you.
A system that is reliable enough to be boring and not behave in surprising ways when some extra load is applied.
All of that you can measure, and it is an illuminating moment, to understand the limits of your creation or - rather - the interval in which you should aspect it to work, and how.
It's not like creating new systems, but sometimes it even feels better.
Data-Intensive Systems
Wrk - my Experiences Load-Testing with an Interesting New Tool
Source: engineering.appfolio.com
Use Apache Bench (AB) to Test a Website’s Server
Source: holisticseo.digital
200~Concurrency vs Parallelism
Source: baeldung.com
Philosophy and Programming
A primer on product management for engineers
Source: increment.com
Boring Technology
Using Java's Project Loom to build more reliable distributed systems
Source: jbaker.io
[distributed systems] [programming] [git] [privacy] [java]