uz
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Kanalga Telegram’da o‘tish

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

Ko'proq ko'rsatish

📈 Telegram kanali Bash Days | Linux | DevOps analitikasi

Bash Days | Linux | DevOps (@bashdays) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 23 803 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 708-o'rinni va Rossiya mintaqasida 28 124-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 23 803 obunachiga ega bo‘ldi.

16 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -201 ga, so‘nggi 24 soatda esa -10 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 20.40% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 11.53% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 4 855 marta ko‘riladi; birinchi sutkada odatda 2 744 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 17 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent bashdays, linux, bash, docker, скрипт kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Yuqori yangilanish chastotasi (oxirgi ma’lumot 17 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

23 803
Obunachilar
-1024 soatlar
-287 kunlar
-20130 kunlar
Postlar arxiv
23 апреля Магнит OMNI приглашает на Infrastructure MeetUp! На этом мероприятии инженеры, администраторы и разработчики обсудя
23 апреля Магнит OMNI приглашает на Infrastructure MeetUp! На этом мероприятии инженеры, администраторы и разработчики обсудят важные темы, такие как устойчивость инфраструктуры к сбоям, развитие Observability в распределенной среде и внутренние протоколы, которые помогают в сложных ситуациях. 🔸Спикеры: — Николай Губин, Backend Engineer Avito Тема: Avito Static Fallback: без паники, в продакшене работает статистика — Вячеслав Валявский, Team Lead SRE Магнит OMNI Тема: Всё стабильно нестабильно — как мы с этим боролись — Андрей Сухоруков, Team Lead DevOps Kaspersky Тема: Отказоустойчивость кроме обрала 🔸Что будет? — Разбор болей и кейсов, которые реально работают — Розыгрыш призов (крутейший мерч!) — Панельная дискуссия о том, как повышать устойчивость сервисов — Живой нетворкинг (познакомься с теми, кто тоже не спит по ночам, пока чинит прод) Митап пройдет в гибридном формате: • Офлайн в московском офисе Магнита • Онлайн 🔸23 апреля, в 17:30. Не упустите возможность узнать новое и пообщаться с профессионалами! Подробности и регистрация — по ссылке. Реклама. Рекламодатель АО «Тандер», ИНН: 2310031475, erid: 2SDnjdAMUv8

Продолжу делиться всякими плюшками и фэйлами. 🔤🔤🔥🔤🔤🔤🔤 Пару дней назад начал писать скрипт на bash для того, чтобы 1с-ники в случае чего могли перезапустить службы 1c, postgres. И меня при этом не трогали. В общем, написал. Но хотелось бы, чтобы перезапуск служб производится без запроса пароля. Есть файл в системе /etc/sudoers. В котором можно все это сделать. Добавляем строчку:
username ALL=NOPASSWD:/usr/sbin/service postgresql*,/usr/sbin/service srv1cv83*,/usr/sbin/reboot
И все. Пользователь username может управлять указанными службами и даже перезапустить сервак. Делается это так:
sudo service postgresql restart
или
sudo service srv1cv83_1541 status
Но пароль при этом не запрашивается. Еще один плюс в том, что sudo -i система выполнить не даст. srv1cv83* Указана так, потому что на сервере может быть несколько служб 1c. Если указать /usr/sbin/service postgresql st*, то можно будет запустить, остановить и посмотреть статус. И всё! 😞 В процессе отладки на виртуалке словил жесткий fail. В sudoers прописал service без пути. После этого команда sudo начала ругаться на ошибки в sudoers и перестала работать. У меня debian. Пароль root заблокирован, sudo не работает. Я даже в recovery загрузиться не смог. Пришлось на хосте монтировать файл виртуалки qcow2 и восстанавливать, все, как было. 👆 Поэтому прежде чем править файл, убедитесь, что пароль root установлен. В случае проблем — сэкономите кучу времени и нервов. su root и будет счастье. 🛠 #рабочиебудни #linux @bashdays / @linuxfactory / @blog

Стартовал набор в ШАД — успейте подать заявку! Технологии меняют нашу реальность, но за их развитием стоят люди, которые умею
+4
Стартовал набор в ШАД — успейте подать заявку! Технологии меняют нашу реальность, но за их развитием стоят люди, которые умеют находить нестандартные решения. И именно в Школе анализа данных Яндекса готовят таких специалистов! Здесь амбициозные и увлечённые студенты: - погружаются в машинное обучение, Data Science и искусственный интеллект; - перенимают опыт экспертов из индустрии; - учатся решать задачи, стоящие перед ведущими IT-компаниями и исследовательскими центрами. Учёба в ШАДе — это серьёзный вызов даже для тех, кто уже знаком с анализом данных. Поступить непросто, но если вы готовы к интенсивной нагрузке, нестандартным кейсам и полной пересборке своего мышления — это место для вас! За 2 года обучения вы получите инструменты и навыки, которые позволят работать над сложнейшими задачами индустрии, запускать собственные проекты и двигать науку вперёд. Занятия полностью бесплатны и проходят по вечерам. Если в вашем городе нет филиала, можно учиться онлайн. Готовы бросить вызов данности? Тогда подавайте заявку до 4 мая!

Proxmox post install in 2025 (часть 2) Такс, следующим этапом после установки proxmox необходимо настроить проброс реальных устройств в виртуальные машины.
Проброс устройств подразумевает — устройства которые подключены к материнской плате на хостовой машине. Например, видюха, модемы и т.п. То есть виртуальные машины смогут их использовать.
Если устройство проброшено в виртуальную машину, то ни хостовая машина ни другие виртуальные машины использовать это устройство не смогут. Короче устройство будет изолировано.
У меня таким боком прокинут рутокен в виндовую виртуалку, чтобы в ЭДО доки подписывать с любого устройства и из любой жопы мира.
Открываем на редактирование файл: /etc/default/grub И правим GRUB_CMDLINE_LINUX_DEFAULT, должно получиться так: Если у тебя Intel:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pt=on"
Если у тебя AMD
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on pt=on"
iommu=on — включает IOMMU (Input-Output Memory Management Unit) для процессоров. Этот механизм позволяет изолировать устройства ввода-вывода, повышая безопасность и управление памятью.
pt=on — включает поддержку PCI passthrough для виртуализации, позволяя передавать устройства (например, видеокарты или другие PCI-устройства) непосредственно в виртуальные машины.
Сохраняем изменения и обновляем загрузчик:
update-grub
reboot
По-хорошему proxmox нужно отправить в перезагрузку, но это не точно. В любом случае для чистоты эксперимента я все же ребучу. Загружаем модули: Открываем на редактирование: /etc/modules И прописываем:
vfio
vfio_iommu_type1
vfio_pci
С версии ядра 6.2 модуль vfio_virqfd больше нахуй не нужен. Сохраняем и запускаем:
update-initramfs -u -k all
reboot
Здесь обязательно нужен ребут, без ребута нихуя НЕ заработает! Проверяем:
dmesg | grep -e DMAR -e IOMMU or dmesg | grep -e DMAR -e IOMMU
И ищем строчку: Interrupt remapping enable Если нашел, то поздравляю, у тебя всё получилось! Если же нет, то еще раз внимательно выполни все шаги и не забудь про ребут. На закуску Чтобы изолировать GPU карточку от хостовой системы, нужно еще с бубном побегать.
lspci -nn
Узнаём ID карточки, а дальше подставляем этот ID в эту команду:
echo "options vfio-pci ids=10de:____,10de:____ disable_vga=1" > /etc/modprobe.d/vfio.conf
И пиздярим блеклисты:
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia_drm" >> /etc/modprobe.d/blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
Ну и само собой отправляем proxmox в ребут. Проброс HDD
ls -n /dev/disk/by-id/
Узнаём ID диска и выполняем команду:
/sbin/qm set [VM-ID] -virtio2 /dev/disk/by-id/[DISK-ID]
Вот и вся наука. Всё лично протестировано и работает как часы, включая проброс видюхи. Если есть чего добавить, велком в комменты. 🛠 #proxmox #devops @bashdays / @linuxfactory / @blog

📐Основы Kubernetes: архитектура и абстракции Как устроен Kubernetes и почему он стал стандартом для управления контейнерами?
📐Основы Kubernetes: архитектура и абстракции Как устроен Kubernetes и почему он стал стандартом для управления контейнерами? Что разберемся на занятии: 1. Ключевые компоненты Kubernetes: контейнеры, поды, ноды, сервисы и их взаимодействие. 2. Как в Kubernetes происходит развертывание и управление микросервисами. 3. Принципы масштабируемости, отказоустойчивости и безопасности в Kubernetes. 4. Реальные кейсы использования Kubernetes для DevOps и архитекторов. Что получится после урока? • Фундаментальное понимание структуры Kubernetes и его ключевых абстракций. • Навыки работы с необычными объектами для развертывания и масштабирования приложений. • Практические знания, которые можно сразу применить в работе. 👉 Регистрация и подробности о курсе "Инфраструктурная платформа на основе Kubernetes": https://vk.cc/cKxTRD Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Proxmox post install in 2025 (часть 1) Давай разберемся, что нужно сделать после установки proxmox.
Как вариант сразу накатить эту штуку Proxmox VE Post Install, но процесс не прозрачный.
Наш путь — это всё сделать ручками, чтобы было понимание и контроль над процессом. Для начала пиздуем сюда:
/etc/apt/sources.list
И добавляем дополнительные репозитории:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://security.debian.org/debian-security bookworm-security main contrib
Затем отключаем интерпрайзный репозиторий в файле:
/etc/apt/sources.list.d/pve-enterprise.list
В нем комментируем одну строчку:
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
Следом отключаем платный ceph, идем в файл:
/etc/apt/sources.list.d/ceph.list
Комментируем и добавляем халявную репу:
# deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise
deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
После этого выполняем:
apt update && apt upgrade
reboot
Всё раздуплится и обновится из бесплатных репозиториев. После этого перезагружаем сервер, потому что прилетело достаточно много важного и серьезного. Дальше выполняем в терминале proxmox:
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Эта команда отключит No valid subsciption, сообщение о том, что у нас отсутствует подписка на интерпрайз. Довольно нозящая и заёбистая тема.
Чтобы изменения вступили в силу, скинь кэш в браузере. Всё, больше это информационное окошко тебя не побеспокоит.
На этом можно и закончить, но есть еще момент с прокидываем физических устройств в виртуальные машины. Этот момент рассмотрим во второй части (завтра в 14:13 МСК залетит, пост в отложке), там похитрее всё. 🛠 #proxmox #devops @bashdays / @linuxfactory / @blog

🎉 Результаты розыгрыша: 🏆 Победители: 1. dima (@Vesel4ag) 2. Nikolay (@galek240) 3. Cagami (@cagami) ✔️Проверить результаты

Что не так с кодом в Капибаровске? Узнайте на T-CTF — соревновании от Т-Банка для опытных ИТ-специалистов. Решайте задания по
Что не так с кодом в Капибаровске? Узнайте на T-CTF — соревновании от Т-Банка для опытных ИТ-специалистов. Решайте задания по спортивному хакингу с шансом выиграть приз до 420 000 ₽. Вот как все устроено: — Выберите Лигу Разработки или Лигу Безопасности по своим навыкам. Если участвуете впервые, можно потренироваться на демозаданиях. — Соревнуйтесь один или в команде до 3 человек. Вам помогут найти команду, если нет своей. — Участвуйте онлайн или приходите в ИТ-хаб Т-Банка в одном из 6 городов России. — Используйте время на решение заданий и общение с участниками — у вас будет 36 часов. Задания будут интересны разработчикам, QA- и SRE-инженерам, аналитикам и другим ИТ-специалистам уровня middle и senior. Успейте зарегистрироваться до 18 апреля. Реклама. АО "ТБанк", ИНН 7710140679, лицензия ЦБ РФ № 2673, erid:2VtzqxgZivu

Привет, очередная халява. Каждый год я отдаю 3 проходки-билета (скидка 100%) на онлайн-конференцию «Подлодка». Если есть желание посетить сие онлайн-мероприятие, кликай кнопку ниже. В выходные опубликуются результаты. Ну а дальше с вами свяжусь я или Макс и раздадим ништяки. Такие дела! Условия розыгрыша: подписаться на канал @bashdays и @gitgate

Привет, очередная халява. Каждый год я отдаю 3 проходки-билета (скидка 100%) на онлайн-конференцию «Подлодка». Дада, та самая которая выше 👆постом. Если есть желание посетить сие онлайн-мероприятие, кликай кнопку ниже. В выходные опубликуются результаты. Ну а дальше с вами свяжусь я или Макс и раздадим ништяки. Такие дела! Условия розыгрыша: подписаться на канал @bashdays и @gitgate

Как сервисам взаимодействовать между собой надёжно, быстро и понятно? REST, gRPC, события, контракты, версии — деталей много,
Как сервисам взаимодействовать между собой надёжно, быстро и понятно? REST, gRPC, события, контракты, версии — деталей много, а универсальных решений нет. На онлайн-конференции Podlodka Techlead Crew (7–11 апреля) разберёмся, как выстраивать межсервисное взаимодействие: от проектирования API до публикации событий и сравнения протоколов. В программе: 🎯 Event Storming + DDD: проектируем EDA правильно — Кирилл Ветчинкин расскажет, как выделять правильные события, избавляться от синхронных вызовов и строить событийно-ориентированные системы без боли 🔄 Обратная совместимость в парадигме specification-first — Сергей Константинов покажет, как поддерживать REST API и работать со спецификациями типа OpenAPI 🎙Интервью: Проектируем API — contract first — Илья Зонов поделится, когда этот подход спасает, а когда мешает. И как версионировать API без боли ⚔️ gRPC vs RESTful: битва протоколов — Алексей Романов сравнит два подхода по 10 критериям Готовы прокачаться? Билеты здесь🎟 А по промкоду bashdays8 получите скидку в 500р🥳

И снова здравствуйте! ㅤ Давно хотел реализовать функцию на Bash, чтобы красиво выводить какие-то значимые уведомления в терми
И снова здравствуйте! Давно хотел реализовать функцию на Bash, чтобы красиво выводить какие-то значимые уведомления в терминал по типу как это сделано в npm. Обычное echo уже не возбуждает, ничего не поделаешь. Да и всякие Gum тоже ставить не хочется. Хуяк-хуяк и получился очередной ебальник-убивальник.
#!/bin/bash

bashdays_box() {
    local headertext="$1"
    local message="$2"

    local white=$'\e[38;5;007m'
    local reset=$'\e[0m'
    local color

    case "$headertext" in
        INFO)  color=$'\e[38;5;39m' ;;
        OK)    color=$'\e[38;5;34m' ;;
        DONE)  color=$'\e[38;5;34m' ;;
        WARN)  color=$'\e[38;5;214m' ;;
        ERROR) color=$'\e[38;5;196m' ;;
        DEBUG) color=$'\e[38;5;244m' ;;
        TASK)  color=$'\e[38;5;141m' ;;
        NOTE)  color=$'\e[38;5;45m' ;;
        *)     color=$'\e[38;5;244m' ;;
    esac

    local headerpadding=$(( ${#message} - ${#headertext} ))
    local header=${message:0:headerpadding}

    echo -e "\n${color}╭ ${headertext} ${header//?/─}────╮" \
        "\n│   ${message//?/ }   │" \
        "\n│   ${white}${message}${color}   │" \
        "\n│   ${message//?/ }   │" \
        "\n╰──${message//?/─}────╯${reset}"
}

bashdays_box "INFO" "Hello from https://t.me/bashdays"
bashdays_box "ERROR" "Swap is enabled — this may affect performance"
bashdays_box "WARN" "Certificate expires in 5 days"
bashdays_box "DEBUG" "Using config file: /etc/myapp/config.yml"
bashdays_box "DONE" "All services started"
Всё просто! Передаем тип алерта и сообщение которое нужно выводить в рамке. А чё, красиво получилось! Забирай себе, глядишь когда-нибудь пригодится. ➡️ Box-drawing characters tags: #bash 🔔 @bashdays➡️ @gitgate

➕ Открытый практикум DevOps by Rebrain: Managed Kubernetes и облачные сервисы. Как работать эффективнее с Yandex Cloud ↘️ Рег
➕ Открытый практикум DevOps by Rebrain: Managed Kubernetes и облачные сервисы. Как работать эффективнее с Yandex Cloud ↘️ Регистрация Время проведения: 10 апреля (четверг) в 12:00 по МСК Программа практикума: 🟢Ценность Kubernetes и облачных сервисов — зачем в этом нужно разбираться 🟢Работа с Yandex Managed Service for Kubernetes и другими сервисами 🟢Полезные практические сценарии — разбор интересных решений 🟢Типичные ошибки пользователей и сложности при работе на платформе Yandex Cloud — на демостенде Кто ведёт? Нурсултан Калниязов — архитектор облачных решений. Помогает развивать облачные сервисы, имеет большой опыт работы с Kubernetes. C 2022 года работает в Yandex Cloud. Василий Озеров — Co-Founder Rebrain, руководитель международной команды Fevlake. Спикер RootConf / DevopsConf. ✉️ Вас ждут кейсы про первые шаги в Yandex Cloud и лайфхаки администрирования Managed Kubernetes® Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFJcxsep

Кругом грабли! Потребовалось мне сегодня поднять один серверный линукс дистрибутив на базе debian (чуть позже расскажу какой). Задача не тривиальная. Но по итогу как обычно подкинули граблей. Раньше всегда был уверен, что если сделать машину с параметрами 1 CPU, 512МБ RAM, 5ГБ диск. То debian залетит только в путь. До сегодняшнего момента. Грузимся с исошника, нажимаем Install и получаем черный экран с мигающим курсором. Ни ошибок, нихуя! Попробовал и так и сяк, на виртуалку, на proxmox, в облаке. Взял чистый debian, такая же история. Чёрный экран и курсор. ХМ!!! И тут я вспомнил, что полгода назад ставил ubuntu и она просто висла на выборе часового пояса.
А решил я эту проблему увеличением памяти до 1024 МБ. Причем методом тыка это натыкал, без дебага.
Попробовал с debian иии… это помогло. То есть в какой-то момент всё пошло по пизде и 512 МБ нам теперь мало. Пошел, почитал требования к debian bookworm и действительно, требуется 1024 МБ. Ну ёб вашу мать! Ок, будем знать и брать с запасом. На ровном месте какая-то хуйня вечно лезет. Писало быть хоть — долбаёб, у тебя памяти не хватает! tags: #рабочиебудни 🔔 @bashdays➡️ @gitgate

🚨 Команда Яндекс 360 в поиске SRE-инженера Яндекс 360 — это 13 высоконагруженных сервисов (Почта, Диск, Календарь, Телемост
🚨 Команда Яндекс 360 в поиске SRE-инженера Яндекс 360 — это 13 высоконагруженных сервисов (Почта, Диск, Календарь, Телемост и другие) и более 95 миллионов пользователей ежемесячно. Мы хотим предоставить бизнес-клиентам возможность использовать сервисы по модели on-premises — то есть на инфраструктуре заказчика. Ищем SRE-инженера, который поможет сделать процесс установки, поддержки и обновления сервисов в клиентской инфраструктуре максимально простым и удобным. Детальное описание вакансии и задач ищите тут. Что ожидаем: 🟠 Опыт автоматизации установки, конфигурации и обновления сложных микросервисных приложений в облаке 🟠Понимание принципов Infrastructure as Code, опыт работы с Terraform и Ansible 🟠 Понимание принципов GitOps, работа с Git 🟠 Опыт работы с любой CI/CD платформой 🟠 Опыт работы с публичными облаками (AWS, Azure, Yandex Cloud) Подробнее про задачи, стек и вызовы читайте в описании вакансии. Откликайтесь — и ждём вас в команде 🙌

Позволил себе пару дней ничего не делать, кроме конечно проверки LF домашек. Лежал, исследовал дырки в axiom verge, гулял. Мне понравилось! Буду почаще практиковать. Но есть и жирный минус, сегодня пришлось себя прям заставлять что-то сделать по работе. К хорошему привыкаешь быстро. Ладно, лирика. Давай дальше бест-практики тыкать. Команда if [ bar = "$foo" ]; проверяет, равны ли два значения. Тут самое важно это — пробелы, про кавычки повторять не буду, ты это уже и так знаешь. Все уши тебе прожужал. Неправильно:
[bar="$foo"] 
[ bar="$foo" ]
[[bar="$foo"]]
1. Нельзя слеплять всё вместе. Это хуёва даже в плане кодстайла. 2. Нет пробела вокруг знака «=». 3. Аналогично, всё слеплено. Правильный синтаксис:
if [ bar = "$foo" ]; then
или
if [[ bar = "$foo" ]]; then
Почему? Потому что [, =, ] это отдельные символы, первая скобка вообще команда test. А если ты все слепляешь, Bash посчитает тебя долбаёбом и отправит в пешее эротическое. Главное правило — всегда ставь пробелы между каждым элементом в условии. tags: #bash #badpractices #bestpractices 🔔 @bashdays➡️ @gitgate

Яндекс запускает новый сезон Тренировок по алгоритмам 7.0 Это бесплатный онлайн-интенсив для систематизации знаний и подготов
Яндекс запускает новый сезон Тренировок по алгоритмам 7.0 Это бесплатный онлайн-интенсив для систематизации знаний и подготовки к собеседованию в Яндекс. Смотрите лекции, решайте задачи и поднимайтесь в рейтинге! За пять недель интенсивного обучения вы погрузитесь в изучение фундаментальных алгоритмов, лежащих в основе работы компьютера, операционных систем, систем управления базами данных и архиваторов. На занятиях рассмотрим применение битовых операций для исправления ошибок и метод сжатия данных по алгоритму Лемпела-Зива, углубимся в изучение двусвязных списков и B-деревьев для быстрого поиска по индексу и хранения файлов. Ваш рейтинг будет зависеть от количества полностью решенных задач и посылок по задачам со звездочкой. Если хотите попасть в топ, старайтесь решать задачи до разбора — решения, сданные после дедлайна, не учитываются. Лучшие участники получат: — Сертификат о прохождении Тренировок (при решении 20 из 40 задач) — Пробное техническое собеседование в Яндекс — Проходку на Young Con и другие ценные бонусы Подать заявку на Тренировки можно здесь.

Привет, один из наших подписчиков попросил анонсировать его пепяку. Она уже пролетала в gitgate, но ничего страшного, пусть и тут полежит. Тем более штука маст-хэвная. TENV Ёпта! Если кратко, TENV это консольный менеджер для управления версиями Terraform, Terragrunt, OpenTofu, Atmos. TENV написан на гошке, не требует дополнительных зависимостей и может быть запущен под любой операционкой. Удобно чё. Ты скажешь — блядь, да есть же например tfenv и asdf, зачем очередной велосипед? Во-первых, автора TENV зовут Александр, а не «Аннадурай Сатьямурти Чидамбарампиллаи». А это уже о чем-то говорит! Ну и, во-вторых, все эти утилиты не поддерживают OpenTofu, Terragrunt и т.п. К тому же, требуют много консольных костылей/зависимостей и хуёва работают НЕ на Linux.
asdf не поддерживает автоматическое переключение версий на базе спецификации версии Terraform / OpenTofu внутри проекта с помощью HCL файлов. В целом, asdf скорее переключалка по запросу, а tenv более заточен под OpenTofu/Terraform проекты.
Установка:
LATEST_VERSION=$(curl --silent https://api.github.com/repos/tofuutils/tenv/releases/latest | jq -r .tag_name)
curl -O -L "https://github.com/tofuutils/tenv/releases/latest/download/tenv_${LATEST_VERSION}_amd64.deb"
sudo dpkg -i "tenv_${LATEST_VERSION}_amd64.deb"
Сейчас лично потыкал, всё работает как часики. После установки запускаем tenv, выбираем из списка (стрелочками и на пробел) что установить и жмем ENTER. НО, так как хашикорпы — письки (This content is not currently available in your region), в РФ надо трафик прогнать через одно место, чтобы вытащить бинари терраформа.
Вот тут я бы пожелал автору добавить киллер-фичу, сделать чтобы tenv обращался к таким заблокированным серверам не самостоятельно, а например через какую-то прокладку. Тогда сука цены бы не было! Александр, добавь для нас такую возможность, буду прям лично твоей штукой пользоваться, достаточно удобно!
В общем рекомендую потыкать и поддержать проект звездами. Годнота! ➡️ Страница проекта и документация tags: #utilites #devops 🔔 @bashdays➡️ @gitgate

👩‍💻 Хотите понять, как работает сердце Linux? Разбираемся с одной из важнейших структур ядра — task_struct. Как она управля
👩‍💻 Хотите понять, как работает сердце Linux? Разбираемся с одной из важнейших структур ядра — task_struct. Как она управляет процессами, какие ключевые поля включает и как их использовать в коде? Разбор на реальных примерах, практическое погружение в работу модуля task_struct, советы от эксперта. Вы не просто поймёте теорию — вы увидите её в действии. ⏺Встречаемся на открытом вебинаре 3 апреля в 20:00 мск. Все участники получат скидку на курс «Разработка ядра Linux». Регистрация открыта: https://vk.cc/cKmQ9F Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

С пятницей ребят. Бест-практики по башу уже знатно подзаебали, держись осталось немного, там за дебаг затрем, подкопилось у меня знатной дичи. Сегодня поделюсь с тобой почему я стал использовать блокировку экрана перед тем как отойти от экрана.
Нет, не от злых черно-шляпных, смысла в этом мало, блокировка тут не решает. Собаку съели.
Дело было так. Лет 10 назад я открыл putty, подключился к проду и пошел навалить себе кофеёв с печенькой. Навалил. Вернулся. На клавиатуре мило устроился кот. Кота тревожить не стал, уважительная причина не ходить на работу. Взял ноут и получил в аську 100500 алертов в nagios. Да, в те времена в тренде были nagios и заббиск. Но заббикс всем казался пиздец сложным, поэтому халявили и втыкали нагиос. Ну дак вот. Суть. Когда кот устраивался, он первой лапой нажал на стрелочку вверх, потом еще раз нажал пузаном и на фаталити ёбнул яйцами по Enter.
Ему то чё, он хуй за мясо не считает.
А в хистори с профилактических выходных оставалась команда shutdown -h now, до которой добрался кот и успешно её исполнил.
В те времена мелкий бизнес особо за аптайм не переживал и ретроспективы только зарождались, в жопы не ебали.
Но опыт был получен.
Звучит как сказка, но такие сказки со мной постоянно приключаются, коллеги соврать не дадут.
Вот после этого, я всегда жму WIN + L или CMD + Q. Даже если кот и сын спят, все равно прожимаю эту комбинацию. Но опять же если открыта консолька с продом, то заранее её еще и сворачиваю, впизду. Видимо детская травма. А ты прожимаешь WIN + L / CMD + Q если отходишь от своей рабочей лошадки? Камон в комменты делиться своими факапами. tags: #рабочиебудни 🔔 @bashdays➡️ @gitgate