В какой стране вы живете последние 3 месяца?
Anonymous Poll
62%
Россия
7%
Украина
5%
Беларусь
3%
Казахстан
2%
Польша
1%
Кыргызстан
2%
Узбекистан
1%
США
1%
Грузия
15%
Другое
Ваш доход в месяц после налогов:
Anonymous Poll
9%
до $500
9%
от $501 до $800
12%
от $801 до $1100
22%
от $1101 до $2000
18%
от $2001 до $3000
14%
от $3001 до $4000
5%
от $4001 до $5001
3%
от $5001 до $6000
7%
от $6001
Какой у вас коммерческий опыт работы в IT?
Anonymous Poll
48%
от 6 лет
19%
от 3 до 6 лет включительно
20%
от 1 до 3 лет включительно
5%
до 1 года
8%
нет опыта
На каком языке программирования вы пишете больше всего?
Anonymous Poll
41%
Python
11%
Go
7%
Java
3%
JavaScript
1%
TypeScript
3%
C/C++
6%
С#
0%
Kotlin/Swift
3%
PHP
23%
Другой
Какая ваша специализация в IT?
Anonymous Poll
15%
Backend
1%
Frontend
7%
Fullstack
0%
Mobile
2%
Desktop
58%
DevOps/Sysadmin
2%
QA
1%
Data Science
4%
Кибербезопасность
10%
Другое
Какой грейд у вас на работе?
Anonymous Poll
4%
Стажер
13%
Джуниор
35%
Миддл
19%
Сеньор
11%
Тимлид
5%
Архитектор
4%
СТО
8%
я не в IT
💪🤓 Поднимаем домашний сервер со своим доменом
Тема не претендует на звание открытие месяца, но автор очень доступным языком все толкует, что начинающим будет весьма полезно узнать про DNS, OpenVPN, сети, маршрутизацию, Linux и прочие околотематические штуки. Приятного просмотра 😉
Смотреть видео
#гайд
Тема не претендует на звание открытие месяца, но автор очень доступным языком все толкует, что начинающим будет весьма полезно узнать про DNS, OpenVPN, сети, маршрутизацию, Linux и прочие околотематические штуки. Приятного просмотра 😉
Смотреть видео
#гайд
❤🔥19👍8🔥3😁1
👀 6 способов привлечь внимание работодателя
Как рассказать, что вы умеете программировать и хотите получать за это деньги, не говоря об этом напрямую:
1️⃣ Оформить профиль на Линкедин, Гитхаб и Стековерфлоу
2️⃣ Участвовать в хакатонах
3️⃣ Начать вести свой блог об IT
4️⃣ Стать участником конференций от IT-гигантов
5️⃣ Создать канал на YouTube и рассказывайте об IT
6️⃣ Написать в личку
👉 Подробнее о каждом пункте читайте в статье
Как рассказать, что вы умеете программировать и хотите получать за это деньги, не говоря об этом напрямую:
1️⃣ Оформить профиль на Линкедин, Гитхаб и Стековерфлоу
2️⃣ Участвовать в хакатонах
3️⃣ Начать вести свой блог об IT
4️⃣ Стать участником конференций от IT-гигантов
5️⃣ Создать канал на YouTube и рассказывайте об IT
6️⃣ Написать в личку
👉 Подробнее о каждом пункте читайте в статье
❤5🥱1
#вопросы_с_собеседования
Как узнать, какими процессами используется раздел?
lsof | grep /media/whatever
fuser -mv /path/to/mountpoint
Как узнать, какими процессами используется раздел?
👍9👏2
💪🔥 От AI к устойчивому развитию: почему новейшие центры обработки данных используют сеть 400G
400G — относительно новая технология, и она не получила такого широкого распространения в отрасли, как 100G, хотя ситуация начинает меняться. В этой статье обсуждается, почему решено начать использование 400G, требования к дизайну и архитектурные детали ЦОД 400G, а также затронутся некоторые проблемы, с которыми столкнулись первые пользователи, и извлеченных уроков. В заключение автор расскажет о планах на будущее по продолжению разработки с использованием новой технологии.
Читать статью
#почитать
400G — относительно новая технология, и она не получила такого широкого распространения в отрасли, как 100G, хотя ситуация начинает меняться. В этой статье обсуждается, почему решено начать использование 400G, требования к дизайну и архитектурные детали ЦОД 400G, а также затронутся некоторые проблемы, с которыми столкнулись первые пользователи, и извлеченных уроков. В заключение автор расскажет о планах на будущее по продолжению разработки с использованием новой технологии.
Читать статью
#почитать
👍4❤1
🤔 Очередной #дайджест статей и инструментов по DevOps
✔️ Контейнеры: Rootful, Rootless, Privileged and Super Privileged — различные типы, как они создают свою изоляцию, возможностях ядра, оверлейных файловых системах, seccomp и SELinux
✔️ System Design 101 — рассматриваются протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование и прочее
✔️ Затраты на микросервисы — как правильно начать создавать микросервис, что учесть и как действовать
✔️ Prometheus и централизованное хранилище — когда вам это нужно, как это работает и что такое Mimir
✔️ Руководство по тестированию в Terraform — поддержание порядка в тестах, валидациях, проверках и политиках
✔️ Контейнеры: Rootful, Rootless, Privileged and Super Privileged — различные типы, как они создают свою изоляцию, возможностях ядра, оверлейных файловых системах, seccomp и SELinux
✔️ System Design 101 — рассматриваются протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование и прочее
✔️ Затраты на микросервисы — как правильно начать создавать микросервис, что учесть и как действовать
✔️ Prometheus и централизованное хранилище — когда вам это нужно, как это работает и что такое Mimir
✔️ Руководство по тестированию в Terraform — поддержание порядка в тестах, валидациях, проверках и политиках
👍18❤3🔥1
🤔✏️ Как надо (и как не надо) разрабатывать REST API
➖ Используйте существительные во множественном числе для обозначения коллекций
➖ Не добавляйте ненужные сегменты пути
➖ Не добавляйте .json или другие расширения к URL-адресу
➖ Не возвращайте массивы в качестве ответов верхнего уровня
➖ Не возвращайте map-структуры
➖ Используйте строки для всех идентификаторов
➖ Применяйте префикс в своих идентификаторах
➖ Не используйте 404 для обозначения «не найдено»
➖ Будьте последовательными
➖ Используйте структурированный формат ошибок
Подробное объяснение с примерами кода тут
#туториал
➖ Используйте существительные во множественном числе для обозначения коллекций
➖ Не добавляйте ненужные сегменты пути
➖ Не добавляйте .json или другие расширения к URL-адресу
➖ Не возвращайте массивы в качестве ответов верхнего уровня
➖ Не возвращайте map-структуры
➖ Используйте строки для всех идентификаторов
➖ Применяйте префикс в своих идентификаторах
➖ Не используйте 404 для обозначения «не найдено»
➖ Будьте последовательными
➖ Используйте структурированный формат ошибок
Подробное объяснение с примерами кода тут
#туториал
🔥18👍5❤1
iptables-tracer
Утилита, позволяющая использовать точки трассировки в текущей конфигурации, чтобы отслеживать путь пакетов по цепочкам iptables.
Утилита, позволяющая использовать точки трассировки в текущей конфигурации, чтобы отслеживать путь пакетов по цепочкам iptables.
$ iptables-tracer -f "-s 192.0.2.1 -p tcp --dport 443" -t 30s
14:42:00.284882 raw PREROUTING 0x00000000 IP 192.0.2.1.36028 > 203.0.113.41.443: Flags [S], seq 3964691400, win 29200, length 0 [In:eth0 Out:]
14:42:00.287255 mangle PREROUTING 0x00008000 IP 192.0.2.1.36028 > 203.0.113.41.443: Flags [S], seq 3964691400, win 29200, length 0 [In:eth0 Out:]
14:42:00.288966 nat PREROUTING 0x00008000 IP 192.0.2.1.36028 > 203.0.113.41.443: Flags [S], seq 3964691400, win 29200, length 0 [In:eth0 Out:]
14:42:00.290545 mangle FORWARD 0x00008000 IP 192.0.2.1.36028 > 198.51.100.8.443: Flags [S], seq 3964691400, win 29200, length 0 [In:eth0 Out:eth1]
14:42:00.292123 filter FORWARD 0x00008002 IP 192.0.2.1.36028 > 198.51.100.8.443: Flags [S], seq 3964691400, win 29200, length 0 [In:eth0 Out:eth1]
14:42:00.293164 mangle POSTROUTING 0x00008002 IP 192.0.2.1.36028 > 198.51.100.8.443: Flags [S], seq 3964691400, win 29200, length 0 [In: Out:eth1]
14:42:00.293780 nat POSTROUTING 0x00008002 IP 192.0.2.1.36028 > 198.51.100.8.443: Flags [S], seq 3964691400, win 29200, length 0 [In: Out:eth1]
GitHub
GitHub - x-way/iptables-tracer: Insert trace-points into the running configuration to observe the path of packets through the iptables…
Insert trace-points into the running configuration to observe the path of packets through the iptables chains. - x-way/iptables-tracer
👍11
Что означает 2>&1?
Это про стандартные потоки вывода. Они имеют файловые дескрипторы:
stdout — 1 (общий поток вывода)
stderr — 2 (поток с ошибками)
Получается (2>&1) = stderr > stdout — направляем поток с ошибками, в стандартный поток вывода. Ошибки будут выводиться на экран в терминале.
Логичным было бы сделать конструкцию: 2>1. Но увы, эта схема отработает другую логическую операцию. Поток с ошибками stderr будет писать все данные в файл, у которого название будет 1.
Для этого и требуется указать символ & (амперсанд) перед stdout. Это будет интерпретировано как файловый дескриптор, а не обычный файл.
А почему тогда не &2>&1 ?
Символ & интерпретируется как файловый дескриптор только в контексте перенаправления.
Операция command &2>&1 анализируется так: command & 2>&1 — команда command будет выполнятся в фоновом режиме. А затем начнет выполнятся команда 2 с перенаправлением на стандартный вывод stdout.
Есть альтернатива с оператором |&.
|& это сокращенный вариант от 2>&1 |
Пример:
В официальной документации можно подробнее изучить эту штуку.
Это про стандартные потоки вывода. Они имеют файловые дескрипторы:
stdout — 1 (общий поток вывода)
stderr — 2 (поток с ошибками)
Получается (2>&1) = stderr > stdout — направляем поток с ошибками, в стандартный поток вывода. Ошибки будут выводиться на экран в терминале.
Логичным было бы сделать конструкцию: 2>1. Но увы, эта схема отработает другую логическую операцию. Поток с ошибками stderr будет писать все данные в файл, у которого название будет 1.
Для этого и требуется указать символ & (амперсанд) перед stdout. Это будет интерпретировано как файловый дескриптор, а не обычный файл.
А почему тогда не &2>&1 ?
Символ & интерпретируется как файловый дескриптор только в контексте перенаправления.
Операция command &2>&1 анализируется так: command & 2>&1 — команда command будет выполнятся в фоновом режиме. А затем начнет выполнятся команда 2 с перенаправлением на стандартный вывод stdout.
Есть альтернатива с оператором |&.
|& это сокращенный вариант от 2>&1 |
Пример:
script.sh |& tee -a /var/log/script.logВсе что
script.sh
выведет в потоки stdout и stderr, будет перенаправлено в файл script.log.В официальной документации можно подробнее изучить эту штуку.
👍28🔥1
🧑✈️☸️ Kubernetes 1.27: политики pod topology теперь в бета-версии
Распространение Pod-топологии имеет параметр maxSkew, определяющий степень, в которой модули могут быть распределены неравномерно.
Не было способа контролировать количество доменов, на которые мы должны распространяться. Некоторые пользователи хотят принудительно распределить поды по минимальному количеству доменов, и если их уже недостаточно, заставить кластер-автоскалер выделить их.
В версии 1.24 Kubernetes появился параметр minDomains для ограничений распространения Pod-топологии в качестве альфа-функции. С помощью параметра minDomains можно определить минимальное количество доменов.
Например, предположим, что есть 3 ноды с достаточной пропускной способностью, и созданный набор реплик имеет следующие topologySpreadConstraints в своем Pod-шаблоне.
Читать далее
#туториал
Распространение Pod-топологии имеет параметр maxSkew, определяющий степень, в которой модули могут быть распределены неравномерно.
Не было способа контролировать количество доменов, на которые мы должны распространяться. Некоторые пользователи хотят принудительно распределить поды по минимальному количеству доменов, и если их уже недостаточно, заставить кластер-автоскалер выделить их.
В версии 1.24 Kubernetes появился параметр minDomains для ограничений распространения Pod-топологии в качестве альфа-функции. С помощью параметра minDomains можно определить минимальное количество доменов.
Например, предположим, что есть 3 ноды с достаточной пропускной способностью, и созданный набор реплик имеет следующие topologySpreadConstraints в своем Pod-шаблоне.
...
topologySpreadConstraints:
- maxSkew: 1
minDomains: 5 # требуется как минимум 5 нодов (поскольку каждая нода имеет уникальное имя хоста).
whenUnsatisfiable: DoNotSchedule # minDomains действителен только при использовании DoNotSchedule.
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
foo: bar
Читать далее
#туториал
Kubernetes
Kubernetes 1.27: More fine-grained pod topology spread policies reached beta
In Kubernetes v1.19, Pod topology spread constraints went to general availability (GA).
As time passed, we - SIG Scheduling - received feedback from users, and, as a result, we're actively working on improving the Topology Spread feature via three KEPs. All…
As time passed, we - SIG Scheduling - received feedback from users, and, as a result, we're actively working on improving the Topology Spread feature via three KEPs. All…
🔥3👍2
У нас появились новые каналы по DevOps, в которых мы готовимся к собеседованиям и проверяем себя на практических задачках 🚀
Подписывайтесь:
👉Библиотека собеса по DevOps — тут мы готовимся к интервью
👉Библиотека задач по DevOps — тут решаем задачи, проходим тесты и изучаем код
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
🧑🎓🧑🎓 November 2023 FreeBSD Vendor Summit
В начале ноября состоялся ивент, предоставляющий коммерческим пользователям FreeBSD возможность встретиться лицом к лицу с разработчиками и участниками. Была крутая дискуссия по улучшению операционной системы. В программе были выступления от NetApp, Netflix, ARM и других компаний.
Записи видосов:
День 1
День 2
#видео
В начале ноября состоялся ивент, предоставляющий коммерческим пользователям FreeBSD возможность встретиться лицом к лицу с разработчиками и участниками. Была крутая дискуссия по улучшению операционной системы. В программе были выступления от NetApp, Netflix, ARM и других компаний.
Записи видосов:
День 1
День 2
#видео
👍5❤1
🤔 Очередной #дайджест инструментов и полезностей для DevOps
🎯 sshx — безопасный веб-терминал для совместной работы
🎯 eBPF: разблокировка ядра — документалка об истории появления eBPF
🎯 Ansible Semaphore — удобная веб-морда для работы с Ansible
🎯 ttop — инструмент мониторинга системы с историей, триггерами и TUI, похожим на top
🎯 grub2-themes — несколько прикольных тем для Grub2
🎯 sshx — безопасный веб-терминал для совместной работы
🎯 eBPF: разблокировка ядра — документалка об истории появления eBPF
🎯 Ansible Semaphore — удобная веб-морда для работы с Ansible
🎯 ttop — инструмент мониторинга системы с историей, триггерами и TUI, похожим на top
🎯 grub2-themes — несколько прикольных тем для Grub2
🤩6👍5🔥4👏4😁4