balinof запостил недавно графики активности на форумах в последнем топике про репосквад.
Инструмент интересный, хотелось бы видеть его на постоянной основе как один из разделов профиля. Насколько сложно это реализовать в текущем форуме?
Донат На хостинг |
ISK за переводы до 75kk за 1000зн. |
Хроники EVE Сборник |
Новичкам Полезная информация |
balinof запостил недавно графики активности на форумах в последнем топике про репосквад.
Инструмент интересный, хотелось бы видеть его на постоянной основе как один из разделов профиля. Насколько сложно это реализовать в текущем форуме?
I think than the phrase "EVE Online is the game about internet spaceships" was misheard.
It is pronounced like "EVE Online is the game about internet spreadsheets".
До апдейта было видно где основная активность пользователя. После апдейта этого не видно.
Это хороший инструмент. Но для того, что-бы сделать это, мне пришлось просить Апа выполнить несколько запросов по интересующим меня юзерам. Насколько я понял - они достаточно сильно грузят базу.
Такая выборка была сделана в качестве исключения только для разбора полетов.
Конечно хотелось бы прикрутить к профилю юзера и инструмент для оценивания выставленной репутации (для вычисления реповойн) и детальный анализ активности пользователя. Но пока что это все делается через Апа или РХ по просьбе.
Кроме самого популярного у пользователя раздела и возможности компактного просмотра репутации в последнем апдейте также была выпилена возможность просмотра статистики количества постов от разных юзверей в отдельной теме. Какое удачное совпадение для одной специфической группы: сразу три крайне им нужных изменения в одном апдейте.
лог репы запилили по просьбам. количество постов по юзерам на месте(воопше только сегодня узнал об этой фиче из-за миссклика )
"самый популярный раздел" это что?
Сообщение отредактировал Denadan: 04 June 2013 - 18:21
Ева - тебя все равно убьют
---
That's not magic, that was just Pinkie Pie.
До апдейта было видно где основная активность пользователя. После апдейта этого не видно.
Это хороший инструмент. Но для того, что-бы сделать это, мне пришлось просить Апа выполнить несколько запросов по интересующим меня юзерам. Насколько я понял - они достаточно сильно грузят базу.
Такая выборка была сделана в качестве исключения только для разбора полетов.
Конечно хотелось бы прикрутить к профилю юзера и инструмент для оценивания выставленной репутации (для вычисления реповойн) и детальный анализ активности пользователя. Но пока что это все делается через Апа или РХ по просьбе.
Такую фичу можно запилить ценой одного дополнительного мегабайта на юзера. И почти-почти совсем без нагрузки на бд. Надо будет всего однажды выполнить адын балшой и тяжолый запрос. Самое тяжелое во всем этом - подобрать красивое оформление, чтобы графики в профиле не резали глаз.
Такую фичу можно запилить ценой одного дополнительного мегабайта на юзера. И почти-почти совсем без нагрузки на бд. Надо будет всего однажды выполнить адын балшой и тяжолый запрос. Самое тяжелое во всем этом - подобрать красивое оформление, чтобы графики в профиле не резали глаз.
Такую фичу можно запилить путем добавления одной лишней странички в профиль пользователя. Ты прав, бОльшую часть работы тут составит рисование внятного интерфейса.
И не надо, спаси Аллах, "один раз исполнять большой и тяжелый запрос" -- программеров у которых запрос 'select разделФорума, count(идСообщения) where Пользователь = ...' создает ненулевую нагрузку на БД, надо забивать насмерть книгой "SQL для чайников"
ну, во-первых, он таки создаст "ненулевую нагрузку", на то он и тяжелый. Как можно было подумать обратное?
а во-вторых, раз уж ты завел эту тему, если кого-то Аллах научит, как можно посчитать что-то, без использования селект и каунт, прошу озвучить, очень интересно. А то вон у людей даже книжка есть...
Интереса ради:
форумы тут имеют древовидную структуру, у форума есть id и parent_id, у корневых parent_id имеет значение -1.
Посты привязаны к топикам, топики к форумам, а форумы к другим форумам.
Далее надо разобраться:
если у человека активность в 2х или 3х подфорумах форума другие игры, то какую статистику надо выводить юзерам?
Статистику по форумам, к которым принадлежат посты или по по родителю?
Средствами SQL по родителю не вывести, так как в mysql нету поддержки рекурсии, а есть только костыли.
Значит придется парсить выборки в php и на основе выборок делать элементарные подзапросы, но админу-то это, думаешь, надо? Но в этих случаях инфа будет актуальная.
Другой вариант: создать табличку, в которой будут продублированы ID'шники форумов, и при посте юзера через php или триггер на таблице posts делать +1 к счетчику для этого форума на против id юзера. Но как тогда быть при переносе тем? При удалении постов, при их объединении? Надо будет много переписывать в исходниках форума или писать пачку хитрых триггеров (я незнаю, реализуемо это или нет), иначе инфа не будет актуальной.
Если есть 3й и 4й, а то и 5й варианты от гуру sql, которых тут пруд пруди - пишите, не стесняйтесь!
٩(̾●̮̮̃•̃̾)۶ [☠] [☠] [☠] [☠] [ ? ] ٩(̾●̮̮̃•̃̾)۶
Сообщение отредактировал Pointer: 12 June 2013 - 1:19
Но как тогда быть при переносе тем? При удалении постов, при их объединении?
дядя Оккам вертится в гробу
было бы за что рорку рвать
человек постил в политике. Зашел в политику и отпостил. Получил +1 политический пост в статистику. И глубоко фиолетово - удалили его пост, удалили всю ветку, или пришел Кленси и унес пол ветки в оффтопик. Потому что человек постил в политику.
Как раз наоборот, печально, что при составлении стартовой статистики невозможно будет учесть передвинутые темы.
у форума есть id и parent_id, у корневых parent_id имеет значение -1.
...
Средствами SQL по родителю не вывести, так как в mysql нету поддержки рекурсии, а есть только костыли.
А зачем рекурсия? простого IF хватит за глаза, если что.
Спойлер
Про отдельную таблицу идея хорошая
root_id || forum_id
В 100500 потоков они форум не положат, когда я парсил, то столкнулся с лимитом, примерно 2000 запросов в 120 секунд минимум, то бишь отработав 2000 запросов хоть за минуту, хоть за полторы форум посылает тебя в даун примерно на полминуты, так что задрачиваться не прийдется. Мускуль имеет триггеры.
На тему переноса постов или топиков можно насрать, так как при переносе изменится forum_id в таблице топиков. Критично только если будет перенос форумов или их слияние, тогда надо будет ручками поправить эту отдельную таблицу, но труда это не составит, так как форумом тут десятка 3 или 4. Запрос так же будет летать, так как forum_id в ней повесим на индексы, как и root_id, а topic_id, post_id и forum_id других таблиц уже проиндексированы.
up.'у на заметку!
Спойлер
Сам себе противоречишь, то тебе пофигу на удаление поста, а то наоборот печально
В твоем варианте - пинай админа, чтобы он отредактировал php при постинге темы. Решение в первой цитате этого поста на мой взгляд лучше.
٩(̾●̮̮̃•̃̾)۶ [☠] [☠] [☠] [☠] [ ? ] ٩(̾●̮̮̃•̃̾)۶
0 members, 1 guests, 0 anonymous users