ar
Feedback
Бодрый кодер

Бодрый кодер

الذهاب إلى القناة على Telegram

Меня зовут Лев, я IT Лидер в Альфа-Банке. Это мой личный блог о DevOps, разработке, системном анализе, AI и управлении IT-командами. Делюсь своими мыслями, инсайтами, полезными инструментами и тем, что меня вдохновляет. Автор: @nemirlev

إظهار المزيد
570
المشتركون
+124 ساعات
+467 أيام
+6130 أيام
أرشيف المشاركات
А вот и видео наконец-то приехало - https://vk.com/video-137540756_456239128

А у вас какой суммарный опыт? #пятничныйюмор
А у вас какой суммарный опыт? #пятничныйюмор

🎯 Собрался подать доклад на HeisenBug про жизнь без Postman в корпоративной разработке. Хотел поделиться опытом, как собрать полноценный комбайн для функционального тестирования – с удобным интерфейсом, автотестами, интеграцией в пайпланы CI/CD и всем необходимым для больших команд, а главное оффлайн. По традиции полез изучать доклады за последние 3 конференции (лайфхак: всегда делайте это перед подачей – можно и уникальность проверить, и новые идеи подчерпнуть). И тут... джекпот! 🎰 Нашел просто бомбический доклад Александра Кузнецова из МТС банка - "Хватит использовать Postman". Ребята, это огонь! 🔥 Настолько детальный разбор проблематики и альтернативных решений, что я снимаю шляпу 🎩. Огромный труд подготовить на столько полный материал. Если интересно – рекомендую глянуть: Доклад на YouTube Презентация в PDF Полное описание на сайте конференции Теперь придется придумывать новую тему для доклада 😅 Но я даже рад – такие находки вдохновляют и мотивируют! P.S. Однозначно не стоит готовить пост в час ночи, мискликнул :( #HeisenBug #APITesting #Postman #QA #Testing #TechTalks

🤔 Странная штука этот Хабр... Уже 5 лет как я там пишу (а читаю все 15!), и все равно не могу разгадать загадку – как работает система оценок? Простой обзор про OrbStack без технических деталей – бам! 61 лайк, больше 200 закладок и 35к просмотров. А потом выкатываю подробный технический разбор с бенчмарками, кодом на GitHub – и всего 18 лайков 😅 Или вот еще: написал глубокую техническую статью про API-контракты (14 минут чтения, куча примеров кода) – и тут же словил дизлайки за "низкий технический уровень". Серьезно? 🧐 Начинаю подозревать, что на Хабре больше ценятся короткие, быстрочитаемые материалы типа новостей или обзоров железа. Такое ощущение, что чем глубже погружаешься в технические детали, тем меньше отклика получаешь. Сейчас пишу еще одну статью, чтобы проверить эту теорию. Интересно, подтвердятся ли мои наблюдения? 🤓 А как вы думаете, какие статьи залетают лучше всего? #Хабр #ITCommunity #Programming #TechWriting #DevLife

Для тех, кто использует Conventional Commits, commitlint - отличный инструмент для автоматической проверки формата:
feat: добавил новую фичу
fix: исправил баг с авторизацией
chore: обновил зависимости
docs: обновил README
Настройка через .commitlintrc.json:

{
  "extends": ["@commitlint/config-conventional"]
}
Подключите husky для проверки перед коммитом, и semantic-release для автоматической генерации changelog. Теперь релизные заметки будут собираться сами! #git #automation #DevTools

Bruno (документация) - отличная альтернатива Postman и Insomnia для тестирования API. Главная фишка - коллекции хранятся в git как обычные файлы. Можно версионировать, ревьювить и хранить рядом с кодом. Поддерживает переменные окружения, пре/пост процессинг и даже запуск тестов в CI. А еще есть CLI для автоматизации. В отличие от Postman - полностью опенсорс и бесплатный (платные тарифы тоже есть, но бесплатного варианта за глаза). Из плюсов - нет облачной синхронизации, все через git и полностью офлайн, что редкость для со временного ПО. #API #testing #DevTools

Для анализа метрик в Prometheus часто используют increase(metric[5m])/300, но это не самый удачный подход. Rate(metric[5m]) даёт более точные результаты, особенно при нестабильном скрейпинге или пропуске метрик. Rate сразу показывает значение в секунду и правильно обрабатывает counter reset. Плюс формула короче и понятнее. Win-win! P.S. Для событий, которые случаются редко (раз в минуту или реже), лучше использовать increase. #Prometheus #monitoring #DevOps

А вот и статья по контрактам и OpenAPI - https://habr.com/ru/articles/860960/. Как только опубликуют видео, обновлю в статье. Лайки очень приветствуются.

+1
От_проектирования_до_поддержки_работа_с_AsyncAPI.pdf6.33 MB

Наконец-то немного выдохнул после вчерашнего выступления. Это было очень круто, места в зале оказались все заняты, люди даже
Наконец-то немного выдохнул после вчерашнего выступления. Это было очень круто, места в зале оказались все заняты, люди даже стояли. Аудитория тоже была огненной, и теперь остается надеятся, что доклад окажется таким же полезным, как про контракты в начале года на AnalystDays #18. Скоро планирую опубликовать статью на Хабре на основе моего выступления для тех, кто не видел доклада или просто захочет добавить в закладки, а пока прикладываю презентацию.

Очень классный доклад послушал про Event Driven архитектуру, Мария очень понятно разобрала outbox pattern и CDC. Чувствую , щ
Очень классный доклад послушал про Event Driven архитектуру, Мария очень понятно разобрала outbox pattern и CDC. Чувствую , щас многие пойдут тыкать Debezium после доклада. Получил идеи, чтобы улучшить в своих семинарах по базам данных в ВШЭ. P.S. Жаль, что видео докладов только через полгода после конференции, я бы сразу мог поделиться с вами теми докладами, которые зашли.

Кто на Analyst Days? Можем попить кофе :) Сегодня выступаю с докладом - От проектирования до поддержки: работа с AsyncAPI
Кто на Analyst Days? Можем попить кофе :) Сегодня выступаю с докладом - От проектирования до поддержки: работа с AsyncAPI

По крайней мере, есть документация. #пятничныйюмор
По крайней мере, есть документация. #пятничныйюмор

Не реклама, а искренняя рекомендация. С 19 ноября по 3 декабря в издательском доме «Питер» действуют скидка 40% на все бумажные книги по купону «Бумажная» и скидка 50% на все электронные книги по купону «Электронная».

Если думаете, чем заняться в воскресенье, то можете почитать мою новую статью и поставить ей лайк - https://habr.com/ru/articles/858672/

Для документирования архитектуры и процессов часто выбирают между BPMN и UML. Но важнее не конкретная нотация, а понимание аудитории. Технический UML-компонент идеален для разработчиков, а для бизнеса часто достаточно простой блок-схемы или белой доски и маркера. С бизнесом еще отлично работает C4 model - начинаете с простой контекстной диаграммы, и по необходимости углубляетесь в детали. PlantUML + C4 = отличная документация в git без сложных инструментов. А вот Enterprise Architect используйте, только если это действительно требуется процессами компании. #SystemDesign #Documentation #Architecture

PM: Успеем до дедлайна? Dev: Конечно! открывает гугл: 'как установить Java за 5 минут' открывает второй таб: 'Spring Boot quick start' открывает третий таб: 'Spring Boot CRUD API' ...Устал читать... открывает четвертый таб: 'ChatGPT, вот требования, напиши микросервис на Java' #пятничныйюмор 😅

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 #GitOps

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 #DevOps

Для автоматизации локальных задач разработки традиционно используется 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