+  HandyCache форум
|-+  Главная категория» Новые предложения» Необходим ли список "Запись в кэш"
Имя пользователя:
Пароль:
Страниц: 1 [2] 3 4 ... 8   Вниз
  Отправить эту тему    Печать  
Автор Тема: Необходим ли список "Запись в кэш"  (Прочитано 71290 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #20 : 15 января 2007, 01:57:06 »

Михаил

Ты не ответил на первую часть моего поста выше!

Цитировать
Не. If-Modified-Since не влияет на тему.

Ну, извините! Если возможная экономия дополнительных десятков и даже сотен килобайт на каждой загрузке статических страниц (сайтов), это не тема для разговора, то зачем вообще нужно ставить HC... Разве не для экономии трафика/времени?


В общем, пока в этой теме двое высказались против твой идеи! За - только ты один!
Подождем, может, завтра у тебя найдутся сторонники... Подмигивающий
Все, ушел спать.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #21 : 15 января 2007, 02:20:49 »

DenZzz
Цитировать
Ну, извините! Если возможная экономия дополнительных десятков и даже сотен килобайт на каждой загрузке статических страниц (сайтов), это не тема для разговора, то зачем вообще нужно ставить HC... Разве не для экономии трафика/времени?

Не занимайся популизмом! "Возможная экономия..." этой самой If-Modified-Since дается безусловно. Но к рассматриваемой теме (в частности, к решению вопроса о записи в кэш по обсуждаемым основаниям) не имеет никакого отношения.

Спокойной ночи.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #22 : 15 января 2007, 07:40:46 »

2 Михаил
Цитировать
"Возможная экономия..." этой самой If-Modified-Since дается безусловно. Но к рассматриваемой теме (в частности, к решению вопроса о записи в кэш по обсуждаемым основаниям) не имеет никакого отношения.
Имеет и самое прямое. If-Modified-Since применяется ко ВСЕМУ, что есть в кеше, а не только к тому, что входит в списки "не обновлять" и "только из кеша". Собственно, это ОСНОВНОЙ метод кеширования - хранение ранее загруженного содержимого с загрузкой нового только при устаревании. Список "только из кеша" запрещает обращение в инет за определенным содержимым вообще, а список "не обновлять" - за содержимым, которого нет в кеше, а так же за тем, которое есть, но не проходит по временным критериям. По обоим спискам устаревание данных в кеше прямо (т.е. обращением к сети) не проверяется! Они служат для дополнительной экономии трафика путем отказа от загрузки данных из инета: безусловного ("только из кеша") или условного ("не обновлять" - грузятся только новые данные плюс проверяются на обновление и грузятся при необходимости данные, определенное время находящиеся в кеше).
Таким образом предложение отказаться от списка "Запись в кеш" является скорее вредным, чем бесполезным, ибо представляет собой отказ от основного метода кеширования при сохранении дополнительных.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #23 : 15 января 2007, 08:07:47 »

Кирилл
Читай внимательно:
Цитировать
If-Modified-Since к рассматриваемой теме (в частности, к решению вопроса о записи в кэш по обсуждаемым основаниям) не имеет никакого отношения

Жирным выделено то, на что ты предпочел не обращать внимания. Обсуждается вопрос о наличии еще одного основания для записи в кэш в обход списка "Запись в кэш".

Цитировать
Таким образом предложение отказаться от списка "Запись в кеш" является скорее вредным, чем бесполезным, ибо представляет собой отказ от основного метода кеширования при сохранении дополнительных.
Если ты читал все обсуждение, а нетолько первый и последний посты, то не мог не заметить, что речь о ненужности списка "Запись в кэш" не ведется уже с четвертого поста. Если не читал всего, то прочти.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #24 : 15 января 2007, 08:10:45 »

DenZzz
Цитировать
Как быть в твоем случае? Отключение списка "Т" не добавит кнопки форума в кэш, т.к. в "Н" их у меня нет (по условию постом выше)! В результате, я так никогда и не увижу кнопок форума!

Ошибочно! Добавит через список "З".
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #25 : 15 января 2007, 08:21:07 »

2 Михаил
Общее и полное решение проблемы корреляции между списками предложено вот здесь
http://handycache.ru/component/option,com_smf/Itemid,10/topic,70.msg435/#msg435
Кроме того, также очень неплохо ввести возможность вложения списков - т.е. возможность подключать списки точно так же как и URL.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #26 : 15 января 2007, 08:31:55 »

Михаил

Цитировать
Ошибочно! Добавит через список "З".

"З" по твоему же утверждению нужен только для автономного режима! Теперь ты уже говоришь, что он оказывается нужен еще и для работы списка "Т"! Скоро договоримся до того, что и для "Н" он просто необходим... Подмигивающий

Что-то слишком много скользких вопросов ты отметаешь, как не имеющие отношение к теме!

А пока общий счет мнений по этой теме : +1 / -3 , причем не в твою пользу...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #27 : 15 января 2007, 08:43:49 »

DenZzz
Тогда распишу последнее подробнее.
Ты никак не можешь уйти от совмещения "мух и котлет" (просмотра в автономном режиме и экономии в онлайне) в одном.
Это ты только так легко написал
Цитировать
я зажимаю горячую клавишу отключения списка "T" и все кнопки форума записываются в кэш!
На самом деле ты делаешь гораздо большее:
  - заглядываешь (может даже в уме) в "Н" и удостоверяешься, что там это правило не пройдет. Если нет - отключаешь "Н";
  - проверяешь, включен ли список "З". Если нет - включаешь.
  - заглядываешь в "З" и удостоверяешься, что это правило пройдет. Если нет - ДУБЛИРУЕШЬ его в "З".
Я уверен, ты большинство этих действий проводишь в уме и на автомате, но их ты все равно делаешь. Всеми этими действиями в сумме тиы говоришь дословно следующее: "Хочу иметь возможность просмотра всех URL из этого правила в оффлайне".
Все то же самое я делаю у себя, только говорю эту фразу сразу вслух и включаю список "З", убедившись, что в нем есть дубль правила из "Т".
Как видишь, разницы никакой.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #28 : 15 января 2007, 09:07:00 »

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

Попробую идентифицировать ее суть:
URL, отсутствующий в списке "Только из кэша", но имеющийся в списке "Не обновлять", допускает его кэширование при последующих обращениях к нему и наличии его в кэше. Однако, если он отсутствует в списке "Запись в кэш", то в кэш он не попадет и при каждом новом обращении к нему будет грузиться из Инета, кушая трафик. Налицо противоречие в этом случае правила из "Н" (стремится кэшировать) и "З" (отказывается это делать /кстати, лично не проверял, это с твоих слов/). Другими словами, пользователь по незнанию, недосмотру и пр. может определить два взаимоисключающих правила.
Как снять противоречие? В нынешнем виде это делается путем задания приоритета - главным признается "мнение" "З", что делает правило из "Н" пустышкой. Однако, совпадает ли оно с мнением пользователя, вписавшего в свое время правило в "Н" и не знающего о такой "расстановке сил"? Ответ - 50/50. Если не совпадает, то пользователь НЕ ПОЛУЧИТ никакой предполагаемой им ЭКОНОМИИ.
Теперь допустим, что эту особенность описали в документации и пользователь ДЕРЖИТ В ГОЛОВЕ эту приоритетность. Тогда, захотев добавить кэширование нового URL-а с проверкой его устаревания, он обязан будет помимо просто занесения его в "Н" ЗАЙТИ также в "З" и ПРОВЕРИТЬ, попадает ли он туда. Если нет - ПРОДУБЛИРОВАТЬ его там!
Я уж не говорю о том случае, когда он удалет из "З" что-то такое, что есть и в "Н". В "Н" это что-то остается в виде БЕСПОЛЕЗНОГО ПРАВИЛА, пустышки.

Таким образом, подходпутем задания приоритета обладает многими значимыми минусами (все выделены большими буквами).

Предлагается и такой подход к разрешению ситуации (его ты фактически предложил сам, сказав, что "З" нужен только для оффлайна). Исходим из двух основополагающих задач НС - кэширование для экономии средств и кэширование для автономного просмотра истории. Разделяем функциональность списков: соответственно, "Т" и "Н" определяют "политику экономии", а "З" - "просмотра в оффлайне".
При этом "З" теряет монополию на право принятия решения о записи в кэш, разделяя ее с блоком "экономии".
Чтобы быть предметнее, теперь запись в кэш осуществляется по следующему принципу:
Если URL-а нет в "Т" и:
1. Он есть в "Н" и при этом его нет в кэше либо есть, но он просрочен (запись в кэш в целях экономии средств).
2. Его нет в "Н", но есть в "З" (в целях использования при автономном просмотре).

При этом ВСЕ указанные минусы устранены.
Но может, есть новые (бревна то в собственном глазу обычно не видать)?
Давайте обсуждать.

Кстати, очень рациональной кажется идея совместить "Т" и "Н" в одном, добавив к нему столбец "только из кэша". Пусть это будет список "Экономия средств". Если при этом переименовать "З" в "Автономный просмотр", то получим два списка, регулированием которых мы эффективно будем осуществлять обе основные функции программы.

Может, перенесешь весь этот пост в Новые предложения?
« Последнее редактирование: 15 января 2007, 09:10:41 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #29 : 15 января 2007, 09:31:46 »

Михаил

Цитировать
Ты никак не можешь уйти от совмещения "мух и котлет" (просмотра в автономном режиме и экономии в онлайне) в одном.

И не собираюсь! Для большинства пользователей они неделимы!

Цитировать
На самом деле ты делаешь гораздо большее:

Я не делаю ни одного из описанных тобой действий!

Цитировать
- заглядываешь (может даже в уме) в "Н" и удостоверяешься, что там это правило не пройдет. Если нет - отключаешь "Н";

"Н" не надо отключать, чтобы загрузить в кэш файлы, которых там еще нет!

Цитировать
- проверяешь, включен ли список "З". Если нет - включаешь.

Я никогда не выключаю список "З", т.к. в этом нет никакой необходимости!

Цитировать
- заглядываешь в "З" и удостоверяешься, что это правило пройдет. Если нет - ДУБЛИРУЕШЬ его в "З".

В "З" у меня постоянный состав правил и он не меняется уже 1,5 года!
Кстати, если ты читал все темы по сабжу на ру-борде, то знаешь, что правило: .* в списке "З" - самое популярное у пользователей!

Цитировать
его ты фактически предложил сам, сказав, что "З" нужен только для оффлайна

Это не я, а ты его предложил, причем в нескольких постах ранее!

Цитировать
Кстати, очень рациональной кажется идея совместить "Т" и "Н" в одном, добавив к нему столбец "только из кэша". Пусть это будет список "Экономия средств". Если при этом переименовать "З" в "Автономный просмотр", то получим два списка, регулированием которых мы эффективно будем осуществлять обе основные функции программы.

У тебя много еще таких "рациональных" предложений, коверкающих всю сложившуюся логику программы?! Подмигивающий

Цитировать
Может, перенесешь весь этот пост в Новые предложения?

О.К. Я бы ее вообще закрыл... но теперь мне даже интересно, а найдутся ли сторонники твоей идеи... Подмигивающий

Еще интересно услышать мнение mai62, т.к. только от него зависит воплощение этой идеи в жизнь или ее забвение...

Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #30 : 15 января 2007, 09:41:04 »

DenZzz
Цитировать
коверкающих всю сложившуюся логику программы?!
Самое смешное, что логика программы фактически изменяется самым незначительным образом.

Есть проблема в привычках, которые иногда трудно менять. Ты на минутку откинь их в сторону и посмотри чистым взглядом.
Пользуюсь НС очень давно и сам наработал массу привычек.
Не веди темы к завершению, заключающемуся в необходимости "прогнуться под изменчивый мир" (http://handycache.ru/component/option,com_smf/Itemid,10/topic,85.msg572/#msg572 - это пример). Давай его сами гнуть будем.
« Последнее редактирование: 15 января 2007, 10:01:05 от Михаил » Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #31 : 15 января 2007, 10:13:26 »

2 DenZzz
Кстати, вот как раз тот самый случай - пользователь, который хочет модифицировать логику работу HC под себя (при том, что собственно функционал вполне устраивает). При наличии возможности управлять ей как списком команд - он просто сделал бы себе свой отдельный список, не тревожа разработчика.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #32 : 15 января 2007, 11:21:53 »

Михаил
Цитировать
URL, отсутствующий в списке "Только из кэша", но имеющийся в списке "Не обновлять", допускает его кэширование
Отсутствие URL в "Только из кэша" допускает его _загрузку_ из инета, а не его кэширование.

Цитировать
Однако, если он отсутствует в списке "Запись в кэш", то в кэш он не попадет и при каждом новом обращении к нему будет грузиться из Инета, кушая трафик.
В этом и плюс: есть возможность указать, что файлы, например, pdf следует загружать, но не сохранять в кэш.

Цитировать
Налицо противоречие в этом случае правила из "Н" (стремится кэшировать) и "З" (отказывается это делать).
Если вернуться к первоначальному смыслу: список "Не обновлять" указывает, что не следует обновлять если это есть в кэше (а если нет - грузить), а "Запись в кэш" указывает что следует сохранять в кэш - то, вроде, все логично и все на местах.

Г-да спорщики, может вам будет удобнее донести свою мысль на примерах (пусть надуманных)?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #33 : 15 января 2007, 12:37:14 »

Кирилл

Цитировать
Кстати, вот как раз тот самый случай - пользователь, который хочет модифицировать логику работу HC под себя (при том, что собственно функционал вполне устраивает).

Давайте не забывать, что над кодом HC работает всего 1 человек - mai62 в свободное от основной работы время и возможности его не безграничны!
Поэтому не время заниматься "украшательством", когда есть еще много работы над расширением функционала HC!

Цитировать
при том, что собственно функционал вполне устраивает

А раз функционал пользователя вполне устраивает, то он может и подождать с наведением марафета, т.к. есть еще пользователи, которым не хватает существующего функционала! Надо в первую очередь думать о добавлении новых опций, а не о сомнительной модернизации старых, проверенных на деле и устраивающих большинство пользователей!

Вспоминается бородатый анекдот про таксиста: "Вам надо "шашечки" или ехать?" Подмигивающий
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #34 : 15 января 2007, 15:41:18 »

Цитировать
Г-да спорщики, может вам будет удобнее донести свою мысль на примерах (пусть надуманных)?
Пример:
Я не занимаюсь оффлайновым просмотром и соответственно не имею желания хранить на диске все подряд (нет правила \.* в списке "Запись в кэш", как у DenZzz). Зато для меня актуально беречь свои деньги за счет сокращения трафика. И вот я захотел отныне и впредь кэшировать картинки *.png. Что нужно сделать?
1. Внести правило типа .*\.png$ в список "Запись в кэш", иначе они в кэш не попадут никогда.
2. Это же самое правило нужно ПРОДУБЛИРОВАТЬ в списке "Не обновлять", чтобы после того как файлы записались в кэш, повторный их вызов влек бы загрузку из кэша, а не из Интернет.
Таким образом, для выполнения простой задачи мне нужно озаботиться и записать правило в двух экземплярах в разные места программы.

Теперь другой пример:
Мне расхотелось загромождать диск файлами типа *.ааа и экономить на них трафик (практика показала, что очень уж часто они обновляются и экономия трафика близка к нулю, а диск ими забит основательно). Что надо сделать. Исключить упоминание о них из списка "Запись в кэш". ОК, но при этом в списке "Не обновлять" останется как память минувших дней правило .*\.ааа$, которое не несет теперь никакой смысловой нагрузки и является пустышкой. Поэтому, если я не хочу засорять список "Не обновлять", я должен полезть еще и туда и ручками убрать сие правило.

В обоих случаях нужно: 1. Держать в голове необходимость лезть в два списка для достижения цели. 2. Физически лезть туда и заниматься дублированием записи/стирания информации. Не хорошо, не правда ли?

Теперь меняем чуть-чуть нынешнюю логику программы и договариваемся, что все остается так же за исключением того, что если URL-а нет в списке "Только из кэша" и он есть в "Не обновлять" и (при этом его нет в кэше либо есть, но он просрочен), то мы пишем его в кэш, не согласовывая это со списком "Запись в кэш". Во всех остальных случаях пишем через список "Запись в кэш" как обычно.
Что это нам дает? Теперь для того чтобы выразить желание: "Хочу экономить трафик на URL типа *.ааа" нам надопросто занести соответствующее правило в список "Не обновлять". И все, и не держать в голове ничего постороннего и не заниматься его дублированием в какой-либо другой список.
Аналогично, когда мы хотим прекратить кэшировать URL, стоит просто исключить его из списка "Не обновлять".

В этом случае список "Запись в кэш" автоматически (заметьте, это не еще какое-то дополнительное изменение функций списка, а просто трактовка его физического смысла) приобретает смысл "Запись в кэш для автономного просмотра", а списки "Только из кэша" и "Не обновлять" в сумме - "Запись в кэш для экономии трафика".
Сообщить модератору   Записан
Дем
Постоялец
***

Репутация: +6/-3
Offline Offline

Сообщений: 167



« Ответ #35 : 15 января 2007, 16:24:52 »

А вот если объединить эти два списка, дополнив правило триггером "не обновлять"?
Т е с выключенным оно будет работать как сейчас в списке "Запись в кэш", а с включённым - как находящееся в обоих?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #36 : 15 января 2007, 16:30:20 »

Дем
Недопонял, какие два списка объединить. "Запись в кэш" и "Не обновлять"?
Здраво, надо обдумать...
« Последнее редактирование: 15 января 2007, 16:36:54 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #37 : 15 января 2007, 16:39:44 »

Михаил

Мне не нравится в твоем подходе то, что список "Не обновлять" начинает заниматься не свойственной ему функцией - управлять записью в кэш!
Следовательно, список "Запись в кэш" перестает быть последней инстанцией, определяющей что надо хранить в кэше, т.к. может вмешаться список "Не обновлять" и спутать все карты!

Такое двоевластие - верный путь к путанице и неразберихе! Это не логично, что 2 списка выполняют дублирующие функции!

Цитировать
В обоих случаях нужно: 1. Держать в голове необходимость лезть в два списка для достижения цели. 2. Физически лезть туда и заниматься дублированием записи/стирания информации. Не хорошо, не правда ли?

Теперь обратная ситуация - побочная сторона твоего подхода:
Пользователю придется постоянно помнить, что убрав (исправив) правило в списке "Запись в кэш" для URL, которые ему не надо больше кэшировать, он должен будет пойти в "Не обновлять" и проверить, а нет ли там правила, которое может сработать и записать в кэш URL, который он только что исключил из списка "Запись в кэш"!

Твой подход не избавляет от необходимости надсмотра за этими 2 списками! Не хорошо, не правда ли?


Дем

Цитировать
А вот если объединить эти два списка, дополнив правило триггером "не обновлять"?

А давайте все списки в один объединим! Наставим там триггеров и доп. полей... А потом сами будем полдня в них разбираться!  Прикольно

Чем однозначней логика, тем легче настроить программу!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #38 : 15 января 2007, 18:01:42 »

DenZzz
Цитировать
Мне не нравится в твоем подходе то, что список "Не обновлять" начинает заниматься не свойственной ему функцией - управлять записью в кэш! ...
Такое двоевластие - верный путь к путанице и неразберихе! Это не логично, что 2 списка выполняют дублирующие функции!
Не свойственной при нынешнем подходе, на существенные недостатки которого я указал в предыдущем посте.
В чем же дублирующие функции? Один отвечает четко за автономный просмотр, а другой - за экономию трафика и ни единого действия НЕ ДУБЛИРУЕТСЯ в отличие от примера, который я приводил выше. А вот в настоящий момент это все смешано в одно. И честно говоря при освоении НС с нуля это доставляет неудобства.

Цитировать
Пользователю придется постоянно помнить, что убрав (исправив) правило в списке "Запись в кэш" для URL, которые ему не надо больше кэшировать, он должен будет пойти в "Не обновлять" и проверить, а нет ли там правила, которое может сработать и записать в кэш URL, который он только что исключил из списка "Запись в кэш"!
Пользователь хочет отключить кэширование не просто так от нечего делать, а  с определенной целью. Этих целей может быть две:
1. Практика показала (либо он сам понял или узнал это), что экономия средств (трафика/времени) на файлах определенного типа, которые он периодически смотрит, близка к нулю (например, очень уж часто они обновляются на сервере).
2. Ему стало несущественно, будут ли они вообще показаны ему в браузере или нет.
В первом случае он прямо заявляет об этом, отключая только правило в списке "Не обновлять" (мы помним, что это ник списка, а настоящее его имя "Запись в кэш для экономии средств"). Во втором - только в списке "Запись в кэш" ("Запись в кэш для автономного просмотра").
И только в том случае, если он гипотетически преследует две указанных цели одновременно, ему придется отключить правила в обоих списках. Но согласись, цели 1. и 2. принципиально далеки друг от друга и даже слегка несовместимы (первая предполагает дальнейшее частое использование файлов, вторая - ненужность их использования), поэтому единомоментно их обдумывать не получится.
Поэтому как ни крути, убирать придется лишь из одного списка. И что немаловажно, не держать в голове никаких возможных последствий изменения абстрактного списка "Запись в кэш", а изменять список в соответствии с целевым назначением этого изменения: в целях экономии - список "Э", в целях автономного просмотра - список "А".

Цитировать
Чем однозначней логика, тем легче настроить программу!
По-моему, выше описанная логика более однозначная.

Цитировать
А давайте все списки в один объединим! Наставим там триггеров и доп. полей... А потом сами будем полдня в них разбираться!
Ну есть ведь сила в предложении! Чего бросаешься? Давай помыслим...
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #39 : 15 января 2007, 20:19:29 »

Михаил

М-да, так ни о чем и не договорились! Ты остался при своем мнении, а я при своем!
И тебя даже не смущает, что большинство пользователей, высказавшихся в этой теме, против твоей идеи...
Сообщить модератору   Записан
Страниц: 1 [2] 3 4 ... 8   Вверх
  Отправить эту тему    Печать  

 
Перейти в: