Правильный таймер на JavaScript (скринкаст)
Смитрите скринкаст: http://screenr.com/kxZ
Исходный код таймера:
var Timer = function (interval, action) {
var time = +new Date();
function run() {
var newTime = +new Date();
if (newTime-time >= interval) {
action();
time = newTime;
}
setTimeout(run, 0);
}
this.start = run;
};
// использование:
var timer1 = new Timer(500, action1); // action1 - любая ф-я
timer1.start();
Короткие анонимные функции из строк в JavaScript (скринкаст)
Есть такая библиотека - Functional JavaScript, в которой можно создавать функции из строк. Я решил снять 5-минутный скринкаст на эту тему. Вот он: http://screenr.com/DlD
А вот код:
// собственно, сниппет
String.prototype.func = function () {
var parts = this.split('|'),
params = parts.shift(),
body = 'return ' + parts.join('|');
return new Function(params, body);
};
// образец
alert ( 'x,y | x+y'.func()(2,3) );
Веб-дизайн: основы процесса создания качественного дизайна
Когда я создаю дизайн сайта, я сначала читаю (или пишу) следующие документы:
Без этих документов дизайна не будет в принципе, так как дизайн - это “разработка для …” (англ. to design = предназначать).
После этого я определяюсь, какое впечатление должен производить (и какое настроение должен создавать) дизайн в целом, логотип (требования к брендингу) и стек шрифтов (требования к типографике). Для этого составляю список эпитетов: “строгий, уверенный в себе, глобальный, ответственный” и т.п. Потом по этому списку можно проводить тестирование, дополнив его антонимами и случайными словами, попросив пользователей выбрать подходящие эпитеты из списка после того, как они взглянут на ваш дизайн - это хороший способ контроля результата.
Потом подбираю цвета (брендинг + психология восприятия) с учетом культурных особенностей пользователей в духе “красный - мотивирующий, синий - успокаивающий” - впрочем, сильно увлекаться этим не стоит. Всего беру, как правило, три цвета (или меньше): базовый, доминирующий и акцент.
В техническом задании (ТЗ) я считаю нужным указывать только технические вопросы:
- используемые JS/CSS-библиотеки и фреймворки,
- стандарт верстки (XHTML/HTML/HTML5),
- поддерживаемые разрешения экрана и платформы (только браузеры или мобильные телефоны тоже?),
- какие функциональные блоки нужно проработать (меню, блоки цитат, формы и т.п.),
- в каких браузерах дизайн должен работать и насколько близко к оригиналу (требовать от всех браузеров одинакового результата - тратить деньги зря).
Такие вопросы, как расположение ключевых функциональных блоков, должны решаться при проектировании интерфейса, поэтому дизайнеру/художнику их лучше не оставлять. Вместо этого лучше приложить к ТЗ wireframe‘ы или бумажные наброски вашего интерфейса.
В остальном дизайнер должен иметь свободу действий, если уж это хороший дизайнер.
Чего нельзя делать при создании дизайна:
- хотеть “красный” или “морской” дизайн. Варианты вроде “легкий, воздушный” тоже не приветствуются - любое важное решение должно иметь обоснование, и желание заказчика тут имеет меньший вес, чем предпочтения пользователей и особенности их восприятия. Если ваш заказчик этого не понимает, закидайте его ссылками на статьи по дизайну, юзабилити и психологии цвета;
- делать дизайн “для себя” - если вы публикуете работу в сети, то она уже не только для вас. Определитесь сразу, кому вы адресуете свой дизайн;
- делать “как у google/facebook/крупная-компания” - решения, сработавшие в одних случаях, вовсе не обязательно сработают в вашем, чаще наоборот;
- создавать дизайн ради уникальности, чтобы выделиться или быть круче знакомого дизайнера - дизайн не обязан быть уникальным.
(подробнее, и не только о дизайне, см. на http://uxmyths.com/)

Anonymous
Старый блог был на blogger.com и в результате кражи пароля был удален. А там много всего интересного было =( А новый мне пока нечем наполнять, не хочу тупо старые статьи сюда копировать.