Обновить
322.74

Веб-разработка *

Делаем веб лучше

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

Создать динамический компонент теперь проще: изменения в Angular 13

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

Бывают ситуации, когда компонент необходимо добавить на страницу динамически. Например, тултип или баннер. В такие моменты на помощь приходит Angular, который умеет создавать компоненты в рантайме и рендерить их. Для этого разработчик может воспользоваться методом createComponent у ViewContainerRef.

Но с 13 версией фреймворка API этого метода немного изменился. В этой статье поделюсь тем, как теперь выглядит процесс динамического добавления компонента.

Читать далее

Раздоры вокруг <div>

Время на прочтение11 мин
Охват и читатели27K
Тег <div> — это самый универсальный и широко используемый HTML-элемент. Сам по себе <div> не представляет ничего, но он, в то же время, позволяет разработчикам превратить его почти во всё что угодно. Делается это посредством использования CSS (для стилизации), JavaScript (для функционала) и ARIA (для обеспечения доступности контента).

Эта универсальность позволяет использовать теги <div> для множества самых разных целей, но, к сожалению, такая вседозволенность может легко привести к злоупотреблениям. Когда тегом <div> пользуются недостаточно осмотрительно, в итоге может получиться <div>-суп, контент, лишённый семантического значения, интерактивные элементы, не отличающиеся доступностью, или некая комбинация этих нехороших явлений.

Грубые нарушения при использовании <div> выявить сравнительно просто (подробнее об этом поговорим ниже). Но мы дошли до того, что кто-то может назвать «образцом недоступности контента» полностью правильное использование <div>, или, как минимум, пример лёгкого отклонения от правильности. В таких ситуациях говорят о том, что «кому-то стоило бы вместо <div> воспользоваться семантическим HTML-элементом».

Тег <div> приходит на вечеринку, где его встречает команда A11y

Ладно. Притормозим немного. Прежде чем дружно задирать нос перед применением тегов <div> — давайте вспомним о том, что контекст — это важно.

Конечно, всегда, когда это возможно, нужно использовать семантические элементы. Но предлагаю проявить осторожность, создавая такую атмосферу, когда может показаться, что любой вариант использования <div> — это плохо… или — что замена некоего <div> на «более семантический» элемент способна улучшить доступность некоего документа.

Прежде чем об этом поговорить — ненадолго вернёмся в прошлое и заглянем туда, откуда взялся тег <div>.
Читать дальше →

Как я Хабр взломал

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

Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведной борьбе с Безумным Максом, я, как и автор поста, решил исследовать функционал Хабра на предмет уязвимостей.

Читать далее

Как я придумал тесты в Instagram раньше чем Instagram

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

Как разработчик я люблю тратить время на пет-проекты и разрабатывать, но не люблю тратить время на маркетинг и хоть как-то их продвигать. Знакомо?

Сегодня я хочу рассказать, как в 2019 году я придумал и внедрил механику тестов в Instagram, делал легкий маркетинг и проверил нужно ли это рынку.

Меня зовут Павел Поляков, сейчас я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ?? Германии. Эта и другие истории из моего опыта привели меня к созданию Telegram-канала Хороший разработчик знает, где я рассказываю обо всем, что обычно знает хороший разработчик. Сейчас давайте узнаем, что произошло в 2019.

Читать далее

Бот-трафик и парсинг цен – взгляд со стороны владельца e-commerce и методы защиты от парсинга

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

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

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

В рамках статьи я сосредоточусь на атаках, которые относятся к типу Scraping по классификации OWASP. Детальную классификацию автоматизированных угроз веб-приложениям можно изучить в документе OWASP Automated Threats to Web Applications. Конечно, противодействие бот-атакам данного типа позволит остановить и другие автоматизированные атаки, но в нашей практике мы видим, в основном, именно атаки типа price scraping – автоматизированный сбор информации о товарах и ценах, или парсинг цен. Я не рассматриваю юридические и морально-этические вопросы парсинга цен в данной статье.

Читать далее

Как написать «Пятнашки» на Flutter

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

Возможно, вы уже читали о конкурсе Flutter Puzzle Hack и думаете о том, как проявить максимум творческих способностей. И мы вам в этом поможем, рассказав о том, как структурирована кодовая база нашего примера головоломки. Подробностями делимся к старту авторского курса по веб-разработке на Python.

Читать далее

PHP Дайджест № 222 (7 – 21 февраля 2022)

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


Подборка свежих новостей, инструментов, видео и материалов из мира PHP.

Приятного чтения!
Читать дальше →

Пишем социальную сеть на Ruby on Rails. Часть 2

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

Прошлая статья:

Пишем социальную сеть на Ruby on Rails. Часть 1

Всем привет, сегодня вторая часть серии статей "Пишем социальную сеть на Ruby on Rails" и сегодня я планирую добавить CI/CD.

Читать далее

Проблемы с JAMStack: вам может понадобиться бекенд

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

У отличных приложений должны быть отличные маркетинговые сайты – именно поэтому всегда стоит присматриваться к новым трендам и разработкам в системах управления контентом (CMS). Притом, что в этой нише традиционно доминируют опенсорсные гиганты, такие как WordPress и Drupal, со времен перезапуска Smashing Magazine еще в 2017 году начал возрождаться интерес к статическим сайтам.

Учитывая (порой учиненную руками разработчиков) сложность современной клиентской разработки, нас, пожалуй, не должно удивлять желание вернуться к той простоте, которую давал простой HTML – в конце концов, многие современные проблемы (производительность, асинхронные данные, кэширование, т.д.) при отказе от динамического серверного языка, либо становятся несущественными, либо превращаются в стандарт.

В то время, как сегодня есть много людей, громогласно высказывающихся в пользу современных статических сайтов, но один из крупнейших таких поборников – Маттиас Биильманн из Netlify, который и придумал  JAMStack (название может показаться слегка абсурдным) и помог популяризовать потоки задач, в которых используются такие инструменты, как статические CMS и API для электронной коммерции.

Читать далее

Выбор DNS-хостинга после 10 лет с Яндексом

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

Что не так с DNS от Яндекса?
Какой DNS-хостинг у самых посещаемых сайтов в зоне .ru?
Как выбрать провайдера? Сравнительная таблица.

Узнать

Дайджест свежих материалов из мира фронтенда за последнюю неделю №507 (13 — 20 февраля 2022)

Время на прочтение3 мин
Охват и читатели13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
[На данный момент Харьков, в котором мы находимся, сравнивает с землей армия РФ. Не военные объекты, а жилые массивы, школы, зоопарк, роддомы и больницы. Сотни жертв среди мирного населения. Будет ли выходить дайджест? Давайте, мы для начала выживем, а там уже будем делать выводы]

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

React Hooks простыми словами

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

О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде. 

Читать далее

Не умер ли ещё PHP (и ещё 11 вопросов, которые не стыдно задавать в 2022)

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

Уже который год во всех слаках, дискордах, телеграмах и форумах главный вопрос о любом языке программирования звучит так — стоит его учить В ЭТОМ ГОДУ, или лучше уже не надо? Взять какой-нибудь PHP — его же вечно хоронят, и всё никак.

Есть и много других вопросов. Например:
— Что выбрать — PHP, Python, Go или Node.js? Или Visual Basic? Или С? Может, Brainfuck?
— Почему все говорят про Python? Он крутой? Круче, чем всё?
— Бэкенд — это про логику и алгоритмы? Матан нужен? А чувство прекрасного?
— У фронтендеров React, Vue и миллионы других фреймворков, о которых все слышали, а что у бэкендеров? Терпение?
— Придётся ли устанавливать Linux, чтобы работать с бэкендом?
— Почему о фронтендерах все говорят, а о бэкендерах нет? Это потому что у них зарплата 20 тысяч?

Как хорошо, что спрашивать не стыдно, а отвечать — бесплатно. Поэтому мы попробуем ответить, а вы присоединяйтесь к обсуждению, потому что в таком деле у всех свои ответы.

Читать далее

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

Пишем социальную сеть на Ruby on Rails. Часть 1

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

Всем привет! Я Ruby on Rails Developer и еще совсем недавно я начинал свой путь в этой области. Я уже прошел первые шаги (о них я писал в данной статье), как выбор языка, изучение его основ, знакомство с фреймворком, первые pet-проекты, первые собеседования, первый оффер, первая компания. Но многие только начали идти по этому пути и именно для них эта статья. По своему опыту помню, как сложно искать гайды (большинство из них про создание книжных магазинов, личных блогов и т.д.), поэтому, надеюсь, многим понравиться идея создания соц сети.

Читать далее

Шаринг сокет-соединения между вкладками

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

В каждом современном сервисе должны быть сториз и чат, и для начала мы решили запилить в hh.ru переписки. Меня зовут Влад Коротун, я фронтенд-разработчик. В этой статье расскажу, как неординарный подход к использованию Web Workers помог нам решить эту задачу.

Для желающих посмотреть на предмет сабжа в динамике у нас есть видеоверсия этой статьи. 

Читать далее

Практический пример использования CSS Layer

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

CSS Layer — это очень мощный апдейт языка, о котором, на мой взгляд, должны знать все фронтендеры уже сейчас, так как он довольно сильно меняет представление о том, как писать стили.

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

Поехали

Начала Docker для юнги

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

Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс.

Окунуться

Топ-10 методов веб-взлома 2021 года по версии PortSwigger

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

Добро пожаловать в топ-10 новых методов веб-взлома 2021 года. Это заключительный этап ежегодной работы нашего сообщества. Цель работы — выявить самые значимые в области веб-безопасности, опубликованные в 2021 году.

PortSwigger — разработчик инструментов для этичного хакинга, работа с которыми — часть нашего курса по этичному взлому.

Читать далее

Темизация, часть 3. Themeizer – юный попутчик стилей

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

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

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

Если техническая часть первой статьи была посвящена клиентской части, второй – серверной, то в третьей я бы хотел рассказать о нелёгком пути, который проделывают стили до попадания на сайт и о попутчике, которого я создал им в помощь, дружелюбном и помогающем им на каждом шаге – от дизайна до вёрстки. Я назвал его Themeizer и в завершающей трилогию статье, хотел бы вас познакомить с ним, с его умениями и рассказать о процессе его зарождения.

Читать далее

Почему я ненавижу турбо-страницы от Яндекса

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

Яндекс запустил свою версию "ускоренных страниц" под названием “Турбо” в далеком 2017 году. Это был эксперимент, но прошло уже 5 лет, и я вижу в этой технологии больше проблем, чем их решения.

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

Читать далее

Вклад авторов