Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 2 min ago

Как открыть IT-направление в компании, которая никогда не занималась IT

1 hour 23 min ago

Открыть IT-направление в не-IT компании — это не про технологии. И не про программистов. И даже не про деньги.

Читать далее

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

1 hour 24 min ago

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

Читать далее

Что такое канбан и как на самом деле по нему работать

1 hour 32 min ago

Это базовая методичка по канбан. На пальцах объясняю, как устроен метод и даю рабочую схему, как внедрить его в команде.

Читать далее

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

4 hours 16 min ago

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

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

Читать далее

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

7 hours 32 min ago

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

Читать далее

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

10 hours 11 min ago

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

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

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

Читать далее

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

Wed, 01/14/2026 - 23:22

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

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

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

Читать далее

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

Wed, 01/14/2026 - 22:49

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

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

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

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

Читать далее

Baseline: декабрь 2025

Wed, 01/14/2026 - 22:27

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

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

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

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

Wed, 01/14/2026 - 22:12

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

Читать далее

Учет доходов на маркетплейсе: где деньги?

Wed, 01/14/2026 - 21:51

На маркетплейсе главная ловушка простая: вы управляете бизнесом по цене и «выручке», а живёте на выплате «к перечислению» — то есть на деньгах, которые реально приходят на счёт.

Читать далее

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

Wed, 01/14/2026 - 21:12

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

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

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

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

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

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

Wed, 01/14/2026 - 21:11

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

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

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

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

Читать далее

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

Wed, 01/14/2026 - 21:04

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

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

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

Читать далее

Как правильно ставить учебные цели. Разница между мечтой и целью

Wed, 01/14/2026 - 20:51

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

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

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

Тем, как правильно это делать, мы сегодня и займёмся.

Читать далее

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

Wed, 01/14/2026 - 20:42

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

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

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

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

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

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

Читать далее

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

Wed, 01/14/2026 - 20:15

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

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

Читать далее

Процесс vs результат — ложная дихотомия: на разных уровнях управления оптимизируются разные метрики

Wed, 01/14/2026 - 19:38

В компаниях регулярно всплывает спор, который очень похож на инженерный: «Мы делаем правильно, но медленно» vs «Мы делаем быстро, но криво».

На уровне разговоров это обычно превращается в конфликт стилей:

Читать далее

Как я набрал 100 млн подписчиков за 1 наносекунду

Wed, 01/14/2026 - 19:37

Прости, дружище, я обманул тебя. Никаких 100 миллионов подписчиков у меня нет. Но не спеши уходить. Обещаю - будет интересно.

Я микро-автор канала DevOps Brain и это рассказ о том как у меня не получается раскрутить свой канал про инфраструктуру, сети и программирование не смотря прилагаемые усилия.

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

Читать далее

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

Wed, 01/14/2026 - 19:28

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

Читать далее

Who's online

There are currently 0 users and 0 guests online.