Рубрика «json»

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

Стек: Node.js 24, Express, встроенный node:sqlite, модели через OpenRouter и общий для сервера и браузера модуль движка.

Читать полностью »

В прошлой статье я рассказывал, как устроено ядро нашего поиска: триграммы, crc32, словарь болей и два сита. В конце был короткий раздел «А где же нейросеть?», и он заслуживает отдельного разговора. Сегодня про то, как модель встроена сверху и почему мы с самого начала исходили из того, что она когда-нибудь подведёт.

Читать полностью »

9 сентября 2024 года Notion закрыл рабочие пространства, которые определил как российские. О закрытии предупредили 26 августа и дали выгрузить данные до 8 сентября. Дальше наступила тишина.

В справке нашлась строка, которая объясняет облако лучше любой метафоры про «второй мозг»: если платёжные данные пространства когда-либо были связаны с Россией, пространство закрывается. Сменить карту уже не поможет. Можно было уехать два года назад и платить из Европы — это не важно. Один давний платёж решает судьбу всего архива. В те же дни то же самое сделала Coda.

Читать полностью »

Зуд

Я ковырял pet-проект — ротатор SOCKS5-прокси — и в очередной раз редактировал конфиг апстримов руками. Открыл файл, посмотрел на JSON:

Психанул: как я за полтора месяца сделал формат конфигов и парсеры для семи языков - 1

Читать полностью »

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

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

Читать полностью »

За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм.

Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигабайт и не всегда влезали в оперативку. Тогда я и заработал себе персональный todo — разобраться с этим раз и навсегда.

Читать полностью »

Откуда всё началось

Несколько лет назад мои друзья активно занимались разработкой на Unity. Я периодически помогал, и в какой-то момент вместе с другом обратили внимание на одну раздражающую вещь: огромное количество времени уходило не на саму разработку, а на редактирование JSON-файлов.

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

Читать полностью »

Актуальные proxy-клиенты на старых Mac часто ведут себя одинаково: если устанавливаются, импортируют профиль, и даже показывают список серверов, не доводят дело до рабочего подключения. На практике это особенно заметно на macOS Catalina 10.15.8. Текущий Happ для Mac официально требует macOS 12.0 или новее, а значит для Catalina уже не подходит как штатный путь. IRBox в релизах заявляет поддержку macOS 10.15+, но в моём тесте на Catalina встроенный core упёрся в несовместимость с системой. Рабочий результат в итоге дал V2RayXSЧитать полностью »

userver 3.0 — большой релиз фреймворка для IO‑bound‑программ, переход на C++20 - 1

Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. После большого релиза 🐙 userverЧитать полностью »

Проектирование бесплатного API с пользовательскими данными: почему я отказался от jsonplaceholder - 1

Я периодически провожу технические интервью и смотрю pet-проекты кандидатов.

И почти всегда вижу одну и ту же картину:

Используется localStorageЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js