RU

1.0 — это не зрелость, это обещание. Что мы заморозили и что сломали за три дня до этого

Первый тег проекта датирован 22 июля, шестого сентября вышла 1.0. Разница между 0.37 и 1.0 не в коде: 1.0 - это список того, что автор больше не име…

self-hostedsemverверсионированиеобратная-совместимостьмиграцииобновлениерелизchangelogмониторинг
Habr
RU

Как мы перестали копировать .gitlab-ci.yml и спасли пайплайны от хаоса с помощью модулей

Копипаст .gitlab-ci.yml по десяткам сервисов привел к config drift: пайплайны расходились, а правка одной строчки требовала 10+ MR. Вынесли логику C…

gitlab ci.gitlab-ci.ymldevopssemveryamlgitlab ci includegitlab ci componentscicd-catalogcicd
Habr
RU

Три мажора, две ошибки: проектирование API приостановки для интерпретатора машины Тьюринга

Когда «снисходительность к входным данным» становится ловушкой? Когда имя хука начинает диктовать потребителю модель мышления? Когда подстановк…

машина тьюрингаnpm-пакетbreaking changesopen sourceпроектирование интерфейсовгенераторыинтерпретаторыsemverхукиразбор полетов