Flash Ripper RSS Readers

Последний раз об Apache Ant: чистим кэш браузера и находим окончательный баг в коде

Сегодня мы раcсмотрим еще один тип заданий, которые умеет выполнять полезный инструмент Ant. Мы увидим, как он удаляет вредные файлы, в данном случае -- кэш браузера. Послушайте меня, на самом деле, это -- не самое лучшее, что вы можете сделать (лучше дерево посадить), но бывает, что процесс отладки приложения заходит так далеко, что в вашем исходном коде все уже проверено-перепроверено, везде где только можно стоят брейкпойнты и трейсы, а все равно ничего не работает. Тогда становится ясно, что подлый баг засел в кэше браузера, и единственный шас его замочить -- это тотальная экстерминация всего кэша. Затем, когда кэш очищен, а баг снова радостно машет вам красным платочком зарождающегося разочарования в людях и технологиях, вы понимаете, что, чорт побери, действительно где-то допустили ошибку... и после этого уже за считаные минуты находите кириллическую "с" вместо латинской "c" в проверке типа "if (mcContainer._name = "mcContainerTest")", а затем еще быстрее находите оператор присваивания ("=") вместо оператора сравнения ("==") в этой же строке кода. Поэтому, что бы кто ни говорил, а очистка кэша браузера имеет важнейшее психологическое значение, заставляя мозг разработчика начинать думать -- а потому что отступать некуда; позади -- чистый кэш!

А чтобы удалить файл, нужно знать только одно: путь к нему. В моем случае (кэш браузера Firefox) это путь типа "c:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Mozilla\Firefox\Profiles\[SOME_RANDOM_STRING]default\Cache". (Кстати, сегодня я совершил для себя приятнейшее открытие, обнаружив, что Firefox имеет встроенный навороченный браузер собственного кэша, и вызывается он по гениальнейшему адресу about:cache (вводите этот адрес вручную или открывайте средним кликом в новой вкладке -- иначе не сработает. А если вы еще не иcпользуете Firefox, то начните делать это прямо сейчас, -- и ничего, что коньки IEще не сносились -- на дворе уж лето, вдохните свежего воздуха полной грудью!

Для очистки кэша заведем в нашем билд-файле (он был описан в предыдущей статье, посвященной сердитой компиляции, вследствие которой ваша сложная флэшка cкомпилится за секунду, и автоматически откроется не в беспомощном стэнделон-проигрывателе, а сразу в окне тестового браузера, да еще и с вашего же сервера, -- и все это по нажатию Ctrl+Enter!)

Итак, вот исходный код, который нужно добавить в билд-файл, чтобь почистить кэш браузера (изменить параметры по вкусу!):

<target name="browser.cache.clean">
	<delete>
	<fileset includes="*" defaultexcludes="no" dir="c:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Mozilla\Firefox\Profiles\[SOME_RANDOM_STRING]default\Cache" />
	</delete>
</target>

Обратите внимание на то, что операция удаления -- настраиваема: можно указать и шаблон имен файлов для удаления (includes), и шаблон имен для тех, кого не трогать, и, конечно, каталог с жертвами. А чтобы просто удалить нежелательный каталог со всеми потрохами, достаточно написать <delete dir="c:/Program Files/Internet Explorer" /> (нe забудьте после этого установить Firefox). И, наконец, чтобы удалить абсолютно все ненужные файлы, можно обойтись совсем короткой командой <delete dir="*" />, выключить комп навсегда и устроиться в ЖЭК кочегаром, чтобы начать приносить людям пользу.

На самом деле, цель этой заметки -- еще раз показать функциональность Ant, чтобы убедить еще хоть одного флэш-разработчика перейти к использованию таких повышающих продуктивность работы инструментов, как Eclipse, Ant, MTASC, ASDT/FDT, SWFObject и неконтролируемое чувство юмора. Буквально сегодня я нашел еще пару отличных страниц-путеводителей по Анту: "Apache Ant -- Википедия" и "Top 15 Ant Best Practices". Читайте, применяйте и радуйтесь новой скорости разработки!

А как вы думаете я снова нашел время для написания этих длиннющих, всем уже надоевших статей-новостей? Во всем виноваты Apache Ant, Клишин и Constantiner!

Вот.

Писал Rost, 29 Май 2006 20:47

Найдены баги:

Ой, Рост. Ну убедил, убедил. =)

Бармалей - 30 Май 2006 8:53

А почему последний?

constantiner - 30 Май 2006 8:59

Единственное что бы я сделал - это перенес бы зависимость от цели "build.number.increment" в цель "run.html". В дефолтной цели прямой ее вызов по-моему ни к чему, к тому же в твоем примере нельзя вызвать просто "run.html", так чтобы итерация тоже выполнялась.

Бармалей - 30 Май 2006 10:12

Почему последний? Надоело все! "Я хочу быть кочегором, кочегаром.. работать сутки-через-трое, через трое.. ;)"

Рост - 30 Май 2006 11:10

Бармалей, это уже от проекта зависит. Например, если собирать много файлов, и каждый из них при комп-ии читает с диска содержимое buid.number (например, файлы для CD-презентации, у меня такое было) -- то лучше инкрементировать номер билда первым делом.

Рост - 30 Май 2006 11:10

Опять я во всем виноват ;)
Кстати, вчера чуть не написал пост "Встречайте Флэш-риппер -- первый в России блог об Apache Ant" :)

МК - 30 Май 2006 11:40

Мда... я знал что мне чегото нехатает помимо знаний,
теперь понял что Apache Ant :)

хорошо что есть не ленивые люди которые постят полезные посты как Constantiner, Antares и Рост.

Reijii - 30 Май 2006 14:35

Блин, а я прочетал "в ЖЖ последним кочегаром" :)

constantiner - 30 Май 2006 17:33

А там про ЖЭК :)

constantiner - 30 Май 2006 17:34

Отож! Бросай ты этоt IE :-)

Рост - 30 Май 2006 18:15

Не брошу. Я его обернул в Maxthon: и пользоваться удобно, и имею гарантию, что просматриваемый мной контент под IE со стопроцентной вероятностью протестирован :)

constantiner - 31 Май 2006 19:26



Это запись из категории 'Productivity'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)