[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
Ctrl предыдущая следующая Ctrl Страницы
1 ... 3 4 5 6 7 8 9

Форум «Программное обеспечение» / Немножко простейшей КлавоСтатистики :)

Сударушка Сообщение #161 11 января 2021 в 17:49
Маньяк
64
nosferatum писал(а):
Поправьте, битте, ежели я гоню?

Да, так и есть! С какой-то погрешностью, но вполне допустимой и уж по крайней мере, всяко лучше, чем общее количество текстов.
Практически это то же самое, о чем говорила я, только правильнее)
__________________________________________

nosferatum, спасибо за развернутый ответ!

nosferatum писал(а):
Если ты согласна поставить локально Джаву и MySQL, то сможешь выгружать произвольный словарь в текущем формате топа. :)

Нет, не согласна :)

nosferatum писал(а):
Как мы должны определять, премиум игрок или нет?

Насколько понимаю я, это определяется таким образом – видим статистику за день по словарю – Премиум есть, не видим – нет.
Из той выгрузки базы, которую делал ты, вполне вероятно, этого не видно.
Я мечту по точному подсчету набранного в символах излагала не для того, чтобы ее реализовывал ты, а чтобы во Вселенную послать свое желание, которое, как известно, если хотеть по-настоящему, Вселенная исполняет. Ну а может, чтобы услышав твои доводы о сложности задачи (хотя я и так это понимала), понять, что это нереально. Ну и ладно, мечтать – не вредно, вредно – не мечтать!

В принципе варианта с примерным подсчетом символов из времени по словарям вполне достаточно!
Последний раз отредактировано 11 января 2021 в 17:50 пользователем Сударушка
Phemmer Сообщение #162 12 января 2021 в 00:03
Супермен
71
nosferatum писал(а):
Поправьте, битте, ежели я гоню?

Будет погрешность тем больше, чем больше менялась скорость в статистике. Средняя скорость - она вроде отражает только 300 последних текстов. Чтобы получить более точно нужна была бы средняя скорость за весь период набора.
Если скорость была значительно ниже в начальном периоде статистики, расчет символов будет завышен. Завышенные цифры отображать в топе - не очень хорошо...
nosferatum Сообщение #163 12 января 2021 в 00:15
Супермен
34
Phemmer писал(а):
nosferatum писал(а):
Поправьте, битте, ежели я гоню?

Будет погрешность тем больше, чем больше менялась скорость в статистике. Средняя скорость - она вроде отражает только 300 последних текстов. Чтобы получить более точно нужна была бы средняя скорость за весь период набора.
Если скорость была значительно ниже в начальном периоде статистики, расчет символов будет завышен. Завышенные цифры отображать в топе - не очень хорошо...


Да, в чате уже высказывали мнение, что средняя по последним 300 только считается, то есть это не подойдёт. Надо проверить сию гипотезу, взяв чей-нибудь CSV и посмотрев, по скольки текстам средняя будет совпадать с отображаемой средней.
nosferatum Сообщение #164 27 января 2021 в 03:22
Супермен
34
Статистика обновлена, наконец-то автоматическим образом!

Вы надеялись, что на проекте ничего не происходит, ан нет :)
Просто рефакторинг кода и написание/отладка скриптов заняли достаточно много времени, плюс пара недель была достаточно плотно занята, не было возможности каждый вечер посвящать Клавостату. Как и анонсировалось, спринт получился техническим, и он был необходим.

Значительная часть работы (а именно практически всё по GitHub Actions и kghackers.github.io) сделана devrialex, так что очередной раз большой респект Саше за труд и время!

  • Теперь весь процесс от загрузки для деплоя на тестовые окружения можно запустить из пайплайна в GitHub Actions. В процесс входят:
    — Загрузка данных с КГ.
    — Импорт данных в БД.
    — Генерация страниц статистики на основе БД.
    — Создание дампа БД.
    — Загрузка архивов (json файлы, дамп базы, сгенерированные страницы статистики) и json-конфигов (для запуска и результатов загрузки данных) в S3-бакет с данными. Ретроспективные данные пригодятся когда-нибудь, когда дойдём до ретроспективы по топам. Пока это просто значит, что исторические данные мы сохраняем.
    — Загрузка страниц статистики в тестовый бакет, который доступен по адресу http://klavostat-test.s3-website.eu-central-1.amazonaws.com/.
    — Коммит страниц статистики в репозиторий kghackers.github.io, который хостится на https://kghackers.github.io/.
  • Таким образом, главный итог заключается в том, что обновление статистики теперь на огромный процент автоматизировано, и его можно с минимальными усилиями запускать почаще.
    — Что прям никак не автоматизировано — это получение максимального айди игрока, по который запускается загрузка данных. В принципе, как workaround, можно туда пока жёстко указывать заведомо ещё слишком большой айдишник (например, 650000 для текущего момента). Но в идеале нужно, конечно, запрашивать номер из сервиса, который хранит номер последней регистрации (что-то подобное было у un4given, он получал и сохранял последние регистрации).
  • Отдельно отметим плюс того, что, так как сайт сейчас полностью статический, то получилось сделать хостинг на GitHub Pages — https://kghackers.github.io/. Таким образом, даже если у меня пропадёт желание оплачивать ресурсы AWS (в частности, доменное имя), то статистику всё равно можно будет генерировать и бесплатно хостить на https://kghackers.github.io/.
  • После проверки на тестовом окружении того, что генерация прошла успешно, в одну команду запускается скрипт, который копирует тестовое окружение в продовый бакет (то есть обновляет https://klavostat.com).
  • При разработке автоматического процесса пришлось столкнуться с немалым числом проблем:
    — Дохлый free-tier EC2 инстанс t2.micro, с которого я раньше запускал загрузку данных, не тянет текущий процесс загрузки и генерации из-за нехватки оперативки. И раньше он не мог зазиповать все json-файлы в один архив, а теперь ещё и не тянул длительную и активную работу Spring Boot приложения.
    — Запуск загрузки в 100 тредов стабильно работает только глухой ночью. Днём (то есть когда на сервере есть какое-то число игроков) начинаются массовые отлупы от nginx Клавогонок со статусом 502 (то есть становится плохо бэкэнду, стоящему за nginx). Так что последние полные загрузки запускались в 50-60 тредов. Это работает несколько подольше (грубо говоря, 2 часа вместо 1 часа 20 минут), но стабильность, несомненно, выше.
    — Различные окружения у меня локально на Windows и на Линуксе, используемом в GitHub Actions. В частности, есть разница в настройках кодировки и версиях для MySQL.
    — При отладке на маленьких объёмах данных (например, 100 игроков) возникали неочевидные падения, которые не проявляются на полном объёме данных. Из самого смешного — на главной странице захардкожен рекорд iforrest по рейтингу за месяц. Если игрока iforrest не было в базе, то генерация главной страницы падала :)
    — И так далее.
  • Веб-модуль статистики отделён от веб-модуля старого парсера. Задача 15.
  • Серверная часть, касающаяся статистики, также по максимуму вынесена в свой модуль kgstatsSrv. В общем старом серверном модуле остались лишь общие сущности и энумы типа «словарь», «машина», «билдер урлов» итд итп.
  • Значительно перерефакторены конфиги для запуска процессов статистики. Наконец можно включать/выключать генерацию того или иного топа конфигом, а не правя код.
  • Генерируемые страницы исключены из Сонара. В дальнейшем они будут удалены из исходников проекта kgparser. В принципе, уже новая версия статистики не коммитилась в исходники, а загружается в бакеты, хостящие сайт, и в репозиторий kghackers.github.io.
  • Исправлено большинство тривиальных ишью в Сонаре. Динамику можно смотреть вот здесь.
  • Отдельно поздравляем Дашу HelixOfTheEnd cо 2 местом по скорости в буквах после блестящего рекорда!
  • Также, наконец, отображается эпический общий пробег Kenichi, который уже перевалил не только за 300К, но и за 302К. Это что-то нереальное!


Чего нет?
  • Нет хостинга предыдущих версий топов и ссылок на них. Пока остаются захардкоженными копирование в текущую стату первого топа от 09.12.2020 от и ссылка на него из пункта меню. Я думаю о том, чтобы:
    — Убрать и первый топ из исходников и из хостинга.
    — При большом желании (то есть если будут хоть какие-то запросы на данную функциональность) можно сделать на сайте отдельную страницу, с которой можно будет скачать исторические зип-архивы прошлых версий сайта статистики из бакета данных.
    — Хостить по несколько тысяч страниц каждого старого топа в бакете я вижу нецелесообразным, т.к. это приведёт к росту цены хостинга с каждым обновлением (пока это копейки, но чем больше файлов, тем больше цена).
    — В целом мне кажется, что предыдущие версии топов людям вообще малоинтересны, пока нет нормального отображения исторических данных.
  • Супердинамической генерации топов по любым словарям через конфиги. Сейчас пункты меню и генерируемые словарные топы остаются захардкоженными, конфиг только включает/выключает генерацию каждого из захардкоженных топов.


Что дальше?
  • Процесс деплоя из тестового окружения в прод также добавить в GitHub Actions, чтобы он был запускаем в один клик не скриптом, а из пайплайна.
  • Документировать текущий процесс — как сейчас работает обновление статистики.
  • FGJ — первые две загрузки данных тоже залить в бакет исторических данных в текущем формате (вручную придётся их заархивировать и создать конфиги, но все данные для этого есть).
  • Черновые страницы с данными по популярным словарям удалены. Их нужно сделать чистовыми и добавить в генерацию.
  • В размеренном темпе начать разрабатывать мультисловарные топы.


Любые фидбэк, критика, запросы, донаты, контрибьюты в код, вообще любое участие — herzlich приветствуются, wie immer!
Последний раз отредактировано 27 января 2021 в 03:46 пользователем nosferatum
nosferatum Сообщение #165 30 января 2021 в 04:30
Супермен
34
Добавил первую, черновую версию топа по Мультилингве

  • Запрос от Дашиhttp://klavogonki.ru/forum/software/59/page6/#post108.
  • Выбраны незаблокированные игроки, у которых есть статистика по хотя бы 5 мультилингвальным словарям, не включая «Обычный».
  • Страница из 52 словарей даже всего для 93 игроков получилась тяжёлой, уже больше 2 мегабайт. Возможно, нужно удалять некоторые столбцы, поэтому высказывайте предложения.
  • Сначала идёт «Обычный», далее нестандартные словари упорядочены по коду словаря.
  • Не забывайте обновлять через Ctrl + R, в крайнем случае — чистить кэш. Со старыми стилями будет криво выглядеть шапка при скролле, а также будут переноситься значения в ячейках, чего не должно быть.
  • Вообще на данном первом многословарном топе нужно отладить баги/замечания по всем потенциальным нужным многословарным топам.
  • Сортировка выполнена по сумме рекордов, как в требованиях.
  • Супернавороченные пайвот-SQL-запросы решил не писать, сделал тупо запрос данных по всем игрокам по набору кодов словарей, а дальнейшая обработка уже в Java.
  • Названия ссылок в шапке для нестандартных словарей ведут на страницу соответствующего словаря. Для стандартных же режимов (в данном случае это только «Обычный») — не знаю, куда делать ссылку (разве что на раздел «Об игре»?), своих страниц у стандартных режимов нет. Если есть идеи — предлагайте!


Пока нет:
  • Выгрузки в Excel.
  • Пейджинга.
  • Поиска по логину. Для одностраничного короткого топа вполне можно найти через Ctrl + F, я думаю.
  • Других сортировок — не уверен, какие нужно делать и особенно нужны ли другие сортировки в Мультилингве. И какие нужны сортировки в других многословарных топах?
  • Ссылки на эту страницу из шапки. Страница пока черновая, выдана на суд коммьюнити.


Просьба дать максимальный фидбэк по тому, что подправить/убрать/улучшить, и как вообще делать многословарные топы. И какие многословарные топы нужны (пока были предложения: Билингвальный RU + EN, Хрустяшки (суперспециальный топ!), Упражнения Кащея).

Также выражаю огромное спасибо и респект Никите PROFI, который закинул, наконец, первый донат в истории Клавостатистики! :)

Спасибо за внимание! Пожалуйста, пишите что-нибудь в тему, любой фидбэк лучше, чем его отсутствие! :)
Последний раз отредактировано 30 января 2021 в 04:32 пользователем nosferatum
Speedyman Сообщение #166 30 января 2021 в 07:34
Экстракибер
54
Дашин запрос по мультилингвальному топу выполнен, Даша должна быть рада.
Топ по упражнениям Кощея, вероятно, будет сложно реализовать, так как упражнений очень много: 364.
HelixOfTheEnd Сообщение #167 30 января 2021 в 08:41
Супермен
1
nosferatum писал(а):
[*] Страница из 52 словарей даже всего для 93 игроков получилась тяжёлой, уже больше 2 мегабайт. Возможно, нужно удалять некоторые столбцы, поэтому высказывайте предложения.

такой топ, конечно, тоже хороший, потому что в нём есть всё, но я бы оставила только "Всего", а у остального оставила столбец "Рекорд" и "Пробег". так таблица станет занимать меньше места и можно будет наглядно смотреть хоть как-то. можно даже разделить на две таблицы - одна скорость, другая пробег, тогда будет виден контраст в числах в зависимости от языка.

моя изначальная идея как раз и была сделать таблицу маленькой и компактненькой, а не на "20 экранов", не вижу особой нужды в показывании средней, ошибок, времени для каждого отдельно взятого языка.

странно, у Мишки когда считала получалось 23491(причём несколько раз с переподсчётами), видимо, что-то забывала, но так и не смогла найти что(разница получается 365, а у него таких рекордов нет). спасибо за таблицу, теперь знаю точные числа.

насчёт "Средняя" и "% ошибок" в "Всего"... не думаю, что % ошибок вообще нужен, а "Средняя" в "Всего" лучше показывать как "Сумма/Количество" (можно поменять надпись на "средняя рекордов" или добавить новый столбец), ИМХО, так было бы лучше.

по поводу времени и пробега: у многих вижу по 600+ часов, даже у тех, кто очень низко в топе и у кого почти нет словарей, предполагаю, что бОльшая часть идёт из "Обычного", может, не считать его?

другие сортировки... разве что, как пробег альтернативно(но без учёта Обычного, потому что это не совсем мультилингва). но в принципе суммы рекордов более, чем достаточно.

ещё можно было бы отмечать абсолют красным или жирным для языков, но это, наверное, слишком сложно реализовать и практической пользы особо не несёт.

спасибо за таблицу, всё хорошо, только неудобно, что очень длинная. остальное уже так, не особо важно.
Phemmer Сообщение #168 30 января 2021 в 10:03
Супермен
71
Спасибо за такую таблицу!
Мой фидбэк:
1) Возможно ли прокрутке вправо закрепить столбики # и Логин? Было бы очень удобно.
2) Убрать колонки "Квала", "Общее время". Колонки "Средняя", "Ошибки", "Обновлено" оставить. В группе "Всего" оставить "Общее время".
3) Как вариант - сделать отдельную таблицу с минимальными данными (только рекорд и пробег в столбцах словарей). Я считаю, все равно не получится сделать одну таблицу на 52 словаря компактной - лучше сделать две: краткую и подробную.
4) Сортировку словарей сделать так: Обычный, Обычный in English, дальше сортировка по названию словаря. Айди словаря ни о чем не говорит.
5) Возможно столбики "Рекорд" в словарях выделить жирным, чтобы выделялось как важный столбик и визуально как граница словарей, или отделить колонки словарей друг от друга чуть более жирными границами.
6) Столбик "Пробег" группы "Всего" сейчас мало что показывает, так как у многих большую часть пробега составляет в пробег в Обычном или Обычный in English. Либо показывать пробег по всем словарям кроме Обычный и Обычный in English, либо сделать два столбика: по всем и по всем без этих двух. То же касается и столбика "Общее время".
7) В средней скорости можно выводить одну цифру после запятой. (убирать совсем знаки после запяток не стоит, чтобы визуально отличать по стилю от других столбцов)
Последний раз отредактировано 30 января 2021 в 10:07 пользователем Phemmer
AvtandiLine Сообщение #169 30 января 2021 в 19:51
Кибергонщик
61
http://klavogonki.ru/forum/clubs/1/page86/#post1736

nosferatum писал(а):
Доброго дня Элеоноре Алексеевне и всем причастным!

Я подозреваю, что из живых тем именно здесь собираются фанаты Мультилингвы :)

Думаю, вам будет интересен топ по Мультилингве, а я, в свою очередь, заинтересован в обратной связи, чтобы понять, что делать с этим и другими мультисловарными топами.

Это черновая версия. Подробно смотрите вот в этом посте, фидбэк тоже желательно в ту тему (можно также мне в ЛС).

Доброго дня энтузиасту Клавостатистики! :)
Спасибо за ссылку, я тоже надеюсь, что она поможет привлечь побольше внимания к теме мультисловарных топов.

Фидбэк от меня не будет подробным, так как в данный момент у меня к теме чисто прагматический интерес. Мне бы ввести в какую-нибудь форму никнеймы и языки и получить моментальную справку: местный ранг и текущий рекорд, средняя, ошибки, может ещё частотность рекордов, и квалу. И эту оперативную статистику выложить к началу очередного тура. — На этом у меня всё. :) А у HelixOfTheEnd как инициатора запроса, и также, надеюсь, у Phemmer'а, iforrest'а интерес может быть исследовательский. Для исследовательского изучения таблица может быть и большой.

Словом, для активного (как прикладного, так и аналитического) взаимодействия с такой таблицей любому из нас пригодилась бы, я думаю, возможность получать информацию порциями, отфильтрованную, по своему собственному запросу через какую-то форму. Вот такой максимализм. Но реально запрашивать, разумеется, не смею и не стала бы.

фидбэк тоже желательно в ту тему (можно также мне в ЛС).

Да, конечно, вот и дублирую сюда.
pashkhan Сообщение #170 23 февраля 2021 в 00:58
Супермен
82
Возможно моя задумка не совсем по адресу, и осуществить ее может только администрация, но мне бы очень хотелось увидеть топ словарей по следующим правилам:
У нас есть награды за пробег, которые выглядят так



Словари ранжируются по кол-ву игроков имеющих медальки за пробег в этом словаре. При том, более старшая медалька автоматически переводит словарь в высшую лигу. т.е. на самом дне находятся 99% всех словарей, т.к. у каждого из этих словарей нет ни единого игрока, у которого была бы хотя бы 1 медалька (пробег 300) - все эти словари нам не интересны и можно спокойно жить и не знать о их существовании. Далее идут все словари, которые имеют хотя бы 1 игрока с самой первой медалькой, тут уже они начинают выстраиваться в иерархию по кол-ву таких игроков (у кого их больше). Но как только появляется словарь, у которого есть хоть 1 игрок со следующей медалькой (пробег 1000) - этот словарь сразу же попадает в следующую лигу, и автоматически круче всех предыдущих словарей (даже если там есть словарь, у которого 100 игроков с первой медалькой, а у этого - всего 1 игрок, но со 2-й медалькой). И теперь в этой лиге уже словари меряются медальками-звездочками, у кого их больше; следующая лига - кубок, потом корона и т.д. Мне кажется такой топ был бы более интересным, чем то - что есть сейчас.
ФЛУДОНИМУС Сообщение #171 23 февраля 2021 в 02:38
Новичок
1
А как посмотреть клавостатистику?
ТОМА-АТОМНАЯ Сообщение #172 23 февраля 2021 в 08:04
Супермен
106
ФЛУДОНИМУС писал(а):
А как посмотреть клавостатистику?

https://kghackers.github.io/
nosferatum Сообщение #173 24 февраля 2021 в 16:41
Супермен
34
pashkhan писал(а):
Возможно моя задумка не совсем по адресу, и осуществить ее может только администрация, но мне бы очень хотелось увидеть топ словарей по следующим правилам:
У нас есть награды за пробег, которые выглядят так



Словари ранжируются по кол-ву игроков имеющих медальки за пробег в этом словаре. При том, более старшая медалька автоматически переводит словарь в высшую лигу. т.е. на самом дне находятся 99% всех словарей, т.к. у каждого из этих словарей нет ни единого игрока, у которого была бы хотя бы 1 медалька (пробег 300) - все эти словари нам не интересны и можно спокойно жить и не знать о их существовании. Далее идут все словари, которые имеют хотя бы 1 игрока с самой первой медалькой, тут уже они начинают выстраиваться в иерархию по кол-ву таких игроков (у кого их больше). Но как только появляется словарь, у которого есть хоть 1 игрок со следующей медалькой (пробег 1000) - этот словарь сразу же попадает в следующую лигу, и автоматически круче всех предыдущих словарей (даже если там есть словарь, у которого 100 игроков с первой медалькой, а у этого - всего 1 игрок, но со 2-й медалькой). И теперь в этой лиге уже словари меряются медальками-звездочками, у кого их больше; следующая лига - кубок, потом корона и т.д. Мне кажется такой топ был бы более интересным, чем то - что есть сейчас.


Добрый день, Паша.
Спасибо за понятное описание требуемой фичи.
Это можно сделать на текущих данных в моей базе. Я посмотрю, насколько это просто/сложно.


ФЛУДОНИМУС писал(а):
А как посмотреть клавостатистику?

В первом сообщении этой темы перечислены ссылки :)
pashkhan Сообщение #174 24 февраля 2021 в 21:13
Супермен
82
nosferatum, Здорово! Замечательная новость, очень буду надеяться что удастся реализовать. Возможно, топ словарей по этим правилам во многом совпадет с текущим топом "по популярности", но тут будут учитываться "успехи" словарей за все время сайта, и возможность даже 1 человеку "прокачать" любимый словарь до вершин топа - дорого стоит. Намного интересней посмотреть и узнать словарь, которому кто-то уделил немеренное кол-во времени, чем на словарь - которой тысячи человек проехали десяток раз и забили.
Speedyman Сообщение #175 24 февраля 2021 в 22:03
Экстракибер
54
pashkhan писал(а):
возможность даже 1 человеку "прокачать" любимый словарь до вершин топа - дорого стоит. Намного интересней посмотреть и узнать словарь, которому кто-то уделил немеренное кол-во времени

У меня мизинцы+ в скором времени будут прокачаны до 5К пробега.
ergozorax Сообщение #176 25 февраля 2021 в 16:12
Кибергонщик
1
Недавно возникла идея посмотреть все возможные заезды Лигурии, и сделать тепловую карту, на которой можно увидеть места где люди чаще всего спотыкаются. Жаль что клавогонки не предоставляют такую информацию. Это так, идея для создателей убийц клавогонок.
pashkhan Сообщение #177 27 февраля 2021 в 13:53
Супермен
82
Еще один любопытный вариант анализа словарей пришел мне на ум. В данный момент я собираю результаты опроса по топ10 самых полезных словарей для развития скорости, от самых быстрейших клавогонщиков сайта (топ 120 этой недели). Мы договорились, что стандартные режимы не будут учитываться (Обычный, Абракадабра, Яндекс.Рефераты, Безошибочный, Марафон, Буквы, Спринт и Цифры), так же не берем в расчет книги, цифро словари, английские и др. иностранные языки, а так же масштабные курсы (упражнения Хруста, словари Кощея и т.п.). Результаты получатся очень интересными и скоро будет опубликован, единственное, человек может считать полезными одни словари и рекомендовать их, при этом сам наматывать пробег совершенно по другим. Ну и полноценно опросить всех быстрейших за всю историю сайта не получится, статистика тут может сказать много больше, вот что я предлагаю:

Сделать топ словарей среди суперменов. В самом низу те словари, по которым есть медалька за пробег (300); далее звездочка (1000), потом кубок, корона и т.д. Потом такой же топ для кибергонщиков и экстракиберов.

т.е. в данной таблице, ты можешь выбрать ранг тех игроков, чьи словари будут анализироваться. А затем "категорию" этих словарей (медалька, звезда, кубок, корона и т.д.). И получить результат, список словарей отсортированный по кол-ву игроков в данном ранге с этими медальками.

Чтобы писать в форуме, нужно зарегистрироваться.

Ctrl предыдущая следующая Ctrl Страницы
1 ... 3 4 5 6 7 8 9

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена