Обновить

Администрирование

Сначала показывать
Порог рейтинга

Terraform: что это такое и как начать работать с IaC

Terraform — один из базовых инструментов для DevOps-инженеров и разработчиков, которые управляют облачной инфраструктурой и хотят уйти от ручной настройки.

Для таких случаев в базе знаний Рег.облака есть подробное введение в Terraform. Внутри — базовые команды, установка, структура .tf-файлов и пример создания нашего виртуального сервера. Отдельно разобрали, что изменилось после смены лицензии и в каких случаях стоит смотреть в сторону OpenTofu.

А если после базы захочется копнуть глубже, у нас есть и практический гайд для продвинутых сценариев — «Terraform Registry своими руками: гид от разработчиков Рег.облака». В нем разработчик Илья Антипов поделился, как команда Рег.облака собственный Terraform Registry: почему ушли от официального HashiCorp Registry, как выбрали Terralist, настроили авторизацию через Keycloak и автоматизировали релизы провайдера.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Btop.

Интерактивный монитор ресурсов — полезный инструмент.

В мире текстовых терминалов для этих задач часто выбирают Htop. Он предельно прост, работает в режиме Text-based User Interface (TUI) и есть в репозиториях всех популярных ОС из семейства Unix-like.

Htop позволяет наблюдать только за CPU, памятью, процессами и операциями ввода-вывода. И это его минус — больше ничего просто нет…

Более широким профилем обладает Btop. Он имеет всё тот же форм-фактор интерактивного TUI и уже есть в большом количестве стандартных репозиториев.

Btop позволяет, окромя возможностей Htop, следить за температурой CPU, получать детализированную информацию с графиками по процессу, точкам монтирования и сетевым интерфейсам. Кроме этого, он поддерживает темы и настройку расположения панелей по вкусу прямо на лету.

В стандартных репозиториях Debian он есть начиная с Bookworm (12). Присутствует и backport для Bullseye (11).

Установка простая:

sudo apt install btop

Из тонкостей. Рекомендую снизить время обновления метрик с 2000мс до 1000мс при наблюдении за точками монтирования. Тогда можно получать информацию по операциям ввода-вывода в секунду, а не делить полученные значения на два в уме.

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии3

Привет, с новым годом!)
Тоже корежит что в kubectl get pods нельзя добавить дополнительные поля? Конечно есть -o=custom-columns но оно же не добавляет поля а выводит вот те поля которые ты попросишь. При этом полезное поле READY через custom-columns не вывести. А -o wide слишком wide. Жри что дают. Это не наш метод. Давно собирался что-то с этим сделать но руки не доходили. И вот праздники, обнулился, сразу пришло решение как сделать. Добавил это в kui, теперь выбор стрючков выглядит так:

kubectl get pods с доп. полями NODE и IP
kubectl get pods с доп. полями NODE и IP

Вся необходимая информация сразу на одном экране и все влезает т.к. не wide, ура)

Творите, выдумывайте, пробуйте!)

Теги:
Рейтинг0
Комментарии0

Открытый проект iCloud Photos Downloader на Python позволяет в командной строке выполнять загрузку фотографий из iCloud. Работает в Linux, Windows и macOS; на ноутбуках, настольных компьютерах и сетевых накопителях. Решение доступно в виде исполняемого файла для прямой загрузки и через менеджеры пакетов /экосистемы (Docker, PyPI, AUR, npm).

Возможности решения:

  • три режима работы:

    • копирование - загрузка новых фотографий из iCloud (режим по умолчанию);

    • синхронизировать - загружать новые фотографии из iCloud и удалять локальные файлы, которые были удалены в iCloud (опция автоматического удаления);

    • переместить - загружать новые фотографии из iCloud и удалять фотографии в iCloud (опция сохранить в icloud за последние дни).

  • поддержка Live Photos (изображения и видео в виде отдельных файлов) и RAW-изображений (включая RAW + JPEG);

  • автоматическое удаление копий фотографий с одинаковыми названиями;

  • однократная загрузка и возможность постоянного отслеживания изменений в iCloud;

  • оптимизация для инкрементных запусков (параметры --until-found и --recent);

  • обновления метаданных фотографий (EXIF) (опция --set-exif-datetime).

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Проект Pentaract позволяет сделать Telegram бесконечное хранилище файлов и превратить мессенджер в личное облако. Основа — PostgreSQL. Технология максимально экономит место, не создаёт лишний мусор, таблицы или списки. Работает без ограничений и без нарушений политики и целостности Telegram.

Теги:
Всего голосов 3: ↑1 и ↓2+1
Комментарии6

Как я пошел на курсы ALT Linux и что из этого вышло.

Привет! Решил поделиться личным опытом — от импульсивного желания «прокачаться» с сертификатом до суровой реальности вендорных экзаменов. Если вы тоже раздумываете о сертификации по отечественным дистрибутивам, мой путь, надеюсь, поможет избежать подводных камней.

Часть 1: Выбор пути. ALT против Astra и шок от цен.

Всё началось с желания проверить и структурировать знания по отечественным Linux-системам, с которыми приходится работать. Изначально смотрел в сторону Astra Linux, но глазам сразу бросилась разница в цене. ALT Linux предлагал обучение на более доступных условиях, а поскольку в работе я касаюсь обеих ОС, выбор стал очевидным. Начал изучать предложения на официальном сайте. И вот тут — первый удар. Стоимость курсов в некоторых учебных центрах заставила меня серьезно задуматься: «А нужна ли мне эта подготовка, если вроде бы и так всё знаю?» Но любопытство победило. Я решил тестировать, попробовать .

Часть 2: Организация. Поиск курсов и «неспешные» менеджеры.

Проскролив штук пять страниц с предложениями, я нашел несколько учебных центров с адекватными ценами. Начал переписку с менеджерами.

Совет №1: настройтесь на ожидание. Ответ пришел далеко не сразу, прошло несколько дней. Видимо, такова специфика. Но как только контакт состоялся, всё пошло быстро: договор, оплата, зачисление — и вот я уже студент.

Часть 3: Учёба.

Проверенный университетский формат. Мне прислали ссылку и дату старта. Формат напомнил университет: · Лекции — в записи. Смотрел в свободное время, очень удобно. Практика — раз в неделю, онлайн с преподавателем. На ней разбирали лабораторные и отвечали на вопросы. Первая ступень — это два курса: «Альтадмин 1» и «Альтадмин 2». Каждый длится около 4 недель и включает лекции, 4 лабы и итоговый тест. Всё прозрачно и понятно. Обратная связь и преподаватель: Здесь мне повезло. Преподаватель отвечал на вопросы на учебной платформе молниеносно. Чувство юмора у него было своеобразное, но это мелочь. Главное — экспертиза и готовность помочь были на высоте.

Часть 4: Впечатления и нюансы. Кому стоит идти?

В целом курсы «зашли», и я их рекомендую, но с важными оговорками.

Плюсы:

1. Структурированный, практический материал.

2. Быстрая обратная связь.

3. Гибкий формат (запись + живая практика).

Нюансы (о которых стоит знать):

1. Для полного новичка может быть мало теории. Если никогда не работали с Linux, придется активно гуглить. Но все ключевые задачи на практиках разбираются.

2. В лабах встречаются «подводные камни». Иногда в условиях всплывают неочевидные ошибки или недоговоренности. Но иногда о них предупреждают. Если у вас есть даже небольшой опыт, вы с ними справитесь. Для меня это даже стало плюсом — пришлось глубже копать.Иногда версии virtual box показывали сюрпризы,то версии дистрибутивов Linux. Воооообщем разбирался.

Часть 5: Разочарование в сертификации.

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

Итоги и выводы

1. Качество обучения — на хорошем уровне. Если нужны структура и практика, курсы отличные.

2. Целевая аудитория — не абсолютные новички, а те, кто хочет систематизировать опыт и разобрать задачи с экспертом.

3. Главный минус — невозможность для физлица получить полноценный вендорный сертификат после обучения. Уточняйте этот момент ДО оплаты курсов. Мой опыт получился познавательным, но с послевкусием. Надеюсь, мой рассказ поможет вам сделать выбор.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии8

Учим Python — представлен интерактивный учебник, который работает прямо в браузере. Он поможет освоить базу буквально за пару месяцев:

  • Больше 100 заданий — основы для понимания основных концепций языка, беглого кодинга программ и выстраивания логики сервисов.

  • Примеры кода — не просто теория, анужно решать задачи сразу после прочтения материала.

  • Есть текстовые материалы, вшитые YouTube-уроки, задачи, дополнительные лекции и контрольные вопросы.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Rustfs vs Minio.

Login-screen у RustFS
Login-screen у RustFS

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

Самая большая проблема у Minio, которая меня преследует в последнее время — жёсткие требования минимального объёма свободного места на диске. Разработчики говорят: нужно минимум 10% свободного места. Неважно абсолютное значение, хоть даже 400T, как в одном из issues на GitHub.

На днях нашёл RustFS, прямой аналог Minio. RustFS даёт спокойно записать файлы и при 1% свободного места.

Для домашнего пользования или мини-лабы — самое то!

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Открытый проект SpotX позволяет бесплатно слушать Spotify без рекламы и со всеми Premium-опциями. Всё, что нужно — актуальная версия Spotify и запустить на ПК одну команду.

Для Windows пишем в Powershell: iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -new_theme".

Для MacOS, пишем в Терминале: bash <(curl -sSL https://spotx-official.github.io/run.sh).

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии1

Представлен локальный и бесплатный сервис BentoPDF для работы с PDF. Вся обработка происходит в браузере. Умеет объединение, разделение, поворот, удаление страниц и кроппинг, а также в нём можно быстро добавить вотермарку, сделать нумерацию страниц и поменять текст в файлах. При этом бесплатно, без лимитов и даже регистрацию не просят.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии2

Инфраструктура, платформы и эксплуатация — темы, к которым в 2025 году вы возвращались чаще всего. Мы собрали эти материалы в один дайджест, чтобы к ним было удобно вернуться в любой момент.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Как установить HTTP прокси с TLS на свежий сервер с Linux одной командой:

curl https://raw.githubusercontent.com/SenseUnit/easy-dp/refs/heads/master/easy-dp.sh | bash -s

Вывод будет примерно таким:

Вывод скрипта после установки
Вывод скрипта после установки

Всё, готово - можно пользоваться!

Скрипт устанавливает и настраивает dumbproxy c TLS-сертификатами от LetsEncrypt, выпущенными прямо на IP-адрес сервера, без домена.

Настройка браузеров и прочих клиентов уже обсуждалась в одной из предыдущих статей. Добавлю только, что на сегодняшний день в качестве клиента для Android я бы выбрал NekoBox.

На этом всё!

Теги:
Всего голосов 10: ↑5 и ↓5+2
Комментарии5

Обновлён проект Python Scripts, где более 60 Python-скриптов для любых задач, включая алгоритмы по парсингу, работе с видео и фото, клонированию сайтов, скачиванию с сайтов и другие популярные решения.

Ранее был представлен учебный проект «Числа Python, которые должен знать каждый программист» (Python Numbers Every Programmer Should Know). Проект также доступен на GitHub.

Теги:
Всего голосов 4: ↑1 и ↓30
Комментарии1

Ближайшие события

Представлен учебный проект «Числа Python, которые должен знать каждый программист» (Python Numbers Every Programmer Should Know). Проект также доступен на GitHub.

«Существуют цифры\числа\значения, которые должен знать каждый программист на Python. Например, насколько быстро или медленно добавляется элемент в список в Python? А как насчёт открытия файла? Это занимает меньше миллисекунды? Есть ли что‑то, что замедляет этот процесс? Если у вас есть алгоритм, чувствительный к производительности, какую структуру данных следует использовать? Сколько памяти занимает число с плавающей запятой? А как насчёт одного символа или пустой строки? Насколько быстр FastAPI по сравнению с Django? Я хотел бы уделить немного времени и записать показатели производительности, специально ориентированные на разработчиков Python», — сообщил автор проекта Майкл Кеннеди.

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Открытый проект mail2telegram позволяет перенаправляет электронную почту сразу в Telegram. Можно настроить фильтры пересылки, выбрать группу, в которую будут падать письма и автоматом отсеивать весь спам.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Новогодняя аномалия в данных мониторинга.

С Новым Годом!
С Новым Годом!

Воспроизвести достаточно просто

  • Скачать и установить Dimension-UI.

  • Развернуть локально PostgreSQL.

  • Запустить в Dimension-UI мониторинг данных PostgreSQL с помощью запроса с интервалом 3 сек.

WITH params AS (
    SELECT 
        15 AS total_frames,
        20 AS canvas_height,
        3  AS frame_duration_sec
),
animation_state AS (
    SELECT 
        (CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) AS INTEGER) / frame_duration_sec) % total_frames AS frame_idx
    FROM params
),
tree_definition AS (
    SELECT 
        frame_id, 
        y_pos,
        CASE
            -- ═══════════════════════════════════════
            -- ЗВЕЗДА на верхушке
            -- ═══════════════════════════════════════
            WHEN y_pos = 20 AND frame_id = 7 THEN '*'
            
            -- ═══════════════════════════════════════
            -- ВЕРХУШКА елки (острая)
            -- ═══════════════════════════════════════
            WHEN y_pos = 19 AND frame_id = 7 THEN 'G'
            
            -- ═══════════════════════════════════════
            -- ЯРУС 1 (y=16-18) — расширяется книзу
            -- ═══════════════════════════════════════
            WHEN y_pos = 18 AND frame_id BETWEEN 6 AND 8 THEN 'G'
            WHEN y_pos = 17 AND frame_id BETWEEN 5 AND 9 THEN 'G'
            WHEN y_pos = 16 AND frame_id BETWEEN 4 AND 10 THEN 'G'  -- широкий низ яруса
            
            -- Сужение перед ярусом 2
            WHEN y_pos = 15 AND frame_id BETWEEN 5 AND 9 THEN 'G'
            
            -- ═══════════════════════════════════════
            -- ЯРУС 2 (y=12-14)
            -- ═══════════════════════════════════════
            WHEN y_pos = 14 AND frame_id BETWEEN 4 AND 10 THEN 'G'
            WHEN y_pos = 13 AND frame_id BETWEEN 3 AND 11 THEN 'G'
            WHEN y_pos = 12 AND frame_id BETWEEN 2 AND 12 THEN 'G'  -- широкий низ яруса
            
            -- Сужение перед ярусом 3
            WHEN y_pos = 11 AND frame_id BETWEEN 4 AND 10 THEN 'G'
            
            -- ═══════════════════════════════════════
            -- ЯРУС 3 (y=8-10)
            -- ═══════════════════════════════════════
            WHEN y_pos = 10 AND frame_id BETWEEN 3 AND 11 THEN 'G'
            WHEN y_pos = 9  AND frame_id BETWEEN 2 AND 12 THEN 'G'
            WHEN y_pos = 8  AND frame_id BETWEEN 1 AND 13 THEN 'G'  -- широкий низ яруса
            
            -- Сужение перед ярусом 4
            WHEN y_pos = 7 AND frame_id BETWEEN 3 AND 11 THEN 'G'
            
            -- ═══════════════════════════════════════
            -- ЯРУС 4 — нижний, самый широкий (y=4-6)
            -- ═══════════════════════════════════════
            WHEN y_pos = 6 AND frame_id BETWEEN 2 AND 12 THEN 'G'
            WHEN y_pos = 5 AND frame_id BETWEEN 1 AND 13 THEN 'G'
            WHEN y_pos = 4 AND frame_id BETWEEN 0 AND 14 THEN 'G'  -- во всю ширину!
            
            -- ═══════════════════════════════════════
            -- СТВОЛ (y=1-3)
            -- ═══════════════════════════════════════
            WHEN y_pos BETWEEN 1 AND 3 AND frame_id BETWEEN 6 AND 8 THEN 'T'
            
            -- Всё остальное — фон
            ELSE 'S'
        END AS pixel_char
    FROM generate_series(0, 14) AS frame(frame_id)
    CROSS JOIN generate_series(1, 20) AS y(y_pos)
),
pixel_data AS (
    SELECT td.*
    FROM tree_definition td
    JOIN animation_state ast ON td.frame_id = ast.frame_idx
),
layers_logic AS (
    SELECT 
        y_pos,
        pixel_char,
        MAX(CASE WHEN pixel_char IN ('T', 'G', '*') THEN y_pos ELSE 0 END) OVER () as max_obj_height
    FROM pixel_data
)
SELECT 
    CURRENT_TIMESTAMP as dt,
    CASE 
        WHEN pixel_char = 'T' THEN '4_Trunk'
        WHEN pixel_char = 'G' THEN '3_Tree'
        WHEN pixel_char = '*' THEN '2_Star'
        WHEN pixel_char = 'S' THEN 
            CASE WHEN y_pos > max_obj_height 
    

p.s. Данные по запросу любезно предоставлены Claude Opus 4.5.

Теги:
Всего голосов 5: ↑3 и ↓2+3
Комментарии1

Представлен открытый проект на Python под названием Reverse API engineer. Это консольный инструмент, который фиксирует трафик браузера и автоматически генерирует готовые к работе клиенты Python API. Больше никакого ручного реверс‑инжиниринга — просто просматривайте, записывайте и получайте чистый API‑код.

«Этот инструмент выполняет код локально, используя Claude Code‑ пожалуйста, следите за выводом/ На некоторых веб‑сайтах используется расширенная система обнаружения ботов, которая может ограничивать захват или требовать ручного взаимодействия», — пояснил автор проекта.

Особенности Reverse API:

  • автоматизация браузера: создан на базе Playground с режимом скрытности для реалистичного просмотра;

  • режим автономного агента: полностью автоматизированное взаимодействие с браузером с помощью агентов искусственного интеллекта (автоматический режим с MCP, использование браузера, stagehand);

  • запись HAR: фиксирует весь сетевой трафик в архивном формате HTTP;

  • генерация на основе искусственного интеллекта: использует Claude 4.5 для анализа трафика и генерации чистого кода на Python;

  • поддержка нескольких SDK: встроенная интеграция с Claude и OpenCode SDK;

  • интерактивный интерфейс командной строки: минималистичный интерфейс терминала с переключением режимов (Shift+Tab);

  • готовность к работе: сгенерированные скрипты содержат обработку ошибок, подсказки по вводу текста и документацию;

  • история сеансов: все запуски сохраняются локально с полными журналами сообщений;

  • отслеживание затрат: подробное использование токенов и оценка затрат с поддержкой кэширования.

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

С наступающим Новым годом!

С праздником!
С праздником!

Для российского ИТ этот год снова оказался непростым. Но, пожалуй, именно такие периоды лучше всего показывают реальную зрелость рынка и команд. Мы много перестраивались, пересобирали продукты и процессы, часто принимали сложные решения на ходу и при этом не останавливались.

За это время стало заметно, как меняется сам рынок. Отечественные ИТ-решения повзрослели: появилось больше осмысленных внедрений и ответственности за результат, больше реальной инженерной и продуктовой работы. Импортозамещение окончательно перестало быть абстрактным лозунгом и превратилось в ежедневную практику. Это сложно, иногда нервно, но точно полезно для всей отрасли.

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

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

С Новым годом! Пусть он принесет больше ясности, сильных решений и поводов гордиться своей работой.

Данила Трусов, директор продукта «Инферит ИТМен»

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Обновлены бесплатные курсы от Гарвардского университета, включая:

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Обновлён сборник твикеров, кастомайзеров и проверенных системных решений для Windows под названием System Tools. База данных проект включает ссылки на популярные и полезные утилиты для очистки, твика, удалённого доступа, мониторинга, виртуальных машин, менеджеров дисков, периферии и аудио в системе.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0