Обновить
512K+
OTUS
Развиваем технологии, обучая их создателей
741,17
Рейтинг
184 739
Подписчики
Сначала показывать

Безопасность Kubernetes: полное руководство для начинающих или как не повторить ошибку Tesla

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.9K

Kubernetes взламывают не «эксплойтом века», а банальностями: открытый доступ, cluster-admin «на время», default serviceAccount, секреты в манифестах (да, base64 не защита). Дальше сценарий предсказуемый — от тихого майнинга до утечки ключей, как в истории с Tesla.

В статье разберу три базовых опоры k8s-безопасности: минимизация прав через RBAC, нормальная работа с секретами и изоляция workload’ов через securityContext и политики — с типовыми ошибками и практиками, которые реально внедрить.

Читать далее

Прощай, Fail2Ban: усиливаем защиту Netbird и Caddy с CrowdSec

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

Fail2Ban долго был про «поставил и забыл», но сейчас он всё чаще работает как сигнализация, которая орёт уже после того, как дверь подёргали десятки раз — и каждый рывок остаётся в логах. Мы перевели сервер управления Netbird с Fail2Ban на CrowdSec и собрали это в практический разбор: как читать JSON-логи Caddy без плясок с регулярками, как вешать блокировки на nftables, и почему community threat intel позволяет отрезать часть сканеров ещё до того, как они успевают что-то «прощупать». По ходу рассмотрим конфиги, команды и наблюдения, что именно меняется в шуме, банах и нагрузке.

Читать далее

Ускоряем инференс в Python с ONNX

Время на прочтение7 мин
Охват и читатели12K

Привет! Если у вас когда‑либо был опыт деплоя нейросетки, вы знаете, что обучение — это полдела, а вот добиться шустрого инференса — целое искусство. Часто обученная в PyTorch модель дает замечательные метрики, но стоит попытаться запустить её в приложении начинаются всякие проблемки.

Одно из решений, которое часто выручает — ONNX и ONNX Runtime. Если эти буквы для вас пока ничего не значат — не беда, сейчас разберёмся что к чему. А если вы уже слышали про ONNX, то, возможно, задавались вопросом: «А реально ли ускорить инференс, заморочившись с этой технологией?» Еще как!

Ускорить инференс

Компенсационные ревью в ИТ: как проводить калибровку, когда все считают себя выше рынка

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.7K

Всем привет! Вы наверняка слышали или даже участвовали в ежегодных performance/compensation review. Это когда собираются менеджеры, HR‑ы, сводят головы вместе и решают, кому повысить зарплату и на сколько, исходя из результатов работы. И вот тут случается забавное, каждый сотрудник внезапно оказывается стоит дороже рынка, работает лучше всех, и вообще молодец.

Как же провести калибровку в ситуации, когда все уверены, что заслуживают больше среднего?

Читать далее

Как выстроить границы, не говоря «нет»: скрипты и принципы

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.8K

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

Читать далее

Внутри Intel 8086: как микрокод управляет АЛУ

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели9.1K

Intel 8086 часто вспоминают как точку старта x86, но куда интереснее заглянуть внутрь и понять, как он «думает» на уровне железа. В этой статье разбираем, как микрокод не просто запускает операции, а фактически настраивает АЛУ: одна микроинструкция выбирает режим, следующая забирает результат, а между ними работает логика, которая склеивает поля микроинструкций с опкодом (включая загадочную XI‑подстановку). По пути – кристалл под микроскопом, PLA, LUT‑подобная конструкция АЛУ и те самые углы CISC, из‑за которых простых ответов тут не бывает.

Внутри 8086

Как предотвращать атаки через подмену запроса (prompt injection)?

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.1K

Prompt-инъекции часто воспринимают как частную уязвимость или проблему безопасности. На самом деле это лишь один из наиболее наглядных примеров архитектурных ограничений LLM.

Эти же механизмы лежат в основе галлюцинаций, ложной уверенности и ошибок LLM в обычных бизнес-процессах. Даже без атак и при «хороших» промптах.

По мере того как приложения на базе генеративного ИИ всё глубже встраиваются в нашу жизнь, нам необходимо искать способы противодействия этой уязвимости. В этой статье рассмотрим подходы, позволяющие снизить риски.

Читать далее

Разбираемся с объектами в бизнес-архитектуре на примере языка ArchiMate

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.1K

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

В качестве основы я взял язык ArchiMate и переведённые определения объектов из спецификации. Если заглянуть в спецификацию ArchiMate, там их немало, поэтому на базе своего опыта я хочу выделить подмножество, которое реально применять в организации. Также упомяну бесплатный инструмент, в котором всё это можно нарисовать, — Archi.

Читать далее

Kotlin Symbol Processing: создаём свой процессор

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.9K

Если вы разрабатываете на Kotlin, то наверняка сталкивались с генерацией кода: аннотации, которые необычным образом создают за вас кучу шаблонного кода.

Dagger/Hilt генерирует DI‑классы, Room генерирует DAO и сущности, Moshi генерирует JSON и т.д. Это экономит тонны времени. Но долгие годы для Kotlin‑проектов приходилось использовать KAPT — Kotlin Annotation Processing, прослойку для совместимости с Java‑аннотациями.

KAPT работал, но имел свои минусы. Он генерирует Java‑стабы из Kotlin‑кода и прогоняет стандартный Java Annotation Processor. Эта махинация замедляет компиляцию: сначала компилятор Kotlin должен переварить ваши исходники в промежуточные Java‑классы, потом снова всё это компилировать. Плюс, KAPT порой криво понимал Kotlin фичи, потому что мыслил категориями Java.

И вот появился Kotlin Symbol Processing (KSP). Это библиотека, которая позволяет писать процессоры напрямую для Kotlin. Обещают до 2х ускорения сборки по сравнению с KAPT, полную поддержку всех фич языка и мультиплатформенность.

Разобрать KSP

Мы научили ИИ писать настоящий код для Postgres

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.3K

Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене.

В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.

Читать далее

Системный аналитик: полный разбор тестового задания на 2026 год

Время на прочтение8 мин
Охват и читатели13K

90% кандидатов на системного аналитика уверенно говорят про BPMN и UML, но «сделайте user-service» внезапно превращается в парад красивых диаграмм без ответа на ключевые вопросы. В этой статье — разбор типового тестового задания в рабочей логике: как распаковать расплывчатое ТЗ в сущности, правила и критерии приёмки, где всплывают интеграционные риски и NFR, и какие детали отделяют «оформителя» от аналитика, который реально помогает команде не уехать в стену.

Читать далее

GitHub Copilot CLI: агентный режим и планирование задач

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.1K

Привет, Хабр! Недавно GitHub выкатил крупное обновление Copilot CLI — теперь это не просто подсказчик команд, а полноценный агент, который умеет планировать задачи и вести диалог. Разберём, что нового появилось и как с этим работать безопасно.

Разобрать обновление

Оптимизация регистров накопления

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.6K

Привет! В этой статье рассмотрим различные идеи оптимизации регистров накопления в 1С, чтобы закрытие месяца проходило гладко и база не ложилась под нагрузкой. Рассмотрим итоги, агрегаты и разделение итогов, а также пару трюков с делением данных по периодам.

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

Читать далее

Дайджест лучших статей 2025: про инфраструктуру, разработку и ИИ

Время на прочтение5 мин
Охват и читатели8.8K

За 2025 год в блоге вышло много материалов: в основном практичных, местами спорных, поэтому и собирающих обсуждения в комментариях. Здесь про инфраструктуру, которая падает не только из-за железа, но и из-за решений в архитектуре. Про код, который «работает», но незаметно наращивает техдолг. И про ИИ — без мифологии, с разбором того, где он реально полезен, а где подводит. В этом дайджесте собрали тексты, к которым продолжают часто возвращаться наши читатели.

Открыть подборку

Ближайшие события

Lakehouse vs Data Warehouse в 2026: что выбирать DE-команде

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.8K

Привет, Хабр! Выбор между lakehouse и классическим хранилищем остается проблемой не первый год, но к 2026-му накопилось достаточно опыта, чтобы говорить предметно. Разберём, как эти архитектуры устроены под капотом, где каждая реально сильна и почему универсального ответа до сих пор нет.

Сравнить подходы

sys.settrace: как устроены дебаггеры, coverage и profilers в Python

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.2K

Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace, это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора.

На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

Читать далее

Внедрение гибких методологий в сложные системы. Фреймворк пользовательских историй, дополненный принципом JTBD

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели7.1K

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

В этой статье представлена новая методология, сочетающая пользовательские истории с JTBD в контексте сложных проектов.

Читать далее

Метрики технического долга в ИБ

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.5K

Представьте ситуацию: директор спрашивает про состояние информационной безопасности, а вы отвечаете — «Мы закрыли 100 уязвимостей за квартал». Звучит солидно. Для бизнеса же это почти ничего не значит. Руководству важнее понимать, насколько снизился риск и работает ли вообще то, на что компания тратит деньги.

Поговорим о метриках технического долга в ИБ, которые помогают ответить на эти вопросы и перевести ценность безопасности на язык, понятный бизнесу.

Читать далее

От внедрения промпта до удалённого выполнения кода в ИИ-агентах

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.9K

AI-агенты всё чаще получают доступ к файловой системе и командам — и это удобно ровно до того момента, пока «безопасные» утилиты не начинают вести себя как универсальные инструменты атаки.

В разборе Trail of Bits показывают, как защита вида «allowlist команд + человек подтверждает опасное» обходится через инъекцию аргументов и приводит к удалённому выполнению кода — без классической shell-инъекции. Также поговорим про архитектурные антипаттерны, почему regex-фильтры не спасают, и какие инженерные меры реально снижают ущерб.

Разобрать риски

Управление ресурсами процессов с помощью контрольных групп Linux

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.9K

Когда на сервере появляется «прожорливый» процесс, который забирает все ядра и постепенно выдавливает память, хочется ограничить его быстро — но так, чтобы это было воспроизводимо и не держалось на магии.

В статье — практический разбор cgroups v2: как руками через cgroupfs создать группу, задать лимиты CPU/RAM и правильно запускать процессы без «окна без ограничений», а затем сделать то же самое через cg*-утилиты и systemd-run/slice. По дороге станет ясно, почему эти приёмы напрямую перекладываются на мир Docker и Kubernetes.

Перейти к статье

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS