Соционический форум SOCIOCLUB.ORG

Форум о соционике, психе-йоге и других типологиях

Объявление форума

Предлагаем посетить наши новые сайты:
TYPTEST.RU — авторские тесты по соционике, психософии и другим типологиям
TIPIRUEM.RU — форум о типологиях личности
SOCIOMODEL.RU — соционика и психософия для начинающих

Соционический форум SOCIOCLUB.ORG »   Личный блог 4X_Pro »   AJAX, DOM и бессонная ночь
RSS
Реклама:
Владелец блога: Admin(В друзья)

AJAX, DOM и бессонная ночь

<<Назад  Вперед>>Печать
 
Admin
Владелец форума/галереи
Философ и Воин Интернета
Admin

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: Москва, Перово
Всего сообщений: 8004
Ссылка


Дата регистрации на форуме:
2 июня 2006
Вчера была очередная бессонная ночь. В среду мне на работе дали срочное задание — сделать информационную систему для киосков, которые планировалось установить в Музей Героев, и как обычно и бывает у нас на фирме, "это должно было быть сделано вчера"
Оффтопик: Кстати, именно из-за него я и отсутствовал несколько дней на форуме
. Сначала я хотел применить обычный подход: связка PHP + MySQL + HTML с использованием того frameworkа, который я использовал при написании CMS. Но вчера подумал, что это будет все-таки слишком тяжелое решение, и сначала отказался от MySQL, собравшись делать все на "плоских" файлах. Но потом задумался, и пришел к выводу, что многие переходы можно вообще организовать без обращения к серверу (единственное место, где оно действительно требовалось — это при выполнении поиска), простым переключением слоев в JavaScript (тем более, что это привело бы к ускорению реакции интерфейса, т.к. даже при обращении к localhost загрузка новой страницы все равно оказывается дольше). А потом я решил, что и поиск имеет смысл тоже сделать на Ajaxе. Это позволило мне временно (пока база данных маленькая) отказаться от серверной части вообще, и вместо нее положить статический XML-файл с данными и делать выборку средствами JavaScript.
Заодно я наконец-то сделал то, что откладывал уже более года: разобрался с работой с AJAX на низком уровне, а именно, объекта XMLHTTPRequest и разобра документа с помощью DOM-модели броузера, а не всяких надстроек типа JQuery. Впрочем, мне это сильно не понравилось: там нет возможности быстрой выборки нужных элементов по XPath, поэтому приходится вручную проверять нужные аттрибуты и значения узлов в циклах или рекурсиях с помощью getAttribute и getElementsByTag. Еще очень сильно не понравилось то, что в MSIE (под которым и предполагалось все показывать) обращение к текстовому значению элемента выглядит совсем иначе, чем в нормальных броузерах, причем обнаружил я это уже тогда, когда код был почти готов (в процессе написания я его по привычке тестировал под FF), а также обнаружилось еще несколько мелких косяков FF. Зато теперь для меня не будет проблемой динамически создавать новые элементы на странице (например, кнопки для загрузки файлов или поля для опроса) при необходимости, что будет полезно в IntB 3.x.
Примерно к 12 часам ночи я закончил написание скриптов, реализующих все переходы, поиски и показ результатов поиска, и уже собирался идти спать, как вдруг вспомнил, что нужно сделать еще и специализированный scroll-bar. Поскольку сделать его сам я бы точно не смог (по крайней мере, за остающиеся часы), пришлось искать готовые решения в Сети. Это оказалось достаточно непросто: первый из скачанных мной вараинтов работал как-то совершенно криво, второй — оказался платным для commercial use, и только третий как-то заработал. И то, ушел почти час, пока я понял, почему в примере все работает, а в моей странице — нет, оказывается, нельзя было делать инициализацию из внешнего скрипта (а у меня весь код был вынесен "наружу").
В общем, закончил я только в 4 часа ночи, но зато был очень доволен: фактически, это было мое первое серьезное AJAX-приложение (терпеть не могу термин "Web 2.0" почему-то).
Admin
Владелец форума/галереи
Философ и Воин Интернета
Admin

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: Москва, Перово
Всего сообщений: 8004
Ссылка


Дата регистрации на форуме:
2 июня 2006
Итак, закончил писать программу я вчера только в 4 часа ночи. А в 8 утра уже необходимо было вставать, т.к. на работу нужно было приехать чуть раньше 11. Впервые за последнее время я собирался на работу в спешке, и это тут же сказалось на самочувствии: если последние несколько месяцев я ехал на работу, либо чувствуя себя совершенно нормально, либо в полусонном состоянии, но опять же с нормальным самочувствием, то сегодня я чувствовал себя отвратно. Видимо, это вызывается именно стрессом, порождаемым спешкой.
Впрочем, как выяснилось, спешил я напрасно. Сотрудник, с которым вместе я должен был ехать в этот самый Музей Героев, тоже немного опоздал, в итоге с фирмы мы выехали где-то в 11:30. Впрочем показ всего, что мы в
этом музее сделали, который должен был состояться в 13:00, тоже произошел позже, так что можно сказать "опоздали все".
Впрочем, эти полчаса я потратил с пользой для дела: успел занести в файл данных сведения о реальных героях, вместо того тестового мусора, который там был изначально. Но в результате не учел одного: значения пустых XML-тегов MSIE (и возможно, другие броузеры тоже — не было возможности проверить) воспринимает как undefined, а не как пустую строку (как я предполагал изначально), в результате чего с новой базой тут же полезли ошибки (так как там таких пустых полей было предостаточно). Пришлось заниматься тем, что называется "на ходу колеса ремонтировать", т.е. исправлять ошибки в программе прямо на информацонном терминале, что крайней неудобно, так как приходилось делать это во-впервых, стоя, во-вторых, держа клавиатуру на весу, а в третьих, клавиатура была одна на всех и в ужасном состоянии (особенно бесило западание Enter).
Но тем не менее, где-то к 13:30 программа заработала устойчиво, и я смог сказать, что моя часть готова. Правда, в итоге все равно все получлось совсем не так, как было задумано. Изначально весь дизайн, присланый работниками музея, делался под видеорежим 1024x768 для броузера в полноэранном режиме, но потом выяснилось, что у киоска нет физической клавиатуры, поэтому пришлось задействовать одну разработку нашей фирмы, где была возможность показа виртуальной клавиатуры на экране. Но в это разработке вся нижняя часть окна была задействована под кнопки управления ("вперед/назад/показ клавиатуры и т.п."), поэтому сразу же появились полосы прокрутки и вообще впечатление сильно ухудшилось.
А вообще, в очередной раз поражаюсь тому, насколько часто у нас на работе то, что отсутствует нормальный обмен информацией между сотрудниками, приводит к тому, что результаты оказываются гораздо хуже желаемых...
После того, как программа была закончена, я несколько часов занимался только тем, что осматривал экспозицию музея. Надо сказать, что в музее довольно много любопытных экспонатов (в основном это личные вещи Героев Советского Союза и Российской Федерации, которыми те пользовались в повседневной жизни/работе). Впрочем, по словам других работников нашей фирмы, которые бывали в этом музее еще с лета, это только сейчас выставку организовали нормально, а раньше там было совершенно нечего делать...
Еще одним приятным моментом стало то, что рабочий день я закончил сегодня на пару часов раньше, чем обычно.
Andre
Со скольки до скольки у тебя рабочий день?
kaprizka
Долгожитель форума
Сказка
kaprizka

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: 56°E58°N
Всего сообщений: 1687
Ссылка


Дата регистрации на форуме:
16 июля 2006
Молодец.
А мне, похоже, следует опять в еси перетипировацца. Потомучто уровень понимания данного текста таков. К тому же на столе кошка сидит.

Какой-то Музей, какой-то AJAX (который почему-то непременно должен работать), кто и как этим пользуется непонятно. Да ещё и DOM.

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

Admin
Владелец форума/галереи
Философ и Воин Интернета
Admin

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: Москва, Перово
Всего сообщений: 8004
Ссылка


Дата регистрации на форуме:
2 июня 2006
Andre, номинально с 10:00 до 19:00 с перерывом на обед. Реально я перерывом не пользуюсь, поэтому езжу к 11 часам + часто пересиживаю минут на 20-30 после 19:00, но все это неофициально.
Andre
Продолжительность современного рабочего дня меня ужасает. 9 часов!
Реально не остается свободного времени кроме выходных дней (если их 2).
Везет врачам: работают с 8 до 14 5 дней в неделю.
Admin
Владелец форума/галереи
Философ и Воин Интернета
Admin

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: Москва, Перово
Всего сообщений: 8004
Ссылка


Дата регистрации на форуме:
2 июня 2006
Andre, ну мне легче — я 3 дня в неделю работаю + еще один день на Институт уходит.
Правда, меня усиленно уговаривают перейти на полную неделю, но я пока отказываюсь из-за аспирантуры. А вот что будет когда защищусь — не знаю. Опасаюсь, что поставят перед фактом "или полная неделя или уходи".
Andre
Хорошо, что так!

Скажи им, чтобы наняли на оставшиеся полставки ещё одного человека: деньги те же, а идей больше.
Admin
Владелец форума/галереи
Философ и Воин Интернета
Admin

ТИМ: ЛИИ ("Робеспьер")
ПЙ-тип: нет

Откуда: Москва, Перово
Всего сообщений: 8004
Ссылка


Дата регистрации на форуме:
2 июня 2006
Andre, да у нас тут недавно еще одного Web-программиста на полную ставку взяли... Но все равно как была куча дел, так и остается...
<<Назад  Вперед>>Печать

Соционический форум SOCIOCLUB.ORG »   Личный блог 4X_Pro »   AJAX, DOM и бессонная ночь
RSS
Быстрый переход в раздел:

Вы не можете отправлять сообщения
Вы не можете создавать темы
Вы можете голосовать в опросах
Вы можете создавать опросы
Вы можете редактировать свои сообщения
Вы не можете прикреплять к сообщениям файлы
Вы не можете модерировать раздел
Вы не можете видеть IP-адреса


Время выполнения скрипта: 0.0433. Количество выполненных запросов: 17, время выполнения запросов 0.0110
Rambler's Top100