uz
Feedback
LinuxCamp | DevOps

LinuxCamp | DevOps

Kanalga Telegram’da o‘tish

Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C

Ko'proq ko'rsatish

📈 Telegram kanali LinuxCamp | DevOps analitikasi

LinuxCamp | DevOps (@linuxcamp_tg) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 13 959 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 131-o'rinni va Rossiya mintaqasida 47 183-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 13 959 obunachiga ega bo‘ldi.

06 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -98 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 27.85% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 10.66% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 3 888 marta ko‘riladi; birinchi sutkada odatda 1 489 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 23 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent linuxcamp, ядро, linux, диск, docker kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C

Yuqori yangilanish chastotasi (oxirgi ma’lumot 07 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

13 959
Obunachilar
-324 soatlar
-277 kunlar
-9830 kunlar
Postlar arxiv
Собери себе эстетичный IDE в терминале Представь, что ты открываешь терминал и хочешь быстро найти какой-то фрагмент кода, увидеть его контекст, а затем сразу же открыть файл ровно там, где найдено совпадение. Всё это можно сделать одной командой, не переключаясь в тяжёлую графическую IDE и не разбивая фокус. Ниже показано, как настроить такой «мини-IDE» всего за несколько минут. Будем использовать сразу: ripgrep + fzf + bat + любой редактор. Короткая версия команды:
rgo "<паттерн>" [vim|nano|bat]
Ты пишешь rgo, затем в задаёшь шаблон поиска, а через пробел — редактор, в котором хочешь открыть результат. Если второй аргумент опустить, по умолчанию откроется vim. Редактор можно заменить на nano, bat или почти любой другой: главное, чтобы он понимал, как открыть файл и перейти к нужной строке. Что происходит внутри: ripgrep (rg) мгновенно пробегает по всем файлам вашего проекта и выводит совпадения в формате "путь:строка:текст". fzf превращает этот однообразный вывод в интерактивный список, где можно перемещаться стрелками. Справа одновременно показывается фрагмент кода, а нужную строку подсвечивает bat. Когда нажимаешь Enter, выбранная строка распаршивается: скрипт узнаёт путь к файлу и номер строки. После этого файл открывается именно там, где нужно, в соответствии с тем редактором, который ты указал. Полный скрипт, который кладётся в конфиг шелла:

rgo () {
  local editor=${2:-vim}

  # ищем совпадения, показываем их в fzf с превью
  local sel=$(
    rg --line-number --no-heading --color=never "$1" \
    | fzf \
        --height 50% --border \
        --delimiter ':' \
        --preview 'bat --style=numbers --color=always --highlight-line {2} {1}' \
        --preview-window 'right:60%' \
  ) || return

  # вытаскиваем путь и номер строки
  local file=${sel%%:*}
  local rest=${sel#*:}
  local line=${rest%%:*}

  case "$editor" in
    vim)  vim +"$line" "$file" ;;
    nano) nano +"$line" "$file" ;;
    bat)  bat --style=numbers --highlight-line "$line" "$file" ;;
    *)    "$editor" "$file" ;;
  esac
}
export -f rgo
После того как вставишь этот блок в "~/.bashrc" или "~/.zshrc", перезапусти оболочку "exec $SHELL". Теперь rgo готова к работе. Вывод: В ситуациях, когда приходится много работать в терминале и редактировать файлы, такая команда заметно ускоряет работу. Одна короткая функция в конфиге превращает терминал в лёгкую и быструю среду разработки: поиск мгновенный, контекст сразу перед глазами, а файл открывается ровно на нужной строке. Попробуй, поэкспериментируй с параметрами, и, если найдёшь новые трюки, обязательно расскажи о них! LinuxCamp | #utils #bymaga

Прокачай свои пайплайны с GitLab CI — секреты для DevOps и разработчиков. Хотите, чтобы ваши пайплайны в GitLab CI были не то
Прокачай свои пайплайны с GitLab CI — секреты для DevOps и разработчиков. Хотите, чтобы ваши пайплайны в GitLab CI были не только надёжными, но и эффективными? Тогда этот вебинар — для вас!  Мы покажем, как избежать ошибок, ускорить релизы и сделать процесс работы с GitLab CI простым и предсказуемым. Ошибки, которые вы научитесь избегать: 📲чрезмерная ручная настройка: мы покажем, как сделать пайплайн автономным и стабильным 📲сложные и нечитаемые пайплайны: узнаете, как разделить логику пайплайна для лучшей поддержки и управления 📲непонимание влияния CI/CD на бизнес: мы объясним, как правильный пайплайн ускоряет процесс разработки и способствует росту бизнеса 📅 Дата: 30 июля, 19:00 (МСК) - бесплатно 👉 Записаться на вебинар — https://tglink.io/c39516a62640 Не упустите шанс сделать процесс разработки более предсказуемым и эффективным Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFHLenjr

Repost from ITCamp | AI & Code
Пацаны, биг дроп на канале! 🔥 Какой язык программирования выбрать новичку? JavaScript, Python, C/C++, Java, Go, Rust, C#, а
Пацаны, биг дроп на канале! 🔥 Какой язык программирования выбрать новичку? JavaScript, Python, C/C++, Java, Go, Rust, C#, а может быть вообще ассемблер?) Когда перед вкатунами возникает такое разнообразие опций, глаза разбегаются и непонятно, с чего начать! Выбор первого языка - очень важное событие на старте карьеры. Ошибёшься - потеряешь время, попадёшь не туда, выгоришь. Поинты, которые обсудили: — Чем опасен неверный выбор языка и как "не прогадать"? — Как найти свою нишу и в каких направлениях на старте может быть тяжелее обычного? — Какие языки правят в каждой сфере: веб, мобилки, десктоп, геймдев, ML? — Где активно используются C/C++ и стоит ли начинать с них? — Что нужно учитывать при выборе языка и на какие моменты обратить особое внимание? Смотреть на YouTube

rg (ripgrep) - самый быстрый поиск в файлах grep работает, но медленно и выводит всё подряд. rg ищет во много раз быстрее, понимает .gitignore, красиво подсвечивает совпадения и по-умолчанию пропускает бинарники. Установка по классике:

sudo apt install ripgrep
Молниеносный поиск слова во всём проекте:
rg TODO
Ищет во всех подпапках, игнорируя каталоги из .gitignore. Совпадения подсвечены, путь + номер строки показаны. Вывод только имени файла по регулярке:
rg -l '^import .*react' src
Флаг -l — показать только файлы, где найдено. Полезно, если нужно перебрать список в скрипте. Поиск и сразу количество совпадений:
rg -c "SELECT .* FROM" sql/
-c выводит «файл: число», когда важно быстро понять, где больше всего вхождений. (Если надо искать без учёта регистра — добавь -i; нужно точное слово — -w.) Можете сравнить скорости поиска:

time grep -R "somePattern" .
time rg "somePattern"
Попробуйте поискать часто используемый паттерн и если до этого не пользовались rg, то очень приятно удивитесь) Чтобы искать без учета .gitignore:

rg --no-ignore secret
Вывод: rg — это «grep на турбинах»: ищет быстрее, выводит понятнее, уважает .gitignore. Поставь и попробуй rg error в своём большом репозитории — разница чувствуется сразу. LinuxCamp | #utils

tldr — короткие примеры вместо километров man-страниц man - хорошо, но порой там много экранов опций. tldr показывает самые частые примеры одной командой. Открыл - увидел, как пользоваться. Особенно удобно тем, кто только знакомится с терминалом. Ставим за минуту:

sudo apt install tldr
После установки один раз обнови кэш страниц:
tldr -u
Примеры использования: Хочешь быстро вспомнить синтаксис tar?
tldr tar
Пример вывода команды - короткие, готовые к использованию шпоры с пояснениями. Создать архив, распаковать, посмотреть содержимое, использовать с gzip - всё по делу, без лишнего. Все работает офлайн - страницы лежат в кэше:
 - [c]reate an archive and write it to a [f]ile:
   tar cf path/to/target.tar path/to/file1 path/to/file2

 - E[x]tract a (compressed) archive [f]ile into the current directory:
   tar xvf path/to/source.tar.gz

 - Lis[t] the contents of a tar [f]ile:
   tar tvf path/to/source.tar
tldr - это именно шпаргалка: поставил, ввёл tldr <команда> и сразу видишь рабочие примеры без лишних километров текста. Утилита покрывает самые популярные команды, но для редких или новых CLI, каких-то редких кейсов естественно лучше все-таки использовать man или --help. LinuxCamp | #utils #microhelp

bat — «цветной cat» с номерами строк и подсветкой кода Хочется быстро посмотреть файл, но чтобы были цвета, номера строк и даже diff-режим? bat делает ровно это, оставаясь таким же простым, как cat. Установка:

sudo apt install bat
В Debian/Ubuntu бинарник устанавливается как batcat. Чтобы использовать просто bat, можно добавить в "~/.bashrc" или "~/.zshrc":

alias bat="batcat"
Затем:

source ~/.bashrc
Обычный просмотр с цветами:

bat nginx.conf
Синтаксис подсвечен, строки пронумерованы, длинные файлы листаются как less. Сравнить два файла:

bat --diff old.cfg new.cfg
Видишь изменения как в git diff, только без репозитория. Красивый вывод в Git:

git config --global core.pager "bat --paging=always --style=numbers"
Теперь git show и git diff автоматически открываются через bat с подсветкой. Если подсветка не нужна, добавь -p — plain. Тонкая настройка (по желанию): Создай конфиг и подправь тему/стиль:
bat --generate-config-file        # путь покажет в выводе
Список доступных тем:

bat --list-themes | less
Вывод: bat устанавливается за минуту, заменяет cat, добавляет цвета, номера строк и удобный просмотр diff. Просто, красиво и удобно. LinuxCamp | #utils

fzf - быстрый «поиск-как-пишешь» прямо в терминале fzf — небольшая утилита, которая показывает список файлов, папок, команд и интерактивно фильтрует его, пока ты печатаешь. Установка:

apt install fzf
После установки — перезапусти терминал, чтобы подключились биндинги. Быстрый поиск файлов
# ищем любой файл/папку рекурсивно от текущей точки
fzf
Начинаешь печатать — выдаётся автообновляемый список. Нажимаешь Enter → выбранный путь вставляется в командную строку (например, чтобы открыть vim $(fzf)). История команд без прокрутки:
Ctrl-R
fzf перехватывает стандартный Ctrl-R и показывает историю, которую можно фильтровать в реальном времени. Нашёл строку → Enter → команда подставилась, остаётся запустить. Минималистичная кастомизация:

export FZF_DEFAULT_OPTS="--height 40% --border --preview 'batcat --style=numbers --color=always {} | head -100'"
Что даёт: --height 40% — окно fzf занимает 40% экрана --border — рамка вокруг списка --preview — предпросмотр файла справа, с подсветкой синтаксиса через bat fzf — удобная штука, которая экономит время. Помогает быстро найти файл или команду прямо в терминале. Определенно стоит попробовать, возможно не захочется бросать 🙂 LinuxCamp | #utils

👀 Если вы в DevOps и до сих пор мониторите «как получится» — стоит заглянуть на этот вебинар 👉 23 июля в 19:00 мск поговори
👀 Если вы в DevOps и до сих пор мониторите «как получится» — стоит заглянуть на этот вебинар 👉 23 июля в 19:00 мск поговорим о том, как настроить мониторинг так, чтобы он действительно помогал: 🔹 какие инструменты реально работают (а какие просто красивые) 🔹 нужен ли сложный мониторинг всем 🔹 зачем DevOps-инженеру понимать бизнес-метрики 🔹 типовые ошибки: что ломает стабильность, и как не утонуть в алертах 🔹 как выбрать мониторинг под ваш проект — поэтапный разбор 🔝 Спикеры — Вячеслав Федосеев и Станислав Левин Оба работают с продакшеном каждый день и точно знают, когда Prometheus — спасение, а когда — боль. 👉 Регистрируйтесь в боте, будет полезно. И да, вебинар бесплатный 👌

tmux: держим терминал «живым», даже если связь пропала Иногда запускаешь на сервере сборку или бэкап, а Wi-Fi взял и оборвался. Без tmux это заканчивается внезапно — процесс тоже падает. С tmux всё спокойнее: сессия остаётся работать на сервере сама по себе. Установка:

sudo apt install tmux
Запуск и «вечная» сессия:

tmux new -s work
Работай как обычно, можно запускать тяжелые команды, которые могут очень долго выполняться. Чтобы «сложить» терминал и вернуться к нему позже нажми "Ctrl-b" затем "d". Сессия остаётся жить на сервере в фоне. Можно смело закрыть вкладку SSH. Повторное подключение: Подключись снова хоть через неделю:

tmux attach -t work
Попадаешь в ту же сессию и видишь, чем закончилась сборка. Совместная работа: Оба пользователя SSH-атся на сервер, один запускает:

tmux new -s pair
Второй подключается тем же:

tmux attach -t pair
Теперь видно один и тот же терминал. Вывод: tmux - страховой полис от разрывов SSH и удобный рабочий стол внутри терминала: долгие сборки не падают, окна и сплиты сохраняются, а сессию можно делить с коллегами. LinuxCamp | #utils

Хочешь освоить профессию DevOps-инженер, но не знаешь с чего начать? Тебе знакомо это чувство: открываешь вакансию DevOps, а
Хочешь освоить профессию DevOps-инженер, но не знаешь с чего начать? Тебе знакомо это чувство: открываешь вакансию DevOps, а там — десятки технологий, и каждая требует опыта? Ты пытаешься учить всё подряд, но в итоге тратишь месяцы, а работодатели всё равно говорят: "Не хватает знаний/опыта". DevOps — это не про зубрежку инструментов, а про системный подход. Нужно понимать, что учить в первую очередь, а с чем можно повременить. Чтобы не метаться между мануалами и не тратить время впустую, подписывайся на канал Евгения Вдовиченко. Он вырос из эникея в Senior DevOps Engineer и получил опыт работы в Сбере, МТС, TerraLink и других компаниях, а так же вел курс - профессия DevOps-инженер и успешно обучил 500+ учеников. Недавно он записал гайд - Как освоить профессию DevOps-инженер с нуля в 2025 году. В котором рассказывает о том, какие технологии и инструменты стоит изучать, а на какие не нужно тратить время и силы. Гайд доступен в закрепе канала Евгения! Подписывайтесь, здесь личный опыт как и что изучать для успешного вкатывания в DevOps. 👉 evgeniyvdovichenko

Признавайтесь, кто таким промышляет?)) LinuxCamp | #memes
Признавайтесь, кто таким промышляет?)) LinuxCamp | #memes

Портфорвардинг по ssh Многие используют SSH исключительно для подключения к серверу, но не все знают о портфорвардинге — функции, которая позволяет значительно расширить способы взаимодействия с удалённой машиной. Ниже — несколько полезных сценариев: Пример 1: Доступ к внутренней БД через туннель Если на сервере работает PostgreSQL, настроенный на прослушивание только localhost, то подключиться к нему снаружи напрямую не получится. В этом случае выручит локальный туннель:

ssh -L 5432:localhost:5432 user@remote_host
Теперь на твоей локальной машине порт 5432 будет связан с портом 5432 на удалённой, и ты сможешь подключаться к базе данных, как будто она работает у тебя локально. Пример 2: Реверсивный SSH — проброс внутрь NAT’а Если у тебя домашний сервер, который находится за NAT и не имеет внешнего IP, можно настроить обратный (reverse) туннель через внешний VPS:

ssh -R 2222:localhost:22 user@your-vps.com
После этого с VPS-сервера ты сможешь подключиться обратно к домашнему серверу:

ssh -p 2222 user@localhost
Пример 3: Dynamic SOCKS proxy Можно превратить SSH-сессию в полноценный SOCKS5-прокси-сервер, через который будут проходить запросы браузера, curl или других инструментов:

ssh -D 1080 user@remote_host
Указав в настройках прокси localhost:1080, ты получишь простой VPN без дополнительного ПО. LinuxCamp | #utils

Что такое Docker Swarm и как с ним работать Когда ты используешь только "docker compose" и поднимаешь по 1 сервису в контейнере в какой-то момент тебе может этого стать недостаточно. Может понадобиться масштабировать сервис чтобы обрабатывать больше запросов, включить отказоустойчивость, развернуть сервис на нескольких серверах. Тогда можно использовать очень простой но достаточно мощный Docker Swarm - встроенный в Docker механизм кластеризации и управления сервисами. Ничего доустанавливать не нужно! Что такое Docker Swarm? Это режим работы Docker, в котором: 1) несколько машин объединяются в кластер (Swarm) 2) сервисы запускаются как реплики на этих машинах 3) нагрузка распределяется автоматически 4) контейнеры перезапускаются при сбоях Быстрый запуск: Инициализируй кластер на главной машине

docker swarm init
После этого она становится менеджером. Если ты работаешь на одной машине — этого уже достаточно. Создай docker-compose.yml:
services:
  api:
    image: myapi
    ports:
      - "8000:8000"
    deploy:
      # запустит 3 экземпляра nginx
      replicas: 3
   restart_policy:
        # перезапускает при сбоях
        condition: on-failure
Swarm понимает почти тот же формат compose, но использует ключ "deploy:" для настройки. В обычном docker compose блок deploy игнорируется. Запусти сервис как "стек" (stack):

docker stack deploy -c docker-compose.yml mystack
Теперь Docker Swarm создаст сервис с именем mystack_web и запустит 3 реплики nginx. А если нужно несколько машин? На других серверах запусти:
docker swarm join --token <токен> <IP-менеджера>:2377
Токен можно взять с главной машины через:
docker swarm join-token worker
Теперь у тебя кластер с множеством нод, и Swarm будет распределять нагрузку автоматически. Вывод: Docker Swarm — это простой и мощный способ масштабирования контейнеров и управления кластерами. Он отлично подходит, когда нужно что-то чуть более надежное, чем просто docker-compose, но не хочется разбираться с Kubernetes. LinuxCamp | #devops #docker #bymaga

Первый открытый Call for Papers на IT Elements 2025 — last call! 10–11 сентября ИТ-сообщество традиционно соберется на большой осенней конференции для тех, кто делает ИТ в России. Готовьтесь к новым трекам, новым спикерам и новой грандиозной площадке! Если у вас есть сильный кейс, нестандартный опыт или нешаблонное решение — пришло время предложить свой доклад. Главное требование — экспертность и новизна темы. Рассматриваются доклады по ключевым направлениям: ▪️ИТ-инфраструктура ▪️Сетевые решения ▪️Кибербезопасность ▪️Прикладные решения, AI и ML Станьте главным элементом IT Elements 2025! Узнать больше и подать заявку можно до 20 июля.

Масштабируем сервисы через docker compose --scale Хочешь, чтобы твой API обрабатывал больше запросов? Или нужно поднять несколько воркеров параллельно? Всё это можно сделать одной командой:

docker compose up --scale <сервис>=<кол-во>
Как это работает Команда "--scale" запускает несколько контейнеров одного сервиса по конфигурации "docker-compose.yml":

docker compose up --scale api=3
Создаст 3 независимых контейнера api, которые используют один и тот же образ, переменные, порты и т.д. Варианты использования Пример docker-compose.yml:
version: "3.8"
services:
  api:
    image: myapp:latest
    build: .
    ports:
      - "8000"

Важно: если nginx поднят в докере и в одной сети с апи, то порт не должен быть жёстко задан как "8000:8000", иначе только один контейнер сможет его занять. Используй:
    ports:
      - "8000"
А в nginx конфиге:

upstream backend {
    server api:8000;
    server api:8001;
    server api:8002;
}

Обычно внутри Docker все контейнеры сервиса находятся под одним именем (например, api), и Docker DNS сам решает, кому из них отдать запрос (round-robin). Если же nginx вне докер сети, то в docker-compose.yml нужно прописать все порты:
    ports:
      - "8001:8000"
      - "8002:8000"
      - "8003:8000"
И затем настроить nginx конфиг так:

upstream backend {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
    server 127.0.0.1:8003;
}

server {
    listen 80;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Теперь Nginx равномерно распределяет входящие запросы между 3 контейнерами, которые слушают на разных портах. Ограничения и подводные камни 1) Порты: нужно либо жестко прописывать порты для каждого инстанса, либо не прописывать порты жестко вообще при масштабировании; 2) Состояние контейнеров не сохраняется — это одинаковые инстансы, а не кластеры; 3) Не путай с кластеризацией — это просто локальное масштабирование; Про полноценную кластеризацию через Docker Swarm будет в одном из следующих постов :) LinuxCamp | #devops #docker

😳 Стыдно за ваш пайплайн? Исправьте это за 3 недели Ваши пайплайны нестабильны, а на собеседованиях теряетесь без практики?
😳 Стыдно за ваш пайплайн? Исправьте это за 3 недели Ваши пайплайны нестабильны, а на собеседованиях теряетесь без практики? Приглашаем вас на практикум для инженеров: будем решать реальные задачи и шлифовать пайплайны с фидбэком от эксперта. Всего за 3 недели практикума вы: 👉 Решите 3 реальных кейса — CI для проекта на Python, пересборка проекта с включением изменений, траблшутинг 👉 Получите фидбэк от эксперта — Вячеслав Федосеев (TeamLead DevOps в «Честный знак», 20+ лет в IT) разберёт ваши решения и ошибки 👉 Будете тренироваться на best practices — только практика с реальными инженерными задачами 👉 Сможете учиться без отрыва от работы — 1 задача в неделю 👉 Оформите портфолио для собеседования — решения останутся у вас в репозитории, чтобы сразу показать на собеседовании ☑️ Станете увереннее и поймёте, как пайплайн работает изнутри ❗️Для инженеров с опытом от 1 года, знакомых с Git и GitLab CI, которым не хватает практики и фидбэка. Ознакомиться с программой и присоединиться к обучению — по ссылке

Нагрузочное тестирование с помощью locust Хочешь узнать, сколько реально выдержит твой сервис под наплывом пользователей? И вот тут выходит на сцену Locust — очень простой, но мощный инструмент на Python. Locust — это нагрузочный генератор, который: - пишет сценарии на Python - запускает веб-интерфейс для управления нагрузкой - показывает реальное поведение под давлением В общем, работает как армия виртуальных пользователей, которые одновременно штурмуют твой API. Установка:

pip install locust
Пример теста:

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    wait_time = between(1, 3)
    host = "http://localhost:8000"  # Указан хост твоего апи

    @task
    def get_articles(self):
        self.client.get("/api/articles")

    @task
    def post_form(self):
        self.client.post("/api/submit", json={"name": "Locust"})
Запуск:

locust -f locustfile.py
Если ты назовёшь файл просто "locustfile.py" и запустишь команду в этой же директории, то можно вообще не указывать "-f", и Locust подхватит его автоматически. Затем открой браузер: http://localhost:8089 Укажи количество юзеров и скорость (spawn rate) и начинай тест. Что можно узнать: - RPS — сколько запросов в секунду проходит - Latency — время ответа - Failures — ошибки, 5xx и timeouts - Percentiles — насколько стабилен сервис под давлением Зачем использовать Locust? 1) проверить, на сколько пользователей хватит твоей архитектуры; 2) увидеть, какой метод тормозит при росте нагрузки; 3) смоделировать реальные сценарии (авторизация, покупка, публикация); 4) подготовиться к маркетинговой акции, запуску продукта, или… DDOS атаке; LinuxCamp | #bymaga

😈Переиграли и уничтожили SkillBox’y привет, всем остальным соболезную. Залили новые курсы, забирайте ниже: ➖Python (64гб кур
😈Переиграли и уничтожили SkillBox’y привет, всем остальным соболезную. Залили новые курсы, забирайте ниже: Python (64гб курсов) ➖C# (27гб курсов) ➖Java (45гб курсов) ➖PHP (34гб курсов) ➖Go (23гб курсов) ➖Rust (37гб курсов) ➖SQL (41гб курсов) ➖MySQL (21гб курсов) ➖Другое (114гб курсов) Не видео на ютуб, а реальный СЛИВ огромных баз. Проверь сам!🚨

Что такое docker network и зачем он нужен? Docker-сеть (docker network) - это способ связать контейнеры между собой и с внешним миром. Благодаря ей приложения в разных контейнерах могут видеть друг друга, обмениваться данными и быть изолированными от посторонних. Типы сетей: 1) bridge — дефолтная сеть для контейнеров. Работает как приватная подсеть на хосте. Контейнеры внутри могут общаться друг с другом по имени, но не видят контейнеры из других сетей. 2) host — контейнер использует сетевой стек хоста напрямую. Без изоляции, но с меньшими накладными расходами. 3) none — без сети. Полная изоляция. 4) overlay — для связи контейнеров между хостами (в Swarm-кластере). 5) macvlan — контейнеру назначается собственный MAC-адрес. Выглядит как отдельное устройство в сети. Зачем нужна Docker-сеть: Можно обращаться между сервисами внутри сети по имени контейнера, без знания IP-адреса. Это работает благодаря встроенному DNS-серверу Docker. Например, если у тебя есть два сервиса - frontend и api, то внутри одного контейнера ты можешь сделать запрос:
http://api:5000
Docker сам разрешит имя api в IP-адрес другого контейнера в той же сети. Это особенно удобно при использовании docker-compose, где имена сервисов автоматически становятся доступными как DNS-имена. Создание сети: Создать сеть можно например командой:

docker network create mynetwork
Также можно указать сеть в одном docker-compose.yml:
services:
  api:
    image: my-api
    networks:
      - mynetwork

  db:
    image: postgres:17
    networks:
      - mynetwork

networks:
  mynetwork:
В этом случае будет создана сеть и туда войдут контейнеры с апи и бд. Подключение к уже существующей сети:
services:
  frontend:
    image: myfront
    networks:
      - mynetwork

networks:
  mynetwork:
    external: true 
"external: true" говорит docker-compose, что сеть уже создана заранее (вручную или другим compose-файлом) и её не нужно пересоздавать. Добавление и удаление вручную:

docker network connect mynetwork frontend
docker network disconnect mynetwork frontend
Контейнер продолжит работу, просто будет подключён или отключён от указанной сети. Docker-сети позволяют организовать понятную, безопасную и изолированную инфраструктуру между сервисами. Даже при локальной разработке это помогает избавиться от хаоса с IP-адресами и ручными настройками. LinuxCamp | #docker #devops #bymaga

Наставничество — не работа. Это твой шанс стать тем, кого слушают и прислушиваются😀 Сейчас самое время чтобы стать наставник
Наставничество — не работа. Это твой шанс стать тем, кого слушают и прислушиваются😀 Сейчас самое время чтобы стать наставником для поколения, которое изменит мир. «Алабуга Политех» открывает двери экспертам направлений: – Бизнес-информатика 1С; – Бухгалтерский учет; – Экономика; – Русский язык как иностранный. – И многих других 😀 Реализуйте собственный потенциал и обучайте лучших студентов России и СНГ. Не теряйте возможность присоединиться к команде мечты — пишите нашему специалисту 😀 Создавайте будущее уже сегодня! 😀