DevOps
По всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
Показати більше📈 Аналітичний огляд Telegram-каналу DevOps
Канал DevOps (@devopsitsec) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 23 915 підписників, посідаючи 5 540 місце в категорії Технології та додатки та 27 388 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 23 915 підписників.
За останніми даними від 26 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 239, а за останні 24 години на -11, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 12.04%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.04% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 879 переглядів. Протягом першої доби публікація в середньому набирає 1 445 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 14.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як 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”
Завдяки високій частоті оновлень (останні дані отримано 27 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
No space left on device, первым делом:
df -h
Команда покажет занятое и свободное место на всех смонтированных файловых системах в удобных GB/MB.
Проверить раздел, где находится /home:
df -h /home
Посмотреть конкретный раздел:
df -h /dev/sda1
А если нужно сразу увидеть тип файловой системы:
df -Th
Полезные флаги:
-h — размеры в KB/MB/GB
-T — тип файловой системы
-a — показать вообще все файловые системы
-i — проверить inode вместо свободных гигабайт
Последний вариант особенно полезен: иногда место на диске ещё есть, а новые файлы создать нельзя именно потому, что закончились inode.
=goto, чтобы быстро прыгать между общими ветками выполнения.
В исходниках прямо написано:
«Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее».
По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%.
То есть здесь читаемость сознательно пожертвовали ради производительности.
Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее».
#SQLite #C #Databases #Performance #SystemsProgrammingPending.
Поэтому 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-f1d9a060e20axorshift32:
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\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
15 + 15 = 30 миль в час
Значит, расстояние в 30 миль они преодолеют за один час.
Муха летает всё это время со скоростью 30 миль в час:
30 × 1 = 30 миль
Ответ: 30 миль.
С этой задачей связывают известную историю о математике Джоне фон Неймане.
Когда он мгновенно назвал правильный ответ, собеседник заметил:
> Большинство пытается складывать бесконечный ряд, хотя достаточно вычислить время встречи.
Фон Нейман якобы ответил:
> А я именно сложил бесконечный ряд.
Хорошее напоминание: гениальный человек не всегда выбирает самый простой путь. Иногда он просто проходит сложный невероятно быстро.
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/piqcdrydock показывает их все в одном терминальном интерфейсе:
- где остались незакоммиченные изменения;
- какие коммиты ещё не отправлены;
- где забыты 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/drydock2^30 элементов и больше.
Проблема возникает при вычислении середины:
mid = (low + high) / 2;
На очень больших массивах low + high может вызвать переполнение.
Правильнее писать так:
mid = low + (high - low) / 2;
В C такое переполнение может привести к выходу за границы массива и непредсказуемому поведению. В Java это обычно заканчивается ArrayIndexOutOfBoundsException.
Та же ошибка затрагивала mergesort и огромное количество других алгоритмов «разделяй и властвуй».O((logx)*2).
Более того, среднее время поиска может оставаться константным независимо от заполненности таблицы. Авторы также доказали, что найденная граница оптимальна.
Самое невероятное — Крапивин не знал о гипотезе Яо и пришёл к решению, экспериментируя с «крошечными указателями» ещё во время учёбы в Rutgers.
Иногда незнание общепринятых ограничений действительно помогает их разрушить.