Новое в журнале. CISA подтвердила эксплуатацию PHP2Shell, срок — 29 октября

Все разборы журнала

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

44 разборов

GitHub Enterprise Server закрыл утечку памяти в Git-сервисе по SSH
Разборы и проверки5 мин

GitHub Enterprise Server закрыл утечку памяти в Git-сервисе по SSH

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

4 ноября 2026
Как спроектировать API для мобильного приложения, чтобы бэкенд не стал бутылочным горлышком
Принципы и архитектура7 мин

Как спроектировать API для мобильного приложения, чтобы бэкенд не стал бутылочным горлышком

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

3 ноября 2026
Symfony решает, нужен ли фреймворку собственный ORM
Принципы и архитектура4 мин

Symfony решает, нужен ли фреймворку собственный ORM

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

3 ноября 2026
Composer 2.11 добавил карантин для новых версий пакетов
PHP и бэкенд5 мин

Composer 2.11 добавил карантин для новых версий пакетов

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

2 ноября 2026
Дизайн-система в коде: как не превратить UI в хаос
Принципы и архитектура9 мин

Дизайн-система в коде: как не превратить UI в хаос

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

30 октября 2026
GitHub Copilot Max: ИИ теперь официально одобряет pull request
Инструменты5 мин

GitHub Copilot Max: ИИ теперь официально одобряет pull request

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

30 октября 2026
Каталог code smell для начинающих разработчиков: как распознать и что делать
Практика и проекты18 мин

Каталог code smell для начинающих разработчиков: как распознать и что делать

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

29 октября 2026
GhostAction: как вредоносные GitHub Actions воруют секреты CI/CD
Разборы и проверки5 мин

GhostAction: как вредоносные GitHub Actions воруют секреты CI/CD

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

29 октября 2026
Выбор технологического стека для нового проекта в 2026
Принципы и архитектура9 мин

Выбор технологического стека для нового проекта в 2026

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

28 октября 2026
CISA подтвердила эксплуатацию PHP2Shell, срок — 29 октября
PHP и бэкенд5 мин

CISA подтвердила эксплуатацию PHP2Shell, срок — 29 октября

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

28 октября 2026
Symfony 8.2 переносит подпись сообщений с хендлера на транспорт
PHP и бэкенд5 мин

Symfony 8.2 переносит подпись сообщений с хендлера на транспорт

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

27 октября 2026
Миграции базы данных без даунтайма: что ломает прод, а что безопасно
Практика и проекты9 мин

Миграции базы данных без даунтайма: что ломает прод, а что безопасно

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

27 октября 2026
Тестовое покрытие: сколько кода реально достаточно покрыть
Практика и проекты11 мин

Тестовое покрытие: сколько кода реально достаточно покрыть

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

26 октября 2026
Уязвимость в Brotli грозит RCE в Node.js и Next.js
Разборы и проверки6 мин

Уязвимость в Brotli грозит RCE в Node.js и Next.js

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

26 октября 2026
Топ-8 веб-студий для разработки сайта под ключ в 2026
Разборы и проверки11 мин

Топ-8 веб-студий для разработки сайта под ключ в 2026

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

25 октября 2026
iPhone Duo в продаже: что это значит для мобильной разработки
Практика и проекты5 мин

iPhone Duo в продаже: что это значит для мобильной разработки

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

23 октября 2026
Дизайн API для долгой жизни проекта
Принципы и архитектура9 мин

Дизайн API для долгой жизни проекта

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

23 октября 2026
Технический долг: как его считать, а не просто ругать
Принципы и архитектура9 мин

Технический долг: как его считать, а не просто ругать

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

22 октября 2026
Laravel 13.38 лечит чтение с устаревшей реплики
PHP и бэкенд5 мин

Laravel 13.38 лечит чтение с устаревшей реплики

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

22 октября 2026
Микросервисы vs монолит: когда действительно делить систему
Принципы и архитектура9 мин

Микросервисы vs монолит: когда действительно делить систему

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

21 октября 2026
PHP закрыл два критических RCE 21 октября
PHP и бэкенд5 мин

PHP закрыл два критических RCE 21 октября

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

21 октября 2026
Маленькие pull request: почему их быстрее ревьюят и как резать задачу
Разборы и проверки8 мин

Маленькие pull request: почему их быстрее ревьюят и как резать задачу

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

28 июля 2026
Чек-лист безопасности веб-приложения перед релизом
Разборы и проверки9 мин

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

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

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

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

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

7 июля 2026
Фича-флаги на практике: типы флагов, выкатка на процент и как их не накопить
Практика и проекты8 мин

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

30 июня 2026
Рефакторинг легаси без страха: тесты-характеристики и маленькие шаги
Практика и проекты9 мин

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

23 июня 2026
Как писать техническую документацию, которую реально читают
Рост и обучение9 мин

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

16 июня 2026
Оценка задач для разработчика: диапазоны вместо точных чисел
Рост и обучение8 мин

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

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

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

2 июня 2026
Интерактивный rebase в Git: squash, fixup, reword и autosquash
Инструменты9 мин

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

26 мая 2026
Docker Compose для локальной разработки PHP: php-fpm, nginx, MySQL
Инструменты9 мин

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

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

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

12 мая 2026
Enum и readonly-классы в PHP: value objects без лишнего кода
PHP и бэкенд9 мин

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

5 мая 2026
Composer без боли: версии, lock-файл и аудит зависимостей
PHP и бэкенд10 мин

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

28 апреля 2026
Property hooks и асимметричная видимость в PHP 8.4 на практике
PHP и бэкенд9 мин

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

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

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

14 апреля 2026
YAGNI: как не писать код «на будущее», которое не наступит
Принципы и архитектура9 мин

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

7 апреля 2026
SOLID без догм: пять принципов на примерах PHP
Принципы и архитектура10 мин

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

31 марта 2026
HTTP-кеширование без мифов: Cache-Control, ETag и версии ассетов
Практика и проекты9 мин

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

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

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

17 марта 2026
Как технически проверить сайт агентства или подрядчика перед оплатой
Разборы и проверки8 мин

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

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

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

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

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

24 февраля 2026
Чек-лист код-ревью: что проверять, кроме того, работает ли код
Разборы и проверки8 мин

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

17 февраля 2026
git bisect: как найти коммит, сломавший прод, за десяток шагов
Инструменты7 мин

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

10 февраля 2026
Какой раздел computer science нужен практикующему разработчику
Рост и обучение9 мин

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

3 февраля 2026
Инструменты проверки качества PHP-кода: что реально встроить в CI
PHP и бэкенд10 мин

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

27 января 2026
Как находить идеи для пет-проектов, а не искать их в чужих списках
Практика и проекты7 мин

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

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

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

13 января 2026
Пет-проекты разработчика: как довести их до рабочей версии
Практика и проекты7 мин

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

6 января 2026
10 привычек, которые делают веб-разработчика сильнее
Рост и обучение9 мин

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

23 декабря 2025
Типизация в PHP: частые ошибки в type hints от PHP 7 до 8.4
PHP и бэкенд9 мин

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

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

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

9 декабря 2025
Анемичная доменная модель: почему сущности без поведения мстят позже
Принципы и архитектура9 мин

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

2 декабря 2025
Vim и Neovim как PHP IDE в 2026 году: LSP, автодополнение, отладка
Инструменты8 мин

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

25 ноября 2025
KISS на практике: как простота становится инженерным решением
Принципы и архитектура8 мин

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

18 ноября 2025
Поиск в Vim: от /слова до замены по всему проекту
Инструменты7 мин

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

11 ноября 2025
DRY без фанатизма: когда дублирование лучше неверной абстракции
Принципы и архитектура9 мин

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

4 ноября 2025
Как разработчику быстро выучить новый язык программирования
Рост и обучение8 мин

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

28 октября 2025

Код, который не стыдно передать

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

Случайный разбор