Да, именно так и пробовал в первый раз. Создать плагин с методом install. И там сделать это присвоение. Очень удивился, что не заработало, очевидных косяков не обнаружилось, поэтому начал смотреть, как сделано у других.
Оба варианта — с миксином из vue-wait и с Object.defineProperty из Nuxt заработали сразу. И они мало похожи на то, что описано в документации. Вероятно, не без причины.
Как-нибудь попробую ваш вариант, спасибо.
1) Конкретно в моем проекте нет необходимости делать inject для axios. Вызовы API я храню отдельно, в компонентах и сторе this.$axios я не использую. В статье пример с axios был с целью показать конфигурирование библиотек внутри плагинов, а не Dependency Injection в корневой экземпляр Vue.
2) Такой способ из документации у меня не сработал, это упомянуто в статье.
Vue.prototype.$myMethod = function (methodOptions) {
// некоторая логика ...
}
Делать Object.assign в функции install вместо простого присваивания не пробовал.
Смысл такой же, как и в использовании глобальных миксинов и компонентов. Чтобы не делать импорт во всех файлах, если библиотека используется часто.
Понятно, что применять подобные зависимости надо обдуманно, чтобы не засорять глобальный экземпляр Vue.
это добавление еще одного поля — увеличит вес таблицы. Да и я не уверен, что сортировка по этому полю будет быстрее чем RAND(). Точнее, приемлемо быстрой
Это вопрос терминологии. Для меня full stack означает ширину знаний, а не только глубину. Вполне естественно, что в каких-то областях опыта больше, а в каких-то меньше.
Согласен, хороший вопрос для собеседования. Можно оценить уровень знаний кандидата, ну или посмотреть, как он рассуждает.
На счет решения проблем — именно на таких задачах и нарабатывается опыт. Можно было бы остановиться на генерации «на лету» и это прекрасно работало бы несколько лет. Но была возможно сделать чуть более идеальнее, почему нет.
Я не совсем понял вашу идею. Если уменьшится количество строк, то занимаемое место уменьшится, да.
А как дальше быть с таблицей? Как выбирать случайную строку, как удалять. Поясните, хотя бы кратко.
Полученную строку можно рассматривать не только как логин, но и как уникальный номер. Сертификата, купона и т.п. Поэтому было решено написать алгоритм, который работал бы одинаково быстро при любом количестве уже сформированных строк.
install
. И там сделать это присвоение. Очень удивился, что не заработало, очевидных косяков не обнаружилось, поэтому начал смотреть, как сделано у других.Оба варианта — с миксином из
vue-wait
и сObject.defineProperty
из Nuxt заработали сразу. И они мало похожи на то, что описано в документации. Вероятно, не без причины.Как-нибудь попробую ваш вариант, спасибо.
this.$axios
я не использую. В статье пример с axios был с целью показать конфигурирование библиотек внутри плагинов, а не Dependency Injection в корневой экземпляр Vue.2) Такой способ из документации у меня не сработал, это упомянуто в статье.
Делать
Object.assign
в функцииinstall
вместо простого присваивания не пробовал.Понятно, что применять подобные зависимости надо обдуманно, чтобы не засорять глобальный экземпляр Vue.
Генерация логинов выполнялась блоками. Нам не понравилось перемешивать их блоками. А если перемешивать их уже после создания, то это очень долго
написал в этом комментарии свое мнение по поводу уровня
На счет решения проблем — именно на таких задачах и нарабатывается опыт. Можно было бы остановиться на генерации «на лету» и это прекрасно работало бы несколько лет. Но была возможно сделать чуть более идеальнее, почему нет.
Я не совсем понял вашу идею. Если уменьшится количество строк, то занимаемое место уменьшится, да.
А как дальше быть с таблицей? Как выбирать случайную строку, как удалять. Поясните, хотя бы кратко.
Да, так и есть. Хотелось «идеального решения», поэтому смысл заморочиться с этим был. Интересная задача
ну вот, оказалось что сложно