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

» HandyCache ( Часть 4 )

Автор: DenZzz
Дата сообщения: 30.10.2006 10:25
mai62

На Wiki сейчас опять: "Нет страницы для отображения". Если отключить в HC "If-Modified-Since", то все O.K. ...

Еще одно наблюдение: если после неудачной загрузки сразу перейти в OFF-line, то и там страница не будет грузится из кэша, пока не очистишь RAM-кэш. После очистки все О.К. - следовательно, файл в кэше не битый и полный.

P.S. Что-то не нравится HC (браузеру) в ответе сервера после отправки "If-Modified-Since"?...
Автор: forever
Дата сообщения: 30.10.2006 10:41
ne007

Цитата:
Удаление ини-файла, пляски с бубном - ничего не помогает.

А с предыдущей версией пробовал? (ссылка в шапке)
Автор: C0USIN
Дата сообщения: 31.10.2006 01:20
Приходится пока работать на двух разных компах. Хочется иметь на них идентичные кэши.

Решил сделать так: основной каталог перевожу в режим только для чтения а для новых файлов создал еще одну папку. Когда заканчиваю работать - скидываю новые файлы на флэшку и переношу их в каталог только для чтения на обоих компах.

Но заметил глюк:
HC не всегда находит данные в каталоге Только для чтения
Некоторые файлы качаются заново, не смотря на то, что они прописаны в списке Не обновлять
Автор: mai62
Дата сообщения: 31.10.2006 02:56
C0USIN

Цитата:
Но заметил глюк:
HC не всегда находит данные в каталоге Только для чтения
Некоторые файлы качаются заново, не смотря на то, что они прописаны в списке Не обновлять

Попробуй выявить закономерность.
Автор: unreal666
Дата сообщения: 31.10.2006 04:39
C0USIN

Цитата:
Но заметил глюк:
...

А список "Преобразование URL" одинаков на обоих HC ?
Автор: C0USIN
Дата сообщения: 31.10.2006 05:57

Цитата:
список "Преобразование URL" одинаков на обоих HC ?

Разумеется.

Закономерность пока не могу увидеть.
Автор: rs
Дата сообщения: 31.10.2006 07:45
C0USIN

Цитата:
Приходится пока работать на двух разных компах. Хочется иметь на них идентичные кэши.

Решил сделать так: основной каталог перевожу в режим только для чтения а для новых файлов создал еще одну папку. Когда заканчиваю работать - скидываю новые файлы на флэшку и переношу их в каталог только для чтения на обоих компах.
а зачем так сложно?


я, например, делаю так:
на работе в историке в трее в контекстном меню выбираю "Сохранить кэш в упакованный архив" (в архив ДОПИСЫВАЮТСЯ только новые файлы кэша), полученный rar-архив просто копирую в корень флэшки, несу флешку домой, в корне флешки у меня также лежит HandyCache.extract.bat - запускаю его и он распаковывает только новые файлы в домашний кэш

оба пути кэша дома и на работе идентичны

всё автоматизировано и минимизировано до безобразия

Автор: C0USIN
Дата сообщения: 31.10.2006 07:49
rs
Как историк узнает что файл новый?
Автор: rs
Дата сообщения: 31.10.2006 07:50
C0USIN
об этом знает rar (см. готовые параметры архивирования в историке)

Добавлено:
C0USIN
кстати, в моей технологи процесс можно еще минимизировать - настроить сохранение архива историком сразу на флэш - но в этом случае мы имее одну копию архива - только на флэше, а так как у меня сейчас - у меня три копии архива - дома, на работе и на флэше

зы
домашние файлы кэша ессно переносятся на работу идентично

Автор: NothingAnother
Дата сообщения: 31.10.2006 08:27
Господа Дельфи'нщики! Скажите, кто в теме, а есть ли вообще в Делфи возможность компилить юникодовые сборки, как в MSVS? А то я пристаю к mai62 и rs со своей наивной просьбой сделать такой билд - но что-то "энтузизизм" у них отрицательный. Может, просто в Borland'е признают только ANSI (земной поклон Win 9x ), и такой опции нет в принципе?
Автор: C0USIN
Дата сообщения: 31.10.2006 08:43
rs
Твой рецепт мне не подходит по ряду причин.
Я не могу таскать с собой весь архив кэша. Он намного больше флэшки получится.
Даже если сказать RAR'у упаковывать обновленные файлы в отдельный архив - эта операция займет непозволительно много времени. Сейчас кэш у меня больше 2Гб и состоит их сотен тысяч файлов.

ЗЫ
Почему-то у тебя перенос кэша с одного компа на другой, с перезаписью существующих файлов, называется синхронизацией.
Автор: SwitchNK
Дата сообщения: 31.10.2006 08:46
Может уже было отвечено, но не смог найти решения поэтому прошу не бить...

Постоянно возникает ошибка "Сервер не найден. Не возможно отобразить страницу." (firefox просто показывает пустое окно без всяких ошибок)
При этом в мониторе ничего не появляется.
Приходится каждый раз обновлять страницу, чтобы получить ее содержимое.
Очень часто возникает при отправке данных форм => теряем все введенное

Кэш DNS отключен, NetDevIP_Text настроен (кстати не удобно, у меня DHCP и нет гарантии, что IP не поменяется)



Автор: DenZzz
Дата сообщения: 31.10.2006 09:10
SwitchNK

Цитата:
При этом в мониторе ничего не появляется.

Что-то было похожее... В настройках "Черного списка" и "Только из кэша" стоят галки "Не показывать соединения"?
Если стоят - убери и смотри, какие правила блокируют страницу...
Если не стоят, то тогда покажи лог загрузки (см. настройки HC "Вид - Вести лог") проблемной страницы в момент: "Сервер не найден. Не возможно отобразить страницу."
Автор: rs
Дата сообщения: 31.10.2006 10:46
C0USIN

Цитата:
Почему-то у тебя перенос кэша с одного компа на другой, с перезаписью существующих файлов, называется синхронизацией
с чего ты взял? в моем примере я распаковываю на домашний комп из rar-а только те файлы, которы нет в кэше домашнего компа - кэш переносится не полностью, самая настоящая синхронизация


Добавлено:
C0USIN

Цитата:
Даже если сказать RAR'у упаковывать обновленные файлы в отдельный архив - эта операция займет непозволительно много времени. Сейчас кэш у меня больше 2Гб и состоит их сотен тысяч файлов.

если создать архив с файлами из кэша за последние две недели, к примеру - сколько времени у тебя потратит rar на создание такого архива?
Автор: C0USIN
Дата сообщения: 31.10.2006 10:50

Цитата:
NetDevIP_Text настроен

Зачем вообще его настраивать? Даже когда на компе несколько сетевых интерфейсов HC должен руководствоваться таблицей маршрутизации.

rs
Цитата:
с чего ты взял?
Сорри, не заметил параметр -u


Цитата:
если создать архив с файлами из кэша за последние две недели, к примеру - сколько времени у тебя потратит rar на создание такого архива?

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

Тебе не приходило в голову использовать ключ -ver[n]?
Тогда бы мы хранили в архиве несколько предыдущих версий страниц.

Добавлено:
Вот статистика моего кэша, если кому интересно

Цитата:
Папок 33117
Файлов 132297
Размер файлов 1,799,357,252
Упакованный размер 1,503,086,439
Степень сжатия 83%
Размер кластера 512
Реальный размер 1,531,123,712
Остатки кластеров 28,037,273 (1%)
Автор: SwitchNK
Дата сообщения: 31.10.2006 11:33
DenZzz

Цитата:
В настройках "Черного списка" и "Только из кэша" стоят галки "Не показывать соединения"?

Никаких галок...


Цитата:
покажи лог загрузки (см. настройки HC "Вид - Вести лог") проблемной страницы в момент

собственно нечего показывать... Ничего в лог не пишется.
Ответ о том, что сервер не найден приходит моментально, практически без задержки.

C0USIN

Цитата:

Цитата: NetDevIP_Text настроен


Зачем вообще его настраивать? Даже когда на компе несколько сетевых интерфейсов HC должен руководствоваться таблицей маршрутизации
Автор: rs
Дата сообщения: 31.10.2006 11:34
C0USIN

Цитата:

Тебе не приходило в голову использовать ключ -ver[n]?
Тогда бы мы хранили в архиве несколько предыдущих версий страниц.
приходило... но я как-то решил, что без него в приницпе обхожусь

C0USIN

Цитата:
Не знаю. Мне такая операция еще в голову не приходила.
Я имел в виду архивировать в отдельный архив все новые и обновленные файлы, которых нет в предыдущем полном архиве.
Думаю, что это займет меньше времени чем обновление полного архива кэша. Т.к. архив не надо изменять - мы же создаем еще один - новый. И этот архив уже легко поместится на флэшку.

вот я и говорю сделай себе для СОЗДАНИЯ архива ДВА пакетных файла: один пишет в первый rar-архив всё из кэша старее двух недель к примеру, а второй пакетный файл в ДРУГОЙ rar-архив пишет всё за последние две недели из кэша...

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

прошло две недели - подправил даты в первом и втором пакетном файлах, обновил большой после этой правки - и опять лежат без движения большие архивы, а через флэшку летают маленькие
Автор: SwitchNK
Дата сообщения: 31.10.2006 12:01
Все с тем же вопросом.

Ситуация с ошибкой "Сервер не найден" проявляется когда на порту прокси ничего нет.
Т.е. не с кем якобы соединяться, хотя все на месте.
Стоило вставить между HandyCache и браузером еще один прокси (Proxomitron), ошибки не повторялось. Но пользовать в таком виде как-то не красиво...


Автор: Taimael
Дата сообщения: 31.10.2006 12:24
DenZzz

Цитата:
У меня работают оба правила в моей редакции!
Галки "Обязательный" не забыл поставить? Покажи содержимое файла URLF.lst из папки HC.

спасибо!
я разобрался
так и не понял в чем было дело, но теперь все работает...


народ, кто очень много и очень много где лазаит по инету, любит мониторить все встречающиеся гадасти и делать на них правила в черном списке, выложите его пожалста гденить
обычно то сидишь на нескольких десятках сайтах и дальше носа не суешь, а когда приходится сунуть - обнаруживаешь что твой черный список совсем практически и не черный
интересно очень на чужой опыт взглянуть...
Автор: deus6666
Дата сообщения: 31.10.2006 12:24
>Господа Дельфи'нщики! Скажите, кто в теме, а есть ли вообще в Делфи возможность компилить юникодовые сборки

Есть конечно, только зачем? Чем анси не устраивает?
Автор: DenZzz
Дата сообщения: 31.10.2006 14:48
SwitchNK

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

Думаю, HC не виноват, т.к. до него запрос не доходит!
Может FireWall-а или антивирус (типа KIS) и т.п. блокируют доступ к порту...
Автор: SwitchNK
Дата сообщения: 31.10.2006 15:55
DenZzz

Цитата:
Думаю, HC не виноват, т.к. до него запрос не доходит!
Может FireWall-а или антивирус (типа KIS) и т.п. блокируют доступ к порту...


Тогда как объяснить, что добавляя еще одно звено между браузером и HandyCache все работает?
И в этом случае должно блокироваться все подряд, а тут никогда не знаешь что тебя пошлет.
От загруженности не зависит...
Автор: NothingAnother
Дата сообщения: 31.10.2006 18:55
deus6666
Цитата:
зачем? Чем анси не устраивает?
Вопрос так не стоИт - "не устраивает" (дарёному коню в зубы не смотрят!), здесь уместней "не устраивает по-сравнению с..." А данный топик как раз для того и создан, чтобы помочь автору в улучшении продукта всеми путями - развитие функционала, улучшение интерфейса, оптимизация работы... Надо признать - нам всем очень повезло, что mai62 не страдает манией величия и прислушивается к высказываемым здесь мнениям (а иначе зачем тогда всё?), разве что не всегда внимательно...
По сути твоего вопроса - это, конечно же оффтоп, но раз уж задан... Надеюсь, ни для кого не будет откровением, что ядро NT-систем (а это все форточки, за исключением 9x) - юникодовое, поддержка ANSI - тяжкое наследство, оставшееся лишь для совместимости с уже существующим софтом - софтом стремительно устаревающим, остановившемся в своём развитии. Оглядываться на этот анахронизм оправдано лишь в одном случае - поддержка юзеров по разным причинам остающихся на 9x. Но мировая практика софтостроения давно решила этот антагонизм - сценарий инсталлятора автоматически определяет тип системы, и в соответствии с этим разворачивает те или иные модули (Unicode or ANSI). В случаях, когда имеет значение размер дистриба - ещё проще,- создаются два варианта билдов на выбор пользователя.
Любое Win-приложение представляет из себя бесконечный (замкнутый) цикл выборки из очереди и обработки сообщений. Внутри этого цикла и находится основная логика, которая сводится к цепочкам вида "вызов ф-ии API->обработка результатов->модификация данных->передача данных другой ф-ии API->обработка результатов...". Это то, что создаёт компилятор из программы на языке высокого уровня. Теперь самое интересное - входы API-функций в модулях ядра NT-систем в случаях использования символьных данных всегда парны и различаются суффиксами - FunNameA и FunNameW (соотв. ANSI и Unicode варианты). При этом вызовы ф-й ANSI можно считать паразитными - вся их работа сводится к преобразованию данных в юникод и передачу управления уже "настоящей" ф-ии (с суффиксом W) для обработки. Этого паразитного этапа можно легко избежать, всего-то установкой неких (не знаю - каких в Делфи) опций компилятора (вернее - линкера). Просто раньше я не знал - возможно ли это в продукции Borland, но вот deus6666 сообщает, что возможно.

mai62, обрати внимание! Только что посмотрел HC линк-вьюером только для того, чтобы лишний раз полюбоваться на гигантское количество вызовов "паразитов", и тут же обнаружился глюк, но (внимание, сейчас вылетит птичка! ) не HC, а компилятора!!! В модуле MPR.DLL вызывается вообще отсутствующая в нём (во всяком случае в версии 5.1.2600.2180 из XP SP2) ф-я WNetRestoreConnectionA, зато есть WNetRestoreConnectionW, но Дельфи, походу, просто не может её слинковать в соотв. с приказом "делай ANSI!" Это уже даже не аргумент, а бомба! Прокомментируешь?
Автор: C0USIN
Дата сообщения: 31.10.2006 20:38

Цитата:
Оглядываться на этот анахронизм оправдано лишь в одном случае - поддержка юзеров по разным причинам остающихся на 9x.

http://ru.wikipedia.org/wiki/Юникод_в_операционных_системах_Microsoft

Цитата:
В 2001 году корпорация Майкрософт выпустила специальное дополнение к своим старым операционным системам Windows 95, Windows 98 и Windows Me. Дополнение называется «Слой Майкрософт для Юникода» (англ. Microsoft Layer for Unicode, MSLU) и обеспечивает поддержку Юникода на указанных старых платформах. Это дополнение включает в себя динамическую библиотеку unicows.dll (всего 240 Кбайт), содержащую юникодовые версии (те, что с буквой W на конце) всех основных функций Windows API. В результате на старых операционных системах Windows стало возможно запускать как старые, так и новые программы, рассчитанные на использование Юникода.
Автор: NothingAnother
Дата сообщения: 31.10.2006 21:32
Загрузить Microsoft Layer for Unicode on Windows 95, 98, and Me Systems, 1.1.3790.0 (от производителя )
Автор: deus6666
Дата сообщения: 31.10.2006 23:59
>При этом вызовы ф-й ANSI можно считать паразитными - вся их работа сводится к преобразованию данных в юникод и передачу управления уже "настоящей" ф-ии (с суффиксом W) для обработки. Этого паразитного этапа можно легко избежать, всего-то установкой неких (не знаю - каких в Делфи) опций компилятора (вернее - линкера). Просто раньше я не знал - возможно ли это в продукции Borland, но вот deus6666 сообщает, что возможно.

Если имеются в виду вызов парных API функций, то в Делфи переключить это компилятором нельзя. Не скажу за последние версии, но семерка точно не умеет.

Тем не менее, не думаю, что работа с анси вызовами серьёзно снижает производительность системы. Думаю, что сами API функции выполняются на порядки дольше, чем обёртки над ними. Хочу вот как-нить 2006 делфю пощупать поставить, возможно там уже добавили возможность компиляции с вайд строками.

Опять же, никто не мешает особенно частые вызовы (например, записи/чтения в/из файла) сделать вызовом апи напрямую, обращаясь к соответствущим wide функциям, хотя не думаю, что это поднимет общую производительность системы больше, чем на 1-2 %, мерять нужно.

>Только что посмотрел HC линк-вьюером только для того, чтобы лишний раз полюбоваться на гигантское количество вызовов "паразитов", и тут же обнаружился глюк, но (внимание, сейчас вылетит птичка! ) не HC, а компилятора!!! В модуле MPR.DLL вызывается вообще отсутствующая в нём (во всяком случае в версии 5.1.2600.2180 из XP SP2) ф-я WNetRestoreConnectionA, зато есть WNetRestoreConnectionW, но Дельфи, походу, просто не может её слинковать в соотв. с приказом "делай ANSI!" Это уже даже не аргумент, а бомба! Прокомментируешь?

Насколько я помню, если в дллке не хватает функции, то виндовый экзешный стартер не стартует приложение. Это если пользование дллки и её функций вбито в заголовок экзешника, но дллку также возможно подрузить позже (позднее связывание вроде завётся) руками вызовом loadlibrary, затем можно попробовать в библиотеке найти соответствующую функцию с помощью GetProcAddress, я у себя плагины так гружу. Возможно именно это поведение линк вьювер и показывает.
Автор: NothingAnother
Дата сообщения: 01.11.2006 08:08
deus6666
Цитата:
если в дллке не хватает функции, то виндовый экзешный стартер не стартует приложение
Это не касается т.н. delay-load подгрузки -в этом случае ничего не проверяется.

Цитата:
не думаю, что это поднимет общую производительность системы больше, чем на 1-2 %
"Общая производительность" - не что иное, как "средняя температура по больнице". Простой пример - у тебя слабый видеоадаптер, и при работе с 3D-графикой картинка дёргается. При этом общее время показа не увеличивается - значит, всё o'k? В разные моменты времени программа в разной степени активно работает со строками, а операции преобразования строк по "скорострельности"стоят на втором месте после операций I/O Что касается конкретно HC, то обработка строк - основная (по- времени) деятельность программы, а кратковременных (возможных!) "дёрганий" просто не видно...

Цитата:
в Делфи переключить это компилятором нельзя
Ну а что ж ты говорил - можно? Выходит, в Borland'е отношение к Делфи скорее, как к пазлам для забавы, чем как к инструменту для серьёзных разработок... Теперь понятно, почему помалкивают наши главные девелоперы - как говорится, "рад бы в рай, да грехи не пускают..."

mai62
А зачем ты завёртываешь свой экзешник в PECompact? Разворачивать потом... Хоть и не долго, но всё равно - лишние движения... Непонятна мотивация - если это забота о пространстве на харде юзера,- то рядом с кэшем объёмом в трёхзначных MB (а у кого-то уже и GB! ) экономия 1.3MB на сколь-нибудь серьёзную не тянет. Если же важен размер для "закачки" - опять же выигрыш с точностью до-наоборот - при сжатии архиватором (к примеру, 7z), объём "запакованного" файла 702KB (исх. 712K), а "чистого" - 680KB (исх 2.02M)... Вот тебе и "...почувствуйте разницу..."!
Автор: mai62
Дата сообщения: 01.11.2006 11:55
NothingAnother

Цитата:
В разные моменты времени программа в разной степени активно работает со строками

А почему ты решил, что работа со строками идет через вызовы функций API? Это вовсе не так и этот твой аргумент в пользу unicode не состоятелен.
В Delphi для win32 в самом деле очень скудная поддержка (практически никакая) работы с unicode и включением пары опций проблема не решается. Благодаря стараниям сторонних программистов эта проблема все же решается, хоть и требует кое каких усилий. В данный момент я занимаюсь переводом НС на unicode, но не из 'религиозных' соображений, а по причине возникающих иногда проблем с отображением кирилицы и желания реализовать, наконец, возможность переключения языков интерфейса.

Цитата:
А зачем ты завёртываешь свой экзешник в PECompact? Разворачивать потом...

Подавляющему большинству пользователей НС 'разворачивать' экзешник не нужно.
Автор: forever
Дата сообщения: 01.11.2006 12:16
NothingAnother

Цитата:
Хоть и не долго, но всё равно - лишние движения...

PECompact v2.x - документация:

Цитата:
распаковка и воссоздание файлов происходят столь быстро, что в результате время их загрузки может даже сократиться, так как время, сэкономленное на чтении меньшего количества байт с диска или из сети, может оказаться больше времени, затрачиваемого на распаковку и реконструкцию модуля.
Автор: ne007
Дата сообщения: 01.11.2006 14:56
mai62
Так ваша программа и не работает....

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Folder Marker (FolderMarker)


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