Ru-Board.club
← Вернуться в раздел «Программы»

» HandyCache ( Часть 5 )

Автор: C0USIN
Дата сообщения: 14.11.2006 10:57
unreal666
Точно одним правилом накак не обойтись?

Добавлено:

DenZzz
Что \N что \0
оба варианта выглядят некрасиво.
Если колонка Обязательный служит только для группировки, значит надо ее убрать и придумать другой способ этой группировки. Например, отображать правила в виде дерева.
Автор: unreal666
Дата сообщения: 14.11.2006 11:14
C0USIN

Цитата:
Точно одним правилом накак не обойтись?


Цитата:
Хочется, чтобы первое правило не пыталось ничего заменять.

При таком варианте нужно будет два правила.
ИМХО, лучше вообще не отображать в мониторе и логе правила, у которых URL после преобразования равен URL до преобразования.
Но тогда для списка "Переадресация" надо учесть это:

Цитата:
Сделать для списка "Переадресация", чтобы входящий URL после преобразования правилом не подпадал под само же правило.

Или не отобраать такие правила только для списка "Преобразование URL".

mai62
Что думаешь насчет вышесказанного ?

Добавлено:
DenZzz

Цитата:
Если в "Замене" обязательного правила стоит: \N (от Next, Not и т.д.), то сразу без замены переходить к проверке следующих необязательных правил.

И не отображать это правило в логе и мониторе.
Автор: forever
Дата сообщения: 14.11.2006 11:20
popkov

Цитата:
А повторные запросы DNS-серверу HC отправляет?

Да, в соответствии с настройками на вкладке "Управление загрузкой" - так же как и для страниц.

unreal666

Цитата:
У меня DNS кэшируется средства Outpost'а.

DNS-кэш HC имеет особенность: если с IP из кэша не удалось соединиться то выполняется запрос к DNS - проверяется актуальность IP. Таким образом пользователем вовсе не будет замечен перезд сайта на другой хост. Кэш ОР такого не умеет (и не знаю кто еще бы умел), и не будет ситуации, когда сайт успешно фунциклирует на новом адресе, а пользователь, благодаря тому же ОР, получает ошибку.
Автор: DenZzz
Дата сообщения: 14.11.2006 11:28
C0USIN

Цитата:
Если колонка Обязательный служит только для группировки, значит надо ее убрать и придумать другой способ этой группировки. Например, отображать правила в виде дерева.

Слишком кардинальная переделка! Мой вариант реализовать проще и быстрее...
К тому же, ты предлагаешь изменить только "фантик", т.к. логика работы списков не изменится!
Автор: C0USIN
Дата сообщения: 14.11.2006 11:39
unreal666
Цитата:
При таком варианте нужно будет два правила.


Только зачем? Если можно обойтись одним.

DenZzz
Цитата:
Слишком кардинальная переделка!

Волков бояться .....


Цитата:
Мой вариант реализовать проще и быстрее...

Меняем шило на мыло. Что твой вариант даст по сравнению с заменой \0?
Автор: DenZzz
Дата сообщения: 14.11.2006 11:50
C0USIN

Цитата:
Меняем шило на мыло. Что твой вариант даст по сравнению с заменой \0?

Замену на \0 я использую для других целей! Например, есть у меня такое правило:

Код: #5#~#True#~#^http://(?!.*anonymouse\.org/.*).*(site\.ru).*$#~#http://anonymouse.org/cgi-bin/anon-www.cgi/\0#~#False#~#True
Автор: unreal666
Дата сообщения: 14.11.2006 11:54
C0USIN

Цитата:
Только зачем? Если можно обойтись одним.

Так ты же сам написал:

Цитата:
Хочется, чтобы первое правило не пыталось ничего заменять.

Автор: C0USIN
Дата сообщения: 14.11.2006 12:19
unreal666
Сейчас требуется дополнительное правило для выделения группы. Но это имеет смысл если правил внутри группы как минимум два. Вместе с "обязательным" выйдет уже три.

А когда в группе только одно правило то нет смысла добавлять еще одно. Можно обойтись одним. И не городить групп. Группа это когда два или больше правил.

Вот что я хотел сказать.
Автор: unreal666
Дата сообщения: 14.11.2006 12:37

Цитата:
А когда в группе только одно правило то нет смысла добавлять еще одно. Можно обойтись одним. И не городить групп.

Чего то не совсем непонятно.
Если есть обязательное правило и для него есть необязательные, то только тогда "не пыталось ничего заменять" ? Так что ли?
А если я все-таки хочу изменить что-то 1-ым обязательным правилом, а не обязательные применять уже к этому измененному ? А .. ?
Да и при твоем походе HC надо будет смотреть, какое 1-ое включенное правило лежит ниже данного обязательного правила, обязательное или нет.
Автор: C0USIN
Дата сообщения: 14.11.2006 13:14
unreal666
Цитата:
Если есть обязательное правило и для него есть необязательные, то только тогда "не пыталось ничего заменять" ?

Нет.


Цитата:
А если я все-таки хочу изменить что-то 1-ым обязательным правилом

Это тебе надо? Правил внутри группы недостаточно?
Автор: mai62
Дата сообщения: 14.11.2006 13:20
unreal666

Цитата:
Недоработка в тренажере

Будет исправлено

Цитата:
Про передачу параметров HC

Согласен, расширять надо. Возьмитесь кто-нибудь и составьте список команд.
0Vovan0

Цитата:
Я как-то давно писал, что хендикеш не закрывается после того как нажать выход - в процессах висит, винда на него ругается когда выключаеш комп. Не решилась ли эта проблемма, или у меня одного так? HandyCache 0.97b1a

Я уже писал, при закрытии НС 30 сек. ожидает завершения работы всех потоков. В след. версии это ожидание при выгрузке windows уберу.
C0USIN

Цитата:
Почему полоса прокрутки есть не везде? Когда HC не на весь экран - не все элементы настроек можно достать.

Не нравится мне доставать контролы с помощью прокрутки. Предпочитаю увеличить слегка окно. Или разрешение экрана не позволяет?
unreal666

Цитата:
Что думаешь насчет вышесказанного ?


Цитата:
Чего то не совсем непонятно.

Договоритесь сначала между собой. К сожалению, не имею сейчас достаточно времени чтобы подробно вникать в суть предложений.
Автор: unreal666
Дата сообщения: 14.11.2006 13:20

Цитата:
Нет.

А как тогда? Объясни, как HC должен решать делать замену для обязательного или нет ?
Автор: C0USIN
Дата сообщения: 14.11.2006 13:34
mai62
Цитата:
Или разрешение экрана не позволяет

Позволяет пока Просто лень разворачивать окно.

unreal666
Цитата:
Объясни, как HC должен решать делать замену для обязательного или нет ?

Какая замена? Я прошу вообще упразднить понятие Обязательный.

Можно придумать более наглядный способ группировки правил.
Пусть будет два вида правил. Для этого добавим колонку с галкой Группа
Пишем правило описывающее сайт. Ставим галку Группа и дерево раскрывается.
Добавляем правила в группу.

Кстати, тогда можно будет еще добавлять подгруппы!

Добавлено:
Правила с установленной галкой Группа не должны выполнять никаких замен.
Автор: DenZzz
Дата сообщения: 14.11.2006 13:39
C0USIN

Цитата:
Это тебе надо? Правил внутри группы недостаточно?

А кто будет конвертировать существующие списки всем пользователям?

В общем, надо решать проблему "малой кровью"! Вот здесь сформулировал, как это сделать не меняя структуру списков и не вводя новых команд...
Автор: unreal666
Дата сообщения: 14.11.2006 13:40
Тогда другие компоненты Delphi нужно будет использовать для этого списка. А то более сложная переделка, чем мои варианты.


Добавлено:
DenZzz

Цитата:
Вот здесь сформулировал, как это сделать не меняя структуру списков и не вводя новых команд...

С моими комментариями (более поятными чем у тебя):

Цитата:
ИМХО, лучше вообще не отображать в мониторе и логе правила, у которых URL после преобразования равен URL до преобразования.
Но тогда для списка "Переадресация" надо учесть это:

Цитата: Сделать для списка "Переадресация", чтобы входящий URL после преобразования правилом не подпадал под само же правило.     

Или не отобраать такие правила только для списка "Преобразование URL".
Автор: C0USIN
Дата сообщения: 14.11.2006 13:50

Цитата:
А кто будет конвертировать существующие списки всем пользователям?

Формат списков уже менялся. Что мешает сделать это сейчас?


Цитата:
В общем, надо решать проблему "малой кровью"!

Если ты про проблему зацикливания при псевдозаменах то она не относится к группам.

Я вижу проблему в неочевидности колонки Обязательный и в неудобной группировке. Нельзя, например сделать вложенные группы.
Автор: DenZzz
Дата сообщения: 14.11.2006 14:08
unreal666

Цитата:
ИМХО, лучше вообще не отображать в мониторе и логе правила, у которых URL после преобразования равен URL до преобразования.

Не только не отображать, но и не возвращать неизменный URL браузеру под заголовком "302 Moved Temporarily"!

Цитата:
Сделать для списка "Переадресация", чтобы входящий URL после преобразования правилом не подпадал под само же правило.

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

Цитата:
Или не отобраать такие правила только для списка "Преобразование URL".

К чему исключение? Чем этот список лучше "Переадресации"?
Кстати, в "Преобразовании URL" зацикливаний не бывает...

Добавлено:
C0USIN

Цитата:
Формат списков уже менялся. Что мешает сделать это сейчас?

В прошлый раз формат списков менялся HC автоматически без участия пользователя!
А для переноса "Замены" из "группировочного" правила в другую подстроку придется анализировать это правило, т.е. без участия пользователя не обойтись!
Автор: C0USIN
Дата сообщения: 14.11.2006 14:37

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

Полностью не согласен
Кто мешает автоматом продублировать правило с заменой внутрь группы?
Автор: unreal666
Дата сообщения: 14.11.2006 14:39

Цитата:
К чему исключение? Чем этот список лучше "Переадресации"?

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

Цитата:
Кстати, в "Преобразовании URL" зацикливаний не бывает...

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

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

А при чем тут
Цитата:
Сделать для списка "Переадресация", чтобы входящий URL после преобразования правилом не подпадал под само же правило.

Автор: popkov
Дата сообщения: 14.11.2006 14:49

Цитата:
Ну да. Это типа построение дерева.
C0USIN
Цитата:
Непонятно, из каких соображений придумана такая схема.
Действительно, очень неочевидная и неудобная схема! Поразительно, зачем надо было так усложнять?

forever
Цитата:
Да, в соответствии с настройками на вкладке "Управление загрузкой" - так же как и для страниц
Не вполне интуитивно понятно оформлена эта настройка. Как я понимаю, в строке
Цитата:
Время на повторные запросы при ошибке,с:60 Пауза,с:3
первая цифра означает промежуток времени, в течение которого HC пытается получить IP с сервера DNS, а вторая - паузу между попытками? Т.е. число попыток = 60/3=20 по умолчанию. А опция выше предназначена, соотв., для веб-страниц.

DenZzz
Цитата:
Нет. Это можно сделать только через правильно написаное правило!
Хотя, "защита от дурака" не помешала бы...
Возможность заставить выполнить преобразование только один раз -это даже не "защита от дурака", а просто облегчение процесса написания правил!

C0USIN
Цитата:
Какая замена? Я прошу вообще упразднить понятие Обязательный.
Можно придумать более наглядный способ группировки правил.
Пусть будет два вида правил. Для этого добавим колонку с галкой Группа. Пишем правило описывающее сайт. Ставим галку Группа и дерево раскрывается. Добавляем правила в группу. Кстати, тогда можно будет еще добавлять подгруппы!
Да, это куда нагляднее, чем ерунда с галкой "Обязательный"
Кстати, на текущий момент: если ни одна галка не стоит, кроме галки самого правила, то оно (если до него сработало правило с галкой "Обязательный") будет выполнено так же, как и правило с галкой "Обязательный". Я правильно понимаю? А если до него не выполнено правило с галкой "Обязательный", то оно вообще выполнено не будет?
Автор: C0USIN
Дата сообщения: 14.11.2006 14:53

Цитата:
если ни одна галка не стоит, кроме галки самого правила, то оно (если до него сработало правило с галкой "Обязательный") будет выполнено так же, как и правило с галкой "Обязательный". Я правильно понимаю?

Правильно
Автор: DenZzz
Дата сообщения: 14.11.2006 14:56
unreal666

Цитата:
А при чем тут

Можно после всех замен прогнать измененный URL еще раз по всему списку "Переадресация" и если опять срабатывает, то не отдавать браузеру этот URL, а выводить какое-то сообщение, типа: "Произошло зацикливание URL http://www.site.ru в списке "Переадресация". Проверьте правило №..."

А псевдозамену (\0) просто игнорировать, т.е. не возвращать неизменившийся URL браузеру под заголовком "302 Moved Temporarily", а сдеать вид, что ни одно правило "Переадресации" не сработало и перейти к проверке других списков.



C0USIN

Цитата:
Кто мешает автоматом продублировать правило с заменой внутрь группы?

Не оптимально! Группировка подразумевает вынос части общих условий в обязательное правило.

И вообще, ты предлагаешь ради эстетических соображений нагрузить mai62 лишней работой?! Как будто ему больше заняться нечем...
Автор: C0USIN
Дата сообщения: 14.11.2006 15:21
DenZzz
Цитата:
Группировка подразумевает вынос части общих условий в обязательное правило.

Какая замена может быть в этом общем условии?
Можешь дать пример "группового" обязательного правила c заменой?
Автор: popkov
Дата сообщения: 14.11.2006 15:22
mai62
Похоже, заметил баг: в списке "Преобразование URL" изменения вступают в силу только после перезапуска HC!
Автор: C0USIN
Дата сообщения: 14.11.2006 15:24

Цитата:
И вообще, ты предлагаешь ради эстетических соображений нагрузить mai62 лишней работой?! Как будто ему больше заняться нечем...

Что-то давно релизов не было. И TODO на следующую версию пустует. Наверное mai62 не знает чем заняться (шутка)
Автор: popkov
Дата сообщения: 14.11.2006 15:26
DenZzz

Цитата:
Можно после всех замен прогнать измененный URL еще раз по всему списку "Переадресация" и если опять срабатывает, то не отдавать браузеру этот URL, а выводить какое-то сообщение, типа: "Произошло зацикливание URL http://www.site.ru в списке "Переадресация". Проверьте правило №..."

Мне кстати, это кажется необязательным. И так видно, у какого правила быстро бегут циферки количества попаданий...
Гораздо лучше после каждого преобразования сравнивать URL с оригинальным, и, если он не изменился, выдать его браузеру без 403 Moved Temporarily.
Автор: C0USIN
Дата сообщения: 14.11.2006 15:26
popkov
ты прав! глюк.
Автор: DenZzz
Дата сообщения: 14.11.2006 15:37
C0USIN

Цитата:
Какая замена может быть в этом общем условии?

Да любая, в. т.ч. и с использованием многих подвыражений ( \1\3\6 и т.д.) и общая для всей группы.
А потом внутри группы уже могут идти нюансы по сайтам, расширениям и т.д.

Добавлено:
popkov

Цитата:
Гораздо лучше после каждого преобразования сравнивать URL с оригинальным, и, если он не изменился, выдать его браузеру без 403 Moved Temporarily.

Он может измениться! Потом еще раз измениться и еще много раз... и получишь URL длиной с "километр" и существенные "тормоза" в системе...

А про псевдозамену, когда URL не меняется после проверки всего списка, я так и писал - надо просто игнорировать...
Автор: unreal666
Дата сообщения: 14.11.2006 16:05

Цитата:
Можно после всех замен прогнать измененный URL еще раз по всему списку "Переадресация" и если опять срабатывает, то не отдавать браузеру этот URL, а выводить какое-то сообщение, типа: "Произошло зацикливание URL http://www.site.ru в списке "Переадресация". Проверьте правило №..."

Подходит. В самый раз.
Автор: C0USIN
Дата сообщения: 14.11.2006 16:19
DenZzz

Цитата:
Да любая, в. т.ч. и с использованием многих подвыражений ( \1\3\6 и т.д.) и общая для всей группы.


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

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

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Polycom PVX


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.