January 7th, 2009

The past

С рождеством!

Поздравдяю с Рождеством всех моих друзей.

Это первое Рождество за много лет, когда я не мучаюсь сомнениями и противоречиями мировоззренческого характера. Спокойное такое и, можно сказать, счастливое Рождество.

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

С Праздником и пусть все будет хорошо!

Христос раждается, славите./
Христос с небес, срящите./
Христос на земли, возноситеся./
Пойте Господеви вся земля/
и веселием воспойте, людие,/
яко прославися.
(Ирмос Рождественского канона, глас 1)
tech

Prototype, Scriptaculous и все-все

Раз уж жизнь приперла опять к JavaScript, соберу тут очередные ссылки.

Я использую Prototype.js в своей работе. Так уже сложилось. При этом в кишки я своих скриптов я не лазил уже давно.

Возможно проведя очередной рефакторинг-девелопмент-ревью мне придется посмотреть и на jQuery, -- уж очень его любят и хвалят, тем более, что у него есть режим совместимости (безконфликтности) с Prototype.

А пока все про прототайп :)


  1. Основной сайт

  2. Документация к сборнику эффектов и компонентов Scriptaculous

  3. Библиотека для удобной работы с DOM (именно это место считается слабым у Prototype)

  4. JsHttpRequest имеет режим совместимости с Prototype

  5. Ссылки на Prototype на SWIK

  6. Простое дерево

  7. Тьюториал script.aculo.us Sorting Elements

  8. Prototype Cheat sheet by J. Snook

  9. Долгое время заполнявшие нехватку документации заметки Developer Notes for prototype.js by Sergio Pereira


Еще один неплохой сайт с документацией JavaScript, DOM и т.д.
Quick guide to somewhat advanced JavaScript, by Sergio Pereira
Нэцкэ

JavaScript Observer

При работе с асинхронными событиями в JavaScript удобно применять паттерн Observer. Например у меня в форме для заказа путевки есть страна, регион и город. При выборе страны, подгружается список регионов, и соответственно список городов в выбранном регионе. При каждом изменении страны нужно пройтись по двум полям и нужное подгрузить и выделить если данные не новые, а редактируемые. Такую логику писать при асинхронных событиях сложнее, чем в классическом случае.

Простейший пример класса, реализующего паттерн, можно посмотреть вот тут: http://www.dustindiaz.com/javascript-observer-class/

Как это сделано в DOJO. И более полное описание.