DevOps
По всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام DevOps
تُعد قناة DevOps (@devopsitsec) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 23 348 مشتركاً، محتلاً المرتبة 5 712 في فئة التكنولوجيات والتطبيقات والمرتبة 28 445 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 23 348 مشتركاً.
بحسب آخر البيانات بتاريخ 13 يوليو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -46، وفي آخر 24 ساعة بمقدار 2، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.51%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.96% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 923 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 391 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops, kubernetes, git, github, кластер.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥полезные ит-каналы
https://t.me/Golang_google - Golang программирование
@golangl - golang chat
@GolangJobsit - golang channel jobs
@golang_jobsgo - jobs
РКН: clck.ru/3FmvZA
#VRHSZ”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 14 يوليو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
جاري تحميل البيانات...
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 14 يوليو | +1 | |||
| 13 يوليو | +4 | |||
| 12 يوليو | +4 | |||
| 11 يوليو | 0 | |||
| 10 يوليو | +9 | |||
| 09 يوليو | +1 | |||
| 08 يوليو | +3 | |||
| 07 يوليو | +6 | |||
| 06 يوليو | +2 | |||
| 05 يوليو | +3 | |||
| 04 يوليو | +4 | |||
| 03 يوليو | +6 | |||
| 02 يوليو | +5 | |||
| 01 يوليو | +2 |
| 2 | ⚡️ Kali Linux Roadmap: с чего начать в этичном хакинге
Нашёл нормальный roadmap по Kali Linux для тех, кто хочет не просто «поставить Kali и открыть терминал», а постепенно разобраться, как всё это работает.
Внутри маршрут по базовым темам: установка, настройка окружения, работа с терминалом, Linux-команды, сеть, безопасность, инструменты Kali и практика.
Это полезно тем, кто только заходит в кибербезопасность и не понимает, за что браться первым. Kali часто выглядит как набор страшных утилит, но без базы по Linux, сетям и правам доступа эти инструменты быстро превращаются в хаос.
Хороший подход здесь простой: сначала понять систему, потом сеть, потом инструменты, и только после этого переходить к практике в легальных лабораториях и CTF.
Такой roadmap удобно проходить как чек-лист: открыл раздел, разобрал команды, повторил руками, закрепил на тестовом окружении.
Для старта в Kali Linux это намного лучше, чем хаотично смотреть ролики и копировать команды без понимания.
https://github.com/justxor/Kalilinuxroadmap/tree/main | 1 030 |
| 3 | NASA только что выпустила WASM-runtime для космических аппаратов… написанный на Rust! 🦀🎉
🛰️ SpaceWasm — детерминированный интерпретатор WebAssembly, созданный для бортового программного обеспечения космических аппаратов.
https://github.com/nasa/spacewasm
#rustlang #wasm #space #nasa #opensource | 1 508 |
| 4 | Cuckoo hashing даёт O(1) lookup в худшем случае
Не амортизированно.
Не «в среднем».
А именно worst case.
Идея красивая: у каждого ключа есть ровно две возможные позиции в таблице.
Поэтому поиск тупо проверяет оба места и заканчивается.
return table1[h1(key)] == key
|| table2[h2(key)] == key;
Вставка работает интереснее: если место занято, новый ключ «выталкивает» старый в его альтернативную позицию.
Отсюда и название: как кукушка, которая выкидывает чужие яйца из гнезда.
Если начинается цикл, таблицу перестраивают с новыми хеш-функциями.
Алгоритм предложили Rasmus Pagh и Flemming Rodler в 2001 году.
И это не просто академическая штука: Linux kernel использует cuckoo hashing в connection tracking table.
Один из тех случаев, когда простая идея даёт очень сильную гарантию по lookup. | 1 890 |
| 5 | Линус Торвальдс мог быть богаче Илона Маска. Но он выбрал другой путь.
В 2005 году его команда внезапно потеряла доступ к инструменту, с помощью которого управляла кодом Linux. Один разработчик сделал реверс-инжиниринг этой системы, и компания, которой она принадлежала, просто отключила проект без предупреждения.
Тысячи разработчиков. Никакого нормального способа совместной работы. Никакого запасного плана.
Торвальдс не стал паниковать. Он сел и написал собственную систему контроля версий с нуля.
За 10 дней.
Он назвал её Git. Уже в первый день Git отслеживал собственный исходный код. Через несколько недель на нём управлялся весь проект Linux. К концу 2005 года официально вышел Git 1.0.
А потом Линус просто отдал его бесплатно. Open source. Без компании. Без патентов. Без монетизации.
Через несколько месяцев он передал проект другим людям и вернулся к Linux, будто ничего особенного не произошло.
Зато другие быстро поняли, что он оставил на столе.
На Git вырос GitHub: 100 млн разработчиков, покупка Microsoft в 2018 году за $7,5 млрд. GitLab вышел на биржу в 2021 году с оценкой почти $12 млрд. Сегодня Git контролирует больше 85% рынка систем контроля версий.
Каждое приложение в вашем телефоне. Каждый сайт, который вы открываете. Почти всё это создаётся с помощью Git.
Торвальдс не заработал на этом $0.
Он создал самый используемый инструмент для разработчиков в истории просто потому, что его достала существующая система.
А потом отдал его бесплатно, потому что считал: такой инструмент должен быть доступен всем.
И он ни разу публично не сказал, что жалеет об этом. | 2 460 |
| 6 | AvitoTech устраивает онлайн CTF с призами до 300 000 рублей команду 📍
Что внутри турнира: таски на веб-уязвимости, инфраструктурные мисконфиги, анализ скомпилированного кода, расследование инцидентов, слабости шифров и всё, что требует хакерской смекалки. Если это ваш первый опыт, вписывайтесь в Honey-лигу — туда опытных игроков не пускают.
❗️Регистрация, кстати, уже открыта❗️
Кажется, это знак собрать свою команду и попробовать себя в роли того самого медоеда! Проверьте защиту пчелиного улья и помогите найти все скрытые уязвимости в сотах 🐝 | 1 962 |
| 7 | Большинство “простых” shuffle-алгоритмов дают кривой рандом
Частая ошибка:
for (int i = 0; i < n; i++) {
int j = rand() % n;
swap(a[i], a[j]);
}
На вид всё нормально: каждый элемент случайно меняется местами с другим.
Но проблема в вероятностях.
Для массива из n элементов существует n! перестановок.
Хороший shuffle должен давать каждой перестановке одинаковый шанс.
Наивный вариант делает n шагов, и на каждом шаге выбирает индекс из полного диапазона 0..n-1.
В итоге некоторые перестановки появляются чаще других.
Правильный подход — Fisher-Yates shuffle:
for (int i = n - 1; i > 0; i--) {
int j = random(0, i);
swap(a[i], a[j]);
}
Идея простая:
на каждом шаге мы выбираем элемент только из ещё не зафиксированной части массива.
Сначала выбираем последний элемент из всего массива.
Потом предпоследний — из оставшихся.
Потом следующий — из ещё меньшего диапазона.
Так каждая перестановка получает одинаковую вероятность.
В C++ лучше не писать через rand() % n, потому что там может быть ещё и modulo bias.
Нормальный вариант:
std::mt19937 rng(std::random_device{}());
for (int i = n - 1; i > 0; --i) {
std::uniform_int_distribution<int> dist(0, i);
int j = dist(rng);
std::swap(a[i], a[j]);
}
Shuffle - хороший пример, где код может выглядеть “рандомным”, но математически быть неправильным. | 1 755 |
| 8 | Data-платформа растет, а TCO улетает в космос?
Собрать данные с датчиков — полдела. На практике платформенные инженеры и DevOps тонут в зоопарке инструментов. Развёртывание ИТ-систем без чёткого плана (особенно на собственных серверах) грозит хаосом в обслуживании, трудностями с обновлениями и нарушением требований безопасности.
10 июля в 12:00 подключайтесь к вебинару «Реализация IoT-сценариев на продуктах Deckhouse: быстрый запуск, масштабирование, аналитика».
На примере live demo покажем, как Deckhouse Kubernetes Platform (DKP) объединяет сбор, обработку и визуализацию данных датчиков в единую надёжную систему.
Обсудим:
• как собрать event-driven-архитектуру на Kafka, PostgreSQL и ClickHouse без ручного управления;
• зачем изолировать operational и analytical workloads в enterprise-контуре;
• как выстроить telemetry pipeline с managed-подходом и observability «из коробки» с помощью DKP;
• как работает сквозная аналитика от датчика до отчёта — live demo IoT-сценария на примере готового решения
Зарегистрироваться бесплатно | 1 928 |
| 9 | ⚡️ Linux может освободить RAM, не уничтожая сам диапазон виртуальной памяти процесса.
Это как раз то, что делает madvise(MADV_DONTNEED) для anonymous mappings.
Сценарий такой:
char *region = mmap(NULL, GB,
PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS,
-1, 0);
// потрогали часть страниц
madvise(region, GB, MADV_DONTNEED);
После madvise виртуальные адреса остаются валидными. Процесс всё ещё «видит» тот же диапазон памяти.
Но физические страницы, которые стояли за этим диапазоном, ядро может забрать обратно. То есть адресное пространство осталось, а реальная RAM освободилась.
При следующем обращении к этому участку процесс получит свежие zero-filled страницы. Старых данных там уже не будет.
Почему это полезно:
* можно держать большой виртуальный регион без постоянного удержания RAM
* аллокаторы могут возвращать неиспользуемые страницы ядру
* long-running процессы меньше раздувают RSS
* память можно переиспользовать без полного munmap и нового mmap
Важная деталь: MADV_DONTNEED не означает «удали адреса». Это скорее сигнал ядру: «эти страницы мне сейчас не нужны, можешь забрать физическую память».
Адреса остаются. Страницы уходят. Следующее чтение приносит нули. | 2 056 |
| 10 | Алгоритму почти 70 лет, а он до сих пор живёт в ядре Linux.
В 1957 году Wilkes, Wheeler и Gill описали быстрый способ считать количество установленных битов в числе. Не циклом по одному биту, а через маски и арифметику сразу над группами битов.
Идея простая:
- сначала считаем биты парами
- потом группами по 4
- потом по байтам
- в конце умножение собирает сумму в старший байт
Если в процессоре нет инструкции POPCNT, Linux использует похожий подход в __sw_hweight64.
Красивый пример того, как старый битовый трюк пережил десятилетия и всё ещё работает в современном системном коде. | 2 728 |
| 11 | Забавная игрушка на ночь: GitHub-профиль теперь можно превратить в карточку в стиле FIFA.
GitFut прогоняет аккаунт по метрикам вроде коммитов, звёзд, репозиториев, подписчиков и активности, а потом собирает карточку с рейтингом от 0 до 99.
Идеально, чтобы внезапно узнать, ты GitHub-легенда или бронзовый запасной с одним pet-проектом.
https://gitfut.com/ | 2 726 |
| 12 | 🖥 Китайский разработчик выложил в открытый доступ целую автомобильную ОС, которая превращает любой Android-смартфон в беспроводной адаптер CarPlay.
Она называется OkcarOS. Это кастомная прошивка Android 13, которая напрямую общается с экраном автомобиля по протоколу CarPlay.
→ Подключение за 4 секунды
→ Видео 60 fps, битрейт 25 Мбит/с
→ Без потерь аудио PCM
→ Разрешение 1:1 с экраном в автомобиле
100% с открытым исходным кодом.
https://github.com/okcar-os/android | 3 090 |
| 13 | Kroc - небольшой, но очень показательный проект для тех, кто хочет понять Kubernetes Operators не по слайдам, а по коду.
Идея простая: вы описываете CRD Kroc, указываете, за какими объектами в Kubernetes нужно следить, и задаёте шаблон ресурса, который должен быть создан на основе найденного объекта.
Например, оператор может смотреть за Deployment, брать из него нужные поля и автоматически создавать связанные Pod, Service, ConfigMap или другие Kubernetes-объекты.
Внутри используется Go и Kubebuilder.
Самое интересное - реактивная модель.
Если исходный объект изменился, производные ресурсы пересоздаются.
Если кто-то вручную удалил созданный объект, оператор создаст его снова, чтобы вернуть кластер в нужное состояние.
По сути, это хороший минимальный пример того, как работает operator pattern в Kubernetes:
наблюдаем за состоянием
сравниваем с желаемым
создаём или пересоздаём ресурсы
держим систему синхронизированной
Архитектура тоже полезная для разбора: проект разделяет логику на несколько контроллеров.
Один отвечает за CRD и конфигурацию, второй наблюдает за внешними Kubernetes-объектами, третий создаёт производные ресурсы из шаблонов.
Для новичков в Kubernetes Operators это намного понятнее, чем сразу лезть в большие production-операторы.
Kroc хорошо показывает базовую механику: CRD, reconcile loop, watch, template rendering и управление жизненным циклом дочерних объектов.
https://github.com/pawelcit/kroc | 3 235 |
| 14 | Где будет всё ИТ-комьюнити этой осенью?
На IT Elements 2026: конференции для профессионального сообщества, где встречаются архитекторы, инженеры, руководители и команды, отвечающие за инфраструктуру, сети, безопасность, данные и ИИ.
Вместо абстрактных рассуждений — реальные кейсы, технические доклады и профессиональные дискуссии.
Что вас ждет:
📌 лаборатории и практические воркшопы;
📌 выставка главных российских вендоров;
📌 обмен опытом с коллегами из крупнейших компаний;
📌 два дня насыщенной технической программы, нетворкинга и знакомств.
Формат: офлайн в Москве и онлайн.
Участие бесплатное.
Программа будет постепенно пополняться, а зарегистрироваться можно уже сейчас.
Если планируете профессиональные мероприятия этой осенью — IT Elements точно стоит добавить в список. 📆 | 1 726 |
| 15 | ScrapeComfort — бесплатный инструмент для безболезненного веб-скрапинга прямо с вашего рабочего стола.
Интуитивно понятный интерфейс обеспечивает бесперебойный процесс извлечения данных независимо от вашей технической подготовки. | 2 777 |
| 16 | C умел «объектный стиль» задолго до модных споров про ООП.
В Linux-драйверах это видно особенно хорошо. Каждый драйвер фактически реализует интерфейс, просто заполняя структуру с указателями на функции.
file_operations из include/linux/fs.h - хороший пример. Ядро говорит: вот набор операций, которые может поддерживать файл, сокет или устройство. Драйвер сам решает, какие обработчики дать:
open
read
write
release
mmap
fsync
unlocked_ioctl
Если операция не нужна, поле остаётся NULL, и ядро использует поведение по умолчанию там, где это возможно.
По сути это тот же контракт между системой и реализацией, только без классов, наследования и рантаймовой магии. Есть таблица функций, есть объект, есть набор действий, которые с ним можно выполнить.
Именно поэтому C до сих пор живёт в ядрах, драйверах и системном коде. Он не навязывает модель абстракций, но даёт достаточно низкоуровневых инструментов, чтобы собрать нужную модель самому.
Просто вместо красивого слова interface у тебя struct с function pointers.
#programming #linux #c | 3 537 |
| 17 | 🎥 Вебинар: «Gitlab CI как конструктор workflow»
Научитесь создавать эффективные и надежные пайплайны с помощью Gitlab CI
О чём поговорим:
• Быстрый обзор Gitlab CI в сравнении с другими решениями.
• Как использовать особенности Gitlab для улучшения работы команды.
• Антипаттерны CI: обилие ручек, сабмодули и другие.
• Идеальный пайплайн деплоя инфраструктуры по мнению автора.
Что вы получите:
• Вы получите понимание ключевых преимуществ Gitlab CI по сравнению с другими решениями.
• Научитесь использовать возможности Gitlab для повышения производительности команды.
• Избежите распространенных ошибок и антипаттернов в CI/CD.
• Сможете создать идеальный пайплайн деплоя инфраструктуры, соответствующий лучшим практикам.
🧠 Вебинар проходит в преддверие старта курса «DevOps практики и инструменты». Зарегистрируйтесь сейчас и получите скидку на обучение.
👉 Для участия зарегистрируйтесь: https://otus.pw/RR0q/?erid=2W5zFHSfRYV
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. | 1 925 |
| 18 | ✔️ Компилятор C однажды «опроверг» теорему Ферма
Теорема Ферма говорит: не существует целых чисел, для которых выполняется:
`a³ + b³ = c³`
Её доказал Эндрю Уайлс в 1995 году - спустя 358 лет после формулировки.
Но затем Джон Регер показал забавный пример: цикл, скомпилированный через gcc -O2, мог напечатать:
Fermat's Last Theorem has been disproved
В коде происходило signed integer overflow - переполнение знакового int. А в C это undefined behavior.
Для компилятора это значит: «такого не должно происходить». Поэтому оптимизатор имеет право строить предположения, которые человеку кажутся абсурдными.
В итоге: программа выглядит так, будто нашла контрпример к великой теореме, хотя на деле просто попала в UB.
C не опроверг Ферма.
C просто напомнил, что undefined behavior - это не ошибка выполнения, а разрешение компилятору делать почти всё что угодно. | 2 872 |
| 19 | Основы Git и GitHub за 30 секунд: настройка, коммиты, ветки, Pull Request
GitHub пугает новичков не сложностью, а количеством команд, в которых легко утонуть в первый же день. Эта шпаргалка собирает весь базовый путь от пустого терминала до открытого Pull Request, чтобы не держать всё в голове и не гуглить каждый шаг.
Сначала первая настройка: задаёшь имя и email, иначе коммиты уходят непонятно от кого. Дальше старт работы: клонируешь репозиторий, заходишь в папку и сразу создаёшь свою ветку под задачу. Потом ежедневный цикл, который повторяется каждый день: status, pull, add, commit, push. Проверил, обновил, добавил, закоммитил, отправил. Отдельно блок полезных команд на каждый день: log с графом, diff, stash, branch и переключение на main. | 3 480 |
| 20 | ИИ заставляет перестраивать инфраструктуру
Когда говорят про развитие ИИ, обычно обсуждают модели, агенты и новые возможности.
Но есть менее заметная проблема: всё это нужно где-то запускать. На infra.conf’26 Александр Чубинский из Яндекса рассказал, как компания перестраивает физическую и ML-инфраструктуру под растущие нагрузки.
Изменения происходят сразу на нескольких уровнях:
- вместо отдельных дата-центров развивают кампусы дата-центров мощностью до 180 МВт;
- внедряют жидкостное охлаждение, потому что традиционные подходы уже не всегда справляются с плотностью вычислений;
- запустили внутренний сервис Dev Cluster, который ускоряет эксперименты и разработку ML-моделей.
Чем больше ИИ, тем меньше это история только про софт. | 3 047 |
