Как работать с коллекциями в Http API‑клиенте...
В клиенте уже год как работал экспорт коллекции как патча — одного JSON‑файла с операциями вида upsertRequest / removeRequest / setCollectionMeta. Достаточно, чтобы переслать коллеге точечное изменение: поправил заголовок в одном запросе — экспортировал — коллега применил патч у себя. Рабочая штука для передачи «из рук в руки».
Ниже — история одной конкретной фичи: зачем понадобился «git‑friendly» экспорт коллекции, как устроена стабильная сериализация и разрешение коллизий имён файлов, и какую дыру в защите секретов мы нашли и закрыли по пути. Без сравнений с другими клиентами — только то, что случилось и что мы с этим сделали.
Читать далееЭта статья может быть полезна студентам и начинающим специалистам, занимающимся разработкой веб-сервисов. Примеры кода приводятся на языке Go, некоторые особенности языка программирования разъясняются сразу по месту использования. В статье рассматривается одно из довольно типичных тестовых заданий как на навыки программирования, так и на навыки системного дизайна. В жизни встречаются разные формулировки этого тестового задания, но общий шаблон как задачи, так и решения вы наверняка узнаете, если вам уже доводилось сталкиваться с подобным заданием или если оно попадется вам в будущем.
Читать далееВ начале этого года я был убеждён, что планирование станет самой важной частью разработки программного обеспечения с помощью ИИ.
Эта идея захватила меня настолько, что я построил и запустил целое десктопное приложение для разработки вокруг неё. Nuanced появился из наблюдения: ИИ радикально увеличил скорость и объём генерации кода, но интерфейсы, необходимые для поддержки этого нового темпа работы, не успевали за ним.
Читать далееПривет, Хабр! Это снова техподдержка РТК-Сервис. Продолжаем разбираться с рамановскими усилителями. В предыдущих постах мы поговорили о Т8 и Huawei. Сегодня на очереди вендор Nokia \ Alcatel Lucent.
Поехали!
Читать разборМы сначала сделали внутренний образовательный проект, а потом получили образовательную лицензию.
Логика была такая:
— Работодатель опасается учить сотрудников, потому что после обучения они могут уйти в другую компанию на зарплату повыше;
— Но ядерка — сфера особенная. У нас долгий онбординг: от полугода для рядового айтишника, год — для архитекторов и девопсов. При этом он типовой для многих наборов навыков;
— Нам выгоднее растить свои компетенции «дома» — повышать квалификацию или давать новый стек тем, кто уже знаком с нормами ИБ, регуляторикой и внутренними системами.
Поэтому мы в Гринатоме — это крупнейший ИТ-интегратор внутри Росатома — решили сделать свою школу айтишников.
И мы справились. Сейчас даже выдаём выпускникам документы о повышении квалификации и переквалификации.
Рассказываю, как это было.
Читать далееМы занимаемся веб-разработкой, CRM-системами и интеграциями. В одном из текущих проектов имеем CRM, где Telegram используется не просто для уведомлений, а как один из каналов взаимодействия с пользователем.
Наш telegram бот перестал работать.
Причём перестал весьма интересно: Telegram прекрасно принимал наши исходящие обращения через API, бот мог отправлять сообщения пользователю, но в обратную сторону — Telegram → наш webhook — запросы практически перестали доходить
Читать далееЕще несколько лет назад выбор API для языковой модели фактически начинался с OpenAI и часто на нем же заканчивался. Сейчас рынок устроен иначе. У Anthropic, Google, xAI, DeepSeek, Mistral, Alibaba, Moonshot, Z.ai и Meta есть собственные API и сильные модели, российские проекты могут выбирать между Yandex AI Studio и GigaChat, а поверх всего этого появился отдельный слой агрегаторов вроде OpenRouter, Amazon Bedrock и Microsoft Foundry.
Читать далееФормирование атрибутивного состава объекта нормативно-справочной информации (НСИ) — это этап, на котором закладывается основа качества данных: ошибочный или избыточный набор характеристик делает справочник малофункциональным, а грамотно спроектированный — превращает его в надежный источник достоверных данных. Рассмотрим, почему даже полный перечень характеристик не гарантирует качества и что с этим делать, на кейсах SOFROS.
Формирование атрибутивного состава — это не вопрос удобства заполнения, а вопрос принципиальной пригодности данных для автоматизации, аналитики и интеграции. Именно на этом этапе закладывается способность справочника работать как единый источник правды для всех пользователей, а не как коллекция слабоструктурированных записей, требующих ручной доработки перед каждым использованием. От того, насколько системно спроектирован атрибутивный состав, зависит, сможет ли компания в принципе перейти от управления данными к управлению на основе данных.
Атрибутивный состав ≠ шаблон описания
Читать далееКаждое нажатие кнопки в телеграм-боте — это HTTP-запрос от Telegram к вам. Около трёхсот тысяч человек в месяц, у каждого в сессии десятки нажатий, и всё это приходит в один POST-эндпоинт, у которого нет ни права на пятисотку, ни права подумать.
Пропускная способность считается до обидного просто: max_connections, делённое на время ответа. Отвечаете за 200 мс при сорока соединениях — двести апдейтов в секунду. Отвечаете за две секунды — двадцать. И ждёт при этом не абстрактный клиент, а конкретный пользователь, у которого следующее нажатие просто не доедет.
Что осталось внутри вебхука и что уехало в очередь, почему дедупликация по update_id обязана быть атомарной, зачем в ответ на вебхук можно вернуть вызов метода API — и четыре бага, которые нашлись в собственном коде, пока я это писал.
Читать далееНа шаге «Установка монопольного режима» мастер «Обновление конфигурации базы данных» крутит индикатор уже восемь минут, а в консоли кластера 1С:Предприятие 8.3 в списке сеансов информационной базы «СервисЗапчасти» (1С:Комплексная автоматизация 2.5, клиент‑сервер, SQL Server) пусто.
Читать далееЯ хотел проверить не то, насколько хорошо локальная LLM пишет резюме по красивому тестовому диалогу, а что произойдёт с полным пайплайном на обычном телефонном звонке с музыкой, автоответчиком, перебиваниями и плохим звуком.
Я сделал desktop приложение на Tauri, Rust, React и SQLite. Оно распознаёт речь, разделяет спикеров, анализирует тональность, эмоции и риски, а в конце локальная модель формирует резюме и рекомендации. Всё работает на компьютере, интернет нужен только для скачивания моделей.
В эксперименте я прогнал реальные записи через два распознавателя и сравнил, где именно возникают проблемы на пути от аудио до итогового резюме.
Читать далееВ процессе подготовки к соревнованиям по системному программированию на C++ я начал заново изучать CMake, потому что Cargo сильно меня избаловал. При этом я заметил в туториале интересное утверждение:
Зачастую правильным оказывается написать для решения задачи инструмент на языке программирования общего назначения и научить CMake вызывать этот инструмент в процессе сборки. На языке CMake уже создавались утилиты для генерации кода и криптографических подписей и даже трассировщики лучей, но такая практика не рекомендуется.
Я раньше писал трассировщик лучей и переписывал его под GPU, поэтому это заявление привлекло моё внимание и заставило задуматься, на каком же ещё языке лучше писать такой трассировщик.
Для последней версии я писал код, почти не связанный с базовыми алгоритмами и в основном зависевший от довольно сложного набора API. Поэтому я выбрал самый простой из известных мне языков — Brainfuck, ведь простота языка очевидным образом приводит к созданию простой кодовой базы. На самом деле, кодовые базы на BF обычно состоят всего из нескольких строк. Кроме того, комментарий Урбана Мюллера в README заставил меня написать контрпример.
Код выложен на Github.
Читать далееПривет, Хабр. Меня зовут Алексей Зайцев, я системный архитектор в отделе проектирования телеком-платформ, а это шестая статья цикла про разработку базовых станций в YADRO.
За последние пару лет наши платы BBU прошли стадии EVT (Engineering Validation Test), DVT (Design Validation Test), PVT (Production Validation Test) и наконец MP (Mass Production). К этому моменту мы выпустили уже несколько тысяч плат, а эксплуатация базовых станций YADRO сейчас охватывает 37 регионов России. Но этому результату предшествовал тяжелый и кропотливый этап — разработка собственных тестовых стендов, на которых мы могли бы проверить каждую плату и модуль. Почему не блок целиком?
Цифровой блок обработки базовой станции (BBU, Baseband Unit) поставляется операторам сотовой связи модулями, а не в виде единого полностью укомплектованного шасси. Функционально тестировать BBU как единое готовое устройство на заводе перед отгрузкой нецелесообразно — каждую плату мы проверяем автономно и независимо. Об этом сегодня и поговорим.
Читать далееИногда случается так, что друг присылает вам сайт нового подрядчика с коротким «посмотри, они нормально сделали?», и вы, как человек добросовестный, находите три ошибки, заодно объясняете, как исправить четвёртую, которую он заметил сам, и между делом выясняете, сколько он за всё это заплатил. Вам за советы — спасибо и кофе. Подрядчику — договор, предоплата и право совершить ещё несколько ошибок, теперь уже за деньги. Хорошая дружба; странное распределение бюджета.
Другой человек уже покупает у вас, возвращается, иногда лично благодарит, но публично о вас не говорит ни слова, зато охотно показывает ресторан, приложение или курс, о которых узнал вчера. Просить его «порекомендовать нас» можно до следующего финансового года (некоторые компании, я очень осторожно выразился, именно так и планируют свой маркетинг): просьба не снимает ни одной причины его молчания, она лишь напоминает ему, что причины есть.
Что мы обычно говорим себе в такой ситуации? Что хорошая работа рекламирует себя сама, а если не рекламирует, значит, люди неблагодарны. Если бы хорошая работа действительно рекламировала себя сама, половину отделов маркетинга можно было бы распустить, а вторую перевести в отдел качества. Этого не происходит, и не потому, что маркетологи держатся за места, а потому, что рекомендация — не благодарность, а поступок, у которого есть цена. Кто покупает у знакомого, рискует деньгами. Кто советует вас другу, рискует репутацией: если что-то пойдёт не так, спросят с него. Кто публично делится вашей работой, рискует образом себя, потому что окружающие оценят его выбор вместе с вашим портфолио. Довольный клиент может искренне вас ценить и при этом не платить ни одну из этих цен — и будет по-своему прав.
Читать далееПривет, Хабр! Меня зовут Радда Юрьева, я ведущий специалист отдела исследований AppSec (безопасность приложений) в Positive Technologies. В мае этого года на встрече OWASP Russia мы с моим руководителем Владимиром Кочетковым рассказали о графовых подходах к анализу кода с участием ИИ-агентов.
К осени 2026 года индустрия окончательно осознала: одних ИИ-агентов на языковых моделях недостаточно для проверки безопасности кода. В этой статье мы хотим поделиться расширенным пересказом нашего доклада. Вы узнаете, как графы могут помочь закрыть большинство «болей» современных LLM и какую роль в этой связке играет языковая модель, а какую формальные методы.
Хотите понять, как графы и языковые модели дополняют друг друга в реальном аудите безопасности? Заглядывайте под кат!
Читать далееВо время уборки зерно в комбайне проходит долгий путь: от жатки через барабан, решётку и домолот до зернового элеватора и бункера. Весь этот путь нужен не просто так, а для того, чтобы максимально очистить зерно и при этом сохранить его целостность, ведь от этого напрямую зависит цена продажи. Но узнать, насколько хорошо прошла очистка, обычно можно только постфактум: на элеваторе или в лаборатории, когда повлиять на результат уборки уже нельзя.
Рассказываю, как мы создали систему Crop Control, которая доустанавливается на комбайн (даже если раньше на нём не было никакой автоматики) и позволяет мониторить качество и количество зерна прямо во время движения. Мониторинг количества нужен, чтобы понимать, сколько урожая собрано с конкретного поля: урожайность - одна из ключевых метрик оценки продуктивности уборочной кампании в целом. А мониторинг качества нужен для того, чтобы вовремя повлиять на собираемую продукцию, например скорректировать настройки комбайна, и не дать испортить уже намолоченное зерно.
Читать далееЧто значит основать свою компанию в 2024 году и развивать бизнес в 2026 году? На какие технологии делает ставки команда? Детали технологий и бизнеса в блоге CEO компании CoreInfra.
Вы могли слышать о некоторых из нас как об авторах проекта StatsHouse[4], быть на наших выступлениях на HighLoad++ или работать вместе с нами в компаниях ВКонтакте, Яндекс или Транзас. Мы — инженерная команда, имеющая опыт создания технологических продуктов и запуска ML-сервисов, которыми пользуются миллионы людей.
В этом посте расскажу о главном нашем активе – команде и главных идеях компании.
Читать далееДо нас ни одно российское публичное облако не поддерживало зеркалирование трафика виртуальных машин. Это означало одно: NTA/NDR-системы, в частности, PT Network Attack Discovery (PT NAD) от Positive Technologies в отечественных облаках нормально не разворачивались. Не потому что продукт этого не поддерживает. Просто облако не могло дать ему главное – копию сетевого трафика с интерфейсов ВМ.
Мы решили эту проблему. Реализовали зеркалирование трафика в overlay-сети на базе OVN, отправили патч в апстрим – и он был принят. Теперь это часть основной кодовой базы проекта.
Привет, Хабр! Меня зовут Влад Одинцов, я Product Owner сетевых сервисов K2 Cloud. В этой статье подробно расскажу, как устроено облачное зеркалирование под капотом, почему без фильтров трафика сложно жить и что показало нагрузочное тестирование, которое мы проводили совместно с Positive Technologies.
Читать далееМы делаем пет-проект «Чатограмма»: он считает статистику переписки прямо в браузере, файл с перепиской на сервер не уходит. Такое обещание проще всего проверить без чтения политик: включить авиарежим и посмотреть, посчитается ли. Для этого странице нужно ответить на, казалось бы, тривиальный вопрос: есть ли сейчас сеть? На iPhone ответ оказался неожиданным.
Читать далееСтатья рассматривает процесс миграции с Microsoft Active Directory на российские службы каталогов (Samba AD, FreeIPA, ALD Pro и др.) и особенности их совместимости с ПО семейства Linux, РЕД ОС, Атлант ОС, ОСОН Основа, MULTIFACTOR, Alter OS и Avanpost OS.
Читать далее