+
Все потоки
Поиск
Написать публикацию
Обновить
611.74
OTUS
Развиваем технологии, обучая их создателей
Сначала показывать

Technical Product Marketing Manager: кто такой и чем занимается

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

Сейчас недостаточно просто создавать отличные программные продукты. Мышление «сделай, и они придут» больше не приведёт к успеху в этой конкурентной сфере. По мере того, как программные продукты становятся всё более сложными, а клиенты — более разборчивыми, путь к признанию вашего решения на рынке значительно усложняется. Компаниям требуются новые навыки для работы в этой сложной среде, причём для достижения устойчивого успеха всё чаще требуется должность, связанная с пониманием рынка, — должность, известная в отрасли как технический менеджер по маркетингу продукта (TPMM). Многие крупные технологические компании и хорошо финансируемые стартапы на собственном горьком опыте убедились в возросшей важности маркетинга программных продуктов, тратя слишком много денег на то, чтобы быстро добиться достаточного уровня принятия клиентами.

Перейти к материалу

Исследование кремниевых кристаллов процессора Intel 386

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

386 — редкий случай, когда топология кристалла напрямую пересекается с историей индустрии. В этой статье разберём, как переход x86 на 32 бита и смена NMOS на CMOS отразились на самом чипе: где живут тракт данных и ПЗУ микрокода, почему shrink с 1,5 до 1,0 мкм дал ~60% экономии площади, но потребовал переложить блоки и переосмыслить разводку. Посмотрим, чем DX отличается от SX на уровне бонд-площадок и шин, и почему у 386 SL транзисторов стало втрое больше — из-за интеграции контроллеров, SMM и логики управления питанием.

Это взгляд на 80386 через микрофотографии — и на эпоху, в которой Compaq перехватил архитектурное лидерство у IBM.

Заглянуть внутрь 386

Слёзы, баги и C++: как Isaac стал легендарной игрой

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

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

Помню, как впервые запустил The Binding of Isaac: стартовая комната без подсказок, закрытые двери, на миникарте пусто. Пара забегов и у меня уже список технических вопросов по генерации этажей, приоритетам предметов, поведению врагов, рендеру и производительности. В тот момент я решил написать эту статью.

Сегодня я расскажу о разработке культовой инди-игры The Binding of Isaac и разберу технические нюансы: путь от Flash к C++, как собирается план этажа, как устроены большие комнаты и секретки, по каким правилам живут эффекты предметов и их синергии, как Lua-скрипты встраиваются в движок для модов, где в архитектуре сделаны осознанные компромиссы.

Читать полную историю

Плагины на C# без рантайма: NativeAOT-экспорт и вызов из Rust/Python

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

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

Наткнулись на задачу: нужен плагин на C#, который можно грузить как обычную C-библиотеку без CLR и JIT, а вызывать из Rust и Python. Без обвязок, без CoreCLR-хостинга и прочего. Чистый C ABI, нормальные строки, предсказуемые структуры, обработка ошибок и нулевой JIT-прогрев. Это как раз случай для NativeAOT: компилируем библиотеку в нативный .dll/.so/.dylib, экспортируем функции через [UnmanagedCallersOnly], а дальше живём как с любой C-библиотекой. Нюансов хватает: что экспортируется и как назвать символ, как договориться по ABI, что делать со строками UTF-8, как возвращать ошибку, как освобождать память снаружи, почему исключения нельзя проталкивать за границу, и в каком месте «cdecl» реально что-то значит.

Ознакомиться с примером NativeAOT

Тренды 2025: культура и методы разработки по данным InfoQ

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

ИИ перестраивает саму ткань разработки: ускоряет релизы, но множит баги, заставляет пересматривать тестирование и принципы командной работы. В 2025-м инженеры и лиды живут в двойственности — между стремительным ростом продуктивности и растущей ценой наблюдаемости, между автоматизацией и риском утраты человеческого взаимодействия. Новый отчёт InfoQ о культуре и методах разработки показывает: индустрия вступила в фазу, где платформенная инженерия становится наследником DevOps, а психологическая безопасность и умение работать малыми итерациями — вопросом выживания команд, а не модного тренда.

Куда движется индустрия

std::simd: шаблоны векторизации без intrinsics в C++

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

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

Векторизация в C++ давно живёт на двух этажах. Внизу автоворожбы компилятора: достаточно аккуратно написать цикл, и при нужных флагах он соберёт SIMD-инструкции сам. Наверху низкоуровневые intrinsics, где вы контролируете каждый shuffle и predication, но платите за это портируемостью и временем на поддержку. Между ними появился удобный этаж: std::simd. Он даёт вам явные векторные типы и операции без прыжков по AVX/NEON-интринсикам и при этом остаётся переносимым. В 2025 году картина такая: полноценный std::simd принят в стандарт C++26, а использовать в проде уже сейчас можно std::experimental::simd из Parallelism TS v2, которая есть в libstdc++ (GCC 11+) и постепенно доезжает до остальных реализаций. Для чтателя это означает простую вещь: сегодня пишем под <experimental/simd>, а миграция на <simd> будет механической.

Посмотреть разбор

Семантический поиск на Laravel через pgvector

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

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

Предлагаю сегодня разобраться, как семантический поиск появился в Laravel и PostgreSQL.

Разобраться в деталях

Микросервисы и 1С

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

Микросервисная архитектура при построении приложений в последние годы пользуется большой популярностью среди разработчиков. Всевозможные веб-приложения активно используют данную архитектуру. Но почему бы не попробовать использовать эту архитектуру при работе с 1С?

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

Перейти к материалу

glibc-hwcaps и GLIBC_TUNABLES: как включить x86-64-v3 для ваших CLI

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

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

Обычно я за то, чтобы не усложнять рантайм лишний раз, но здесь случай приятный: можно включить у своих CLI автоматический выбор библиотек под реальные возможности CPU и не ломать обратную совместимость. Механизм называется glibc-hwcaps, появился в glibc 2.33, и он позволяет динамическому загрузчику подбирать lib’ы из специальных поддиректорий по уровню x86-64-v2/v3/v4. Это ровно те уровни, что определены в x86-64 psABI, без частных расширений конкретных вендоров. На практике достаточно положить собранный под v3 lib рядом с обычным, соблюсти SONAME, и ld.so сам подхватит оптимизированный вариант на новых процессорах. На старом железе всё продолжит работать на базовой сборке.

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

Triton FP8: реализация и автотюнинг GEMM/Attention под RTX 40xx/Blackwell

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

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

Я тут на досуге решил разобраться с 8-битными числами с плавающей запятой (FP8) и попробовать написать под них свои GPU-ядра на Triton. Зачем? Ну, новые ускорители от NVIDIA обещают невиданную ранее производительность на FP8 — вдвое больше операций, чем на FP16. Для тренировки огромных нейросетей это прям манна небесная: меньше памяти, больше скорость. Но, конечно, всё не так просто.

Сам по себе FP8 формат капризный, требует тщательного подхода: два разных варианта чисел (E4M3 и E5M2), масштабирование (скейлинг) тензоров, аккуратное накопление сумм в FP16/FP32, разбиение вычислений на тайлы под размер быстрого SRAM (shared memory) и даже специальные меры против переполнения. В общем, нюансов хватает. Расскажу, что узнал и как реализовал GEMM (умножение матриц) и внимание (Attention) в FP8 на языке Triton, да ещё и с автотюнингом.

Перейти к материалу

Что такое DWH и зачем оно нужно бизнесу?

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

Всем привет! Сегодня рассмотрим, что из себя представляет Data Warehouse и зачем оно нужно вашему бизнесу.

Статья рассчитана на то, чтобы дать общее представление широкой аудитории, так что возможны упрощения и небольшие неточности – буду рада подискутировать о них в комментариях, если вы заметите их.

Подробнее о DWH

Рекомендательные системы в современном мире

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

Пожалуй, никто не будет спорить с тем, что развитие Интернета произвело настоящую революцию в сфере продаж. Теперь мы можем приобрести на маркетплейсах всё, что угодно — от зубной щетки до разборного дома. Но зачастую выбор из бесчисленного множества вариантов может быть непосильной задачей для потребителей. Интернет‑магазины сталкиваются с необходимостью продавать больше товаров и корректировать цены, чтобы быть впереди конкурентов.

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

В этой статье мы поговорим о том, что представляют из себя рекомендательные системы и разберем пример реализации на Python.

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

Redis Streams в PHP с backpressure: устойчивые consumer-группы + повторная доставка

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

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

Redis Streams давно перестали быть экзотикой для любителей CLI и стали нормальным способом гонять события между сервисами. Но у PHP есть своя специфика: один код — два способа конкурентности. Либо Amp с неблокирующим I/O и семафорами, либо Swoole с корутинами. В обоих случаях хочется одного и того же: устойчивые consumer-группы, ручной ack, автоматический claim зависших сообщений, backpressure, экспоненциальные ретраи и внятный дед-леттер.

Перейти к материалу

Apache Kafka: ZooKeeper vs KRaft — полное сравнение подходов

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

Apache Kafka — один из самых популярных распределенных систем потоковой передачи данных. Исторически Kafka использовала Apache ZooKeeper для управления кластером, но с версии 2.8.0 появилась альтернатива — KRaft (Kafka Raft Metadata mode). 

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

И, чтобы статья была практико-ориентированной, мы рассмотрим примеры того, как можно поднять в Docker оба варианта кластера. 

Перейти к сравнению

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

Реализуем Q learning на Python

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

Обучение с подкреплением (Reinforcement learning) является одним из направлений ML. Суть этого метода заключается в том, что обучаемая система или агент учится принимать оптимальные решения через взаимодействие со средой. В отличие от других подходов, Reinforcement learning (RL) не требует заранее подготовленных данных с правильными ответами или явной структуры в них. 

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

В этой статье мы попробуем разобраться с тем, как работает Q-обучение, а также рассмотрим небольшой пример на Python.

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

URLPattern API как «роутер без фреймворка» (браузер + Node 24)

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

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

URLPattern дорос до того, чтобы его можно было использовать как нормальный «роутер без фреймворка». В браузерах API уже поддерживается широким набором движков, а в Node 24 он доступен глобально без импортов. Один и тот же паттерн можно матчить и в Service Worker, и в HTTP-сервере на Node.

URLPattern — это примитив платформы для сопоставления URLам по удобному паттерну. Он матчится по компонентам: protocol, hostname, port, pathname, search, hash. Есть test и exec, named groups и опции вроде ignoreCase. Важный плюс в том, что у нас есть одинаковая семантика в браузере и в рантаймах, которые его тащат из той же спеки.

В Node 24 объект доступен глобально, как URL, без require('node:url'). Сам класс появился в 23.8, в 24-й ветке он отмечен как experimental, но доступ из коробки.

По поддержке в браузерах ситуация здоровая. По Can I use, URLPattern работает в актуальных ветках Chrome, Firefox, Safari, Edge, включая мобильные.

Изучить пример

CI/CD: можно и в 1С

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

Конвейер непрерывной интеграции и поставки CI/CD является эффективным инструментом быстрого и качественного выпуска программного обеспечения. Разработчики и тестировщики активно используют те преимущества непрерывной разработки, которые дает данный пайплайн. Но экосистема решений 1С тоже позволяет построить конвейер CI/CD.

В этой статье мы рассмотрим построение такого пайплайна на основе инструментов, предлагаемых 1С.

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

Инфраструктура без боли: Kubernetes Security, GitOps, Kafka, Angie — что изучить в октябре

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

Привет, Хабр. Это октябрьский дайджест по инфраструктуре и данным: безопасность Kubernetes, IaC и GitOps, Kafka и балансировка в Angie, Postgres 17/FDW, OpenSearch, файловые системы Linux и многое другое. В нем мы рассказываем об актуальных программах, а также приглашаем на бесплатные уроки от экспертов индустрии. Каждый сможет найти что-то полезное для себя.

Все темы выпуска

Как измерять влияние разработки на бизнес: практическое руководство для CTO

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

В разговорах про «ускорение разработчиков» часто меряют не то: velocity и строки кода слабо объясняют выручку и маржу. Материал предлагает практическую рамку Impact Intelligence: impact-сеть, жёсткий вход инициатив (RDM), погашение долга по измерениям и валидацию вклада до бизнес-метрик. Разберём, как связать proximate-показатели с downstream-результатами и зачем на портфельном уровне считать ROP вместо декоративного ROI.

Понять impact intelligence

Заморозили и полетело: всё, что нужно знать про Frozen-коллекции в C#

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

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

В проде полно таблиц и маппингов, которые создаются один раз и потом живут годами на чистом чтении. Раньше выбирали между ReadOnlyDictionary и Immutable*. Первый не ускоряет доступ и просто прикрывает исходную коллекцию, второй дает чистые апдейты, но платит временем построения и lookup. В .NET 8 появился третий путь для такого профиля: System.Collections.Frozen.

Задача у Frozen простая и приземленная. Заплатить за построение структуры один раз на старте, а дальше получать быстрый TryGetValue/Contains и предсказуемое перечисление без блокировок. Контейнер неизменяемый, потокобезопасен для чтения и специально заточен под lookup. Стоимость сборки выше обычной, это ожидаемо, поэтому применять его есть смысл там, где чтений на порядки больше, чем конструирований.

С .NET 9 стало еще удобнее: появился alternate lookup. Теперь словарь со строковыми ключами может принимать ReadOnlySpan<char> прямо на lookup, без лишних аллокаций. Это хорошо заходит в веб-пути, парсеры заголовков и любые сценарии, где строка у вас уже как span.

Узнать, как ускорить C# коллекции
1
23 ...

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载