Персональный проект Александра Чижова, Иркутск 1998-2006Компьютерный журнал Cooler | скачать новые компьютерные игры | гаджеты | астрономия | обзоры программиста System's temperature
recent issueaboutarchiveLive TAMrubricatorlinksBooks digest
Компьютерный журнал "Cooler" Александра Чижова (Иркутск)
5 февраля 2000

"А что еще из ночного анлимитед можете посоветовать?"
(разговор с провайдером. S.Kapora)
N145

Сперва, для постановки задачи - небольшой сценарий. Итак, посредством браузера, мы даем команду какому-то серверу отдать нам определенный ресурс. Определен он в заголовке запроса по стандарту HTTP/1.0. Сервер (вернее, его софтовая часть - чаще всего это будет Apache) самым первым отдаст default файл в директории на которую указывает виртуальный хост.
Я уже писал всю кухню работы общения браузер-сервер в "Сисадминских байках", просто немного освежу. Ага, к "нам" идет весь файл (обычно это index.html/htm/asp и т.п.), который, может обрабатываться разными браузерами по разному. В самых распространенных будет еще и как бы параллельная загрузка ресурсов, на которые есть ссылки в самом контенте HTML документа. IMG SRC укажет на то, что с сервера необходимо потребовать картинку. OBJECT - "левое" включение - флэшку, например. Все это браузер тоже должен качать сам - запросы к серверу на них такие же, как и для основной странички. Content-type, разумеется, будет другим.

Эээ... о сценарии. Загружая какой-либо ресурс, на который мы вынуждены время от времени заглядывать, очень часто возникает желание кое-что подправить. Слегка так. Немного совсем. Например, веб-мастер написал какой-то код, который может в его браузере идет нормально, а у моего вызывает резкое несварение. Причем, я даже знаю, где у него ошибка - воон там надо подправить и все пойдет нормально. Пример? плз: размер и тип шрифта - я могу, конечно, изменить размер по умолчанию в своем браузере, но это не очень удобно, а тем более в NN. Или вот какая фишка - забыли поставить target в HREF тэгах. Хотя, может это была такая задумка. Но мне-то хочется, чтобы у меня все открывалось в другом окне _всегда_ и именно на этом сайте.
Про баннер-киллеры я, вообще, молчу.

Как, вырисовывается идея? :) Ну да, неплохо бы такую прогу, которая ловила поток запросов и ответов от/для браузеров и чуть-чуть там кое-чего правила в соответствии с полезными правилами, буде ей таковые переданы.

Есть такая прога. Называется Proxomitron. На данное время доступна версия Naoko-3(b). Скачать можно на родном сервере или у меня (830kb). Кстати, эту программу я не первый описываю, но я просто попытаюсь это сделать глубже.

Автор просто написал средство обработки потока HTTP с помощью регулярных выражений и интерфейс задания правил. Многие готовые правила он уже написал сам, остальное добавите по вашей надобности. На рисунке - пример задания порта, через который будет работать ваш браузер. Т.е. в самом браузере необходимо будет прописать proxy для HTTP - порт и адрес - localhost (127.0.0.1).

Еще одна тонкость. Как _от вас_ идет REFERRER к серверу? Очень просто: в заголовке самого первого запроса "GET" передается тот URL, с которого вы "попали" на данный сервер. Передает его браузер. Это тоже можно изменить. User agent (т.е. грубо говоря, тип вашего браузера) можно поставить любой по своему желанию. Это еще одна отличительная особенность программы Proxomitron. Изменять заголовки (header) HTTP протокола иногда нужно не только ради баловства. Если админ не прописал у себя на сервере MIME для mp3 - то "ткнув" на ссылочку для скачивания файла, вы рискуете его поиметь в бинарном виде в окне браузера. Потому что, content-type придет как text/plain, а не audio/x-mpeg. Да и любой другой тип, собственно, тоже. Кстати, если вас напрягает скачивание RealAudio посредством RealPlayer, можно заменить заголовок для RealAudio audio/x-realaudio на application/zip - браузер должен будет предложить запись потока в файл, как обычный архив, например. Есть еще одна полезная фишка - убирать encoding в META-заголовке. Netscape Navigator лишний раз перегружает страничку, если прописан character-encoding не такой, какой по умолчанию на сервере. Это известная (бага?) в навигаторе.

Для поиска/замены необходимых фрагментов в программе реализован енджин регулярных выражений.

URL - создание маски для адреса, Bound Match - маска пределов поиска (чтобы сильно сложное выражение не наворачивать, да и для скорости). Matching Expression - собственно, _что_ ищем и replacement text - что будет подставлено вместо найденного Bounds Match+Matching Expression.

И последнее - программа немного сыровата, и некоторые правила написаны с ошибками, поэтому, отключите непонятные и ненужные, оставьте только те, которые явно нужны, к тому же, проверьте их на "вшивость" - мало ли что там написано :)

Разумеется, автор оставил возможность поглядеть _что_ именно проходит через программу:

Самый первый запрос - GET 30 - обратите внимание на Host: я как-то писал, что если одном IP адресе "висит" по несколько виртуальных хостов - как их различать? Вот как раз таким образом для протокола HTTP/1.0. Ответ сервера - RESP 30 - видны подсвеченные выполненные программой изменения в контенте.

Так что, с нужным сайтом можно сделать практически все что угодно.Для удобства или баловства - тут уж как кто время любит тратить :)

 

 

 

"Записки флэшера"

предыдущие части цикла - в номерах за 5-е, 7-е, 11-е, 15-е и 22-е января.

Flash 4 logoОб анимации свободных форм очень хочется поговорить отдельно. Shape Animation позволяет нам всем создавать интереснейшие эффекты. К сожалению, этим очень часто злоупотребляют. И наоборот, не используют там, где необходимо - при сложной цветовой анимации. Поясню по порядку.

Как часто на разных сайтах начинающих flash-аниматоров встречается замусоленый сюжет - претекание букв логотипа в какую-нибудь неотвязную форму! Это сразу характеризует класс. У меня просто озноб порой вызывает, когда "Вася" превращается в "Пупкин", наплевав на все законы топологии. Flash в этом вопросе, на самом деле не особо церемонится, ему надо одну форму в другую перевести - он и переводит, как ему заблагорассудится. Вообще, морфинг- он везде славился непредсказуемостью - что в 3х-мерке, что в blend-операциях, только, конечно, морфинг sub-div'ов снимает некоторые ограничения (на число вершин, к примеру), но добавляет сюда свои причины рвать волосы на голове - отсутствие этих вершин заставляет его (Flash) самому принимать решения о точках, которые надо сопоставить. Когда вы определяете hint'ы, вы выполняете часть этих действий вручную. Это значительно облегчает процесс shape-анимации, но не гарантирует 100% удовольствия от результата - все hint'ы перемещаются строго по прямым (а как ещё, спрашивается?), со скоростью, одинаковой для всех точек. К тому же, иногда (чаще всего это случается когда вы импортировали формы из других программ) Flash всё же отказывается догонять адекватно схему расположения hint'ов, хоть она трижды эквивалентна, тут будьте добры - получите черт знает что. Лечится это (иногда!) тремя путями - сдвигом hint'ов в стороны (чуть-чуть), добавлением ещё одного hint'а или наборот - его удалением (причём, порой нельзя угадать, какого именно). Иногда, shape-анимация не даёт никаких сбоев при проигрывании в авторской среде, но случаются глюки при компиляции - в этом случае могу посоветовать только повторную компиляцию, скорее всего, недоразумения исчезнут.

О том, что желательно преводить друг в друга топологически эквивалентные формы, говорить надоело, но приходится. А Macromedia я бы уши надрал за пример в Lessons с дыркой в треугольнике. Вышесказанное не утверждает того, что любые эквиваленты будут анимироваться одинаково хорошо, но вероятность этого выше, чем в случае, когда Flash пускается в фантазии по поводу содержимого анимационной акции.

Shape-анимация позволяет проводить очень интересные эффекты с градиентами. По-простому - анимировать градиенты и их параметры. Только не мечтайте о том, что у вас будут анимироваться цветовые позиции - пока до этого не додумались в Macromedia. Зато, геометрические характеристики градиента анимируются, а цвета просто переходят друг-в друга. Использовать такую технику намного удобнее, чем маскировать огромные куски, залитые гардиентом нужной формы. Хотя, и здесь случаются серъёзные проколы - у линейного градиента две геометрических характеристики - положения точек одной из нормалей, в которых лежат разные краевые цвета, и эти точки двигаются в процессе анимационной акции только по прямым - в результате этого может неправильно выглядеть эффект поворота градиента на большие (>45 гадусов) углы, хотя, эффект, котрый достигается таким путем достаточно эстетичен, то же самое касается и радиальных градиентов - у них 4 характеристики - и тоже - положения контрольных точек. Ещё пример из раздела "глюки": анимационная акция - в ключевых кадрах - subdiv сложной формы, кроме того - состоящий из кучи несвязных кусков. У всех - заливка одним и тем-же градиентом, в разных фазах анимации - в разных ключевых кадрах соответственно. При компиляции кадр, предшествующий конечному ключевому оказывается пуст, хотя следующий (ключевой) и предудущий ему - в полном порядке. Лечится - рецептом приведённым выше - повторной компиляцией. Вообще, Flash крайне капризен к свободным формам, поэтому, если у вас какие-то сложности с работой с ними (не понимаются hint'ы, исчезает shape-маска, пропадают детали при импорте) - попробуйте слегка изменить сцену (сдвинуть hint'ы, повернуть в ключах маски subdiv'ы, чуть трансформировать импортируемую графику в среде, где она готовилась). Кстати, растровой заливки это касается на все 100 - её характеристики так же анимируются, хотя с теми же ограничениями.

Kunck (e-mail)

продолжение следует

 

Так, разберемся со StreamBox. Как оказалось, креки, выложенные в прошлом номере не совсем правильные. Проверить их удается лишь тогда, когда число конвертируемых файлов больше 10. Тогда-то все и затыкается.

Прислали 2 решения: одно - кряк размером 5kb, другой - патч+регистри:

"Заменяем содержимое байтов 0xAE0F4 и 0xAE15C на 00, и получаем триал на 5 попыток. Но, сколько его не использовать, они так и остаются 5-ю. А чтобы прога не спрашивала о триале, используем уже известный REG-файл. Принцип действия прост до безобразия: вписывая нули, мы заменяем названия параметров Show и Position на пустую строку, таким образом оба параметра пишутся в один и тот же (параметр "по умолчанию"), а получившиеся 5 попыток- лишь побочный эффект." (BugMaker)

Да и еще - если попадется не триал версия, а полная, она попросит слово, и слово это "camel".

One LIQUID file

Dead can dance "Avatar" (3.3Mb, 4.35 min) 96kbps, 16bit, stereo, 44.1kHz, Liquid
from album "Spleen and Ideal"(1986)

 

grabbed with WinDac, encoded by LiquifierPro

 

http://come.to/crashes - сайт с видеороликами (форматы MOV, AVI, MPG) - сюжеты о разнообразных авариях. В основном, на спортивных гонках.

ссылку прислал Igor

Небольшая страничка Владимира Донскова. Посвящена ремонту мониторов. Схемы блоков питания, описания, конференция. В целом, материала не так много, но, возможно, кто-то найдет для себя что-нибудь полезное. Например, полные схемы мониторов Panasonic, Samsung, Daewoo, Sony различных модификаций.

Благодаря Сергею Маслихину (Москва) у журнала появилось еще одно FTP-зеркало:
ftp.ogo.ru/pub/cooler-online.com

Еще раз напомню, что все мои зеркала и адреса их владельцев можно поглядеть на страничке FTPFAQ, там же - ответы на часто задаваемые вопросы.

 

 

prev

[ Архив+поиск ]-[ все комментарии ]-[ Жизнь ТАМ ]
[ Хакеры ] [ Журнал WebSound ]
[ обзор книг ] [ mouseimp ] [ биржа труда ] [ Ссылки ]
[RSS feed simple]    [RSS feed simple 2]    [RSS feed complete]

next

 

Компьютерный журнал "Cooler". Авторство и выпуски Александр Чижов. Иркутск
1998-2009
Рейтинг@Mail.ru
Cooler
WWWoman - лучший WM!!
Rambler counter