• Авторизация


Без заголовка 08-10-2010 07:22 к комментариям - к полной версии - понравилось!


Какое-то время назад я потратил довольно много времени на рассматривание всевозможных frameworks, от всевозможных php-примочек до RoR и СTPP. И вот ведь история, они все оказались чем-то "не тем", или слишком заточены под вообще ничего не понимающих товарищей, или слишком заморочены (XSLT) и так далее... короче ни один из не удовлетворяет простому требованию - минимизировать износ клавиатуры, со всеми вытекающими обстоятельствами, включая ес-но время разработки, число доупщенных/исправленных ошибок и проч.
В результате всех этих довольно скучных разглядваний, я написал вот такую вот короткую функцию на js:

function magicProcess(template, data) {
for(var b=template,c=data,d=/:[a-zA-Z][a-zA-Z0-9\-_]+/g,e,f=b,g=0;e=d.exec(b);) {
var h=e[0].replace(/^:/,"");
if(c[h]!=null) {
f=f.replace(e[0],c[h]);
g++;
} else f=f.replace(e[0]," ")
}
if(g==0)f="";
return f;
}

И то, что раньше весило 1278 строк, теперь укладывается в 299. При том, что оставшиеся 299 строчек - это все больше разнообразные неизбежности, в стиле прикручивания к тем или иным компонентам обработчиков событий и так далее... Конечно, это все тоже можно радикально сократить, но, кажется, довольно бессмысленным занятием.

К чему я это все? К тому, что иногда простые до рези в глазах вещи отыскать довольно трудно, и правда заключается в том, что даже будучи найденными, они все еще могут остаться непонятыми... легко спутать примитивное и простое.
вверх^ к полной версии понравилось! в evernote
Комментарии (13):
eugene20237 08-10-2010-13:03 удалить
Понятно, что это какой-то шаблонизатор. А можно ещё пример использования? Плиииз )
muxcc 08-10-2010-14:27 удалить
очень интересно ,что она конкретно делает эта функция, на примере? опять ты какими-то кусками мыслей бросаешься, известными только тебе. )
d0rc 08-10-2010-15:40 удалить
eugene20237, Да "шаблонизатор" - это громко сказано. Берет строчку, например "Hello, :name" и массив [name=>"eguene20237"] и подставляет. Более ничего. Но если "задуматься и зайти глубоко в воду", то можно написать что-то вроде:
function executeTemplate(name, optional_args) {
var url = getTemplatesURL(name);
try {
var json = json2array(performAJAXRequest(url, optional_args));
var result = '';
for(i=0;i less then json.length;i++) result+=magicProcess(getTemplateBody(name), json[i]);
document.getElementById(getTemplateInjectionPoint(name), result);
} catch(e) {}
}
eugene20237 09-10-2010-02:41 удалить
Шаблонизация на клиентской стороне? Вроде это сейчас как раз новомодная технология. Яндекс начал где-то использовать.
d0rc 09-10-2010-03:49 удалить
eugene20237, ну что я могу сказать - тормоза они там в Яндексе... единственное, что они сделали, действительно стоящее - это утилитку mystem - для определения падежа, рода, склонения, времени глагола, части речи и проч., по слову. Морфологический анализатор.... но, это все же больше тянет на хороший курсовик, а не на продукт деятельности большой компании:))
eugene20237 12-10-2010-22:02 удалить
А что ты думаешь о Microsoft сейчас?
d0rc 12-10-2010-23:12 удалить
eugene20237, да даже не знаю... а что о них думать? я windows-то последний раз видел год назад, наверное...:) И хорошо.... никаких приятных воспоминаний:)))
muxcc 13-10-2010-01:05 удалить
Ответ на комментарий d0rc # d0rc, интересно, а что ты видишь ежедневно, среда твоей жизнедеятельности не ясна мне...
аа, по поводу яндекса, а в code.google.com заглядывал?
d0rc 13-10-2010-01:27 удалить
SlvX, macosx/linux/*bsd... а что еще может потребоваться современному человеку, не питающему к себе отвращения? а при чем тут сайт для бесплатного хостинга прожектов? заглядывал и даже был активным участником некоторых историй. env-js, например:)
muxcc 13-10-2010-01:31 удалить
Ответ на комментарий d0rc # d0rc, *bsd уважаю..
я не про хостинг намекал, а про недоразвитость яндекса...
eugene20237 14-10-2010-20:53 удалить
Про Яндекс - это какое-то приглашение всех к флейму...)


Комментарии (13): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Без заголовка | d0rc - Дневник d0rc | Лента друзей d0rc / Полная версия Добавить в друзья Страницы: раньше»