Задать вопрос
  • Как использовать условие в конфиге webpack?

    delphinpro
    @delphinpro
    frontend developer
    Конфиг вебпака – это обычный js файл. На js писать умеете?

    const config = {
      entry: './src/index.js',
      output: {
        // ...
      },
      module: {
        // ...
      },
      plugins: [
        new MiniCssExtractPlugin({
          filename: 'assets/css/style.css'
        }),
        // ...
      ]
    };
    
    if (isDev) {
      config.plugins.push( new PurgecssPlugin() );
    }
    
    module.exports = config;
    Ответ написан
    1 комментарий
  • Как использовать условие в конфиге webpack?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    А в webpack.config.js нужно прописать это

    Так пропишите. Что мешает? Или уже конфиг покажите и место где не получается.
    Ответ написан
    3 комментария
  • Почему не работает suspense во Vue3 + Vite?

    Fragster
    @Fragster
    помогло? отметь решением!
    Потому что suspense не для этого придуман, а для отображения плейсходлера, пока чанк с асинхронно подгружаемым компонентом грузится. Да и вообще это экспериментальная штука. Проще сделать переменную типа loading и отключать плейсхолдер по v-if
    Ответ написан
    Комментировать
  • Как вызвать функцию из другого файла во vue?

    wapster92
    @wapster92
    Ну экспортируй ее и импортируй в нужный компонент
    Ответ написан
    Комментировать
  • Где в php-storm включается эта панель?

    daemonhk
    @daemonhk
    ПсиХоПат
    Думаю, и так все понятно:
    61a9a0e357ae3817756232.png

    А за неумение гуглить, я бы руки отрывал...
    https://intellij-support.jetbrains.com/hc/en-us/co...
    Ответ написан
    Комментировать
  • Как составить пользовательское соглашение для веб сайта?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Согласен с Рональдом, но не зная юриспруденции можно сесть в лужу сильно. Чтобы было хорошо и правильно - велком к юристам.
    Ответ написан
    Комментировать
  • Что означает "!!~"?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Сокращалка, удобная для indexOf(), который возвращает -1 если не найдено, или индекс от 0 и больше.

    Для логики приложения часто бывает нужно узнать только, найдено или нет: т.е. -1 или иное значение. Можно просто сравнивать if (a.indexOf(b) > -1) { /* найдено! */ } но иногда хочется короче.

    Битовый оператор НЕ ~ хорош тем, что выделяет -1: только -1 с этим оператором даст 0. Прочие числа дадут какое-то ненулевое значение.

    ~(-1) === 0

    Остаётся привести значение из численного в булево. Для этого два воскл. знака — два логических НЕ.
    • для варианта «найдено» из числа от 0 и больше получилось тоже ненулевое число, и !! даст true
    • для варианта «не найдено» из -1 получится уникальный 0, и !!0 вернёт false
    Ответ написан
    4 комментария
  • Как подобрать железо под PhpStorm?

    Пара минут анализа для коммита в 5к строк - вроде норма.
    Его хотябы можно выключить

    Но скорость автокомплита смущает.
    Пробовал чистить кэши и переустанавливать?
    Ответ написан
    Комментировать
  • Как подобрать железо под PhpStorm?

    Stalker_RED
    @Stalker_RED
    Возможно упор не в железо, а в размер проекта и/или в саму историю в гите.

    Для начала можно поднастроить анализатор, убрать ненужные проверки.
    И GIT репозиторий можно оптимизировать, но это отдельная история (1,2)

    Вероятно в шторме можно настроить exclude для некоторых папок.
    Попробуйте поотключать разные плагины, некоторые могут сильно влиять на отзывчивость автодополнения.
    Ответ написан
    Комментировать
  • В чем суть такой записи в reset.css?

    nowm
    @nowm
    Это специфичное для blockquote определение, которое Eric Meyer (автор reset.css) позаимствовал у Paul Chaplin. Первая строка content: "" делает так, чтобы у blockquote исчезли кавычки — на случай, если вторая строка content: none не поддерживается браузером, потому что первая строка — это CSS 2, а вторая — это CSS 2.1. В одну строку их записать нельзя, потому что по стандарту для свойства «content» нельзя комбинировать ключевые слова «normal» и «none» с другими значениями.

    Вообще, когда встречается перечисление одного и того же свойства с разными значениями, это делается для того, чтобы обеспечить совместимость с разными браузерами. То есть, если, например, браузер не поддерживает «content: none», он применит «content: ""», а другую запись проигнорирует.

    Обычно дублирующие записи располагаются в определённом порядке. Первой записью идёт самый плохой вариант, который должен сработать везде. Затем идёт вариант, который более полно описывает вашу цель. Пример:

    .some-class {
        background: #e66465;
        background: linear-gradient(#e66465, #9198e5);
    }


    В этом коде, если браузер поддерживает градиентный фон, он сначала прочитает, что нужно использовать цвет «#e66465», а потом это перезапишется записью «linear-gradient», и итоговое значение будет «linear-gradient(#e66465, #9198e5);». Если же браузер не поддерживает градиент, он сначала прочитает, что нужно использовать «#e66465», а потом увидит неподдерживаемое определение «linear-gradient», проигнорирует его, и итоговое значение будет «#e66465».
    Ответ написан
    Комментировать
  • Как лучше хранить много файлов — в базе данных или в виде файлов?

    Единственное преимущество хранения файлов в БД, на которое нужно обратить внимание — это конкурентный доступ. То есть СУБД корректно обрабатывает одновременный доступ на изменение к одной и той же записи. Если конкурентный доступ маловероятен, то лучше использовать файлы.

    Преимущество файлов:
    — Бэкапить файлы не намного дольше, но восстанавливать можно по отдельным файлам, а не заливать весь дамп.
    — Обращение к файлам и считывание быстрее, чем получение записи из БД (даже если используются сокеты).
    — Кэширование файлов осуществляет автоматически ОС и сервер (можно использовать и опкэшер для контроля). А у СУБД кэширование больших файлов вызывает потерю производительности из-за вытеснения простых запросов из кэша.
    — Количество файлов может быть очень большим без потери мощности сервера. У меня один раз хранилось около 12000 файлов в одной директории и ничего — сервер считывал без всяких задержек. Конечно вручную открыть эту папку было проблемно.
    — Sphinx — свободно ищет по файлам.

    Но при всех преимуществах файлов конкурентный доступ может испортить всю «малину», так что отталкивайтесь от него.
    Ответ написан
    Комментировать
  • Wherehas как правильно написать запрос?

    @kaxa3201 Автор вопроса
    нужно использовать whereDoesntHave
    Ответ написан
    Комментировать
  • Как синхронизировать проект с удалённым репозиторием?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Ох уж эти трудности перевода)) remote обычно переводят на русский как удалённый. Но что если я захочу удалить remote? Удалить удалённый?
    Поэтому лучше говорить «внешний», чтобы не путаться. Мы работаем с локальным репозиторием, а все остальные по отношению к нему будут внешними. В Git нет централизации, все репозитории равноправны и могут обмениваться информацией в произвольных направлениях.

    Итак: у нас есть два внешних репозитория и хочется их синхронизировать? Без проблем.
    Можно использовать локальный компьютер как вспомогательный.

    Я сделал
    git init
    git remote add origin ....


    Начало уже нелогичное. Ты же говоришь что уже выкачал репозиторий с сервера?
    Т. е. выполнил git clone <server1>
    Это уже создало копию репозитория и init не нужен. А ещё это автоматически создало ссылку origin тоже.

    Дальше можно поменять адрес origin на второй сервер
    git remote set-url origin <server2>

    И сразу увидим в git status есть ли отличия.
    Хотя нет, вру. Надо после смены адреса скачать к себе заново внешние ветки командой
    git fetch
    Только тогда будет что сравнивать.

    Примерно так. Это первое что пришло в голову и пожалуй грубовато. Можно придумать более аккуратную схему.

    Я бы лучше не удалял старый remote, а добавил новый. То что ты «скачал с сервера» пусть так и останется как origin. А «удалённый» репозиторий обозначим как upstream
    git remote add upstream <server2>
    git fetch upstream

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

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    Введи sudo ncdu /
    Если в системе нет ncdu то установи его командой sudo apt update && sudo apt install ncdu
    Ответ написан
    Комментировать
  • Откуда эта функция _() в blade?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Есть функция __() с двойным подчёркиванием.
    Вероятно, вы просто опечатались.
    Ответ написан
    Комментировать
  • Почему название файла стало писаться курсивом?

    Вероятнее всего вы включили опцию Enable Preview Tab.

    619e2168d80e0841170788.png
    Ответ написан
    Комментировать
  • Как сделать темную тему в Sass?

    delphinpro
    @delphinpro Куратор тега Sass
    frontend developer
    Для темы лучше использовать css-переменные

    body {
      --bg: white;
    
      background: var(--bg);
    
      &.dark {
        --bg: black
      }
    }
    Ответ написан
    Комментировать
  • Скрипт проверки whois от регистратора REG.RU не даёт пользователям занимать "красивые" домены?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Уверен, что не только возможно но и есть на самом деле :) Возле любого более- менее толстого регистратора всегда крутится "ручная", но якобы строронняя конторка, которая "выкупает" по дишману красивые имена, участвует в аукционах, разгоняя цену (но никогда не покупая, если вдруг выиграет) и прочие околозаконные вещи, связанные с доменным бизнесом.
    Причем whois показал мне следущее:

    Регистратор запросто может отправить настоящему оператору зоны, вносящему изменения запрос на регистрацию домена в расчете на то, что Вам он нужен настолько, что готовы купить за аукционную цену - ведь никто не знает об условиях договора между регистратором и оператором зоны. Подержит занятым некоторое время, а потом если не купили - освободит.
    Причем, все это скорее всего давным-давно автоматизировано.
    Ответ написан
    Комментировать
  • Как написать скрипт в package.json?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Сделайте свой скрипт: "serve": "node ./api/serve.js", а уж в нём что хотите и как хотите вызывайте.
    Ответ написан
    Комментировать
  • Как написать скрипт в package.json?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Не надо ничего мудрить, просто поставьте ; в конце команды
    Ответ написан
    4 комментария