Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Почему ваш бектест врёт на 50%, и при чём тут выбор между Python и C++

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

Sharpe 2.1 в pandas-бектесте, через три месяца реальной торговли упал до 0.3

Pandas-бектесты систематически завышают доходность на 30-70%. Одна строчка с shift(-1) и вы уже используете завтрашние данные для сегодняшних решений. Плюс survivor bias, плюс нереалистичные fills.

В статье разбираю источники look-ahead bias, сравниваю vectorized и event-driven подходы на данных MOEX (SBER, GAZP, LKOH за 2020-2024), мои замеры latency для Tinkoff API, и рассуждения о том, когда Python уже не вывозит и пора думать про C++

Читать далее

Как ИИ помогает упростить BPMN-диаграммы

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

Звучит знакомо, когда пытаешься объяснить или понять процессы, но при просмотре диаграмм, которые их представляют, в итоге запутываешься в куче стрелок и квадратов? 😥 Несколько дней назад я наткнулся на очень интересное исследование, которое объясняет, как мы можем использовать языковые модели, чтобы упростить эту работу. По мере роста и усложнения организаций их бизнес-процессы тоже становятся сложнее. При составлении диаграмм этих процессов модели обычно становятся более детализированными и трудными для понимания — до такой степени, что может понадобиться больше одной чашки кофе ☕️, чтобы их разобрать.

В этом посте я хочу суммировать для вас это исследование и показать, как LLM могут стать вашими союзниками в распутывании этих диаграмм и превращении их из запутанных украшений в полезные инструменты. Если хотите углубиться, оставлю ссылку на оригинальное исследование: Leveraging Large Language Models for Enhanced Process Comprehension.

Идея простая, но мощная: сочетание абстракции моделей процессов с техниками промптинга, чтобы ИИ мог анализировать и интерпретировать диаграммы более ясно и эффективно. Кроме того, я поделюсь кодом, чтобы вы могли поэкспериментировать сами и открыть новые применения. Поехали! 🛠️✨

Читать далее

«Джуны старше 50 лет никому не нужны». Как я сменил воинскую службу на IT в 53 года

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

На рынке по-прежнему держится норма: после 40–50 лет карьеру лучше не трогать. Я 30 лет служил в морской авиации, а перед выходом на пенсию понял, что у меня остаётся немного вариантов для заработка — один из них: устроиться охранником в школу за 30 000 рублей с гордой надписью Security на курточке. Рассказываю, как решил поменять профессию, через что пришлось пройти и как в итоге в 53 года стал тестировщиком программного обеспечения.

Читать далее

Дрейф, потеря контекста и «уверенная чушь»: протокол восстановления SDX-S

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

LLM умеют многое, но иногда ломаются так, что виноватым выглядит пользователь: контекст уезжает, инструкции исчезают, инструмент падает, а модель продолжает говорить уверенно, как будто всё нормально.
Мы смотрим на это не как на “плохой ответ”, а как на деградацию состояния диалога. Если не поймать момент, по цепочке шагов и становится всё убедительнее.
Мы собрали процедуру SDX-S: триггеры → диагностика причины → восстановление → критерии возврата. Ниже: состояния, “дашборд” и два кейса, где это реально спасает.

Читать далее

Освоение китайского ПЛК FX3U-14mr

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

Приобрел я китайский ПЛК типа Mitsubishi FX3U-14mr. Цена хорошая. Функционал интересный, не без недостатков, но достоинств больше: в основе микроконтроллер STM32F103VCT6.

Читать далее

Как Reserve реализует on-chain индексы: разбор Index DTF

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

Идея Reserve простая: взять токены, упаковать их в один ERC-20 и получить on-chain индекс, который можно минтить, сжигать и ребалансировать без кастодианов и ручного управления. Но за простотой спрятана бизнес-логика: от расчёта доли пользователя в индексе до механизма ребалансировки.

В статье я разбираю Index DTF в Reserve Protocol: архитектура смарт-контрактов, процессы mint и redeem индекса, механизм ребалансировки через голландские аукционы, управление индексом и риски протокола. Если интересно, как на практике реализован «децентрализованный ETF», то мой разбор про это.

Читать далее

Как я перестал слушать «Unknown Artist — Track 01» и написал свой распознаватель музыки

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

12 000 MP3 без тегов, 15 лет прокрастинации, один выходной на код. Асинхронный распознаватель на Python + Shazam: как обойти rate limiting, починить кривые кодировки и не съесть всю память. Код открыт.

Читать далее

Roo Code для тестировщика: как превратить обязательные запросы к DeepSeek в реальную пользу

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

Знакомо? Модульный проект, где непонятно, откуда что берётся. Тест не видит элемент, хотя он точно есть на экране. А ещё в компании развернули локальный DeepSeek и установили норму запросов — и вы честно её выполняете, копируя куски кода в чат и получая ответы уровня «попробуйте проверить id элемента».

Проблема не в AI. Проблема в том, что чат не видит ваш проект.

Покажу, как подключить тот же корпоративный DeepSeek через Roo Code — и вместо абстрактных советов получать анализ конкретно вашего кода. С промтами для Kaspresso, решением проблемы «невидимых» id и миграцией с Espresso.

Читать далее

Хватит неправильно использовать localStorage в React

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

localStorage кажется простым решением, пока приложение не начинает расти. useEffect, useState, рассинхронизация между компонентами, проблемы с SSR и отсутствие типизации быстро превращают его в источник багов и хаоса.

В этой статье я показываю, почему localStorage стоит рассматривать как external store, а не как обычный state React, и как правильно работать с ним с помощью useSyncExternalStore. Мы шаг за шагом усложняем реализацию: добавляем строгую типизацию, реактивность между компонентами и вкладками, поддержку sessionStorage, валидацию данных и SSR-совместимость — без Redux и лишней инфраструктуры.

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

Читать далее

Мы пробили новое дно: change request-ы и баг-репорты, которые никто не понимает

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

Мы, кажется, пробили новое дно.
И что особенно удивительно, Карл! — аккуратно, без паники, с хорошей формулировкой и абзацами.

Я сначала не понял, что стало происходить. Было ощущение странного дежавю: читаю change request или баг‑репорт, киваю, вроде всё логично... но что‑то не так, как будто где это уже читал. Слова правильные. Причинно‑следственные связи на месте. Термины употреблены верно. Пытаюсь понять в чём проблема — ноль. Как будто читаешь инструкцию к микроволновке, а не описание реальной проблемы. Пытаюсь прочитать ещё раз и ещё раз — с трудом продираюсь через текст с каким‑то смутным понимаем того, что написано.

И тут до меня доходит - как обухом по голове.
Мои дорогие гении из техподдержки и продакт менеджер нашли «идеальный» способ сэкономить на обсуждении технической стороны проблемы со мной. И действительно, зачем? Клиент что‑то спросил. Они прогнали это через ИИ. И ИИ вник. Глубоко. Старательно. Затем сгенерировал текст, старательно объясняя мне что нужно добавить, починить и даже каким образом это сделать (не имея даже понятия о нашей кодовой базе).

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

Читать далее

Baseline: декабрь 2025

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

Обзор на браузерные API, которые стали Widely available в декабре 2025. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.

Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.

Узнать, что можно применять в проде

Обоснованность критериев свободы программного обеспечения GNU

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

Данная статья была впервые опубликована в июле 2024 года. В ней разбирается, пожалуй, самый популярный миф о свободном программном обеспечении. Будто критерии свободы, обозначенные проектом GNU лишь снижают свободу пользователей. Поскольку этот миф столь же живуч, что и иные мифы о свободном ПО, разобранные в статье о соотношении свободы и приватности с безопасностью, — данная работа также не потеряла актуальности. Ее текст остался без изменений, однако, как и в случае с упомянутой статьей, некоторые ссылки на источники были заменены на более удобные.

Читать далее

За что на самом деле платят ваши пользователи: декомпозиция ценности, которую не покажут метрики

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

“Надо увеличить ценность нашего продукта!” - фраза, которую произнес, пожалуй, каждый продакт хотя бы раз за свою карьеру. Эта фраза уже так набила оскомину, что уже потеряла всякий смысл.

А вот такой фразой “это не увеличивает ценность продукта для пользователей” отшиваются многие неугодные инициативы будь-то от команды или от СЕО.

Но что скрывается за этим мифическим термином “ценность для пользователя”?

Давайте разбираться.

Читать статью

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

Поиск решений управляемый данными. Информационный блок

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

В предыдущей статье "Почему нейросети не заменят прикладных специалистов: простая логика против вероятностных подходов" рассматривались общие вопросы поиска решений управляемого данными. Эта информационная технология, основанная на простой логике, позволяет оперативно вести диалог с пользователем, используя накопленные в процессе поиска решения данные. Для того чтобы это работало - требуется фрагментировать знания предметной области в виде функций с заданными областями допустимых значений входящих в них параметров.

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

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

ПРИМЕЧАНИЕ. В качестве примера выбрана реальная задача из медицинской практики связанная с назначением антирабической помощи. Антирабическая помощь необходима для исключения заболевания бешенством после контакта с домашним или диким животным. Бешенство смертельно опасное заболевание. От правильности врачебных назначений зависит жизнь обратившегося за медицинской помощью. Имеется инструкция, регламентирующая действия по оказанию антирабической помощи, которая и является первоисточником базы знаний. Несмотря, на кажущуюся простоту выбор лечения (профилактики) требует чёткого анализа ситуации и учёта многих факторов. Экспертная система в диалоге управляемом данными не позволит ничего пропустить и предложит безошибочное решение.

Читать далее

Самые красивые и технологичные игры 2025 года

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

Графика в видеоиграх не главное. Однако именно она олицетворяет технологический прогресс индустрии. Сложные системы освещения, фотореалистичные материалы, физика, которая ощущается в каждом движении, и лицевые анимации, от которых трудно отвести взгляд — это именно то, для чего энтузиасты сегодня покупают флагманские видеокарты и OLED-панели.

В прошедшем игровом году мы лицезрели, как мрачное средневековье превращается в почти осязаемую реальность, как феодальная Япония оживает в мельчайших деталях, как Сицилия начала XX века дышит солнцем и пылью, а постапокалиптические пейзажи Америки снова зовут в путь.

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

Читать далее

Minecraft на Unity. Логика разрушения блоков

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

Продолжаю разрабатывать Minecraft на движке Unity. В этой статье я покажу мою реализацию разрушения блоков - перестройки чанков. Это будет моя вторая реализация.

Перед прочтением этой статьи, советую ознакомиться с моей предыдущей статьей.

Моя первая логика основывалась на полной перестройке чанка после удаления блока. Это работало без багов и не сильно влияло на производительность. Но я решил поэкспериментировать со своей игрой, поставил высокую скорость разрушения и блоки разрушались 1 блок за кадр или около 100 - 300 блоков в секунду. При таком раскладе игра начинала тормозить, не сильно, но заметно. Конечно я не планировал оставлять такую скорость разрушения, но, если я могу увеличить производительность, то нужно реализовывать.

Как же на меня ругался ИИ, когда я скидывал ему свой код. Он мне советовал остановиться на полной перестройке чанков (моя первая логика), но я все же ее переделал, и остался доволен результатом.

Далее расскажу о всех деталях:

Первым делом я вынес Mesh и его параметры (Vertices, Triangles и т.д.)

Читать далее

Langium — инструмент для языкового моделирования

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

Разработка собственных языков и языковых серверов может быть сложной и рутинной задачей. Langium — инструмент на TypeScript, который упрощает создание предметно‑ориентированных языков (DSL) с готовым LSP‑сервером.

Меня зовут Денис Маматин, я работаю в R&D‑отделе СберТеха. В ходе разработки одного из наших проектов мы столкнулись с необходимостью создания собственного DSL, и в этом нам существенно помог Langium. В этой статье я рассмотрю, как устроена грамматика Langium, как создать первый проект и какие преимущества он даёт разработчику.

Читать далее

HADI цикл: как научить AI-агента учиться на своих ошибках и нешаблонно мыслить

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

Цикл научного метода для AI в коде Python:
Hypothesis — формируешь гипотезу
Action — действуешь на её основе
Data — собираешь данные
Insight — делаешь вывод

Читать далее

Открытый репозиторий для изучения онлайн-рекламы: датасет, подборка материалов, симулятор и примеры RL-агентов

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

Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Web Services. За каждым показом онлайн-рекламы стоит очень сложный механизм. Одно из его ключевых понятий — Real-Time Bidding (RTB). Это аукцион онлайн-рекламы, где решается, какое объявление будет показано пользователю на определенном веб-сайте или в приложении. Особенность RTB — необходимость максимально быстро принять решение, для чего системы обучаются с помощью технологии reinforcement learning (RL). 

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

Читать далее

От потребностей команд к требованиям: выбор движка бизнес процессов после EOL Camunda 7

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

Привет, Хабр! Мы — бизнес-линия разработки кредитных продуктов для физических лиц в Т. Нам крайне важно использовать актуальное, безопасное и предсказуемое решение в проектировании бизнес-процессов. Для автоматизации выдачи кредитных продуктов мы используем движок бизнес-процессов Camunda.

В прошлом году компания объявила о завершении бесплатной поддержки Camunda 7. Платформа больше не будет получать обновления, включая критические исправления безопасности и уязвимостей. Для нас, как для финансовой организации, где безопасность, стабильность и соответствие стандартам играют ключевую роль, такой поворот стал серьезным сигналом.

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

Читать далее