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 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.
Иногда незнание общепринятых ограничений действительно помогает их разрушить.