• Как в laravel 8 создать модель со списком свойств на основе миграции?

    maddog670
    @maddog670
    /**
     * App\Role
     *
     * @property int $id
     * @property \Carbon\Carbon|null $created_at
     * @property \Carbon\Carbon|null $updated_at
     * @property string $name
     * @property string $description
     * @property-read \Illuminate\Database\Eloquent\Collection|\App\User[] $users
     * @method static \Illuminate\Database\Eloquent\Builder|\App\Role whereCreatedAt($value)
     * @method static \Illuminate\Database\Eloquent\Builder|\App\Role whereDescription($value)
     * @method static \Illuminate\Database\Eloquent\Builder|\App\Role whereId($value)
     * @method static \Illuminate\Database\Eloquent\Builder|\App\Role whereName($value)
     * @method static \Illuminate\Database\Eloquent\Builder|\App\Role whereUpdatedAt($value)
     * @mixin \Eloquent
     */

    Всё это генерировалось через плагин ide-helper
    Ответ написан
    Комментировать
  • Есть ли такой браузер, который позволит смотреть код в iframe?

    DevMan
    @DevMan
    эмм.... код в айфреймах спокойно показывается в девтулзах.
    Ответ написан
    4 комментария
  • Есть ли такой браузер, который позволит смотреть код в iframe?

    @0x200AC
    Любой браузер, если развернуть тег. Иногда, как на скрине - iframe сначала нужно подгрузить по ссылке. 61ae83cb2cfc6112075299.png
    Ответ написан
    2 комментария
  • Как убрать вот эту вот штуку с видео?

    Это вольность браузера, называется picture-in-picture, появляется для HTML5 <video> элементов.

    В FireFox например, можно убрать двумя способами:
    1. когда появилась эта штука, правой кнопкой по ней и "Hide Picture-In-Picture Toggle"
    2. залезть в Настройки браузера и там найти и выключить пункт "Enable picture-in-picture video controls"
    Ответ написан
    Комментировать
  • Как использовать условие в конфиге 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?

    vabka
    @vabka
    Токсичный шарпист
    Пара минут анализа для коммита в 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
    Есть функция __() с двойным подчёркиванием.
    Вероятно, вы просто опечатались.
    Ответ написан
    Комментировать