• Как реализовать SSR без использования глобального хранилища (на примере Vue 3)?

    @MEDIOFF
    Python Developer
    А причем у вас Vuex и SSR? Vuex просто хранит состояние - нет Vuex нет состояния, вы ничего не прокидываете на клиент с сервера, клиент каждый раз ходит к вам за новой страничкой, и вы ему отдаете ее уже наполненную со всеми данными - это и есть SSR, к примеру у вас обычно Vue получает список товаров с сервера, как получит показывает карточки, с SSR вы отдаете страничку сразу с карточками готовыми.
    По факту SSR нужен для SEO в большей части, так как я не знаю людей которые отрубают js в браузере

    Если нужен SSR, то рекомендую не изобретать велосипед, а посмотреть в сторону Nuxt
    Ответ написан
  • Как отправить HTTP запрос методом POST на URL через PHP?

    Tyranron
    @Tyranron
    Действительно, за время, которое потратили на создание вопроса, Вы могли без проблем найти интересующую Вас информацию в любом поисковике.

    Но раз вопрос уже задан, то должен быть и ответ(ы).
    Собственно, @OnYourLips дал ссылку на хороший фреймворк, но если нет смысла тащить в проект/скрипт целый фреймворк ради одного запроса, к примеру, то логичнее воспользоваться упомянутым CURL. В Вашем случае сценарий использования CURL будет выглядеть примерно следующим образом:
    $myCurl = curl_init();
    curl_setopt_array($myCurl, array(
        CURLOPT_URL => 'http://target.site.com/form.php',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query(array(/*здесь массив параметров запроса*/))
    ));
    $response = curl_exec($myCurl);
    curl_close($myCurl);
    
    echo "Ответ на Ваш запрос: ".$response;

    Если надо передать при этом ещё и файлы, или обратиться по https, или ещё чего Вам понадобится - добро пожаловать в документацию:
    http://php.net/manual/ru/book.curl.php
    Советую обратиться к документации в любом случае, дабы ознакомиться со всеми возможными нюансами, а также понять и выбрать то, что конкретно Вам потребуется для решения Вашей задачи.
    Ответ написан
    3 комментария
  • Как правильно возвращать JSON с контроллеров Laravel для API приложения?

    @Kostik_1993
    Web Developer
    1. Для того чтобы какие-то поля модели не отображались нужно использовать переменную hidden, с помощью нее мы указываем какие поля не должны отображаться в JSON ответе.
    protected $hidden = [
            'type_id',
            'created_at',
            'updated_at',
        ];

    2. У каждой модели вы должны указать свои поля которые должны быть скрыты
    protected $hidden = [
            'type_id',
            'created_at',
            'updated_at',
        ];

    3. Category::with('posts.comments')->get();
    4. Для этого также есть специальные переменные и методы.
    Также доступен такой метод
    public function getDateAttribute () {
            return date('Y-M-D', $this->date);
        }
    public function getUrlAttribute () {
            return url($this->slug);
        }

    этот метод выведет $post->date в нужном формате
    чтобы такой метод был доступен в json нужно указать его в
    protected $appends = [
            'url',
            'topic',
        ];
    Ответ написан
    Комментировать
  • Как подключить стили в Laravel?

    Ginkidayo
    @Ginkidayo
    обычный человек
    Добавить в webpack.mix.js

    mix.styles([
    'resources/assets/css/bootstrap.min.css',
    // Другие стили
    ], 'public/css/styles.css');
    
    mix.scripts([
    'resources/assets/js/notification/SmartNotification.min.js',
     // Другие js скрипты
    ], 'public/js/scripts.js');


    Запустить команду: "npm run watch".

    Потом добавить на страницу пути к файлам выше:
    <link rel="stylesheet" href="/css/styles.css">
    <script type="text/javascript" src="/js/scripts.js"></script>
    Ответ написан
    Комментировать
  • Как подключить стили в Laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Файлы должны отдаваться из директории public - только она доступна веб-серверу.
    Кладите их туда при помощи mix.
    Ответ написан
    1 комментарий
  • Чем плохо выносить повторяющиеся элементы дизайна в отдельные файлы и подключать их потом с помощью PHP?

    catdesign
    @catdesign
    Веб-разработчик
    Абсолютно ничем не плохо. Все ровно наоборот.
    Нужно руководствоваться поставленной задачей. Если у вас одностраничный сайт, то выносить все отдельно нет смысла. Хотя в особо длинных лендингах это позволяет облегчить читаемость кода.

    Что касается многостраничных сайтов, то разбиение на фрагменты жизненно необходимо, потому что главное правило программиста - не дублировать код. Ленивый программист = хороший программист!
    Ответ написан
    Комментировать
  • Как работает crontab?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    > Можно ли поставить крон на 1 минуту
    Можно.

    > и проверять есть ли задание, для скрипта, в бд
    Можно.

    > и если есть выполнять его,
    Можно

    > а это не быстро?
    А это не вопрос.

    > В основном интересует нагрузка на сервер.
    От крона нагрузка будет несущественная. От вашего скрипта - зависит от вашего скрипта.

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

    > не получится, что запросы будут конфликтовать друг с другом?
    Если вы эту ситуацию обработаете в своём скрипте, то не будут. В кроне никаких встроенных механизмов для этого нет.
    Ответ написан
    Комментировать
  • Стоит ли использовать pug(jade)?

    dom1n1k
    @dom1n1k
    Мой первый опыт с тогда ещё Jade - это где-то лет 6 назад. И был он, мягко говоря, спорный. Отчасти понравилось, но больше всё-таки нет. Были проблемы, которые многократно перекрывали экономию от укороченного синтаксиса. Я писал где-то на Хабре комментарий на этот счет. В общем, забросил.

    Потом несколько раз возвращался и постепенно пришел к выводу, что если наловчиться, то некоторую пользу всё-таки извлечь можно. И важно, что со временем авторы пофиксили некоторые проблемы. Это не значит, что я полюбил Pug, но хотя бы смог использовать его без постоянного раздражения.

    Какие именно плюсы? Якобы более чистый код с отступами, отсутствие закрывающих тэгов - это всё ерунда. Может и достоинства, но точно минорные. Главное функционал, полностью отсуствующий в нативном HTML: миксины, автогенерация однотипных блоков, наследование шаблонов. Этого правда не хватает.

    Но есть два но.
    1. Подобный функционал есть в любом другом шаблонизаторе? Верно. И я посмотрел несколько (нунчаки, slim, haml, дуст). И везде я сталкивался с какими-то раздражающими нюансами или чего-то не хватало. А раз святой грааль не был найден, то я не нашёл для себя аргументов для смены шила на мыло.
    2. Мне удобнее решать такие вопросы на фронте. Если вам удобнее делать всё то же самое в PHP - тогда да, выходит, что особого смысла нет.
    Ответ написан
    Комментировать
  • Какой backend лучше всего использовать с React.js/Redux?

    @askhat
    Нет никакой разницы какой именно (подозреваю фреймворк) вы выберете. Главное чтобы протокол мог использоваться из браузера, а вы хорошо разбирались в выбранной технологии.
    Ответ написан
    3 комментария
  • Актуально ли изучать nodejs для бекенда или лучше оставаться на php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Изучать надо программирование.
    Все эти вопросы, "Какую машину лучше учиться водить - Рено или Фольксваген?" - это детский сад, честное слово.
    Если для вас потолок - это несколько десятков встроенных функций одного языка, то всё равно что учить - ковыряться помаленьку можно на любом.
    Программист же мыслит не инструкциями, а алгоритмами, паттернами, потоками данных, структурами объектов, шинами сообщений. На каком языке это все реализуется - не принципиально.
    Ответ написан
    2 комментария
  • Как правильно установить Laravel на Open Server и начать нормально изучать?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    В Laravel надо DocumentRoot http-сервера ставить в папку public, а не в корневую папку:
    1. Настройки - Домены - Управление доменами: Ручное управление (или ручное + автопоиск)
    2. Добавляем домен руками: Имя домена: domain.com Папка домена: \domain.com\public
    Ответ написан
    2 комментария
  • Что необходимо улучшить, чтобы устроится на работу верстальщиком или junior front-end разработчиком?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    Джуном всегда можно. Ищи компании

    Сейчас основная проблема — портфолио неинформативное. Эти шаблоны я видел тысячи раз. Информация в них шаблонная, а часть функционала просто не работает. Это очень печально. Советую всё же посидеть с этим и доработать. Не забывай про семантику. Теги заголовков в портфолио как-то от балды расставлены. Почитай мини заметку мою на эту тему.

    Твоя собственная страница скудно оформлена. То есть она не продаёт тебя, как специалиста. Просто ходи на собеседования и набивай опыт.
    Ответ написан
    Комментировать
  • Проблема при компиляции sass?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    К сожалению Sass не умеет резолвить такие пути. Проблема есть, о ней знают, но пока не решают (разработчики sass я имею ввиду).
    Я принял за правило писать абсолютные ссылки
    /img/img-name.jpg
    Да, есть минусы, но как-то живем пока.
    Ответ написан
    4 комментария
  • Установил автопрефиксер и выводит в консоль ошибку как исправить?

    Это не ошибка, это предупреждение, по сути оно работе не мешает, но если бесит легко фиксится, нужно в предложенном в доках pipe заменить browsers: ['last 2 versions'] на overrideBrowserslist: ['last 2 versions'] и тогда предупреждение пропадает))
    .pipe(autoprefixer({
                overrideBrowserslist:  ['last 2 versions'],
                cascade: false
            }))
    Ответ написан
    4 комментария
  • Как организовать распределённый брутфорс?

    @Karpion
    На хостинге делается база данных, где лежат диапазоны паролей. Распределённые машины делают SQL-запрос "забрать любой свободный диапазон и пометить его взятым". По окончании перебора этого диапазона - надо "пометить диапазон как обработанный".
    Ответ написан
    Комментировать
  • Как смириться с фактом что ты не топовый разработчик?

    0xD34F
    @0xD34F
    это к психиатру
    Ответ написан
    Комментировать
  • Сделать запрос QIWI API на PHP?

    Вот для примера wrapper для api
    class QiwiApi {
        private $_phone;
        private $_token;
        private $_url;
     
        function __construct($phone, $token) {
            $this->_phone = $phone;
            $this->_token = $token;
            $this->_url   = 'https://edge.qiwi.com/';
        }
        private function sendRequest($method, array $content = [], $post = false) {
            $ch = curl_init();
            if ($post) {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
            } else {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method . '/?' . http_build_query($content));
            }
            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                'Accept: application/json',
                'Content-Type: application/json',
                'Authorization: Bearer ' . $this->_token
            ]); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $result = curl_exec($ch);
            curl_close($ch);
            return json_decode($result, 1);
        }
        public function getAccount(Array $params = []) {
            return $this->sendRequest('person-profile/v1/profile/current', $params);
        }
        public function getPaymentsHistory(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments', $params);
        }
        public function getPaymentsStats(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments/total', $params);
        }
        public function getBalance() {
            return $this->sendRequest('funding-sources/v1/accounts/current')['accounts'];
        }
        public function getTax($providerId) {
            return $this->sendRequest('sinap/providers/'. $providerId .'/form');
        }  
        public function sendMoneyToQiwi(Array $params = []) {
            return $this->sendRequest('sinap/terms/99/payments', $params, 1);
        }
        public function sendMoneyToProvider($providerId, Array $params = []) {
            return $this->sendRequest('sinap/terms/'. $providerId .'/payments', $params, 1);
        }
    }
    Ответ написан
    5 комментариев
  • Быть разработчиком веб-сайтов невыгодно?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Боже сижу на тостере уже 2 год, но ласт полгода не заходил , но список топ вопрос так не изменится.
    Аля хочу стать "вставь свою профу" - я чел идейный , я люблю эту профессию, но вот как-то нету миллионов которые мне тот мужик на курсах обещал. А есть только лендосы за 500, которые с правками делаются месяц(((
    И ты глянь вроде полно разрабов - а работать то некому, а почему - да все просто ибо рынок переполнен людьми с курсов которые готовы работать за 500р но ничего толком не умеют. А с чего такие выводы? Да все просто не раз уже приходят - сколько стоит Х проект ты говоришь Х₽ и Х дней, и ответ - оооо нет мне там вон Вася за сутки и 500р сделает , ну окей идите. Через две недели приходит тот же человек и говорит , ну тут Василий все сделал - но потом немного правок (правок больше чем тз сайта) , а он пропал можете доделать за 500р. Или пример вон знакомый в скилл боксе полгода учился, насколько знаю обучение там не дёшево, а итог попросил его сверстать лендос (у самого времени не было) так он дата атрибут не умеет прописывать (реальная история).
    А к чему эта простыня текста? Да к тому, что если ты реально что-то умеешь - то ты не будешь работать за 10к/2 месяца
    Ответ написан
    1 комментарий