Жесть))) Наверное там не постраничная навигация, а просто костыль с ссылками на другие страницы. И в зависимости от важности клиента его перемещают по страницам, вместо того чтобы сделать поле «важности» в БД и сортировать по нему.
Сразу представляю как кто-то прое… лся с Битриксом пол дня и в конце концов родил такой вариант.
Я делал динамическую смену языка следующим образом:
— на клиенте шаблонизатор
— данные для рендеринга шаблонов кешируются на клиенте
— языковые файлы в отдельном хеше
— языковые фразы вставляются через шаблонизатор
— следовательно сменить хеш на другой язык и прорендерить страницу заново не составляет труда
— без обращения к серверу — так как данные для страницы закешированы
Понятно что все это делалось не ради динамической смены языка — она просто как бонус получилась сама собой.
Зашел в свой гугл аналитикс специально посмотреть — и вижу данные за час до текущего момента.
Там по-умолчанию период стоит по дням, а текущий день не включён в отчет как неполный. Если поставить период по часам и включить текущий день в отчёт всё показывается как надо.
Пока нагрузка не чувствуется, и соответственно с нашей стороны пока ничего не делается по улучшению производительности. Закладываются только пути отступления на будущее, если начнет тормозить по вине сервера.
Вебсокеты побаиваюсь использовать. Посмотреть бы реальные числа сколько выдерживает сервер одновременных соединений и как это сказывается на нагрузке.
Про джобы не понял. Заказал игрок производство высчитываем когда оно завершится и ставим это время в БД. Потом при выдаче города определяем построилось оно уже или нет сравнивая с текущим временем. Примерно так работает. При перемещение записываем в какое время он будет в каждой клетки и при считывании юнита опять сравниваем с текущим временем определяем местоположение.
Согласен — нужно по-любому делать механизм работы как со сжатой версией как и с несжатой. И желательно простой механизм переключения между ними. Иначе дебажить крайне неудобно.
Сразу представляю как кто-то прое… лся с Битриксом пол дня и в конце концов родил такой вариант.
Я это уже пол года как практикую — и искренне сочувствую тем кто по каким либо причинам вынужден поддерживать IE версии ниже 9
— на клиенте шаблонизатор
— данные для рендеринга шаблонов кешируются на клиенте
— языковые файлы в отдельном хеше
— языковые фразы вставляются через шаблонизатор
— следовательно сменить хеш на другой язык и прорендерить страницу заново не составляет труда
— без обращения к серверу — так как данные для страницы закешированы
Понятно что все это делалось не ради динамической смены языка — она просто как бонус получилась сама собой.
Там по-умолчанию период стоит по дням, а текущий день не включён в отчет как неполный. Если поставить период по часам и включить текущий день в отчёт всё показывается как надо.
Вебсокеты побаиваюсь использовать. Посмотреть бы реальные числа сколько выдерживает сервер одновременных соединений и как это сказывается на нагрузке.
Про джобы не понял. Заказал игрок производство высчитываем когда оно завершится и ставим это время в БД. Потом при выдаче города определяем построилось оно уже или нет сравнивая с текущим временем. Примерно так работает. При перемещение записываем в какое время он будет в каждой клетки и при считывании юнита опять сравниваем с текущим временем определяем местоположение.
По таймауту никаких пересчетов в игре нет.