Я.Субботник в Санкт-Петербурге, 3 декабря

Я.Субботник в Санкт-Петербурге пройдет 3 декабря в офисе Яндекса.

Регистрация на мероприятие начнется 23 ноября. Количество мест ограничено.

Для тех, кто не попадёт в число участников или не сможет лично присутствовать на Я.Субботнике, будет организована онлайн-трансляция.

Подробную информацию о мероприятии читайте здесь.

Лично Я иду слушать про тач-события, экспертную оценку, видеохостинги и JS. И остального понемногу, чтобы быть в куре %)

«Экспертов» по юзабилити хлебом не корми, дай Нильсена процитировать. Одна из любимых цитат — ссылка не должна вести сама на себя. Иначе пользователи путаются, пугаются, писаются и какаются.

Откуда такое рвение? Запомнить горстку «истин» во много раз проще, чем думать головой. Особенно, когда вокруг такой быстро развивающийся интернет.

Но давайте всё-таки подумаем. Зачем делать ссылку на страницу не ссылкой? Всё просто — чтобы выделить этот пункт среди других элементов меню. Всё. Больше никакого великого смысла в этом нет.

Почему Нильсен рекомендует делать именно так? Потому что в то время, когда он начал говорить о юзабилити поддержка CSS в браузерах была очень слабая (возможно это было вообще до изобретения CSS) и сделать элемент нессылкой являлось самым простым способом визуального выделения. А может он просто не умел пользоваться классами в CSS.

Но сейчас у нас с вами есть CSS 2.1 в статусе утверждённого стандарта, черновики CSS 3 и CSS 4 на подходе. Так что хватить заниматься ерундой, просто добавьте к ссылке класс “current” и сделайте так, чтобы ссылка отчётливо выделялась среди прочих.

Есть такая штука — типографика. Почти все о ней слышали, а некоторые даже применяют. Надуманная сложность типографики — отсутствие нужных символов на клавиатуре.

Когда-то давно Илья Бирман сделал специальную «типографскую» раскладку для Windows и Mac OS. Пока я пользовался Windows — я пользовался этой раскладкой, когда пересел на Linux — нашёл, как настроить её аналог. Теперь у меня Mac OS и я снова поставил раскладку Бирмана. Но.

Но в Mac OS нельзя выключить системную раскладку En-Us и это ужасно разражает, поскольку при печати я фокусируюсь на тексте, а не на малюсенькой иконке в правом верхнем углу. В итоге, иногда переключатель залипает и я, нажимая нужный хоткей, не получаю ожидаемого результата. Бесит жутко

Я не нашёл способа отключить системную раскладку, но при этом я совсем перестал использовать Windows в повседневной жизни. А это значит, что мне не принципиальна совместимость и теперь я могу пользоваться теми же символами, но встроенными в системные раскладки Mac. Это потребует небольшого переучивания, но взамен я буду знать, где расположены нужные мне символы на любом компьютере под MacOS. Расположение символов будет вот такое:

Английская раскладка

С нажатым Opt (⌥)

С нажатыми Opt+Shift (⌥+⇧)

С нажатыми Opt+Cmd (⌥+⌘)

Русская раскладка

С нажатым Opt (⌥)

С нажатыми Opt+Shift (⌥+⇧)

С нажатыми Сtrl (⌃)

Потери

Как вы видите, при использовании стандартной раскладки с клавишами-модификаторами мы теряем возможность добавления стрелочек и символа ⌘. Если эти символы жизненно необходимы — придётся ставить раскладку Бирмана.

Учебный процесс в нашем институте (как и во многих других) завязан на недельные циклы. Поэтому жизненно необходимо иметь возможность определить номер недели по дате.

Оказывается, количество методов, предоставляемых объектом Date в JavaScript довольно скуден, и определять номер недели он не умеет. Ну, делать нечего — изобретём свой велосипед. Собственно нам нужно выяснить, сколько дней прошло с начала года (этого от Date мы тоже узнать не можем), дополнить его до целого числа недель и поделить на семь.

Определим сегодняшнюю дату:

var ts =  new Date();

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

var Y = ts.getFullYear();
var newYear = new Date(ts.getFullYear(), 0, 1);
var newYearDay = newYear.getDay();

Гуд, теперь можем узнать число дней, прошедших с нового года. Да, кому-то придётся перевести дикое число миллисекунд в дни.

var delta = Math.floor((ts.getTime() - newYear.getTime())/1000/60/60/24);

И последняя деталь нашего велосипеда — получение числа недель:

var wNum = Math.floor((delta + newYearDay)/7);

Ставим на конвеер

Теперь объединим всё это в одну функцию, что бы потом использовать столько раз, сколько нужно. В идеале можно расширить прототип объекта Date новым методом, но кошерно ли это?

var getWeekNum = function(dt) {
    var ts,
       newYear,
       newYearDay,
       wNum;

    ts = (dt) ? new Date(dt) : new Date();
    newYear = new Date(ts.getFullYear(), 0, 1);
    newYearDay = newYear.getDay();

    wNum = Math.floor(((ts.getTime() - newYear.getTime())/1000/60/60/24 + newYearDay)/7);

    return wNum;
}

Yet another Conference 2011 состоится 19 сентября в Москве в залах World Trade Center Moscow.

Регистрация на мероприятие стартовала 19 августа. Количество мест ограничено.

Для тех, кто не попадёт в число участников или не сможет лично присутствовать на Yet another Conference 2011, будет организована онлайн-трансляция.

Подробную информацию о мероприятии читайте здесь.

Поделиться этой информацией с другими: url