Изменения

Перейти к: навигация, поиск

Vitaphoto: Ссылки

439 байтов добавлено, 23:32, 11 декабря 2009
Размышления о страницах и датах
Специальные слова подвергаются локализации: «Special» = «Служебная», «Photo» = «Фото», «Album» = «Альбом».
== Размышления по поводу страниц о страницах и дат — какие можно выделить подходы:датах ==
'''Какие можно выделить подходы разбиения альбома на страницы: ===== Банальный (количественный)'''=====
Последовательность фотографий разбивается на отрезки фиксированного размера, последний из которых может быть меньше этого размера.
:<font color="#008000">'''плюс'''</font>: максимум простоты.:<font color="red">'''минус'''</font>: при добавлении фотографий меняются абсолютно все страницы альбома, то есть, ссылка — не уникальный идентификатор данных.:<font color="red">'''минус'''</font>: страница — «суррогатный ключ», может искусственно разбивать «желаемое» для просмотра множество фотографий посередине.:<font color="red">'''минус'''</font> (незначительный): при просмотре последних страниц просматривается всё множество фотографий, то есть запросы к первым страницам несколько легче, чем к последним. Но это некритично, так как нет здесь таких объёмов данных, на которых сканирование индекса приводит к хотя бы каким-нибудь проблемам.
'''===== По датам, одна дата на странице'''=====
:<font color="#008000">'''плюс'''</font>: простота.:<font color="#008000">'''плюс'''</font>: ссылка на набор фотографий не меняется со временем.:<font color="#008000">'''плюс'''</font>: все запросы к базе равнозначны и очень легки.:<font color="red">'''минус'''</font> (существенный!): фотографий за день может быть очень немного и страницы будут полупустые.
'''===== По датам, несколько дат на странице (минимум N фото)'''=====
Выбирается N фотографий, начиная с некоторой даты, и к этому множеству добавляются ещё не добавленные фотографии всех выбранных дат. Соответственно на главной странице несколько дат, начиная с наиболее новой, на следующей странице — следующие и т. п.
:<font color="#008000">'''плюс'''</font>: все запросы к базе равнозначны.:<font color="#008000">'''плюс'''</font>: нет «суррогатного ключа» — страницы.:<font color="red">'''минус'''</font>: ссылка на набор фотографий опять меняется со временем, опять со временем меняются многие (или все) страницы!
'''===== По датам, разбиение с начала истории'''=====
Аналогично предыдущему, но на страницы альбом разбивается не с начала отображения, а с начала истории (начиная с наиболее старых фотографий). Возникает проблема — на главной странице может оказаться мало фотографий. Она решается так: утверждаем, что главная страница будет содержать не одну последнюю страницу, а две последние, так как предпоследняя гарантированно будет полна.
:<font color="#008000">'''плюс'''</font>: нет «суррогатного ключа» — страницы.:<font color="#008000">'''плюс'''</font>: ссылка на набор не меняется со временем.:<font color="red">'''минус'''</font>: сложность. Требует разбиения ''каждого альбома целиком'' на страницы, а это либо некоторая нагрузка, либо нужен кэш, а кэш нужно инвалидировать, хотя бы при каждом обновлении… ===== Вывод ===== Либо не выпендриваться и делать классическое разбиение по количеству, либо выпендриваться по полной и делать разбиение по датам с начала истории с кэшированием и инвалидацией.
[[Категория:Разработка]]

Навигация