YApi — платформа управления API от команды YMFE (Qunar): документация интерфейсов, мок‑сервер на Mock.js, тестовые наборы с проверками и отчётами, импорт Swagger и Postman. Её ставят на свои серверы, чтобы бэкенд, фронтенд и тестировщики работали с одним описанием API. У проекта 27,7 тысячи звёзд на GitHub, а неофициальный Docker‑образ скачали больше 600 тысяч раз. В Китае это стандартный инструмент — примерно как у нас связка Swagger и Postman.Последний релиз, 1.12, вышел в ноябре 2022 года. С…
Движок знает ответ, но говорит числами: -2.7 и стрелка. Модель говорит словами, но врет. Первый же комментарий, который я получил, звучал так: «сильнее было 14.Nf6, конь врывается в лагерь черных». Коня, который может пойти на f6, в той позиции на доске не было.Сразу дисклеймер: это мой первый веб-проект. Я играю в шахматы блиц на 1300 и хотел инструмент, который объясняет мои ошибки словами, а не оценками. Часть того, что ниже, фронтендеру покажется очевидной. Мне пришлось выяснять это руками.…
превьюПредставьте парк аттракционов, фуд-корт на фестивале, корпоративную столовую или сеть автомоек. Что их объединяет? Всем им нужна своя закрытая платёжная система или внутренняя программа лояльности (клубные карты).Обычно внедрение такой системы — это боль. Нужно покупать дорогие терминалы, нанимать интеграторов и пилить самописный софт. А что делать, если система нужна «на один раз» (для трёхдневного фестиваля) или у малого бизнеса просто нет бюджета?Меня зовут Никита, и я решил закрыть эт…
Мы делаем русскоязычный сервис с несколькими языковыми моделями в одном чате. Однажды партнёр прислал скриншот: модель начала отвечать списком из ста пунктов и оборвалась на середине слова. В админке лежал тот же обрывок. Ни ошибки, ни предупреждения.Почему ответ обрывается. У каждого запроса есть потолок max_tokens. У нас он был 1200 токенов. На английском это около 900 слов, а на русском кириллица съедает больше токенов, и 1200 токенов оказались примерно полутора тысячами знаков. Длинный спис…
Всем привет! Меня зовут Павел Барсуков, я frontend-разработчик в компании «Программный Продукт».Основной мой стек – Vue, Nuxt и все рядом лежащее. Angular до недавнего времени я видел в основном в курсах на Youtube, пару раз на фрилансе, где особо с ним не взаимодействовал, и в мемах про исключительность Angular разработчиков и очень частые обновления версий. Поэтому, когда мне прилетела задача миграции большого Angular-проекта, ощущения были примерно такие же, как если бы профессионального гит…
Бывает, что блокировщик рекламы не справляется: всплывающее окно подписки, баннер «мы используем cookies», чат‑виджет в углу, липкая шапка на пол‑экрана. Для этого было маленькое расширение ekill: жмёшь кнопку, наводишь на элемент, кликаешь — элемент исчез. Оно не обновлялось с 2019 года и перестало работать в Chrome, когда Google отключил Manifest V2.Я переписал его под Manifest V3 для Firefox, Chrome и Edge. Получился SkullClick (GitHub). Задача кажется тривиальной, но у неё неожиданно много …
Телефон лежит на столе. Сбоку от него в воздухе ладонь. Поднимаешь её — корабль на экране поднимается, опускаешь — опускается. Экрана не касаешься. Камера не нужна: телефон пищит ультразвуком и слушает эхо своим микрофоном.Играть: sonaroids.app (лучше на iPhone). Код: github.com/neokrasav4ik/sonaroids, MIT.С чего всё началосьМне попался проект sonar.cool: Мак листает страницы жестами руки, а «видит» их через собственные динамики и микрофон. Мака у меня нет, зато есть iPhone. Отсюда вопрос: полу…
Всем привет, это третья часть, в которой пилю калькулятор плитки - tilely.ru. Получился довольно крупный патч, в основном вокруг 3D-режима, и там оказалось прилично багов. Многое пришлось переделывать из того, что сначала казалось логичным, а на практике оказалось вообще неудобным.Перед самим 3D - то, что допилил ещё раньше в очереди. Теперь можно загружать фото плитки, чтобы не смотреть на однотипные прямоугольники одного цвета. Есть кнопка «применить ко всем комнатам». Если у вас, скажем, са…
Привет, я – фронтенд-разработчик и сегодня хотел бы поднять данную тему. Сразу скажу: так как работаю в основном с React, то в конце будет разбор структуры именно в разрезе React + стейт-менеджер MobX. Итак, поехали. В большинстве SPA-приложений после успешного входа сервер возвращает JWT, фронтенд сохраняет его в localStorage, а затем при каждом запросе добавляет в заголовок Authorization.Получается примерно такая последовательность:POST /login -> JWT -> localStorage -> Authorization:…