Как стать автором
Обновить
343.63

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

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

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

Прокачиваем вёрстку ARIA-атрибутами. Атрибут role

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 142

В разговорах людей, интересующихся доступностью, часто можно услышать слово «Роль». Так, что это такое? Это специальная форма представления элемента для скринридера. Устанавливается она с помощью атрибута role. Сегодня поговорим о нем.


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


Давайте начнём!

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Новости

11 полезных фичей Chrome DevTools

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.5K

Всем привет!

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

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

Погнали!

Погнали!
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

End-to-end тестирование React приложения с помощью Playwright

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 6.4K

Привет, я Лиза – веб разработчик в одной зарубежной компании. Хочу поделиться тем, как я автоматизировала регрессионное тестирование в рабочем проекте на React с использованием довольно нового фреймворка Playwright. Разберемся, почему именно этот фреймворк, какие подводные камни, как обойти авторизацию и кто этим пользуется. 

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Чек-лист: технический аудит IT проекта

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.3K

35 вопросов для быстрой оценки качества IT проекта

Привет, дорогие читатели! Хочу поделиться с вами моим чек-листом для проверки состояния IT проекта (преимущественно web, но адаптируется и под другие). Особенно пригодится предпринимателям и управленцам, которые попали на новый проект. После проверки вы получите результат по 100-балльной системе!

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 12

Истории

Валидация входных данных в фильтрах Minimal API .NET, просто и без затей

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.8K

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 14

Оффлайновое использование Git

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 6.4K

Некоторые компании, защищая свои системы от несанкционированного доступа, используют изолированные компьютерные сети, или полностью обходятся без сетей. Работа в таких системах может быть сопряжена со сложностями, но нельзя сказать, что в них невозможно разрабатывать программные проекты. А особую важность в подобных ситуациях имеет подбор подходящего инструмента для контроля версий наподобие Git.

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

Читать далее
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 15

Joomla-дайджест. 2-е полугодие 2023 года

Время на прочтение 33 мин
Количество просмотров 575

Все главные новости из мира Joomla с момента выхода предыдущего дайджеста 4 августа 2023 года в одной статье. Также в дайджест попадает январь 2024 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Web 3.0 и частные данные

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

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

Развитие идей Web 2.0 привело к тому, что пользователи сами стали товаром. Вернее, товаром стала информация об их связях и предпочтениях, которую собирают и монетизируют корпорации типа Google и Facebook. В ответ на это у многих пользователей появилось желание не делиться своими персональными данными с корпорациями, а хранить свои данные в недоступном для корпораций месте. Размышлениям о том, к каким последствиям может привести персонализация хранимых данных, и посвящена данная публикация. Сразу предупреждаю - это просто моё растекание мыслью по древу, а не "сборник рецептов" или разъяснения "как всё устроено". Не очаровывайтесь, чтобы не разочароваться :)

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 4

Как мы заработали 1700000 руб на Telegram-боте для создания фотокниг с помощью нейросети. Фейлы и выводы

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 59K

Решил сэкономить вам 2 года, и разобрать фейлы, которые мы допустили на этапе запуска и продвижения продукта. Будет полезно, если думаете запустить свой IT продукт.

Читать далее
Всего голосов 116: ↑102 и ↓14 +88
Комментарии 126

Два вида мошенничества с помощью сайтов: розыгрыши айфонов, корм для собак и отъем денег через СБП

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.4K

Меня зовут Ростислав, я разработчик (одного из) чата для сайтов. Как правило, чаты можно подключить бесплатно на любой сайт. И среди пользователей чата появляются недобросовестные люди. Точнее говоря - явные мошенники. В этой статье я хочу рассказать о двух типах развода, с которыми я столкнулся. Со скриншотами и ссылками!

Читать далее
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 18

Всего 37% российских онлайн-ресурсов доступны для незрячих людей

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 545

К таким выводам пришла команда проекта Everland в результате масштабного исследования невизуальной доступности сайтов и мобильных приложений крупнейших российских компаний.

Тринадцать незрячих тестировщиков, прошедших специальное обучение, проанализировали в общей сложности 90 платформ 36-ти компаний из 6 сфер: ритейл, путешествия, телеком, банки, образование и маркетплейсы. Исследовались сайты и приложения на iOS (в случае банков — мобильные версии сайтов) и Android. О выводах ниже.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 3

Как из браузера открыть папку в проводнике Windows используя ExpressJS

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3K

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

Читать далее
Всего голосов 23: ↑12 и ↓11 +1
Комментарии 28

СтихТок. Как я перестал «залипать» и начал духовно расти

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

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

Читать далее
Всего голосов 64: ↑64 и ↓0 +64
Комментарии 34

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

Открытый урок «Behaviour Tree в Unity»
Дата 8 февраля
Время 19:00
Место
Онлайн

Почему PASETO лучше для аутентификации, чем JWT

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

В веб-разработке одним из наиболее популярных решений является аутентификация на основе токенов. Чаще всего для создания системы аутентификации используют JWT (порой даже там, где это не нужно). Но несмотря на популярность, JWT имеет ряд недостатков. Поэтому появляются новые решения для аутентификации на основе токенов. В этой статье мы рассмотрим PASETO — токен, который был разработан для замены JWT.

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 8

Технические предпочтения пользователей с нарушениями зрения в 2023 году. Исследование Яндекса

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 1.7K

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


Привет, Хабр. Меня зовут Никита, я помогаю коллегам из Яндекса с технической экспертизой по вопросам accessibility. В этой статье я хочу поделиться результатами очередного исследования технических предпочтений пользователей с нарушениями зрения, которое предназначено для специалистов, работающих в сфере цифровой доступности. О подобном исследовании я рассказывал в 2020 году.


Круговая диаграмма с долями основных программ экранного доступа по данным таблицы 10
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Погружение в Web RTC или пишем SFU своими силами

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.8K

Web RTC уже давно имеет поддержку в большинстве браузеров, поэтому обходить стороной технологию довольно глупо. Вот и я так подумал, поэтому в качестве пет-проекта решил написать sfu-сервер на golang.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

HTML: плохие стороны

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 3.3K

Вероятно, вы слышали заявления типа «HTML и так по умолчанию обладает accessibility» или «Не нужно изобретать заново этот абсолютно идеальный элемент управления HTML». Я считаю, что это общие заявления, а не универсальные истины. Веб-разработчикам крайне важно осознавать недостатки платформы, поэтому я решил собрать несколько примеров того, когда у HTML возникают трудности как с точки зрения accessibility, так и usability.

Это неполный список и он не включает в себя недостатки ARIA. Мне хотелось найти баланс между широко известными проблемами и чаще встречаемыми (но менее известными), а также добавить в список то, что мы воспринимаем, как должное. В каждом из разделов я укажу степень серьёзности проблемы, альтернативные решения и ссылки, по которым можно найти более подробную информацию.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 16

Утечки памяти, которые не утечки

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 15K

Что случилось? Авария, ужас-ужас

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

В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течёт, сервисы падают с OOM каждый день, все пропало!

Да, картинка действительно удручающая. Всё время, когда есть нагрузка, память в контейнере прирастает и почти не очищается при снятии нагрузки. Все остальные метрики, которые мы собирали были в норме: event loop lag, использование CPU, active request, open handles. Прирастала только используемая память и незначительно увеличивалось время отклика сервиса.

Что-ж, выглядит как классическая утечка, надо искать источник.

Читать далее
Всего голосов 94: ↑93 и ↓1 +92
Комментарии 13

Написание минимальной подсистемы хранения данных в памяти для MySQL/MariaDB

Уровень сложности Средний
Время на прочтение 24 мин
Количество просмотров 4.4K

Я потратил неделю, копаясь во внутренностях MySQL/MariaDB вместе с ещё примерно 80 разработчиками. Хотя MySQL и MariaDB — это, по большей части, одно и то же (я ещё к этому вернусь), я сосредоточился именно на MariaDB.

Раньше я никогда сам не собирал MySQL/MariaDB. В первый день «недели хакерства» я смог наладить локальную сборку MariaDB и твикнул код так, что запрос SELECT 23 возвращал 213. Сделал я и другой твик — такой, что запрос SELECT 80 + 20 возвращал 60. На второй день я смог заставить заработать простую UDF на C, благодаря которой запрос SELECT mysum(20, 30) давал 50.

Остаток недели я потратил, пытаясь разобраться с тем, как сделать минимальный движок для хранения данных в памяти. Именно о нём я и расскажу. Это — 218 строк кода на C++.

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 5

Как мы в Fix Price запустили PWA-приложение для Android

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.4K

Привет, Хабр! Меня зовут Роман Хаджаев, я работаю над проектами Fix Price в качестве фронтенд-разработчика. Сегодня расскажу вам о том, как мы создали собственное веб-приложение и развернули его для запуска на Android. Да, речь идет о PWA-приложении, в которое мы упаковали наш сайт и добавили некоторые дополнительные функции. А в завершение дам полезную информацию начинающим разработчикам, которые только приступают к решению подобных задач.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 2

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