REST API на Symfony писать удобно, но есть одна скучная особенность: контроллеры быстро начинают обрастать повторяющимся кодом. Парсинг запроса, валидация, однотипная JSON‑обёртка, try/catch с преобразованием исключений в HTTP‑ответы. Всё это несложно, но со временем размазывается по десяткам эндпоинтов и отвлекает от основной задачи.Ниже - способ привести все в порядок с помощью небольшого бандла, который я использую в своих проектах. Читать далее
Лабиринты использовались в видеоиграх с момента их появления. Первой видеоигрой с процедурно генерируемым лабиринтом была Beneath Apple Manor, выпущенная в 1978 году. Лабиринт в ней генерировался методом деления на комнаты и коридоры, из-за этого лабиринт часто выглядел однообразным и…
— С метаданных картинок мы уже разобрались, теперь же давайте посмотрим, что за душой у обычных pdf или word документов Читать далее
OpenAI Five потратила 45 000 лет в симуляции, чтобы научиться играть в Dota 2. Это не интеллект, а просто зубрёжка. Почему скоро перестанет помогать простое масштабирование и какие современные архитектуры есть, которые в перспективе будут намного лучше трансформеров и других методов. Читать далее
Все мы прекрасно знаем, join – одна из самых важных вещей в любой базе данных, но в то же время одна из самых ресурсозатратных операций. Да что уж там, в мире аналитики (OLAP) десятилетиями адепты различных подходов моделирования данных все спорят без остановки что лучше: нормализация
Разбираем возможности новой модели генерации изображений Nano Banana 2 от Google. Сравнение с Nano Banana Pro, реальные тесты, плюсы и главные ограничения. Способы использования в России. Читать далее
Когда речь заходит о конверсии, важны детали. Мелкие неточности в описании или некрасивая (не продающая картинка) — потенциально утраченный покупатель, невзирая на конкурентные цены и хорошие отзывы. К счастью, сегодня нет необходимости тратить много времени…
Привет! На связи вновь команда Геосервисов. Как вы помните, в прошлой статье я делился нашим опытом партиционирования и теми выводами, к которым мы пришли. Но на этом история не закончилась. Что же было дальше? Партиционирование завершилось успешно. VACUUM сократился с 6+ часов до ~20 минут. Запросы ускорились. Мы думали, что всё позади. Через неделю после swap проверили реплику — и обнаружили, что она пуста. Читать далее
Предыдущая статья о том, как появился «Сороед»: https://habr.com/ru/articles/967354/С ноября прошлого года появилась целая линейка оборудования для уборки улиц, листьев, и даже для механизации уборки подстилки денников в конюшнях.Мы подозревали, что области применения коммунального…
Решили сэкономить на студии? Действительно, сегодня ИИ для обработки фото позволяют порадовать себя профессиональной фотосессией при минимальных затратах. Более того, Вы не ограничены одной локацией или идей, ведь есть много хороших промптов. Например, в нашей…