RECURA | Программирование & IT
Практические советы, утилиты и обучающие материалы для разработчиков, DevOps-инженеров и системных администраторов. Всё о разработке, Linux и информационной безопасности. Реклама: @tarabuk1n РКН: clck.ru/3RnyGw Биржа: https://telega.in/c/recura_tech
Show more📈 Analytical overview of Telegram channel RECURA | Программирование & IT
Channel RECURA | Программирование & IT (@recura_tech) in the Russian language segment is an active participant. Currently, the community unites 14 621 subscribers, ranking 8 544 in the Technologies & Applications category and 44 701 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 621 subscribers.
According to the latest data from 06 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 542 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 14.45%. Within the first 24 hours after publication, content typically collects 9.35% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 113 views. Within the first day, a publication typically gains 1 367 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 13.
- Thematic interests: Content is focused on key topics such as linux, docker, devops, утилит, kubernetes.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Практические советы, утилиты и обучающие материалы для разработчиков, DevOps-инженеров и системных администраторов. Всё о разработке, Linux и информационной безопасности.
Реклама: @tarabuk1n
РКН: clck.ru/3RnyGw
Биржа: https://telega.in/c/recura_te...”
Thanks to the high frequency of updates (latest data received on 07 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
Data loading in progress...
| Date | Subscriber Growth | Mentions | Channels | |
| 07 September | +3 | |||
| 06 September | +6 | |||
| 05 September | +14 | |||
| 04 September | +37 | |||
| 03 September | +5 | |||
| 02 September | +5 | |||
| 01 September | +16 |
for ... & wait можно построить небольшой диспетчер: запускать ограниченное число процессов, сразу подхватывать освободившийся слот и запускать следующую задачу. Это особенно удобно для массовой обработки файлов, хостов и независимых команд.
📝 Динамически заполняем пул
wait -n ждёт не конкретный PID, а любой завершившийся процесс. Поэтому неважно, какая задача закончилась первой — как только слот освобождается, можно запускать следующую. Здесь одновременно работают максимум четыре задачи, а очередь не привязана к порядку их завершения.
pids=()
for host in server-{01..20}; do
while ((${#pids[@]} >= 4)); do
wait -n "${pids[@]}"
pids=($(jobs -rp))
done
ssh "$host" "hostname && uptime" &
pids+=("$!")
done
wait
📝 Узнаём, какая именно задача завершилась
В Bash 5.1+ wait -p позволяет получить идентификатор завершившегося задания. Это уже позволяет связывать результат процесса с конкретной задачей. Теперь завершение процесса можно сразу сопоставить с исходным файлом, сервером или другим объектом обработки.
declare -A task
for file in *.log; do
process "$file" &
task[$!]="$file"
done
while ((${#task[@]})); do
wait -n -p pid "${!task[@]}"
status=$?
printf '%s: exit=%d\n' "${task[$pid]}" "$status"
unset "task[$pid]"
done
📝 Превращаем это в полноценную очередь
Самый интересный вариант — вообще не создавать все процессы сразу. Храним задачи в массиве и запускаем следующую только после освобождения рабочего слота.
tasks=(server-{01..50})
declare -A running
limit=5
while ((${#tasks[@]} || ${#running[@]})); do
while ((${#tasks[@]} && ${#running[@]} < limit)); do
host="${tasks[0]}"
tasks=("${tasks[@]:1}")
ssh "$host" "deploy.sh" &
running[$!]="$host"
done
if ((${#running[@]})); then
wait -n -p pid "${!running[@]}"
rc=$?
printf '[%s] exit=%d\n' "${running[$pid]}" "$rc"
unset "running[$pid]"
fi
done
❗️ Так Bash превращается в простой планировщик: одновременно выполняется фиксированное число задач, а новые автоматически запускаются по мере освобождения ресурсов.
tags: #bash #автоматизация #полезно
🧭 @recura_tech 🌐 VK 🌐 MAX| 2 | 🔒 Основы цифровой безопасности
👁 Курс поможет разобраться в распространённых киберугрозах и освоить базовые принципы защиты данных и устройств.
Вы научитесь создавать надёжную защиту для аккаунтов и устройств, безопасно работать в интернете и управлять конфиденциальностью. Также разберётесь с резервным копированием данных и безопасным использованием облачных хранилищ.
❗️ Подойдёт всем, кто хочет повысить личную цифровую безопасность и снизить риски при работе с интернетом и данными.
⛓ Изучаем по ссылке
tags: #обучение #безопасность
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 187 |
| 3 | 🐳 Облачное размещение от Anwhale Cloud — надежная основа для ваших проектов.
🌟 VPS/VDS серверы с мгновенной активацией. Современные процессоры, NVMe-накопители, защита от DDoS.
Почему выбирают нас❓
⚡️ Мгновенная активация
Запуск виртуального сервера всего за 58 секунд после оплаты.
☄️ Стабильность
Гарантированное время бесперебойной работы 99,98%.
⚙️ Полный контроль
Доступ к полному управлению сервером и выбор любой операционной системы.
💸 Выгодные тарифы
Стоимость от 500 рублей в месяц.
🌐 Локации на выбор:
Россия, Нидерланды, Германия.
⚡️ Высокая скорость:
Современные процессоры, скоростные твердотельные накопители и канал связи 1 гигабит в секунду.
🔒 Безопасность
Надежная встроенная защита от распределенных атак.
🕯 Гибкость
Возможность масштабирования ресурсов и удобный программный интерфейс для автоматизации.
🖥 Программа приглашений
Получите по 250₽ на внутренний баланс хостинга, пригласив своего друга и оплатив сервер.
🚨 Акция: бонус 100% на пополнение!
🎁 Пополните баланс от 2000 рублей и получите еще 2000 рублей на внутренний кошелек для оплаты услуг.
Регистрируйтесь на сайте, выбирайте любой тариф и запустите проект уже сегодня!
➡️ Сайт: anwhale.cloud
⛓ Бот: @anwhalecloud_bot
⛓ Канал: @anwhalecloud | 1 236 |
| 4 | 📝 AMP
👁 ИИ-ассистент для работы с кодом, который рассматривает весь проект как единый контекст.
Он помогает находить нужные участки кода, объяснять логику, генерировать фрагменты, выполнять рефакторинг и исправлять ошибки. Интеграция с IDE и экосистемой Sourcegraph особенно полезна при работе с крупными репозиториями и сложными зависимостями.
❗️ Подойдёт разработчикам и командам, работающим с большими кодовыми базами.
⛓ Проверить в деле
tags: #утилиты #ии #разработка
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 388 |
| 5 | 🛞 Rubick
👁 Настольный клиент Kubernetes, который показывает состояние кластеров без догадок и скрытых допущений.
Он читает kubeconfig, отображает кластеры и помогает разбираться с рабочими нагрузками, сетевыми связями, логами и конфигурацией. При отсутствии данных или невозможности что-то определить приложение прямо сообщает об этом, а не делает вид, что всё в порядке.
❗️ Подойдёт DevOps-инженерам и администраторам Kubernetes, которым нужен прозрачный графический клиент для работы с кластерами.
📱 GitHub
tags: #утилиты #k8s #devops
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 516 |
| 6 | Достаем двойные листочки, сейчас мы раздадим материалы!
Ладно, тетрадки можно не рвать, но материалы рекомендуем забрать обязательно! Первые недели сентября как отличная возможность
Без лишних слов, рекомендуем всем начинающим начать с:
Видеокурс "Git для начинающих"
Гайд "Как запустить контейнер Docker из GitLab"
Гайд "Как организовать CI/CD с Gitlab"
Там же пришлём полезные материалы и ещё несколько бесплатных видеокурсов!
#реклама
О рекламодателе | 998 |
| 7 | 🐍 Автоматический запуск команд с ограничением ресурсов через asyncio и subprocess
👁 В инфраструктурной автоматизации Python часто выступает оркестратором для CLI-инструментов: rsync, ssh, kubectl, terraform, docker. Проблема начинается, когда одна команда зависает или одновременно запускается слишком много процессов. asyncio позволяет управлять десятками внешних команд, ограничивать параллельность и автоматически завершать зависшие операции.
📝 Параллельный запуск команд с таймаутом
import asyncio
async def run(cmd, sem):
async with sem:
proc = await asyncio.create_subprocess_exec(
*cmd, stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE
)
try:
out, err = await asyncio.wait_for(
proc.communicate(), timeout=30
)
except asyncio.TimeoutError:
proc.kill()
await proc.wait()
raise
return proc.returncode, out, err
async def main():
sem = asyncio.Semaphore(5)
jobs = [
["ssh", host, "uptime"]
for host in ["server1", "server2", "server3"]
]
results = await asyncio.gather(
*(run(job, sem) for job in jobs)
)
for code, out, err in results:
print(code, out.decode().strip())
asyncio.run(main())
📌 Как это работает:
• Semaphore(5) ограничивает количество одновременно работающих процессов, поэтому автоматизация не создаёт неконтролируемую нагрузку на систему или сеть.
• wait_for() устанавливает таймаут для каждой команды. Если внешний процесс зависает, Python принудительно завершает его и освобождает воркер.
• asyncio.gather() позволяет собрать результаты множества операций в одной точке, что удобно для массового выполнения команд на серверах.
❗️ Такой подход превращает Python-скрипт в небольшой оркестратор: можно параллельно выполнять ssh, kubectl, docker или любые другие CLI-команды, сохраняя контроль над количеством процессов и временем выполнения каждой операции.
tags: #python #автоматизация #разработка
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 079 |
| 8 | 🔥 DevOps-инженерия на практике
👁 Курс знакомит с ключевыми инструментами и подходами DevOps — от контроля версий и IaC до контейнерной оркестрации и облачной инфраструктуры.
Освоите Terraform и Ansible для автоматизации, Kubernetes для управления масштабируемыми системами, а Prometheus и Grafana — для мониторинга и анализа производительности. Также разберётесь с DevOps-подходами в облачных платформах и автоматизацией развёртывания приложений.
❗️ Подойдёт начинающим DevOps-инженерам и разработчикам, которые хотят системно освоить инструменты современной инфраструктуры.
⛓ Изучаем по ссылке
tags: #обучение #devops
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 598 |
| 9 | Лента айтишника в Телеграме - это либо копипаст новостей, либо мемы. Практику и реальный продакшен приходится собирать по крупицам среди гигабайтов шума.
При этом расти только в своем фреймворке невозможно: без понимания смежных процессов - от девопса и архитектуры до безопасности и менеджмента - сеньором не стать.
Чтобы не тратить часы на фильтрацию мусора, мы собрали авторов-практиков в одну папку IT.
Что внутри:
— Бэкенд, архитектурные решения и разбор факапов
— DevOps, инфраструктура и CI/CD
— Безопасность, системный анализ и QA
— Тимлидство, архитектура процессов и управление командами
👉🏻 Добавить папку в Telegram в один клик | 1 530 |
| 10 | 🔒 MCP Scanner
👁 MCP Scanner — инструмент для проверки MCP-серверов и их инструментов на потенциальные угрозы безопасности.
Он объединяет анализ через YARA, LLM и Cisco AI Defense, а также умеет проверять зависимости на CVE, исходный код, MCP-инструменты, промпты и ресурсы. Есть статическое сканирование для CI/CD и изолированных сред, поддержка собственных YARA-правил и подробные отчёты.
❗️ Подойдёт специалистам по ИБ и разработчикам, которые используют MCP и хотят проверять серверы и инструменты перед развёртыванием.
⛓ Проверить в деле
tags: #безопасность #ии
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 696 |
| 11 | Участвуй в КосмоХакатоне 4–6 сентября, решай реальные космические кейсы, поборись за 1,2 млн ₽ и шанс попасть в финал в Москве!
С 4 по 6 сентября в Ростове-на-Дону пройдёт КосмоХакатон Южного и Северо-Кавказского федеральных округов — масштабное соревнование для тех, кто готов превратить данные о нашей планете в реальные технологические решения.
Один хакатон — два формата: участвовать можно очно в Ростове-на-Дону или онлайн из любой точки России. Все команды работают над едиными кейсами, оцениваются по одинаковым критериям и участвуют в общем рейтинге.
В рамках хакатона также пройдёт открытая лекция «Применение космических технологий для решения экологических задач» от Игоря Кожелина, CEO SR Data.
Призовой фонд — 1 200 000₽
Даты проведения: 4–6 сентября
Формат: онлайн и офлайн
Очная площадка: Центр развития предпринимательства «Новый Ростов», ул. Максима Горького, 151, 4 этаж.
🔗 Зарегистрироваться: https://космохакатон.рф | 1 655 |
| 12 | 👨💻 Database Lab Engine
👁 Database Lab Engine позволяет создавать ветки и тонкие клоны PostgreSQL без полноценного копирования базы. Клонирование выполняется за секунды независимо от размера исходной БД, поэтому можно быстро поднимать отдельные окружения для разработки, тестирования и анализа запросов.
Инструмент использует Copy-on-Write через ZFS или LVM, поддерживает PostgreSQL 10–18 и предоставляет CLI, API и веб-интерфейс. Базы можно использовать для тестирования изменений в CI/CD, оптимизации SQL и проверки решений ИИ на production-подобных данных.
❗️ Подойдёт разработчикам, DevOps и администраторам PostgreSQL, которым нужны изолированные копии больших баз без затрат на полноценное дублирование.
📱 GitHub
tags: #утилиты #sql #полезно
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 699 |
| 13 | 🐳 Kubernetes: передача GPU и других устройств в контейнер без privileged
👁 Для сервисов, работающих с GPU, /dev-устройствами или специализированным железом, часто используют privileged: true. Это даёт контейнеру слишком широкие права, хотя приложению обычно нужен только конкретный ресурс. В Kubernetes можно описать устройство точечно через Device Plugin и получить его в Pod как обычный ресурс.
📝 Запрашиваем только нужный GPU
Kubernetes передаст контейнеру один GPU, а планировщик не позволит разместить Pod на узле, где такой ресурс недоступен.
apiVersion: v1
kind: Pod
metadata:
name: inference
spec:
containers:
- name: app
image: my-inference:latest
resources:
limits:
nvidia.com/gpu: 1
📝 Выделяем специализированное устройство через Device Plugin
Device Plugin регистрирует устройство в kubelet, после чего Kubernetes учитывает его при планировании Pod. Такой механизм работает не только для GPU, но и для FPGA, сетевых ускорителей и другого специализированного оборудования.
resources:
limits:
example.com/fpga: 1
env:
- name: DEVICE_MODE
value: "accelerated"
📝 Проверяем распределение устройств
В описании узла можно увидеть доступные и занятые ресурсы, а в Pod — какие ограничения и запросы были назначены.
kubectl describe node worker-01
kubectl get pods \
-o wide
kubectl describe pod inference
❗️ Device Plugin позволяет уйти от универсального privileged и описывать аппаратные ресурсы как часть декларативной модели Kubernetes. Для инфраструктуры с GPU и специализированными устройствами это заметно безопаснее и лучше масштабируется, чем ручная передача /dev/* в контейнер.
tags: #devops #безопасность #k8s
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 571 |
| 14 | 👨💻Архитектура масштабируемых приложений на Go
👁 Практический курс по проектированию надёжных Go-сервисов, рассчитанных на рост нагрузки и эксплуатацию в production.
В программе разбираются архитектурные подходы, observability, оптимизация производительности и организация тестирования. Также рассматриваются практики командной разработки и управления проектом при увеличении нагрузки, чтобы выстраивать устойчивую архитектуру не только на уровне кода, но и всей системы.
❗️ Подойдёт опытным Go-разработчикам, которые хотят глубже разобраться в архитектуре, производительности и эксплуатации масштабируемых сервисов.
⛓ Изучаем по ссылке
tags: #обучение #go
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 787 |
| 15 | 💾 GitX
👁 Agent Skill для ИИ-агентов, который помогает безопаснее анализировать изменения и автоматизировать рутинные Git-операции.
GitX умеет разбивать изменения на логические коммиты, генерировать commit message и body, создавать ветки, запускать проверки перед коммитом и работать только с выбранными файлами. Поддерживает предварительный просмотр плана, Conventional Commits и помогает разбирать конфликты при merge и rebase.
❗️ Подойдёт разработчикам, которые используют Codex, Claude Code, Cursor и другие ИИ-агенты и хотят сократить количество ручных Git-операций без потери контроля над репозиторием.
⛓ Проверить в деле
tags: #утилиты #git #ии
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 843 |
| 16 | 🔗 PortPal
👁 Нативный десктопный монитор портов, который помогает быстро понять, какие процессы используют сеть и как они связаны между собой.
PortPal в реальном времени показывает активные порты, процессы, PID и подключения, определяет фреймворки и проекты, а также позволяет завершать или перезапускать процессы одним кликом. Есть журнал событий, график сетевой активности и интерактивная карта топологии, построенная на D3.js.
❗️ Подойдёт разработчикам, которым надоели netstat и lsof при поиске процесса, занявшего нужный порт.
📱 GitHub
tags: #утилиты #сети #мониторинг
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 951 |
| 17 | 🐧 Управление процессами через pidfd без опасных гонок с PID
👁 PID в Linux — не уникальный идентификатор на всё время жизни процесса. После завершения процесса его номер может быстро достаться другому. Поэтому автоматизация, которая хранит PID и позже отправляет ему сигнал, потенциально может обратиться уже не к тому процессу. pidfd решает эту проблему: ядро выдаёт файловый дескриптор, привязанный именно к конкретному процессу.
📝 Получение pidfd и безопасная отправка сигнала
Вместо обычного kill(pid, SIGTERM) сигнал отправляется через дескриптор конкретного процесса. Даже если исходный PID уже был переиспользован, pidfd не переключится на новый процесс.
#define _GNU_SOURCE
#include <sys/syscall.h>
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
int main(void)
{
pid_t pid = 12345;
int pidfd = syscall(SYS_pidfd_open, pid, 0);
if (pidfd == -1) {
perror("pidfd_open");
return 1;
}
if (syscall(SYS_pidfd_send_signal,
pidfd, SIGTERM, NULL, 0) == -1) {
perror("pidfd_send_signal");
return 1;
}
close(pidfd);
}
📝 Ожидание завершения процесса через poll
pidfd можно использовать как обычный файловый дескриптор: ждать завершения процесса через poll или epoll, объединяя управление процессами с обычным событийным циклом.
#include <poll.h>
#include <stdio.h>
#include <unistd.h>
int wait_process(int pidfd)
{
struct pollfd pfd = {
.fd = pidfd,
.events = POLLIN
};
int rc = poll(&pfd, 1, 10000);
if (rc == 0) {
printf("timeout\n");
return 1;
}
if (pfd.revents & POLLIN)
printf("process exited\n");
return 0;
}
📝 Получение pidfd напрямую при создании процесса
В реальных системах удобнее использовать clone3() с CLONE_PIDFD: ядро сразу возвращает pidfd для нового процесса. Это особенно интересно для собственных рантаймов, менеджеров процессов и систем автоматизации, где жизненный цикл дочерних процессов контролируется программно.
#define _GNU_SOURCE
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
int main(void)
{
int pidfd;
pid_t pid = clone(
NULL, NULL, 0, NULL
);
printf("pid=%d\n", pid);
return 0;
}
❗️ pidfd — современный механизм Linux, который устраняет целый класс ошибок, связанных с переиспользованием PID. Для разработчиков системных сервисов это особенно полезно при создании воркеров, супервизоров и собственных менеджеров процессов, где надёжное управление жизненным циклом важнее привычного kill().
tags: #linux #разработка #полезно
🧭 @recura_tech 🌐 VK 🌐 MAX | 1 819 |
| 18 | ✅ DevOps-инженер от основ до production
👁 Практический курс по построению и сопровождению инфраструктуры — от Linux и контейнеризации до облаков и отказоустойчивых систем.
В программе: Docker, Kubernetes, CI/CD, GitOps, Terraform, Ansible, Prometheus, Grafana, ELK, Vault, AWS, GCP и Azure. Также разбираются сети, базы данных, безопасность, масштабирование, резервное копирование и disaster recovery, а итогом становятся end-to-end проекты для портфолио и подготовка к техническим собеседованиям.
❗️ Подойдёт тем, кто хочет системно освоить DevOps и научиться самостоятельно строить инфраструктуру, близкую к production.
⛓ Изучаем по ссылке
tags: #обучение #devops
🧭 @recura_tech 🌐 VK 🌐 MAX | 2 108 |
| 19 | Откуда нейросеть берет инфу на русском?
Когда я готовлю посты, я часто использую нейросети для фактчекинга и ресерча.
И здесь есть интересная деталь: когда просишь модель найти что-то актуальное именно в русскоязычном сегменте, она практически весь веб-поиск выстраивает вокруг Telegram. Со временем я заметил, что нейронка раз за разом ссылается на одни и те же каналы.
Ради интереса закинул ей промпт:
Собери список Telegram-каналов, на которые ты чаще всего опираешься за последние 90 дней при фактчекинге и поиске инфы по AI и IT
Вот список, который выдала модель — Посмотреть. Сам проверил, полистал посты и убедился — внутри действительно уникальные авторские каналы: рабочие кейсы, нейрогенерация, автоматизация и свежие новости.
Упаковал эти проверенные каналы в одну подборку. Подписывайтесь на лучшие каналы, связанные с AI и IT в русском сегменте.
Подписка в 1 клик:
👉 https://t.me/addlist/NSID-84iVPBlMDBi | 1 702 |
| 20 | 👨💻 pgbot
👁 Утилита для наблюдаемости PostgreSQL, которая анализирует состояние базы данных без установки агента или внешних сервисов.
pgbot подключается в режиме только для чтения, использует встроенные статистические представления PostgreSQL и формирует отчёт о текущем состоянии системы и изменениях с прошлого запуска. Для анализа метрик и подготовки рекомендаций по оптимизации используется ИИ, при этом инструмент не требует прав на запись.
❗️ Подойдёт администраторам баз данных и DevOps-инженерам, которым нужен простой способ регулярно оценивать состояние PostgreSQL без дополнительной инфраструктуры.
⛓ Проверить в деле
tags: #утилиты #ии #мониторинг
🧭 @recura_tech 🌐 VK 🌐 MAX | 2 145 |
