user@elrise.ru:~

ElriseIO

// backend · ai · architecture · accumulated debt

Сайт, на котором я собираю всё, что знаю и делаю, — чтобы не размазывать по личному репозиторию. Проекты, которые доведены до работающего состояния, и заметки, которые пишутся в первую очередь для самого себя.

##проекты6
Symfony-бандл для high-load финансовых систем: type-safe Money и Currency value objects на BCMath, реестр валют с enum-разделением Fiat/Crypto/Custom (хост-приложение собирает свой набор), порт exchange-rate провайдеров через tagged services и hot-path бюджетами, валидируемыми через phpbench.
phpsymfonybcmathmoneycurrencyvalue-objectbundlefintech
DTO → Entity mapping с sentinel-паттерном для разделения «не передано» и «передано как default».
phpsymfonydoctrineddddtoarchitecture
Бандл Symfony, реализующий границу Application Layer в CQRS-shaped DDD-системе: запрос проходит через sanitize → denormalize DTO → вызов command/query handler → опциональную отправку в очередь.
phpsymfonydddcqrsapplication-layerbundleapi-platformmessenger
Symfony-бандл для high-load систем: bulk insert/update/upsert, cursor-итераторы, прямой маппинг в DTO, advisory locks, PSR-3 логирование и верифицированная cross-vendor производительность на MySQL 8, MariaDB 10.5+ и PostgreSQL 12+.
phpsymfonydoctrinedbalbundle
Symfony-бандл для маршрутизации Doctrine ORM и DBAL-операций по шардам: hash, range и uuid-стратегии, attribute/YAML-конфигурация, PSR-6 кэш, cross-shard чтения и CLI.
phpsymfonydoctrineshardingbundle
CLI-обёртка вокруг sing-box: набор JSON-профилей, share-link, генератор конфигурации, systemd-сервис и автопереключение при отказе upstream.
shclisystemdlinux
##заметки10
TLS-маскировка в Hysteria 2 и XTLS-Reality: развёртывание прокси на собственном VPS
Архитектура и развёртывание прокси-протоколов с TLS-маскировкой на собственном VPS: Hysteria 2 (QUIC) и XRay с XTLS-Reality — протоколы, установка, конфигурация systemd, hardening.
Active-active multi-DC репликация в Symfony: четыре уровня решений на DBAL + Doctrine
Архитектурное исследование пространства решений для active-active multi-DC репликации в Symfony на уровне DBAL + Doctrine: что закрыто из коробки, какие стыки между уровнями остаются серой зоной, и какие теоретические ответственности должна покрыть будущая работа.
On-page структура в RU-SEO: H1, иерархия заголовков, анкоры и alt-text
On-page — это не про плотность ключей в H1. Это про три сигнала, которые поисковик собирает из HTML: topical relevance, граф ссылок, контекст изображений. И про то, что Яндекс делает с ними иначе, чем Google.
Технический SEO для RU-сайтов: robots, sitemap, hreflang, Core Web Vitals и Schema.org
Технический SEO на RU — это не три таблицы из чек-листа. Это robots.txt с Clean-param Яндекса, sitemap без локалей, hreflang по ISO 3166-2:RU и Schema.org со специфичными для Яндекса расширениями. Разбираю по первоисточникам.
Title и Meta Description в RU и EN: почему у поисковиков нет жёсткой длины
У поисковиков нет жёсткого лимита длины title и meta description — это индустриальный миф, держится на замерах ширины пикселя. Разница RU vs EN в 2026 году всё ещё значимая.
Яндекс vs Google в RU: 18 деталей, которые реально отличаются
RU-SEO — это не два движка с разными настройками. Это два разных мира ранжирования, и 18 наблюдаемых расхождений кластеризуются вокруг трёх структурных осей: экосистемная идентичность, морфология и ПФ, YMYL-границы в RU-правовом поле.
DTO → Entity в DDD: почему «не передано» ≠ «передано как default»
Почему DTO не должен протекать в Domain Entity, где ломается маппинг частичного входа и как сохранить разницу между «не передано» и «передано как default».
Почему high-load Symfony нуждается в отдельном DBAL-слое рядом с ORM
Архитектурное обоснование отдельного DBAL-слоя рядом с ORM в high-load Symfony: где заканчивается зона ответственности ORM и какие задачи лучше решать на DBAL-уровне.
Doctrine ORM + шардирование: с чего начать строить сервис
Архитектурная позиция: шардирование — это решение на старте, а не постфактум. Где проходит граница между архитектурным фундаментом и инфраструктурным движком, и какие инварианты должен задать проект, чтобы не переписывать полсервиса через год.
Вакуум знаний: что год вне найма показал мне о рынке разработки
В прошлом году я оказался вне найма. Месяцы искал работу, параллельно строил свои проекты и в какой-то момент понял, что всё меньше хочу возвращаться в оплачиваемую работу. Эта статья — кристаллизация того, что я увидел за год, и попытка объяснить почему.
##контекст

Я разработчик-архитектор, учусь и экспериментирую. Собираю торгового бота, разрабатываю несколько SaaS в собственной инфраструктуре. Этот сайт — отражение того, что я делаю, и попытка поделиться с миром знаниями и опытом. Эксперимент, в том числе и сам по себе — не блог, не визитка, не резюме, а публичный отладочный стенд.

Большая часть моего стека и проектов лежит в приватных репозиториях. Я решил, что надо всё это структурировать и вытащить на свет божий — вдруг это ещё кому-то надо. За карьеру: обучающие платформы со стримингом видео, платёжные системы, iGaming, агрегаторы, недвижимость — об этом можно почитать на отдельной странице. На этом сайте — только то, что я делаю сейчас.

// пишу медленно. чукча не писатель, чукча разработчик. но без текста понимание не закрепляется — поэтому приходится.

Александр К.
##контрибуции

контрибуций за последний год, публичные + приватные репозитории

загрузка…GitHub →
##контакты
почтаhello@elrise.io
телеграм@Alexk136
гитхаб@alexk136 @elriseio
ответобычно в течение дня
// автопилот