На самом деле когда-то (лет пять назад) у нас уже был сервис «Случайные данные» (там выбирался один автор, одно произведение и одна статья ТЛ). Отображалось всё это на главной. Этот сервис был построен на юкозовских информерах. Но потом мы заметили, что работает это как-то некорректно, одни и те же имена «крутятся» в так называемых юкозовских «случайных выборах». У нас было предположение, что юкозовский сервис учитывал лишь тех авторов и те произведения, которые существовали на момент «старта» сервиса (а там ведь буквально пара сотен первых авторов сайта и несколько тысяч произведений, ну и всё). И этот глючный сервис убрали. Прошло несколько лет. И вот...
Теперь у нас есть новый (свой собственный) сервис «Случайные данные». От юкоза он уже не особенно сильно зависит (ну, разве что базы хранятся на юкозовском php-сервере). Да и сам алгоритм случайного выбора свой собственный. Если кому-то интересно, то там используется так называемый «метод кузнечика». См. о нём подробнее под спойлером.
Предположим, есть база из 11997 произведений. Именно столько у нас сейчас в избранных. На старте сервиса «кузнечик» стоит на нулевой записи. Определяется длина максимального прыжка как округлённо_к_целому(количество_всего/10), т. е. в данном случае это 1200. Определяются три случайных числа в пределах от 1 до длины максимального прыжка, т. е. в данном случае между 1 и 1200. К примеру, появились числа 543, 400, 1198. К нулю прибавляем 543 - выдаём запись с номером 543, затем к 543 прибавляем 400 - выдаём запись 943, затем к 943 прибавляем 1198 - выдаём запись 2141. Так получили три случайных записи. Они однозначно разные (в базе нет дубликатов). И записаем в базу, что три «прыжка» закончились на 2141. А в следующий раз «кузнечик» уже начнёт прыгать с номера 2141 + первое случайное + второе случайное + третье случайное. Примерно за 8-9 прыжков (точно сказать невозможно) «кузнечик» допрыгивает до конца базы, т. е. в какой-то момент цифра получается большей 11997, тогда отнимают от цифры 11997 - и «кузнечик» пошёл на «второй круг». Вероятность, что на каком-то круге «кузнечик» прыгнет на произведение, которое он уже до этого показывал, конечно, есть, но она довольно мала. Впрочем, всё здесь по воле случайности. По крайней мере, 8-9 раз «кузнечик» точно не сможет попасть на те же произведения (ну, просто он их уже «перепрыгнул» или же ещё до них не «допрыгнул»).
Как посмотреть случайные данные? На главной в левой колонке теперь всегда есть новая кнопка «Случайные данные». Пока она выглядит вот так:
Возможно, это не лучшее решение с точки зрения дизайна (слишком похоже на шапку раздела, а не на кнопку), но мы ещё подумаем.
Кроме того, страницу можно открыть по прямой ссылке или по той же ссылке, сохранённой в избранном вашего браузера. Сам алгоритм случайного выбора не привязан к описанной выше кнопке на главной, достаточно просто открыть или обновить страницу.
А что за данные там выбираются?
Раздел 1. Авторы сайта - три случайных автора сайта. Исключаются из выбора страницы из групп Закрытые, Архивные, Заблокированные, Технические клоны и ЛитО. Исключаются из выбора всякие «технические» страницы типа Анонимный_Конкурсант, Тестер, Техническая_поддержка и т. п.
Раздел 2. Рекомендованные произведения - три случайных произведения из рекомендованных редакцией (те, которые с пёрышком). Исключаются из выбора рекомендованные статьи из раздела «Теория литературы» (у них свой, см. ниже). Исключаются из выбора те рекомендованные произведения, которые находятся на главной (на момент выбора).
Раздел 3. Избранные произведения - три случайных произведения из избранных (любое произведение сайта, которое избрал хотя бы один человек). Исключений здесь нет. Но нужно учитывать, что иногда авторы включают опцию «скрыть произведение», а это может произойти и на избранном кем-то. И тогда, открыв произведение по ссылке, вы увидите надпись "произведение временно удалено автором", а не сам текст. Ну, что ж поделать, случается.
Раздел 4. Анонсированные произведения - три случайных произведения из анонсированных. Исключаются анонсированные статьи из раздела «Теория литературы». Сама новая база анонсов начала формироваться лишь с 17/10/2017 (подробнее см. здесь), т. е. анонсы только с этой даты.
Раздел 5. Материалы из раздела «Теория литературы» - три случайных произведения из раздела «Теория литературы» (статьи, словарь поэтических терминов, статьи-ссылки). Исключений нет.
Раздел 6. Случайная цитата из произведения - одна цитата из произведения сайта (у нас есть специальная база цитат, она периодически пополняется).
После того, как страница «Случайные данные» была сделана, нам подумалось, что получилось несколько «сухо»... поэтому был добавлен специальный бонус-раздел «Юмор наших авторов». Там одностишия, порошки, пирожки, четверостишия, гарики... Но всё только наше, т. е. авторов сайта. Сама база юмора постоянно пополняется.
Лично я использую этот раздел (и саму страницу «Случайные данные») для получения этакого заряда настроения на день (интересно ведь - а какое мне сегодня случайное юмористическое достанется, да и по стихам и авторам интересен случайный выбор).
"О холодильник! Лидер по просмотрам..." Юмор - это не ко мне, я умею его только понимать:) Но то коротенькое, что у вас уже есть - замечательно! Можно ещё послать вас к Лешему, к некоторым девочкам... Удачи!)))
А вот первое-
Авоська
я всю жизнь ишачил
заработать чтоб
скоро в ипотеку
взять сумею гроб
© Авоська
И вот это последне -
В такую ночь и умирать легко.
Пока ты спал без снов и без зазренья,
Неутомимый дальнобойщик Время,
Притормозив, решил пройтись пешком.
Это что-то или нечто!!! А сколько в этом смысла /лично для меня!/ Не могла не поделиться эмоциями!
Очень понравился "бонус-раздел",
спасибо:)))
Юмор - это не ко мне, я умею его только понимать:)
Но то коротенькое, что у вас уже есть - замечательно!
Можно ещё послать вас к Лешему, к некоторым девочкам...
Удачи!)))