Обновить
105.61

HTML *

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

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

Уведомления в браузере и пример того, как их можно использовать с пользой

Время на прочтение6 мин
Количество просмотров74K


Вероятно, вы все уже слышали про технологию «Веб-push» в составе Push API и Notifications API. Я уверен, что среди вас есть те, кто возлагает надежды на эту технологию, как на новый канал коммуникации с пользователем. И я не исключаю возможность, что данную статью будут читать основатели тех немногочисленных стартапов, которые всерьёз занялись окучиванием технологии «Веб-push» для рекламы и маркетинга. Сегодня я вам расскажу, о том как можно использовать данную технологию.
Читать дальше →

Кэш, хэш и няш-меш

Время на прочтение6 мин
Количество просмотров14K

UPD0 (2016-07-19 23-31): судя по всему, первая половина моей статьи — успешно изобретённый велосипед. Спасибо хабравчанам за ссылку на спецификацию
Статья ценна не более, чем вольное описание уже придуманной технологии.


Предыстория


Июльский субботний вечер подходил к концу. Нарубив дров на шашлык, я повесил USB-модем на багету, скомандовал sudo wvdial, развернул браузер и обновил вкладку с открытым гитхабом. Вернее, попытался обновить. Скорость не радовала, и в итоге страница-то обновилась, но явно не хватало какого-то из стилевых файлов; и дело было не в блокировке, поскольку аналогичные проблемы я наблюдал и с другими сайтами, и зачастую они решались просто многократным обновлением страницы. Во всём был виноват перегруз 3G-сети.


Стоп! А как же кэш?

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

Сражаясь с БЭМ: 10 основных ошибок и как их избежать

Время на прочтение13 мин
Количество просмотров89K

Не важно, узнали ли вы о БЭМ только сейчас, или следите за ним с самого начала, вы, возможно, уже оценили столь полезную методологию. Если вы не знаете, что такое БЭМ, я рекомендую прочитать вам об этом на сайте БЭМ перед тем, как продолжить чтение этой статьи, потому что я буду использовать термины, которые предполагают базовое понимание этой CSS методологии.
image
Эта статья нацелена на людей, которые уже используют БЭМ и желают использовать его более эффективно, а также на тех, кто хочет узнать о нем больше.

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

Пишем адаптивный шаблон для Emlog CMS

Время на прочтение5 мин
Количество просмотров2.5K
Сегодня хотелось бы рассказать о Emlog CMS, о данной системе мало кто слышал, но она является хорошим вариантом для ведения личного сайта. Emlog работает быстро и стабильно, но уступает по функционалу Wordpress, например, и у этого скрипта меньше плагинов и шаблонов. Скрипт китайский, но имеет русскую локализацию, правда, шаблоны к нему только на китайском и, в основном, не адаптивные, напишем подходящий шаблон для ведения блога, например.
Работа с Emlog немногим отличается от Wordpress, дефолтный шаблон включает в себя такие файлы, как:
  • 404.php
  • echo_log.php – Полная новость.
  • footer.php
  • header.php
  • log_list.php – Короткая новость.
  • main.css – Все css шаблона.
  • module.php – Подключаемые модули и комментарии.
  • page.php — Страница открытой новости.
  • side.php – Боковая панель.
  • t.php – Микроблог.

Примеры функций для шаблона:
<?php require_once View::getView('module'); ?> //Подключение модулей.
<?php include View::getView('side'); ?> //Подключение боковой панели с модулями.
<?php echo $site_title; ?> //Заголовок страницы.
<?php blog_navi(); ?> //Панель со ссылками.
<?php echo $footer_info; ?> //Информация в конце страницы.

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

Книга «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 4-е изд.»

Время на прочтение3 мин
Количество просмотров30K
image Новое 4-ое издание признанного бестселлера, охватывающего как клиентские, так и серверные аспекты веб-разработки. Эта книга поможет вам освоить динамическое веб-программирование с применением самых современных технологий. Книга изобилует ценными практическими советами, содержит исчерпывающий теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети.

  • Изучите важнейшие аспекты языка PHP и основы объектно-ориентированного программирования.
  • Познакомьтесь с базой данных MySQL.
  • Управляйте cookie-файлами и сеансами, обеспечивайте высокий уровень безопасности.
  • Пользуйтесь фундаментальными возможностями языка JavaScript.
  • Применяйте вызовы AJAX, чтобы значительно повысить динамику вашего сайта.
  • Изучите основы CSS для форматирования и оформления ваших страниц.
  • Освойте продвинутые возможности HTML5: геолокацию, обработку аудио и видео, отрисовку на холсте.

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

Делаем крутые Single Page Application на basis.js — часть 2

Время на прочтение12 мин
Количество просмотров26K
Всем доброго времени суток.
Продолжаю увлекательный цикл статей про создание мощных Single Page Application на basis.js.
В прошлый раз мы немного пофилософствовали, а так же познакомились с токеном — одной из важнейших вещей в basis.js.
Сегодня речь пойдет о работе с данными.
Читать дальше →

Параллакс в 2D игре. Интересный эффект движения при создании игры на JavaScript (canvas)

Время на прочтение1 мин
Количество просмотров7.5K
При создании игры наткнулся на интересную идею, как можно реализовать эффект трехмерного движения, при создании, например, платформера. Данная возможность, думаю, подойдет для большинства 2D игр, завязанных на скроллинге игрового мира.
image
Читать дальше →

Делаем крутые Single Page Application на basis.js — часть 1, вступительно-теоретическая

Время на прочтение7 мин
Количество просмотров32K
Всем доброго времени суток!
Данная статья начинает цикл публикаций, посвященных basis.js – фреймворку для создания полноценных Single Page Application.
Читать дальше →

Позвольте представить, Shadow DOM API на основе слотов

Время на прочтение9 мин
Количество просмотров12K
Предлагаю вашему вниманию перевод статьи «Introducing Slot-Based Shadow DOM API» автора Ryosuke Niwa, написанную им в блоге WebKit осенью прошлого года.

Мы рады анонсировать что базовая поддержка нового Shadow DOM API на основе слотов, которую мы предлагали в апреле (прим. переводчика: речь идёт об апреле 2015) уже доступна в ночных сборках WebKit после r190680. Shadow DOM это часть Веб Компонентов – набора спецификаций, изначально предложенных Google для того чтобы сделать возможным создание переиспользуемых виджетов и компонентов в вебе. Shadow DOM, в частности, предоставляет легковесную инкапсуляцию DOM дерева, позволяя создавать на элементе параллельное дерево, так называемое «теневое shadow дерево», с помощью которого изменяется отрисовка элемента без изменения DOM. Пользователи такого компонента не смогут ненароком что-то в нём изменить, ведь его shadow дерево не является привычным потомком элемента-хоста. Кроме того, действие стилей также ограничено областью действия (scope), а значит CSS правила, объявленные снаружи shadow дерева не применяются к элементам внутри такого дерева, а правила, объявленные внутри – к элементам снаружи.
Читать дальше →

Подборка уроков для начинающего разработчика игр на JavaScript

Время на прочтение1 мин
Количество просмотров29K
В этой подборке уроков рассматриваются основы создания игр на JavaScript, изучив которые вы научитесь:
— Работать с позицией курсора мыши
— Вращать объекты внутри CANVAS элемента
— Выделять объекты мышью внутри CANVAS
— Перетаскивать объекты внутри CANVAS
— Создавать эмуляцию гравитации для объектов внутри CANVAS
— Определять скорость мыши
— Использовать мультиязычность в своих игровых проектах.
Все уроки полностью на русском языке и выполнены в наглядной форме.
image
Читать дальше →

Опрос: насколько строго вы следуете стандартам и лучшим практикам на фронтенде?

Время на прочтение1 мин
Количество просмотров12K
Как-то так получилось, что за последнюю неделю я посмотрел довольно большое количество выступлений на разных крупных и не очень конференциях. И часто там говорили об очень важных, в теории, вещах: производительности, доступности, прогрессивном улучшении.
Но, судя по моему опыту и ощущениям, на практике никто этим не занимается, кроме самых крупных компаний. Эти ощущения подтверждает, например, подкаст Веб-стандартов: там при обсуждении каких-то технологий или практик, постоянно звучат слова "мы это у себя не используем", "только если заказчик пнёт".
Я бы хотел проверить, так ли это, проведя небольшой опрос. Думаю, результаты будут интересны многим, приглашаю обсудить вопросы, ответы и вообще эту тему в целом в комментариях.
P.S. Я в опросе довольно вольно использую термин "стандарты". Понятно, что для некоторых вещей стандартов нет, но придумывать какое-то альтернативное название не вижу смысла.
14 вопросов

Как стать профессиональным веб-разработчиком: практическое руководство

Время на прочтение12 мин
Количество просмотров668K

Дорога длинна и трудна, но интересна и полезна!

Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
Читать дальше →

Как называть css-классы

Время на прочтение6 мин
Количество просмотров165K
Основываясь на моих любимых статьях по данной теме и личном опыте, вот мои 5 копеек о том, как называть CSS-классы.

0. Прежде чем думать о названии класса, выберите подходящее название для HTML-элементов



Если это поле, используйте элемент input

Читать HTML-документ будет гораздо легче.

Пример:

<div class='submit'/> <!-- Чёёё? -->
<input class='submit'/> <!-- Аа, ясно -->


Источник: Рафаэль Гоитер (французская статья)
Читать всю статью

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

GrabDuck: От Ньютона до вебсайта

Время на прочтение10 мин
Количество просмотров1.4K
Приветствуем вас друзья и недруги сервиса GrabDuck, мы рады вам всем (хотя друзья нам конечно же нравятся больше) и сегодня хотим поговорить о многом: о всеобщей эволюции, интернет сервисах, web 2.0 и конечно же о том, каким же должен быть хороший сервис закладок. Заходите, будет философия, много картинок, и совсем без примеров исходного кода ;-)

image

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

Facebook Messenger был уязвим к атаке, требующей базовые знания HTML

Время на прочтение1 мин
Количество просмотров18K
image

Команда специалистов Check Point security обнаружила в стандартном функционале Facebook, а так же в Facebook Messenger, уязвимость, которая позволяла получить доступ к любым отправленным через социальную сеть сообщениям пользователей.

Конкретно эксплоит позволял кому угодно получить доступ к сообщениям пользователей и изменять их содержимое, то есть, например, потенциально распространять вредоносное ПО.
Читать дальше →

Создание арканоида на чистом JavaScript с нуля. CANVAS

Время на прочтение1 мин
Количество просмотров21K
Началось все с небольших уроков на тему того, как сделать игровой цикл, как организовать отрисовку, как заставить работать клавиатуру и т.д. И на фоне этих небольших уроков пришла мысль сделать полноценную (почти) игру, так же, с нуля.
Желание воплотилось в виде 7 уроков, которые я бы и хотел представить ниже.
Читать дальше →

Front-end шаблонизатор

Время на прочтение18 мин
Количество просмотров40K
Прошлую свою статью я посветил описанию «велосипеда» (загрузчика и шаблонизатора в рамках «легкого» framework’а). Волею судеб, для пары проектов я был вынужден выделить шаблонизатор и сделать его standalone версию, обогатив при этом рядом новых возможностей. Именно об front-end шаблонизаторе и пойдет речь.

Но чтобы сэкономить ваше время, прежде я обозначу тех, кому эта статья может быть интересной (ибо букв будет много):

  • Вы front-end разработчик, и вам интересно использование шаблонов.
  • Вы back-end разработчик, и вам интересно использование шаблонов на front-end’е.
  • Вы давно ищете какой-нибудь инструмент для систематизации своей коллекции UI-control'ов, накопившуюся за несколько лет.
  • Вы интересуетесь разработкой web-компонентов.
  • Вам хочется высказать критические замечания и порекомендовать angularJS.
  • У вас есть свободное время и вам интересно почитать об очередном велосипеде.
  • У вас нет свободного времени, но вам интересно.
  • Вы хороший и любознательный человек.

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

Как я разрабатывал транслятор языков разметки

Время на прочтение4 мин
Количество просмотров11K

Эта история началась в далеком 2008 году. В одном из моих проектов для противодействия XSS-атакам я решил использовать BB-коды и начал искать подходящие библиотеки на Java. Хорошенько погуглив, я так ничего ничего и не нашел. Конечно, тогда было и сейчас есть много библиотек для трансляции BB-кодов в HTML, но все они меня не устраивали по одному критерию — невозможность добавлять или удалять тэги. Вспомнив курс "Языки программирования и методы трансляции" (польза от классического образования!) я принялся за реализацию своей собственной библиотеки для парсинга BB-кодов. В результате появился мой самый долгоживущий проект KefirBB.

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

Ещё больше комфорта в разработке фронтенда с TARS

Время на прочтение6 мин
Количество просмотров17K
TARS

Прошли очередные полгода с последних новостей о TARS (раз и два), а значит настало время поделиться новинками. Как всегда напомню, что TARS — это основанный на Gulp сборщик фронтенда, который помогает фронтенд-разработчику или даже целой команде создавать проекты любой сложности. Мы продолжаем уверенное шествие по России и не только. TARS уже используют в Нидерландах, Японии, Китае, Украине, Польше и других странах. Это можно заметить и по количеству звёзд на github, и по числу участников чата в gitter, и по количеству установок TARS-CLI за последний месяц (больше тысячи, а в пике больше 3 тысяч). Мы закрыли почти две сотни issue, выпустили два крупных обновления. Пользователи сборщика активно репортят, участвуют в разработке. Можно сказать, что у нас родилось маленькое сообщество.
Подробности

Meteor + CSS-Modules + SugarSS

Время на прочтение2 мин
Количество просмотров6.2K

Котаны!


Вы знаете про Meteor? Ну да — странный вопрос.


Вы знаете про CSS-Modules? Прощай БЭМ.


Вы знаете про SugarSS? Прощай SASS.


Перец из Техаса сегодня принял мой pull-request. И всем этим счастьем теперь можно пользоваться. CoffeeScript, Jade, SugarSS — полный комплект для кошерного кода.

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