• Как установить свежий PHP8?

    Я не до конца понимаю кто этот ondrej и можно ли вообще доверять этому репозиторию? - этому репу все доверяют
    Ответ написан
    1 комментарий
  • Как прокачать js?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Цель: практиковать js

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

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

    Находите какой нибудь большой проект(написанный на реакт\любом js фреймворке), и пишите свой(делаете полный аналог) (подглядывать в архитектуру проекта который вы "воруете" - приветствуется).

    Вот вам опыт, который ждет от вас работодатель, и опыт который ценится, а не кучу задач по объектам, которые к реальным задачам на работе вообще ничего не имеют.
    Ответ написан
    2 комментария
  • Как получить полный адрес поста и добавить его в базу?

    @kandrash
    Кратко о себе
    Вам это не нужно. Достаточно добавить accessor в модель.
    /**
     * Полный адрес поста.
     *
     * @return string
     */
    public function getFullAddressAttribute()
    {
        return url("/{$this->user_id}/post/{$this->id}");
    }
    
    // Использование
    $post->full_address;
    Ответ написан
    2 комментария
  • Авторизация по ссылке laravel?

    @maximrabotaet
    Генерируйте ссылку в письме с токеном в url, при регистрации к юзеру в бд добавляйте signup_token (сам токен) и signup
    _token_expired (время жизни токена), на странице подтверждения находите юзера по токену из url и проверяйте актуальность токена, если все хорошо, авторизируйте
    Ответ написан
    Комментировать
  • Почему Symfony больше для Enterprise, нежели Laravel?

    @Arik
    Кодят обычно ловя баланс между быстро или правильно (правильно по мнению матерых). Symfony ближе к правильному, Лара к быстрому (RAD-разработка). В Ларе на некоторые вещи закрыли глаза в пользу скорости разработки, такое естественно ведет к появлению ошибок у пользователей фреймворка. Но это конечно все не говорит, что Лара не позволяет поднять и поддерживать отличный Enterprise-проект или Symfony 100% обезопасит от косяков даже простой проект...
    Ответ написан
    1 комментарий
  • У нас есть фрагмент фото. Как найти его координаты на полном фото?

    @towin
    В данном случае вряд ли нужна полноценная корелляция. Достаточно взять левый верхний пиксель фрагмента и построчно искать его среди пикселей большой картинки. Для каждого совпадения сравнивать другие пиксели фрагмента, пока наконец не найдем место, где все пиксели фрагмента совпадут с большой картинкой.
    Ответ написан
    6 комментариев
  • Система лайков на php?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Я перепробывал много вариантов, и всё не могли проверить на наличии двух лайка с одного аккаунта на одном и том же посте

    - да нихрена ты не пробовал, иначе не писал бы такую чушь. Задачка на младшего помощника джуниора, ей богу.
    Ответ написан
    1 комментарий
  • Как используя js вывести на экран дату публикации. по типу, опубликовано сегодня, час назад, день назад?

    Hecc
    @Hecc
    Frontend. Дизайн. Шрифт.
    https://momentjs.com/
    Используйте момент или ее аналоги, которых на рынке не мало. Момент один из самых удобных.
    Ответ написан
  • Стоит ли хранить зашифрованные данные пользователя в Local/Session Storage на клиенте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ахренеть, то есть если я, допустим, пользователя понизил в правах, то по вашей логике я должен лично к нему домой причапать и почистить куки/сторэйдж. Это гениальное решение, решающее несуществующую проблему! Браво!
    Ответ написан
    9 комментариев
  • Стоит ли хранить зашифрованные данные пользователя в Local/Session Storage на клиенте?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это просто идеальная иллюстрация к известному высказыванию Дональда Кнута "Преждевременная оптимизация - корень всех зол".

    Сначала высасываем из пальца проблему: "тратится время на обращение к бд". Сколько там его тратится, тратится ли вообще, замедляет ли это систему, является ли вообще это проблемой - все эти вопросы нам неинтересны. Мы хотим грудью на амбразуру, стать героем и получить медальку.

    После этого начинаем проблему решать.
    Значит, чтобы сэкономить время на запросе к базе, которая обычно лежит локально и обычное обращение занимает микросекуны, мы решаем закэшировать данные на клиенте. Который может быть в тысяче километров, а пинг в сотни миллисекунд - не редкость. И вот мы решаем что клиент будет с каждым запросом отправлять массив данных. Причем таких данных, которые на сервере и так. есть. Гениально!

    Стоит ли так делать и почему;
    не стоит потому что не надо высасывать проблемы из пальца.
    Какой будет прирост производительности
    Отрицательный
    Как Вы решаете подобные вопросы.
    МЫ ИХ НЕ РЕШАЕМ.
    Мы решаем реальные проблемы, объективно существующие.
    А воображаемые проблемы высосанные из пальца решать не следует.
    Ответ написан
    Комментировать
  • Как скрыть экземпляр vue.js из консоли devtools?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Зочем?

    У вас на фронте секретные разработки? Тогда их надо было не на фронте реализовывать.

    Всё что есть на фронте доступно в консоли браузера так или иначе.
    Ответ написан
    Комментировать
  • Как выглядит и работает фильтрация PHP POST & GET?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как выглядит и работает фильтрация PHP POST & GET?

    Никак.
    Я понимаю, что это утверждение не укладывается голове у человека, изучавшего пхп по видеокурсам, но это факт.
    Сами по себе НТТР запросы POST & GET никакой угрозы не несут и как-то заранее фильтровать их не надо.

    Фильтровать вообще надо не по принципу "откуда", а по принципу "куда".
    Данные надо форматировать в зависимости от того, куда они пойдут, а не откуда они пришли. SQL запросу абсолтно фиолетово, откуда взялась кавычка в данных - из GET, файла на диске, или из другой базы данных. Данные для SQL надо правильно форматировать не потому что они пришли из GET, а потому что они идут в SQL.
    (При этом надо также понимать, что SQL запрос и база данных - это не одно и тоже. Базе тоже по барабану, что в ней лежит. Любое форматирование мы делаем только для SQL запроса, а в базе данные снова должны быть как есть).

    Я думал, что будут удаляться все кавычки и теги,а по факту они остаются.

    Если бы все думали, как ты, то ты бы не смог задать свой вопрос на Тостере. Потому что без кавычек и тегов он превратился бы в бессмыслицу. Как и куча любых других вопросов.
    Разумеется, "мусор" надо не удалять, а форматировать. Потому что это "мусор" только для SQL, а для человека это нужная информация, которая помогает читать текст.

    Не использовать же для этого регулярки?

    Нет, разумеется.
    Использовать регулярки будет так же глупо, как и твою функцию.

    Для того, чтобы поместить переменную в SQL запрос, надо использовать подстановки в подготовленных выражениях. Запомни это предложение. Оно важнее всего, что ты до сих пор успел узнать про пхп. Хорошоенько запомни, ты должен это знать лучше, чем зовут маму с папой. И никогда не отступать от этого правила. Не важно - нужна тебе защита от SQL инъекций или не нужна, из POST-а ли пришли данные, или Господь бог тебе их надиктовал на горе Синайской - все равно всегда и везде только через подстановки.

    Поэтому.
    1. Выкидываешь свою функцию на помойку. Единственное слово, которое там имеет там хоть какой-то смысл - это trim(). Ну так ты можешь вызывать её напрямую.
    2. Судя по уровню кода и вопроса, для работы с бд ты используешь убогую mysqli. Поэтому забудь вообще про mysqli_query(), а все запросы, в которых используется хотя бы одна переменная, выполняешь только так
    $stmt = $conn->prepare("INSERT INTO tablitsa (login_name,email) VALUES (?,?)");
    $stmt->bind_param("ss", $login, $email);
    $stmt->execute();

    Подробнее можешь почитать в интернете.
    3. При выводе пользовательских данных в HTML, используешь функцию htmlspecialchars(). Надеюсь, к этому моменту ты уже понял главную мысль - важно не откуда пришли данные, а куда. Идут в хтмл? Отлично, форматируем их для хтмл.
    Ответ написан
    6 комментариев
  • Как настроить единый интерфейс для регистрации и авторизации из web-приложения и мобильных приложений через Laravel Passport?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Опять сказки про документацию... Какого ещё «общего алгоритма» ты ждёшь? Там чётко написано, что надо предварительно настроить (установить Passport, создать нужного клиента, с типом password, в данном случае), как получить токен (передав логин/пароль) и как его отправить с фронта назад бэку (в заголовке, например). ВСЁ!

    К регистрации Passport отношения не имеет.

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

    criticalsomethoughts
    @criticalsomethoughts
    UI\UX Developer, Project Manager
    Очень давно проходил курс Оксфорда, смысл был в более лучшем обучении путем подключения рассеянного и сфокусированного мышления. Вся суть на картинке. Надо давать мозгу отдыхать, иначе объем потребляемой информации не усваивается(в виду необработанной, или недостаточной информации). Именно по этому у вас иногда зажигается "лампочка"(обычно после того как вы отвлеклись, или выспались) помогающая вам найти решение проблемы, которое на самом деле было так близко.
    5d8b489830dd9288302320.jpeg
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    PHP не мода, php - классика, а классика никогда не умирает. Если умрет php, то умрут все остальные языки backend разработки потому что появится что-то такое, что сможет в разы превзойти пхп в простоте, скорости и удобстве, на данный момент что джава, что питон, что руби +- одинаковые, каждый подходит для своих целей. Тот же питон выбирают из-за простоты интеграции нейронных сетей, но если говорить не о узких, а о главных параметрах (функционал, скорость и тд) все популярные бэк языки более или менее одинаковые смотрите те же сухие графики.
    А о уменьшении вакансий - глупость несусветная. трын тут приведена статистика за 2018 год и обоих графиках по вакансиям лидирует в сравнении с java/python PHP, при том на первых двух пишут как бэкэнд, так и миллион других штук. А на втором графике и вовсе пхп опережает js (единственный язык в самой популярной сфере разработки).

    А вот если речь идет о реально крупных компаниях (amazon, google...) там как раз предпочитают python из-за выше упомянутой простоты интеграции нейросетей, а java из-за стабильной поддержки сверх высоких нагрузок.

    Меньше слушайте диванных экспертов, пхп предрекают смерть с 00-х годов, что то он слишком долго дергается для мертвеца.
    Ответ написан
    1 комментарий
  • Собираюсь убегать от 1С-Битрикс. А на что убегать-то?

    php666
    @php666
    PHP-макака
    Много шишек, нервов, денег и времени отнял 1С-Битрикс. Решил уйти на самописанный сайт.
    самописанный сайт отнимет "нервов, денег и времени" в 10 раз больше. Но правда в том, что самописный интернет-магазин (как вы выразились "сайт без cms, написанный с нуля.) вам никто не сделает. Либо поставят open source, либо сделают такое, что это будет дырявое решето стоящее на протезах и костылях (и что в конечном счете с грохотом упадет).

    Позволить себе интернет-магазин заточенный чисто под себя могут не многие. Это дорого. Очень дорого. Для этого нужен постоянный штат разработчиков.
    Ответ написан
    3 комментария
  • Как правильно пользоваться ресурсами в laravel?

    slowdream
    @slowdream Автор вопроса
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'name' => $this->name,
            'specialities' => SpecialityResource::collection($this->whenLoaded('activeSpecialities')),
        ];
    }


    public function toArray($request)
    {
        return [
            'user' => UserResource::make($this->whenLoaded('user')),
            'special_price' => $this->special_price,
        ];
    }
    Ответ написан
    1 комментарий