Как доказать, что домен твой: знакомство с Domain Control Validation
Я столкнулся с этой темой, когда писал собственное приложение — из тех, что устанавливаются на сайт пользователя и работают в связке с удалённым сервером. Схема на первый взгляд тривиальная: при установке модуль отправляет на сервер свой домен и почту, сервер регистрирует нового клиента, генерирует пару ключей и возвращает их обратно. Дальше модуль общается с сервером, подписывая запросы своим секретом.
Всё выглядело просто ровно до того момента, пока я не начал задавать себе неудобные вопросы.
Mermaid.js: как создавать диаграммы для документации с помощью текста
Недавно передо мной возникла задача написать документацию для большого проекта с довольно сложной структурой.
Сама по себе документация сегодня уже не кажется такой сложной задачей, как раньше. С помощью AI можно достаточно быстро разобраться даже в большом проекте. Главное — правильно сформулировать, что именно мы хотим получить, продумать структуру документации и дать AI необходимый контекст.
Но здесь возникает другая проблема.
Сложную архитектуру не всегда удобно описывать только текстом.
OpusPlan в Claude Code — режим, который экономит и время, и токены
Последнее время я довольно активно использую OpusPlan в Claude Code. На мой взгляд, это одна из самых удобных возможностей, если регулярно работаешь с агентом над большими задачами.
Идея очень простая: Opus используется для планирования, а Sonnet — для выполнения уже готового плана. Причём переключение происходит автоматически.
Именно такая схема кажется мне наиболее логичной.
Разбираем паттерны: Active Record
Coupling и Cohesion: два понятия, которые стоит понимать каждому разработчику
Последнее время я довольно активно изучаю паттерны проектирования и архитектуру приложений. И чем больше в это погружаюсь, тем чаще встречаю два понятия, которые лежат где-то в основе практически всего — coupling и cohesion.
На первый взгляд они звучат довольно абстрактно, но на самом деле описывают очень практичные вещи: насколько части системы зависят друг от друга и насколько хорошо они подходят друг другу внутри одного модуля или класса.
PostgreSQL после многих лет с MySQL: что меня удивило
Последние годы я в основном работал с MySQL. PostgreSQL периодически встречался, но особой необходимости глубоко в него погружаться не было.
Ситуация изменилась, когда появился новый проект — AI-ассистент. Для него мне понадобились PostgreSQL, JSONB, Full-Text Search и, самое главное, pgvector для векторного поиска.
И вот после нескольких недель более плотного знакомства с PostgreSQL я понял, что это не просто «ещё одна SQL-база, почти такая же, как MySQL».
Синтаксис действительно во многом похож, но философия и набор возможностей заметно отличаются.









