Базовый класс для наследования в JavaScript
Под впечатлением класса разработанного Дином Эдвардсом создал свой собственный класс, который позволяет значительно упростить структуру программ на JavaScript где необходимо неследование.
Основные особенности следующие:
- маленький и простой - неминифицированный размер: 622 байта.
- конструктор описывается явно как функция с именем 'constructor'
- наследование статических и обычных членов класса
- при определениии объекта не используется MyClass.prototype;
- не используются глобальные функции для создания цепочек прототипов;
- не изменяется Object.prototype.
Вот пример использования:
var Animal = BaseClass.extend({ constructor:function(){ alert("Anumal is created!"); }, say:function(){ alert("hm..."); } }); ver Cow = Animal.extend({ constructor:function(){ alert("Cow is created!"); }, say:function(){ alert("mooo"); } }); var cow1 = new Cow(); cow1.say();
Фактически, от версии Дина отличается только отсутствием статических методов на этапе наследования - их можно и явно прикрутить, что улучшит читаемость кода, также отсутствует метод super, на мой взгляд у Дина эта штука будет понижать производительность, перегруженных функций независимо используется super или нет, поэтому я решил от неё отказаться, к тому же её можно эмулировать просто отдельной функцией.
Upd. Позже я пересмотрел мысль насчет super и включил её в реализацию метода. В ztools.org можно найти последнюю версию функции.
Опрос вебсервера по протоколу HTTP
Каждый раз когда хочется посмотреть что реально возвращает сервер приходится открывать telnet, ручками набирать комманды, что, согласитесь, довольно трудоемко и требует предельной аккуратности, особенно если запросы довольно большие, если же нужно отлаживать POST запросы то задача становиться вообще трудноразрешимой.
Для того чтобы упростить себе жизнь создал такой вот небольшой инструмент для опроса вебсервера. Разумеется с исходником.
OpenOffice и клавиши навигации
Я тут уже писал о проблемах дистрибутива третей версии OpenOffice, оказывается, на сайте Инфра Ресурс даже приостановили его скачивание по этой причине, правда через несколько часов восстановили, с их слов при сборке дистрибутива произошло отключение энергии и из-за этого дистрибутив оказался, мягко говоря, неработоспособным.
Скачал исправленную русскую версию с сайта OpenOffice.org - панельки управления появились, но вот беда, навигационные клавиши перестали работать - стрелка вверх, стрелка вниз, вправо, влево, Backspace, Home, PageDown, PageUp все эти клавиши перестали откликаться. Скачивание дистрибутива с сайта ИнфраРесурс тоже помогло мало.
Похоже, что помимо панелек исчезли ещё и назначения клавиш. В меню Настройки все назначения клавиш оказались пустыми! Попробовал расставить сочетания клавиш вручную, но это оказалось нелегким делом, так как русский перевод названий операций оказался довольно странным - Down - До верхней строки, Up - До нижней строки, Left - Символ слева, Right - перейти вправо. То есть, по названию операции вообще трудно определить что она делает.
К счастью, решение нашлось очень быстро, дело в том, что OpenOffice позволяет не только назначить сочетания клавиш но и записать настройки клавиш в файл и соответственно считать их из файла. На одном из компьютеров нашлась предыдущая инсталляция OpenOffice, с коей и удалось переписать назначения клавиш. После этой процедуры всё встало на свои места, все навигационные клавиши заработали как им и полагается.
WYSIWYG для сайта
Добавил WYSIWYG на сайт, использовал свой любимый FCKEditor, пока насторил не все функции, но для начала и так пойдет...