DevOps
По всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
Show more📈 Analytical overview of Telegram channel DevOps
Channel DevOps (@devopsitsec) in the Russian language segment is an active participant. Currently, the community unites 23 915 subscribers, ranking 5 540 in the Technologies & Applications category and 27 388 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 23 915 subscribers.
According to the latest data from 26 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 239 over the last 30 days and by -11 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.04%. Within the first 24 hours after publication, content typically collects 6.04% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 879 views. Within the first day, a publication typically gains 1 445 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 14.
- Thematic interests: Content is focused on key topics such as devops, kubernetes, git, github, кластер.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥полезные ит-каналы
https://t.me/Golang_google - Golang программирование
@golangl - golang chat
@GolangJobsit - golang channel jobs
@golang_jobsgo - jobs
РКН: clck.ru/3FmvZA
#VRHSZ”
Thanks to the high frequency of updates (latest data received on 27 October, 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.
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.
Иногда незнание общепринятых ограничений действительно помогает их разрушить.