🤔 Очередной #дайджест для DevOps-ов
❎ Аутентификация в Kubernetes через Gitlab'овские JWT токены — последовательность процессов при деплое, используя kubectl/helm
❎ Что происходит, когда вы создаёте Pod в Kubernetes? — статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями
❎ Классификация ЦОД — что такое Tier и какой подходит бизнесу
❎ Топ-20 лучших практик Dockerfile — как предотвратить проблемы с безопасностью и оптимизировать контейнеризированные приложения
❎ Python для сетевых инженеров — курс от базовых вещей, до ООП
❎ Аутентификация в Kubernetes через Gitlab'овские JWT токены — последовательность процессов при деплое, используя kubectl/helm
❎ Что происходит, когда вы создаёте Pod в Kubernetes? — статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями
❎ Классификация ЦОД — что такое Tier и какой подходит бизнесу
❎ Топ-20 лучших практик Dockerfile — как предотвратить проблемы с безопасностью и оптимизировать контейнеризированные приложения
❎ Python для сетевых инженеров — курс от базовых вещей, до ООП
❤4🥰2👍1
🎄✨ До Нового года осталось совсем чуть-чуть, поэтому мы подводим итоги
🧑🎄 За год наше комьюнити стало больше почти на 3000 человек
❤️ Особенно вам понравились вот эти посты:
Шпаргалка по протоколам коммуникации, DevOps, CI/CD
Знаете, чем отличается [[ ]] от [ ]
Дайджест новых статей и инструментов
Протокол RADIUS: Управление доступом и безопасность в сетях
KubePug
Вопрос с собеседования
💜 А ещё вы с интересом читали эти статьи:
ТОП-8 книг по DevOps в 2023 году
Дорожная карта DevOps-инженера в 2023 году
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по DevOps | вопросы с собеседований
Библиотека задач по DevOps | тесты, код, задания
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
🧑🎄 За год наше комьюнити стало больше почти на 3000 человек
❤️ Особенно вам понравились вот эти посты:
Шпаргалка по протоколам коммуникации, DevOps, CI/CD
Знаете, чем отличается [[ ]] от [ ]
Дайджест новых статей и инструментов
Протокол RADIUS: Управление доступом и безопасность в сетях
KubePug
Вопрос с собеседования
💜 А ещё вы с интересом читали эти статьи:
ТОП-8 книг по DevOps в 2023 году
Дорожная карта DevOps-инженера в 2023 году
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по DevOps | вопросы с собеседований
Библиотека задач по DevOps | тесты, код, задания
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
❤3🔥1
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
Измотаны бесконечной работой и не можете расслабиться? Попробуйте 5 психологических техник — от глубокого дыхания до визуализации пляжа — которые помогут насладиться заслуженным отдыхом.
Читать статью
Измотаны бесконечной работой и не можете расслабиться? Попробуйте 5 психологических техник — от глубокого дыхания до визуализации пляжа — которые помогут насладиться заслуженным отдыхом.
Читать статью
👍4
Знали ли вы про такую команду в linux как - «yes»?
Например, есть у вас консольная команда, которая во время своей работы будет запрашивать подтверждение: а вы точно уверены, что удаляете тестовую базу данных? Вот на такие случаи и нужна команда «yes», чтобы не руками вводить подтверждение, а делегировать это действие.
Полезно для пайплайнов. Бывает такое, что у программы нет ключей типа apt -y install, а подтверждать как-то в автоматическом режиме нужно.
Синтаксис проброса стандартный, через систему пайпов:
В примере выше, когда пакетный менеджер попросит нажать Y, команда «yes» автоматически это сделает и начнется процесс установки.
Не забываем, про передачу аргументов, если внешняя программа например хочет чтобы вы ввели слово: «hello» делаем так:
Если есть команда «yes», значит должна быть и «no». Но увы 😁. Так вот если нужно отменить, передайте в «yes» аргументом строку «no»💩 .
Что-то может запросить простого нажатия Enter, например когда в репозиторий добавляется gpg ключ. Как послать Enter? А вот так:
Команда yes служит для вывода в стандартный поток (stdout) строки «y» или любой другой строки. Если ее запустить по умолчанию, команда будет бесконечно сыпать строку «y».
Например, есть у вас консольная команда, которая во время своей работы будет запрашивать подтверждение: а вы точно уверены, что удаляете тестовую базу данных? Вот на такие случаи и нужна команда «yes», чтобы не руками вводить подтверждение, а делегировать это действие.
Полезно для пайплайнов. Бывает такое, что у программы нет ключей типа apt -y install, а подтверждать как-то в автоматическом режиме нужно.
Синтаксис проброса стандартный, через систему пайпов:
yes | apt install nginx
В примере выше, когда пакетный менеджер попросит нажать Y, команда «yes» автоматически это сделает и начнется процесс установки.
Не забываем, про передачу аргументов, если внешняя программа например хочет чтобы вы ввели слово: «hello» делаем так:
yes hello | apt install nginx
Но обычно на практике, в 99% случаев команда «yes» запускается без аргументов, так как большинство запрашивает именно Yes.
Если есть команда «yes», значит должна быть и «no». Но увы 😁. Так вот если нужно отменить, передайте в «yes» аргументом строку «no»
Что-то может запросить простого нажатия Enter, например когда в репозиторий добавляется gpg ключ. Как послать Enter? А вот так:
yes "" | <твоя команда>
Это сработает как Enter потому, что команда «yes» выводит в stdout не просто сроку Y, но еще и завершает ее в конце символом Enter. Вот именно поэтому при запуске чистого «yes», строчки на экране будут идти столбиком.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤1🔥1
📍📍DevToys
DevToys помогает с ежедневными задачами разработки, такими как форматирование JSON, сравнение текста и тестирование регулярок. Нет необходимости использовать множество сервисов для выполнения простых задач. Благодаря интеллектуальному обнаружению DevToys может определить наилучший инструмент для применения к данным, скопированным в буфер обмена Windows. Приложение можно расположить его поверх других окон и использовать несколько его экземпляров.
Среди функций: конвертер JSON в YAML, MD5, SHA1, SHA256, SHA512, валидатор XML, превью разметки Markdown и даже симулятор дальтонизма.
Изучить инструмент
#туториал
DevToys помогает с ежедневными задачами разработки, такими как форматирование JSON, сравнение текста и тестирование регулярок. Нет необходимости использовать множество сервисов для выполнения простых задач. Благодаря интеллектуальному обнаружению DevToys может определить наилучший инструмент для применения к данным, скопированным в буфер обмена Windows. Приложение можно расположить его поверх других окон и использовать несколько его экземпляров.
Среди функций: конвертер JSON в YAML, MD5, SHA1, SHA256, SHA512, валидатор XML, превью разметки Markdown и даже симулятор дальтонизма.
Изучить инструмент
#туториал
❤🔥24👍6👏1
🧑🎓😎 Еще одна серия с мероприятия OFFZONE 2023
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Фаззинг-тестирование — одна из базовых технологий, применяемых при разработке безопасного ПО. Осмысленное и продуктивное применение фаззинга требует его глубокой интеграции в процессы разработки ПО и установления связей с другими технологиями: анализом поверхности атаки, функциональным тестированием, санитайзерами, автоматизированным разбором выявленных сбоев.
В докладе рассказывается как о самом движке фаззера, так и о вопросе выбора фаззинг‑целей. Динамический анализ помеченных данных, скрещенный с интроспекцией виртуальной машины, позволяет находить интерфейсы сложного ПО, через которые нарушитель в первую очередь будет атаковать ваше ПО, и в условиях ограниченных ресурсов расставлять приоритеты по порядку фаззинга. А гибридный фаззинг с динамическим символьным выполнением поможет быстро достичь хорошего покрытия кода и выявить ошибки, даже если они сразу не приводят к видимым сбоям в работе ПО
#видео
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Фаззинг-тестирование — одна из базовых технологий, применяемых при разработке безопасного ПО. Осмысленное и продуктивное применение фаззинга требует его глубокой интеграции в процессы разработки ПО и установления связей с другими технологиями: анализом поверхности атаки, функциональным тестированием, санитайзерами, автоматизированным разбором выявленных сбоев.
В докладе рассказывается как о самом движке фаззера, так и о вопросе выбора фаззинг‑целей. Динамический анализ помеченных данных, скрещенный с интроспекцией виртуальной машины, позволяет находить интерфейсы сложного ПО, через которые нарушитель в первую очередь будет атаковать ваше ПО, и в условиях ограниченных ресурсов расставлять приоритеты по порядку фаззинга. А гибридный фаззинг с динамическим символьным выполнением поможет быстро достичь хорошего покрытия кода и выявить ошибки, даже если они сразу не приводят к видимым сбоям в работе ПО
#видео
❤4🔥1
🤔 Очередной #дайджест для DevOps-ов
♦️ k8s-calico-networksets-controller — добавление поддержки FQDN в NetworkPolicy
♦️ Ветер перемен для обнаружения угроз — проблемы rule-based detections в runtime в контейнерных средах
♦️ wireguard-ui — веб-интерфейс для управления и настройки Wire Guard.
♦️ Ускорение запуска поды, используя слои образов с помощью Spegel — как можно значительно ускорить процесс запуска, не теряя в последствии в производительности
♦️ «Свои грабли» detected — Hashicorp way, на тропе просветления
♦️ k8s-calico-networksets-controller — добавление поддержки FQDN в NetworkPolicy
♦️ Ветер перемен для обнаружения угроз — проблемы rule-based detections в runtime в контейнерных средах
♦️ wireguard-ui — веб-интерфейс для управления и настройки Wire Guard.
♦️ Ускорение запуска поды, используя слои образов с помощью Spegel — как можно значительно ускорить процесс запуска, не теряя в последствии в производительности
♦️ «Свои грабли» detected — Hashicorp way, на тропе просветления
🎉21👍2❤1🔥1
#вопросы_с_собеседования
Если доступной (available) памяти 2919, почему свободной (free) памяти 843?
Total. Эта цифра представляет всю существующую память.
Used вычисление общего значения оперативной памяти системы за вычетом выделенной свободной, разделяемой, буферной и кэш-памяти.
Free — свободная память в системе.
Shared — память, используемая (преимущественно) в tmpfs
Buffer и Cache идентифицируют память, используемую для нужд ядра / ОС. Буфер и кеш складываются вместе, а сумма указывается в разделе buff/cache.
Available — примерное количество оперативной памяти, доступное для запуска новых приложений без использования ими раздела подкачки. В отличие от поля free, это поле принимает в расчёт cache и также то, что не вся пригодная для повторного использования память будет возвращена после освобождения.
Если доступной (available) памяти 2919, почему свободной (free) памяти 843?
❤🔥26👍4🥰2❤1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤1
CheatSheet по Расширенным параметрам в Bash.
Что такое расширенные параметры? Допустим у вас есть переменная ${var%}, что такое знак %?
${var%} удалит короткий суффикс
$(var%%} удалит длинный суффикс
${var#} & ${var##} удалит короткий и длинный префикс
На экран выведется слово hello. То есть произошло удаление короткого суффикса. Вот еще пример:
PDF-ку можно забрать отсюда.
Что такое расширенные параметры? Допустим у вас есть переменная ${var%}, что такое знак %?
${var%} удалит короткий суффикс
$(var%%} удалит длинный суффикс
${var#} & ${var##} удалит короткий и длинный префикс
var='hello world'
echo ${var%world}
На экран выведется слово hello. То есть произошло удаление короткого суффикса. Вот еще пример:
var='hello world'
echo ${var%o*} # hello w
echo ${var%%o*} # hell
Более подробно про расширенные параметры можно почитать на официальной странице.
PDF-ку можно забрать отсюда.
👍8👏8❤5🔥5🎉3
🎉🎉 Docker Desktop 4.26: Rosetta, PHP Init, Builds View GA, Admin Enhancements и Docker Desktop Image для Microsoft Dev Box
В Docker Desktop 4.26 представлены последние достижения Rosetta в области оптимизации рабочего стола Docker. Новая версия также повышает производительность разработчиков, решая такие распространенные проблемы, как Node.js зависания и ошибки сегментации PHP, а также повышает производительность благодаря повышению скорости и новому представлению сборок Docker Desktop.
Вот тут можете детальнее изучить, что происходит
#новость
В Docker Desktop 4.26 представлены последние достижения Rosetta в области оптимизации рабочего стола Docker. Новая версия также повышает производительность разработчиков, решая такие распространенные проблемы, как Node.js зависания и ошибки сегментации PHP, а также повышает производительность благодаря повышению скорости и новому представлению сборок Docker Desktop.
Вот тут можете детальнее изучить, что происходит
#новость
❤4🔥1
🤔😱 Траблшутинг BGP
BGP — это сложный протокол маршрутизации, и бывают ситуации, когда что-то идет не так как надо. Кроме того, что он сложный, он также совершенно отличается от наших IGP протоколов (OSPF и EIGRP). В материале повествование начнется с рассмотрения неполадок, возникающих в установлении соседства BGP и проблем с объявлением маршрутов, которые должны или не должны появляться
Изучить
#туториал
BGP — это сложный протокол маршрутизации, и бывают ситуации, когда что-то идет не так как надо. Кроме того, что он сложный, он также совершенно отличается от наших IGP протоколов (OSPF и EIGRP). В материале повествование начнется с рассмотрения неполадок, возникающих в установлении соседства BGP и проблем с объявлением маршрутов, которые должны или не должны появляться
Изучить
#туториал
🎉10🤩10👍6👏1
🤔 Очередной #дайджест для DevOps-ов
🔺 Валидация данных при помощи Pydantic — зачем это нужно, чем софт лучше marshmallow, как пользоваться и как с его помощью правильно проверять данные
🔺 snips.sh — pastebin сервис, работающий по SSH и доступный как в tui, так и в веб-морде
🔺 Formatting an XFS Filesystem — инженеры Oracle пишут о работе mkfs.xfs и о том, что происходит в процессе форматирования раздела в этой файловой системе
🔺 Установка размера кучи Java внутри контейнера Docker — запуск Java-приложений в контейнере может показаться тривиальной задачей, но есть некоторые подводные камни...
🔺 Траблшутинг отсутствующих журналов Kubernetes в Elasticsearch — рассказ о том, почему это происходит и как это предотвратить
🔺 Валидация данных при помощи Pydantic — зачем это нужно, чем софт лучше marshmallow, как пользоваться и как с его помощью правильно проверять данные
🔺 snips.sh — pastebin сервис, работающий по SSH и доступный как в tui, так и в веб-морде
🔺 Formatting an XFS Filesystem — инженеры Oracle пишут о работе mkfs.xfs и о том, что происходит в процессе форматирования раздела в этой файловой системе
🔺 Установка размера кучи Java внутри контейнера Docker — запуск Java-приложений в контейнере может показаться тривиальной задачей, но есть некоторые подводные камни...
🔺 Траблшутинг отсутствующих журналов Kubernetes в Elasticsearch — рассказ о том, почему это происходит и как это предотвратить
🤩16❤🔥13❤2🔥1
😇🤲 Роль информационной безопасности в наше время — не остановить все инциденты, а не допустить нанесение ущерба
Контейнеризированные среды благоволят реализовывать концепцию Zero Trust, потому что они сами приносят определенные уровни изоляции и, непосредственно, есть дополнительные инструменты, как самой системы оркестрации, так и системы Linux, которая нам это позволяет делать. Проще сред чем контейнеризированная для оркестрации и для того, чтобы реализовывать модель Zero Trust, нет.
В концепции Zero Trust мы ничему не доверяем, то есть у нас нет такого понятия, как доверенное окружение, доверенный компонент или среда. Мы изначально исходим из концепции, что везде может быть уязвимость, вредоносный код и другие проблемы. Изначально, до обнаружения проблем, мы закладываем, что они уже могут существовать и система может, возможно, уже скомпрометирована.
Читать статью
#почитать
Контейнеризированные среды благоволят реализовывать концепцию Zero Trust, потому что они сами приносят определенные уровни изоляции и, непосредственно, есть дополнительные инструменты, как самой системы оркестрации, так и системы Linux, которая нам это позволяет делать. Проще сред чем контейнеризированная для оркестрации и для того, чтобы реализовывать модель Zero Trust, нет.
В концепции Zero Trust мы ничему не доверяем, то есть у нас нет такого понятия, как доверенное окружение, доверенный компонент или среда. Мы изначально исходим из концепции, что везде может быть уязвимость, вредоносный код и другие проблемы. Изначально, до обнаружения проблем, мы закладываем, что они уже могут существовать и система может, возможно, уже скомпрометирована.
Читать статью
#почитать
👍2🔥2