• Почему не выравниваются элементы в flex контейнере а растягиваются?

    Крик души:
    Дорогой автор! Вы хотите, чтобы вам помогли, но при этом не хотите и пальцем о палец ударить для этого.
    Скриншот кода вместо самого кода - это просто неуважение к тем, кто хочет вам помочь.
    Неужели так трудно вырезать этот кусок кода и воспроизвести ошибку в том же самом codepen.io?
    Вам бы в первые минуты прилетело бы штуки три ответов. А так даже и смотреть на это не хочется...
    Уважайте время тех, от кого вам нужна помощь.
    Написано
  • Как исправить ошибку с бд?

    1. Вы хотите содержимое массива $_FILES["images"]["name"] запихнуть в поле таблицы базы данных?

    2. Если да, то какой тип у этого поля в таблице?
    Написано
  • Как настроить nginx для подсайтов?

    А так ли вам нужен именно nginx? Он довольно сложно конфигурируется, если вы не специалист.
    Попробуйте caddy. Он чрезвычайно прост.
    https://caddyserver.com/
    Написано
  • Как должен выглядеть идеальный контроллер?

    Danbka, Вы просили идеал, я вам дал "идеал")
    Задайте себе вопрос: будет ли ваш сервис развиваться?

    Если не будет, то пишите максимально просто и сосредоточьтесь только на одном: все важные части кода должны быть покрыты тестами и тесты должно быть легко писать. Уже только одна эта установка заставит вас писать код лучше и подскажет, как сделать контроллер "идеальным" для вашей конкретной цели.

    Если же это только начало очень большого проекта, то такое разделение на слои лучше реализовать сразу. Это как мыть руки перед едой. Можно этого и не делать, но есть шанс получить проблемы, которые потом очень долго лечить. А всего-то надо было вымыть руки...
    Написано
  • Не находит пакет gitlab-ee на Ubunty. Что делать?

    Видимо, у вас там совсем старая версия докера

    Сначала обновим докер:

    Обновляем репозитории
    sudo apt update

    Устанавливаем curl и сертификаты
    sudo apt install ca-certificates curl

    sudo install -m 0755 -d /etc/apt/keyrings

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc


    sudo chmod a+r /etc/apt/keyrings/docker.asc

    Добавляем репозиторий докера в список репозиториев
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


    Снова обновляем репозитории
    sudo apt update

    Устанавливаем плагин Docker Compose
    sudo apt install docker-compose-plugin -y

    Проверяем, что всё установилось
    docker compose version

    Должно быть что-то подобное
    Docker Compose version v2.29.7

    А потом уже запускать нашу команду в директории с файлом docker-compose.yaml

    docker compose up -d 
    Написано
  • Как мне поделиться моей курсовой работой с преподавателем?

    Rsa97, Я как-то бросил преподавателю "Вы нас не научили этому!"
    На что он мне ответил одной истиной, которую почему-то не доносят до современных студентов:

    "ВУЗ - это не ПТУ. Задача вуза - не надрессировать вас выполнять определенные действия. Главная задача ВУЗа - научить вас учиться".

    Студент, проявляющий инициативу, делающий больше, чем профессор "задаёт", мгновенно повышает свою оценку в его глазах, показывает заинтересованность в его предмете. Часто профессора потом опираются на таких студентов в работе с остальной серой массой. Если профессор выделяет вас среди остальных, то есть шанс, что используя свои многочисленные связи, он может просто посоветовать вас кому-то своему знакомому. Ведь надо понимать, связи в нашем программистском деле - это главный багаж, знания важны меньше. Особенно это касается джуниоров.
    Написано
  • Как мне сделать так, что бы лого и меню навигации были на одном уровне?

    lilwasd, Изучайте flex и grid. Без них уже никуда сегодня. В прямом смысле три строчки современного кода могут заменить древние километровые простыни CSS, иногда даже вынужденно испоганенные при помощи JavaScript
    Написано
  • Проблема SEO во Vue 3?

    setupx,
    Есть такое понятие BFF (Backend For Frontend).
    Это такой бэкенд, который занимается исключительно постройкой SSR разметки для того, чтобы потом Vue в браузере её подхватил и оживил. Этим и занимается Nuxt.
    Т.е. мы эту связку Браузер + BFF (Nuxt) называем Фронтендом.

    И есть реальный бэкенд, который общается с базой данных, другими сервисами, шлёт email, работает с Telegram и другими социальными сетями, занимается работой с платежными сервисами и т.д и т.п. У этого бэкенда есть своя апиха, при помощи которой он может общаться с вашим BFF, с мобильным приложением, если вы его напишете и т.д.

    Таким образом, как всё работает:
    - Вы в браузере заполняете формочку, отправляется запрос из браузера в BFF.
    - BFF просто перекидывает JSON на сервис Go (ну, может, слегка обрабатывая).
    - Go отвечает, и BFF этот ответ передаёт в браузер в том виде, который подходит браузерной части.

    Т.е. Nuxt у вас будет простой прокладкой между браузером и сервисом на Go.

    Да, эта схема усложняет инфраструктуру, но она хорошо отделяет мух от котлет. И если вас вдруг не устроит Vue, то вы легко сможете его выбросить и перейти на React с Next.js, при этом не изменив ни единой строчки кода на Go. Заказчику будет проще найти специалиста в будущем. Потому что найти спеца Vue + Go неимоверно сложно. А найти спеца по Vue или спеца по Go в десятки раз проще
    Написано
  • Какова сложность сортировки в Go по памяти?

    Я считаю, что наилучшим способом в данном конкретном случае будет банальный эксперимент. Он даст вам больше информации, чем любое жонглирование формулами.
    Написано
  • Когда лучше использовать cms?

    Adamos, Все сейчас хотят подсадить нас на разные подписки, чтобы выкачивать из нас бабло. А чем мы хуже?
    Написано
  • Как правильно в Symfony десериализовать Request в DTO, а последний потом в сущность?

    Shurik,
    Тут это долго объяснять. Я очень рекомендую вам почитать про DDD (Domain Driven Design), но не копировать бездумно все его подходы, а забрать оттуда то, что вам покажется интересным. Разделение кода на различные use case - это очень толковая идея.
    Упрощённо: это когда весь код, касающийся определенного сценария использования, например, создания нового пользователя, хранится в одной директории. Там и сервисы, и тесты, и интерфейсы и т.д.. И тогда при дебаге вы видите всё прямо перед собой, а не скачете по папкам туда-сюда
    Написано
  • Как правильно в Symfony десериализовать Request в DTO, а последний потом в сущность?

    tukreb, Внимательно прочитайте его проблему. У него есть сущность Town, которая связана с сущностью User. И при запросе POST на создание User надо в поле town подставлять ID сущности Town.

    Но что же делать, когда надо будет сделать GET User? Тоже выводить просто ID в поле town, и нагружать фронтенд ещё одним запросом на бэкенд, чтобы вытащить полную сущность Town?
    А ведь можно при запросе GET в поле town в JSON подставлять не просто ID, а полностью JSON объект Town, с ID, названием, координатами и т.д.
    И в этом случае голый Serializer не поможет, и можно написать для сериалайзера свой нормалайзер, который будет подставлять в поле town нужные данные в зависимости от контекста
    Написано
  • Как правильно в Symfony десериализовать Request в DTO, а последний потом в сущность?

    tukreb, Маппер для того, чтобы из DTO преобразовывать в сущность и обратно. Писать это всё прямо в контроллере плохо, потому что в один прекрасный день вам понадобится получить данные не через http, а из очереди, из консоли и т.д. Такое очень часто происходит, поэтому тут от принципа KISS можно на один шажок отступить.

    Сериалайзер - компонент мощный, но не всегда он может всё сделать. Поэтому иногда в пограничных случаях для него можно написать свой нормалайзер(денормалайзер), который более тонко будет готовить ассоциативный массив перед тем, как сериалайзер его в JSON перекодирует.
    Написано
  • Как правильно в Symfony десериализовать Request в DTO, а последний потом в сущность?

    Shurik,
    Я считаю, что при создании POST вполне можно использовать в DTO поле с id вложенной сущности, и в сервисе маппере уже подставлять в сущность полную вложенную сущность с таким же id.

    А при запросе GET можно либо вообще использовать новый DTO, где в этом поле уже будет развернутый объект, либо вы можете в одном DTO использовать все поля, разделяя их при помощи атрибутов сериалайзера Groups и SerializedName, а чтобы одно и то же поле в JSON было в зависимости от POST и GET либо айдишником, либо развернутым объектом, можно написать собственный нормалайзер для сериалайзера. Это очень просто делается.
    https://symfony.com/doc/current/serializer/custom_...
    Написано
  • Как организовать журнал событий в распределённой системе правильно?

    Кафка - неплохое решение.
    Для повышения надёжности можно правильно репликацию настроить.
    А на случаи тех редчайших моментов, когда она вдруг будет недоступна, как раз и сделать сбор логов с помощью эластика, либо вообще писать их в файловую систему. А потом либо вручную, либо автоматически как-то обрабатывать эти дропнутые сообщения.
    Написано
  • Как выводить 3 первых записи в коде?

    Вам эти переменные $text_1, ..., $text_5 откуда-то приходят или вы сами их так сделали?
    Написано
  • Почему при печати html в PDF возникают артефакты?

    tenaro, Кстати, а зачем Акробат? Не обратил внимание сразу. Браузеры и так умеют pdf показывать. Попробуйте в самом браузере открыть
    Написано