gpg -c filename
используется для шифрования файла с помощью GnuPG (GNU Privacy Guard) с симметричным шифрованием, а команда gpg -d filename.gpg > filename
используется для расшифровки зашифрованного GPG файла и сохранения расшифрованного содержимого в новый файл.#!/bin/bash
echo "Welcome! I am ready to encrypt a file/folder for you."
echo "Currently, I have a limitation. Please place me in the same folder where the file to be encrypted is located."
echo "Enter the exact file name with the extension."
read file;
gpg -c "$file"
echo "I have successfully encrypted the file..."
# Ask for confirmation before removing the original file
read -p "Do you want to remove the original file? (y/n): " confirm
if [ "$confirm" == "y" ]; then
rm -rf "$file"
echo "Original file removed."
else
echo "Original file was not removed. Exiting without deletion."
fi
Please open Telegram to view this post
VIEW IN TELEGRAM
Выбери своё направление и подпишись
1. Python
2. Java
3. React
4. JavaScript
5. Web 3.0
6. Back end
7. Data Engineer
8. IT продажи
9. IT поддержка
10. PHP
11. 1С
12. GO
13. QA
14. Flutter
Полный список каналов IT-вакансий: @best_itjob и @it_rab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает?
Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам.
✔️ Как научиться отвлекаться от работы и отдыхать?
✔️ Как совместить кучу рабочих задач и время с семьей?
✔️ Как справиться с прокрастинацией?
✔️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
👨🏻💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.
Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам.
✔️ Как научиться отвлекаться от работы и отдыхать?
✔️ Как совместить кучу рабочих задач и время с семьей?
✔️ Как справиться с прокрастинацией?
✔️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
👨🏻💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.
Для очистки экрана терминала мы вводим в командной строке
clear
, для выхода вводим exit
. Удобнее же очищать экран нажатием Ctrl + l ( ⌘ + l ), а закрывать терминал сочетанием Ctrl + d (⌘ + d).Иногда я запускаю Firefox из командной строки:
firefox https://freecodecamp.org
Но в таком случае при выходе из терминала браузер вылетает.
Избежать этого помогает команда
nohup
nohup firefox https://freecodecamp.org
Теперь при закрытии терминала Firefox не вылетает, но вылетает моя вкладка.
Лечится это запуском Firefox в качестве фонового процесса с помощью флага
&
:nohup firefox https://freecodecamp.org &
Теперь при выходе из терминала вкладки не страдают.
С помощью команды
killall
можно завершать процесс по его имени:killall firefox
Но удобнее использовать для этого
pkill
, которая позволяет вводить лишь часть имени:pkill fire*
Хотите узнать, как долго выполняется некая программа в оболочке? Просто добавьте в начале команды запуска
time
:time gcc -g *.c
Выполнение
uname -a
выводит информацию о системе. Хотите перепроверить, в каком дистрибутиве работаете?Просто наберите в оболочке
cat /etc/*rel*
Нужно заменить множественные вхождения слова в текстовом файле? Используйте команду
sed
:sed s'/apples/oranges/g' myfile.txt
В этом случае все вхождения слова apples будут заменены на oranges.
Если нужно заменить лишь первое вхождение в каждой строке, просто уберите суффикс
g
в конце команды:sed s'/apples/oranges/' myfile.txt
Символ
g
означает «глобально». В качестве разделителя выступает прямой слэш, хотя по факту можно использовать любой другой символsed s'_apples_oranges_'g ` myfile.txt
Простое использование
sed
производит замену только при выводе, оставляя исходный файл незатронутым.Для изменения самого файла используйте
-i
sed -i s'_apples_oranges_g' myfile.txt
Существует два типа IP-адресов: закрытые и публичные.
Закрытый IP присваивается системой, и его можно уточнить с помощью команды
ifconfig
.Если же вы хотите узнать публичный IP вашего ПК, который провайдер присваивает вашему интерфейсу, то при подключённом интернете просто выполните в командной строке:
curl ifconfig.me ; echo
или curl ifconfig.co ; echo
При нажатии клавиши «вверх» отображается последняя введённая команда. При выполнении
history
выводятся все введённые команды из истории Bash.Однако удобнее нажать Ctrl + r (⌘ + r) и начать набирать команду, на что оболочка начнёт предлагать автозаполнение из истории, и вам останется нажать «Ввод», когда будет найдена искомая команда.
Please open Telegram to view this post
VIEW IN TELEGRAM
TechVibe временно открывает доступ к уникальным материалам. Не упустите свой шанс!
Что вас ждет: 👇🏻
⏰ Материалы будут удалены через 48 часов!
Действуйте сейчас, чтобы не пропустить эту уникальную возможность
Подписывайтесь на
P.S.: Вся нужная инфа уже в закрепе канала. Не стесняйся, сделай первый шаг!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотели бы присоединиться к проекту, который приносит пользу миллионам пользователей? 🚀
В Авито актуальна вакансия в команду, которая занимается разработкой продукта по управлению виртуальной инфраструктурой:
1️⃣ SRE инженер в команду Dev
Также в поиске инженера команда инфраструктуры, которая обеспечивает весь фундамент Авито (от серверов до внутреннего облака):
2️⃣ Системный инженер HPC кластеров
А ещё есть вакансия в команде, которая занимается развитием и администрированием систем, повышающих безопасность компании, на основе Infrastructure as Code подхода:
3️⃣ DevOps Engineer
Вас будут ждать:
– достойная зарплата, размер которой обсуждается на собеседовании;
– прозрачная система премий;
– интересные и важные задачи на очень большом проекте;
– передовые технологии и подходы, возможность пробовать новое;
– опытные и заинтересованные коллеги, готовые оказать поддержку;
– мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
– личный бюджет на обучение, который можно тратить на книги, курсы и конференции;
– забота о здоровье: ДМС со стоматологией с первого дня, в офисе принимают терапевт и массажист;
– возможность работать удалённо и по желанию посещать комфортный офис в Москве или Санкт-Петербурге.
Скорее откликайтесь!
В Авито актуальна вакансия в команду, которая занимается разработкой продукта по управлению виртуальной инфраструктурой:
1️⃣ SRE инженер в команду Dev
Также в поиске инженера команда инфраструктуры, которая обеспечивает весь фундамент Авито (от серверов до внутреннего облака):
2️⃣ Системный инженер HPC кластеров
А ещё есть вакансия в команде, которая занимается развитием и администрированием систем, повышающих безопасность компании, на основе Infrastructure as Code подхода:
3️⃣ DevOps Engineer
Вас будут ждать:
– достойная зарплата, размер которой обсуждается на собеседовании;
– прозрачная система премий;
– интересные и важные задачи на очень большом проекте;
– передовые технологии и подходы, возможность пробовать новое;
– опытные и заинтересованные коллеги, готовые оказать поддержку;
– мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
– личный бюджет на обучение, который можно тратить на книги, курсы и конференции;
– забота о здоровье: ДМС со стоматологией с первого дня, в офисе принимают терапевт и массажист;
– возможность работать удалённо и по желанию посещать комфортный офис в Москве или Санкт-Петербурге.
Скорее откликайтесь!
pwgen
или генератор, встроенный в keepassx
. А можно написать простой генератор паролей на bash.SYMBOLS=""
for symbol in {A..Z} {a..z} {0..9}; do SYMBOLS=$SYMBOLS$symbol; done
SYMBOLS=$SYMBOLS'!@#$%&*()?/\[]{}-+_=<>.,'
# Строка со всеми символами создана.
# Теперь нам надо в цикле с количеством итераций равным длине пароля
# случайным образом взять один символ и добавить его в строку, содержащую пароль.
PWD_LENGTH=16 # длина пароля
PASSWORD="" # переменная для хранения пароля
RANDOM=256 # инициализация генератора случайных чисел
for i in `seq 1 $PWD_LENGTH`
do
PASSWORD=$PASSWORD${SYMBOLS:$(expr $RANDOM % ${#SYMBOLS}):1}
done
echo $PASSWORD
Please open Telegram to view this post
VIEW IN TELEGRAM
/etc/network/interfaces
. Примем, что настраиваемый узел обладает только одним сетевым интерфейсом с именем «ens33». Скрипт должен обеспечивать возможность указания статического IP-адреса, маски подсети и шлюза по умолчанию.auto ens33
iface ens33 inet static
address ЗНАЧЕНИЕ_IP_АДРЕСА
netmask ЗНАЧЕНИЕ_МАСКИ_СЕТИ
gateway ЗНАЧЕНИЕ_ШЛЮЗА_ПО_УМОЛЧАНИЮ
Самый простой вариант решения задачи, которым обычно пользуются начинающие разработчики, — это поместить шаблон в тело скрипта и использовать локальные переменные в качестве подстановочных значений.
#!/bin/bash
IP="192.168.0.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
TEMPLATE="$(
cat << EOF
auto ens33
iface ens33 inet static
address $IP
netmask $NETMASK
gateway $GATEWAY
EOF
)"
echo -e "$TEMPLATE"
auto ens33
iface ens33 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
Создадим файл шаблон «template.txt» следующего содержания:
auto ens33
iface ens33 inet static
address $IP
netmask $NETMASK
gateway $GATEWAY
envsubst
, которая ищет во входящем потоке строки вида $имя_переменной
или ${имя_переменной}
и заменяет их на значение соответствующих переменных. Важно отметить, что для работы этой утилиты переменные должны быть отмечены ключевым словом export. С учётом всего вышесказанного наш скрипт будет выглядеть следующим образом:#!/bin/bash
export IP="192.168.0.10"
export NETMASK="255.255.255.0"
export GATEWAY="192.168.0.1"
envsubst < template.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
Функционал. Эксплуатация. Преимущества и недостатки.
3 года тестируем и исследуем российские платформы виртуализации.
Собрали весь материал в одном посте
2022: сравнение шести платформ
2024: характеристики одиннадцати платформ
2022-2023 год:
Astra Linux, «Брест»
zVirt
Альт сервер виртуализации на базе OpenNebula
Альт сервер виртуализации на базе Proxmox
РЕД виртуализация
РУСТЭК
2024 год:
zVirt
SpaceVM
Numa vServer
VMware по-русски: как мы внедряли отечественные платформы виртуализации
Как электросети переехали в частные облака и на российскую виртуализацию
ВРС на базе Basis.Workplace + Р-Платформа
ВРС на базе Termidesk + zVirt
SPACE VDI
Please open Telegram to view this post
VIEW IN TELEGRAM
bashrc
на удаленных машинах и расширенное проксирование.Please open Telegram to view this post
VIEW IN TELEGRAM
Как разрабатывать и настраивать Grafana Stack для эффективного визуализирования метрик и логов?
🔹Расскажем на открытом уроке «Grafana Stack: закрываем все современные потребности Observability», урок приурочен к курсу «Observability: мониторинг, логирование, трейсинг» от Otus.
Рассмотрим ключевые компоненты Grafana Stack и их роли в Observability.
Настроим интеграции с различными системами для получения актуальных данных.
✅ Практика: Создание настраиваемых дашбордов и алертов, для эффективного управления производительности и надежности сервисов
👉 Регистрация и подробности:
https://otus.pw/6D1pa/?erid=LjN8KcNUf
#реклама
О рекламодателе
🔹Расскажем на открытом уроке «Grafana Stack: закрываем все современные потребности Observability», урок приурочен к курсу «Observability: мониторинг, логирование, трейсинг» от Otus.
Рассмотрим ключевые компоненты Grafana Stack и их роли в Observability.
Настроим интеграции с различными системами для получения актуальных данных.
✅ Практика: Создание настраиваемых дашбордов и алертов, для эффективного управления производительности и надежности сервисов
👉 Регистрация и подробности:
https://otus.pw/6D1pa/?erid=LjN8KcNUf
#реклама
О рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
cron
, чтобы выполнять анализ по расписанию и высылать результат вам на почту. Результат будем сохранять в отдельном файле на каждый день и в одном файле будем собирать всю информацию. Саму информацию представим в виде двух значений — количество попыток и IP-адрес. Таким образом мы можем посмотреть заодно, правильно ли работает fail2ban
и сколько попыток залогиниться на почтовый сервер проходит за сутки.#!/bin/bash
# Название файла с адресами, включающее дату
IP_BLACKLIST="/root/scripts/blacklist-`date "+%Y-%m-%d"`.lst"
# Фильтрация ошибок аутентификации
CURRENT_DATE=`date "+%b %d"`
grep "dovecot:auth" /var/log/auth.log \
| grep "authentication failure" \
| grep "$CURRENT_DATE" \
| cut -d" " -f 14 \
| sed 's/rhost=//' \
| sort | uniq -c >> $IP_BLACKLIST
# Добавление в большой список только IP-адресов из сегодняшнего лога
awk '{print $2}' $IP_BLACKLIST >> /root/scripts/blacklist-full.lst
# После добавления сортируем и убираем неуникальные адреса
cat /root/scripts/blacklist-full.lst | sort | uniq >> /root/scripts/blacklist-full.lst.new
rm /root/scripts/blacklist-full.lst
mv /root/scripts/blacklist-full.lst.new /root/scripts/blacklist-full.lst
# Выводим сегодняшний лог
cat $IP_BLACKLIST
/etc/crontab
следующую строчку:55 23 * * * root /root/scripts/check-auth-errors.sh
iptables
можно написать еще один скрипт, которым можно блокировать адреса из ежедневного лога:#!/bin/bash
IPLIST=$(awk '{print $2}' $1)
for IP in ${IPLIST}
do
echo -n Blocking ${IP} ...
iptables -t filter -A INPUT -s ${IP} -j DROP
echo Done
done
Please open Telegram to view this post
VIEW IN TELEGRAM
🎓 Тренинги Zabbix Сертифицированный Специалист 7.0 и Zabbix Сертифицированный Профессионал — ответ на вопрос «как быстро получить самые полные знания по Zabbix 7.0».
@zabbix_ru — наш телеграм-канал, посвященный Zabbix и ничему кроме Zabbix.
Тренинги Zabbix — лучшая инвестиция, которую вы можете сделать для себя или своих коллег. Мы опросили участников предыдущих потоков и сформулировали основные преимущества от прохождения тренингов:
📖 устранить пробелы. Часто знания Zabbix ограничиваются эпизодическим изучением документации и фрагментарны. Курс поможет систематизировать знания и откроет для вас новые возможности уже знакомой системы мониторинга.
📖 делать своими силами. Участие подрядчиков в проектах внедрения подразумевает предоставление доступа в ваше окружение. Прохождение официальных курсов Zabbix на русском языке позволит вам выполнять работы своими силами.
📖 распространять знания. Сотрудники, получившие сертификат Zabbix, не просто совершенствуют свои собственные технические навыки — они привносят полученные знания в коллектив и делятся ими со своими коллегами.
📖 получить сертификат. Это официальный вендорский курс Zabbix, переведенный на русский язык. После прохождения курса у вас будет возможность сдать экзамен и получить сертификат. Сертификат подтверждает знания и дает дивиденды компании и мотивацию сотрудникам.
📖 получить компетенции. Курсы проводят сертифицированные тренеры и эксперты Zabbix, которые регулярно повышают свою компетенцию как путем прохождения дополнительного обучения, так и участием в проектах внедрения Zabbix.
Проведем 2 тренинга подряд в этом году. Далее только в новом 2025. Программа тренингов по ссылкам выше.
📅 Zabbix сертифицированный специалист 7.0 (ZCS 7.0) 11-15 ноября
📅 Zabbix сертифицированный профессионал 7.0 (ZCP 7.0) 18-20 ноября
Подробную информацию вы можете запросить, написав @galssoftware или через почту welcome@gals.software.
@zabbix_ru — наш телеграм-канал, посвященный Zabbix и ничему кроме Zabbix.
Тренинги Zabbix — лучшая инвестиция, которую вы можете сделать для себя или своих коллег. Мы опросили участников предыдущих потоков и сформулировали основные преимущества от прохождения тренингов:
📖 устранить пробелы. Часто знания Zabbix ограничиваются эпизодическим изучением документации и фрагментарны. Курс поможет систематизировать знания и откроет для вас новые возможности уже знакомой системы мониторинга.
📖 делать своими силами. Участие подрядчиков в проектах внедрения подразумевает предоставление доступа в ваше окружение. Прохождение официальных курсов Zabbix на русском языке позволит вам выполнять работы своими силами.
📖 распространять знания. Сотрудники, получившие сертификат Zabbix, не просто совершенствуют свои собственные технические навыки — они привносят полученные знания в коллектив и делятся ими со своими коллегами.
📖 получить сертификат. Это официальный вендорский курс Zabbix, переведенный на русский язык. После прохождения курса у вас будет возможность сдать экзамен и получить сертификат. Сертификат подтверждает знания и дает дивиденды компании и мотивацию сотрудникам.
📖 получить компетенции. Курсы проводят сертифицированные тренеры и эксперты Zabbix, которые регулярно повышают свою компетенцию как путем прохождения дополнительного обучения, так и участием в проектах внедрения Zabbix.
Проведем 2 тренинга подряд в этом году. Далее только в новом 2025. Программа тренингов по ссылкам выше.
📅 Zabbix сертифицированный специалист 7.0 (ZCS 7.0) 11-15 ноября
📅 Zabbix сертифицированный профессионал 7.0 (ZCP 7.0) 18-20 ноября
Подробную информацию вы можете запросить, написав @galssoftware или через почту welcome@gals.software.
<(command)
. Создаёт именованный канал (FIFO) и подключает к нему вывод команды внутри скобок. Именованный канал ведёт себя как файл, что позволяет использовать его в качестве входа для другой команды. >(command)
. Также создаёт именованный канал, но подключает его к входу команды внутри скобок. Это позволяет перенаправить вывод одной команды на вход другой команды.Подстановку процесса можно использовать для сравнения вывода двух команд с помощью команды diff. Например, для сравнения вывода ls в двух разных каталогах:
diff <(ls dir1) <(ls dir2)
Вы можете использовать подстановку процесса, чтобы отправить вывод команды нескольким командам. Например, чтобы отправить вывод ls и в grep, и в wc:
ls | tee >(grep 'txt$') >(wc -l) > /dev/null
Подстановку процессов можно объединить в цепочку для создания сложных конвейеров. Например, чтобы отсортировать и подсчитать слова в текстовом файле, а затем отобразить 10 самых распространенных слов:
cat file.txt | tr '[:space:]' '\n' | grep -v '^$' | sort | uniq -c | sort -nr | head -n 10
Предположим, у вас есть два отсортированных файла, file1.txt и file2.txt, и вы хотите объединить их в новый отсортированный файл, merged.txt . Вы можете использовать команду sort вместе с подстановкой процесса, чтобы добиться этого:
sort -m <(sort file1.txt) <(sort file2.txt) > merged.txt
Вы можете использовать замену процессов для сравнения структуры каталогов двух каталогов с помощью команды tree и diff:
diff -y <(tree -fi dir1) <(tree -fi dir2)
Предположим, у вас есть файл журнала, и вы хотите извлечь записи, содержащие слово "ERROR", сохранить их в отдельный файл и отобразить на экране. Для этого можно использовать grep и tee с заменой процессов:
grep 'ERROR' logfile.txt | tee >(cat > errors.txt)
Вы можете использовать awk с подстановкой процессов для выполнения арифметических операций над столбцами CSV-файла. Например, чтобы сложить столбцы 2 и 3 CSV-файла и отобразить результат:
awk -F, '{ print $1, $2 + $3 }' <(cat file.csv)
Чтобы объединить стандартный поток вывода и стандартный поток ошибок в один поток, можно использовать замену процессов с помощью cat:
command 2> >(cat >&1)
В этом примере команда представляет команду, которую вы хотите выполнить. Подстановка процесса >(cat >&1) перенаправляет стандартный поток ошибок (файловый дескриптор 2) в стандартный поток вывода (файловый дескриптор 1).
Please open Telegram to view this post
VIEW IN TELEGRAM
-l
– перечислить имена связанных функций редактирования. -P
– перечислить названия привязываемых функций редактирования и их привязки, если они есть.-p
– то же, что и -P
, но выводит результат в форме, которую можно использовать в качестве входных данных для команды bind
. -S
– перечислить последовательности клавиш, которые вызывают макросы и их значения.-s
– то же, что и -S
, но выводит результат в форме, которую можно использовать в качестве входных данных для bind
.-V
– перечислить переменные и их значения, которые используются при привязке ключа bash
.-v
– то же, что и -V
, но выводит результат в форме, которую можно использовать в качестве входных данных для bind
. -q название функции
– отобразить (запросить) привязку клавиш для функции bash имя_функции
.-u имя функции
– отключить все ключи, привязанные к функции редактирования function-name
.-r последовательность клавиш
– удалить все привязки для последовательности клавиш keyseq
. -f имя файла
– считать привязки клавиш из файла имя_файла
и использовать их в качестве входных данных для команды привязка.-x keyseq:shell-команда
– привязать команду. Команда оболочки shell-command
будет выполнена bash, когда получит последовательность клавиш keyseq
.-X
– перечислить последовательности клавиш, привязанные к -x
, в форме, подходящей для ввода в bind
.Please open Telegram to view this post
VIEW IN TELEGRAM
Освой работу с Prometheus, Grafana, ELK, etc и настрой мониторинг!
✅ Владение инструментами Observability открывает новые карьерные горизонты администраторам Linux, DevOps-инженерам
Стройте сложные эффективные системы мониторинга и логирования инфраструктуры и приложений
💪 Ответьте на 15 вопросов и проверьте, насколько вы готовы к обучению на курсе «Observability: мониторинг, логирование, трейсинг» от OTUS.
Пройти тест и получить спец. предложение:
https://otus.pw/HhMG/?erid=LjN8KPGU9
#реклама
О рекламодателе
✅ Владение инструментами Observability открывает новые карьерные горизонты администраторам Linux, DevOps-инженерам
Стройте сложные эффективные системы мониторинга и логирования инфраструктуры и приложений
💪 Ответьте на 15 вопросов и проверьте, насколько вы готовы к обучению на курсе «Observability: мониторинг, логирование, трейсинг» от OTUS.
+ 5 новых занятий, для вашего профессионального развития
Пройти тест и получить спец. предложение:
https://otus.pw/HhMG/?erid=LjN8KPGU9
#реклама
О рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM