Обновить
61.11

HTML *

Стандартный язык разметки web-страниц

Сначала показывать
Порог рейтинга
Уровень сложности

Бенчмарк HTML парсеров

Время на прочтение10 мин
Охват и читатели83K
Переписывал в островке кусок одного сервиса с Python на Erlang. Сам сервис занимается тем, что скачивает по HTTP значительное количество однотипных HTML страниц и извлекает из них некоторую информацию. Основная CPU нагрузка сервиса приходится на парсинг HTML в DOM дерево.

Сперва захотелось сравнить производительность Erlang парсера mochiweb_html с используемым из Python lxml.etree.HTML(). Провел простейший бенчмарк, нужные выводы сделал, а потом подумал что неплохо было бы добавить в бенчмарк ещё парочку-другую парсеров и платформ, оформить покрасивее, опубликовать код и написать статью.
На данный момент успел написать бенчмарки на Erlang, Python, PyPy, NodeJS и С в следующих комбинациях:
  • Erlang — mochiweb_html
  • CPython — lxml.etree.HTML
  • CPython — BeautifulSoup 3
  • CPython — BeautifulSoup 4
  • CPython — html5lib
  • PyPy — BeautifulSoup 3
  • PyPy — BeautifulSoup 4
  • PyPy — html5lib
  • Node.JS — cheerio
  • Node.JS — htmlparser
  • Node.JS — jsdom
  • C — libxml2 (скорее для справки)

В тесте сравниваются скорость обработки N итераций парсера и пиковое потребление памяти.

Интрига: кто быстрее — Python или PyPy? Как сказывается иммутабельность Erlang на скорости парсинга и потреблении памяти? Насколько быстра V8 NodeJS? И как на всё это смотрит код на чистом C.
Читать дальше →

Шпаргалка по верстке для больших и маленьких

Время на прочтение3 мин
Охват и читатели101K
Приветствую!

Хочу представить вашему вниманию небольшую шпаргалку, в которой собраны решения некоторых из часто встречающихся проблем, а также кое-какие малоизвестные, на мой взгляд, факты.

Статья рассчитана скорее на новичков и на людей, имеющих косвенное отношение к верстке, но которым по долгу службы часто приходится иметь с ней дело. Возможно, даже гуру верстки найдут в ней что-нибудь новое для себя, если давно не совершенствовали свои навыки.
Читать дальше →

Улучшаем опыт взаимодействия с формами

Время на прочтение8 мин
Охват и читатели44K
Часто меня спрашивают студенты: «Какой элемент сайта самый важный?», на что я им отвечаю — формы. Ведь с помощью форм пользователи совершают почти все конверсионные действия. Именно с этим элементом связано больше всего проблем. В этой статье я постараюсь рассказать, что можно улучшить при взаимодействии с формами. А заодно описать новые возможности работы с ними в браузерах.

Однако, сначала я бы хотел обозначить свою позицию по разработке таких форм. По-моему мнению, правильным подходом при разработке интерфейсов является подход прогрессивного улучшения.
Читать дальше →

Всем, всем, всем: время обновлять свой CSS3

Время на прочтение6 мин
Охват и читатели41K
Если Вы используете экспериментальный CSS на своих сайтах, в демках, статьях или инструментах, то это требует определенного рода поддержки. В связи с некоторыми недавними изменениями в мире браузеров, настало время пересмотреть и обновить Ваш код. Эта статья поможет Вам понять, что же начать обновлять уже сейчас.

Читать дальше →

W3C объявили о завершении работы над спецификациями HTML 5 и Сanvas 2D, а также о начале работы над HTML 5.1

Время на прочтение1 мин
Охват и читатели21K


Сегодня World Wide Web Consortium (W3C) объявили о том, что спецификации HTML5 и Canvas2D наконец завершены. Это означает, что разработчики теперь имеют “стабильный фундамент для разработки”, отмечает W3C.

Тем не менее, для того чтобы HTML5 стал полноправным стандартом W3C, необходимо осуществить ещё несколько шагов, но это, по большей части, просто формальность. Консорциум предполагает, что процесс стандартизации будет завершен к середине 2014 года. Сегодня, однако, наиболее важно то, что функции HTML5 уже сейчас обеспечивают стабильные спецификации, на которые разработчики могут ориентироваться.

Читать дальше →

Большой, длинный, необрезанный (или «Как сделать много текста в домашних условиях»)

Время на прочтение5 мин
Охват и читатели8.1K
Добрый день, жители Хабра.

Наверняка многие из Вас сталкивались с такой ситуацией — в определенный момент Вам становится нужен большой объем текста (например, Вы сверстали страницу, и проверяете блоки на «резиновость»)

И способы получения такого текста можно разделить на три большие группы:
  1. Вставка целого куска текста, скопированного с ближайшего сайта\руководства и тд.
  2. Скоростное нажимание всех клавиш на клавиатуре, с использованием максимального количества частей тела.
  3. Ctrl+A -> Ctrl+C -> Ctrl+V -> Ctrl+V.

Первые два способа рассматривать не станем, ввиду достаточной автономности каждого из них (кроме того, практически у всех, за некоторым исключением, использование второго способа, со временем + приобретением опыта «Оператора ЭВМ», сходит на нет, и полностью заменяется первым либо третьим способом).

Мы рассмотрим третий способ, и выясним, насколько оправдано его использование, и как его модернизировать, чтобы добиться оптимального результата по соотношению время\трудозатраты.

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

Читать дальше →

Попробуй БЭМ на вкус!

Время на прочтение11 мин
Охват и читатели69K
Эта статья рассказывает о том, как создать проект с использованием БЭМ-технологий.
Мы шаг за шагом создадим страничку каталога товаров, пользуясь принципами БЭМ в CSS, возможностями писать декларативный JavaScript на фреймворке i-bem.js и с использованием шаблонизатора BEMHTML. Помогать делать всё это будут bem tools, в частности — инструмент для разработки bem server.

Онлайн магазин

Важно: в статье нет особенных подробностей, её цель — получить проект максимально быстро. Текст, раскрывающий больше информации, пройдёт следующим постом.
Читать дальше →

Бесплатная англоязычная книга «Programming Windows 8 Apps with HTML, CSS, and JavaScript»

Время на прочтение1 мин
Охват и читатели14K

С каждым днём появляется всё больше материалов по разработке приложений для Windows 8. На прошлой неделе я уже писал о том, что стала бесплатно доступна наша книга «Разработка приложений для Windows 8 на языке C#». Многие интересовались, есть ли что-то подобное для HTML и JavaScript разработчиков?

На русском языке, к сожалению, бесплатной книги пока нет, но вы можете скачать англоязычную 834 страничную книгу «Programming Windows 8 Apps with HTML, CSS, and JavaScript»:

PDF: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)
EPUB: http://go.microsoft.com/FWLink/?Linkid=272592 (37.3 MB)
MOBI: http://go.microsoft.com/FWLink/?Linkid=272591 (69.5 MB)
Читать дальше →

Подборка инструментов для фронт-энд разработки

Время на прочтение2 мин
Охват и читатели134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →

Ближайшие события

Бесплатная книга «HTML5. Руководство разработчика»

Время на прочтение12 мин
Охват и читатели133K
ХО-ХО-ХО! Праздник к нам приходит! Всегда coca-co… HTML5!
Выпал снежок и как-то незаметно пришло праздничное, предновогоднее настроение. Чтобы как-то поддержать праздничный дух, мы решили сделать небольшой сюрприз от издательства и порадовать наших читателей бесплатной электронной книгой Марка Пилгрима «HTML5. Руководство разработчика» (DIVE INTO HTML5). Оригинал книги также есть в бесплатном варианте в Интернете.

Прежде чем скачать книгу целиком, предлагаем вам познакомиться с первой главой:

Глава 1. Как мы сюда попали?


Приступим


Недавно я прочел высказывание одного разработчика для платформы Mozilla, где говорится о той напряженности, которая всегда сопутствует разработке стандартов:

Спецификация и программная реализация должны пройти путь осторожного совместного развития. Ведь, с одной стороны, не хочется, чтобы реализация появилась раньше, чем выйдет окончательная версия стандарта, иначе разработчики станут принимать во внимание особенности конкретной программы, то есть в дело пойдет лишь фрагмент спецификации. С другой стороны, не хочется утверждать полный стандарт до выхода хотя бы одной реализации, иначе придется обойтись без обратной связи, в частности, не будут приняты в расчет мнения создателей программ. Противоречие неизбежно. Нам остается решать проблему методом проб и ошибок .


Пока я буду рассказывать, как появился HTML5, помните эти слова.
Читать дальше →

TinyMCE 3.x: Подсчет количества слов и символов при редактировании контента

Время на прочтение2 мин
Охват и читатели5.9K
При использовании WYSIWYG редактора TinyMCE 3.x часто возникает потребность отображения статистики редактируемой статьи в реальном времени: отображение количества слов, символов и символов с пробелами.

Для чего это может требоваться?
Самое частое применение: создатели контента (копирайтеры, рерайтеры, контент-редакторы и т.д.) должны иметь возможность оценивать выполненный объем своей работы.

Плагин «из коробки» просто не работает для русского языка (не говоря о парсинге HTML-тегов). Поэтому было принято решение написания своего «велосипеда».
Что-нить получилось?

За кадром — Media Query Mario

Время на прочтение9 мин
Охват и читатели13K

В этом хабратопике пойдет речь о создании демки Media Query Mario, о которой упоминалось в дайджесте Zfort #30.

Я обожаю каждое новое техническое демо, которое добирается до моего браузера. То, что люди порой в них совмещают, может взорвать мозг своей сложностью и креативностью.

После посещения WebDevConf 2012 в середине октября, я чувствовал то самое, возвышенное вдохновение, которое преподносит хорошая конференция. Возвращаясь с конференции в Лондон, я заметил твит о Mozilla Dev Derby, и, все еще вдохновленный, решил внести свой вклад. Результатом стало техническое демо Media Query Mario, которое представляет собой смесь из медиа запросов, CSS3 анимаций и HTML5 audio.
Читать дальше →

Готов ли ваш сайт к Retina?

Время на прочтение1 мин
Охват и читатели29K
Ответ на вопрос, скорее всего, будет отрицательным. И на это есть масса причин. Использование чего либо вроде retina.js в какой то мере облегчает процесс, но можно попробовать и более альтернативный способ.

Как вы обычно сохраняете графику для сайта? Скорее всего делаете .jpg один к одному и сохраняете его с уровнем качества где то в районе 80%. Попробуйте сделать несколько иначе. Сохраните картинку в два раза большего размера чем требуется и сохраните с уровнем качества 20%. Объем изображения скорее всего станет даже меньшей, а результат, вероятно, удивит.

P.S. Возможно это самый короткий туториал на хабре и я ни в коем случае не призываю поступать именно так, но это один из тех простых ответов на сложный вопрос.

UPD. Спасибо IIIEB4YK за ссылку в комментарии.

Веб аудио оффлайн в Safari под iOS 6

Время на прочтение2 мин
Охват и читатели6.1K

Воспроизведение кешированного аудио в оффлайн режиме в Safari под iOS долгое время было настоящим испытанием, которое было признано недостижимой целью. Но с приходом веб аудио API (только в движках WebKit), это наконец-то стало возможным, несмотря на то, что вам все-равно придется сделать несколько шагов.

Плохая новость в том, что вы все равно не сможете кешировать mp3 файлы, используя кеш приложения и просто загружать их используя XmlHttpRequest. Safari под iOS 6 будет кешировать mp3 файлы, но потом молча откажется воспроизводить их (очень полезно!)
Но не все потеряно...

Новый поиск в Gmail

Время на прочтение1 мин
Охват и читатели15K
   Google не прекращает добавлять новые функции в Gmail, последний раз она добавила новое окно для быстрого написания сообщений, а на этот раз она улучшила функцию поиска. Пока что всё находится в форме полевого испытания (field trial). Для того, чтобы подписаться на полевое испытание необходимо зайти на сайт www.google.com/experimental/gmailfieldtrial через свою учётную запись Google.
Подробности

Подходы к реализации адаптивного меню

Время на прочтение6 мин
Охват и читатели57K
Когда мы начинаем работать с адаптивным дизайном, мы сталкиваемся с различными техниками того, как лучше обработать изменение нашего навигационного меню для экранов с низким разрешением. Возможности кажутся бесконечными. Поэтому, я покажу вам четыре главных подхода с их достоинствами и недостатками. Три из них сделаны с использованием только CSS и один — с небольшим количеством JavaScript.

image
Читать дальше →