+  HandyCache форум
|-+  Главная категория» Новые предложения» Изменение логики работы "Белого списка"
Имя пользователя:
Пароль:
Голосование
Вопрос: Как Вы относитесь к предлагаемому изменению логики обработки Белого списка?
Я за переход к накопительной обработке Белого списка (порядок правил не имеет значения, галочки накапливаются)!
Существующая система (порядок правил в Белом списке критичен, обработка прекращается после первого срабатывания) - лучше!
Мне все равно

Страниц: [1] 2  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Изменение логики работы "Белого списка"  (Прочитано 14030 раз)
0 Пользователей и 1 Гость смотрят эту тему.
popkov
Beta tester
*****

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

Сообщений: 349


« : 27 ноября 2007, 11:28:20 »

В очередной раз забыл, что в Белом списке порядок правил имеет значение. Позор на мои седины...
Пожалуй, пользоваться Белым списком было бы куда проще и удобнее, если бы он был, как Прокси-сервера, разбит на 2 части: Безусловные Белые правила (для которых порядок не имеет значения, и которые обрабатываются по "накопительному" принципу - накапливаются галочки для каждого URL), и Условные белые правила, для которых порядок уже имеет значение, и которые, в случае попадания, могут добавить галочку к тому результату, который уже получен при обработке Безусловного списка! По-моему, так было бы куда удобнее: большинство моих Белых правил, по сути, безусловные, и мне каждый раз приходится вспоминать и обдумывать, как не навредить предыдущим правилом работе нового.
« Последнее редактирование: 27 ноября 2007, 22:01:00 от DenZzz » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #1 : 27 ноября 2007, 12:43:05 »

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

Может, тебе просто стоит более точечно писать свои правила?! Подмигивающий
От разбиения БС на 2 списка пользоваться им станет только сложнее!

А "Безусловные" и "Условные" прокси вообще изначально предлагалось сделать одним списком! Условие "." легко делает условный прокси безусловным! Но mai62 тогда захотел сохранить совместимость с прежним списком внешних прокси, что ИМХО только добавило сложности в интуитивность настройки. Возможно, когда-нибудь в будущем эти списки воссоединятся... Улыбка
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #2 : 27 ноября 2007, 12:58:58 »

Может, тебе просто стоит более точечно писать свои правила?! Подмигивающий
Так в том-то и дело, что хочется всеобщности: написал одно правило - и покрыл им все связанные с ним ситуации! Потом легко отключить, если по какой-то причине временно оно мешает. А если, наоборот, разбивать правила - то еще хуже будет из-за того, что предыдущее правило будет перехватывать URL, и не давать следующему, описывающему иную ситуацию. В общем случае на одном и том же сайте может быть много разных задач: тут и избирательная переадресация (в зависимости от Referer), и избирательное кэширование, и избирательное обновление контента. И не сразу всё это выдумывается, а когда "наболело", как в данном конкретном случае. Задачи разные, и сильно перекрываются друг с другом множествами подпадающих под них URL'ов.

ИМХО, для таких задач заведомо удобнее была бы обработка всего Белого списка целиком, независимо от порядка правил. Но в некоторых случаях это может несколько снизить гибкость (придётся писать более точечные и сложные правила), поэтому и предложил 2 списка. В общем-то, мне всегда казалось, что в Белом списке порядок правил не должен играть значения. До сих пор не вполне понимаю, какая "философия" стояла изначально за текущим положением? Может, это недодумка, как былос Чёрным списком? (насколько я помню, изначально в Чёрном списке положение правила тоже имело значение).
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #3 : 27 ноября 2007, 13:50:06 »

В общем-то, мне всегда казалось, что в Белом списке порядок правил не должен играть значения. До сих пор не вполне понимаю, какая "философия" стояла изначально за текущим положением?

Все списки (кроме А и П) проверяются до первого сработавшего правила. 2 года это всех устраивало! Даже было придумано правило "без галок" - как признак окончания проверки списка...

Цитировать
Может, это недодумка, как былос Чёрным списком? (насколько я помню, изначально в Чёрном списке положение правила тоже имело значение).

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

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

Сообщений: 5513



« Ответ #4 : 27 ноября 2007, 20:27:51 »

А "Безусловные" и "Условные" прокси вообще изначально предлагалось сделать одним списком!
Мое "имхо" такое же - один список лучше.
для таких задач заведомо удобнее была бы обработка всего Белого списка целиком, независимо от порядка правил.
Да. Так было б проще.
Цитировать
Но в некоторых случаях это может несколько снизить гибкость (придётся писать более точечные и сложные правила)
В каких случаях/почему?
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #5 : 27 ноября 2007, 21:31:52 »

В каких случаях/почему?
На самом деле, ни в каких. Просто, как я до сих пор догадывался, преимуществом текущей системы является возможность создания "точечных правил": если первое не сработало, сработало второе - но если первое сработало, то второе не сработает. Мне никогда не было ясно в деталях, в чём реальные преимущества такого метода. Никто не возражал, а я редко сталкивался с проблемой, описанной в этой теме, поскольку не так уж часто нужен Белый список. Пожалуй, моя лень послужила причиной того, что я только сейчас окончательно понял, что текущая система крайне неудобна...

В общем-то, никакая функциональность не будет потеряна, и даже более того, лишь в редких случаях придётся что-то менять в уже сформированном Белом списке тем, кто его использует. Именно для сохранения совместимости я и предложил двухсписочную систему. Но реальной необходимости в двух списках нет - всё то же самое можно сделать и одним списком без зависимости от порядкового номера правила в списке! Гибкость не будет потеряна, хотя в немногих случаях нужно будет слегка модифицировать существущие правила (сделать их более точечными - уже в буквально смысле!).

Зря я так долго медлил с высказыванием своего мнения - виной тому лень и редкая необходимость в Белом списке. Редко я сталкиваюсь с ситуацией, когда для одного сайта приходится создавать несколько разных правил в Белом списке. Видимо, не я один... А DenZzz легче действовать по старинке, что уже привычно... Я, хоть и в 3-й раз наступаю на эти грабли, так и не смог привыкнуть, т.к. наиболее очевидной мне кажется именно независимость результата от порядка правил, как в Чёрном списке.
« Последнее редактирование: 27 ноября 2007, 21:48:10 от popkov » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #6 : 27 ноября 2007, 21:56:32 »

А DenZzz легче действовать по старинке, что уже привычно...

У меня в БС точечные непересекающиеся правила, поэтому у меня необходимость в суммировании результата никогда не возникала. Собственно, лично мне изменение логики проверки БС никак не навредит, но вероятно будут пользователи, которым придется корректировать свои списки...

Цитировать
Я, хоть и в 3-й раз наступаю на эти грабли, так и не смог привыкнуть, т.к. наиболее очевидной мне кажется именно независимость результата от порядка правил, как в Чёрном списке.

Только в ЧС проверка прекращается при срабатывании любого правила. Вот в списках А и П результаты разных правил могут накладываться друг на друга, но там порядок правил имеет значение. Собственно, логику БС можно сделать по аналогии. А правила "без галок" будут обозначать "точки выхода", когда не нужно суммирование...


Переношу тему в "Новые предложения" для выяснения мнения широкой общественности...
« Последнее редактирование: 27 ноября 2007, 22:07:21 от DenZzz » Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #7 : 27 ноября 2007, 22:12:57 »

Собственно, логику БС можно сделать по аналогии...
Да, логичным мне кажется накопительный принцип: "галочки" от разных правил следует суммировать! Обычно новые правила в Белый список добавляются именно с такой целью - добавить, по сути, новую галочку...

А правила "без галок" будут обозначать "точки выхода", когда не нужно суммирование...
Да, эта та самая гибкость, которую я интуитивно чувствовал ранее! Улыбка Возможность запретить обработку дальнейших правил - это единственное преимущество текущей системы. Но её, оказывается, легко можно реализовать и иным способом! Улыбка Сортировку правил в Белом списке в этом случае разрешать не стоит, пусть будет заблокирована, как сейчас.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #8 : 27 ноября 2007, 22:22:50 »

Да, логичным мне кажется накопительный принцип: "галочки" от разных правил следует суммировать!

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

True + True = True
False + False = False
False + True = True
True + False = True ?
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #9 : 27 ноября 2007, 22:25:50 »

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

True + True = True
False + False = False
False + True = True
True + False = True ?
Всё очевидно, и последнее также верно. Полностью согласен! Улыбка

Мы накапливаем "галочки", то есть True, а False просто игнорируем, как отсутствие галочки!

Для запрета обработки дальнейших правил и создания глобального исключения можно будет использовать предложенное тобой условие выхода: полное отсутствие галочек, тотальный False... Думаю, такой подход универсален, интуитивно понятен и совершенно не требует излишнего напряга мозгов: все ранее созданные правила не теряют актуальности при добавлении нового, а исключения делаются очевидным образом! Решение, по-моему, идеально! Подмигивающий
« Последнее редактирование: 27 ноября 2007, 22:34:22 от popkov » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #10 : 27 ноября 2007, 22:35:32 »

А правила "без галок" будут обозначать "точки выхода", когда не нужно суммирование...
Мне ни разу не доводилось применять правила без галок. Какая практическая ситуация за этим стоит?
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #11 : 27 ноября 2007, 22:42:47 »

Ни разу не приходилось применять правила без галок. Какая практическая ситуация за этим стоит?
Поскольку предполагается, что порядок правил не будет иметь значения, всегда можно переместить те правила, для которых хочется создать исключение, в конец списка, а перед ними поставить правило без галочек, которое и будет означать запрет дальнейшей обработки Белого списка. В целом, весьма полезная возможность, которая окончательно показывает, что мы ничего не теряем, убирая зависимость результата обработки правила от его порядкового номера! Улыбка
P.S. Нужно это нечасто, но такая возможность полезна.
« Последнее редактирование: 27 ноября 2007, 22:47:58 от popkov » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #12 : 27 ноября 2007, 22:51:41 »

Все, что ниже первого же правила без галок, не сработает никогда. Но ведь ненужные правила можно просто отключать, не перенося их ниже "стопового".
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #13 : 27 ноября 2007, 22:56:57 »

Все, что ниже первого же правила без галок, не сработает никогда. Но ведь ненужные правила можно просто отключать, не перенося их ниже "стопового".
В целом, глобального преимущества в "стоповых" правилах, похоже, и в самом деле нет. Их результат аналогичен добавлению "стопового" правила в колонку "Исключение". Другое дело, что благодаря нему можно ограничиться созданием только одного нового правила, не внося коррективы во все остальные -  в этом преимущество! А если первым стоит правило без галок - не проще ли отключить его, не убирая галки?

Отключение правила не эквивалентно созданию исключения из него - об этом речь...
« Последнее редактирование: 27 ноября 2007, 23:04:02 от popkov » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #14 : 27 ноября 2007, 23:04:03 »

То есть такое правило - это что-то типа глобального исключения для глобальных исключений?
Уф... Тяжеловато представить. Можешь дать пример, а то так и не пойму, как применить на практике такой наворот?
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #15 : 27 ноября 2007, 23:16:45 »

То есть такое правило - это что-то типа глобального исключения для глобальных исключений?
Да, но не для всех, а только для тех, что идут после него в списке.
Можешь дать пример, а то так и не пойму, как применить на практике такой наворот?
Чем глубже вдумываюсь в ситуацию, тем менее реальной кажется надобность в такой возможности... Главное оправдание - она заведомо не повредит, ведь всегда легче выключить правило, чем отключить все галочки...
Вот, что смог придумать: если есть 11 правил для одного и того же сайта, и после обработки первого из них пользователь хочет (для простоты и уверенности в результате) запретить обработку остальных правил, он может использовать это свойство, создав дубликат правила без галочек... Вот, кажется, и всё, для чего правило может понадобиться! Теоретически оно полезно, на практике необходимость в нём будет возникать редко. Вреда не вижу.
Возможно, могут быть и более общие приложения.

В любом случае, накопительный принцип обработки Белого списка создаёт очень ощутимые удобства. "Стоп-правила" могут пригодиться, возможно, для упрощения совместимости со старым алгоритмом обработки списка.
« Последнее редактирование: 27 ноября 2007, 23:29:07 от popkov » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #16 : 27 ноября 2007, 23:47:04 »

Вреда не вижу
Я пока что никак не найду пользы.
А вред (даже не вред, а неудобство) заключается в том, что список зависим от порядка следования правил. В этом плане независимый от такого порядка список удобен чем: можно вписывать правило в любое место, не задумываясь о негативных последствиях, можно выстроить список по алфавиту для легкого восприятия/поиска, а можно - по частоте срабатывания для анализа успешности правил.
Поэтому и хочется понять, в каких случаях может быть выжным отказываться от названных преимуществ.
« Последнее редактирование: 27 ноября 2007, 23:51:10 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #17 : 28 ноября 2007, 08:29:59 »

Поэтому и хочется понять, в каких случаях может быть выжным отказываться от названных преимуществ.

Насколько я помню, за введение "Стоп-правил" активно выступал Сергей.
Для каких конкретных целей он их использует, надо спросить у него...

Лично у меня необходимость "Стоп-правил" не вызывает сомнений!
Для чего это нужно:
- Когда надо временно (или постоянно) отключить группу правил для конкретного сайта. Прописывать/убирать исключения для десятка правил - не годится! Как не годится и отключать эти правила, т.к. для других сайтов они должны работать!
- Для разных сайтов (объектов) можно создать разные точки выхода.
- Когда надо для конкретного правила исключить суммирование с другими (в случае изменения логики БС). Ставим после него аналогичное "Стоп-правило" и всего делов!
 
не задумываясь о негативных последствиях, можно выстроить список по алфавиту для легкого восприятия/поиска, а можно - по частоте срабатывания для анализа успешности правил.

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

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

Сообщений: 5513



« Ответ #18 : 28 ноября 2007, 12:41:20 »

Сложно для понимания. У меня в сознании всплывает размытый образ исключения для исключения. Вот бы конкретный пример. Может, и сам тогда использовать смогу.
Сейчас даже в дефолтном "Черном списке" правила для удобства сгруппированы по категориям и их сортировка нежелательна!
Но в рамках группы все по алфавиту. Так искать удобнее, особенно в большом списке. Правда, в таком виде как сейчас сделаны группы - это тоже не совсем от хорошей жизни.
Существенное отличие Черного списка от Белого - его простота. Не надо задумываться о порядке правил, о том, не пересечется ли это правило нежелательным образом с каким-то другим. Риск совершить ошибку у пользователя существенно ниже. Спокойствия и уверенности больше.
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #19 : 29 ноября 2007, 14:20:39 »

Сложно для понимания. У меня в сознании всплывает размытый образ исключения для исключения. Вот бы конкретный пример. Может, и сам тогда использовать смогу.
В общем, это может быть полезно, когда в Белом списке много правил, и многие из них носят не точечных характер (для одного сайта), а весьма общий, и могут затрагивать самые разные случаи. Вот чтобы не вписывать в исключения к каждому такому правилу одно и то же, удобнее будет один раз создать правило без галочек... В целом, я за, хотя ещё долго, наверное, не будет повода воспользоваться этой возможностью.
Но в рамках группы все по алфавиту.
Дело в том, что текущий алгоритм сортирвоки списков (по крайней мере, для меня) - бесполезен, если сортировать правила "по алфавиту". Самый тупой пример: уменя есть правила, начинающиеся с "^", начинающиеся с "+" и просто начинающиеся с буквы... Как эти правила сайчас сортируются? Правильно, все окажутся в разных местах списка! Можно ли это улучшить? По-моему, нет! Регулярные выражения слишком разнообразны, невозможно придумать единый алгоритм автоматической "умной" сортировки. Грамотнее просто вручную поддерживать разделение на группы по их предназначению, которое сам понимаешь. Сам я использовал сортировку только одн раз, и только для Чёрного списка: но не по правилу, а по числу попаданий, чтобы самые эффективные правила оказывались вверху (или внизу) списка. Это единственная польза от сортировки для меня. Сортировка по самому правилу всегда казалась мне бессмыслицей: правила для одного и того же сайта оказываются вдали друг от друга - что из этого можно извлечь??
Но в рамках группы все по алфавиту. Так искать удобнее, особенно в большом списке.
У меня скорее по домену или по характеру правила: правила, блокирующие скрипты - в одном месте, блокирующие картинки - в другом, блокирующие по характерным признакам баннерных URL'ов (наличие "ref=http://" в самом URL и т.п.) - в третьем, блокирующие по имени сайта - в четвёртом, но отсортированы по имени домена вручную, а не "по алфавиту", как было бы при автоматической сортировке...
Правда, в таком виде как сейчас сделаны группы - это тоже не совсем от хорошей жизни.
Согласен, но более удобной системы при нынешних возможностях, наверное, не создашь... Откровенно говоря, меня даже сейчас всё равно немного беспокоит возможность сортировки Чёрного списка - раньше это можно было случайно сделать, и было совсем плохо, а сейчас для меня его сортировка крайне нежелательна, но иногда промахивашься... Вылезает, слава богу вопрос, сортировать или нет? - но чем чёр не шутит, однажды даблклик может случайно вторым кликом попасть на "Да". В общем-то, сортировка правил по алфавиту мне кажется не вполне удачной идеей вообще...
Существенное отличие Черного списка от Белого - его простота. Не надо задумываться о порядке правил, о том, не пересечется ли это правило нежелательным образом с каким-то другим. Риск совершить ошибку у пользователя существенно ниже. Спокойствия и уверенности больше.
Таким должен быть и Белый список, ИМХО Улыбка

=================================================

Добавлено: 29 Ноября 2007, 13:54:11

Для меня польза от стоп-правил могла бы наблюдаться и в Чёрном списке! Яркий пример - группа правил, блокирующая по характерным признакам баннерных URL и счётчиков (привожу только часть):
Цитировать
#4#~#True#~#\.swf\?#~#/player\.swf\?#~#
#4#~#True#~#^([^/]+?\.)?([\w\-]+\.\w+)(:\d+)?/.*[^:]http(%3a|:)?(//|%2f%2f)([^/]+?\.)?(?!\2)([\w\-]+\.\w+)(:\d+)?[^\w\.]#~#^[^/]*(yahoo|google|rambler|aport)|^[\d\.]+/search\?q=cache:|safeurl#~#
#4#~#True#~#^[^?]+[^a-z]count(er)?(\.\w+)?/?\?#~##~#
#4#~#False#~#/(\w*\d)?cnt/#~##~#
#4#~#False#~#^[\d\.]+/#~#^[\d\.]+/search\?q=cache:#~#
Ясно, что эти правила слишком общие. Однако они необычайно эффективны, особенно второе! Но оно блокирует часто нужный контент. Можно вписывать к нему в "Исключение" десятки случаев, но мне было бы удобнее всю группу правил переместить в конец Чёрного списка и перед ними просто вписывать Стоп-правила, добавляя их из Монитора по контекстному меню (и затем перемещая выше этой группы). Использовать Белый список в данном случае - не настолько гибко, т.к. "Белое" правило отключит весь Чёрный списко для данного сайта вообще, мне же нужно только создать очередное исключение для группы очень общих правил, которые нуждаются в исключениях, как в воздухе - иначе они бесполезны...
Подобная возможность может пригодиться и для Белого списка, особенно тем, кто создаёт сложные исключения для Преобразования URL, Переадресации, глубоко экспериментирует с Оффлайн-сёрфингом. Другое дело, пока в такие дебри высшего пилотажа никто не лезет - слишком сложно, и редко нужно. Но сама возможность такого, мне кажется, полезна - и не только для Белого, но (и даже в большей степени!) для Чёрного списка!
Сообщить модератору   Записан
Страниц: [1] 2  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: