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

Бодрый кодер

Ir al canal en Telegram

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

Mostrar más
505
Suscriptores
-124 horas
Sin datos7 días
+630 días
Archivo de publicaciones
По крайней мере, есть документация. #пятничныйюмор
По крайней мере, есть документация. #пятничныйюмор

Не реклама, а искренняя рекомендация. С 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

Я однозначно не могу понять, когда в opensource нужно прикладывать ID что ты не русский. Причем парень так упоролся что даже в имени и “about” написал что при необходимости может доказать что не русский. Для меня всегда OpenSource был местом, где нет место национальности, а есть профессионализму. https://habr.com/ru/news/856946/

За годы в аналитике понял главное: не спешите предлагать решения. "Нам нужна новая форма" часто означает "у нас есть проблема, и мы придумали решение". Копайте глубже - какую проблему решаем? Что мешает пользователям? Иногда настоящее решение намного проще предложенного. #SystemAnalysis #BussinessAnalysis #Tips

Собеседование: - "Расскажите о вашем опыте работы с Legacy" - "Я психологически устойчив и умею гуглить" - "Вы приняты!" Навык чтения legacy-кода без валерьянки в резюме не указан, но критически важен 😅 #пятничныйюмор"

Хороший получился «камбек» на Хабр, спустя 4-е года. В отпуске написал 5 статей, запилил benchmark для дистрибутивов Docker н
+1
Хороший получился «камбек» на Хабр, спустя 4-е года. В отпуске написал 5 статей, запилил benchmark для дистрибутивов Docker на Mac, 2 статьи опубликовал, с одной попал в ТОП - 5 публикаций за сутки, и попал в ТОП 100 авторов Хабра (попасть в целом не сложно, но вот удержаться будет сильно сложнее).

Открыл для себя HTTPie - это как curl, только для людей: # Устанавливаем на мак brew install HTTPie # Выполняем запрос http G
Открыл для себя HTTPie - это как curl, только для людей:

# Устанавливаем на мак
brew install HTTPie

# Выполняем запрос
http GET https://namaztimes.kz/ru/api/cities\?id\=almaty\&type\=json
Удобный синтаксис, красивый вывод, поддержка JSON из коробки. После него к curl возвращаться не хочется! #API #CLI #DevTools

Те кто интересуется разработкой на Java, очень рекомендую канал - https://www.youtube.com/@kotojava Автор очень скиловый, переехал в Великобританию и получил визу таланта (а для ее получения реально нужно вкалывать и быть настоящим талантом).

Надоело ждать пока соберется пайплайн? Добавьте кэширование зависимостей:

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('package-lock.json') }}
Один конфиг - и сборка ускоряется в 2-3 раза. Работает для npm, pip, gradle и других пакетных менеджеров. P.S. Аналогично можно делать не только в GitHub Actions #GitHubActions #CI #DevTools

Как в бизнесе измеряется время: Квартал: 90 дней Спринт: 14 дней Срочная задача: ПРЯМО СЕЙЧАС!!! Рефакторинг: что это и зачем? 😅 #пятничныйюмор

Выпустили новую версии телеги, 11.3. И самое крутое в этой версии - для ботов увеличили лимит сообщений до 1000 штук в секунду, но отправка сообщений оплачивается за 0,1 ⭐️ Это болезнь была давно и не позволяла например массово разослать уведомления всем пользователям, теперь это можно сделать. Причем ценник очень гуманный, особенно в сравнении с смс ( 100 звезд - 229 рублей). Получается что за 100 звезд можно отправить 1 000 000 сообщений.

Недавно я опубликовал статью [OrbStack: Почему я забыл про Docker Desktop](https://habr.com/ru/articles/853720/), которая вызвала оживленную дискуссию в комментариях. Основные вопросы возникли вокруг производительности различных Docker-подобных решений. Мои аргументы, основанные в первую очередь на личном опыте использования, оказались недостаточно убедительными. Чтобы получить объективную картину и предоставить сообществу реальные данные, я решил разработать комплексный benchmark для сравнения различных решений. Подробности в новой статье: https://habr.com/ru/articles/854832/

Event Storming - это техника моделирования бизнес-процессов с помощью цветных стикеров. Каждый цвет обозначает определенное с
Event Storming - это техника моделирования бизнес-процессов с помощью цветных стикеров. Каждый цвет обозначает определенное событие или действие в системе. Недавно применил этот подход к сложному процессу - за пару часов структурировал то, что не получалось понять неделями. Главное - правильные вопросы и не бояться переклеивать стикеры! #EventStorming #SystemAnalysis #BPM

Всегда удивляюсь тем, кто не использует алиасы в консоли. Это как печатать двумя пальцами, когда можно десятью! Вот что у меня есть в ~/.zshrc:

# Kubernetes
alias k='kubectl'
alias kns='kubectl config set-context --current --namespace'

# Brew
alias bubu='brew update && brew upgrade'

# Git
alias gst='git status'
alias gp='git pull'

# Docker
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
И это только верхушка айсберга. Каждый раз, когда замечаю, что часто печатаю одну и ту же команду - сразу делаю алиас. Пара минут на настройку экономит часы жизни! #CLI #productivity #DevTools