Читать дальше →
Максим Мельников @BBSoD
User
Анимированные баннеры на Javascript — это просто*
7 min
20K*) На самом деле все равно сложно, но зато проще, чем было раньше.

История началась с постановки задачи: нужно сделать анимированный баннер с примерно тридцатью объектами средствами HTML+javascript за один день. За день, конечно, баннер сделан не был, а был сделан за два усилиями трех человекодней. После выполнения задания осталась библиотека пакетной анимации, которую я назвал Scenario. О её доработанной версии я и хочу рассказать.
Основная идея библиотеки — собрать информацию обо всех анимируемых объектах в один сценарий и отправить его на выполнение. Один сценарий может быть исполнен сколько угодно раз или может быть модифицирован, поскольку представляет из себя обычную яваскриптовскую структуру.
Запуск сценария из любого места предельно прост:
Осталось только разобраться, что писать вместо трех точек в примере :)

История началась с постановки задачи: нужно сделать анимированный баннер с примерно тридцатью объектами средствами HTML+javascript за один день. За день, конечно, баннер сделан не был, а был сделан за два усилиями трех человекодней. После выполнения задания осталась библиотека пакетной анимации, которую я назвал Scenario. О её доработанной версии я и хочу рассказать.
Основная идея библиотеки — собрать информацию обо всех анимируемых объектах в один сценарий и отправить его на выполнение. Один сценарий может быть исполнен сколько угодно раз или может быть модифицирован, поскольку представляет из себя обычную яваскриптовскую структуру.
Запуск сценария из любого места предельно прост:
var newScenario = [...];
$.scenario(newScenario, {
complete: function(time) {
alert('Готово!');
}
});
Осталось только разобраться, что писать вместо трех точек в примере :)
+153
JavaScript Cross Site (XSS) POST
4 min
13KНедавно, в Dojo появилась возможность производить cross site POST запросы, т.е. отправка POST запросов на другие сайты, с другими доменными именами. Это событие осталось незамеченным в нашем сообществе JavaScript разработчиков. По крайней мере, никто и слова про это не сказал. А зря…
В один прекрасный момент
В один прекрасный момент
+52
HTML 5 в Internet Explorer
3 min
58K
Вкратце: как заставить новые теги из HTML 5 работать в Internet Explorer.
Любой веб-разработчик смотря на HTML 5 плачет от счастья, которое наконец-то пришло в наш дом. Для большинства функций (такие как WebGL, многопоточность и веб-сокеты) придётся ждать поддержки от браузеров (а в самых правильных эти возможности уже есть), но новые удобные теги мы можем использовать уже сейчас.
Однако Internet Explorer (даже последней, 8-ой версии) и тут сумел споткнуться — новые теги вне HTML 4 он просто не замечает — на них нельзя повесить стили.
В IE проблем даже две — отдельно нужно включать поддержку HTML 5 тегов в обычном документе, и отдельно в содержимом, которое добавляется динамически (например, через AJAX).
+69
8 полезных сервисов для веб-разработчика и дизайнера
2 min
37K
+311
Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать
20 min
317K
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?
Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.
Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.
Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.
Итак что же это за список?
Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.
История обновлений:
- 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
- 2015/08/10: актуализирован список исключений для CSSLint
- 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
- 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
- 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
- 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
- 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
- 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
- 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
- 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.
+301
Установка и настройка: Nginx + php5-fpm
4 min
194KВ данной заметке, будет показано как поставить связку Nginx + php5-fpm (php5.3) на Debian Lenny и настроить безопасную конфигурацию.
+63
Повышение производительности за счет блочного кеширования
5 min
5.7KТема блочного кеширования и ssi не раз проскакивала на Хабре. Ниже я представлю еще одну реализацию, использующего блочное кеширование, а также исходники фреймворка, использующего эти принципы, которые можно найти тут. А как это работает — прочитать ниже.


+42
Запуск хостинга clodo.ru
2 min
28K
Привет, Хабрахабр!
С радостью сообщаем, что с 22 числа мы официально запустили наш облачный хостинг clodo.ru, о котором некоторые здесь уже знают.
Приглашаем всех зарегистрироваться на clodo.ru…
+29
Make Me Passport — история одной идеи
4 min
4.3KЯ думаю, у каждого хабраюзера в течение недели возникает не одна классная идея. Но, как все мы прекрасно знаем, идея — вещь своеобразная. С одной стороны, это главная концептуальная составляющая любого проекта, с другой — она сама по себе не значит вообще ничего. Самое сложное не придумать идею, а начать ее реализовывать. В этом посте мы расскажем уважаемым читателям об одной идее. Идее из разряда «прикольно, но я не знаю дурака, который бы за это взялся».
Все началось с не предвещавшего беды разговора на тему хронического отсутствия интересных сувениров. Не только в России, сувенирные лавки всего мира забиты, в общем-то, одной и той же однообразной продукцией. Сувенирных лавок очень много, а покупать там нечего. Магазинов из серии «Прикольные подарки» тоже становится все больше, но, выходишь из них, чаще всего, с пустыми руками. В итоге, в один прекрасный день наши чудо-головы посетила идея. Идея показалась нам свежей и по-настоящему интересной. Я бы даже сказал, веселой была эта идея.
Все началось с не предвещавшего беды разговора на тему хронического отсутствия интересных сувениров. Не только в России, сувенирные лавки всего мира забиты, в общем-то, одной и той же однообразной продукцией. Сувенирных лавок очень много, а покупать там нечего. Магазинов из серии «Прикольные подарки» тоже становится все больше, но, выходишь из них, чаще всего, с пустыми руками. В итоге, в один прекрасный день наши чудо-головы посетила идея. Идея показалась нам свежей и по-настоящему интересной. Я бы даже сказал, веселой была эта идея.
+84
Впечатляющие анимационные эффекты
2 min
115KTranslation
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
+230
Дизайнеры интерфейсов обсуждают новую кнопку Gmail
1 min
1.3KTranslation
Недавно в веб-интерфейсе Gmail появился новый элемент (слева от Archive).

По нажатию на чекбокс выделяется вся почта, а если нажать стрелочку, то появляется выпадающее меню.

Нужно сказать, что этот элемент весьма необычен и в своём роде уникален. Gmail является первым приложением, которое его использует. Многие пользователи восприняли его с недоумением. И даже сам главный UI-дизайнер Gmail Майкл Леггетт (Michael Leggett) признаёт, что виджет безусловно странный.

По нажатию на чекбокс выделяется вся почта, а если нажать стрелочку, то появляется выпадающее меню.

Нужно сказать, что этот элемент весьма необычен и в своём роде уникален. Gmail является первым приложением, которое его использует. Многие пользователи восприняли его с недоумением. И даже сам главный UI-дизайнер Gmail Майкл Леггетт (Michael Leggett) признаёт, что виджет безусловно странный.
+98
Требования к html-верстке
6 min
76K1. Верстка, аутсорсинг и технические задания

Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.
Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
+179
Динамическая висячая пунктуация в HTML
2 min
6.3KНаверняка вы видели на многих сайтах свешивающиеся в начале строк кавычки и скобки. И хотя на бумаге такое полное свешивание в простых текстах (не заголовках) как минимум спорно, на вебе это выглядит отлично. Такое поведение текста называется «висячая пунктация», и на текущий момент есть ровно один способ её реализации в (X)HTML/CSS — добавление парных стилей. Этот способ, скажем, применён на сайте Артемия Лебедева.
Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.
В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.
Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.
Что было сделано?
Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.
В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.
Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.
Что было сделано?
+48
Поиск дешёвого 3G-интернета среди предложений операторов в Москве
2 min
28KС приобретением iPad с 3G передо мной резко встала проблема выбора мобильного интернета — ведь хочется и недорого, и чтобы удобно было. В Москве с этими составляющими, к сожалению, всё довольно непросто — скорее довольно сложно.
Первоначально я хотел купить себе Yota Egg, но эту идею я всё-таки решил отбросить — с «яйцом» сам факт мобильности исчезает, да и и 3G в таком случае совсем не нужен. Так пришла пора смотреть на наших операторов сотовой связи. Забегая вперёд, сразу скажу, что выбор пал на новую услугу «БИТ» у «МТС». Но сначала мои соображения, почему именно «БИТ», а не что-то другое.
Первоначально я хотел купить себе Yota Egg, но эту идею я всё-таки решил отбросить — с «яйцом» сам факт мобильности исчезает, да и и 3G в таком случае совсем не нужен. Так пришла пора смотреть на наших операторов сотовой связи. Забегая вперёд, сразу скажу, что выбор пал на новую услугу «БИТ» у «МТС». Но сначала мои соображения, почему именно «БИТ», а не что-то другое.
+21
Стилизация файл-инпутов
5 min
39K
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.
Дело в том, что изменение внешнего вида инпутов, как правило, не вызывает трудностей, но этот вид инпутов отличается от остальных. В первую очередь это связано с безопасностью, во вторую с тем, что каждый браузер по своему отображает этот элемент, и на это почти нельзя повлиять.
+3
Soulver для мак/iPhone — математическая салфетка для умных, или вы ничего не знаете о калькуляторах
1 min
2KНеделю тому назад попробовал софт для мака, а затем и для iPhone — Soulver. Влюбился.
Soulver предназначен для «быстрой математики» — подсчета чего угодно, для чего экселя много, а калькулятора мало или неудобно. Понимает цифры вперемешку со словами, не нужно жать «равно», может отнять 100 евро от тысячи долларов и поделить на троих.
Но главное — такие интерфейсы абсолютно по-другому заставляют взглянуть на привычные инструменты, я пользовался калькулятором последние 20(?) лет, теперь на него смотреть не хочу.


Ссылка: www.acqualia.com/soulver
Soulver предназначен для «быстрой математики» — подсчета чего угодно, для чего экселя много, а калькулятора мало или неудобно. Понимает цифры вперемешку со словами, не нужно жать «равно», может отнять 100 евро от тысячи долларов и поделить на троих.
Но главное — такие интерфейсы абсолютно по-другому заставляют взглянуть на привычные инструменты, я пользовался калькулятором последние 20(?) лет, теперь на него смотреть не хочу.


Ссылка: www.acqualia.com/soulver
+43
«Пришло ли?» — трекинг посылок из интернета
1 min
1.2KУ них что-то сломалось: Cannot get a connection, pool error Timeout waiting for idle object
Почта России по-дурацки переделала сайт. Теперь там есть наказывающий президент, зато нет ссылки на трекинг посылок. Я сделал свой, с виджетами и иксемелем.

На входе — трекинг-номер, который прислал вам плохо говорящий по-английски продавец с Ибея. На выходе — страничка с состоянием посылки, виджет или XML-файл.
Почта России по-дурацки переделала сайт. Теперь там есть наказывающий президент, зато нет ссылки на трекинг посылок. Я сделал свой, с виджетами и иксемелем.

На входе — трекинг-номер, который прислал вам плохо говорящий по-английски продавец с Ибея. На выходе — страничка с состоянием посылки, виджет или XML-файл.
+106
12 советов по созданию макетов в браузере
5 min
8Kперевод статьи: 12 Killer Tips for Designing in the Browser

Обычный проект начинается с создания макета в Фотошопе и потом с использованием HTML и CSS максимально приближается к виду исходного PSD файла. Не смотря на это, развивается направление в веб-дизайне пропускающее этап Фотошопа в пользу создания первоначальной композиции прямо в браузере с использованием вашего любимого редактора. Я уверен, что прямо сейчас Ваша голова шумит от причин, по которым этот подход ограничит ваш дизайн, но есть огромное количество вещей, которые Вы можете делать в браузере. Эта статья познакомит с инструментами и приемами, которые понадобятся для создания великолепных работающих макетов на первом же этапе работы.
Meagan Fisher на 24ways.org представил неотразимый довод проектирования в браузере. Хотя я и не разделяю его презрение к Фотошопу (Я люблю Фотошоп больше любого другого ПО на планете), я согласен с некоторыми другими его пунктами. Фишер говорит, что статическое изображение не дает по настоящему ощутить, как сайт будет работать и что проектирование в браузере направляет твои силы на организацию контента до дизайна, что гарантирует большее удобство и создание правильной структуры
Мы будем использовать статью Фишера как затравку для наших заметок по превращению в профессионала в создании фантастических in-browser макетов готовых к работе сразу по получению одобрения от клиента.

Как Вы создаете макет сайта?
Обычный проект начинается с создания макета в Фотошопе и потом с использованием HTML и CSS максимально приближается к виду исходного PSD файла. Не смотря на это, развивается направление в веб-дизайне пропускающее этап Фотошопа в пользу создания первоначальной композиции прямо в браузере с использованием вашего любимого редактора. Я уверен, что прямо сейчас Ваша голова шумит от причин, по которым этот подход ограничит ваш дизайн, но есть огромное количество вещей, которые Вы можете делать в браузере. Эта статья познакомит с инструментами и приемами, которые понадобятся для создания великолепных работающих макетов на первом же этапе работы.
Основная идея
Meagan Fisher на 24ways.org представил неотразимый довод проектирования в браузере. Хотя я и не разделяю его презрение к Фотошопу (Я люблю Фотошоп больше любого другого ПО на планете), я согласен с некоторыми другими его пунктами. Фишер говорит, что статическое изображение не дает по настоящему ощутить, как сайт будет работать и что проектирование в браузере направляет твои силы на организацию контента до дизайна, что гарантирует большее удобство и создание правильной структуры
Мы будем использовать статью Фишера как затравку для наших заметок по превращению в профессионала в создании фантастических in-browser макетов готовых к работе сразу по получению одобрения от клиента.
+31
Создание прототипа с помощью CSS-фреймворка Grid 960
10 min
24KTranslation

Звучит отлично, но как это делается? В интернете есть большое количество статей, агитирующих за и против использования CSS-фреймворков, но нет ничего в помощь неопытным читателям. Поэтому в сегодняшней статье мы рассмотрим процесс создания прототипа.
+38
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity