Все разборы журнала
Принципы, современный PHP, Vim и Git, рост инженера и практика. Новые статьи сверху.
44 разборов


GitHub Enterprise Server закрыл утечку памяти в Git-сервисе по SSH
CVE-2026-118237: ре-кеинг SSH-сессии в Git-сервисе Enterprise Server мог вернуть клиенту чужую память процесса. Патчи 3.22.3/3.21.8/3.20.10/3.19.14 уже доступны.

Как спроектировать API для мобильного приложения, чтобы бэкенд не стал бутылочным горлышком
Выбор архитектуры, контракт, авторизация на уровне объекта, версионирование и кэш — чтобы релизы мобильного приложения не ломали клиент.

Symfony решает, нужен ли фреймворку собственный ORM
27 октября в symfony/symfony открыли RFC о собственном ORM рядом с Doctrine — что предлагается и что это значит для слоя данных сейчас.

Composer 2.11 добавил карантин для новых версий пакетов
Composer 2.11 ввёл политику cooldown: свежевыпущенная версия пакета по умолчанию не ставится в проект, пока не отлежит заданный срок.

Дизайн-система в коде: как не превратить UI в хаос
Как разработчику выстроить и поддерживать дизайн-систему прямо в коде проекта: токены, компоненты, документация и процесс ревью, чтобы UI не расползался со временем.

GitHub Copilot Max: ИИ теперь официально одобряет pull request
GitHub запустил уровень ревью Copilot code review Max и сделал одобрения pull request от ИИ общедоступными — разбираем, что это меняет в процессе ревью.

Каталог code smell для начинающих разработчиков: как распознать и что делать
Пять категорий code smell по Фаулеру, разбор частых запахов — длинный метод, класс-бог, дублирование, Feature Envy — чек-лист поиска и порядок безопасного рефакторинга.

GhostAction: как вредоносные GitHub Actions воруют секреты CI/CD
Кампания GhostAction взломала около 1900 аккаунтов GitHub и нацелена на 30 000+ репозиториев: поддельные Actions-воркфлоу воруют секреты CI/CD.

Выбор технологического стека для нового проекта в 2026
Критерии выбора стека, архитектурные подходы 2026 года, частые ошибки и практичный чек-лист для нового проекта.

CISA подтвердила эксплуатацию PHP2Shell, срок — 29 октября
CISA внесла PHP2Shell в каталог KEV после подтверждённой эксплуатации: у федеральных агентств США есть до 29 октября на патч.

Symfony 8.2 переносит подпись сообщений с хендлера на транспорт
Опция sign для транспортов Messenger: неподписанное сообщение отклоняется до чтения его типа, а не после — разбираем, зачем менять порядок проверки.

Миграции базы данных без даунтайма: что ломает прод, а что безопасно
Какие операции со схемой БД безопасны, а какие блокируют прод: expand-contract, CREATE INDEX CONCURRENTLY, фазовый деплой и чек-лист миграции.

Тестовое покрытие: сколько кода реально достаточно покрыть
Line, branch и mutation coverage, почему 90-100% не спасает от багов и сколько процентов покрытия реально нужно проекту.

Уязвимость в Brotli грозит RCE в Node.js и Next.js
CVE-2026-111497 в декодере Brotli затрагивает Node.js, Next.js и Python-пакеты. CVSS 9.2, патчи вышли 21 октября. Что проверить на своём стеке.

Топ-8 веб-студий для разработки сайта под ключ в 2026
Подборка проверенных веб-студий: как мы выбирали, кто в топе и на что смотреть, выбирая подрядчика для разработки сайта под ключ.

iPhone Duo в продаже: что это значит для мобильной разработки
Apple выпустила первый складной iPhone с iOS 27.1. Что проверить в приложении: ориентации, Device Hub, сроки App Store.

Дизайн API для долгой жизни проекта
Версионирование, обратная совместимость, нейминг, идемпотентность и пагинация: как спроектировать API, который не придётся переписывать через год.

Технический долг: как его считать, а не просто ругать
Метрики технического долга: что измерять, как считать стоимость в деньгах и в каком порядке гасить задачи на рефакторинг.

Laravel 13.38 лечит чтение с устаревшей реплики
PreventStaleDatabaseReads и usingWritePdo(): пользователь видит свою же запись сразу после сохранения, без самодельных обходов вокруг read-реплик.

Микросервисы vs монолит: когда действительно делить систему
Монолит, модульный монолит или микросервисы: измеримые сигналы, когда архитектуру пора делить, и как перейти без переписывания с нуля.

PHP закрыл два критических RCE 21 октября
PHP Foundation выпустила внеплановый патч: CVE-2026-109618 и CVE-2026-109619, обе CVSS v4.0 9.2. Что уязвимо и что делать прямо сейчас.

Маленькие pull request: почему их быстрее ревьюят и как резать задачу
Большой pull request кажется эффективным: одна задача, один обзор. На практике он тормозит ревью и прячет баги. Разбираем, как резать крупную задачу на маленькие проверяемые куски.

Чек-лист безопасности веб-приложения перед релизом

Разбор медленного запроса в MySQL 8: EXPLAIN, индексы и EXPLAIN ANALYZE

Структурированные логи: JSON, уровни, correlation id и что в них нельзя писать

Фича-флаги на практике: типы флагов, выкатка на процент и как их не накопить

Рефакторинг легаси без страха: тесты-характеристики и маленькие шаги

Как писать техническую документацию, которую реально читают

Оценка задач для разработчика: диапазоны вместо точных чисел

Как читать чужой код и быстро разобраться в незнакомом проекте

Интерактивный rebase в Git: squash, fixup, reword и autosquash

Docker Compose для локальной разработки PHP: php-fpm, nginx, MySQL

Tmux для разработчика: сессии, окна, панели и минимальный конфиг

Enum и readonly-классы в PHP: value objects без лишнего кода

Composer без боли: версии, lock-файл и аудит зависимостей

Property hooks и асимметричная видимость в PHP 8.4 на практике

Гексагональная архитектура в PHP: порты, адаптеры и когда она нужна

YAGNI: как не писать код «на будущее», которое не наступит

SOLID без догм: пять принципов на примерах PHP

HTTP-кеширование без мифов: Cache-Control, ETag и версии ассетов

Бюджет производительности сайта: как задать, измерить и удержать в CI

Как технически проверить сайт агентства или подрядчика перед оплатой

Распределённый растущий счётчик: как спроектировать без гонок и потерь

«Quantum AI»: что по-настоящему умеют квантовые компьютеры в 2026

Чек-лист код-ревью: что проверять, кроме того, работает ли код

git bisect: как найти коммит, сломавший прод, за десяток шагов

Какой раздел computer science нужен практикующему разработчику

Инструменты проверки качества PHP-кода: что реально встроить в CI

Как находить идеи для пет-проектов, а не искать их в чужих списках

Ловушки миграции со старого PHP: от 7.2 до безопасного перехода на 8.x

Пет-проекты разработчика: как довести их до рабочей версии

10 привычек, которые делают веб-разработчика сильнее

Типизация в PHP: частые ошибки в type hints от PHP 7 до 8.4

mycli: удобный консольный клиент для MySQL вместо стандартного mysql

Анемичная доменная модель: почему сущности без поведения мстят позже

Vim и Neovim как PHP IDE в 2026 году: LSP, автодополнение, отладка

KISS на практике: как простота становится инженерным решением

Поиск в Vim: от /слова до замены по всему проекту

DRY без фанатизма: когда дублирование лучше неверной абстракции

Как разработчику быстро выучить новый язык программирования
Код, который не стыдно передать
Начните с принципов, а дальше двигайтесь по рубрикам. Каждый разбор заканчивается чек-листом.
