DevOps
СтатистикаПо всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
- Последний пост
- 14:04
- Последнее чтение
- 11:14
- Постов за неделю
- 6
- Всего постов
- 58
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 1 624
- 1/48двое суток
- 1 861
- 1/72трое суток
- 2 007
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
⚡ В SQLite есть кусок кода, который выглядит «грязно», но оставлен таким специально ради скорости. Каждый SQL-запрос SQLite сначала компилируется в байткод, а затем выполняется собственной виртуальной машиной VDBE. Внутри — большой цикл диспетчеризации с почти 200 opcode. И вот интересный момент: SQLite использует обычные goto, чтобы быстро прыгать между общими ветками выполнения. В исходниках прямо написано: «Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее». По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%. То есть здесь читаемость сознательно пожертвовали ради производительности. Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее». #SQLite #C #Databases #Performance #SystemsProgramming
🚀 Kubernetes-инфраструктура уровня production: как EKS сам масштабируется под нагрузкой? Многие умеют поднять Kubernetes-кластер. Но настоящий вызов начинается, когда приходит реальный трафик. В Amazon EKS + Kubernetes можно построить систему, которая сама реагирует на рост нагрузки: 🔥 Horizontal Pod Autoscaler (HPA) - автоматически увеличивает количество Pod'ов; - масштабирует приложение по CPU/Memory/метрикам; - например: 3 → 6 → 10 реплик при всплеске запросов. ⚡ CloudFront CDN - отдаёт видео и статические файлы через edge-точки AWS; - снижает нагрузку на backend; - ускоряет доставку контента пользователям по всему миру. 🧪 k6 Load Testing - создаём искусственный трафик; - наблюдаем, как Kubernetes запускает новые Pod'ы; - проверяем поведение системы под нагрузкой. Главный инсайт: ❗ HPA масштабирует Pod'ы, но не создаёт новые серверы. Если Node'ы закончились — новые Pod'ы останутся в состоянии Pending. Поэтому production-архитектура обычно включает: ✅ HPA для масштабирования приложений ✅ Cluster Autoscaler / Karpenter для добавления Node'ов ✅ CDN для разгрузки backend ✅ мониторинг метрик в реальном времени Именно так строятся отказоустойчивые cloud-native системы. Amazon EKS + HPA + CDN — отличный пример того, как Kubernetes превращает ручное управление инфраструктурой в автоматическую систему. Источник: https://medium.com/@csjcode/amazon-eks-k8s-media-cluster-part-4-pod-auto-scaling-hpa-and-cdn-f1d9a060e20a
Участвуй в МТС True Tech Champ 2026 — всероссийском чемпионате по программированию с двумя треками и призовым фондом 10 250 000 рублей. Трек 1: Алгоритмический [индивидуальный зачет, 2 750 000 ₽, шесть призовых мест] Решай задачи по алгоритмам и структурам данных, которые помогут прокачать навыки для технических собеседований и работы в ведущих ИТ-командах. Лучшие участники пройдут в финал, где в режиме реального времени будут соревноваться в правильности решений и скорости мышления. Трек 2: Программирование роботов [командный формат, 7 500 000 ₽, три призовых места] Напиши алгоритмы для робособаки и робота-манипулятора и проведи их через три этапа соревнований. Сначала — через цифровой симулятор, где нужно пройти трассу и выполнить задания по передаче предметов. Затем — подключись к реальному полигону через удалённый доступ и выполни задания на физических роботах дистанционно. А в очном финале лучшим командам предстоит управлять роботами на площадке, дорабатывать алгоритмы под новые условия и бороться за победу на глазах у зрителей. Рекомендуемые стеки: Go, Java, Python, C#, C++, JS. Регистрируйся до 13 сентября и стань частью масштабного чемпионата.
⚡️ Генератор случайных чисел всего из трёх XOR и сдвигов В 2003 году Джордж Марсалья представил xorshift - один из самых простых и быстрых генераторов псевдослучайных чисел. Классический xorshift32: uint32_t xorshift32(void) { state ^= state << 13; state ^= state >> 17; state ^= state << 5; return state; } Фактически весь алгоритм: shift → XOR shift → XOR shift → XOR При ненулевом начальном state период может достигать: 2³² - 1 Никаких умножений, делений или тяжёлой математики, поэтому подобные RNG отлично подходят для игр, симуляций и procedural generation, где важна скорость. Но есть нюанс: xorshift нельзя использовать для криптографии. Его внутреннее состояние можно предсказать, поэтому для ключей, паролей и токенов нужны криптографически стойкие генераторы. Иногда действительно полезный алгоритм помещается буквально в три строки. #Programming #Algorithms #C #Random
🐳 Docker выпустила Sandboxes - изолированные среды специально для AI coding agents. Идея простая: дать агентам вроде Claude Code, Codex, Gemini CLI, Copilot CLI, OpenCode и Kiro больше свободы, но не давать им свободно ломать хост-систему. Каждый агент запускается в отдельной microVM и получает только рабочую директорию проекта. Внутри он может: - устанавливать пакеты; - менять конфиги; - запускать сервисы; - поднимать собственные Docker-контейнеры; - выполнять долгие задачи без постоянного подтверждения действий. При этом Docker позволяет отдельно контролировать filesystem, network и credentials, а сам sandbox после работы можно просто удалить. Это инфраструктурный слой для эпохи автономных coding agents: агенту дают почти полный контроль внутри песочницы, но хост остаётся изолированным. https://www.docker.com/products/docker-sandboxes/ #Docker #AI #AIAgents #DevOps #Programming
5 платформ, где можно бесплатно задеплоить свой проект Необязательно сразу арендовать сервер и настраивать инфраструктуру. Для портфолио, MVP и небольших pet-проектов можно начать с бесплатных тарифов. 1. GitHub Pages - для статических сайтов Подходит для портфолио, документации, лендингов и проектов на HTML, CSS и JavaScript. Загружаете код в репозиторий — GitHub публикует сайт и выдаёт готовый адрес. 🔗 https://pages.github.com 2. Cloudflare Workers - для API и серверной логики Позволяет запускать JavaScript и TypeScript на серверах Cloudflare рядом с пользователем. Бесплатный тариф включает до 100 000 запросов в день. Хороший вариант для API, вебхуков, прокси и небольших backend-сервисов. 🔗 https://workers.cloudflare.com 3. Vercel - для Next.js и современного frontend Подключаете GitHub, делаете push — Vercel автоматически собирает и публикует проект. Для каждой ветки создаётся отдельная preview-ссылка. Бесплатный Hobby-тариф предназначен для личных и некоммерческих проектов. 🔗 https://vercel.com 4. Google Cloud Run - для Docker-контейнеров Загружаете контейнер, а Google самостоятельно запускает и масштабирует приложение. Когда запросов нет, сервис может уменьшить количество экземпляров до нуля. Есть постоянная бесплатная квота, но для подключения обычно требуется настроить биллинг. 🔗 https://cloud.google.com/run 5. AWS Amplify - для full-stack приложений Amplify объединяет хостинг, автоматическую сборку, CI/CD и сервисы AWS. Подходит для React, Next.js, Vue и мобильных приложений. У новых аккаунтов доступ зависит от программы AWS Free Tier и предоставленных кредитов. 🔗 https://aws.amazon.com/amplify/ Важно: «бесплатно» не означает «без ограничений». Проверяйте лимиты, правила коммерческого использования и условия оплаты сверх бесплатной квоты. Но для запуска первого проекта этих платформ более чем достаточно.
Redis не доверяет обычным строкам C - и вот почему В C строка заканчивается нулевым байтом \0. Из-за этого strlen() каждый раз проходит весь буфер, а хранить произвольные бинарные данные становится неудобно. Поэтому Redis использует собственную структуру SDS — Simple Dynamic Strings. В памяти она выглядит примерно так: [len][alloc][flags][данные...\0] ↑ sds Перед самими данными Redis хранит метаданные: - len — текущую длину; - alloc — размер выделенной памяти; - flags — тип заголовка. Благодаря этому длина строки определяется за O(1), а свободное место известно заранее. При добавлении данных Redis не обязан каждый раз заново вычислять размер и перевыделять память. SDS также остаётся совместимой со многими функциями C: указатель ведёт прямо на буфер, а в конце всё равно находится \0. Но Redis не зависит от этого терминатора — длина хранится отдельно. Поэтому внутри строки могут находиться нулевые байты, изображения, сериализованные объекты и другие бинарные данные. Важный нюанс: структура sdshdr из старых примеров сегодня упрощена. Современный Redis выбирает компактный заголовок sdshdr5, sdshdr8, sdshdr16, sdshdr32 или sdshdr64 в зависимости от размера строки. Небольшой заголовок перед буфером решил сразу три проблемы: быстрое получение длины, безопасную работу с бинарными данными и эффективное расширение строк. Источник: https://redis.io/docs/latest/operate/oss_and_stack/reference/internals/internals-sds/ https://github.com/redis/redis/blob/unstable/src/sds.h
Задача, которую фон Нейман решил «слишком гениально» Два велосипедиста находятся в 30 милях друг от друга и едут навстречу со скоростью 15 миль в час каждый. Между ними постоянно летает муха со скоростью 30 миль в час, разворачиваясь у каждого велосипедиста. Сколько всего она пролетит до их встречи? На первый взгляд хочется считать бесконечную последовательность всё более коротких перелётов. Но решение проще. Суммарная скорость сближения велосипедистов: 15 + 15 = 30 миль в час Значит, расстояние в 30 миль они преодолеют за один час. Муха летает всё это время со скоростью 30 миль в час: 30 × 1 = 30 миль Ответ: 30 миль. С этой задачей связывают известную историю о математике Джоне фон Неймане. Когда он мгновенно назвал правильный ответ, собеседник заметил: > Большинство пытается складывать бесконечный ряд, хотя достаточно вычислить время встречи. Фон Нейман якобы ответил: > А я именно сложил бесконечный ряд. Хорошее напоминание: гениальный человек не всегда выбирает самый простой путь. Иногда он просто проходит сложный невероятно быстро.
Лето, ИТ-Пикник и музыка известных артистов уже через несколько дней! 8 августа в Коломенском пройдет ИТ-Пикник. В программе — выступления проекта LAB Антона Беляева, IOWA, Cream Soda, Pompeya, мартина и Совы. А днем — научпоп-лекции, дискуссии об ИИ и больших языковых моделях, мастер-классы и интерактивы. Полезные знакомства и развлечения тоже будут. Зарегистрироваться и узнать подробности можно на сайте мероприятия. В билет входит +1 — можно позвать близких и друзей. До встречи в месте притяжения ИТ.
🔥 piqc показывает, сколько денег Kubernetes-кластер теряет на простаивающих GPU Команды часто видят загрузку GPU, но не понимают: - какая модель работает на конкретном ускорителе; - сколько стоит генерация токенов; - где простаивает железо; - почему растёт инфраструктурный счёт. piqc сканирует Kubernetes-кластер и автоматически находит inference-нагрузки на vLLM и Ray Serve. Инструмент связывает между собой модели, GPU, реплики и runtime-метрики, а затем формирует отчёт о расходах и неэффективном использовании ресурсов. Что умеет находить piqc: - простаивающие GPU; - модели на слишком дорогих ускорителях; - полностью свободные GPU-узлы; - фрагментацию ресурсов; - зависшие в очереди поды; - низкую эффективность вычислений; - завышенную стоимость генерации токенов. Для vLLM также собираются: - latency; - скорость prefill и генерации; - загрузка KV-cache; - глубина очереди; - состояние inference-сервиса. Быстрый запуск: pipx install piqc piqc scan --format table Результаты можно получить в форматах table, JSON, YAML или в виде стандартизированного facts bundle. Инструмент также запускается внутри кластера как Kubernetes Job - без постоянных агентов и sidecar-контейнеров. Важная деталь: сейчас проект распространяется по Business Source License 1.1. Переход на Apache 2.0 запланирован на 2028 год. По сути, piqc отвечает на вопрос, который обычный мониторинг часто оставляет без ответа: какая именно модель сжигает GPU-бюджет и почему? GitHub: https://github.com/paralleliq/piqc
Rust, который наконец становится понятным 🦀 Давно хочешь выучить Rust, но ownership, borrowing и lifetimes выглядят как отдельный вид боли? Этот курс проведёт тебя с самого начала до уровня, где ты уже пишешь реальные системные и сетевые программы. Ты разберёшь: Ownership → Borrowing → ошибки → коллекции → Generics → Traits → модули → тесты → сетевой код Никакого бесконечного чтения документации. После каждого урока ты сразу пишешь код, проходишь тесты и решаешь задачу с автопроверкой. 🔥 Rust с нуля 🔥 5–6 часов в неделю 🔥 Практика после каждого урока 🔥 Подойдёт после Python, JavaScript, Java и других языков 🔥 Можно начать сразу В конце у тебя будет понимание Rust, с которым уже можно писать быстрые backend-сервисы, сетевые приложения и системные утилиты, а не смотреть на borrow checker как на врага. Пора добавить Rust в свой стек. Начинай курс и пиши первый код уже сегодня: https://stepik.org/a/294885/
Сколько незаконченных Git-репозиториев лежит у вас на диске? drydock показывает их все в одном терминальном интерфейсе: - где остались незакоммиченные изменения; - какие коммиты ещё не отправлены; - где забыты stash, конфликт или незавершённый rebase; - какие проекты изменились после последнего тега и готовы к новому релизу. Инструмент проверяет не только текущую ветку, поэтому забытая работа в локальной feature-ветке тоже попадёт в список. brew install yetidevworks/drydock/drydock # или cargo install drydock После установки достаточно запустить: drydock Есть фильтры, fuzzy-поиск, JSON-вывод, открытие проекта в редакторе и массовый fetch. Состояние репозиториев обновляется автоматически через файловый watcher. drydock написан на Rust с использованием Ratatui и работает на macOS и Linux. Полезная утилита для разработчиков, у которых папка Projects давно превратилась в кладбище почти законченных идей. GitHub: https://github.com/yetidevworks/drydock
⚡️ Бинарный поиск, который вы выучили, скорее всего, был неправильным. Джон Бентли опубликовал реализацию бинарного поиска в *Programming Pearls* после того, как доказал её корректность и протестировал. Баг прожил почти 20 лет. Позже Джошуа Блох нашёл точно такую же ошибку в реализации бинарного поиска, которую сам написал для JDK. Исследование 1988 года показало: корректный бинарный поиск был только в 5 из 20 учебников. Ошибка проявляется только на массивах размером 2^30 элементов и больше. Проблема возникает при вычислении середины: mid = (low + high) / 2; На очень больших массивах low + high может вызвать переполнение. Правильнее писать так: mid = low + (high - low) / 2; В C такое переполнение может привести к выходу за границы массива и непредсказуемому поведению. В Java это обычно заканчивается ArrayIndexOutOfBoundsException. Та же ошибка затрагивала mergesort и огромное количество других алгоритмов «разделяй и властвуй».
🔍Тестовое собеседование с Head of DevOps уже завтра 4 августа(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика. Как это будет: 📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Александру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_devops_bot Реклама. О рекламодателе.
видео или голосовое, без подписи
+1
🚀 СТУДЕНТ СЛУЧАЙНО ОПРОВЕРГ ГИПОТЕЗУ, В КОТОРУЮ ВЕРИЛИ 40 ЛЕТ С 1985 года считалось: чем ближе хеш-таблица к заполнению, тем неизбежнее замедляются поиск и вставка. В худшем случае требовалось порядка x проверок, где x показывает, насколько таблица близка к 100%. Эндрю Крапивин придумал новую структуру, снизив сложность до O((logx)*2). Более того, среднее время поиска может оставаться константным независимо от заполненности таблицы. Авторы также доказали, что найденная граница оптимальна. Самое невероятное — Крапивин не знал о гипотезе Яо и пришёл к решению, экспериментируя с «крошечными указателями» ещё во время учёбы в Rutgers. Иногда незнание общепринятых ограничений действительно помогает их разрушить.
Это один из самых изобретательных проектов, которые я видел на этой неделе. Передаёт файлы между двумя устройствами, используя только экран и камеру. Использует Fountain Codes (LT Codes). Вместо разделения файла на последовательные фрагменты, каждый QR-код содержит математическую комбинацию (XOR) блоков файла. Разработчик достиг скорости до 129 КБ/с. Всё работает в браузере с WebAssembly, без установки каких-либо приложений. https://github.com/bashalarmistalt/decimen-optical-transfer
Даже формально верифицированный компилятор может ошибаться В 2011 году исследователи тестировали CompCert случайно сгенерированными C-программами и нашли wrong-code баг в таком выражении: return -1 <= (1 && x); Правильный результат — 1, но CompCert 1.6 для PowerPC возвращал 0. Ошибка оказалась не в доказанно корректном оптимизаторе, а в неверифицированном фронтенде. Формальная верификация защищает только те части системы, для которых действительно построено доказательство.
Иногда один отчет помогает понять рынок лучше, чем десятки новостей. Apple Hills Digital опубликовала исследование российского рынка IaaS, в котором собрала прогнозы до 2030 года, ожидания корпоративных клиентов и сравнение крупнейших облачных провайдеров. Для DevOps здесь особенно интересны не позиции игроков, а сами тенденции. Более 80% компаний уже отмечают влияние AI/ML-нагрузок на потребление вычислительных ресурсов. Свыше половины используют гибридную инфраструктуру, а контроль облачных расходов постепенно становится такой же важной задачей, как отказоустойчивость и безопасность. Еще один любопытный вывод: рынок перестает конкурировать только ценой. Заказчики все чаще выбирают платформы по надежности, технологическим возможностям и тому, насколько они подходят под существующую инфраструктуру. Исследование будет полезно тем, кто следит за развитием облаков и хочет понимать, какие требования к инфраструктуре становятся стандартом для бизнеса.
Жиза