Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 18 min 22 sec ago

Как мы строили EvoPoint: 7 проблем голосового приема заказов

Thu, 11/05/2026 - 13:09

Казалось, что для голосового заказа достаточно добавить в платёжный терминал распознавание речи. Так мы думали в Эвоторе, когда начинали проект EvoPoint. 

На деле разработка голосового пинпада не ограничилась подключением готовой библиотеки. Пришлось решить несколько задач:

➡️ борьба за каждый мегабайт оперативной памяти;

➡️ война с шумом профессиональной кофемашины;

➡️ кастомная оркестрация платёжных сценариев;

➡️ поиск компромисса между «умным» и «холодным» железом;

➡️ ну и как-то успокоить кассира-бариста. 

Владимир Графсков, техлид интеграционных проектов Эвотора, делится, как мы разрабатывали пинпад, который принимает заказы голосом. Первый материал на Хабре про EvoPoint здесь.

Читать далее

[Перевод] Вывод в терминал тормозит unzip: как заменить построчный буфер сбросом по дедлайну

Thu, 11/05/2026 - 13:08

Если в архиве много мелких файлов, unzip тратит бо́льшую часть времени на печать их имён в терминал: при построчной буферизации записей получается намного больше, чем нужно. Разбираем, как её реализуют glibc и CPython и почему вместо сброса на перевод строки хватит идеи из алгоритма Нейгла: сбрасывать буфер, если он простоял около 100 мс.

Читать далее

Три места, где Postgres отдаёт разные цифры на один и тот же отчёт

Thu, 11/05/2026 - 13:05

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

Изучить проблему

[Перевод] Как повредить файл базы данных SQLite

Thu, 11/05/2026 - 13:03

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

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

Читать далее

Ladder на экране 0.96": программирую ПЛК тремя кнопками

Thu, 11/05/2026 - 13:03

Я сделал контроллер на ESP8266, который можно программировать прямо на нем самом: на маленьком экране OLED 0.96" и всего тремя кнопками.

Программа пишется на языке Ladder Diagram. А во время работы эта же схема показывает, что происходит с процессом: какие контакты замкнуты, какие значения на входах, что включено на выходах. Компьютер для этого не нужен.

Читать далее

Как я скомпилировал и запустил приложение SwiftUI на iOS без MacBook

Thu, 11/05/2026 - 13:00

Apple многие годы держала свою экосистему закрытой, но теперь необязательно иметь Macbook, чтобы разрабатывать приложения под iOS. Проверяем, что умеет утилита xtool и как она открывает новые пути к разработке под iOS без macOS

Читать далее

«Удалить нельзя оставить»: как устроена защита данных в S3

Thu, 11/05/2026 - 13:00

Количество данных в современном мире постоянно растет. При этом количество потребляемой, копируемой и генерируемой информации на сегодня увеличилось до 163–175 ЗБ. Это на 430% больше, чем было 10 лет назад. 

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

Читать далее

Как устроен ИИ-агент: разбираем архитектуру Agents Place и цену одного ответа

Thu, 11/05/2026 - 12:53

Мы разобрали, из чего состоит ИИ-агент, на примере 69 агентов из каталога Agents Place и посмотрели, сколько стоит один их ответ. Разброс — больше чем в 100 раз: от ~0,94 ₽ за сообщение у агента на DeepSeek до ~121,57 ₽ у агента, который генерирует видео. Рассказываем, из чего складывается эта цена и почему модель в ней не главное.

Читать далее

Доставлено 100%, а письма нет: две ловушки при переезде почты интернет-магазина

Thu, 11/05/2026 - 12:47

Если вы меняете почтового провайдера у интернет-магазина, а уведомления о заказах уходят письмом, проверьте два места: куда идут письма вам самим и кто читает отчёты о недоставке. В августе мы переезжали сами и наткнулись на обе ловушки. Сервис отправки отчитался «доставлено 1, 100%», а письма не было ни в одной из шести папок ящика. Ни ошибок в логах, ни упавших заказов: обе ловушки молчат.

Читать далее

Почему нейросеть передумывает простое и недодумывает сложное, и что об этом знал Шерлок Холмс

Thu, 11/05/2026 - 12:43

Языковые модели научились рассуждать перед ответом. Теперь разработчики бьются над вопросом, который знаком каждому: сколько времени думать над конкретной задачей? На это хочется ответить парой метафор.

В рассказе «Союз рыжих» сэра Артура Конан Дойла к Шерлоку Холмсу приходит владелец ссудной кассы Джабез Уилсон. Едва гость садится, сыщик сообщает, что тот нюхает табак, состоит в масонской ложе, а раньше занимался физическим трудом, бывал в Китае и в последнее время много писал. Все это Холмс читает по рукам, манжетам и булавке Джабеза за несколько секунд. История, которую рассказал сам Уилсон, потребовала другого подхода. «Это задача на три трубки, — сказал Холмс Ватсону, — и я попрошу вас минут пятьдесят со мной не разговаривать».

Тут Конан Дойл показал обе скорости мышления своего героя. Молниеносная дедукция Шерлока известна всем, но для нашей темы важнее другое его умение. Он заранее знал, какой задаче хватит одного взгляда, а какой понадобятся три трубки на подумать.

Но Холмс был литературным персонажем, а вот Даниэль Канеман, нобелевский лауреат по экономике и автор книги «Думай медленно… решай быстро», много лет изучал, как рефлекторный выбор быстрого мышления подводит обычных людей. В книге он приводит задачу психолога Шейна Фредерика. Бита и мяч вместе стоят доллар десять центов, бита дороже мяча на доллар. Сколько стоит мяч? Первым в голову приходит ответ «десять центов», и он неверен: тогда бита стоила бы 1,10, а вместе они стоили бы 1,20. Ошиблись больше половины студентов Гарварда, MIT и Принстона, которым давали эту задачу. Быстрое мышление, Система 1 по терминологии Канемана, выдает уверенный ответ. Медленная Система 2 могла бы его проверить, но включается неохотно, за что Канеман и назвал ее ленивым контроллером.

Читать далее

Дообучил Qwen3.6 синтаксису 1С и проверил её на случайных вопросах: все результаты не ниже 95 %

Thu, 11/05/2026 - 12:36

Летом я дообучал Qwen3.6 27B на справочном материале по 1С и проверял результат субьективно на глаз: по ответам на последние добавленные объекты и доработанные методы. Позднее решил узнать точно, какие данные не усвоились при дообучении.

В результате сделал нормальный тест: случайные сто вопросов из ~ 20 тысяч записей, ответы дообученной модели, два LLM-судьи и детерминированная проверка критичных полей. Всего 6 прогонов по 100 вопросов.

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

С чего всё началось

Предварительное исследование вопроса «можно ли уместить синтаксис 1С в LoRA адаптер» дало такой результат: при хорошем результате обучения Low Rank Adapter может усвоить только ~ 94 % синтаксических конструкций. Поэтому для точных знаний рекомендуется использовать RAG или LoRA + RAG. Но из этой информации следует практическая задача: примерно 6 % датасета осталось плохо усвоенным, и именно эти пробелы надо найти и запомнить, для понимания, каким точно данным от модели не стоит доверять. Как говориться, если точно знать где упадешь, можно заранее мягкое постелить.

В первой статье я пошёл путём RAG: связал справочный материал через MCP-сервер с Roo Code и пытался проверить, как модель справляется, работая в агентном режиме. Было 4 новых агента с разными настройками: 1. Qwen3.6, 2. Qwen3.6+LoRA1C, Qwen3.6+RAG, Qwen3.6+LoRA1C+RAG. Ответы у всех были правильными — и это стало проблемой. Новым агентам информация давалась слишком легко, они тащили знания из любых доступных источников. Пришлось сначала сильно ограничить агентов в правах, а потом долго отклонять команды на чтение файлов "которые точно помогут в правильном решении задачи" и команды на доступ в интернет. RAG в такой связке работает, но тянет за собой векторную базу, ретрив и MCP-сервер, а вопрос об усвоенных 94 % так и остаётся открытым: правильные ответы агентов ничего не говорят о том, что выучила сама модель.

Читать далее

timeout=5 в requests — не то, что кажется: connect, read, ретраи и бюджет времени

Thu, 11/05/2026 - 12:30

По умолчанию у requests таймаута нет: клиент может висеть часами. Разбираем, чем connect отличается от read, почему одно число в timeout — не «длина всего запроса», как настроить urllib3.Retry без шторма и POST-дублей, и как ограничить всю операцию бюджетом времени. Код прогнан на Python 3.13 и requests 2.34 / urllib3 2.8; цифры — с локального стенда.

Читать далее

Бот, база знаний или специалист: как выбрать способ обработки обращений сотрудников

Thu, 11/05/2026 - 12:21

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

Читать далее

Примеры удачной продажи патентов одной компании другой

Thu, 11/05/2026 - 12:21

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

Читать далее

Семь проверок перед тем, как нести руководителю вывод от ИИ

Thu, 11/05/2026 - 12:16

Руководитель спрашивает, почему просела выручка в регионе. ИИ через минуту отвечает связным текстом, с цифрами и объяснением. Ещё через час финансовый директор уточняет, включён ли в цифру НДС и из какой она таблицы, и ответа ни у кого нет.

Мы в GlowByte внедряем BI и пилотируем GenBI-решения на данных клиентов, поэтому постоянно видим такие уверенные ответы без источника.

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

Чек-лист целиком стоит в конце статьи, его можно скопировать.

Читать далее

Игла ИИ-автоматизации: что будет, когда бизнес разучится работать без людей?

Thu, 11/05/2026 - 12:11

Мы быстро привыкаем к дешёвому машинному интеллекту. Но понимаем ли мы, сколько стоит такая зависимость — не только в токенах, но и в людях, инфраструктуре и способности восстановить работу после отказа?

В апреле 2026 года финтех-компания Belo столкнулась с неожиданной проблемой: доступ к Claude был приостановлен более чем для шестидесяти сотрудников. По словам технического руководителя компании, причиной в уведомлении называлось нарушение правил использования, без содержательных подробностей. Для обжалования предлагалась форма. Примерно через пятнадцать часов доступ вернули; блокировку назвали вероятным ложным срабатыванием.

У компании был альтернативный доступ к Gemini, но быстро перейти оказалось непросто из-за накопленной истории, привычных инструментов и интеграций. Это описание случая основано на публичных заявлениях компании и журналистских материалах, а не на независимом расследовании причин блокировки. Источник: Mint, апрель 2026.

Пятнадцать часов — немного в масштабе истории технологий. Для компании, чьи рабочие процессы перестали нормально выполняться, это вполне конкретный простой.

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

Что происходит, если поставщик повышает тариф, ограничивает доступ или новая модель начинает давать менее точные ответы?

Читать далее

Продолжаем изготовление печатных плат скрайбированием: тест изготовления первой партии, с шириной дорожек в 0,2 мм

Thu, 11/05/2026 - 12:01

В прошлой статье мы провели последний тест новой технологии быстрого создания печатных плат на дому, которую я разработал — скрайбирования (процарапывания) дорожек печатных плат с применением алмазного наконечника и моего настольного ЧПУ-станка серии 3018.

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

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

Читать далее

Растение не может убежать от солнца, поэтому оно придумало феруловую кислоту

Thu, 11/05/2026 - 12:01

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

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

Посмотрим, какие из её профессий пережили переезд.

Читать далее

Кто разрешил эту кнопку или как не запутаться в правах доступа

Thu, 11/05/2026 - 12:01

Вы только что добавили новую кнопку в интерфейс. Заказчик просит: "Сделайте, чтобы только начальники смены её видели". Вы находите соответствующую группу в Bitrix и пишете проверку inGroup('НачальникСмены'). Кажется, задача решена.

Но через месяц появляются "Старшие мастера", которым тоже нужен этот доступ. Вы дописываете ||. Потом добавляется очередное условие. И еще, и еще, и еще... В итоге простая кнопка обрастает десятком строк логики, которая дублируется в разных компонентах.

Знакомая картина? Мы сталкивались с этим в каждом крупном проекте. Штатная система прав Bitrix отлично работает для коробочных модулей, но бессильна перед уникальной бизнес-логикой. Проверки групп "просачиваются" в код, делая его хрупким и непрозрачным.

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

Если вы устали от проверок inGroup('СуперАдминистратор') - этот материал для вас.

Читать далее

Эмулятор Psion на Линуксе

Thu, 11/05/2026 - 12:00

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

Хотите прикоснуться к легенде? Попробуйте установить эмулятор Psion !

Читать далее

Who's online

There are currently 0 users and 2 guests online.