• Как работать с сидами в Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Сиды предназначены немного для другого, главная их цель это автоматизация тестирования, поэтому и набор методов соответствующий. Ну и на продакшене по умолчанию их нельзя запустить(только используя ключ --force). Но как тогда разделить сиды для данных и для теста? Короче не вариант.
    Вам же можно просто использовать миграции. В них можно писать и логику и тп, в том числе инициализацию и или загрузку каких-либо данных по умолчанию в БД.
    Ответ написан
    Комментировать
  • Как в asyncData axios сделать вывод ошибок?

    neuotq
    @neuotq
    Прокрастинация
    В nuxt.js лучше всего настроить общую централизованную обработку ошибок, через плагин и хелперы. Там есть "перехватчики" разных событий, в том числе onError, onRequestError, onResponseError, с помощью них легко и удобно сделать уведомления и/или редиректы для пользователя когда что-то пошло не так. Нужно помнить что asyncData предназначен для логики в контексте страницы, поэтому у него свои особенности работы и автоматическое установление локального состояния, удобно сокращает код и сразу данные доступны в шаблоне.
    Возможно вам лучше подойдёт fetch, у него немного иная логика работы, ближе к условной привычной, к примеру в отличии от asyncData он не ждёт окончания его выполнение перед загрузкой(те возвращает промис, не ожидая его полного разрешения до финиша как asyncData ). В компоненте у вас будет доступен $fetchState, где можно отлавливать ошибку $fetchState.error. Но данные для шаблона нужно ставить самому, те определить нужные в data:
    data() {
          return {
            banners: [],
            currentPage: null,
            lastPage: null,
            perPage: null,
          }
        },

    И потом уже в fetch их устанавливать.
    Короче говоря посмотрите документацию, там всё предельно кратко и ясно для начальных простых условий:
    https://nuxtjs.org/docs/2.x/features/data-fetching
    Ответ написан
    Комментировать
  • Почему PHP Simple HTML DOM Parser берет только текст из ячейки таблицы?

    neuotq
    @neuotq
    Прокрастинация
    В строке
    $flight[] = $cell->plaintext;
    Вы используете метод plaintext который очищает все теги, ну и для этой ячейки должен вернуть текст 'PDF'.
    Не совсем ясно что вам нужно? Если нужно дополнительно разбирать и другие вложенные html элементы, то нужно усложнять вашу логику, добавлять условия. Вот из той же документации, добавляете вложенные циклы для того же тега a и из него уже парсите href если вам нужно отдельно. И тд и тп.
    Ответ написан
    Комментировать
  • Ка в Vue покрутить спиннер кнопки при переходе, в зависимости от маршрута?

    neuotq
    @neuotq
    Прокрастинация
    придумайте способ добавления уникального идентификатора компонентам-ссылкам, через стейт ведите это дело. Так можно и более сложную логику построить при желании с цепочками и тп.
    Ответ написан
    Комментировать
  • Как получить красивый url в Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Вы используете getRouteKeyName(), вам тогда нужно изменить метод show, примерно так:
    public function show($ad)
    {   
        return view('ad', compact('ad'));
    }

    и в роутере тогда тоже для красоты
    Route::get('/{ad}', [App\Http\Controllers\AdController::class, 'show'])->name('show');

    Либо, убирайте getRouteKeyName, которым вы задаёте поле по которому вычисляется нужная модель(по дефолту это id)
    Ответ написан
    Комментировать
  • Как сделать погрузку контента по нажатию кнопки на php?

    neuotq
    @neuotq
    Прокрастинация
    Естественно без перегрузки страницы этого не сделать. Делаешь кнопку с формой, а там через гет/пост запрос отправляешь параметр(условно show_full=1). В php проверяешь его, если он есть: возвращаешь полный текст, иначе краткий.
    Ответ написан
    1 комментарий
  • Блок выходит за пределы, как убрать scroll?

    neuotq
    @neuotq
    Прокрастинация
    Ну так у вас же прокрутку добавляет не section, а другой блок(content). Вот ему и добавляйте новый класс для hidden
    Ответ написан
    4 комментария
  • Как адаптировать svg?

    neuotq
    @neuotq
    Прокрастинация
    Так же как и другие.
    Допустим начать можно с ограничения по родителю и ширине, условно:
    svg {
    max-width: 100%;
    }

    В целом практика - засовывать svg в контейнер и таким образом рулить.
    А так есть библиотеки для этого, в том числе и js
    Ответ написан
    3 комментария
  • Как брать теги только принадлежащие той модели?

    neuotq
    @neuotq
    Прокрастинация
    Так а в чём проблема, всё есть в документации, полиморф отношения:
    https://laravel.com/docs/8.x/eloquent-relationship...
    Ответ написан
  • Почему так компилирует?

    neuotq
    @neuotq
    Прокрастинация
    Вы используете extractCSS - он по умолчанию вытаскивает каждый CSS по компонентно, можно исправить через принудительную отмену механизмов вебпака в splitChunks, в оф документации есть хак:

    export default {
      build: {
        extractCSS: true,
        optimization: {
          splitChunks: {
            cacheGroups: {
              styles: {
                name: 'styles',
                test: /\.(css|vue)$/,
                chunks: 'all',
                enforce: true
              }
            }
          }
        }
      }
    }
    Ответ написан
  • Альтернатива load() и get() Jquery на javascript?

    neuotq
    @neuotq
    Прокрастинация
    load() и get() это всего лишь обёртка над jquery axax(), те http запросы.
    Альтернатива XMLHttpRequest, либо использовать fetch API.
    Есть ещё очень популярная библиотека(многие современном мире js её используют) Axios.
    Отличие что вы сами разруливаете логику поведения. Те вначале запрос, потом проверяете что он случился и всё ок, тогда заполняете элемент(ну как в случае get).
    Ответ написан
    1 комментарий
  • Табы в JS. Почему не работает трансформация на втором изображении?

    neuotq
    @neuotq
    Прокрастинация
    Вы пишите в коде :
    let currentArrow = document.querySelector(".tab__arrow");

    Таким образом выбирая стрелку по слишком общему селектору, попадает первая.
    Ответ написан
    3 комментария
  • Стоит ли ставить windows на ssd?

    neuotq
    @neuotq
    Прокрастинация
    Конечно стоит. За ресурс не беспокойтесь вам хватит. Единственное желательно не забивать под завязку чтобы сохранять высокую производительность при записи новых данных, а остальные нюансы уже берет на себе сама Windows и по в прошивке диска. Выше головы там тоже не прыгнешь, часто бывают случае когда скорость будет падать. НО! это нормально, в любом случае буст производительность по сравненению в классическим hdd огромный, возвращаться не захочется.
    Ответ написан
    Комментировать
  • Как сделать такой графический индикатор?

    neuotq
    @neuotq
    Прокрастинация
    У них скорее всего на стороне сервера генерируется и потом кешируется для отдачи, так что это не супер проблема 1000+ картинок.
    А насчёт css, то сделать легко, но без регулирования либо через ручное изменения style на элементе или через js никак.
    Ну те так:
    Ответ написан
    Комментировать
  • Как в cors laravel сделать возможнность доступа к api c одного или нескольких ip адресов?

    neuotq
    @neuotq
    Прокрастинация
    Мне кажется легче всего через свой Middleware
    Создаешь новый, там каким-то образом указываешь (берешь из базы или из настроек, просто хардкод) список белых ip, в методе handle передаётся $request оттуда можно брать ip адрес. Если будет не в твоём белом списке, просто кидать исключение, делать редирект или как-то ещё прерывать дальнейшее выполнение.
    Ответ написан
    Комментировать
  • Как получить правильно значение связанной таблицы в laravel?

    neuotq
    @neuotq
    Прокрастинация
    А почему имя класса с маленькой буквы? addresses::class, ?
    Ну да ладно.
    Ок, вы задали метод который указывает связь, назвали его address, код как я понимаю такой:
    public function address()
        {
     /* select в целом хорошо, чтобы меньше данных брать и гонять туда сюда, но если нужно больше, то можно убрать. Без id не будет работать тк не сможешь установить связь       */
     return $this->hasOne(addresses::class,'id','address')->select('address','id');
       }

    Далее можно добавить вычисляемый атрибут, назовём его например
    public function getAddressString()
        {
           //optional - чтобы вернуть null если  address вернёт null и не упасть в ошибку
       return optional($this->address)->address;
        }

    Ну и далее, в коде можешь использовать $organization->address_string; который если сможет вернёт строку адреса.
    Подробнее тут.
    Ответ написан
    Комментировать
  • Возможно ли хранить код в "Облаке Mail.ru", Яндекс?

    neuotq
    @neuotq
    Прокрастинация
    Почитал комментарии и понял что ГитХаб не подходит из-за бана в Крыму. Как советуют многие, впн и ко тут не помогут. Бан приходит если заходить хоть раз из одного из запрещенных мест. Бан распространяется на все монетизируемые штуки. Те никаких приватных репозиториев. Публичные можно. Снять бан можно, но тут нужно переписывать и давать доказательства что ты живешь в запрещенном месте.
    Если автору нужно иметь приватные репозитории, а gist не достаточен чтобы хранить образцы кода(тоже публично) можно выбирать из альтернатив.
    Самая безопасная это конечно же самому хостить тот же Гитлаб. Либо пользоваться гитлабом или битбакетом через прокси/впн у них в бесплатной версии.
    Так же, стоит обратить внимание на https://dev.azure.com/ мощные сервисы от Microsoft, среди которых есть и гит репозитории. пока бесплатно и крымчан не банят(что интересно гитхаб тоже им принадлежит). Лично я пока пользуюсь и доволен.
    Ответ написан
    3 комментария
  • Computer Science и Gamedev?

    neuotq
    @neuotq
    Прокрастинация
    Слишком общий вопрос. В любом случае, при любом направлении программирования знать основы CS, структуры данных, принципы, базовые алгоритмы(чтобы в уме отложилось как устроено) тп и тд нужно.
    Сам геймдев слишком широк и разнообразен в своих задачах. И в тоже время многие геймдизайнеры и в одиночку и без спец образования делают крутейшие проекты(с тчк зрения геймплея, привет Тоби Фоксу например).
    А так, советую смотреть сами вакансии, там обычно пишут требования. В любом случая сегодня в трендах упор на мобилки(а значит оптимизации в производительности, времени исполнения, поддержки универсальности кода(поддержка разных платформ)).
    Второй, не менее важный тренд, упор на "сетевой код", те оптимизация геймплея с учетом игр по сети, а значит просчёт тех же коллизий и столкновений с учетом задержек отправки пакетов игрокам, условий респауна например и тп и тд(а тут передаём привет последней Call of Duty®: Black Ops - Cold War - где есть все антипатерны: полеты пуль за тобой за угол и появление не впопад и.. короче всё плохо, но вот продажи же есть? на метакритик впрочем Activision плевать).
    Короче вот, начинай тут например, читай вакансии, параллельно учи базовые вещи которые нужны всем программистам.
    Ответ написан
    Комментировать
  • Как "визуализировать" работу с API?

    neuotq
    @neuotq
    Прокрастинация
    Как я понимаю лучше всего подходит https://ifttt.com/ мощный инструмент, правда не так давно стал платным.
    Ответ написан
    Комментировать
  • Как получается рассчитать время формирования блока в 10 минут?

    neuotq
    @neuotq
    Прокрастинация
    Сам хеш вычисляется быстро. Проблема в том, что нужно его подобрать согласно условиям. У биткоина это условие задаётся тн сложностью. Это условие меняется примерно раз в две недели так, чтобы скорость вычисления хеша и создания нового блока была примерно постоянная(10 минут). Таким образом поддерживается жизнеспособность сети, не будет перекосов если много мощности(грубо говоря защита от захвата, да и не только), но и не будет супер долгих ожиданий нового хеша если все майнеры уйдут, сложность вычисления снизится и единицы смогут снова искать новые хеши. а значит это станет выгодно и майнеры вернуться.
    При этом одновременно снижается периодически и вознаграждение за вычисление хеша для блока, что снова таки не проблема, тк система перестраивается на работу через комиссии.
    Ответ написан