Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

трое суток в раю или краткий дневник разработчика

СЕРЁГИН ВЛАДИМИР AKA PEKO

Спецвыпуск: Хакер, номер #073, стр. 073-064-2


[месяц второй – все дороги ведут в ад, или о благих намерениях.]

Неделя первая. Начли разбираться с Backbase. Страшно понравилась система инклудов - сборки темплейтов на стороне клиента, а также конструктор виджетов – объявление своих компонентов и их поведения:

<s:include b:source=”мои-виджеты/красная-супер-кнопка.xml”/>

<b:red-super-button b:label=”экземпляр кнопки раз”/>

<b:red-super-button b:label=”экземпляр кнопки два”/>

Неделя вторая. Переписали под свой дизайн и интерактив все компоненты Backbase. Возникли небольшие сложности с браузерной совместимостью, но их быстро решили. Все здорово и красиво, проект разложен по папочкам и блестит свежими комментариями. Только почему-то не с первого клика срабатывает кнопка «OK», видимо, эвенты не успевают пробраться через дизайн...

Неделя третья. Начали писать клинет-side логику. Для большинства задач вообще не нужно писать код – почти все проблемы решаются с помощью XPath, например проверку правильности e-mail можно сделать по ходу верстки:

<s:when b:test="@name='email' and not(matches(@value, '^.+@(.+\.)+.{2,4}$'))">

<s:setatt style="background: red; " />

<s:setatt b:valid="false" />

</s:when>

Неделя четвертая. IE делает первый предупредительный выстрел. Дизайнер в панике - стоит отключить кэш у этого браузера – вся верстка начинает беситься, дергаться и моргать. Техподдержка Backbase разводит руками, - «Sorry guys, It`s IE bug!». Что означает - это не наша проблема, у эксплорера баг в прогрузке изображений из CSS, а именно - при каждом новом эвенте он забывает, что картинка уже прогружена и грузит ее снова. Откачивали дизайнера два дня.

[месяц третий - апокалипсис]

Неделя первая. Настроение стремительно ухудшается. Стали поступать живые данные от серверной части проекта. Диспатчер и парсер Backbase явно не справляются с выводом таблицы больше чем на 15 строк. Если кроме таблицы в верстке - еще несколько активных компонентов (поля, кнопки, сворачивающиеся заголовки), то даже в такой таблице начинает страшно тормозить подсветка. Клики проходят только со второй, третьей попытки. Начинается депрессия.

Неделя вторая. Оптимизация. Все силы брошены на увеличение производительности проекта. Выкинули и сократили в коде все, что можно сократить и выкинуть. Руководствуясь подсказками техподдержки Backbase, оптимизировали и переписали 50% всего кода. Прогресс минимален. Начали избавляться от структур Backbase в узких местах.

Неделя третья. Апокалипсис проекта. Первым не выдержал парсер CSS в IE. Видимо, мы все-таки переступили какую-то недозволенную черту с количеством подключаемых в компонентах Backbase CSS-файлов (всего около 10, по числу наших виджетов). Это привело к совершенно неожиданным спецэффектам - ИЕ начал вылетать с ошибкой выделения памяти, попутно увлекая за собой десктоп операционной системы. Видимо, это дала знать о себе старая проблема со слабым парсером CSS.

Неделя четвертая. Живем как на вулкане. Не смотря на то что, изуродовав до неузнаваемости структуру проекта, нам удалось добиться относительной стабильности - от бета-тестеров регулярно приходят сообщения, что время от времени проект продолжает убивать браузер.

Назад на стр. 073-064-1  Содержание  Вперед на стр. 073-064-3