+  HandyCache форум
|-+  Главная категория» Общие вопросы» Дефолтные списки HandyCache
Имя пользователя:
Пароль:
Страниц: 1 ... 12 13 [14] 15 16 ... 18   Вниз
  Отправить эту тему    Печать  
Автор Тема: Дефолтные списки HandyCache  (Прочитано 362128 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #260 : 11 июля 2008, 14:46:22 »

Многие сайты используют библиотечные скрипты сторонних разработчиков. Любой из таких скриптов используется на множестве различных сайтов и на каждом новом сайте приходится грузить его из сети.

Скрипты-то, конечно, библиотечные, но на разных сайтах могут использоваться разные их версии - та, что нормально работает на одном сайте, может некорректно работать на другом!
Пробежался сейчас твоим первым правилом по своим логам - довольно часто встречаются одноименные скрипты разных размеров (версий). Есть гарантии полной взаимозаменяемости разных версий библиотечных скриптов?

Уменьшает количество папок.
Список Преобразование УРЛ.
#5#~#True#~#^www\d{0,3}\.#~##~#False#~#True

Это уже давно делает 3-е правило в дефолтном списке "Преобразование URL"!

Давно пора включить в дефолтный список преобразование URL такое правило
#5#~#True#~#^(.)#~#\1/\0#~#False#~#True

Для чего? Для более быстрого формирования списка папок при ручном ковырянии в кэше?
При таком правиле, например, yandex.ru попадет в папку "y", а img-fotki.yandex.ru в папку "i". Это удобно? Лично мне - нет!

Ввиду повсеместного использования картографических сервисов, дефолтные списки должны, имхо, содержать правила для Google Earth, Google Maps, Яндекс-Карты, Рамблер-Карты.

О каких списках речь и что конкретно будут делать эти правила? Лучше с примерами...
« Последнее редактирование: 11 июля 2008, 15:58:53 от DenZzz » Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #261 : 11 июля 2008, 17:24:15 »

Для чего? Для более быстрого формирования списка папок при ручном ковырянии в кэше?
При таком правиле, например, yandex.ru попадет в папку "y", а img-fotki.yandex.ru в папку "i". Это удобно?

Так очень удобно. Не надо ждать несколько секунд чтобы открылась папка кэша.
В CoolProxy это называется компактный формат кэша. Думаю стоит провести опрос. Сомневаюсь, что только мне хочется сократить в сотни раз количество элементов в корневой папке кэша.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #262 : 11 июля 2008, 19:50:42 »

Есть гарантии полной взаимозаменяемости разных версий библиотечных скриптов?
Примерно такие же как нынешние гарантии правильного срабатывания остальных правил дефолтных списков - основаны на практике использования. За примерно полгода работы этого правила засек одно "плохое" срабатывание (из-за несоответствия версии скрипта swfobject.js).
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #263 : 12 июля 2008, 11:42:47 »

В принципе, правила библиотечных скриптов md5 и vbulletin тоже можно добавить в первое правило. Исторически я писал их позже и на период тестирования делал отдельными правилами. Итого может быть так:
#5#~#True#~#^[^?]+/(browser_detect|dojo|drupal|effects|jquery|jshttprequest|lightbox|md5|mm_menu|mootools|overlib|prototype|rico|sha1|silverlight|(flash|swf)object|scriptaculous|tw-sack|utilities|vbulletin_\w+)(([-._]release)?[-._]v?[\d.]+)?(\.pack)?\.js(\?.*)?$#~#common_scripts/\1.js#~#False#~#True

Если перед кем-то стоит вопрос о том, чтоб использовать везде самую последнюю версию таких скриптов, то это, пожалуй, можно делать с помощью правил в списке серверов-посредников, качая такой скрипт с оффсайта. Например,
#5#~#True#~#JS-Lib. Sha1#~#http://pajhome.org.uk/crypt/md5/sha1.js##~##~#^[^?]+/sha1(([-._]release)?[-._]v?[\d.]+)?(\.pack)?\.js(\?|$)
при вызове с какой-либо страницы скрипта sha1.js, НС полезет на оффсайт этого скрипта и возьмет оттуда самый свежий вариант.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #264 : 12 июля 2008, 17:19:44 »

В CoolProxy это называется компактный формат кэша. Думаю стоит провести опрос.

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

Вообще, это предложение уже обсуждалось в теме "Алгоритм преобразования URL в имя файла в кэше", как и много чего еще, на что сейчас, вероятно, пока нет времени...

Примерно такие же как нынешние гарантии правильного срабатывания остальных правил дефолтных списков

Хм... Нынешние дефолтные правила не смешивают разные версии файлов с совершенно разных сайтов!

Если перед кем-то стоит вопрос о том, чтоб использовать везде самую последнюю версию таких скриптов

Вопрос стоит не в принципиальности использования самой последней версии скрипта, а в работоспособности той, что используется на каждом конкретном сайте! Последняя версия может работать там неправильно. Говоришь, заметил всего одно "плохое" срабатывание, а может, просто не обратил внимание, что скрипт не сработал...

Цитировать
это, пожалуй, можно делать с помощью правил в списке серверов-посредников, качая такой скрипт с оффсайта. Например,
#5#~#True#~#JS-Lib. Sha1#~#http://pajhome.org.uk/crypt/md5/sha1.js##~##~#^[^?]+/sha1(([-._]release)?[-._]v?[\d.]+)?(\.pack)?\.js(\?|$)

Такое правило в серверах-посредниках работать не будет! Префикс дописывается к исходному URL, а не заменяет его.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #265 : 12 июля 2008, 18:07:10 »

Цитировать
Нынешние дефолтные правила не смешивают разные версии файлов с совершенно разных сайтов!
Не страшно. Причины возможной неправильности их срабатывания в другом, но они тоже есть. Какая пользователю разница, отчего неправильно работает правило: от не того номера версии файла или от неправильного определения типа контента.
Цитировать
может, просто не обратил внимание, что скрипт не сработал...
Чтобы стать для пользователя важным, "скрипт не сработал" должно находить материальное воплощение. Если к отображению страницы и работе с ней претензий нет, какая мне разница, сработал там скрипт или нет. Точно так же как существуют блокируемые нынешними списками УРЛы, которые рекламой не являются, но блокирование которых проходит так же незаметно и без последствий для пользователя. А вот если блокировано что-то важное, только тогда бьется тревога.
Чтобы разобраться в сомнениях, правило для библиотечных скриптов может погонять любой желающий. У меня гоняется около полугода, пока полет нормальный.
Цитировать
Префикс дописывается к исходному URL, а не заменяет его.
Это учитывается добавлением в конце префикса "#". Поэтому правило рабочее. Только так ли уж оно нужно? Хотя если брать во внимание, что в новых версиях зачастую сохраняется совместимость с прежними + правятся баги + добавляются фичи, такое правило тоже может представлять определенный интерес.

Еще хочу отметить, что если найдено ложное срабатывание дефолтного правила, то правило нужно изменять или добавлять исключение. Подход типа "пусть оно не работает с этим, зато работает со 100 другими", имхо, не идет на пользу. Должно работать со всеми, учитывать все обоснованные претензии пользователей.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #266 : 12 июля 2008, 19:59:11 »

Подход типа "пусть оно не работает с этим, зато работает со 100 другими", имхо, не идет на пользу. Должно работать со всеми, учитывать все обоснованные претензии пользователей.

Увы, на практике это невыполнимо! Побочный эффект универсальности - всем сразу не угодить...
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #267 : 13 июля 2008, 12:50:12 »

На предмет чего? Добавлять это правило или нет?
Не надо правило. Это должна быть галка в настройках. А конвертацию желательно должен уметь делать сам HC. Т.к. в данном случае операция примитивная. Сложно только ее руками сделать. Ни одна сторонняя программа по переименованию файлов этого не может.

А голосоваnm предлагаю по вопросу Согласны ли вы уменьшить число папок в корне кэша в сотни раз?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #268 : 13 июля 2008, 13:58:02 »

Долго и полезно в списке "Не обновлять" работают у меня два правила:

#5#~#True#~#^[^?]+[?/]\w*\d{4,}(\.(aspx?|[ds]?html?|txt))?/?$#~#^gismeteo\.ru/(weather/)?g?m?towns\d?/|/20[01]\d/|^soft\.softodrom\.ru/ap/|^inosmi\.ru/translation/#~##~#

#5#~#True#~#^[^?]+\?.*id=\d{4,}#~##~##~#


Первое насчитывает более 60 тыс. срабатываний и экономит кучу трафика. Но нашлись и противопоказания, забитые в исключения. Могут, наверное, найтись еще. Но уж больно полезное правило.
Второе сработало более 9 тыс. раз. Ложных срабатываний пока не встречал.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #269 : 13 июля 2008, 14:25:44 »

Не надо правило. Это должна быть галка в настройках.

Насколько я помню, вариантов сортировки папок в кэше предлагалось аж три: v0lt, popkov и Дем.
И каждый из авторов отстаивал свой вариант и критиковал "чужой"!

Ты же предлагаешь уже четвертый вариант а-ля CoolProxy, причем хочешь встроить его прямо в HC.
Чем твой вариант лучше тех трех? Лично мне не нравится, что у тебя домены 3-го уровня одного сайта окажутся в совершенно разных папках! С этой точки зрения варианты v0lt-а и popkov-а импонируют мне больше... Но какой из них лучший?

Почитав "горячий" пост popkov-а, прихожу к выводу, что навязать всем пользователям только один вариант сортировки папок кэша нельзя и каждый должен решить для себя сам, какая структура кэша ему удобнее...



Ввиду повсеместного использования картографических сервисов, дефолтные списки должны, имхо, содержать правила для Google Earth, Google Maps, Яндекс-Карты, Рамблер-Карты.

Позже выложу скрипт для запросов, который не обновляет картинки с нестандартным расширением по типу файлов в кэше. Тестировал на Google Maps - работает нормально...
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #270 : 14 июля 2008, 00:12:51 »

Вариант v0lt-а пожалуй самый лучший. Я не внимательно читал ту тему.
Идея использовать не первую букву URL а первую букву домена второго уровня очень удачна.

Цитировать
Пример: файлы с handycache.ru лежат в \_h_\handycache.ru\
файлы с forum.ru-board.com лежат в _r_\forum.ru-board.com\
домены начинающиеся на цифры лежать в _0_\

Только не совсем понимаю необходимость подчеркиваний. Несомненный плюс - минимум модификации текущей структуры кэша. Мы просто раскидываем папки в 27 групп. Причем папки относящиеся к одному сайту окажутся рядом.

Хотелось бы увидеть правило для преобразования URL.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #271 : 14 июля 2008, 15:40:40 »

Для Яндекс-карт в Не обновлять когда-то вписал
#5#~#True#~#^base\d*\.maps\.yandex\.net/tiles/\d+/\?#~##~##~#
а в Преобразование УРЛ
#5#~#True#~#^base\d*\.(?=maps\.yandex\.net/tiles/\d+/\?)#~##~#False#~#True

Для Google Earth и Google Maps:
Не обновлять
#5#~#True#~#^kh(mdb)?\.google\.com/flatfile\?#~##~##~#
#5#~#True#~#^(cbk|kh|mt)m?\d*\.google\.\w+/\1\?#~##~##~#
#5#~#True#~#^(\w+\.)?google\..*\.km[lz]$#~##~##~#24:00

Преобразование УРЛ
#5#~#True#~#^(cbk|kh|mt|)m?\d*(\.google\.\w+/\1\?.*?)(&s=\w*)?$#~#\2#~#False#~#True
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #272 : 27 июля 2008, 16:40:31 »

Идея использовать не первую букву URL а первую букву домена второго уровня очень удачна.
...
Хотелось бы увидеть правило для преобразования URL.

Для доменных имен:
#5#~#True#~#^([^/]+\.)?(\w)[^./]*\.[^./\d]+(:\d+)?/#~#\2/\0#~#False#~#True
Для IP:
#5#~#True#~#^\d+(\.\d+){3}(:\d+)?/#~#_IP/\0#~#False#~#True
« Последнее редактирование: 29 июля 2008, 20:40:43 от DenZzz » Сообщить модератору   Записан
Wil
Новичок
*

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

Сообщений: 5


« Ответ #273 : 28 июля 2008, 12:31:03 »

лично у меня сортировка в кеше такая
#5#~#False#~#---------------IP в отдельную папку-----------------#~##~#False#~#False
#5#~#True#~#^(((\d{1,3})\.){3})\d{1,3}\/#~#_ip/\0#~#False#~#True
#5#~#False#~#---имена доменов(выше 2 ур) по папкам доменов----#~##~#False#~#False
#5#~#True#~#^(([^/]+)*)\.(\w*)\.(\w*)/#~#\3.\4/\0#~#False#~#True
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #274 : 28 июля 2008, 14:04:33 »

#5#~#True#~#^(([^/]+)*)\.(\w*)\.(\w*)/#~#\3.\4/\0#~#False#~#True

Крайне прожорливая конструкция в плане использования системных ресурсов! Ни к чему без необходимости увлекаться лишними скобками! Можно же было тоже самое написать и проще:
#5#~#True#~#^[^/]+\.(\w+\.\w+)/#~#\1/\0#~#False#~#True
Сообщить модератору   Записан
Wil
Новичок
*

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

Сообщений: 5


« Ответ #275 : 28 июля 2008, 14:25:02 »

Крайне прожорливая конструкция в плане использования системных ресурсов! Ни к чему без необходимости увлекаться лишними скобками! Можно же было тоже самое написать и проще:
#5#~#True#~#^[^/]+\.(\w+\.\w+)/#~#\1/\0#~#False#~#True
спасибо
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #276 : 29 июля 2008, 11:39:48 »

DenZzz Спасибо Улыбка
Как бы теперь переконвертировать полегче существующий кеш.....
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #277 : 29 июля 2008, 13:43:46 »

Кстати, а домен второго уровня может быть из одной буквы?
Просто правило не работает на адресах типа http://a.ru/

Проверил. Действительно. Таких адресов не бывает.
« Последнее редактирование: 29 июля 2008, 13:47:54 от Сергей » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #278 : 29 июля 2008, 21:15:23 »

Проверил. Действительно. Таких адресов не бывает.

Вообще-то, бывает. Подмигивающий Например: http://i.ua/

Правило выше пофиксил - заменил в одном месте "+" на "*" :
#5#~#True#~#^([^/]+\.)?(\w)[^./]*\.[^./\d]+(:\d+)?/#~#\2/\0#~#False#~#True
Сообщить модератору   Записан
Oleg
Новичок
*

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

Сообщений: 29


WWW
« Ответ #279 : 02 августа 2008, 22:10:55 »

  
Код:
<a title="Перевод страницы сайта (с выдел.-текст) /
Translation of page of a website" href="javascript:var t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));var e=(document.charset||document.characterSet);if(t!=''){location.href='http://translate.google.com/translate_t?hl='+(t.match(/[А-я].*/)?'en':'ru')+'&langpair=auto|'+(t.match(/[А-я].*/)?'en':'ru')+'&text='+encodeURIComponent(t)+'&tbb=1&ie='+e;}else{location.href='http://translate.google.com/translate?hl=ru&u='+location.href+'&tbb=1&ie='+e;}">кнопка</a>
для перевода на русский страницы или выделенного текста.
 Правило Преобразование URL для перевода Google.
Код:
#5#~#True#~#^(translate\.google(\.\w{2,3}){1,2}|(?:[0-9]{1,3}\.){3}[0-9]{1,3})(/translate(_\w)?\?.+)&usg=[\w-]+\b#~#translate.google.com\3#~#False#~#True
Сообщить модератору   Записан
Страниц: 1 ... 12 13 [14] 15 16 ... 18   Вверх
  Отправить эту тему    Печать  

 
Перейти в: