Как стать автором
Обновить
658.22
OTUS
Цифровые навыки от ведущих экспертов
Сначала показывать

Как проводить спринт-ретроспективу в 2025 году

Время на прочтение5 мин
Количество просмотров230

Многие команды недолюбливают спринт-ретроспективы, считая их бесполезными или формальными встречами, которые не приводят к реальным изменениям.

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

Читать далее

RabbitMQ на Rust: библиотека Lapin

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров680

Привет, Хабр!

Сегодня рассмотрим библиотеку Lapin в Rust. Lapin — это библиотека, реализующая протокол AMQP 0.9.1, она помогает взаимодействовать с RabbitMQ.

Читать далее

Как создать эффективный операционный ритм поставки ценности с помощью SAFe

Время на прочтение5 мин
Количество просмотров181

Меня зовут Курдюмов Дмитрий, я более 7 лет занимаюсь Agile-трансформациями и помогаю компаниям выстраивать процессы поставки ценности. Одним из главных вызовов крупных организаций является то, как обеспечить сонаправленную работу большого количества команд вокруг единых целей, при этом сохраняя стабильный операционный ритм поставки ценности. Часто разные подразделения работают, как лебедь, рак и щука, делают одни и те же вещи, проделывают много работы с невысоким выхлопом для бизнеса. Классическая иерархическая структура компаний мешает эффективной координации, а управление функциональными отделами ведет к разрозненности процессов.

Фреймворк SAFe (Scaled Agile Framework) помогает решить эту проблему, организовывая команды вокруг value streams (потоков создания ценности), что упрощает управление и повышает предсказуемость работы. Давайте разберемся, как именно SAFe позволяет выстроить ритм поставки ценности.

Читать далее

Особенности написания эксплоитов под х64

Время на прочтение7 мин
Количество просмотров1.1K

Современные механизмы защиты от уязвимостей переполнения буфера существенно усложняют реализацию таких атак, однако buffer overflow по‑прежнему остается одним из самых распространенных видов уязвимостей. В этой статье мы поговорим об особенностях написания эксплоитов под 64-битную архитектуру.

В сети присутствует множество публикаций, посвященных эксплоитам в 32-битной архитектуре, но на практике такие приложения можно встретить все реже, поэтому мы будем говорить об х64.

Читать далее

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

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

Меня зовут Курдюмов Дмитрий, я более 7 лет управляю ИТ‑командами и помогаю компаниям выстраивать эффективные процессы. Одной из самых частых проблем, с которыми сталкиваются команды, является неточность планирования сроков выполнения задач.

Разработчик говорит: «Это на пару часов». Проходит день, потом два, и выясняется, что в процессе работы всплыли интеграционные проблемы, тестировщики нашли баги, а кто‑то еще ждет согласования. В итоге задача, которую оценили в несколько часов, затягивается на несколько дней или недель.

Почему так происходит? Потому что абсолютные оценки в часах не работают. Они не учитывают неопределенности, возникающие в процессе работы.

Читать далее

Подарок на новый год: как я отражал атаку 1 января 2025 года

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

Сегодня делимся историей из практики нашего коллеги, который столкнулся с атакой на инфраструктуру компании в самый неудобный момент — в новогодние праздники. Это не просто хроника событий, а разбор типичных проблем ИБ, которые сделали атаку возможной, и попытка противостоять угрозе в условиях ограниченных ресурсов. Автор разбирает, что пошло не так, какие ошибки оказались критическими и какие выводы можно сделать на будущее.

Читать далее

Как правильно ставить цели спринта, чтобы обеспечить фокус для всей команды

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

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

Цель спринта — это ключевой элемент планирования, который помогает команде понимать образ результата, а не просто делать разрозненный набор задач. Даже если на планировании вы не учли все задачи, цель поможет понять, как адаптировать план. Хорошие команды ставят цель на планировании спринта и далее на дейли, каждый день уточняют его.

Читать далее

DeepSeek vs OpenAI: кто сильнее?

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


Китайский стартап представил модель искусственного интеллекта R1, соперничающую с технологиями OpenAI. Однако они сильно различаются.



DeepSeek заявляет, что их модель R1 особенно хороша в ответах на сложные вопросы, демонстрируя уровень, сопоставимый с моделью OpenAI o1, но при этом работая в разы дешевле. На данный момент приложение DeepSeek занимает первое место в рейтинге загрузок в американском App Store.
Читать дальше →

Руководство по интерпретации данных

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.5K

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

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

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

Читать далее

Принципы гибкой разработки в технической поддержке

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров383

Меня зовут Курдюмов Дмитрий, я более 7 лет управляю ИТ‑командами и помогаю компаниям внедрять гибкие процессы. Когда говорят об Agile или гибкой разработке, чаще всего думают о разработке, но его принципы могут кардинально улучшить работу технической поддержки пользователей.

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

Давайте разберем некоторые принципы и инструменты, которые могут помочь.

Читать далее

P2P на Go: библиотека libp2p

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров947

Привет, Хабр!

Сегодня рассмотрим библиотеку libp2p в Go. libp2p — это модульная библиотека для построения P2P-сетей. Libp2p выросла из проекта IPFS, но теперь активно используется в блокчейнах, мессенджерах и других децентрализованных приложениях. Главная фича библиотеки — она даёт возможность полностью контролировать P2P-коммуникации.

Libp2p разделена на несколько модулей, которые можно подключать по мере необходимости.

Читать далее

Создаем мультитенантные Symfony-приложения с помощью Ecotone

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров796

Способ реализации мультитенантности (multitenancy, мультиарендности) зависит от сферы деятельности, в которой мы работаем. В некоторых случаях нам может хватать одной общей базы данных, а в некоторых нам могут потребоваться отдельные базы данных для полной изоляции. У нас может быть всего пара арендаторов (tenants, тенантов) или же наоборот сотни, нам может потребоваться замедлить или ускорить производительность для конкретного арендатора. Все это создает уникальную среду, в которой мультитенантность является не только техническим вопросом, но и вопросом бизнес‑логики.

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

Читать далее

PL/V8: JavaScript в PostgreSQL

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров841

Привет, Хабр!

Сегодня рассмотрим PL/V8. Это расширение PostgreSQL, которое позволяет использовать JavaScript через движок V8 (тот самый, который стоит за Node.js). Это открывает массу возможностей:

- Писать хранимые процедуры на JavaScript.
- Выполнять сложную бизнес-логику прямо в базе данных.
- Создавать триггеры, которые обрабатывают данные.

Читать далее

Кастомный контроллер Kubernetes на Rust

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

Привет, Хабр!

Сегодня я расскажу, как создать кастомный контроллер для Kubernetes на Rust. Кастомные контроллеры нужны, чтобы автоматизировать действия, которые Kubernetes сам по себе не умеет.

Читать далее

Armadillo: матрицы, кубы и разреженные данные на C++

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.5K

Привет, Хабр!

Работа с матрицами в стандартном C++ — это боль, страдание и масса ненужного кода. Почему? Потому что стандартная библиотека STL вообще не предназначена для линейной алгебры. Например, если вы хотите умножить две матрицы, вам придётся писать кастомный алгоритм, отлаживать его, а затем ещё раз писать его, когда поймёте, что оптимизация не та.

Но есть библиотека Armadillo — и с ней всё иначе.

Читать далее

JSpinner: меньше багов, больше стрелочек

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров774

Привет, Хабр!

Сегодня поговорим про JSpinner — инструмент, который может показаться чем‑то простым и заурядным. Но это только на первый взгляд. На деле он может стать мастхев инструментом в разработке удобного и надёжного интерфейса.

JSpinner — это компонент для выбора значений из заранее заданной последовательности. Цифры, строки, даты — всё, что душе угодно. И его главная фича — минимизация ошибок: пользователь выбирает значения, а не вводит их вручную.

Читать далее

Стоит ли использовать Python venv в контейнере, таком как Docker? Определённо

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.9K

Стоит ли использовать Python venv в контейнерах, таких как Docker? На первый взгляд может показаться, что это лишний шаг, ведь контейнер уже обеспечивает изоляцию. Но что, если отказ от venv обернётся неожиданными конфликтами, сложностью поддержки и скрытыми рисками для вашего проекта?

Из этой статьи узнаем, почему даже в контейнеризированной среде venv остаётся важным инструментом для обеспечения стабильности и однородности разработки.

Читать далее

Вызов защищенного API из iOS-приложения на Swift

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров869

Пошаговое руководство по использованию OAuth 2.0 при доступе к защищенным API из iOS‑приложения на Swift с Auth0.

Читать далее

Lock-free кэш для Django: коротко

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

Привет, Хабр!

Сегодня будем строить lock‑free кэш в Django, то есть без блокировок, но с атомарными операциями. Никаких замков, никакого ожидания, только скорость.

«Зачем, если есть Redis?» Вот три причины:

- Скорость локальной памяти. Redis — молодец, но сетевые запросы всегда медленнее RAM.
- Блокировки — зло. Даже Redis лочит ключи при записи, а это минус к скорости.
- Иногда скучно. Ну честно, написать что‑то своими руками.

А ещё это хороший способ разобраться, как работают атомарные операции и lock‑free структуры.

Читать далее

Kotlinx.serialization и работа с JSON

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров960

Привет, Хабр! Наверное, все мы хотя бы раз сталкивались с задачей сериализации данных, будь то обмен данными с сервером, сохранение состояния объекта в файл или передача данных между различными приложениями. В Kotlin для этих целей удобно использовать библиотеку Kotlinx.serialization, которая позволяет работать с данными, сериализуя и десериализуя их в различные форматы, такие как JSON, CBOR, и Protocol Buffers.

Эта библиотека предоставляет инструменты для сериализации объектов в строки (например, в JSON) и обратно. Главное её преимущество — это полная интеграция с Kotlin.

Читать далее
1
23 ...

Информация

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