A collection of (mostly) technical things every software developer should know.
☝️ These are resources I can recommend to every programmer regardless of their skill level or tech stack
Highly opinionated 💣. Not backed by science. Comes in no particular order ♻️
- Parkinson’s law
- Hofstadter’s law
- Brooks’ law
- Conway’s law (and the Inverse Conway's law)
- Cunningham’s law
- Sturgeon’s law
- Zawinski’s law
- Hyrum’s law
- Price’s law
- The Ringelmann effect
- Goodhart’s law
- Gilb’s law
- Murphy’s law
Shipping software to production so it’s available to real users is the ultimate goal of every digital product development team. There is no value in specs, designs, or changes committed to git, unless the code has made it to the production system and thus into the hands of users. The best teams ship dozens of times per day, every day, instead of every 2 weeks on particularly designated release days, or only at the end of the sprint – for those teams, shipping is a permanent state rather than an occasional event.
This branching model was facilitated with the advent of very lightweight branching that came with Git and Mercurial in the mid-2000’s, though there is evidence that Google were effectively doing the same in their Monorepo for some years before.
SQLPage
Open-source low-code web application framework.
Create full websites writing only simple database queries.
Action–domain–responder (ADR) is a software architectural pattern that was proposed by Paul M. Jones[1] as a refinement of Model–view–controller (MVC) that is better suited for web applications. ADR was devised to match the request-response flow of HTTP communications more closely than MVC, which was originally designed for desktop software applications. Similar to MVC, the pattern is divided into three parts.
Le design pattern ADR est basé sur le triptyque Action – Domain – Responder. Il est l’une des alternatives au design pattern MVC.
Il est possible de vulgariser le pattern de la façon suivante :
- Action : l’équivalent d’un contrôleur, dédié à une opération HTTP (une route) de l’application ;
- Domain : le point d'entrée logique vers le code métier ;
- Responder : en charge du traitement et du rendu de la réponse.