Veille de la semaine - Numéro #31
Culture générale
Lessons learned from a failed interview: https://phpprotips.com/when-you-get-so-close
EngineeringLadders, a framework for engineering teams: https://github.com/jorgef/engineeringladders
Can types replace validation: https://blog.ploeh.dk/2022/08/22/can-types-replace-validation/
Collaboration and contracts tests: https://dev.to/jakub_zalas/collaboration-and-contract-tests-b2f
Keeping the number of partitions fixed when changing the size of a cluster: https://martinfowler.com/articles/patterns-of-distributed-systems/fixed-partitions.html
The Demeter law explained: https://www2.ccs.neu.edu/research/demeter/demeter-method/LawOfDemeter/paper-boy/demeter.pdf
How Google faced the biggest cyberattack so far (French) (@HubertLenoir): https://www.futura-sciences.com/tech/actualites/internet-google-dejoue-plus-grande-cyberattaque-histoire-100330/#xtor%3DRSS-8
Awk continues to be fixed: https://arstechnica.com/gadgets/2022/08/unix-legend-who-owes-us-nothing-keeps-fixing-foundational-awk-code/
HTTP-based microservices are a bad idea: https://medium.com/@nadinCodeHat/http-based-microservices-is-a-bad-idea-670d3db29ca6
How Discord supercharge network disks for extreme low-latency: https://discord.com/blog/how-discord-supercharges-network-disks-for-extreme-low-latency
Implementing rich results in a CMS: https://www.fermyon.com/blog/cms-rich-results
Memory alignment is important: https://dev.to/dillendev/memory-alignment-3j7e
Key-range partitions: https://martinfowler.com/articles/patterns-of-distributed-systems/key-range-partitions.html
CI / CD
Slowing down to speed up: https://slack.engineering/circuit-breakers/
Cloud computing
Differences between Linux, GNU/Linux and Alpine Linux: https://twitter.com/iximiuz/status/1560977903227383810
In pursuit of better base images: https://iximiuz.com/en/posts/containers-making-images-better/
Database
Dynamic Postgresql credentials using Hashicorp Vault: https://dev.to/breda/dynamic-postgresql-credentials-using-hashicorp-vault-with-php-symfony-go-examples-4imj
Supabase is launching Vault, an extension to manage secrets: https://supabase.com/blog/supabase-vault
SurrealDB, a scalable, distributed, collaborative document-graph database (it also supports SQL): https://github.com/surrealdb/surrealdb
Learning Postgres at the playground: https://www.crunchydata.com/blog/learn-postgres-at-the-playground
Parsing SQL: https://tomassetti.me/parsing-sql/
How SQLite scale read concurrency: https://fly.io/blog/sqlite-internals-wal/
5 SQL and indexes optimizations you might need without knowing it: https://medium.com/geekculture/5-sql-index-and-query-optimisations-you-didnt-know-you-need-5650d9c46f47
PHP
A Kafka client for PHP: https://github.com/swoole/phpkafka
Optimizing Page Experience in PHP: https://www.youtube.com/watch?v=2oTj3f7CUrI
Symfony
ArgumentResolvers received a major improvement: https://github.com/symfony/symfony/pull/47363
Tools
GitPrune, an oh-my-zsh plugin that helps to clean your current git branches (@KevinTherage): https://github.com/diazod/git-prune
An optimized distributed scheduler: https://achievers.engineering/an-optimized-distributed-scheduler-a3add3dc9e63
Cron cheatsheet: https://twitter.com/LinuxHandbook/status/1561202107075547136
Headway, a self-hosted maps stack: https://github.com/headwaymaps/headway
Vuls, an agen-free vulnerability scanner for Linux / FreeBSD: https://github.com/future-architect/vuls
Testing HTTP status code: https://httpstat.us/
Frontend
Moonrepo, a build system for the Javascript ecosystem: https://moonrepo.dev/
Bonus
Creating "discoart" using Python: https://github.com/jina-ai/discoart
The imposter syndrome isn't always the answer: https://twitter.com/_workchronicles/status/1562488414267899905