Mikrotik Ninja – Telegram
Mikrotik Ninja
3.97K subscribers
384 photos
9 videos
57 files
1.23K links
Канал по новым компьютерным технологиям и защите компьютерных программ


Блог http://bubnovd.net
https://medium.com/@dbubnov
https://xakep.ru/author/bubnovd/
Мысли неглупых людей https://news.1rj.ru/str/channel1name
Книги https://news.1rj.ru/str/mreadninja
Download Telegram
Forwarded from AWS Notes
​​AWS Architecture Monthly Magazine

Хочется чего-нибудь почитать по AWS, возможно, в пути или где вообще нет интернета? Может быть у вас всегда с собой Kindle или же, как я, предпочитаете бумажный вариант?

Есть классное место. Уже несколько месяцев читаю и наслаждаюсь. Ведь это не просто ссылка, которая растворится через какое-то время в вашей ленте. Это можно распечать, засунуть в рюкзак, забыть, а потом получить в лесу, или на даче без связи, истинное удовольствие.

https://aws.amazon.com/architecture/architecture-monthly/

Реально качественные статьи, тематическая подборка по для каждого месяца, лучшие авторы и рекомендации экспертов, подборка видео по теме, решения и описание референсной архитектуры — всё на самом высшем уровне. В pdf версии ссылки кликабельные (в бумажной, к сожалению, нет😀).

Очень рекомендую. Начиная с мая 2021-го года вёрстка и наполнение радикально изменились — каждый месяц увеличивается объём и качество. В AWS вспомнили про нас, кто любит читать бумагу и электронные книжки. Надеюсь, на выходе можно будет подписаться на регулярное издание и получать по (физической) почте.

На картинке журналы AWS Architecture Monthly, cкачать pdf:

▫️ November 2021 IoT for the Edge
▫️ October 2021 Aerospace
▫️ September 2021 Advertising Technology
▫️ August 2021 Sustainability

#design
Forwarded from Evil Wireless Man
Внимание, это бродкаст.
Нужна помощь.

У нашего замечательного коллеги Андрея Парамонова (он же boolochka, он же "Шапочки из фольги") сгорел дом.
Вместе с документами, имуществом и деньгами.

Это было единственное жильё ради которого они продали квартиру и переехали всей семьёй буквально месяц назад.
А теперь это горстка пепла и семья с тремя детьми осталась без ничего.

Это... Пиздец.
Я не представляю как такое можно вывозить в одиночку.

В этом чате больше трёх тысяч человек. Давайте посмотрим чего стоит наше беспроводное комьюнити.
Реквизиты для помощи Андрею ниже:

5336 6903 1358 5335 Сбер
5368 2902 3077 1083 ВТБ
5486 7420 5067 9637 Альфа
4476 2461 6196 7233 Райффайзен
Forwarded from NetDevOps Space
​​"Как мы проверяли конфигурацию, хороша она или нет? Никак. Просто на глазок, вносим изменения напрямую через CLI и молимся. Даже функция отката конфигурации была недоступна."- интересная история о том как развернули автоматизацию сети в компании Hostinger.

Часть1
Часть2

Круто, спасибо!- 🔥
На будущее пригодится!-👍
Мне не интересно!- 😏

Хотите обсудить? Айда в чат - https://news.1rj.ru/str/automate_devnet

Больше ресурсов вы можете найти по хештегам:
#netdevops #success_story
Forwarded from Mikrotik по-русски (Nikita Tarikin)
Forwarded from Mikrotik по-русски (Nikita Tarikin)
Встречайте нового CCR2116 зверя:
— 16 ядер по 2ггц
— 16 gb ram
— 12 x 1gb Ethernet
— 4 x SFP+ 10gbe
— 30 секунд на загрузку BGP full view
— M.2 Слот
— 2 блока питания

https://youtu.be/TVZG7TvUxXY
wappalyzer - расширение для браузеров, позволяющее узнать техноогии, применяемые сайтом

И хорошая статья про этот инструмент
Интересная статья про хантинг ИТ специалистов.

Выглядит так, что хантинг в ИТ процесс более трудоёмкий, чем сами ИТ. Результативных рекрутеров немного и они очень ценятся на рынке. И спрос на них падать не планирует - мы вошли в резульаты демографической ямы и в ближайшие 7-10 не выйдем из неё.

Так что если ваши знакомые хотят интерсную высокооплачиваемую работу, но ИТ на дух не переносят, можно присмотреться к сфере рекрутинга
А PIN код твоей карты входит в топ 20?

Инфа из поста соседнего канала
Пропустил отличную новость от Mikrotik. Вышла RouterOS 7.1 в ветке Stable. Можно смело ставить на домашние роутеры

Спасибо подписчикам за новость!
👍1
Только Python для инженеров и ничего лишнего

Учебный центр Слёрм приглашает на третий поток курса «Python для инженеров», в котором разбираем админские библиотеки и учим писать автоматизацию.

Это не будет «тот самый курс от Hello World до декораторов с «гарантированным» трудоустройством». Обучение для тех, кто готов совершенствовать уровень программирования и на деле внедрять автоматизацию, сокращая рутину.

Вы не будете решать абстрактные задачки вроде: переверните список, не используя reverse(). В нашей практике только то, что применимо в работе.

Выберите свой формат обучения: от самостоятельного изучения материалов до ревью каждого задания спикером.
Обучение закрепим проектом: ваша рабочая задача ли наш вариант.

Третий поток начинается 31 января и длится 3 месяца. Места на каждом формате обучения ограничены.
Выберите формат и тариф, забронируйте место сейчас, а платите до конца декабря.
Посмотреть программу и оставить заявку: https://slurm.club/3lLs4YR
Иногда нужно узнать открытые порты в контейнере, но не всегда в нем есть netstat или ss. В /proc/net/tcp можно увидеть все открытые сокеты. Правда, в hex формате. Но bash умеет переводить числа из разных систем счисления

Вот команда, показывающая все открытые порты в системе в десятичном формате

cat /proc/net/tcp | awk '{print $2}' | cut -d : -f 2 | xargs -I % /bin/bash -c 'echo $((16#%))'

Чтобы увидеть порты конкретного процесса, нужно посмотреть открытые этим процессом сокеты
ls -la  /proc/PID/fd | grep socket
а потом найти номер нужного сокета в поле inode в /proc/net/tcp
Forwarded from Евгений Потапов и ITSumma
Нашел в закладках такую вот статью:
https://gekk.info/articles/dosapps.html

Автор изучил гигантский объем материалов и написал гигантский материал про историю многозадачного запуска DOS-программ.

Сначала объясняются принципы многозадачности, особенности работы DOS-а, историю процессоров (8086-й как первый процессор, 80286 и его защищенный, 80386 и его virtual 8086), а потом автор смотрит каждую винду с Windows 1 до Windows 95 и пробует запускать на них досовые программы

Статья гигантская, я дочитал до второй винды, но как раз удобное чтиво, когда хочется спрятаться под одеялко и ничего не делать.
Matrix in your terminal

while :;do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(printf "\U$(($RANDOM % 500))");sleep 0.05;done|gawk '{a[$3]=0;for (x in a){o=a[x];a[x]=a[x]+1;printf "\033[%s;%sH\033[2;32m%s",o,x,$4;printf "\033[%s;%sH\033[1;37m%s\033[0;0H",a[x],x,$4;if (a[x] >= $1){a[x]=0;} }}'
Часто приходится писать bash скрипты. Я далеко не специалист в баше и недавно осознал одну вещь.

Каждый скрипт должен иметь статус выхода. Зачем? Да просто потому что он может использоваться другими скриптами или вызываться из других систем, например CI. Если скрипт выполнился с ошибками, но на выходе мы получили статус 0, что говорит о его успешном выполнении, то, к примеру Gitlab CI, посчитает его успешно выполнившимся и передаст управление следующей задаче. Но ведь наш скрипт может готовить данные для следующих задач, а значит они пройдут некорректно.
ВЫВОД 1: скрипт должен иметь статус выхода: 0 - всё хорошо, !0 - что-то пошло не так

Решить эту задачу достатчно просто: используем set -euo pipefail
-e
заставляет скрипт немедленно остановиться после ошибки в любой команде
-u проверяет корректность заданных переменных. Если на вход скрипта не пришла нужная переменная, то он упадет с ошибкой
-o pipefail проверяет работу перенаправлений. Например, эта команда выполнится без ошибки без флага -o pipefail : grep some-string /non/existent/file | sort . А с флагом выпадет с ошибкой

Но иногда команда может выполниться с ошибкой, но для нас это ожидаемо и нужно продолжить выполнение кода. Например, мы хотим проверить существование репозитория в GitHub и, если его нет - создать репозиторий. В CI имеем две джобы - проверка и создание.
Для проверки запускаем gh repo view $REPO . Если репозиторий есть, код выхода 0. Если нет - 1. Если мы не смогли получить доступ к GitHub из-за протухшего токена, тоже получим 1. Но ведь в случае ошибки нам нужно запустить следующую джобу, а она не запустится, если проверка выпала с ошибкой.
ВЫВОД 2: при ожидании ошибки нужно проверять вывод и, в зависимости от него, выдавать статус выхода

# Получаем сообщение от GitHub. 2>&1 указывает, что в переменную нужно писать не только успешный вывод, но и ошибку
RESULT=$(gh repo view $REPO 2>&1)
# Если репа существует - считаем скрипт успешно выполненным и выходим
if [ $? -eq 0 ]; then
echo "0"
exit 0
# Если репы нет - считаем скрипт успешно выполненным и отдаем на выход 1. Следующая джоба по этому коду понимает, что нужно запуститься
elif [ "$RESULT" = "GraphQL error: Could not resolve to a Repository with the name $REPO." ]; then
echo "1"
exit 0
else
# если текст ошибки другой - считаем, что что-то пошло не так и выходим с ошибкой exit 255
echo ERROR: $RESULT
exit 255
fi

Для многих это очевидно, но я в очередной раз столкнулся с этой проблемой и решил написать об этом, чтобы не забыть на будущее и лучше разобраться в вопросе. Этот пример успешно работает в ArgoWorkflow. Понятное описание флагов тут

#bash #noscript
Спасибо всем, кто был с нами в этом году!
Оригинальных постов было мало. Буду исправляться в следующем.

Работы и постов про сети было очень мало, так как направление моей работы изменилось в сторону DevOps. В следующем году планирую больше писать про DevOps. Если появятся сетевые проекты, то буду писать и о них.

Планирую изучить сети в публичных облаках и kubernetes и чуть больше программировать.

Желаю всем в новом году продуктивно изучать новое, внедрять классные технологии и чтобы ковид обошел вас и ваших близких стороной.

Вперед - к светлому будущему!