Veille de la semaine du 10 Janvier 2022
Culture générale
Think behavior before unit tests: https://betterprogramming.pub/quit-unit-testing-classes-and-use-a-behavior-oriented-approach-306a667f9a31
5 best-practices to secure SSH: https://goteleport.com/blog/5-ssh-best-practices/
Octoverse, the state of 2021: https://octoverse.github.com/
Github & fortune 500 companies opinion, an issue for developers? (Internal sharing) https://twitter.com/hackerfantastic/status/1480194166944526336?t=a1pXDDTPWBBcCfNm1Lfhdw&s=09
Password sniffing via Wireshark: https://www.hackingarticles.in/wireshark-for-pentester-password-sniffing/
Redis Pub/Sub via Apache Kafka: https://thenewstack.io/redis-pub-sub-vs-apache-kafka/
Understanding Linux file permissions: https://www.linuxfoundation.org/blog/classic-sysadmin-understanding-linux-file-permissions/
Type-safe DI composition: https://blog.ploeh.dk/2022/01/10/type-safe-di-composition/
The key to DevSecOps success: https://bridgecrew.io/blog/the-key-to-devsecops-success-cross-team-knowledge-sharing
The 13 master servers of internet (Internal sharing): https://medium.com/geekculture/the-13-master-servers-of-internet-97c4bb800943
Zero downtime, instant deployment and rollback: https://tech.ebayinc.com/engineering/zero-downtime-instant-deployment-and-rollback/
How Uber saved 70K cores across 30 mission-critical services: https://eng.uber.com/how-we-saved-70k-cores-across-30-mission-critical-services/
Lightning fast flight search on Expedia using Apache Ignite: https://medium.com/expedia-group-tech/lightening-fast-flight-searches-on-expedia-using-apache-ignite-7c778b9c469d
An introduction to neural network: https://sirupsen.com/napkin/neural-net
Why Google treats SQL like code and you should too: https://blog.devgenius.io/why-google-treats-sql-like-code-and-you-should-too-53f97925037e
Architecture
Deciders, Composition for aggregates (Internal sharing): https://www.youtube.com/watch?v=bBI-9swoU8c
Legacy mimic: https://martinfowler.com/articles/patterns-legacy-displacement/legacy-mimic.html
Let's talk about microservices owning their data: https://blog.devgenius.io/lets-talk-about-microservices-owning-their-data-169f66d64216
Conferences
Le programme de l'AFUP Day 2022: https://event.afup.org/afup-day-2022/programme/
Interview Hubert & Clément, speakers au SymfonyWorld Winter 2021 (Internal sharing): https://blog.sensiolabs.com/fr/2022/01/10/symfony-world-winter-2021-interview-speakers-sensiolabs/
Cloud computing
How to grasp containers and Docker (a mega thread): https://twitter.com/iximiuz/status/1423984739514454033
Opinionated PHP Docker images: https://github.com/WyriHaximusNet/docker-php
Bumblebee[dot]io: https://bumblebee.io/
KubeRs, a Kubernetes client and controller runtime written in Rust: https://github.com/kube-rs/kube-rs
Database
Inspecting joins in PostgreSQL: https://databasedive.com/inspecting-joins-in-postgresql-8b1fce4852e6
Storing a pre-calculated value to optimize queries: https://twitter.com/tobias_petry/status/1480186127827058694/photo/1
Probing text-data using Postgres full-text search: https://databasedive.com/probing-text-data-using-postgresql-full-text-search-5c3dcee5854a
Reshape, a zero-downtime schema migration tool for Postgres: https://github.com/fabianlindfors/reshape
Choosing the right data type and what it mean to generate unique primary keys: https://itnext.io/choosing-the-right-data-type-means-of-generating-unique-primary-keys-d7aac92968c6
ChiselStore, a distributed SQLite + Raft: https://github.com/chiselstrike/chiselstore/
Advanced Postgres feature, a guide: https://databasedive.com/advanced-postgresql-features-a-guide-2964878989f9
MariaDB, optimize query execution time using memory storage: https://medium.com/@teguhe/mariadb-optimize-query-execution-time-using-memory-storage-engine-up-to-97-faster-353f9ba6808b
Data structures in SQL, the definitive guide: https://databasedive.com/data-structures-in-sql-the-definitive-guide-743d9d9eecdb
How COVID changed the way we work with SQL: https://databasedive.com/how-covid-changed-the-way-we-work-with-sql-ebc7ee64e787
TileDB, the universal storage engine: https://github.com/TileDB-Inc/TileDB
Parsing data with just SQL: https://databasedive.com/parsing-data-with-just-sql-a813a4f43dc0
Tools
Fx, a CLI tools to interact with JSON: https://github.com/antonmedv/fx
Folly, a open-source C++ library used at Facebook (algorithm, pattern, etc): https://github.com/facebook/folly
LazyGit, a GUI tools written in Go: https://github.com/jesseduffield/lazygit
Bat, a Cat clone with syntax highlighting and Git integration: https://github.com/sharkdp/bat
Miniflare, a local development tool for Cloudflare workers: https://blog.cloudflare.com/miniflare/
LitmusChaos, a cloud native chaos engineering platform: https://litmuschaos.io/
Réorganisez votre code PHP avec Rector (Internal sharing): https://www.youtube.com/watch?v=JKN-Ui0FcHQ
PHP
PHP-Memory, a library to interact with PHP memory: https://github.com/samlitowitz/php-memory
Infection 0.26.0 has been released, full changelog: https://infection.github.io/2022/01/10/whats-new-in-0.26.0/
Symfony
La certification Symfony 6 est disponible: https://certification.symfony.com/
Bundle structure has changed since 5.2 (Internal sharing): https://symfony.com/doc/5.2/bundles/best_practices.html#directory-structure
Frontend
JS self-profiling API in practice: https://calendar.perfplanet.com/2021/js-self-profiling-api-in-practice/
Doctrine
Doctrine, SetMaxResults and Collections are on a boat: https://hugo.alliau.me/2022/01/07/doctrine-setmaxresults-and-collections-associations-are-on-a-boat/
Bonus
Manuel de survie dans la jungle des poncifs anti-Bitcoin (Internal sharing): https://medium.com/@AlexStach/manuel-de-survie-dans-la-jungle-des-poncifs-anti-bitcoin-version-longue-523e381745ff
Digital ? Non, on utilise numérique: https://twitter.com/jpetazzo/status/1481541769913417732 (même l'Académie française le dit: https://www.academie-francaise.fr/digital)