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

Model Serving в 9 раз быстрее! И никакой замены оборудования

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

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

В этой статье мы рассмотрим различные model serving стратегии и узнаем о технологиях, способных значительно повысить их эффективность. Мы рассмотрим три варианта организации model serving системы и сравним их производительность. Наша реализация будет ориентирована на инференс с помощью ЦП, но те же самые концепции могут быть применены и к ГП, поскольку предлагаемые здесь технологии (ONNX Runtime) поддерживают различные аппаратные платформы, включая графические и нейропроцессоры.

Читать далее

getopts: как писать CLI-утилиты с флагами без внешних библиотек

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

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

getopts — это встроенный в любой POSIX-совместимый Linux/Unix-shell мини-парсер аргументов. Один shebang — и у вас CLI-утилита без единой внешней зависимости. В статье рассмотрим, как выжать из getopts максимум, где он спотыкается и когда пора переехать на getopt или Argbash.

Читать далее

Хорошая девушка LoRA! А чем же она хороша?

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

Поговорим об методике дообучения LLM… спортсменке, комсомолке и просто красавице - LoRA, которая если и не снимается в кино, то может сделать фильмы качественней и интереснее для зрителя. Исторические данные проката и состава творческих групп в перспективе позволяют работать с ансамблевыми моделями машинного обучения для прогнозирования сборов и просмотров в кино, и улучшать данные и путем их подбора «гиперпараметров» фильма.  Но для работы со смыслами, идеями и описаниями кинопроектов нужна более эффективная методика, позволяющая оценивать творческий замысел и основные идеи хотя бы на уровне аннотации – краткого синопсиса.  И здесь уже не обойтись без больших языковых моделей.

Читать далее

Не пузырьком единым. Поговорим об алгоритмах сортировки

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

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

Читать далее

Забудьте об облачных вычислениях. On-premises снова в игре

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

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

Читать далее

Юнит-тестирование в Angular: лучшие практики и инструменты

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

В этой статье я хочу поделиться опытом, который накопил за годы работы с юнит-тестами в Angular. Вот о чём пойдёт речь:

- Почему важно писать юнит-тесты
- Зачем мокать зависимости и каковы плюсы и минусы
- Что такое SIFERS и почему это важно
- Что такое Angular Testing Library (ATL)
- Как тестировать с помощью SIFERS
- Как получать элементы DOM и генерировать события
- Что такое jest-auto-spies и observer-spy

Читать далее

Почему sync.Map — почти всегда плохая идея

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

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

Сегодня разбираемся, почему sync.Map — выглядит аппетитно, но почти всегда оказывается не тем, чем вы ожидали.

Читать далее

Создаём свой Telegram-клон с помощью Next.js и TailwindCSS — Часть 1

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

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

В этой серии из трех частей мы подробно рассмотрим процесс создания клона веб-версии Telegram с использованием Next.js, TailwindCSS и Stream SDK. В первой части мы настроим все необходимые инструменты для нашего проекта, добавим аутентификацию и создадим макет приложения с помощью TailwindCSS.

Читать далее

Как принимать решения под давлением — и не терять фокус

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

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

Читать далее

Как сделать TENEX — твёрдотельный объёмный OLED-дисплей

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

В этой статье мы рассмотрим твёрдотельные монохромные OLED-дисплеи — технологию, которая использует многослойную структуру для создания объёмных изображений. Мы разберём, как эти дисплеи работают, чем они отличаются от привычных экранов, и как можно собрать такой дисплей своими руками. Статья включает пошаговую инструкцию, советы по работе с компонентами, пайке и программированию, и будет полезна для тех, кто хочет углубиться в детали и освоить новые подходы в создании визуальных решений.

Читать далее

ZLinq — Zero-Allocation LINQ-библиотека для.NET

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров4.5K

В прошлом месяце я зарелизил ZLinq v1 — революционную LINQ-библиотеку, которая достигает zero allocation на структурах и дженериках. Она может похвастаться такими расширениями, как LINQ to Span, LINQ to SIMD, LINQ to Tree (FileSystem, JSON, GameObject и т.д.), drop-in replacement Source Generator для произвольных типов, поддержкой нескольких платформ, включая .NET Standard 2.0, Unity и Godot и на данный момент ZLinq имеет более 2000 звезд на GitHub.

Читать далее

Ссылки и указатели в C++

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

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

Сегодня разбираем &&* неувядающую классику C++ — ссылки & и указатели *. Казалось бы, два оператора, делов-то, но стгоит нырнуть под крышку — и выясняется: тут и разное время жизни, и несменяемость адреса, и прочие вещички. Разберемся в статье подробнее.

Читать далее

Как защитить бизнес-логику от мутаций в DTO: коротко

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

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

Сегодня рассмотрим, как обезопасить бизнес-логику от случайного (или злонамеренного) изменения DTO, чем опасна мутабельность моделей и какие инструменты дают C#, Java, Python и Go, чтобы вы больше никогда не ловили эти баги.

Читать далее

Оценка ценовой эластичности спроса продуктов с помощью байесовского иерархического моделирования

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров732

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

Читать далее

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

Эволюция Java в 2025 году: ключевые тренды и успешные кейсы

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

В 2025 году Java продолжает развиваться благодаря таким технологиям, как GraalVM и Project Loom. Язык становится более быстрым и эффективным инструментом для создания решений в сфере искусственного интеллекта, облачных нативных приложений, систем Интернета вещей и масштабируемых микросервисов. В этой статье рассмотрим ключевые тренды, поддерживающие актуальность Java в современной разработке программного обеспечения.

Читать далее

exit /b, errorlevel и catch-like конструкции в cmd

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

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

Сегодня у нас на повестке интересная тема: как адекватно обрабатывать ошибки в cmd-файлах (он же — Windows Batch).

В общем, если вам приходилось писать batch-скрипт, который делает чуть больше, чем echo Hello World — добро пожаловать. Рассмотрим как работает %ERRORLEVEL%, когда и как юзать exit /b, как раскладывать try/catch на лейблы и почему всё это ломается, когда в бой идут call, for и if.

Читать далее

std::launder: зачем и когда нужен

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

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

В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder. Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.

Читать далее

Почему multiprocessing.Queue() тормозит и как обойти это с помощью shared_memory

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

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

Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue(), а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.

Читать далее

Как работает ACP — интернет-протокол для ИИ-агентов

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

ИИ-агенты стремительно проникают в реальную инфраструктуру — от автономных ассистентов до сложных цепочек ML-процессов. Но чем больше агентов, тем острее проблема: они говорят на разных «языках», работают на несовместимых фреймворках и требуют кастомных интеграций, которые сложно поддерживать. В статье рассказываем о ACP — открытом протоколе, который предлагает системный подход к взаимодействию агентов. Это попытка сделать для ИИ то, что HTTP сделал для интернета: единый стандарт, простое взаимодействие, масштабируемость.

Читать далее

Какую архитектуру данных мне выбрать? — Подход Data-инженера. Часть 2

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

Какую архитектуру данных выбрать, когда на горизонте — Data Warehouse, Data Lake, Lakehouse и Mesh, а проект требует гибкости, отчетности и масштабируемости? В этой статье — практический разбор подходов с позиций data-инженера. Рассматриваем плюсы и ограничения каждого варианта, углубляемся в архитектуры Инмона, Кимбалла, Data Vault и медальонную модель, а также разбираемся, где граница между аналитическими целями и технической реализацией.

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

Информация

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