Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 1 час 22 мин. назад

DBML Diagram для IntelliJ IDEA с офлайн превью и открытым исходным кодом

пт, 10/02/2026 - 14:36

Привет! На связи Boost for Java. Развиваем DBML Diagram — open source плагин для IntelliJ IDEA и других совместимых IDE на платформе IntelliJ. Он строит ER-диаграмму рядом с открытым .dbml-файлом: меняете описание таблиц и связей — превью обновляется прямо в редакторе. Построение диаграммы работает локально, без отправки схемы во внешний сервис.

В этой статье покажем возможности версии 0.1.0, пользу работы со схемами прямо в IntelliJ IDEA и устройство плагина. Отдельно расскажем о планах интеграции с dbdiagram.io для публикации локальных изменений в общую схему.

Проект открыт: будем рады предложениям, примерам проблемных схем и участию в разработке.

Плагин в JetBrains Marketplace · Исходный код на GitHub

Читать далее

Каков предел у оптоволокна? Эпизод I: Скрытая математика

пт, 10/02/2026 - 14:35

Многие слышали об оптоволокне и знают, что оно представляет собой магистральные каналы передачи данных (если хотите разобраться, как работает оптоволокно, вот отличный ликбез). По отповолокнам, проложенным по дну океанов, ежедневно прокачиваются Зетабайты гифок с котиками и AI слопа, а вероятность передать бит с ошибкой держиться на уровне 10^-10, т.е. один ошибочный бит (даже не байт) на 1 Гб данных. Естественно потребность в высокой скорости соединения неулонно растёт и для оптоволокна повился свой аналог закона Мура, гласящий, что скорость передачи удесеряется каждые 4 года. В этом цикле статей мы поговорим о том, есть ли предел скорости передачи данных для оптоволокна, попробуем его оценить и можно ли этот предел достигнуть на практике.

Читать далее

[Перевод] ИИ-агенты становятся коллегами: как это меняет работу команды

пт, 10/02/2026 - 14:32

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

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

Читать далее

ИИ-конструктор для создания ботов

пт, 10/02/2026 - 14:28

Раньше ботов писали руками на Python или других языках. Но многие пользователи не были профессиональными разработчиками, и для них появились специальные Nocode конструкторы ботов. Проблемой No/Lowcode конструкторов является жесткая структура, ограничивающая вариативность создаваемого приложения. Все изменилось с появлением нейросетей. LLM позволяют написать бота буквально в один промпт, причем сделать его именно таким, каким хочет пользователь, без рамок и ограничений классического SaaS-конструктора. 

В статье я расскажу о нашем решении класса AI App Builder, которое имеет специальный режим создания ботов.

Читать далее

Первый иск за «сбежавших» ИИ-агентов: кто отвечает, если агент сам взломал чужую систему

пт, 10/02/2026 - 14:24

В июле агенты OpenAI вышли из тестовой песочницы, добрались до интернета и взломали инфраструктуру Hugging Face. Никто из сотрудников им этого не поручал. Агенты решали тренировочные задачи и пришли к выводу, что ответы проще найти у Hugging Face, чем вывести самим.

29 сентября некоммерческая организация Legal Advocates for Safe Science and Technology (LASST) подала против OpenAI иск в Высший суд Сан-Франциско. Это первый иск, в котором компанию пытаются привлечь к ответственности за действия её автономных агентов. Позиция истца простая: разработчик не может уйти от последствий, сказав, что «это сделал ИИ».

Под катом: что известно об инциденте, чего требует истец, насколько убедителен аргумент «агент действовал сам» и что из этой истории стоит вынести тем, кто запускает агентов у себя.

Читать далее

Пишем свой аналог Substance Painter внутри Godot 4: процедурные шейдеры, кисти Фотошоп и BVH‑рейкастинг на лету

пт, 10/02/2026 - 14:21

Думаю, многие инди‑разработчики сталкивались с ситуацией: делая небольшую игру в Godot, вам хотелось просто взять кисточку и нарисовать грязь, мох или потёртости прямо поверх 3D‑модели в самом редакторе движка. Нужно добавить немного грязи по краям — и начинается: уходим в Blender / 3D Coat / тяжёлый Substance Painter, текстурируем, печём маски, экспортируем, возвращаем в движок, смотрим во вьюпорте, находим косяк, повторяем. Для продакшен‑ассета это нормальный пайплайн, для прототипа или маленькой инди‑игры — непомерно дорого по времени.

К тому же, мне посчастливилось (или не очень) быть обладателем довольно‑таки старенького ПК прямиком из 2008 года, а это, на минутку, Core 2 Duo E8400, 6 GB RAM DDR2 (расширенные из 2 GB, потому что иначе выжить невозможно, хах), ATI Radeon HD Series 4600. Использование таких программ, как Substance, для меня невозможно в принципе (если только не ковырять какие‑то совсем древние версия, в работоспособности которых с данной конфигурацией я тоже не уверен), Blender выше версии 2.79 открывается только с программной эмуляцией Mesa3D, что делает его непригодным для комфортного использования.

В итоге мой арсенал — Cinema 4D R21, 3DS Max для особых случаев, Blender с костылями — только на крайний случай в качестве комбайна.

Также проблема в том, что версии Godot выше 4.4.1 я не могу запускать физически — новые сборки требуют поддержки от процессора инструкций AVX (и, вероятно, SSE4.2), коих у меня нету, а существующие решения для Godot часто либо предназначены для новых версий Godot (4.5/4.6+), либо слишком громоздки, либо вовсе сломаны (как VPainter, оставшийся в эпохе Godot 3).

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

[Перевод] Бабушки были правы: ковыряние в земле полезно для здоровья

пт, 10/02/2026 - 14:13

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

Однако исследования показывают, что, возможно, стоит протянуть руку и прикоснуться к деревьям, кустарникам и почве, мимо которых я обычно прохожу. Мира Грёнроос, эколог и исследователь влияния природы на здоровье из Финского института окружающей среды, в рамках эксперимента просила людей в течение 20 секунд растирать руками почву, торф и мох. Она обнаружила, что количество и разнообразие микробов на их коже увеличивалось даже после того, как участники ополаскивали руки водопроводной водой. «Невооружённым глазом руки выглядели чистыми, — говорит она, — но изменения были огромными».

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

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

Читать далее

Почему хорошего UX недостаточно: дизайнеру нужно уметь объяснять свои решения

пт, 10/02/2026 - 14:09

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

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

И для меня здесь есть несколько важных выводов.

Читать далее

По следам Черной смерти: генетическая хронология чумы

пт, 10/02/2026 - 14:05

К сожалению, история нашего вида наполнена множеством трагических событий глобального масштаба: войны, природные катаклизмы, пандемии. Одним из таких событий является пандемия чумы, названная «Черная смерть», забравшая жизни десятков миллионов людей в Европе в период с 1346 по 1353 год. Однако, эти несколько лет являются лишь пиком распространения чумы. Повторные вспышки продолжались вплоть до XIX века. Ученые из Эстонского научного агентства провели масштабное исследование древних ДНК, в ходе которого была установлена хронология распространения, мутации и всплесков чумы протяженностью в 400 лет. Какие данные были использованы в анализе, что именно они показали, и как полученные сведения могут помочь в современной эпидемиологии? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

Зелёный пайплайн ничего не доказывает. Семь способов, которыми quality gate пропускает брак в прод

пт, 10/02/2026 - 14:01

if roc_auc < 0.85: exit 1 — примерно так выглядит quality gate почти в каждом ML-пайплайне, который мне попадался. В обычном CI то же самое — количество проблем в Sonar и код выхода тестов.

Я видел, как приложение проходило весь пайплайн, выкатывалось в прод, и через 2 часа бизнес срочно требовал отката из-за неработоспособности важного функционала.

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

Дальше семь способов, которыми гейт пропускает брак в прод. Там будет и утечка между train и test, и старый добрый || true в .gitlab-ci.yml. По каждому посмотрим реальный кейс с цифрами.

Читать далее

Как лучше интегрировать AI в процесс разработки. Материал для руководителей и PM

пт, 10/02/2026 - 14:01

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

Читать далее

Внешний Fuzzy‑поиск для 1С: транслит, синонимы и любые реквизиты

пт, 10/02/2026 - 14:00

Всем привет!
Меня зовут Шатохин Дмитрий, я работаю в компании SM Lab старшим программистом 1С.

Выносим полнотекстовый поиск за пределы кластера 1С. Нечеткое соответствие, учет опечаток и регистра без нагрузки на сервер и СУБД основной базы.

Sku-search: кроссплатформенный сервис полнотекстового поиска для 1С — находит все по наименованию, артикулу, штрихкоду и любым реквизитам
Когда стандартный поиск 1С сдается, а Elasticsearch кажется пушкой по воробьям.

Знакомая боль?

Оператор в вашей 1С создает новую номенклатуру и вбивает «Болт М16 оцинк.». Система молчит. Он сохраняет — и в базе появляется дубль, потому что «Болт М16х60 оцинкованный ГОСТ 7798-70» уже существовал три года.

Или другой случай. Приходит прайс поставщика. В нем артикул ART-000002, в вашей 1С — тот же, но записан как Art-000002. На первый взгляд безобидно: строки в 1С по умолчанию сравниваются без учета регистра, и «в лоб» эти значения не отличить друг от друга. А для акцизных марок, марок Честного ЗНАКА, серийных номеров и артикулов, где регистр различает модификации, это ловушка: 1С выдает кучу ложных совпадений, а поиск «с учетом регистра» из стандартного запроса не настроить.

Читать далее

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

пт, 10/02/2026 - 14:00

Почему для понимания товара недостаточно одной фотографии? Проследим, как модели электронной коммерции эволюционировали от визуального поиска и CLIP к мультимодальным представлениям, объединяющим изображения, текстовые описания и атрибуты товаров. Также рассмотрим e-CLIP, MOON, MOON2.0, AFMRL и MOON3.0.

Читать далее

Cоздаю игру на Unity

пт, 10/02/2026 - 13:56

Я решил 1.5 года делать игру и хочу ей поделиться.

Основной сюжет моей игры, ее механика и над чем работаю сейчас.

Читать далее

От шести деплоев к одному: общий сайдбар на Module Federation

пт, 10/02/2026 - 13:55

Если у вас несколько фронтенд-сервисов с одинаковыми компонентами (например, сайдбаром), вы либо уже страдаете, либо скоро начнете. Мы начали страдать на шестом.

Добавить новый пункт меню сайдбара. Казалось бы, пять минут. У нас это было как шесть кругов ада: шесть pull-request’ов, шесть ревью, шесть деплоев и бесчисленное количество запущенных CI-пайплайнов ради одной строчки в навигации.

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

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

Читать далее

Как я перешла из QA в тимлиды разработки

пт, 10/02/2026 - 13:54

Можно ли из тестирования перейти в разработку да еще и стать лидом? Можно. Но в моем случае все началось не с решения сменить профессию или получить новую должность. Сначала появилось новое направление, в развитии которого мне захотелось участвовать. Затем — возможность влиять на решения и брать на себя всё больше ответственности. А уже вместе с ней постепенно выросла и моя роль.

Привет, Хабр! Меня зовут Алина Сычёва, я около трех лет работаю в МТС Линк. В компанию я пришла на позицию middle QA, а сейчас руковожу одной из команд разработки. В этой статье я расскажу, как работа с релизами локальной версии продукта оказалась для меня школой лидерства, какие навыки из тестирования пригодились в новой роли и чему пришлось учиться после перехода.

Читать далее

Я устал от приложений для английского и сделал свою таблицу. Или как учить английский в Telegram, если нет времени

пт, 10/02/2026 - 13:51

Раньше я начинал учить английские слова и постоянно бросал это дело.

Находил новый способ, занимался какое-то время — а потом появлялись дела, работа, не хватало времени, и я снова всё забрасывал.

Но полтора года назад всё изменилось: с того момента я выучил 623 слова почти не тратя на это время. Без силы воли, дисциплины и изменения привычного образа жизни.

В этой статье расскажу, как я к этому пришёл и как повторить мои результаты.

Читать далее

Пинпад с нейронкой на борту: как мы научили платёжный терминал распознавать заказы и подчиняться голосу

пт, 10/02/2026 - 13:51

Молока в кофе можно налить по-разному, но в одном случае получится 3в1, а в другом — капучино. Точно так же с внедрением ИИ, который сейчас пытаются пришить к каждой кофемолке. Мы попробовали вставить ИИ в платёжный терминал не ради хайпа, а чтобы он начал реально слышать клиента в условиях ревущей кофемашины и бесконечного гула торгового зала. И, кажется, получился вообще не капучино. Раф, как минимум!

История одного пулреквеста в DKMS: когда сообщение об ошибке — это баг

пт, 10/02/2026 - 13:49

Разбираю реальный случай контрибьюции в DKMS (Dynamic Kernel Module Support) — инструмент, который пересобирает сторонние модули ядра вроде nvidia, VirtualBox, ZFS при обновлении ядра. Столкнулся с неинформативным сообщением об ошибке «Manual intervention is required!», разобрался, почему путь к сломанному модулю не попадает в вывод, хотя DKMS его знает, и почему это не то же самое, что путь из побочного сообщения find. Отправил патч из трёх атомарных коммитов в апстрим, PR смержен. В статье — разбор кода, поиск похожих issue и PR перед началом работы, возня с тестовым окружением (root, kernel headers, симлинки /lib vs /usr/lib, конфликт с системным dkms) и выводы о том, что делает патч приемлемым для мейнтейнеров.

Читать далее

[Перевод] Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

пт, 10/02/2026 - 13:45

Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

Как Kiva использует Manticore Search в SaaS, где у каждого клиента своя база данных и своя схема: сочетает периодически перестраиваемую и RT-таблицы, обрабатывает изменения в реальном времени и обходится без отдельных серверов для поиска.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.