Ответ
Да, постоянно. Я считаю, что книги дают системное понимание, которое сложно получить только из статей или документации. Для backend-разработчика на PHP это особенно важно.
Мой must-read список включает:
- "Рефакторинг. Улучшение существующего кода" Мартина Фаулера — настольная книга для работы с legacy-кодом.
- "PHP 8 Objects, Patterns, and Practice" Мэтта Зандстры — отличное сочетание современных возможностей PHP и паттернов.
- "Designing Data-Intensive Applications" Мартина Клеппмана — фундаментальная работа по архитектуре распределенных систем, которая помогла мне проектировать более надежные сервисы.
Например, после прочтения о Event Sourcing мы внедрили этот подход в модуль учета финансовых транзакций на одном из проектов. Вместо прямого обновления баланса мы стали сохранять события (пополнение, списание), что решило проблемы с конкурентностью и дало полный аудитлог.
// Упрощенная реализация события
class BalanceIncreased implements Event {
public function __construct(
public readonly AccountId $accountId,
public readonly Money $amount,
public readonly DateTimeImmutable $occurredAt
) {}
}
// Вместо UPDATE accounts SET balance = balance + 100 ...
$event = new BalanceIncreased($accountId, new Money(100), new DateTimeImmutable());
$eventStore->append($event); Ответ 18+ 🔞
Блин, вот честно, иногда кажется, что все эти статьи и документация — это как фастфуд: быстро, доступно, но глубины нихуя. А книжка — это уже нормальная домашняя еда, где всё разложено по полочкам. Особенно в нашем деле, на бэкенде.
Слушай, вот мой личный топ, без которого я бы, наверное, до сих пор лапшу какую-то писал. Первое — это, блядь, просто библия, «Рефакторинг» Фаулера. Когда впервые открыл legacy-проект, где классы по тысяче строк и связи, как у мартышлюшки в голове, — вот тут-то она и спасла. Не паника, а методичное «вынюхивание душков» и рецепты, что с этим делать. Овердохуища пользы.
Потом, обязательно, что-то по самому PHP, но не про синтаксис, а про то, как на нём думать. Мне зашла книга Зандстры «PHP 8 Objects, Patterns, and Practice». Там и про новые фичи языка толково, и главное — как эти объекты и паттерны в реальную практику впиздюрить, а не просто для галочки.
Ну и вершина, от которой сам от себя охуел, когда читал, — это «Designing Data-Intensive Applications» Клеппмана. Это, ёпта, не про PHP даже, а про то, как вообще устроены серьёзные системы, которые с данными работают. Читаешь и понимаешь: вот тут у нас в проекте косяк заложен, а вот тут мы на грани фола ходим. После неё смотришь на свою архитектуру совсем другими глазами, волнение ебать.
Вот, к примеру, на одном проекте был модуль финансовых транзакций — классика: гонки, потерянные обновления, аудита нет. Прочитал про Event Sourcing, и в голове щёлкнуло. Мы же не состояние баланса храним, а историю событий! Вместо того чтобы тупо UPDATE гонять, начали события сохранять. Все проблемы с конкурентностью — как рукой сняло, да ещё и полная история всех операций появилась. Гениально же!
// Упрощенная реализация события
class BalanceIncreased implements Event {
public function __construct(
public readonly AccountId $accountId,
public readonly Money $amount,
public readonly DateTimeImmutable $occurredAt
) {}
}
// Вместо UPDATE accounts SET balance = balance + 100 ...
$event = new BalanceIncreased($accountId, new Money(100), new DateTimeImmutable());
$eventStore->append($event);
Вот видишь? Красота. Никаких гонок. Пришёл ивент — записали. А текущий баланс — это просто сумма всех ивентов. И доверия к таким данным — ебать, на порядок выше. Так что да, книги — это сила, чувак. Они не дают готовый код скопипастить, они дают мозги, чтобы самому такие решения находить.