Свій перший пост я почну з опису нутрощів сервісу.
Основне завдання сервісу - розширити цифри, які показані на офіційній сторінці статистики та "оживити" їх.
Там ви бачите лише поточну кількість очок гільдій і її місце в таблиці ТОП-100.
У моєму сервісі є ряд поліпшень:
2) Ви бачите скільки вас відділяє очок від гільдії, яка йде попереду. І можете знати, скільки залишилося набрати очок гільдії, яка знаходиться на 1 місце нижче вас. Ці цифри дозволяють стежити за вашим темпом серед суперників і бачити як сильно ви втрачаєте позицію або, навпаки, можуть спіткати найближчого суперника.
3) І, нарешті, всі цифри можна порівнювати з іншими гільдіями.
У недавні часи сервіс був змінений. По суті я повністю переписав його код і практично повністю поміняв алгоритми збору інформації і його підрахунку. Залишився тільки мінімалістичний дизайн сайту, який я вважаю вдалим - його фішка в тому, що він не "рве" очей. Так само я не став обважувати сайт свистілки-перделкі, щоб було все красиво. Тому дизайн отримав дрібні правки і залишився тим же.
Статистика складається з двох частин: збирача інформації (граббер) і сайту, на якому показується інформація (паблік).
Являє собою ряд мінімалістичний скриптів (чанкі), завдання яких виконати свою функцію і більше нічого. Деякі чанкі вміють запускати інші чанкі, а деякі засипають і нікому нічого не повідомляють.
Так, наприклад, щоб записати інформацію в базу даних по типу "дата-гільдія-окуляри" потрібно послідовний запуск 4 скриптів: вибрати сервер, скачати сторінку з офіційного сайту, вичленувати цифри, зберегти дані. Потім ще один скрипт записує всі цифри в базу даних. Його завдання - знизити кількість інформації, що зберігається в базу даних в 10 і більше разів.
Раніше: сервер не "засмучувався" відсутньої цифрою і йшов далі. Він знаходив цифру поряд (наприклад ще на 2 дні раніше), і вважав її результатом. Але це давало наближений результат.
Таким чином виходять прирости за сьогодні / вчора /. /30 днів.
Самі цифри показуються на паблік - простому сайті на простому фреймворку. Для того, щоб сайт отримував мінімум навантаження, спеціальний шостий скрипт готує спеціальну таблицю в базі даних і заповнює її вже готовими цифрами. Тобто інформація для відвідувача готується заздалегідь і після цього він працює тільки зі зліпком вже обчислених даних. А раз нічого не треба вже обчислювати, сайт працює дуже швидко і не гальмує. Так само таку маленьку таблицю дуже просто сортувати і це абсолютно не створює ніяких навантажень.
Як же працює таблиця "Все сервера"? Якщо у нас запитують тільки один сервер, виводиться 100 записів. Інакше - виводимо всі 800. Тобто таблиця "все сервера" завжди містить 800 записів, які представляють результат найостанніших розрахунків статистики.
З тих пір я не належу до цифр в своїх прогнозах настільки безтурботно.
Едрён батон, не думав що у ГОЛ такий відрив від Армади на ГВ.
Статистика це добре.
Ще пам'ятається був такий ось сайт у нього взагалі супер функціонал.
Якби його хто-нить реанімував
1) Чи можна було зробити все сервера.
3) динаміка БСЛ коштує +1 місце. Я, чесно кажучи, скільки пам'ятаю, вони завжди на цьому місці.
4) Оновлення раз о третій годині не дуже актуально: офіційний сервер працює з інтервалом півгодини, максимум годину. Правда у мене трохи складніше - мені треба обійти всі сервера. Тому виставлений паркан однієї сторінки з одного з Шардена раз в три хвилини.
А так дуже непогано зроблено, є поділ по фракціях, нормальна колірна гамма, сортування.
Можна, але гільдія "расколовская" і статистика по інших серверів не цікава.
Дельта береться сумарна без прив'язки до 4 вранці. Тим більше, як Ви говорите, статистика оновлюється раз на півгодини-годину, то при чому тут 4 годині ранку?
Раз на три години - цілком нормальний час, тому що live трансляцію робити не хочеться) Статистики по набору за годину немає, є тільки за добу, але і це цілком вистачає, щоб зрозуміти динаміку набору.
P.S. Від статистики по набору за годину і я відмовився. Користь сумнівна, а контрольних точок в 24 рази більше.
На сайті прикручена форма сторонньої системи для обговорення ідей. Якщо у вас є якийсь процес, який доводиться виконувати вручну, його можна обговорювати в цій системі разом з іншими користувачами. Якщо виявиться, що багато людей робить якусь марними роботу, я постараюся автоматизувати вам процес. Але без ваших обговорень, я можу до цього не здогадатися)