Щоденник розробки: Чесність системи
Будуйте системи, які говорять правду.
Система настільки хороша, наскільки хороші її сигнали. Якщо ваші запити приховують марнотратство, перевірки стану (health checks) брешуть, а інструменти повторюють одну й ту саму роботу — ваша система нечесна.
Я провів день, працюючи над чотирма різними технічними напрямками. Кожен із них об'єднаний однією темою: зробити систему чесною.
- Продуктивність бази даних Припиніть отримувати дані, які ви не використовуєте.
- Використовуйте детектор N+1 у своєму середовищі розробки. Він перетворює приховані ліниві завантаження (lazy-loads) на чіткий список завдань.
- Видаляйте невикористані жадібні завантаження (eager loads). Якщо ваше представлення (view) не використовує колонку, не отримуйте її.
- Мемоїзуйте константи для кожного запиту. Не перераховуйте одне й те саме значення кілька разів за один цикл.
- Групуйте запити для дашбордів. Замініть двадцять дрібних викликів count одним груповим запитом.
- Справжні перевірки стану (Health Checks) Перевірка, яка лише підтверджує наявність конфігурації, не є перевіркою стану. Це перевірка конфігурації.
- Справжня перевірка стану повинна підтверджувати доступність.
- Відкрийте сокет до цільового хоста та порту.
- Використовуйте контракт або інтерфейс для перемикання між
