Проверяем браузер на поддержку определённого CSS свойства

Проверяем браузер на поддержку определённого CSS свойства

Поддержка браузерами того или иного CSS свойства до сих пор остаётся одной из основных проблем веб-вёрстки, так как корректировка под различные браузера, особенно старые, занимает очень много времени и портит настроение. Поэтому многие верстальщики ограничиваются поддержкой IE с помощью условных комментариев, а некоторые вообще забивают на старые браузера и блокируют доступ к своему сайту со старых версий выводя сообщение типа «Ваш браузер устарел...». В этой статье я расскажу, как можно…

Подробнее
[Перевод] Простой эксплойт даёт злоумышленникам возможность изменить содержимое письма после отправки

[Перевод] Простой эксплойт даёт злоумышленникам возможность изменить содержимое письма после отправки

Считаете ли вы, что содержимое письма электронной почты нельзя изменить после доставки? Если вас интересует вопрос информационной безопасности, вам следует узнать о методе атаки, который исследователи из Mimecast назвали ROPEMAKER. Акроним ROPEMAKER расшифровывается как «Remotely Originated Post-delivery Email Manipulation Attacks Keeping Email Risky». В действительности ROPEMAKER — это тип хакерской атаки через электронную почту, обнаруженный Франциско Рибейро (@blackthorne) из Mimecast.

Подробнее
Заменяй и властвуй — подход SOLID для разработки повторно используемых компонентов в вебе

Заменяй и властвуй — подход SOLID для разработки повторно используемых компонентов в вебе

При разработке любого, даже простого веб-приложения возникает необходимость повторного использования кода. В разных местах сайта рано или поздно обнаруживаются схожие участки разметки и логики, которые совсем не хочется дублировать. Однако, в решении этой задачи очень легко наступить на грабли и сделать все очень плохо. Эта статья во многом вдохновлена докладом Павла Силина на РИТ 2017, однако здесь много моего собственного опыта и размышлений. Примеры будут на React + TypeScript,…

Подробнее
Дайджест свежих материалов из мира фронтенда за последнюю неделю №276 (14 — 20 августа 2017)

Дайджест свежих материалов из мира фронтенда за последнюю неделю №276 (14 — 20 августа 2017)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →

Подробнее
[Из песочницы] Edge ненавидит ваши атрибуты

[Из песочницы] Edge ненавидит ваши атрибуты

Сказ о том, как мы бездумно использовали на проекте бойлерплейт с целым боекомплектом зависимостей, которыми никто не пользовался, как нам потом это акнулось, когда потребовалась поддержка Edge, и как мы героически починили то, что, по факту, сами и поломали. Нет, это слишком длинно. Сказ о том, что все браузеры — атрибутофобы, а некоторые особенно. Читать дальше →

Подробнее
Дайджест свежих материалов из мира фронтенда за последнюю неделю №275 (7 — 13 августа 2017)

Дайджест свежих материалов из мира фронтенда за последнюю неделю №275 (7 — 13 августа 2017)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →

Подробнее
Изоляция css стилей с помощью компонентного подхода

Изоляция css стилей с помощью компонентного подхода

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

Подробнее
[Из песочницы] Практическое руководство по использованию CSS Modules в React приложениях

[Из песочницы] Практическое руководство по использованию CSS Modules в React приложениях

Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «Practical Guide to React and CSS Modules» от Tatu Tamminen. В прошлом веб-разработчики тратили много времени и сил на создание повторно используемых компонентов. Оcобую проблему представлял собой CSS и природа его каскадов. Например, если разработчик создаёт компонент для отображения древовидной структуры, то как он может гарантировать, что CSS класс (например, .leaf), используемый в этом компоненте, не приведёт к побочным…

Подробнее
[Перевод] Начни изучать Elixir прямо сейчас! Перевод всей серии статей готов

[Перевод] Начни изучать Elixir прямо сейчас! Перевод всей серии статей готов

От переводчика: «Elixir и Phoenix — прекрасный пример того, куда движется современная веб-разработка. Уже сейчас эти инструменты предоставляют качественный доступ к технологиям реального времени для веб-приложений. Сайты с повышенной интерактивностью, многопользовательские браузерные игры, микросервисы — те направления, в которых данные технологии сослужат хорошую службу. Далее представлен перевод серии из 11 статей, подробно описывающих аспекты разработки на фреймворке Феникс казалось бы

Подробнее
Дайджест свежих материалов из мира фронтенда за последнюю неделю №274 (1 — 6 августа 2017)

Дайджест свежих материалов из мира фронтенда за последнюю неделю №274 (1 — 6 августа 2017)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →

Подробнее
[Перевод] Унифицированный язык стилей

[Перевод] Унифицированный язык стилей

В последние годы мы наблюдали расцвет CSS-в-JS, в основном развивавшийся сообществом React. Конечно, процесс сопровождался спорами. Многие, особенно уже хорошо знакомые с CSS, смотрели на эту инициативу с недоумением. «Зачем кому-то писать CSS в JS? Конечно, это ужасная идея! Им бы просто выучить CSS!» Если такова была ваша реакция, читайте дальше. Мы поговорим о том, почему написание своих стилей в JavaScript в конце концов не является ужасной идеей, и почему целесообразно…

Подробнее
Как отрефакторить 2 500 000 строк кода и не сойти с ума

Как отрефакторить 2 500 000 строк кода и не сойти с ума

5 июня 2017 года на РИТ я рассказал доклад про то, как мы рефакторим свое огромное клиентское приложение на 2 500 000 строк кода. Недавно я получил запись выступления. Думаю, что это видео может быть кому-то полезно, поэтому я попросил у Олега Бунина разрешение на то, чтобы выложить его в открытый доступ. Он согласился. Надеюсь, вам будет интересно. В любом случае буду рад любым комментариям. P.S.: Заранее прошу прощение за качество видео. К сожалению, ничего с этим поделать не…

Подробнее