Линукс и DevOps Дни
2.02K subscribers
108 photos
8 videos
194 links
Самобытно про разработку, devops, linux, скрипты, тестирование, сисадминство, техдирство, пиэмство и за айтишную жизу.
Download Telegram
Channel photo updated
🤔Что происходит на рынке баз данных в свете импортозамещения?

🔥Обсудим этот злободневный вопрос на бесплатном открытом уроке 4 марта вместе с Сергеем Окатовым — руководителем управления разработки, Fullstack-разработчик с опытом >10 лет

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

👉🏻Этот открытый урок – хороший шанс расширить знания и получить свежие инсайты о рынке баз данных. Больше актуальных знаний ждут вас на онлайн-курсе OTUS “NoSQL”. Осталось меньше половины мест. Курс можно приобрести в рассрочку.

🤝Чтобы записаться на открытый урок, пройдите вступительный тест!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Помнишь я писал про shellcheck, который проверяет Bash скрипты на синтаксические и подобные ошибки. Ну так вот, у интерпретатора Bash есть подобный функционал прям из коробки.

Суть - проверить скрипт на ошибки, до запуска.

Перед запуском скрипта, добавь флаг -n и оно тебе скажет, накосячил ты или нет.

Конечно коробочный вариант не такой гибкий как shellchek, но зато ничего не нужно устанавливать лишнего. Это как nginx -t перед его ребутом. Зачем ставить что-то внешнее, если это уже предусмотрено в самой программе. Ну только если расширить функционал и получить больше плюшек.

А если работаешь с гитом, можешь сделать pre-hook и гавно в репу уже не улетит (но если постараешься, то улетит):

bashErr=$(find src/ -type f -name '*.sh' -exec bash -n {} \;  2>&1 > /dev/null)
if [ -n "$bashErr" ]; then
echo "$bashErr"
exit 1
fi


После запуска этого хука проверяются все * .sh скрипты в папке src. Пример скрипта с ошибкой:

echo "Hello Bashdays
exit 0


Хуй Хук выдаст тебе сообщение src/script.sh: 7: Syntax error: Unterminated quoted string и запретит (коммитить, пушить в мастер).

Нечто подобное было прикручено к puppet очень давно в одной студии, был какой-то внутренний линтер на хуке гита, но хлебнул я знатно с ним. Мне пушить, а он на какие-то фантомные пробелы орет падла. Короче как только встал у руля, избавился и от этого вонючего паппета, от хуков и от команды.

Ну или как вариант можно включать set -u, например если переменную не объявил и попытался где-то её использовать.

set -u включает режим обработки неустановленных переменных (также известный как режим nounset). Когда этот режим включен, обращение к неустановленной переменной приведет к ошибке выполнения скрипта.


set -u

echo "Переменная VAR: $VAR"


./script.sh: line 3: VAR: unbound variable


Или так:

set -o noexec


Включает режим noexec (режим «нет выполнения»). Когда этот режим включен, скрипт не будет выполняться, а только проверяться на синтаксические ошибки. В общем много вариантов есть, чтобы проверить не запуская.

А завтра кстати внеплановая пятница! Ждем ждем…

tags: #bash

💩
Мастхэв для инженеров инфраструктуры, плюс для программистов

26 февраля стартует 6 поток Apache Kafka для разработчиков. Это углублённый курс с практикой на Java или Golang и платформой Spring+Docker+Postgres. Мы расскажем и покажем, как выйти на новый уровень владения инструментом.

Что вы получите:
👉 Узнаете , как использовать Kafka при создании приложения.
👉 Решите реальные бизнес-кейсы.
👉 Получите типовые шаблоны проектирования: они облегчат разработку на начальном этапе.
👉 Узнаете о большинстве частых ошибок, и научитесь их избегать.

Что в программе?
В курсе 28 онлайн-уроков, готовые стенды, много-много практики и закрытый чат с кураторами. Коротко о программе:

➡️ Терминология. В подробностях и с примерами расскажем, что такое нода, датацентр, кластер, ZooKeeper, консумер, топик и так далее.
➡️ Как выстроена архитектура Kafka.
➡️ Основы брокера. Разберем, как создать топик, настроить продюсер и консумер.
➡️ Как выстраивать архитектуру между микросервисами.
➡️ Наиболее распространенные проблемы при...
С наступающим! Давным-давно я избавился от OpenVPN и сейчас активно продолжаю использовать WireGuard. Даже порой связываю продакшен сервера wg тоннелями в разных регионах, где нет возможности это сделать из коробки. Стабильно, быстро, бесплатно.

Всё было хорошо, пока я не повзрослел и не познал джаззз установил себе Windows. Ну и естественно запихал туда официальный гуёвый клиент от wg. А что могло пойти не так? А всё!

Клиент в рандомный момент показывал средний палец и работал через хуй копыто.

Приходилось его выгружать, перезапускать службы, иногда передергивать софтверно сетевую карту, чтобы не ребутить машину. Ну такое себе удовольствие… Мне блять/блядь работать надо, а я тут утехами занимаюсь.

Так я ебался с полгода, но в этот понедельник меня это окончательно заебало! Пошел искать альтернативы, конкретно гуишного клиента. Потому что сама технология wg меня устраивает, не устраивают эти постоянные глюки.

И да, я много гуглил про эти проблемы, они имеются и фиксятся именно, так как я их и фиксил, перезагрузками, службами и другими костылями.

Короче перебрал я разные клиенты, всё шлак, ну и наткнулся на гитхабе на что-то приличное, простое и даже с фичами.

Называется эта штука TunnlTo. Работает в коллаборации с WireSock. По бенчмаркам обгоняет даже официальный WG клиент. На странице проекта там все подробно описано, можешь самостоятельно ознакомиться.

Чо понравилось:

1. Не глючит, шустрый, не виснет
2. Поддержка импорта тоннелей из официального wg клиента
3. При загрузки ОС можно автоматом подключать/не подключать VPN
4. Разделение приложений, кто идет через VPN, а кто нет
5. Ну и конечно другие фичи, какие хз, мне 4х хватает

В общем мне пока нравится. Заточено под винду, но у маководов и линукс-гиков и так всё хорошо, мой личный пруф.

💻 Страница проекта на github

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

В качестве серваков под VPN я использую AEZA. Да, можно оплачивать РФ картами, серваки там честные, даже GPT работает через них, бана пула адресов не замечено. Иногда раздают промо серваки по 1-2 евро. Кого заинтересует, держи рефссылку. Ссылка не моя, это Дмитрий, админ нашего чата порекомендовал этих ребят. Так что, не обессудь, нихуя не реклама, просто полезняшка 👇

https://aeza.net/?ref=370785

Ну а тебе и твоим близким желаю хороших предстоящих выходных, берегите себя ребят. Увидимся!

tags: #utils #windows #networks

💩