codemonsters.log
571 subscribers
178 photos
19 videos
105 links
| Просто рассказываю про
| Научно обоснованный подход
| Рациональной и качественной разработки софта
@maxology
Download Telegram
Готовлю дом для синтетического помощника.

Купил две видюхи — RTX 3090 Ti, чтоб помощник не тормозил.

Заказал Dark Hero, чтобы раскрыть потенциал карт в режиме dual x8.
Спрашиваю у кремниевого советника перед покупкой для am4: "Норм?"
А он мне:
"ASUS ROG Crosshair VIII Dark Hero — легендарная плата, абсолютный эталон для твоей задачи. Её слоты PCIe 4.0 x16 работают в режиме x16 или dual x8. Два быстрых слота — без потери производительности."

Короче, электромать одобрила мать.

Теперь жду, когда соберу эту машину и услышу ее дыхание.

#codemonstersvlog
👍5🔥4
codemonsters.log
Ставь лайк, и я организую митап, где все подробно расскажу и покажу. Инженер, глянь подход из статьи: https://codemonsters.team/blog/2026/05/02/rational-design-skills/ Там вообще много толковых, научно обоснованных статей про модульность, корректность…
Всем привет!

В среду 17.06 в 18:30 — митап. Заходите переждать жару в позитивной компании.

Ссылка на видеовстречу: https://telemost.yandex.ru/j/1435644748

Формат свободный: общаемся, задаёте вопросы.

Я параллельно буду со скиллами разрабатывать тулзу, которую давно собирался начать. Вариантов два — выберу ближе к встрече.


Расскажу подробнее, как можно улучшать документацию своих продуктов и применять эти скиллы для:
* проектирования сервисов,
* реализации сервиса по бэклогу,
* (и с чего всё это вообще начинается)


Пришло время пообщаться в неформальной обстановке
обсудить кто где что применяет и как


#codemonstersvlog
👍42
Вчера тепло встретились с выпускниками и кураторами бэкенд-академии.

Сначала пообщались с ребятами по видео, потом посидели в баре и погуляли.
Было тепло и весело.

Что порадовало: ребята не боялись задавать прямые вопросы — о карьере, скиллах, про стандартизацию работы и мотивацию.

Я это очень ценю.
Когда люди не задают вопросов о том, что их беспокоит, становится скучно и слишком удобно.

#codemonsterslog
10👍4🔥3
📡 pinout — дневник сессии

На митапе обсудили концепцию pinout — экосистемы, которая проверяет совместимость сервисов по их спекам (OpenAPI/AsyncAPI) прямо
в CI, без генерации клиентских библиотек. Источник истины — спека в Git. Написали промпт-постановку (intent), провалидировали
план — и пошли работать с ИИ-агентом.

Что сделали за сессию 👇

🧩 Доработали концепт и обоснование
Сформулировали несущий инвариант: сервис конформен своей спеке (доказано его компонентными тестами) ⇒ совместимость спек =
реальная совместимость, а не намерений. Разобрали, почему спека-в-Git выигрывает у генерации либ, и где границы подхода.

🔀 Закрыли развилку дизайна pinout-openapi (синхронные контракты)
- заглушки и сценарии компонентных тестов потребителя выводятся из master-спеки поставщика;
- MVP инструмента = чистая функция «спека потребителя vs master-спека поставщика», симметрично async;
- генерация сценариев от спеки поставщика — доработка скилла component-tests в service-template.

🗺️ Спроектировали по скиллам (vertical slice, ROP, бизнес-логика ≠ I/O): пакет проектирования, компонентные тесты (Gherkin),
канон общего формата отчёта валидаторов. Завели бэклог экосистемы (эпики E0–E4) и план интеграции с координатором графа
pinout-netlist.

📦 Репозитории:
- Концепт → github.com/codemonstersteam/pinout
- AsyncAPI-валидатор → github.com/codemonstersteam/pinout-asyncapi
- OpenAPI-валидатор (новый) → github.com/codemonstersteam/pinout-openapi
- Netlist-координатор (новый) → github.com/codemonstersteam/pinout-netlist
- Методология/скиллы → github.com/ubik-life/service-template

🛠️ Подход к разработке — TDD маленькими инкрементами с ИИ: проектируешь модули, фиксируешь контракты, выдаёшь чёткие задачи.

➡️ На следующем митапе продолжим проектирование инструмента pinout-openapi по бэклогу.

🗓️ Вторник 23 июня, 18:30.
Ссылку на встречу пришлю за 30 мин до встречи

backlog распределенной системы храним в мета-репозитории системы

#codemonsterslog
🔥4
codemonsters.log
📡 pinout — дневник сессии На митапе обсудили концепцию pinout — экосистемы, которая проверяет совместимость сервисов по их спекам (OpenAPI/AsyncAPI) прямо в CI, без генерации клиентских библиотек. Источник истины — спека в Git. Написали промпт-постановку…
мне очень понравился формат
это то, чего я хочу от таких встреч.

Назову это шоу-опен сорс(show open source)
встречи на которых будем в реалтайме обсуждать идеи
проектировать и реализовывать все те инструменты, которые пригодятся как база для разработки платформы агентами с непрерывной поставкой, тестирование и наблюдением

#codemonstersvlog
👍4
🚀 ЗАВТРА В 18:30 — ПРЯМОЙ ЭФИР / ВСТРЕЧА

Друзья, напоминаю: завтра встречаемся в обычное время.
Ссылку на подключение дам отдельным постом ровно в 18:30 — не потеряйтесь!

🔧 Чем займёмся:

· Продолжим пилить инструменты Pinout — погружаемся глубже.

Спроектируем тулзу pinout-openapi и обсудим концепт.

Посмотрим как харнес поможет спроектировать то, что нужно.

· Живое общение: отвечу на ваши вопросы, обсудим идеи.

📌 Что было на прошлой встрече:
Мы доработали план разработки в нескольких репах, обсудили идею и подготовили постановку, которую скормили машине;)

---

Кто будет — ставьте 🔥 реакцию чтобы я знал, сколько пуншей готовить ))
До связи! 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
🔥 Пора снимать видосы!

Смешные но по делу.

Я уже подготовил дерзкий SDLC без вот этого вот консервативного финтеха ;)

Врываемся в дерзкое тестирование в нашем диком мире:
— Тесты до нагрузки (чтобы не было мучительно больно);
– нагрузку разберем позже;
— Карго-культ и те самые "усложнялки", которые инженеры подкидывают нам как сюрприз.

Мне нужен тулинг, который наконец поставит разработку платформы на поток. 🚀
Его и пилим ;)

чтобы взлететь, нужно сначала пусковую отстроить.

Поэтому стартуем с базы инженерного мастерства и ковыряем CI/CD до самых косточек.

А потом в реальном времени спроектируем сложную систему и разработаем севместно с машиной. Все расскажу и покажу.

Готовьте гиты, будет жарко!
Без лишних съездов с трассы, только прямая дорога в пром ;))). 🛠️
Highway to prod ;)

#codemonstersvlog
🔥7👍21
🛠 На митапе:
— Спроектировали pinout-openapi (C4: С1 в pinout, C2-C3 — в openapi).

— Обновили README.
— Гульнара помогла с Use Case'ами (Cockburn), документация стала чётче.

⚠️ Выявили риски со сборкой OpenApi и $ref — вынесли в таблицу. Решили не усложнять, сначала проверим в деле.


📌 План: допрограммируем по дизайну, на след. митапе (вторник) протестируем на проекте.

Получилось достойно. Давно собирался затащить c4.

Скиллы доработаны 🧸


👋 Что ещё улучшить? Пишите в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍2🔥2
🙏Собрал развернутое саммари сессии митапа

🔌 pinout: спроектировали валидатор OpenAPI-контрактов и попутно прокачали свои скиллы разработки

На этой сессии проектировали инструмент, который на pre-merge стадии в CI проверяет, что потребитель REST-сервиса совместим с
прод-контрактом поставщика — сравнением их OpenAPI-спек. Без генерации клиентских либ, без подъёма заглушек: чистая функция
«спека vs спека».

🔗 Экосистема:
https://github.com/codemonstersteam/pinout
🔗 Сам валидатор:
https://github.com/codemonstersteam/pinout-openapi
Что зацепило больше всего

📐 Системные use case по Коберну.
Оказалось, что fully-dressed use case (акторы, предусловия, основной сценарий, extensions =
режимы отказа, гарантии/exit) — это не «бумажка для галочки», а рабочая спецификация. Структура use case изоморфна Gherkin: Main
Success → happy-тест, каждый Extension → один сценарий отказа. Формула сошлась сама собой: N сценариев = 1 + число extensions.

🗺 C4 как уровни дизайна. Разложили проект по уровням C4 на Mermaid (рендерится прямо в GitHub):
• C1 (контекст экосистемы) — в концепт-репо
• C2 + C3 (контейнер + дерево модулей) — в компоненте
• C4 = тот самый системный use case «как работает программа»

📄 Живой пример:
https://github.com/codemonstersteam/pinout-openapi/blob/main/docs/design/contract-validate/c4.md

Главный инсайт — это всё прошивается в систему

Получилась сквозная трассировка:
use case (Cockburn)
→ вертикальный слайс
→ компонентный тест
→ узлы графа контрактов.

1 слайс = 1 внешний вход = 1 use case.

Ничего не выдумывается из кода — каждый компонентный тест выводится из соответствующего extension use case, с двусторонней сверкой (нет extension без теста и нет теста без extension).

Как мы доработали скиллы разработки

По следам сессии внесли правки прямо в процедуры скиллов (не в «когда-нибудь потом»):

documentation — обязательные C4-диаграммы по уровням, системный use case как C4-уровень, таблица сбоев в README, gate:
документация только по скиллу (никакой свободной прозы мимо процедур)

program-design — C4 по уровням, модель ошибок (коды → exit, «деградация видна, не маскируется под успех»), трассировка
UC→слайс→тест, conformance-gate (STOP перед хендоффом)

component-tests — режимы отказа берутся из extensions use case

роль plan-reviewer — асимметричная проверка соответствия дизайна скиллу

Плюс зашили несколько жёстких правил в скилл проектирования:
• Один внешний вход = один Request. Все параметры (включая флаги CLI) собираются в единый Request; флаг — это поле Request, а не
отдельный аргумент или «прокинутый сбоку» io.Writer. Внешний ввод парсится только в адаптере.

• Развилки по флагам — это юниты, а не компонентные тесты. Выбор «куда писать» (--out) и «в каком формате» (--format)
оформляется чистой функцией (resolveDestination, renderReport) и покрывается юнит-тестами. В компонентные сценарии идёт только
режим отказа записи — иначе матрица stdout/файл × json/md раздувает число сценариев.

• Запрет «тестового» второго метода I/O (WriteTo(io.Writer) рядом с боевым Write) — решение выносится в логику, лишний шов не
заводится.

Вывод сессии: use case по Коберну + C4 + вертикальные слайсы — это один связный конвейер, а не три отдельные практики. Когда они
сшиты, дизайн перестаёт расходиться с тестами и кодом by design.

#codemonstersvlog #разработка #архитектура #C4 #UseCase #OpenAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1👏1