RU

100% покрытия не поймали единственный баг, который был важен

У виджета было 92 теста и 100% построчного покрытия. Потом я открыл его в маленьком окне терминала, и шапка таблицы уехала за верхнюю границу экрана…

phpsymfonytuiпокрытие кодаphpunitтерминалopen sourceтестирование
Habr
RU

ИИ-картограф: как карты сшиваются в бесшовный мир — тулсеты (toolsets) для MMORPG игр на PHP, ч. 21

Я сшил разрозненные карты MMO в один бесшовный мир: игрок выходит из города в пустыню и не замечает, что под ним уже работает другой сервер. А всю р…

phpsymfonyunitymmommorpgaimcpтайловые картыоткрытый мир
Habr
RU

Тесты для кода, который пишет ИИ: контракты вместо ассертов — создание сервера для онлайн ММО игр на PHP, ч. 20

Половину контрактов моего игрового сервера нельзя записать ассертом: исход живёт в ответе живого процесса, в разметке страницы и в кадре игры. Я зап…

тестированиеавтотестыaimcpphpmmounitysymfonygamedev
Habr
RU

Каталог ассетов и git для MMO: как командой вести игру в облаке — создание сервера для онлайн ММО игр на PHP, ч. 19

Над одной игрой работает команда: люди правят контент в браузере, ИИ — через тот же сервис, локально разворачивать ничего не нужно. Каждый ассет жив…

phpsymfonyunityc#mmommorpgaimcpwebsocket
Habr
RU

Кэширование в Symfony: мы сломали авторизацию и исправили это с помощью Lock

Мы добавили кэширование, чтобы ускорить работу бэкэнда. Затем кэширование нарушило авторизацию. Поначалу ситуация казалась безобидной. Сервису Symfo…

phpsymfonyпрограммированиеcachingmemcachedкэшированиеавторизациябэкенд
Habr
RU

Контракт из кода, клиент из контракта: избавляемся от тройного дублирования в API

Обычно процесс разработки API выглядит так: мы пишем контроллер. Затем каким-то образом его документируем. После чего фронтер, опираясь на такую док…

openapiopenapi generatorswaggerphpsymfonyreacttypescriptjavascriptaxiosorval
Habr
RU

gRPC в мире PHP: пошаговый гайд по сборке микросервиса на Symfony 8 и RoadRunner

Переход к микросервисной архитектуре неизбежно поднимает вопрос эффективности межсервисного взаимодействия. В PHP традиционный стек на базе PHP-FPM…

phpвеб-разработапрограммированиемикросервисыapiвысокая производительностьsymfony
Habr
RU

Создание чат-бота в портале Битрикс24 с помощью AI-агентов

5-я статья из цикла туториалов о кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сдела…

битрикс24чат-ботai-агентыapi-запросыrestapiphpsymfonydockerвеб-разработкаавтоматизация бизнеса