Pull to refresh
46
0
Андрей @Houston

User

Send message

React: слоты как у сына маминой подруги

Reading time4 min
Views18K

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

Для решения подобных задач в каждой популярной технологии сегодня применяется концепция "слотов". У Angular есть ngContent, во Vue, Svelte и WebComponents есть слоты.

А как же React?
Total votes 18: ↑14 and ↓4+10
Comments13

Обзор электрического самоката EcoReco M3 E-Scooter

Reading time4 min
Views24K
Самокат M3

Когда я сказал моим колегам что я получил M3 для обзора, они с завистью бросились вниз в гараж, чтобы посмотреть на это чудо техники. Но я говорил не о легендарной спортивной машине выходного дня BMW M3, а о EcoReco M3, электрическом самокате. В отличие от «Бумера», самокат M3 приводится в движение электричеством, он складывается для удобного хранения и разгоняется всего до 32 км/ч.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments15

С большой силой приходит и большая ответственность — техника безопасности в AngularJS

Reading time3 min
Views19K
image

Несомненно, ангуляр даёт вам силу. Но пользоваться ей нужно с умом. Я постарался сформулировать три простых правила, которые я много раз нарушал и страдал от этого.
Читать дальше →
Total votes 28: ↑18 and ↓10+8
Comments22

Наследование HTML файлов в xslt-стиле

Reading time3 min
Views5.1K

Проблема


Однажды, в ходе переписывания большого проекта, возникла необходимость улучшить механизм кастомизации html шаблонов под разные версии нашего web-приложения. В старой версии кастомизация выглядела подобным образом:

{{if app.version==versions.main}}
<!--один html код-->
{{else if app.version==versions.custom1}}
<!--другой html код-->
{{else if app.version==versions.custom2}}
<!--и ещё html код-->
{{endif}}

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

Привыкнув к удобным методам управления версиями приложения с помощью инъекции зависимостей, когда в зависимости от версии используются разные реализации интерфейсов, я решил изобрести свой велосипед для XSLT-подобного управления версиями html файлов: grunt-html-inheritance. Он позволяет подменять кусочки базового html-файла с помощью маленьких патчей.
Как этим пользоваться?
Total votes 18: ↑14 and ↓4+10
Comments2

Доступ к JavaScript веб-страницы из расширения для Chrome

Reading time2 min
Views24K
Как известно, расширения для браузера Chrome работают каждое в своей песочнице. Для внедрения в веб-страницу существует механизм content script-ов, когда javascript код внедряется в страницу, и имеет доступ к DOM дереву. Этот механизм позволяет работать с контентом страницы, изменять внешний вид, запускать произвольный JS, обмениваться данными с фоновым процессом расширения.

Но одну вещь механизм content script не позволяет делать — получать доступ к javascript-окружению веб-страницы.

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments15

Расширение timeStats — на что вы тратите время в интернете

Reading time2 min
Views23K
Всплывающее окно


Как показывает реакция хабрапублики на топик «Старт „Motivate Clock: “Не думай о секундах свысока”“, учёт потраченного времени интересует многих. Поэтому я хочу познакомить вас со своим проектом — расширением „timeStats“ для браузера Chrome. С его помощью вы всегда будете знать, сколько времени уходит на различные сайты.

Скачать расширение можно тут.

Читать дальше →
Total votes 104: ↑102 and ↓2+100
Comments122

Колпачок — стилус для ёмкостных экранов

Reading time1 min
Views54K


Как известно, ёмкостные сенсорные экраны используют тот факт, что предметы большой ёмкости (в том числе и мы с вами) проводят переменный ток. А значит, чтобы заставить работать стилус, нужно, чтобы кончик стилуса был электрически соединён с телом.
Читать дальше →
Total votes 78: ↑68 and ↓10+58
Comments63

Information

Rating
5,063-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity