fa
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

رفتن به کانال در Telegram

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

نمایش بیشتر

📈 تحلیل کانال تلگرام Bash Days | Linux | DevOps

کانال Bash Days | Linux | DevOps (@bashdays) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 23 791 مشترک است و جایگاه 5 701 را در دسته فناوری و برنامه‌ها و رتبه 28 125 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 23 791 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 18 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -216 و در ۲۴ ساعت گذشته برابر -5 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 22.75% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 12.90% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 5 413 بازدید دریافت می‌کند. در اولین روز معمولاً 3 068 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 21 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند bashdays, linux, bash, docker, скрипт تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 19 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

23 791
مشترکین
-524 ساعت
-257 روز
-21630 روز
آرشیو پست ها
⚡ Скидка 20% на комплект сервисов: Managed Kubernetes, объектное хранилище S3 и облачные базы данных Запускайте и развивайте
⚡ Скидка 20% на комплект сервисов: Managed Kubernetes, объектное хранилище S3 и облачные базы данных Запускайте и развивайте веб-проекты любой сложности с помощью отказоустойчивых и масштабируемых сервисов Selectel. До 30 июня подключите три сервиса и пользуйтесь ими со скидкой 20%. Скидка не ограничена по времени и действует, пока вы используете все три сервиса. Преимущества PaaS-сервисов в Selectel: ◽️ Быстрый запуск, отказоустойчивость и легкое масштабирование. ◽️Вы можете размещать и хранить персональные данные пользователей по закону, ведь сервисы соответствуют 152-ФЗ. ◽️Для того, чтобы развернуть проект в удобной панели my.selectel достаточно несколько кликов. Переходите по ссылке, что зарегистрироваться и подключить сервисы со скидкой: https://slc.tl/ycean Реклама ООО «Селектел» erid 2VtzquePgc2

Чипи-чипи, чапа-чапа. Привет, на скрине 🚫некий Linux бедолага очень обрадовался, когда нашел пасхалку в команде date. Этакий
Чипи-чипи, чапа-чапа. Привет, на скрине 🚫некий Linux бедолага очень обрадовался, когда нашел пасхалку в команде date. Этакий нигде недокументированный аргумент.
date --iso=seconds
Ну да, если запросить help либо глянуть в гуглах, такая конструкция нигде не упоминается. Молодец чо. НО, если бы он знал про функцию getopt_long, то вряд ли сделал открытие. Ща расскажу в чем прикол. Короче, куча программ и утилит используют функцию getopt_long для перебора командной строки. И эта функция распознает сокращения в длинных аргументах и опциях.
Функция getopt_long входит в состав пакета GNU C (glibc)
Собственно вот оригинальная команда:
date --iso-8601=seconds
Но если пропустить её через getopt_long, получим ту самую «пасхалку»:
date --iso=seconds
✔️ Еще примеры для понимания:
1. nano --smart --book
2. ls --hyper --show
3. du --one --human --sum
1. --smarthome --bookstyle
2. --hyperlink --show-control-chars
3. --one-file-system --human-readable --summarize
Понял в чем прикол? Но это еще не всё! Утилиты из состава пакета coreutils, поддерживают сокращения аргументов и опций. Смотри:
for i in d h m s n; do date -I"$i"; done

2024-05-14
2024-05-14T09+00:00
2024-05-14T09:59+00:00
2024-05-14T09:59:37+00:00
2024-05-14T09:59:37,850707267+00:00
-Id == -Idate
-Ih == -Ihours
-Im == -Iminutes
-Is == -Iseconds
-In == -Ins
Аналогично с длинными опциями:
for i in d h m s n; do date --iso="$i"; done

2024-05-14
2024-05-14T10+00:00
2024-05-14T10:01+00:00
2024-05-14T10:01:57+00:00
2024-05-14T10:01:57,460027853+00:00
--iso=d == --iso-8601=date
--iso=h == --iso-8601=hours
--iso=m == --iso-8601=minutes
--iso=s == --iso-8601=seconds
--iso=n == --iso-8601=ns
Ну и на примере ls и sort:
ls --col=al | cat
--col=al == --color=always
printf '%s\n' {20..1} | sort --so=n
--so=n == --sort=numeric
Вся эта байда с сокращением, реализуется с помощью функций из библиотеки Gnulib, которые в свою очередь опираются на функции glibc. Что имеем? Не нужно искать пасхалки, там где их нет. Такие дела! tags: #linux — 🔔 @bashdays

Люди любят жаловаться на жизнь, а когда предлагаешь обратиться к психологу — это «дорого», «некогда», «я им не доверяю». Кому
Люди любят жаловаться на жизнь, а когда предлагаешь обратиться к психологу — это «дорого», «некогда», «я им не доверяю». Кому действительно важно разобраться в себе и изменить жизнь, видит возможности, а не препятствия Первый шаг к решению проблемы — это её осознание. В этом может помочь канал доказательного врача-психиатра и психотерапевта @Doctor_Kovalev, через терапевтические тексты которого можно поработать над: ✅ погружением в себя и определением причины своих непростых состояний ✅ понижением градуса тревожности ✅ повышением самооценки ✅ способностью эффективно контактировать с людьми Реклама. Ковалев К.И. ИНН: 325502816794

Сегодня за девопс, gitlab и как сделать комфортный pipeline с выпадающими списками Variables + Бонусы. Из коробки, когда ты жмешь кнопку Run Pipeline, тебе нужно руками вбивать нужные Variables, например, чтобы указать окружение, в которое будет раскатан релиз. Каждый раз вбивать руками Variable ENVIRONMENT=stage / production ну пиздец тяжко и неудобно. А если таких переменных овердохуя, то всё желание пропадает что-то делать. Хочется чтобы был выпадающий список со всеми параметрами. Накликал мышкой и в продакшен. Выпадающие списки можно делать не только с окружениями, но и добавить банальные вопросы YES/NO и прочее. А затем в секции rules уже все это разруливать и обрабатывать. ✔️Ниже базовая болванка Создаем файл .gitlab-ci.yml в корне проекта и добавляем в него:
variables:
  ENVIRONMENT:
    value: "N/A"
    options:
    - "N/A"
    - "STAGE"
    - "PRODUCTION"
    description: "Deployment environment"

.stage_server:
  &stage_server
    WEB_NODE: "xx.xx.xx.xx"
    DB_NODE: "xx.xx.xx.xx"

.production_server:
  &production_server
    WEB_NODE: "xx.xx.xx.xx"
    DB_NODE: "xx.xx.xx.xx"

deploy:
  tags:
    - common-runner
  script:
    - echo $ENVIRONMENT
    - echo "build & deploy here"
  rules:
    - if: '$ENVIRONMENT == "STAGE"'
      variables:
          <<: *stage_server
    - if: '$ENVIRONMENT == "PRODUCTION"'
      variables:
          <<: *production_server
В первой секции variables, описываем выпадающий список. Из него будем выбирать мышкой, куда деплоить. N/A (выбран по умолчанию) добавлено для дураков, которые ничего не выбирают и сразу тыкают Run Pipeline. В таком случае пайплайн зафейлится и ничего не пострадает. Дальше идут две секции, которые описывают окружения stage и production, там указываем айпишинки и вообще всё, что захотим для каждого окружения. Можно флагов навтыкать и прочего говна. Ну и основная секция deploy, у меня указан раннер с тэгом common-runner, а потом полезная нагрузка которая будет выполнена. В секции rules зашита логика. В зависимости от того, какое окружение было выбрано из выпадающего списка, применяются настройки либо от stage, либо от production. Короче инклудится нужное. Собственно всё. Если нужно добавить еще каких-то выпадающих списков, добавляем в первую секцию всё необходимое, аналогично ENVIRONMENT. Ну и потом в rules все это обрабатываем. Например, так:
- if: '$JOB == "YES" && $ENVIRONMENT == "STAGE"'
В общем всё элементарно. По итогу получаем незамысловатый пайплайн, всё в одном месте и ничего не раскидано по самому gitlab. Бонусы. Да, если нужен общий пайплайн для нескольких проектов, делаем так: Создаем репу dev/pipelines, кидаем туда файл .gitlab-ci.yml, настраиваем в нем всё под свои реалии. Дальше в нужных проектах добавляем файл .gitlab-ci.yml с таким содержимым:
include:
  - project: "dev/pipelines"
  - file: ".gitlab-ci.yml"
Всё, теперь не надо плодить кучу .gitlab-ci.yml с одинаковым содержимым, все инклудится из одного места. Ну и если нужно что-то поменять, меняем один раз и все проекты автоматически это подхватывают. Максимально попытался упростить и сделать наглядно, а дальше уже включай фантазию и твори. Хорошего тебе дня, увидимся! tags: #devops @ВАSНDАYS | BАSHDАYS.CОM

Java — один из самых популярных языков программирования, который используют разработчики для создания игр и приложений. Если
Java — один из самых популярных языков программирования, который используют разработчики для создания игр и приложений. Если вы давно мечтаете попробовать себя в этой сфере, скорее записывайтесь на мини-курс по Java-разработке. Подойдёт новичкам разного возраста, а ещё это полностью бесплатно! Регистрируйтесь: https://epic.st/0gaPiE?erid=2VtzqvfS5WZ 🎉 И получите первый подарок — гайд по профессии Java-разработчика. Что будем делать на мини-курсе: 🔹 Обсудим, почему Java — один из самых востребованных языков 🔹 Познакомимся с кодом Java и рассмотрим ключевые элементы приложений на этом языке 🔹 Определим навыки для трудоустройства 🔹 Сравним Java и Python 🔹 Сделаем Java-приложения по инструкции Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике. Успейте записаться бесплатно! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

Майские праздники равносильны новогодним, уже на третий день начинаешь деградировать и превращаться в обезьяну. После таких затяжных выходных, нужно еще пару недель, чтобы вернуться к нормальной жизни. Привет. Сегодня расскажу про штуку, которой одно время пользовался на локальной машине и снова к ней вернулся. ✔️ Называется Atuin — Magical shell history. Если коротко, эта тулза заменяет стандартный поиск в командной строке по ctrl+r на красивенький и достаточно удобный. Но помимо красивых пейзажей, вся история команд синхронизируется с облачным сервером. Используется база данных sqlite. По сути у тебя одна общая история на нескольких машинах. Очень удобно если бегаешь между ноутом и стационарным компом. Ты скажешь — фи, это же не безопасно! Согласен, поэтому есть варик поднять свой сервачок и синхронизировать через него. Все в лучших традициях selfhosted. Мануал по установке сервера. Через docker-compose за пару минут все расчехляется.
Кстати если нажать стрелочку вверх, сработает триггер и откроется морда atuin с историей, пиздатенько!
Дополнительно: - написана на rust + sqlite - удобный поиск и фильтр - история команд шифруется - совместимо с Bash, ZSH, Fish, NuShell Установка одной командой:
/bin/bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)"
Короче рекомендую потыкать. Сайт проекта: https://atuin.sh/ Страница на github: https://github.com/atuinsh/atuin tags: #linux #utils @ВАSНDАYS | BАSHDАYS.CОM

Привет, сегодня коротко, очередная внеплановая пятница. Короче в продолжение к постам про повышение привилегий. Если звезды сошлись (suid/guid и прочая хуйня), то через vim ты можешь получить интерактивный root shell. Делается так:
vim -c ':!/bin/sh'
Или так:
vim --cmd ':set shell=/bin/sh|:shell'
На выходе тебе выплюнет доллар ($) ну и там уже бесоёбишь. Это применимо не только к пентесту, но и к ситуации когда админ порезал оболочку, ограничив тебя белым списком. И если в этом списке есть vi/vim, то ты ничем не ограничен. Запускаешь полноценный shell через vim и развлекаешься. А порой можно дотянутся и до папки /root и всего остального. Было бы желание 🥳 Вектор этот очень распространён, добавил в бэклог. Сниму как-нибудь видос на ютубину, покажу так сказать всю подноготную выхода из клетки средствами vim. Давай, хороших выходных! Я пожалуй тоже устрою себе внеплановый отпуск на пару дней. Увидимся! Там еще ребята с какого-то облака пришли. Устроим с ними конкурс в ближайшее время с вкусными призами, обещают подвезти вам облачных плюшек на халяву, а я в свою очередь денежный бонус задоначу, приобретете себе чтонибудь пиздатое, например как Дима тут )) tags: #linux #security #utils @ВАSНDАYS | BАSHDАYS.CОM

Если команда разработки расширяется, DevOps-инженеров становится меньше, а инфраструктура активно развивается и растет, подде
Если команда разработки расширяется, DevOps-инженеров становится меньше, а инфраструктура активно развивается и растет, поддерживать сразу несколько архитектурных решений становится сложно и невыгодно.  На встрече Алексей Подольский, инженер внутренней разработки в Cloud․ru, расскажет, как безболезненно объединить кластеры Kubernetes, оптимизировать инфраструктуру и повысить безопасность трафика внутри кластера. На вебинаре вы узнаете: ▪️ как сделать процесс объединения более простым и комфортным — 4 основных условия; ▪️ какие этапы объединения кластеров Kubernetes можно выделить; ▪️ как не только объединить несколько архитектурных решений, но и оптимизировать инфраструктуру и снизить стоимость ее обслуживания; ▪️ как усилить безопасность периметра с помощью тонкой фильтрации трафика; ▪️с какими проблемами можно столкнуться на этапе миграции и как их лучше решать. Также на встрече покажем готовое решение — поделимся результатом слияния нескольких кластеров и создания целостной инфраструктуры. Вебинар будет интересен junior++ и middle DevOps-инженерам, архитекторам облачных решений и всем, кто работает с Kubernetes (K8S). ➡️ Регистрация тут

Тут у безопасников жопы сгорели после предыдущего поста. Нужно ли на приватный ssh ключ устанавливать пароль? Давай сравним с
Тут у безопасников жопы сгорели после предыдущего поста. Нужно ли на приватный ssh ключ устанавливать пароль? Давай сравним с ключом от квартиры. Поставил ты к примеру пиздатый замок на свою входную дверь и у тебя есть связка ключей. А дальше? А дальше ты берешь эту связку ключей и помещаешь в сейф, ставишь код и радуешься. Радуешься до того момента, когда тебе нужно выйти из дома. Приходится брать сейф с собой и везде с ним таскаться. Потому что это безопасно! Код от сейфа же никто не знает, поэтому не получит доступ к ключу, который открывает твою пиздатую дверь. Удобно? Охуенно удобно! Главное практично. Я всегда считал и считаю, что ssh ключи нужны, чтобы заходить на сервера без пароля. Нахуя ты тогда отключаешь возможность логина по паролю и оставляешь ключ к которому нужно вводить пароль? Добавь тогда уж туда еще один фактор авторизации через QR код и Яндекс.Ключ. Лишним не будет 😲 ✔️ Пароль на ключ тебе нужен — если ты рукожопая обезьяна, сосёшься в засос с ослами, качаешь сомнительный софт с обменников и запускаешь непонятные экзешники. Тогда да, есть шанс, что у тебя всё попиздят и отымеют в випиэську. Ну а если соблюдаешь гигиену, чо бояться то?
И еще раз повторюсь — если ты заинтересуешь серьезных людей, да еще и им денег за твою голову задонатят, то никакой пароль на приватный ключик, никакой сейф тебе не поможет, ты сам всё отдашь.
Потому что у человека в приоритете две основных потребности - личная безопасность и секс. Привет пирамиде Маслоу. А вот пароль на gpg ключик это да, мастхэв. Все остальное это избыточная безопасность. Не доводите до абсурда. Если считаешь по-другому, велком в комментарии и хорошего дня! tags: #рабочиебудни @ВАSНDАYS | BАSHDАYS.CОM

Официальные тренинги по Zabbix на русском языке от Галс Софтвэр Мы запустили официальные тренинги Zabbix с возможностью получ
Официальные тренинги по Zabbix на русском языке от Галс Софтвэр Мы запустили официальные тренинги Zabbix с возможностью получения сертификатов вендора. Все тренинги и сертификации будут проводиться на русском языке. Анонсы ближайших тренингов и полезную информацию по Zabbix также публикуем в нашем канале @zabbix_ru, посвященный Zabbix и ничему кроме Zabbix. Предлагаем ознакомиться с расписанием ближайших публичных тренингов: Zabbix Certified Specialist (ZCS) 3-7 июня 2024 года (оффлайн + онлайн) Zabbix Certified Professional (ZCP) 1-3 июля 2024 года (оффлайн + онлайн) Оплата в рублях для юридических и и физических лиц по договору, счету или карте. Возможно проведение приватных тренингов. Задать вопросы и получить дополнительную информацию вы можете у @galssoftware или по запросу на welcome@galssoftware.com.

Ты - самый счастливый человек на планете! Почему? Потому, что сейчас узнаешь про ONLY. Частенько возникала необходимость разрешить пользователю запускать только определенные команды по ssh. То есть явно указать ему белый список таких команд. Городили мы конечно знатные велосипеды с помощью костылей, rbash, симлинков, chroot и т.п.
Кстати про chroot писал в этом посте, почитай на досуге, мож где применишь.
Все эти костыли были неудобные и какие-то пиздец сложно поддерживаемые. Но решение было найдено и вполне элегантное. Всё уже украдено придумано за нас. Для затравки: /home/user/.ssh/authorized_keys
command="only rsync ls cat" ssh-rsa AAAAB3Nza
Думаю идею ты понял. Пользователь подключается по ssh и может выполнить только 3 команды rsync, ls, cat. И тут большой плюс - пользователь не получает интерактивную оболочку, то есть всё сводится к выполнению подобной конструкции:
ssh user@bashdays.ru ls /home/user/
Команда ls находится в белом списке и успешно отработает при подключении по ssh, а дальше сессия завершится. Нехер ему на сервере делать. Есть список команд, вот пусть ими и довольствуется без интерактива. ✔️ Теперь подробности ONLY это НЕ какая-то встроенная команда в Linux, это Bash скрипт, который аккуратно лежит в /usr/local/sbin, положить его туда ты должен самостоятельно. 1. Берем only из репы 2. Кидаем его в /usr/local/sbin/only 3. Ставим chmod +x чтобы запускался 4. Делаем пару ключей для работы
ssh-keygen -P "" -f only
P = пустая парольная фраза f = задаем имя ключа Содержимое ключа only pub добавляем в authorized_keys нужному пользователю, а private key отдаем, тому кто будет подключаться к серверу. Да, файл authorized_keys у меня выглядит примерно так:
command="only rsync cat ls", no-agent-forwarding, no-port-forwarding, no-pty, no-user-rc, no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA
То есть запрещаем всякую лишнюю хуйню. Ну и добавляем в белый список команды, которые будем позволять запускать этому пользователю. Важная штука, потребуется файл с правилами, называется .onlyrules. Забирай тут. Этот файл нужно также скопировать в папку, того пользователя, которого ограничиваем, например в /home/user/.onlyrules Правила нужны, чтобы еще сильнее ограничить пользователя на ввод команд, этакие лимиты на регулярках и sed.
\:^ls$:{p;q}
\:^who$:{p;q}
Короче это фильтры на аргументы, ключи и т.п. Можно не заморачиваться и просто обернуть нужные команды между \:^ и $:{p;q}.
Бонусом, в папке пользователя можешь разместить файл .onlyrc и затюнить всякие информационные сообщения. Но автор не рекомендует этого делать и использовать only без этого файла.
Все файлы из этого поста можешь взять в нашей репе. А историю создания этой пепяки и мельчайшие подробности, можешь почитать тут кстати очень занятно чтиво, правда на английском, да и похер. Лично мне эта штука понравилась, раздал тестировщикам ключики, теперь они сами могут своих вонючих демонов перезапускать, без блуждания по серверу и фраз — да блядь, я что-то нажал и всё сломалось! Такие дела. Увидимся! tags: #bash #linux #utils @ВАSНDАYS | BАSHDАYS.CОM

Привет отдыхающим. Продолжим тему с повышением прав. Искать suid биты через find конечно мастхев, но есть пиздатый инструмент под названием LinPEAS.
LinPEAS - Linux Privilege Escalation Awesome Script
Изобрел его некий пентестер - Карслон (Carlson P), который держит проект HackTricks, возможно ты про него когда-нибудь слышал. Короче штука написана на sh. Чувствуешь уровень? То есть будет работать хоть на чайнике. При запуске LinPEAS сканирует Linux машину, на всякие дырки и криворукость админов. Один из тестов, как раз показывает файлы с suid битами, которые можно использовать для повышения привилегий. Скрипт заточен как раз под поиск всякой хуйни, которая может помочь злоумышленникам надругаться над твоим серваком. Работает самодостаточно, не нужен root, ничего не пишет на диск, не требует каких-то библиотек, запустил и получил на экране отчет. Заплакал, сделал выводы, закрыл дырки/оставил как есть. Запускается одной командой и не требует установки:
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
Но можно и через змеюку:
python -c "import urllib.request; urllib.request.urlretrieve('https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh', 'linpeas.sh')"

python3 -c "import urllib.request; urllib.request.urlretrieve('https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh', 'linpeas.sh')"
Поддерживает различные ключи запуска и всякие навороты, тут уже читай мануал. Мне обычно хватает запуска по дефолту. Да, утилита раньше входила в состав Kali Linux, сейчас хз, не проверял, но скорее всего там и осталась. Короче достойная пепяка! Рекомендую потыкать, по крайней мере на своих сервачках с пет проектами. Найдешь много интересного. 🌐 Страница проекта на github tags: #linux #security #utils @ВАSНDАYS | BАSHDАYS.CОM

Привет, это Девопс фабрика! Мы обучаем желающих перейти в DevOps. Приглашаем на МОК интервью по DevOps! Сделаем бесплатно для
Привет, это Девопс фабрика! Мы обучаем желающих перейти в DevOps. Приглашаем на МОК интервью по DevOps! Сделаем бесплатно для первых десяти человек. МОК интервью - это отличный способ подготовиться к реальным собеседованиям и проверить свои знания в дружелюбной обстановке. Что вас ждет? - Реальные вопросы от лидов, проводивших сотни собеседований по DevOps. - Подробная обратная связь по вашему собеседованию и рекомендации по улучшению. - Опыт, который поможет вам стать увереннее и легче пройти реальное собеседование. - Внимательное и дружелюбное отношение, все проводится спокойно и без стресса :) Посмотреть видео предыдущих интервью и записаться можно по ссылке в канале https://t.me/devops_factory Реклама. ООО «Байкалтим», ИНН: 3851008933, erid: 2Vtzqx3bUA5

Всем привет. Записал сегодня пилотный выпуск на ютубину, изредка буду заходить с подобным контентом. Над звуком еще поработаем, есть нюансы. Завтра отдельным постом продолжу эту тему, так сказать вывернем наизнанку. Поддержи подпиской и лайком! Спасибо!👇 https://youtu.be/gTwpoAaB_dY

⚡️ Появление технологической базы ПО отечественных вендоров и рост приложений, использующих алгоритмы на основе ИИ, — одни из
⚡️ Появление технологической базы ПО отечественных вендоров и рост приложений, использующих алгоритмы на основе ИИ, — одни из главных трендов 2023 года. А что еще? Мы опросили 800+ ИТ-специалистов, включая топ-менеджеров компаний, чтобы понять, как за год трансформировался отечественный рынок DevOps. Упаковали все это в отчет, который сейчас можно бесплатно скачать по ссылке. 📊 Из отчета вы узнаете: - как российские компании преодолевают технологические и кадровые вызовы; - планы и прогнозы развития рынка DevOps в ближайшем будущем; - актуальные вопросы безопасной разработки (DevSecOps); - в каком состоянии кадровый рынок DevOps. Наши партнеры: МТС, IBS, Яндекс, Лаборатория Касперского, а также НИУ ВШЭ, ИСП РАН и ЭКОПСИ Консалтинг. Забирайте ежегодный отчет по ссылке. Реклама. Информация о рекламодателе

🔤🔤🔤🔤🔤🔤🔤🔤🔤 shopt -s extglob; : "${PS1@P}"; : "${_//$'\x01'+([^$'\x02'])$'\x02'}"; : "${#_}"; printf '%b' "\e#8\e[$(((
🔤🔤🔤🔤🔤🔤🔤🔤🔤
shopt -s extglob; : "${PS1@P}"; : "${_//$'\x01'+([^$'\x02'])$'\x02'}"; : "${#_}"; printf '%b' "\e#8\e[$(((LINES-1)/2));$(((COLUMNS-_)/2))H"
tags: #bash @ВАSНDАYS | BАSHDАYS.CОM

Хотели в детстве сыграть в «Самый умный»?💡 Реализуйте мечту в IT-квизе Активируйте Telegram-бота и проверьте свои знания сра
Хотели в детстве сыграть в «Самый умный»?💡 Реализуйте мечту в IT-квизе Активируйте Telegram-бота и проверьте свои знания сразу в восьми темах: ▫️ Дата-центры и железо ▫️ Разработка и soft skills ▫️ ИБ и сети ▫️ Kubernetes и ML Отвечайте на технические вопросы каждый день и побеждайте в мини-играх — за каждый верный ответ начислим баллы. Игроки с самым высоким рейтингом получат крутые подарки от Selectel. Старт с 22 апреля. Перейти в бота → https://slc.tl/6evat Реклама ООО «Селектел» erid 2VtzqvpmxJc

Сегодня про RANDOM и револьвер В бородатые 2000е была такая консольная игруля «Русская рулетка», состояла она из одной строчки:
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo "You live"
Для начала давай сделаем её более безопасной:
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Суть такая: Если деление по модулю псевдослучайного числа переменной RANDOM вернёт - 0, значит тебе песда и пистолет выстрелил. Соответственно если > 0, то ты пока еще жив и тебе повезло. А теперь давай посмотрим на условия, при которых «пистолет выстрелит» сразу. Число отличное от 0, указанное в качестве переменной RANDOM используется как seed (семя) для генератора псевдослучайных чисел. Если посеять число 2, то при первом обращении к переменной RANDOM получим значение, которое делится на 6 без остатка.
RANDOM=2  
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Этот посев даст нужное в разных версиях интерпретатора. Все дело в том, что в версии bash 5.1 были внесены изменения связанные с этим. Короче если у тебя версия баша > 5.0, то можно изменить поведение генератора с помощью переменной BASH_COMPAT.
Переменная BASH_COMPAT в оболочке Bash используется для указания совместимости с предыдущими версиями Bash. Если установить ее на определенное значение, это может изменить поведение Bash так, чтобы оно соответствовало определенной версии. Например, если вы установите BASH_COMPAT=3.2, то это означает, что текущая оболочка Bash будет работать совместимо с версией 3.2. Это может быть полезно, если у вас есть скрипты, которые были написаны для старых версий Bash и вы хотите, чтобы они продолжали работать в новых версиях без изменений поведения.
Так, давай теперь это проверим:
( BASH_COMPAT=51 ; RANDOM=0 ; echo $RANDOM )
Получаем значение: 20814
( BASH_COMPAT=50 ; RANDOM=0 ; echo $RANDOM )
А тут уже другое: 20034 Если мы задаем 0 в переменную RANDOM, тогда семя (seed) инициализируется жестко заданным значением. При котором генерируется требуемое число, то есть делится на 6 без остатка.
RANDOM=0  
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Тут пистолет гарантированно выстрелит. Аналогично предыдущему примеру, если начало строки не число:
RANDOM='bashdays'  
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Снова получим 100% выстрел. ✔️ Как работает генератор: - Начальное значение seed, оболочка получает совершая манипуляции над значениями pid, ppid, uid + текущие время (секунды, микросекунды). - Далее полученное значение пропускается через алгоритм, а результат сохраняется. При следующих обращениях также пропускается через алгоритм. - Потом полученное число усекается. В документации указано максимальное возможное значение 32367. Как я писал выше, руки у нас развязаны и мы можем влиять на начальное значение генератора через переменную RANDOM. Такие дела, исследуйте! tags: #bash #linux @ВАSНDАYS | BАSHDАYS.CОM

17 мая собираем всех на IT-конференцию МТС True Tech Day. Наша работа строится на коде, который мы создали из синтеза науки и
17 мая собираем всех на IT-конференцию МТС True Tech Day. Наша работа строится на коде, который мы создали из синтеза науки и технологий. Это надёжная и универсальная платформа для разработки продуктов и сервисов. Каждый участник конференции поучаствует в сессиях от лидеров индустрии, испытает технологии в true labs и получит новые впечатления и эмоции. Что будет: → 5 тематических треков: Main, Development, AI/ML, Cloud, Science → 50 спикеров с докладами про архитектуру, облачные платформы, NLP4Code, вероятностное программирование, безопасность контейнеров и другое → 10 часов нетворкинга → цифровые зоны и digital-интеграции → а ещё вечеринка со звездой Все спикеры и темы уже на сайте. Регистрируйся на True Tech Day. Участие бесплатное

что выбрал на майские?
Anonymous voting