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

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

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

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

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

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

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

Читать далее
Всего голосов 91: ↑80 и ↓11 +69
Комментарии 88

Новости

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

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

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

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

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я потратил неделю, копаясь во внутренностях 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

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 5

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

Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня мы рассмотрим следующие аспекты:

  • Какое количество символов следует использовать для текста подсказки для атрибута alt;
  • В чём польза атрибута lang;
  • Почему использование текстовых символов для декоративных задач — это плохая идея;
  • Для чего существует режим повышенной контрастности.

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

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

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

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

Капибара: открытый бета-тест

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

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

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

История проекта

Проект "Капибара", как идея, был зарожден 24 июля 2023 года в ответ на объявление о ключевых изменениях на пикабу . Ответный пост прожил всего час перед удалением, но за это время собрал огромное количество комментариев поддержки и предложения помощи в создании нового портала. Сразу после объявления идеи был создан телеграмм-чат, в который за первые сутки пришло 3,5 тысячи человек, а через несколько дней число участников достигло 9 тысяч. Из этого числа была сформирована команда разработчиков. Основная концепция "Капибары" заключалась в создании портала с акцентом на честной саморегуляции контента пользователями, прозрачности алгоритмов и открытом исходном коде. Ввиду острой потребности авторов в площадке для публикации уникального контента, команда быстро создала телеграм-бота, который принимал посты пользователей и публиковал их в канале, где другие могли оценивать и комментировать их.

Читать далее
Всего голосов 27: ↑22 и ↓5 +17
Комментарии 71

Fitter —  сшиватель API/Website's.  Большое обновление

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

Добрый вечер всем!

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

Итак, что появилось:

Читать далее
Рейтинг 0
Комментарии 0

Бесплатные векторные карты на своём хостинге

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

Векторные карты Protomaps на базе OSM

Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно публиковать карты?

На эту тему есть популярные руководства, в том числе по работе с базами PostGIS и запуску тайлсерверов для реализации бесшовных карт OSM. Но есть принципиально иной подход — векторные карты Protomaps, которые обеспечивают более высокое разрешение, настройку внешнего вида и наложение произвольных меток. Они изначально предполагают максимальную простоту в создании своих карт. А главное, что разместить тайлы можно на своём хостинге или в облаке.
Читать дальше →
Всего голосов 84: ↑82 и ↓2 +80
Комментарии 6

Синхронизация локальных изменений с kubernetes контейнером. Часть 2

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

В предыдущей статье показал вам как работают docker desktop watch, skaffold dev и tilt up, которые помогают синхронизировать локальные изменения в контейнер, что очень важно во время разработки.

На этот раз хочу показать DevSpace и Garden, эти инструменты очень похожи на Tilt, у них есть dashboard, как у Tilt, есть мгновенная синхронизация изменений и под катом вы увидите, как легко можно запустить проект в kubernetes и начать разрабатывать.

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

Event Loop. Мифы и реальность

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

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

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

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

Переход с Vue-CLI и Webpack на Vite: ускоряем разработку Vue 3

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

Одним из новых инструментов в арсенале Vue 3 является Vite - быстрый и легковесный бандлер, который значительно упрощает процесс разработки и ускоряет сборку проекта. В этой статье мы рассмотрим, как перейти от стандартного подхода с использованием Vue-CLI и Webpack к более продвинутому и эффективному методу работы с помощью Vite.

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

Сочетание методов верификации и аутентификации через почту и SMS: добавит ли безопасности и нельзя ли проще?

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

Недавно в России вступил в силу закон, запрещающий использовать иностранные сервисы для авторизации на отечественных ресурсах. Привычные уже мессенджеры и системы SSO вроде Google/Apple ID в скором времени для аутентификации работать не будут. Что теперь — возвращаться на SMS и почту, или рынок предлагает альтернативные варианты решения?

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

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