Бодрый кодер
Открыть в Telegram
Меня зовут Лев, я IT Лидер в Альфа-Банке. Это мой личный блог о DevOps, разработке, системном анализе, AI и управлении IT-командами. Делюсь своими мыслями, инсайтами, полезными инструментами и тем, что меня вдохновляет. Автор: @nemirlev
Больше569
Подписчики
+124 часа
+467 дней
+6130 дней
Архив постов
570
🎯 Собрался подать доклад на HeisenBug про жизнь без Postman в корпоративной разработке. Хотел поделиться опытом, как собрать полноценный комбайн для функционального тестирования – с удобным интерфейсом, автотестами, интеграцией в пайпланы CI/CD и всем необходимым для больших команд, а главное оффлайн.
По традиции полез изучать доклады за последние 3 конференции (лайфхак: всегда делайте это перед подачей – можно и уникальность проверить, и новые идеи подчерпнуть).
И тут... джекпот! 🎰
Нашел просто бомбический доклад Александра Кузнецова из МТС банка - "Хватит использовать Postman". Ребята, это огонь! 🔥 Настолько детальный разбор проблематики и альтернативных решений, что я снимаю шляпу 🎩. Огромный труд подготовить на столько полный материал.
Если интересно – рекомендую глянуть:
Доклад на YouTube
Презентация в PDF
Полное описание на сайте конференции
Теперь придется придумывать новую тему для доклада 😅 Но я даже рад – такие находки вдохновляют и мотивируют!
P.S. Однозначно не стоит готовить пост в час ночи, мискликнул :(
#HeisenBug #APITesting #Postman #QA #Testing #TechTalks
570
🤔 Странная штука этот Хабр... Уже 5 лет как я там пишу (а читаю все 15!), и все равно не могу разгадать загадку – как работает система оценок?
Простой обзор про OrbStack без технических деталей – бам! 61 лайк, больше 200 закладок и 35к просмотров. А потом выкатываю подробный технический разбор с бенчмарками, кодом на GitHub – и всего 18 лайков 😅
Или вот еще: написал глубокую техническую статью про API-контракты (14 минут чтения, куча примеров кода) – и тут же словил дизлайки за "низкий технический уровень". Серьезно? 🧐
Начинаю подозревать, что на Хабре больше ценятся короткие, быстрочитаемые материалы типа новостей или обзоров железа. Такое ощущение, что чем глубже погружаешься в технические детали, тем меньше отклика получаешь.
Сейчас пишу еще одну статью, чтобы проверить эту теорию. Интересно, подтвердятся ли мои наблюдения? 🤓
А как вы думаете, какие статьи залетают лучше всего?
#Хабр #ITCommunity #Programming #TechWriting #DevLife
570
Для тех, кто использует Conventional Commits, commitlint - отличный инструмент для автоматической проверки формата:
feat: добавил новую фичу fix: исправил баг с авторизацией chore: обновил зависимости docs: обновил READMEНастройка через .commitlintrc.json:
{
"extends": ["@commitlint/config-conventional"]
}
Подключите husky для проверки перед коммитом, и semantic-release для автоматической генерации changelog. Теперь релизные заметки будут собираться сами!
#git #automation #DevTools570
Bruno (документация) - отличная альтернатива Postman и Insomnia для тестирования API. Главная фишка - коллекции хранятся в git как обычные файлы. Можно версионировать, ревьювить и хранить рядом с кодом.
Поддерживает переменные окружения, пре/пост процессинг и даже запуск тестов в CI. А еще есть CLI для автоматизации.
В отличие от Postman - полностью опенсорс и бесплатный (платные тарифы тоже есть, но бесплатного варианта за глаза). Из плюсов - нет облачной синхронизации, все через git и полностью офлайн, что редкость для со временного ПО.
#API #testing #DevTools
570
Для анализа метрик в Prometheus часто используют
increase(metric[5m])/300, но это не самый удачный подход. Rate(metric[5m]) даёт более точные результаты, особенно при нестабильном скрейпинге или пропуске метрик.
Rate сразу показывает значение в секунду и правильно обрабатывает counter reset. Плюс формула короче и понятнее. Win-win!
P.S. Для событий, которые случаются редко (раз в минуту или реже), лучше использовать increase.
#Prometheus #monitoring #DevOps570
А вот и статья по контрактам и OpenAPI - https://habr.com/ru/articles/860960/.
Как только опубликуют видео, обновлю в статье. Лайки очень приветствуются.
570
Наконец-то немного выдохнул после вчерашнего выступления. Это было очень круто, места в зале оказались все заняты, люди даже стояли.
Аудитория тоже была огненной, и теперь остается надеятся, что доклад окажется таким же полезным, как про контракты в начале года на AnalystDays #18.
Скоро планирую опубликовать статью на Хабре на основе моего выступления для тех, кто не видел доклада или просто захочет добавить в закладки, а пока прикладываю презентацию.
570
Очень классный доклад послушал про Event Driven архитектуру, Мария очень понятно разобрала outbox pattern и CDC. Чувствую , щас многие пойдут тыкать Debezium после доклада.
Получил идеи, чтобы улучшить в своих семинарах по базам данных в ВШЭ.
P.S. Жаль, что видео докладов только через полгода после конференции, я бы сразу мог поделиться с вами теми докладами, которые зашли.
570
Кто на Analyst Days? Можем попить кофе :)
Сегодня выступаю с докладом - От проектирования до поддержки: работа с AsyncAPI
570
Не реклама, а искренняя рекомендация.
С 19 ноября по 3 декабря в издательском доме «Питер» действуют скидка 40% на все бумажные книги по купону «Бумажная» и скидка 50% на все электронные книги по купону «Электронная».
570
Если думаете, чем заняться в воскресенье, то можете почитать мою новую статью и поставить ей лайк - https://habr.com/ru/articles/858672/
570
Для документирования архитектуры и процессов часто выбирают между BPMN и UML. Но важнее не конкретная нотация, а понимание аудитории. Технический UML-компонент идеален для разработчиков, а для бизнеса часто достаточно простой блок-схемы или белой доски и маркера.
С бизнесом еще отлично работает C4 model - начинаете с простой контекстной диаграммы, и по необходимости углубляетесь в детали. PlantUML + C4 = отличная документация в git без сложных инструментов.
А вот Enterprise Architect используйте, только если это действительно требуется процессами компании.
#SystemDesign #Documentation #Architecture
570
PM: Успеем до дедлайна?
Dev: Конечно!
открывает гугл: 'как установить Java за 5 минут'
открывает второй таб: 'Spring Boot quick start'
открывает третий таб: 'Spring Boot CRUD API'
...Устал читать...
открывает четвертый таб: 'ChatGPT, вот требования, напиши микросервис на Java'
#пятничныйюмор 😅
570
Mozilla SOPS + age решают проблему хранения секретов в Git-репозитории. SOPS шифрует только значения, оставляя структуру файла читаемой:
# До шифрования
database:
user: admin
password: super_secret
# После шифрования
database:
user: ENC[AES256_GCM,data=...]
password: ENC[AES256_GCM,data=...]
Поддерживает yaml/json/env файлы. Интегрируется с cloud KMS или локальными ключами через age. В отличие от Vault, не требует отдельного сервера.
#security #DevOps #GitOps570
Multi-stage builds и правильный .dockerignore могут уменьшить размер образа в несколько раз. Вместо этого:
FROM node:18
COPY . .
RUN npm install
RUN npm run build
Используйте:
FROM node:18-alpine AS builder
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /build /usr/share/nginx/html
А в .dockerignore добавьте node_modules, .git, tests. Образы собираются быстрее и занимают меньше места в registry.
Альтернативный подход - Buildpacks, но они менее гибкие в настройке.
#Docker #optimization #DevOps570
Для автоматизации локальных задач разработки традиционно используется Make, но есть более современная альтернатива - Task. Главные преимущества: читаемый YAML-синтаксис вместо табов, автоподгрузка .env файлов и удобные зависимости между тасками.
version: '3'
tasks:
build:
cmds:
- go build -v -i main.go
assets:
cmds:
- esbuild --bundle --minify css/index.css > public/bundle.css
version: '3'
tasks:
up:
dir: '{{.USER_WORKING_DIR}}'
preconditions:
- test -f docker-compose.yml
cmds:
- docker-compose up -d
Особенно удобно для проектов, где нужно автоматизировать разные команды: сборку, тесты, деплой. На всех OS без дополнительных зависимостей.
#DevTools #automation #productivity