Каждый раз, когда вы вводите адрес веб-сайта, например, example.com, ваш запрос проходит через скрытую систему под названием DNS (Domain Name System). Эта система делает возможной работу интернета так, как мы его знаем.
Простыми словами о DNS
DNS — это как телефонная книга интернета. Переводит понятные человеку доменные имена (например, google.com) в IP-адреса (например, 142.250.64.78), которые используют компьютеры для общения друг с другом.
DNS работает на основе записей. Они определяют, как домены связываются с серверами, почтовыми системами и другими сервисами. Каждая запись хранит информацию о действиях с запросами, связанными с доменом.
Какие бывают DNS-записи
• A-запись: связывает доменное имя с IPv4-адресом
• AAAA-запись: связывает доменное имя с IPv6-адресом
• CNAME-запись: создаёт псевдонимы для доменов
• MX-запись: указывает почтовый сервер для обработки email
• TXT-запись: содержит текстовую информацию, например, для проверки домена или настройки безопасности.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Снова покаываем шпаргалку по сервисам AWS. С ней можно ориентироваться в том, какие инструменты AWS лучше всего подойдут для решения задач.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Тогда мы хвалили DevDocs за удобство. Сейчас повторяем, потому что это реально must have для DevOps.
Объединяет доки Kubernetes, Docker, Terraform, AWS, Linux man pages и CI CD инструменты. Оффлайн доступ через кэш, быстрый поиск и клавиши для навигации. Можно выбрать только нужное и не тащить все подряд.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Праздничный режим выключен впереди обычные будни, а за спиной осталась собранная подборка контента за 2025 год.
Админ снова на месте и готовит новый цикл постов, задач и обсуждений уже в контексте 2026.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Шутка про скачать оперативку живет дольше многих языков программирования.
Физическую память через интернет не привезут, но увеличить доступный системе лимит памяти можно, если вспомнить про swap.
Swap это запасной вариант, когда реальной RAM не хватает, и ОС начинает выгружать редко используемые страницы памяти в отдельное место.
Обычно это место на диске, но формально swap это просто блочное устройство, куда ядро умеет читать и писать.
А блочное устройство в Linux можно сделать из файла через loopback device, то есть устроить swap поверх файла.
Если файл лежит в примонтированном облаке, получается своп в облаке, медленно, странно, но работает. Автор именно так и сделал.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧑💻 Self-hosting в 2026
Раньше self hosting ассоциировался с вечерами над портами, Docker compose из трех блогов и «почему оно опять упало». Сейчас агенты вроде Claude Code берут на себя всю рутину, пишете «поставь Vaultwarden с Caddy», идёте за кофе, возвращаетесь к готовому compose и запущенным контейнерам.
Дешевые мини ПК тихие и кушают минимум энергии, стоят меньше выходных в баре, и на них спокойно крутятся 13 сервисов на 4 ГБ RAM.
В итоге на домашнем сервере висят полезные штуки, пароли в Vaultwarden с нативными клиентами, фото в Immich с распознаванием лиц, Plex для медиа, Uptime Kuma для мониторинга, Home Assistant для умного дома.
➡️ Как решить боль селфхостинга
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Раньше self hosting ассоциировался с вечерами над портами, Docker compose из трех блогов и «почему оно опять упало». Сейчас агенты вроде Claude Code берут на себя всю рутину, пишете «поставь Vaultwarden с Caddy», идёте за кофе, возвращаетесь к готовому compose и запущенным контейнерам.
Дешевые мини ПК тихие и кушают минимум энергии, стоят меньше выходных в баре, и на них спокойно крутятся 13 сервисов на 4 ГБ RAM.
В итоге на домашнем сервере висят полезные штуки, пароли в Vaultwarden с нативными клиентами, фото в Immich с распознаванием лиц, Plex для медиа, Uptime Kuma для мониторинга, Home Assistant для умного дома.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🤔1
Starship это Rust промпт для терминала, который ставится везде и показывает ровно то, что нужно в данный момент.
Ставится через curl скрипт или менеджеры, на любой Linux дистрибутив, Mac, Windows, даже Android в Termux.
После установки добавляете
eval "$(starship init bash)" в .bashrc или аналог в другой шелл, и перезапускаете терминал.Из коробки видит git статус, текущую ветку, direnv, версии node,python и go, docker контекст, и меняет цвет если команда провалилась.
Если терминал — это основной интерфейс, стоит потратить минуту на установку.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Linux Mint 22.3 под кодовым именем Zena теперь доступен для скачивания. Это LTS-версия на базе Ubuntu 24.04.3 с поддержкой до апреля 2029 года.
Свежее издание принесло Cinnamon 6.6 с переработанным меню приложений, боковой панелью для аватара, мест и фаворитов. Nemo обзавелся поиском по регулярным выражениям, паузой копирования файлов и шаблонами в контекстном меню. Экранная клавиатура переписана нативно, улучшена Wayland-поддержка, добавлены индикаторы уведомлений на панели.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
🛠 Eza — когда ls уже не впечатляет
Eza — это современная замена ls, написанная на Rust. Главное отличие: вывод сразу читабельный, а не набор символов, который нужно расшифровывать.
Что внутри
Цветная подсветка по умолчанию. Папки, файлы, симлинки — каждый тип отличается визуально. Не нужно вглядываться в права доступа, чтобы понять, что перед вами.
Иконки для файлов. Если терминал поддерживает Nerd Fonts, увидите значки рядом с именами. Мелочь, но код на Python сразу отличается от markdown-файла.
Git-статусы в выводе. Команда
Древовидная структура. Флаг
Детальная информация. Флаг
Eza доступна через пакетные менеджеры большинства систем:
После установки можете создать алиас в .bashrc или .zshrc:
Eza не меняет рабочий процесс радикально, но убирает микрораздражители. А в долгосрочной перспективе это экономит больше времени, чем кажется.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt
Eza — это современная замена ls, написанная на Rust. Главное отличие: вывод сразу читабельный, а не набор символов, который нужно расшифровывать.
Что внутри
Цветная подсветка по умолчанию. Папки, файлы, симлинки — каждый тип отличается визуально. Не нужно вглядываться в права доступа, чтобы понять, что перед вами.
Иконки для файлов. Если терминал поддерживает Nerd Fonts, увидите значки рядом с именами. Мелочь, но код на Python сразу отличается от markdown-файла.
Git-статусы в выводе. Команда
eza --git покажет, какие файлы изменены, добавлены или проигнорированы. Древовидная структура. Флаг
--tree развернёт директории в дерево. Глубину контролируете параметром --level. Детальная информация. Флаг
--long выведет размеры, даты изменения, владельцев. Плюс человекочитаемые форматы: не «4096 байт», а «4.0 КБ».Eza доступна через пакетные менеджеры большинства систем:
# macOS
brew install eza
# Ubuntu/Debian
apt install eza
# Arch
pacman -S eza
После установки можете создать алиас в .bashrc или .zshrc:
alias ls='eza --icons'
alias ll='eza --long --git --icons'
alias tree='eza --tree --icons'
Eza не меняет рабочий процесс радикально, но убирает микрораздражители. А в долгосрочной перспективе это экономит больше времени, чем кажется.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🤔1
systemd-analyze — встроенный инструмент для диагностики. Показывает какие сервисы жрут время при старте и где система простаивает.
Быстрая диагностика
Проверить общее время загрузки:
Результат:
Startup finished in 3.2s (firmware) + 2.1s (loader) +
1.8s (kernel) + 12.4s (userspace) = 19.5s
Сразу видно проблему — userspace съел 12 секунд из 19. Копаем дальше.
Смотрим топ медленных сервисов:
systemd-analyze blame
8.234s postgresql.service
2.891s docker.service
1.456s NetworkManager-wait-online.service
0.234s nginx.service
PostgreSQL стартует 8 секунд. Может база огромная, либо что-то не так с конфигом.
Сервисы запускаются не параллельно, а друг за другом по зависимостям:
systemd-analyze critical-chain
graphical.target @19.2s
└─multi-user.target @19.1s
└─postgresql.service @10.8s +8.2s
└─network.target @10.7s
└─NetworkManager.service @8.2s +2.4s
Видно: postgresql ждёт сеть, сеть ждёт NetworkManager. И все остальные сервисы встали в очередь за базой.
График покажет картину целиком:
systemd-analyze plot > boot.noscript
firefox boot.noscript
Получаете таймлайн с цветными полосками — когда каждый сервис стартовал, сколько времени занял, кто с кем параллелился. Узкие места видны сразу.
Узнать время старта отдельного сервиса:
systemd-analyze blame | grep nginx
Или посмотреть его зависимости:
systemd-analyze critical-chain nginx.service
Больше не нужно гадать почему сервер грузится как чугунный мост.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4
Roadmap: Оркестрация и деплой ИИ-агентов
Для `DevOps`-инженера ИИ-агенты — это новые типы нагрузок, требующие специфического мониторинга, безопасности и масштабирования.
План освоения технологии:
— понимание логики автономных агентов и их взаимодействия с
— настройка окружений для работы мультиагентных систем;
— управление состоянием (`State`) и памятью агентов в кластерах;
— безопасность и контроль доступа при
Курс «Разработка ИИ-агентов» поможет разобраться в архитектуре ИИ-сервисов и научиться внедрять их в продакшн.
Освоить ИИ-инструменты
Акция «3 в 1» до 19 января: купите курс и получите ещё два в подарок.
Для `DevOps`-инженера ИИ-агенты — это новые типы нагрузок, требующие специфического мониторинга, безопасности и масштабирования.
План освоения технологии:
— понимание логики автономных агентов и их взаимодействия с
API;— настройка окружений для работы мультиагентных систем;
— управление состоянием (`State`) и памятью агентов в кластерах;
— безопасность и контроль доступа при
Tool Calling.Курс «Разработка ИИ-агентов» поможет разобраться в архитектуре ИИ-сервисов и научиться внедрять их в продакшн.
Освоить ИИ-инструменты
Акция «3 в 1» до 19 января: купите курс и получите ещё два в подарок.
🤔1
Wine 11.0 вышел после года разработки и тысяч правок. Основные новинки: ARM64EC архитектура, улучшенная поддержка HiDPI, Wayland по умолчанию и экспериментальный FFMPEG-бэкенд для мультимедиа.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📝 touch — недооценённая команда
Все знают
Что на самом деле делает
Обновляет временные метки файла (access time, modification time). Создание файла — побочный эффект, если файл не существует.
Базовое использование:
Продвинутые флаги:
Полезные комбинации:
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Все знают
touch как «создать пустой файл». Но это лишь верхушка айсберга.Что на самом деле делает
touch:Обновляет временные метки файла (access time, modification time). Создание файла — побочный эффект, если файл не существует.
Базовое использование:
# Создать пустой файл
touch app.log
# Обновить время изменения существующего файла
touch config.yaml
# Создать несколько файлов
touch file1.txt file2.txt file3.txt
Продвинутые флаги:
# Установить конкретное время
touch -t 202501150830.00 file.txt
# Формат: [[CC]YY]MMDDhhmm[.ss]
# Установить время как у другого файла
touch -r reference.txt target.txt
# Изменить только access time
touch -a file.txt
# Изменить только modification time
touch -m file.txt
# Не создавать файл, если не существует
touch -c file.txt
Полезные комбинации:
# Создать структуру директорий с файлами
mkdir -p app/{config,logs,data}
touch app/config/.gitkeep app/logs/.gitkeep
# Найти файлы старше 30 дней и "омолодить"
find /tmp -type f -mtime +30 -exec touch {} \;
# Обновить timestamp только если файл существует
[ -f config.json ] && touch config.json
# Создать файл с правами в одну команду
(umask 077 && touch secret.key)
touch — это швейцарский нож для работы с временными метками и файловыми операциями.📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2💯2
🐳 Секреты из .env в Docker
Мы уже говорили, что переменные из .env файлов при сборке Docker-образов запекаются в слои навсегда. Вот свежий кейс от команды, где ключи БД и токены оказались доступны всем.
Что пошло не так
В Dockerfile скопировали .env в контекст или использовали в RUN-командах. Результат:
Фикс и лучшие практики
Передавайте через
➡️ Живой пример | Зеркало
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётов
Мы уже говорили, что переменные из .env файлов при сборке Docker-образов запекаются в слои навсегда. Вот свежий кейс от команды, где ключи БД и токены оказались доступны всем.
Что пошло не так
В Dockerfile скопировали .env в контекст или использовали в RUN-командах. Результат:
docker history показывает секреты, любой pull видит их в inspect.Фикс и лучшие практики
Передавайте через
--env-file только на runtime. Для build ARG без дефолтов и --build-arg снаружи. Multi-stage сборка сбрасывает промежуточные слои с данными.📍 Навигация: Вакансии • Задачи • Собесы
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик проснулся рано из-за кота и за час с помощью ИИ написал генератор QR-кодов одним SQL-запросом для Postgres.
Никаких расширений или библиотек не нужно, просто выполним скрипт:
psql -qf pqr.sql -v payload='Hello, World!'
И на выходе нас ждёт QR-код.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🏭 Трудоголики снова в моде
Что происходит, когда рынок из «кандидатского» превращается в «работодательский»? Культ личной эффективности вместо командной работы, up-or-out вместо саббатикала, и «работай или уходи» вместо «мы о тебе заботимся».
2026 год в IT — это конец иллюзии про дружескую атмосферу в офисе и начало честной истории про трудоголизм как норму выживания.
➡️ Узнать в этом кто виноват
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
Что происходит, когда рынок из «кандидатского» превращается в «работодательский»? Культ личной эффективности вместо командной работы, up-or-out вместо саббатикала, и «работай или уходи» вместо «мы о тебе заботимся».
2026 год в IT — это конец иллюзии про дружескую атмосферу в офисе и начало честной истории про трудоголизм как норму выживания.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2😢1
😤 «Я ненавижу GitHub Actions всей душой»
Разработчик написал эмоциональный текст о том, почему GitHub Actions — это боль. Переводим и разбираем аргументы.
Главные претензии:
1. YAML-ад:
Выглядит просто? Но здесь довольно просто докинуть багов:
• Опечатка в node-version → silent fail
• Забыл @v3 в actions → неожиданная версия
• Отступы не там → непонятная ошибка
2. Дебаг — это пытка
В других CI можно:
• Подключиться по SSH к раннеру
• Запустить локально (GitLab Runner)
• Посмотреть полные логи
В GitHub Actions:
• Логи обрезаны
• Нельзя зайти на раннер
• Локальный запуск через костыли (act)
• Цикл «коммит → push → wait → fail» занимает минуты
3. Секреты — русская рулетка:
Проблемы:
• Секрет не установлен? Пустая строка
• Опечатка в имени? Пустая строка
• Секрет в форке? Не работает
• Дебажить? Удачи, secrets маскируются в логах
4. Кеширование — лотерея:
Проблемы:
• Кеш иногда не восстанавливается
• Иногда восстанавливается битый кеш
• Лимит 10 GB → старые кеши удаляются
5. Версии actions — dependency hell:
• Нет lock-файла для actions
• Breaking changes в минорных версиях
• @main — может сломаться завтра
• @sha — нечитаемо и надо обновлять вручную
💬 Как у вас с GitHub Actions? Всё спокойно или тоже есть дровишки в огонь?
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Разработчик написал эмоциональный текст о том, почему GitHub Actions — это боль. Переводим и разбираем аргументы.
Главные претензии:
1. YAML-ад:
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci
- run: npm test
Выглядит просто? Но здесь довольно просто докинуть багов:
• Опечатка в node-version → silent fail
• Забыл @v3 в actions → неожиданная версия
• Отступы не там → непонятная ошибка
2. Дебаг — это пытка
В других CI можно:
• Подключиться по SSH к раннеру
• Запустить локально (GitLab Runner)
• Посмотреть полные логи
В GitHub Actions:
• Логи обрезаны
• Нельзя зайти на раннер
• Локальный запуск через костыли (act)
• Цикл «коммит → push → wait → fail» занимает минуты
3. Секреты — русская рулетка:
- name: Deploy
env:
API_KEY: ${{ secrets.API_KEY }}
run: ./deploy.sh
Проблемы:
• Секрет не установлен? Пустая строка
• Опечатка в имени? Пустая строка
• Секрет в форке? Не работает
• Дебажить? Удачи, secrets маскируются в логах
4. Кеширование — лотерея:
- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Проблемы:
• Кеш иногда не восстанавливается
• Иногда восстанавливается битый кеш
• Лимит 10 GB → старые кеши удаляются
5. Версии actions — dependency hell:
- uses: actions/checkout@v3 # Какая v3? v3.0? v3.5?
- uses: actions/setup-node@v3 # Deprecated через месяц
- uses: docker/build-push-action@v4 # Ломает старые workflow
• Нет lock-файла для actions
• Breaking changes в минорных версиях
• @main — может сломаться завтра
• @sha — нечитаемо и надо обновлять вручную
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3
«Этот манёвр будет стоить нам 51 год...»
DevOps — это не только
Успейте забрать обучение в Proglib Academy по ценам 2025 года:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Выбрать направление
⚠️ Стоимость изменится 19 января
DevOps — это не только
YAML-конфиги, но и умение автоматизировать процессы с помощью Python и понимание архитектуры систем. Рынок требует всё больше компетенций в ИИ.Успейте забрать обучение в Proglib Academy по ценам 2025 года:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Выбрать направление
⚠️ Стоимость изменится 19 января
🏷 Теги и лейблы в Terraform как привычка
Ресурсы без тегов почти всегда превращаются в невидимые расходы и в проблемы с управлением. Если навести порядок в тегах прямо в Terraform модулях, инфраструктуру проще искать, считать и контролировать.
Лучше начинать со схемы на уровне модуля. У каждого модуля должен быть входной
Пример:
Последний шаг это запрет на ресурсы без обязательных тегов. Это можно сделать через policy as code и проверки, чтобы не разгребать мусор уже в проде.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt
Ресурсы без тегов почти всегда превращаются в невидимые расходы и в проблемы с управлением. Если навести порядок в тегах прямо в Terraform модулях, инфраструктуру проще искать, считать и контролировать.
Лучше начинать со схемы на уровне модуля. У каждого модуля должен быть входной
map для tags или labels и этот map должен применяться ко всем ресурсам, которые это поддерживают. Идея простая. В модуле есть базовые поля вроде окружения и владельца, а сверху можно передать дополнительные теги и объединить их через мерж.Пример:
variable "environment" {
type = string
}
variable "owner" {
type = string
}
variable "tags" {
type = map(string)
denoscription = "Общие теги для всех ресурсов"
default = {}
}
locals {
common_tags = merge(
{
env = var.environment
owner = var.owner
terraform = "true"
},
var.tags
)
}
resource "proglib_bucket" "this" {
bucket = var.owner
tags = local.common_tags
}Последний шаг это запрет на ресурсы без обязательных тегов. Это можно сделать через policy as code и проверки, чтобы не разгребать мусор уже в проде.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2