Об авторе
Статьи
-
Глубокое погружение в индексы баз данных: как это устроено
architectureПодробное руководство для разработчиков по B+Tree в InnoDB, кучам (Heap) в Postgres, указателям узлов индексов, правилам составных индексов, расширенным типам индексов и избыточной записи (write amplification).
-
Базы данных под нагрузкой: запросы, индексы, MySQL vs Postgres, масштабирование | DevSense
architectureКак оптимизировать SQL и схемы, выбирать типы индексов, когда бизнес-логика в БД становится проблемой, чем отличаются MySQL и PostgreSQL в продакшене и какова реальная цена реплик, микросервисной декомпозиции и шардирования.
-
Оптимизация запросов баз данных: мастер-класс
architectureИзучите чтение EXPLAIN и EXPLAIN ANALYZE, оптимизацию JOIN-ов и CTE, внедрение keyset-пагинации и особенности работы MVCC в различных СУБД.
-
Проектирование систем сбора событий под высокой нагрузкой | DevSense
architectureКак обрабатывать тысячи входящих HTTP-событий в секунду: валидация на границе, буферные слои, пакетная запись в хранилище и предотвращение нехватки соединений с базой данных.
-
Сравнение очередей сообщений: Redis, RabbitMQ, Kafka | DevSense
architectureКак выбрать брокер для асинхронной работы: сравнение очередей в памяти (Redis), AMQP-брокеров (RabbitMQ) и журналов коммитов (Kafka) по критериям упорядоченности, масштаба, надежности и стоимости эксплуатации.
-
Наблюдаемость: логи, метрики и здоровье для Laravel и микросервисов | DevSense
architectureКак мониторить состояние приложения под нагрузкой: структурированные логи, метрики, трассировка, correlation ID между сервисами и стек инструментов от syslog до Prometheus, Loki, OpenTelemetry и APM.
-
PHP-приложения и узкое горлышко пула соединений с БД | DevSense
architectureПочему PHP-FPM и фоновые воркеры умножают число сессий СУБД, как промежуточные пулеры и прокси распределяют физические соединения и что нужно знать о режимах PgBouncer, ProxySQL и подготовленных выражениях.
-
Веб-атаки и защита: XSS, CSRF, SQLi, SSRF, IDOR и загрузки файлов | DevSense
architectureАтаки, которые встречаются чаще всего в веб-приложениях: инъекции (SQL/command), XSS, CSRF, IDOR и ошибки контроля доступа, SSRF, небезопасные загрузки файлов, clickjacking и misconfig. Практические меры, заголовки и чеклисты.
-
Архитектура API Gateway: PHP, Node, Go, Rust, gRPC и RabbitMQ | DevSense
microservicesКак спроектировать API-шлюз на границе микросервисной сети: сравнение PHP, Node, Go и Rust, маршрутизация внутреннего gRPC и RabbitMQ трафика и избежание архитектурных ошибок.
-
PHP 5.3: пространства имен, замыкания, позднее статическое связывание и миграция | DevSense
phpГайд по миграции на PHP 5.3: пространства имен и use, позднее статическое связывание (static::), анонимные функции, NOWDOC, сборщик мусора циклических ссылок и важные ломающие изменения вроде удаления передачи ссылок при вызове.
-
PHP 5.4: трейты, короткий синтаксис массивов [], встроенный сервер и миграция | DevSense
phpГайд по миграции на PHP 5.4: изучаем трейты, короткий синтаксис массивов, тайп-хинт callable, автопривязку $this в замыканиях и адаптацию кода после удаления magic_quotes и register_globals.
-
PHP 5.5: генераторы, блок finally, password_* API и миграция | DevSense
phpГайд по миграции на PHP 5.5: изучаем энергоэффективные генераторы (yield), блок finally, встроенное API хеширования паролей, синтаксис ClassName::class и отказ от mysql и preg_replace /e.
-
PHP 5.6: вариадика, распаковка аргументов, ** и миграция | DevSense
phpГайд по миграции на PHP 5.6: изучаем вариадические параметры, распаковку аргументов с помощью ..., оператор возведения в степень **, импорт функций и констант, hash_equals и новые правила TLS.
-
PHP 7.0 после 5.6: Zend Engine 3, строгие типы, ??, <=> и миграция | DevSense
phpГайд по переходу на PHP 7.0: скалярные типы, типы возвращаемых значений, операторы ?? и <=>, анонимные классы, Throwable, CSPRNG и ломающие изменения.
-
PHP 7.1 после 7.0: nullable-типы, void, деструктуризация и миграция | DevSense
phpГайд по переходу на PHP 7.1: nullable типы (?type), возвращаемый тип void, область видимости констант классов, деструктуризация масивов через [], тип iterable, мульти-catch.
-
PHP 7.2 после 7.1: тип object, расширение параметров, Libsodium и миграция | DevSense
phpГайд по переходу на PHP 7.2: тайп-хинт object, расширение типов параметров, PDO debug, LDAP EXOP, Sockets addrinfo, libsodium—и ломающие изменения (count, get_class, удаление mcrypt).
-
PHP 7.3 после 7.2: гибкий Heredoc, исключения в JSON, PCRE2 и миграция | DevSense
phpГайд по переходу на PHP 7.3: flexible heredoc/nowdoc, висячие запятые в вызовах, деструктуризация по ссылке, is_countable, array_key_first/last, JsonException, Argon2id, PCRE2—и ломающие изменения.
-
PHP 7.4 после 7.3: типизированные свойства, arrow functions, FFI и миграция | DevSense
phpГайд по переходу на PHP 7.4: typed properties, arrow functions, вариантность, ??=, spread в массивах, WeakReference, __serialize/__unserialize, OPcache preload, FFI и обратная несовместимость из практики.
-
PHP 8.0 после 7.4: JIT, union types, match и миграция | DevSense
phpPHP 8.0 на фоне 7.4: именованные аргументы, match, nullsafe, атрибуты, JIT, union types — что ломается в проде, что переписать, примеры кода.
-
PHP 8.1: Enums, Fibers, readonly и intersection types — гайд по обновлению | DevSense
phpPHP 8.1 после 8.0: enums, readonly properties, fibers, intersection/never, first-class callables — плюс правила $GLOBALS, исключения MySQLi и список deprecations.
-
PHP 8.2: новинки — readonly-классы, типы, безопасность и миграция | DevSense
phpГайд по PHP 8.2: readonly-классы, отдельные типы null/false/true, DNF, #[SensitiveParameter], расширение Random, deprecation динамических свойств и обратная несовместимость с 8.1.
-
PHP 8.3: типизированные константы, #[Override], json_validate и миграция | DevSense
phpPHP 8.3 после 8.2: #[Override], типизированные константы класса, нюансы readonly и clone, json_validate, str_increment/str_decrement, более строгий range() и proc_get_status(), deprecation assert в INI и подводные камни миграции.
-
PHP 8.4: Property Hooks, Lazy Objects, новый DOM и гайд по миграции | DevSense
phpЗаметки по переходу на PHP 8.4 (с 8.3): Property Hooks, асимметричная видимость, Lazy Objects, #[Deprecated], request_parse_body(), новый Dom\* API, array_* helper’ы, а также ключевые BC breaks и deprecations.
-
PHP 8.5: Pipe Operator, NoDiscard, URI-расширение и миграция | DevSense
phpPHP 8.5 с 8.4: |> оператор пайплайна, #[NoDiscard] и приведение (void), замыкания в константных выражениях, ext/uri, FILTER_THROW_ON_FAILURE, Opcache в бинарнике, изменения констант PDO и планирование депрекаций.
-
PHP на сервере: FPM, Swoole, воркеры и асинхронные среды | DevSense
phpИзучаем архитектуру окружения PHP: сравниваем PHP-FPM, долгоживущие серверы приложений (Swoole, RoadRunner, FrankenPHP) и асинхронные циклы событий ReactPHP/AMPHP.
-
Laravel Sail: базы данных, Redis, Postgres, MongoDB, RabbitMQ в Docker Compose | DevSense
toolsCompose-рецепты для Laravel Sail: добавление Redis, переход на PostgreSQL, запуск MongoDB с расширением PHP, RabbitMQ, Mailpit/Meilisearch, проверка работоспособности (healthcheck) и именованные тома.
-
Laravel Sail: структура .env, проброс портов, CI и отличие от продакшена | DevSense
toolsРазделение конфигурации Laravel Sail и хоста: .env.example, порты FORWARD_*, APP_URL в Docker, опциональный env_file, запуск тестов в GitHub Actions и чек-листы для релиза.
-
Laravel Sail: воркеры очередей, Horizon, Redis, RabbitMQ и failed jobs | DevSense
toolsЗапуск очередей Laravel внутри Sail: сравнение sync, redis и database, локальный запуск queue:work и Horizon, RabbitMQ с комьюнити-драйверами, failed_jobs, queue:restart и отличия от продакшена.
-
Laravel Sail: диагностика WSL2, прав доступа, портов, OPcache и Vite | DevSense
toolsРешение частых проблем с Laravel Sail: синхронизация файлов в WSL2, права доступа к storage/vendor, конфликты портов FORWARD_*, устаревший кэш Docker, настройка OPcache и Xdebug, работа с Vite и Node.
-
Laravel Sail: Докер стек для локальной разработки, версии PHP, Redis, Postgres, очереди и деплой | DevSense
toolsПрактическое руководство по Laravel Sail: смена версии PHP, добавление Redis или RabbitMQ, замена MySQL на PostgreSQL, интеграция MongoDB, запуск очередей, настройка окружения и отличия Sail от продакшн серверов.
-
Senior PHP Разработчик (Laravel)
jobsПрисоединяйтесь к команде DevSense в качестве ведущего PHP-разработчика для работы над высоконагруженными платформами документации, API и микросервисами.