Задать вопрос
  • В чём отличие в Laravel web.php и api.php?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Попробуем отделить коней от людей, насколько это получится.
    Говоря просто: API - для отдачи непосредственного среза данных, обычно в виде JSON, WEB - для отдачи целых страниц в виде HTML.

    Всегда думал что api.php нужно для запроса от сторонних приложений, сайтов к твоему сайту для получения какой то информации, которую я хочу предоставить, без авторизации.
    Ну, неправильно думали, ничего страшного. Точнее, очень узко. Вот есть у вас сайт, а потом вы решили сделать к нему в пару мобильное приложение. Оно стороннее? Ничего сделать с отданным через WEB HTML оно не сможет*, потребуется API.
    Наличие или отсутствие авторизации тут совершенно ни при чём.

    в тоже время используя api.php любой человек может запросить любой роут и получить кучу информации
    Любой человек получит то, что вы ему отдадите. Никакого запрета (или сложностей) на внедрение авторизации в API нет.

    Количество Middleware на web.php значительно больше, т.е. любой запрос проходит больше проверок перед тем как выдать результат.
    Middleware - это любые обработчики, а не только проверки. Т.е. "больше обработчиков не значит больше проверок". Любые обработчики вы можете навесить и на API**. И их даже не надо писать отдельно, в Laravel уже всё есть.

    В итоге вопрос, с точки зрения безопасности, производительности есть преимущества api.php перед web.php
    С точки зрения безопасности разницы нет. API может быть несколько производительнее за счёт того, что обрабатывает и отдаёт меньше "лишнего". Но по этим аспектам их вообще не надо сравнивать, это всё равно, что выбирать между экскаватором и самосвалом по степени лёгкости угона того или другого.

    * без костылей
    ** с поправкой на отсутствие сессии обычно
    Ответ написан
    Комментировать
  • Почему не срабатывает php файл в vue/nuxt?

    yarkov
    @yarkov Куратор тега Vue.js
    Помог ответ? Отметь решением.
    Подскажите пожалуйста в чем проблема)

    В абсолютном непонимании того чем вы занимаетесь. РНР файл должен запускаться магией или всё таки интерпретатором? Ну и зачем РНР, если у вас есть Node.js?
    Ответ написан
    Комментировать
  • Как переписать стрелочную ф-ю на обычную?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Здесь вообще анонимная функция не нужна:
    itemTest[i].addEventListener('click', choosen)
    Ответ написан
    Комментировать
  • Как правильно передать данные с сервера в SPA, не прибегая к реализации API?

    @Kostik_1993
    Web Developer
    let appFrontData = '<?=$someServerVarHere ?>';

    Гы! А вы думали что в идеальном варианте должны быть единорожки вместо этого?) Три варианта у вас есть и не более.

    1) Глобальная переменная. Кстати если вы посмотрите реализацию Nuxt.js/Next.js фреймворков, там как раз используется этот как единственный возможный.
    2) Передача в компонент через props
    <ComponentName :data='<?=$someServerVarHere ?>'/>
    3) Загрузка из компонена

    Других вариантов не существует
    Ответ написан
    4 комментария
  • Как снизить зависимость от разработчиков?

    delphinpro
    @delphinpro
    frontend developer
    ограничения редактирования CMS, т.е. если мы захотим что-то дописать - это будут костыли,

    Вовсе нет.
    CMS - это не всегда закрытый ящик. Если взять к примеру joomla, wordpress, modx (из тех что я знаю) — то они достаточно гибко дописываются. Тут вопрос в том, насколько хорошо разраб знает эту систему. Если хорошо, то он напишет расширенный функционал не "на костылях". С другой стороны, даже если говорить о фреймворке и о разработчике, который плохо его знает, то он и там будет писать костыли, только потому, что не в курсе имеющихся средств и инструментов из комплекта поставки или популярных пакетов.
    Резюмируя — количество костылей обратно пропорционально квалификации программиста, вне зависимости от используемого инструмента.

    CMS или Framework зависимость от разработчиков будет меньше?

    Зависимость тем меньше, чем популярнее выбранное решение. Найти разработчика на условный вордпресс проще, чем на неизвестную AweCMS.

    Есть ли удобный способ для заказчика проверить качество кода, который пишет разработчик?

    Тут я не претендую на истину, но мне кажется единственный способ проверки, не имея собственной квалификации — нанять аудитора. Но тут возникнет вопрос компетентности аудитора =)
    Ответ написан
    7 комментариев
  • Почему во vue.js интерполяция не отображает значение?

    @AndrewRusinas
    Потому, что выходит за область видимости цикла v-for. Там нет переменной perfume) Переменная perfume доступна только внутри тега <li>, к которому применена директива v-for. При чем на любом уровне вложенности внутри , но не вне.
    Ответ написан
    Комментировать
  • Почему console.log переменной в set.timeout "перевыполняет" действие?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что ++
    Постинкремент возвращает значение переменной до инкремента.
    Ответ написан
    Комментировать
  • Совместимы ли хороший рейт, фултайм и long-term на фрилансе/удалёнке?

    Methos
    @Methos
    Читаю ответы и волосы дыбом встают.

    Лично я работаю целый день - то есть, 16 часов в день. И могу так работать 5 дней в неделю, хоть целый год.

    Но это не означает, что я все 16 часов сижу, уткнувшись в монитор и печатая круглосуточно.

    Работа программиста - это не столь печатание кода, а думать нужно.

    А думать можно не только перед монитором, а в любом месте - в душе, в кровати, смотря сериал, на прогулке, за завтраком и т.д.

    И думается не_за_монитором наиболее продуктивно и качественно. Потом подходишь к компу и вбиваешь код, всё обдумав в голове, пишешь архитектуру.

    И багов так мало образуется, и пишешь качественный код, который потом почти не нужно переделывать.

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

    Вы, ребята, ещё не поняли, что ваша жизнь просирается в этом кодинге, вот только вы встали утром, а ваш рабрчий день уже начался, всё. Ставьте трекер на старт. Его даже останавливать не нужно, когда ложитесь, ибо во сне программист тоже решает задачи.

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

    И поэтому работа погромиста - это круглосуточная работа!

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

    BedwaRe
    @BedwaRe
    Пиши код
    $("body").on('click', '[href*="#"]', function(e){
    	var fixed_offset = 100;
    	$('html,body').stop().animate({ scrollTop: $(this.hash).offset().top - fixed_offset }, 1000);
    	e.preventDefault();
    });

    Во-первых, асинхронно (например, у меня отзывы подгружались с другого сервиса, с задержкой несколько секунд). Во-вторых, для всех ссылок, которые содержат символ # (являются якорями). В-третьих, у меня в проекте было фиксированное меню сверху, поэтому при прокрутке прямо по якорю часть контента перекрывалась, для решения этой проблемы предлагаю установить fixed_offset равный высоте фиксированного меню (опционально).
    Ответ написан
    8 комментариев