Как хорошо вы шарите в Docker?

Вы же не из тех, кто думает, что docker ps показывает список процессов? Давайте проверим ваш реальный уровень знаний Docker за 6 каверзных вопросов! Так вы сможете узнать, где «плаваете» и какие темы стоит освежить, чтобы работать увереннее.
P.S. Если результат будет «грустный» — не страшно. Главное — не зависать в статусе exited(1) 😉
15 открытых уроков ноября

Привет, Хабр. Делимся подборкой открытых уроков, которые скоро пройдут в Otus в рамках онлайн-курсов. Это живые лекции с преподавателями-практиками — отличная возможность протестировать формат обучения и задать вопросы экспертам. Участие бесплатное, нужна только регистрация. Присоединяйтесь:
5 ноября, 20:00 — Открытая vs закрытая модели нагрузки: практика в Gatling, k6 и Locust
5 ноября, 20:00 — Применение распределённых конфигураций для управления микросервисами на Go
5 ноября, 20:00 — Работа с JSON в PostgreSQL: давно не просто текст
5 ноября, 20:00 — Методы сегментации в рекомендациях
6 ноября, 20:00 — Основы DevSecOps
6 ноября, 20:00 — Почему именно Rust: от fullstack (Deno) до ядра Linux
10 ноября, 20:00 — Что надо знать про работу LLM моделей
10 ноября, 20:00 — Асинхронное взаимодействие в Python на примере RabbitMQ
11 ноября, 20:00 — Организуем CD с помощью Ansible и GitLab CI
11 ноября, 20:00 — Наблюдаемость микросервиса: метрики + Prometheus/Grafana
11 ноября, 20:00 — PostgreSQL без простоев: создаём отказоустойчивый кластер на Patroni и etcd
12 ноября, 20:00 — Знакомство c Kafka
12 ноября, 20:00 — OpenAPI + Spring
13 ноября, 18:00 — Современные RAG-системы для борьбы с галлюцинациями LLM
13 ноября, 20:00 — Безопасность k8s: «актёры и роли»

Сегодня в 15:00 — новый выпуск прямого эфира «Стальной микрофон» с директором по информационным технологиям «Северстали». Герой нового эфира — врач! Знакомьтесь:
Николай Сорокин — доктор медицинских наук, профессор факультета фундаментальной медицины МГУ им. М. В. Ломоносова, врач-уролог, онколог, онкохирург.
Вместе с гостем обсудим:
- Когда пора идти к профильному врачу?
- Будет ли полная роботизация медицины?
- Дети врачей и айтишников — это будущие врачи и айтишники?
Эфир пройдёт в Telegram-канале @severstalitpeople.
Подписывайтесь на канал и ставьте напоминание об эфире! Будет актуальный диалог о медицине и технологиях.
Расскажем, как проводить нагрузочное тестирование на Python

Ждем вас через час, в 18:30 мск, на митапе для Python-специалистов. Как обычно, поговорим обо всем, что волнует сообщество. Сделаем глубокий разбор экосистемы mypy и протестируем ее. Выясним, как запускать задачи по расписанию от cron/systemd timers до чистого Python. Узнаем, насколько сильно можно нагрузить систему, прежде чем она сломается. Все это — в компании экспертных спикеров из Selectel, Яндекса и Райффайзен Банка.
Приходите лично или подключайтесь к трансляции.
Программа
18:35-19:05 — mypy в неестественной среде обитания
Сделаем обзор gradual typing в Python и экосистемы mypy, разберем отличия от линтеров и других анализаторов типа.
19:05-19:35 — Все идет по cron-у. Или нет?
Поговорим о том, как запускать задачи по расписанию: от cron/systemd timers до чистого Python и библиотек вроде APScheduler, Celery, а также Kubernetes CronJob и Redis Queue.
19:35-20:00 — Ломай меня полностью
Разберемся, зачем и как проводить нагрузочное тестирование.
Подключайтесь к трансляции:
Вебинар «System Design интервью: решаем топовую задачу»

Техническое интервью становится решающим этапом отбора в крупные технологические компании. Проектирование масштабируемых систем требует глубоких знаний и опыта — без правильной подготовки кандидат рискует потерять шанс получить работу мечты.
Поэтому Кирилл Борисов, SRE в VK, вместе с Владимиром Невзоровым, Senior backend developer, покажут реалистичный опыт прохождения технического интервью.
Для кого этот вебинар?
⭐️ Для тех, кто готовится к техническим интервью в крупных компаниях
⭐️ Для разработчиков, желающих углубить свои знания в проектировании систем
⭐️ Для всех, кто хочет повысить шансы на успешное прохождение технических собеседований
После вебинара вы поймете структуру и логику System Design интервью, ознакомитесь с алгоритмами проектирования высоконагруженных систем, чтобы в дальнейшем избежать распространённых ошибок.
🗓️ Когда: 12 ноября в 19:00 мск.
Занять место — в боте.

Бывает, что работа надоедает — хочется попробовать себя в чём-то новом, но останавливает страх начинать с нуля. Спокойно: построить карьеру в IT можно и без глубоких знаний программирования или технического образования.
Есть профессии, где важнее внимательность, креатив и аналитическое мышление, а базовые знания можно получить за несколько месяцев. Собрали для вас топ-5 профессий с низким порогом входа — выбирайте, что по душе.
А если вас не пугают трудности — залетайте на нашу витрину со всеми курсами (даже самыми хардовыми)
Атмосфера Jоker 2025 в репортаже Мир Plat.Form
Всем привет! С вами Дарья Морозова, специальный корреспондент Мир Plat.Form.
Мы продолжаем серию репортажей с крупнейших ИТ-конференций страны. И в этот раз мы отправились на конференцию Joker — место сбора Java-разработчиков из Санкт-Петербурга и не только.
Смотрите, как мы вычисляем джависта, проверяем, сможет ли ИИ нас заменить, придумываем смешные ИТ-поговорки и оцениваем мем рабочей недели (особенно актуально перед шестидневкой).
Почему моё Web API никогда не будет RESTful?
TL;DR потому мне не нужен динамический контракт.
Создатель архитектурного стиля REST Рой Филдинг — считает, что REST-архитектура должна соответствовать пяти обязательным ограничениям. У него довольно жёсткая позиция, что если API не выполняет хотя бы одного ограничения, то это не RESTful API. И тут ничего не поделаешь, как автор идеи считает, так и правильно. Далее я буду говорить, что api REST или не REST именно по Филдингу.
Но шутка в том, что хотя каждый уважающий себя бекендер знает про REST, почти никто не делает RESTful API. Но не потому что это недостижимый идеал, а потому что REST для апи, почти никому не нужен.
В смысле не нужен? А вот так, давайте взглянем на модель зрелости REST сервисов Леонарда Ричардсона. На первом и втором уровне находятся ресурсы и http-глаголы, вещь полезная, я понимаю их пользу и ничего против них не имею. А вот на третьем уровне мы видим hypermedia controls, о котором я бы хотел поговорить подробнее.

Гипермедиа как средство управления состоянием приложения или HATEOAS. Благодаря этому ограничения клиент и сервер могут развиваться независимо друг от друга, а вся необходимая информация о том, что можно делать ресурсом, содержится в ответе этого ресурса. В общем, классический сайт. Мы открываем главную или какую-нибудь другую страницу и переходим между страницами. На страницах есть ссылки на другие страницы и формы для редактирования. Вот что говорит сам автор:
«REST API следует вводить без каких-либо предварительных знаний, кроме начального URI и набора стандартных типов данных. Все переходы состояний приложения должны определяться исходя из представлений или пользовательских манипуляций с ними, полученных клиентом от сервера»
— Рой Филдинг, Архитектурные стили и проектирование сетевых архитектур программного обеспечения.
Для меня это звучит так: вот у нас сайт, соответствующий принципам REST архитектуры, тогда он может отдавать свои ресурсы в разных представлениях — например, в виде html или json. HTML — это обычная веб страница, а json содержит только данные, без визуала. Нетрудно понять, что REST клиент для json представления выглядит не очень привлекательно.
Филдинг предполагал, что сервер может менять контракт как захочет, а клиент сможет его понять на основании гипермедиа. Вы встречали таких клиентов? На самом деле они есть, но про них мало кто знает. На практике в API HATEOAS не нужен ни программисту, ни программному клиенту. Программисту нужно описание контракта, с чем прекрасно справляются OpenAPI/Swagger, желательно автогенерённые из кода. А клиенту нужен четкий контракт, как создать товар или показать ленту. И меньше всего клиент хочет, чтобы контракт менялся, и тем более не хочет поддерживать средства обнаружения и подстройки под изменённый контракт.
В итоге перед программистом встаёт дилемма:
Не делать HATEOAS. Но тогда его апи нельзя называть RESTful.
ДелатьHATEOAS. Но тогда ему нужно будет "напихать ссылок" в ответы своего апи и поддерживать их просто чтобы называться RESTful. При этом, эти ссылки никто не будет использовать.
В итоге мы живём в мире, где бэкенд часто разрабатывают с использованием принципов REST, но при этом почти не существует RESTful апи. А те, что существуют, имеют пародийное название REST-like API или pragmatic REST. А 2-й уровень зрелости REST звучит так, как будто мы остановились на полпути к идеалу. Но ведь это не идеал: 3-й уровень зрелости часто бессмысленен или даже вреден.
На практике, все насколько смирились с ситуацией, что ослабили значение термина и называют api RESTful, даже если оно только частично следует принципам REST.
А было бы круто, если бы кто-то придумал новый, хороший термин для архитектурных практик, которые бы взяли всё лучшее и полезное из REST применительно к современным Web-api. Тогда бы начинающие бэкендеры сразу осваивали актуальные подходы, а не книги Филдинга из 2000-х, как я когда-то.
Счёт идёт на часы

Сегодня — тот самый день, когда решительность имеет цену.
Скидка 15% на все IT-курсы, стартующие в октябре, действует до конца суток. Завтра она снизится до 10%. Ещё через несколько дней — до 5%. А потом и вовсе исчезнет.
Полный каталог программ смотрите в дайджесте: все IT-курсы октября.
Привет, Хабр! Мы только что получили из типографии топовую DevOps-новинку этого года — книгу Камиль Фурнье и Иэна Ноуленда «Инжиниринг платформ: техническое и управленческое руководство». Промокод для читателей Хабра (скидка 32%) - fournier.
Переведённая нами статья Камиль Фурнье с описанием круга проблем и задач, которые решает книга - Инжиниринг платформ: не CFEngine единым / Хабр
Аннотация книги
Базовая книга по инжинирингу платформ – новому подходу к управлению программными системами, при работе с которыми требуется обслуживать множество разных аппаратных архитектур и операционных систем. Показано развитие концепции DevOps и объяснено, как учитывать запросы и возможности пользователей независимо от способа работы с приложением, минимизировать задержки при обработке данных и упрощать масштабирование и поддержку многоплатформенных продуктов. Описан комплексный подход к управлению продуктом с учетом потребностей клиентов, разработчиков, системных администраторов и предприятия в целом, актуальный на любых программных платформах.
Для специалистов DevOps, системных администраторов, руководителей команд

Все ждут «идеального момента», чтобы начать учиться новому. Спойлер: его не будет. Будет обычный день, как сегодня, и вы возьмете и начнете. Чтобы набрать темп, предлагаем залететь на нашу витрину за бесплатными курсами от известных школ. Забирайте и заряжайтесь мотивацией на большее:

Чтобы код был понятным, структурированным и компилировался без ошибок нужно постоянно совершенствовать свои навыки.
А лучшие помощники в этом — хорошие курсы, которые дают возможность углубиться в любимый язык программирования и разобраться во всех его тонкостях. Погнали разбираться вместе:
Java. Приложения для бизнеса, банковские системы, корпоративные сервисы и масштабные веб-приложения.
Python. Веб-сайты, скрипты для автоматизации и анализ данных.
PHP. Динамические сайты, CMS, интернет-магазины и серверная часть веб-платформ.
C++. Драйверы, ПО для железа и высокопроизводительные приложения.
Rust. Безопасное и производительное ПО, системное программирование, микросервисы и backend
И это только маленькая часть — еще больше крутых курсов на нашей витрине.
Ближайшие события
Еще немного про доходы разработчиков - вот очень наглядный график диапазонов зарплат по разным странам, до налогов. Данные двухлетней давности, но наглядности это не уменьшает.

Актуально и для других айтишников, там цифры будут поменьше.
Парсинг Сохранённых сообщений Телеграм в локальный каталог
Всем привет. Позвольте рассказать вам, как скачать содержимое Сохранённых сообщений Телеграм к себе на ПК.
Для начала, ознакомьтесь с предыдущей статьёй - Парсинг чатов Телеграм. В ней описан процесс установки и первичной настройки десктоп клиента. Кратко, что у вас должно быть настроено:
1. Путь к хранилищу (локальная БД SQLite).
2. Путь к файлу сессии (в нём сохраняется служебная текущая сессия подключения).
3. Регистрация приложения на сайте Телеграм.
4. Настройки подключения клиента (хранится в таблице приложений).

После успешного подключения к Телеграм, откроется доступ к меню Сохранённые сообщения. Заходим на третью вкладку Скачать, кликаем по кнопке Сбросить по-умолчанию, указываем локальный каталог на диске для скачивания файлов (например C:\OpenTgResearcher\SavedMessages). По необходимости, отредактируем первый ИД и количество потоков. Всё готово, кликаем по кнопке Запустить парсинг Телеграм. После чего можно идти пить кофе, пока ожидаем результат работы парсинга. Файлы будут скачаны в локальный каталог, а сообщения в соответствующую таблицу, их можно будет посмотреть на вкладке Содержимое.
Если вам нужна заказная разработка приложений либо вы в поисках разработчика моего уровня, сообщите пожалуйста мне в личку.
🧠 Стек технологий:
- Разработка ПО: Console, ASP.NET Core Web API, Blazor, WinForms, WPF, UWP, WinUI
- Хранение и передача информации: JSON, XML, SQLite
- БД и ORM: MS SQL Server / PostgreSQL / SQLite, EF Core
- Веб технологии: REST API / RESTful API, HTTP, TCP/IP, HttpClient, WebSocket
- Брокеры сообщений: RabbitMQ (готов быстро освоить Kafka)
- Контейнеризация: Docker / Compose (готов быстро освоить Kubernetes)
- Архитектура ПО: ООП, шаблоны проектирования (Design Patterns)
- Архитектурные подходы: TDD, DRY, KISS, SOLID, YAGNI, Clean Architecture, N-Tier Architecture
- Фронт: небольшой опыт разработки Angular
25 бесплатных уроков октября

Привет, Хабр. Сегодня делимся подборкой открытых уроков, которые пройдут в Otus на этой неделе. Уроки проводят преподаватели курсов в формате живых вебинаров — это шанс не только получить нужные знания, но и задать свои вопросы экспертам. Участие бесплатное (нужно только зарегистрироваться). Присоединяйтесь!
21 октября, вторник:
18:30 Apache Kafka для DWH: как потоковые данные усиливают хранилище
19:00 Сборщик мусора в Go
19:00 Организация процесса тестирования в agile и не-agile командах
20:00 Идемпотентность и консистентность декларативной иммутабельной инфраструктуры. GitOps на практике
20:00 ИИ как ускоритель карьеры: прирост эффективности за 30 дней в текущей роли
22 октября, среда:
20:00 Уязвимости в приложениях — как не допускать и как реагировать
20:00 Почему во Vue проще: интерактивные UI-компоненты за минуты
23 октября, четверг:
20:00 Искусственный интеллект — новый вызов в кибербезопасности
20:00 OpenSearch для Linux-администраторов: настройка, мониторинг и масштабирование
20:00 Ошибки при работе с требованиями: как аналитик превращает хаос в понятные задачи
20:00 Умные указатели в C++
27 октября, понедельник:
Также напоминаем, что до 24.10 включительно действует скидка 15% на все курсы октября. Календарь курсов — в дайджесте.

Мы знаем, что найти работу мечты — тот еще квест. Часто мешает даже не отсутствие опыта, а неуверенность в себе. Кажется, что все вокруг специалисты намного круче и вообще: зачем стараться, если все равно ничего не получится?
На самом деле все иначе: уверенность приходит в процессе — вместе с опытом и новыми прокаченными скиллами.
Мы решили поддержать вас на этом пути и собрали подборку курсов — от разработки до маркетинга. Выбирайте то, что по душе, прокачивайте скиллы и делайте ещё один шаг к желанному офферу.
Автоматизируйте рутину с Ansible: бесплатный чек-лист для DevOps-инженеров

Делимся бесплатным чек-листом по основам Ansible, который поможет:
• Освоить написание плейбуков и ролей
• Настроить автоматическое развертывание приложений
• Внедрить Infrastructure as Code в GitLab
• Организовать управление IT-инфраструктурой
Материал будет полезен как начинающим специалистам, так и опытным инженерам для систематизации знаний и подготовки к собеседованиям.
Ansible-навыки входят в топ-требований к DevOps-вакансиям — используйте эту возможность прокачать свой профиль.
➡️ Забрать чек-лист — в боте

Мы знаем, что путь SRE может быть непростым — нужно разбираться и в коде, и в железе, и в процессах, и даже в психологии. Становится особенно трудно, когда не понимаешь, что от тебя требуется и с чего начать.
Чтобы помочь не утонуть в этом море информации, мы составили бесплатный чек-лист «Навыки и компетенции SRE» — внутри вы найдёте конкретные критерии, а также комментарии от специалистов:
«Усредненный список навыков: автоматизация, работа с командой, работа с тойлом, инциденты и надёжность, обучение, принятие решений. Частота применения зависит от уровня, позиции, роли и компании» — Сергей Бухаров, Infrastructure Platform Technical Lead в Dodo Engineering
CPU в Linux: от утилизации до Load Average

Делимся статьями Кирилла Казарина, Senior DevOps and SRE global manager в RingCentral Inc. и спикера курса «Администрирование Linux», о работе с CPU в Linux
1. CPU в Linux. Утилизация
Общее представление об использовании ресурсов CPU и методах анализа нагрузки.
➡️ Читать
2. CPU в Linux. Load Average
Разбираем ключевые отличия Load Average от процента загрузки CPU и учимся правильно интерпретировать метрики.
➡️ Читать
Почему это важно:
Понимание разницы между утилизацией CPU и Load Average — критически важный навык для диагностики производительности систем.
Хотите подробнее?
Присоединяйтесь к новому потоку курса «Администрирование Linux», где Кирилл и другие эксперты разбирают:
Продвинутые аспекты конфигурирования и оптимизации
Автоматизацию и безопасность систем
Практические кейсы из реальной практики
Старт 27 октября!
Подробности — на сайте
