Задать вопрос
  • К чему относятся эти "приемы"?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    К чему относятся эти «приемы»

    К "модульной архитектуре". Правда не понятно что подразумевается под "и т.д."

    Webpack

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

    Npm

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

    что именно мне нужно учить

    Модули, в частности, es6 модули, это если хотите понимать что действительно происходит.

    Но если детали Вам не интересны, то всё очень на самом деле просто.
    Представьте что один файл вам предоставляет функции(то есть делает export из себя), а в другом файле Вы эти функции потребляете(то есть делает import в себя). А нужно это, чтобы написать какой-то модуль один раз, и потом переисползовать. А не делать постоянно ctrl+c - ctrl+v. Вот и всё.
    Ответ написан
    4 комментария
  • Для чего композер требует указать ext-curl у себя?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Список расширений php - https://www.php.net/manual/en/extensions.membership.php
    Как видите curl входит в категорию "External Extensions" и значит может быть не установлен или недоступен на целевой системе.
    Поэтому вы явно указываете в зависимостях в composer.json что для запуска вашего кода требуется ext-curl и при его отстутствии composer install выдаст об этом соответствующее сообщение с ошибкой
    Ответ написан
    Комментировать
  • Функция в javascript и все ли они нужны?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Вызвать функцию можно только 2мя способами. Один из способов из двух вариантов.

    1. Как обычно, через круглые скобки ().
    2. Через вызов метода .call или .apply

    Других вариантов вызова функции что-то не приходит в голову.

    Способов объявления функций тоже всего два:
    - function expression - expression - выражение, то есть такая строчка, у которой есть знак =
    - function declaration - классическое объявлений функций через function name() {}.
    Между этими двумя вариантами одно основное кардинальное отличие, которое запомнить очень просто. Всплытие declaration.

    Все ли они нужны? Да.
    Можно ли обойтись без expression на первых этапах обучения и будет ли достаточно declaration? Да.
    Что ещё Вы хотите запоминать?

    P.s. можно ещё создавать функцию через конструктор Function, но так никто не делает, поэтому опустим этот вариант.
    Ответ написан
    Комментировать
  • Как вывести товары с категориями на одной странице?

    iMedved2009
    @iMedved2009
    Не люблю людей
    $categrories = Category::query()
                ->with(['products', 'products.ingredients', 'products.options'])
                ->get();
    
    @foreach($categrories as $categrory)
    {{$category->name}}
    @foreach($categrory->products as $product)
    {{$product->name}}
    @endforeach
    @endforeach
    Ответ написан
    1 комментарий
  • Есть ли такие готовые карусели?

    godsplan
    @godsplan
    swiper
    Ответ написан
    Комментировать
  • Как в vue задать value у input?

    <template>
      <div>
        <input type="text" v-model="form.templatename" />
        <pre>{{ form }}</pre>
      </div>
    </template>
    
    <script>
    export default {
      name: "App",
      data() {
        return {
          form: {
            templatename: 'Тест'
          }
        };
      }
    };
    </script>
    Ответ написан
    Комментировать
  • Почему может не работать yarn add?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Не установлен yarn. Всё написано русским по чёрному.
    Ответ написан
    1 комментарий
  • Как весь блок заполнить точками?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Повторяющимся радиальным градиентом
    https://jsfiddle.net/Ankhena/h21s4o0m/
    Ответ написан
    Комментировать
  • Как валидировать обязательно-необязательное поле и вернуть предыдущее значение в форму?

    iMedved2009
    @iMedved2009
    Не люблю людей
    То есть напрямую изменить одно поле в массиве входящих данных?

    есть решение в какой нибудь сервис провайдер запихнуть макрос ибо реквест у нас macroable, аля

    Illuminate\Http\Request::macro(
        'mergeGently', function($array){
    // где делаем магию аля проверки и прочее.
    });

    после чего будет работать $request->mergeGently($array);

    Как его туда прокинуть?

    app/Exceptions/Handler.php
    public function register()
        {
            $this->renderable(function (ValidationException $exception) {
                return redirect($exception->redirectTo ?? url()->previous())
                    ->withInput(Arr::except($exception->validator->getData(), $this->dontFlash))
                    ->withErrors($exception->errors(), $exception->errorBag);
            });
        }

    В принципе после этой правки все эксепшены с валидацией будут содержать ваши merge из prepareForValidation и не надо дублировать merge. Но стоит проверить как это будет реагировать на json запросы. мне лень

    З.Ы. Чего то сообразил - можно же легче - просто переопределить метод invalid у app/Exceptions/Handler.php
    Ответ написан
    2 комментария
  • Какой компьютер выбрать для программирования?

    @res2001
    Developer, ex-admin
    1. Как уже писали, для программирования много не надо. Но когда комп начинает тормозить в не подходящий момент - это не приятно.
    2. Ноутбук или стационарный ПК надо выбирать исходя из того как вы пользуетесь им. Если он все время на одном месте - то смысла в ноуте нет.
    3. Учтите, что стационарный выйдет дешевле при тех же характеристиках.

    Я недавно обновил свой ноут. У меня вопроса не стояло ноут или ПК, т.к. регулярно бываю на выезде, хотя основное время - дома на удаленке.
    Взял Lenovo Legion 5. Доволен как слон :-)
    У Леново есть еще хорошие варианты в рамках линеек ThinkPad T/P/X. В каждой линейке несколько моделей. Пишут, что thinkpadы сертифицируются для пентагона, так что там качество на высоте должно быть.

    Если все таки остановитесь на ноуте, обращайте внимание на то, что в некоторых моделях память распаяна на материнке и заменить (увеличить) ее практически не реально. Так же есть смысл смотреть на наличие дополнительного слота для SSD. Ну и наличие необходимых внешних интерфейсов то же может быть важным вопросом. Если подключаете внешние мониторы, то смотрите, чтоб были разъемы в нужном количестве и нужного типа.
    Обычно, можно купить ноут с небольшим SSD и количеством памяти и сразу проапгрейдить его, возможно будет дешевле, чем сразу покупать ноут с необходимым размером SSD и памяти. На процессоре экономить не стоит.
    На озоне сейчас есть наши продавцы, которые возят из китая. Доставка долгая - 1-1.5 месяца. Но сильно дешевле, чем брать там где "в наличии". Растаможка уже включена в стоимость. У продаванов из Китая растаможка, скорее всего, не включена, поэтому у них ценник будет еще ниже, но он, с большой вероятностью, не окончательный.
    Ответ написан
    1 комментарий
  • Почему npm i устанавливает ненужные пакеты?

    Вы про транзитивные зависимости что-нибудь слышали?
    А конкретно у вас транзитивно устанавливается node-sass, который написан на C++ , и мало ли что там ему нужно для сборки.

    При установке через npm install нативные пакеты автоматически компилируются. Многие для этого используют node-gyp, хотя в этой роли можно использовать в общем-то любую сборочную систему.

    Вам бы сначала выяснить с помощью npm list --depth=10, кто к вам притащил node-sass, т.к. он вроде задиприкейчен уже.
    Ответ написан
    2 комментария
  • Как сверстать плитку с разным количеством элементов в ряду?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Вообще тут Ваш код должен был быть, с Вашей попыткой реализации..

    Ответ написан
    Комментировать
  • Как организовать работу с одними стилями на разных проектах?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Одинаковая структура при разных реализациях - это больно и малореально. Существуют css\html-only дизайн системы, которые можно брать и реализовывать на любом фреймворке, но это тот ещё геморрой без особого выхлопа.

    Мне кажется вам стоит решить чего вы будете-придерживаться впредь, а что легаси, и вынести таки все компоненты одной актуальной версии(vue2 или vue3) в библиотеку, скомпилировав её в режиме web-components. Веб компоненты вы сможете подключать куда угодно, ценой лишних 100кб на непрофильный vue-runtime в случае несовпадения.
    Ответ написан
    1 комментарий
  • Как так оказалось, что часть Windows 10 не русифицирована?

    У меня версия 19041. Такого пункта в данном месте нет.
    Возможно, вкладка добавляется драйверами на аудио (такое бывает например с тачпадом)
    Ответ написан
    3 комментария
  • Почему задеплоенный проект Laravel не работает?

    @lil_koi
    лучший из худших
    проверь log ларавеля, если там пусто, то лог nginx
    Ответ написан
    2 комментария
  • Как вставить query params в один параметр?

    Seasle
    @Seasle Куратор тега JavaScript
    Ответ написан
    Комментировать
  • Откуда берётся запятая при выводе?

    RAX7
    @RAX7
    - 26:  return `<div class="lots">${lotsData.map((lotData) => Lot(lotData))}</div>`;
    + 26:  return `<div class="lots">${lotsData.map((lotData) => Lot(lotData)).join('')}</div>`;
    Ответ написан
    1 комментарий
  • Почему не грузится как preload?

    Kiriniy
    @Kiriniy
    Графический и веб-дизайнер
    А разве rel="preload" можно поставить на img? Предзагрузка ставится на link в head документа, а ещё там надо объявить тип, например as="image". Примерно так:

    <head>
      <link rel="preload" href="ваша-картинка.jpg" as="image">
    </head>
    <body>
      <img src="ваша-картинка.jpg">
    </body>
    Ответ написан
    Комментировать
  • Что не так в коде (можете сделать краткое код ревью)?

    @tukreb
    Вы сами и ответили почему заброкали, но ещё добавлю, что ваш код написан с натяжкой на php 7.0
    Серьёзно? Уже этого достаточно.
    Ну и вообще написан ваш код в стиле 2010 годов, и вообще ни какого форматирования. Вы прямо кричите этим кодом, что вам похер на ревьювера и его глаза, ну вот ревьювер сам вас и послал на 3 буквы.
    Композер, PSR, и строгий стиль php (с типами данных) - это обязаловка. Никто больше не пишет новые проекты через ректальный язык программирование php5 (да и старые тоже).
    Ответ написан
    2 комментария
  • Почему поступает пустой запрос, и выдает ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бросайте вы эти видеоуроки, они вас плохому научат.
    1. Не надо напрямую подставлять переменные в запрос, для этого есть плейсхолдеры. Читать про SQL Injection.
    2. Не надо руками ловить ошибки mysqli. Надо устанавливать правильные опции при подключении. Читать https://habr.com/ru/post/662523/
    3. Если уж вы ловите ошибки самостоятельно, то выводите полный текст ошибки, а не просто паническое "Ой, что-то случилось!".
    4. Не надо хранить в своей базе данные кредитных карт клиентов, да ещё и вместе с CVV. Учитывая пункт 1, это всё равно, что писать их на заборе. Читать про PCI DSS.
    Ответ написан
    4 комментария