-
Возможна ли на практике реализация генератора случайных ID треков? Например, генератор выдающий случайные число-буквенные комбинации в таком же формате, как у Spotify, в сочетании с функцией, проверяющей, существуют ли треки с такими идентификаторами в реальности? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Мы не знаем как формируется id. Сгенерировать сотню другую строчек не проблема. Но не хватит ресурсов проверить их на существование. К тому же это совершенно нерелевантная выборка. Не совсем понятно о какой случайности идет речь:
Для себя объясняю отсутствие случайности сложным процессом взаимодействия. Представляем, что функция перемешивания ничего не знает о контексте. Дали набор треков, перемешали, вернули. Но мы в свою очередь уже слушали этот набор треков. Получается, что независимые друг от друга перемешивания действительно случайны, но в нашем контексте возникает искажение. Одни треки слышим чаще чем другие из-за того, что не завершаем прослушивание предыдущего независимого перемешивания. Собственно изначальная цель goofy и была в том, чтобы избегать повторов всеми доступными способами. Удалять историю прослушиваний, вытеснять по дате добавления. Сюда в последствии добавилась возможность удаления треков. То есть перемешать один раз на нашей стороне, сохранить и постепенно удалять из плейлиста прослушанное. Таким способом обеспечиваем полное прослушивание одного перемешивания. Забавы ради можно поиграться и с нерелевантными случайными треками function findRandomTracks() {
let tracks = Source.mineTracks({
keyword: [generate(), generate(), generate(), generate(), generate()],
});
if (tracks.length == 0) {
findRandomTracks();
return;
}
Filter.dedupArtists(tracks);
Playlist.saveWithReplace({
name: 'Случайные треки из поиска',
tracks: tracks,
randomCover: 'update',
})
function generate() {
return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5);;
}
} |
Beta Was this translation helpful? Give feedback.
Мы не знаем как формируется id. Сгенерировать сотню другую строчек не проблема. Но не хватит ресурсов проверить их на существование. К тому же это совершенно нерелевантная выборка.
Не совсем понятно о какой случайности идет речь:
Для себя объясняю отсутствие случайности сложным процессом взаимодействия. Представляем, что функция перемешивания ничего не знает о контексте. Дали набор треков, перемешали, вернули. Но мы в свою очередь…