Задать вопрос
  • Как сконфигурировать бэк и фронт через api?

    yesbro
    @yesbro
    Думаю, помогаю думать
    У тебя есть урл фронта (node + vue) и урл апи (nginx + php fpm + postgress).

    По урл фронта ты из браузера обращаешься к своему фронту. Node + Vue смотрят свои маршруты, генерирую html страницы и отдают их тебе в браузер.

    Браузер отображается страницы при необходимости обращаясь к апи. Там уже свои маршруты которым управляем симфони.

    Это если в общих чертах.
    Ответ написан
    Комментировать
  • Как наработать навык декомпозиции задач?

    yesbro
    @yesbro
    Думаю, помогаю думать
    С декомпозицией все просто. Для начала берешь любую задачу из жизни и думаешь какие шаги нужно сделать что бы ее решить. Когда это станет просто, то переходишь к программированию. Лучше всего взять какой-то готовый небольшой проект и сам себе ставишь задачи, сначала очень простые(!!!), потом сложнее(добавить метод, добавить что-то еще, изменить логику и прочее). Не начинаешь программировать пока по шагам не напишешь себе что надо делать. В процессе разработки смотришь насколько твой план расходится с реальностью. Запоминаешь, учитываешь в следующий раз.

    Для получения навыка решения алгоритмических задач есть куча соответствующих сайтов - начинаешь с самых простых уровней.

    Для развития логического мышления изучи формальную логику и так же решай задачи.
    Ответ написан
    Комментировать
  • Как сделать ограничитель поля символов?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Для начала реши как ты будешь отображать числа в которых число разрядов больше чем достуно в калькуляторе для вывода. А потом уже можно заниматься исправлением бага.
    Ответ написан
    Комментировать
  • Как сделать сортировку по двум полям?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Думаю, что lesson_number у тебя текстовое поле, если поменяешь на целое число, то заработает как надо :)

    Ну или можешь в запросе привести тип к числу. Почитай вот это https://stackoverflow.com/questions/7792738/numeri...
    Ответ написан
    Комментировать
  • Почему не работает восстановление пароля?

    yesbro
    @yesbro
    Думаю, помогаю думать
    $Row = mysqli_fetch_assoc(mysqli_query($connect, 'SELECT `login` FROM `users` WHERE `id` = '.str_replace(md5('Hello'), '', $param['code'])));
    
        if(!$Row['login']) MessageSend(1,'Невозможно восстановить пароль.', '/login');


    Это просто. У тебя $Row['login'] пустое. А это значит что у тебя по id не найден пользователь.

    В коде опять какая-то странная конструкция получения id. Разбирайся чему равно id, чему $param['code']. Как это делать я тебя ранее подсказывал.
    Ответ написан
  • Как победить 504, грузя большой файл на s3?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Файлы загружаются на сервер одновременно (в одном запросе) или по очереди? Какая ошибка в логе/на странице? Это ошибка php или nginx? Может есть какой-то прокси/балансировщик перед nginx?
    Ответ написан
  • Почему бесконечный цикл?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Совет выше правильный. while надо заменить на foreach. While работает пока выражение внутри круглых скобок будет возвращать true (с учетом приведения типов), а непустой массив всегда возвращает true. Судя по комментарию ты думаешь что while так же как foreach будет перебирать массив по элементам. Это ошибка.
    Ответ написан
    1 комментарий
  • Возможно ли реализовать по одному url статические и динамические параметры?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Можно. Во-первых порядок имеет значение, выбирается первый подходящий роут. Во-вторых, у новых версий Лары есть возможность задать отдельный обработчик для незаданных роутов https://laravel.com/docs/10.x/routing#fallback-routes (правда там slug не передается в метод, но эти данные можно получить другим путем).

    Тот пример что ты выше привел должен работать корректно.
    Ответ написан
  • Как верифицировать вебсайт пользователя?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Есть стандартные схемы для верификации прав доступа к сайту.

    1) Файл с уникальным именем.
    2) Мета-тег в хедере с уникальной строкой
    3) HTTP заголовок с уникальной сторокой.

    Код на мыло в домене сайта тоже можно, но тогда это уже будет подтверждение не прав доступа к сайту, а принадлежности к организации. Надо понимать в чем разница и устраивает ли она.

    Для соц сетей решение только одно. Надо опубликовать пост с каким-то уникальным кодом.
    Ответ написан
    Комментировать
  • Как лучше реализовать поиск по сайту, написанному на Nuxt 3?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Думаю можно, но тебе самому придется написать поискового паука, который будет обходить твой сайт и добавлять/обновлять контент в базе Elastic с нужной частотой.

    Пример нет думаю потому что это редкий случай, когда надо делать поиск по сайту и при этом контент частью статика, а частью в БД.

    Может быть проще будет статически контент тоже перенести в БД?
    Ответ написан
    Комментировать
  • Как запушить проект webpаck на GitHub, но при этом не толкать все зависимости?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Надо добавить папку node_modules в .gitignore

    Если файлы уже добавлены под контроль гит, то просто добавление этой папки в gitignore не поможет. Надо сперва удалить эти файлы, потом добавить папку в gitignore, а потом уже снова подтянуть зависимости.
    Ответ написан
    9 комментариев
  • Как определить пропускную способность сервера?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Какая у тебя нагрузка на сайт? Какой сервер? Какая у него загрузка? Если нагрузка небольшая и сервер не забит чем-то еще и тормозит, то можешь не париться и делать через update. На куче WP-сайтов так и работает :)

    На большом проекте, как верно сказали выше, так делать не надо. Нужно отдельное специлизированное решение.
    Ответ написан
  • Как считать количество товаров которые подходят для фильтров?

    yesbro
    @yesbro
    Думаю, помогаю думать
    А как это должно работать? Тут телепатов нет. Я тебе сходу могу набросать несколько разных вариантов реализации и подсчета кол-ва товаров в категориях. :)

    Подозреваю, что тебе нужна информацию по запросу "фасетный поиск" в Яндексе. Это если кол-во товаров в каждой категории меняется при измение кол-ва выбранных категорий.

    Если нет, то это обычный select category_id, count(*) from products group by category_id (условно). Лучше тогда эти данные кешировать.

    В практическом плане можешь использовать elasticsearch раз стоит тег php, там такая фича есть (фасетный поиск).
    Ответ написан
    2 комментария
  • Ошибка 404 при открытии файла, как исправить?

    yesbro
    @yesbro
    Думаю, помогаю думать
    В настройках веб-сервера (что там у тебя Апач, nginx?) не указано, что файлы с расширением php надо обрабатывать через php )) Поэтому твой веб-сервер считает его обычным текстовым файлом и отдает в браузер.

    Что за хостинг такой где этого не сделано по умолчанию? Неужели руками голый vps настраивал?
    Ответ написан
  • Где и как хранить сообщения чата?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Если бот будет не только считать статистику, но и модерировать, то хранить сообщения нужно. Его постоянно придется дообучать, вводить новые правила модерации. Истории сообщений очень поможет это новое тестировать.

    Советую использовать ту базу с которой больше работал. Postgresql - подойдет. Отдельно таблица сообщений, отдельно таблица агрегированных счетчиков что бы каждый раз тебе не делать тяжелые агрегирующие запросы к базе с count. Максимум у тебя должно быть что-то суммирующее. По дням/чатам/пользователям внутри чата.

    Если прочувствуешь, что упираешь в какой-либо потолок, то только тогда стоит задуматься о миграции на что-то более узкоспециализированное.
    Ответ написан
    5 комментариев
  • Как загрузить патч другого разработчика?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Есть несколько вариантов.

    1) Сделать свой форк, внести туда эти изменения. Дальше использовать его подключая либу через гитхаб или сделать свой пакет через packegist.

    2) Использовать https://github.com/khanhvu14/rating/tree/patch-1 подключая через гитхаб с указанием определенной ветки.

    https://stackoverflow.com/questions/33525885/compo...

    Код вот такой. Обязательно надо указать что `minimum-stability` теперь `dev`
    "repositories": [
        {
          "type": "git",
          "url": "https://github.com/khanhvu14/rating.git"
        }
      ],
      "minimum-stability": "dev",
      "require": {
        "rennokki/rating": "dev-patch-1"
      }


    Тут мы даем инструкцию компоузеру, что для пакета rennokki/rating надо использовать ветку patch-1, а найти ее мы можем в репозитории https://github.com/khanhvu14/rating.git. Что бы это все сработало обязательно надо ключу minimum-stability задать значение dev.
    Ответ написан
    5 комментариев
  • Как начать писать собственный API?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Для начала напиши документацию на апи. Какие методы будут, по каким протоколом (GET|POST|DELETE|PUT|PATCH) надо обращаться. Какие параметры передадаются. Какие данные будут в ответе, в какой формат. Можешь прям сделать примеры. Плюс еще надо какие ошибки будет возвращать твой апи.

    После этого станет намного проще :)
    Ответ написан
    8 комментариев
  • Laravel нет доступа к сессии в конструкторе контроллера?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Вроде с версии Laravel 5.3 сессия внутри конструктора контроллера недоступна. Когда это было впервые сделано было много обсуждений на эту тему.

    Посмотри вот эти хаки https://stackoverflow.com/questions/41542802/larav... что-то должно помочь :)
    Ответ написан