Все потоки
Поиск
Написать публикацию
Обновить
341.39

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

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

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

Строим CDN для медиа-трафика или экономим трафик при помощи WebRTC P2P mesh

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

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

Читать далее

Как я разрабатываю конвертер в 2024 (Frontend часть)

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

Всем привет!

Меня зовут Руслан и я fullstack разработчик, я работаю над заказами и разрабатываю свои digital продукты. На данный момент я разрабатываю конвертер файлов, например картинок, png в webp, jpg в png и так далее. Итак, я решил поделиться этапами своей разработки, рассказать о своем опыте и показать, как шаг за шагом создаются собственные продукты. Именно в данной статье я буду писать только про frontend часть,  так как, к разработке бэкенда еще не приступил.

Читать далее

Сравнение Gitlab cache и Gitlab artifacts

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

Привет, на связи Олег Казаков из Spectr. В этой статье поговорим о двух важных инструментах GitLab, которые помогают передавать данные между этапами CI/CD-пайплайна — Cache и Artifacts.

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

Разобраться в Cache и Artifacts

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

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


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

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

Инициативы «Гаража». Внутренний портал для коммуникации своими руками

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

Привет, Хабр!

Вероятно, некоторые из вас помнят, что мы уже рассказывали про наш внутренний портал «Интра», который нацелен на развитие сотрудников. Сегодня речь пойдет о другом портале, созданном для укрепления внутренней коммуникации в компании. Он называется «ПРО» и представляет собой платформу, объединяющую различные аспекты жизни наших коллег вне проектов.

Читать далее

9 open source библиотек для вашего следующего проекта

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

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

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

Читать далее

Разбираемся с цветами: пространства, иллюзии и квантование

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

Привет! Меня зовут Илья, я iOS-разработчик в компании Банки.ру.

Однажды я заметил, что цвет из Figma на симуляторе почему-то выглядел иначе. Вроде бы HEX-код один и тот же, но они явно отличались. Это заставило меня задуматься о том, что происходит с цветами при передаче изображения из одного приложения в другое. Чтобы разобраться, я решил погрузиться в вопрос и изучить природу цвета. Из этого исследования и появилась данная статья.

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

В статье разберем следующие темы:

• Что такое цвет и WOW-эффекты с ним
• Дискретизация и квантование
• Цветовые модели
• Цветовое пространство
• HEX-квиз и выводы

Читать далее

WeakMap и WeakSet в JavaScript

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

Привет, Хабр!

Когда дело доходит до коллекций данных в JavaScript, большинство разработчиков сразу вспоминают про массивы, объекты, Map или Set. Но есть и другие, менее известные структуры данных, которые можно назвать «инструментами для особых случаев» — это WeakMap и WeakSet.

WeakMap и WeakSet — это структуры, которые созданы для работы с объектами. Их основная фичи — слабые ссылки, благодаря которым можно избежать утечек памяти. Эти структуры подчищают за собой автоматически, когда объект, используемый в них, становится недостижимым.

Однако их область применения не ограничивается только управлением памятью.

Читать далее

Разбираем базу по базам

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

Всем привет! Сегодня у нас на повестке дня работа с SQL-запросами, базами данных, какие есть варианты и как вообще правильно с ними работать в рамках BitrixFramework.

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

Не стоит пугаться AI-шной картинки, внутри материал писала белковая нейронка ;-)

Читать далее

JavaScript: Удобство или Угроза? Размышления о Приватности и Вебе

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

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

Сложно переоценить пользу JS, который делает сайты интерактивными, удобными и современными. В то же время опасность, которая в нем таится, обычно ускользает от внимания. Эта статья — попытка заглянуть монстру в глаза.

Читать

Парольная защита статичной HTML-страницы на JS

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


Обычно парольная защита производится через веб-сервер, который проверяет пароль и выдаёт контент. Стандартный способ: .htaccess и htpasswd. Но что, если нужно выложить зашифрованную веб-страницу и файлы на публичном хостинге, где у нас нет контроля над сервером? Эту проблему решают инструменты StatiCrypt и Portable Secret.

Для шифрования HTML перед публикацией StatiCrypt использует AES-256 и WebCrypto, а расшифровка происходит с помощью ввода пароля в браузере на стороне клиента, как показано в демо (пароль test).

StatiCrypt генерирует статическую страницу, которую можно безопасно заливать на любой хостинг, в том числе бесплатный сторонний хостинг, такой как GitHub Pages.
Читать дальше →

PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас

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

Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.

Читать далее

Как Ultimatum помогает бороться со слежкой в сети

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

image


Добрый день! Меня зовут Тимур и я программист.


В предыдущих статьях я рассказывал о своем форке хромиума — Ultimatum, для тех пропустил — можно начать отсюда. И если в тех статьях подход был с закосом в техническую сторону то сегодня я хочу показать как может себя чувствовать обычный пользователь браузера без программистских скилов.

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

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

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

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

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

Читать далее

Идемпотентность: искусство не менять мир дважды

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

Привет! Эту статью я пишу для тех, кто хочет разобраться в сложных понятиях простыми словами.

Идемпотентность стала моей «любимой» темой после одного из первых собеседований, где меня попросили объяснить её так, чтобы понял кот. Тогда это было для меня вызовом, но спустя время я поняла, что вдохновение приходит из простых вещей и самый простой способ объяснить их — через примеры, которые мы видим каждый день.

Надеюсь, после прочтения статьи это будет понятно не только вам, но и вашему коту, если вдруг он читает.

Читать далее

Как эффективно управлять видеопотоком с веб-камеры в браузере

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

Веб‑технологии, такие как Media Capture and Streams API (или просто MediaStream API), открывают большие возможности для работы с видеопотоком в браузере. Они позволяют легко захватывать видеопоток с веб‑камеры и использовать его для создания мощных и интерактивных веб‑приложений. Однако несмотря на широкую доступность этих API их эффективное использование остаётся непростой задачей.

Меня зовут Артем Шовкин, я RnD‑разработчик в СберТехе. В процессе изучения MediaStream API наша команда столкнулась с рядом интересных вопросов. Как эффективно управлять параметрами видеопотока в зависимости от возможностей устройства и сети? Какие подводные камни возникают при кроссбраузерной реализации? Как лучше всего обрабатывать ошибки при работе с видеопотоком?

Мы решили не просто разобраться в работе API, но и в деталях изучить спецификацию Media Capture and Streams, чтобы понять, как она используется в реальных приложениях. В статье мы также использовали код исходников реализации getUserMedia.

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

Поехали!

Читать далее

Чек-лист по запуску нового сайта: что нужно учесть?

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

Запуск нового сайта — момент ответственный. Надо сделать 1000 и 1 дело. Чтобы вы не потерялись в дедлайнах и задачах, вот вам чек-лист. Подрядчикам он поможет структурировать все действия, а заказчикам — понять и проверить, все ли пожелания учла команда разработки.

Читать далее

Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе

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

Разбираю, как разработчик вывел свой простой сервис для написания эссе в топ Google, несмотря на кучу конкурентов. Монетизировал продукт по подписке $30/мес и вышел на доход более, чем $400 000 в месяц.

Читать далее

Чистая архитектура фронтенд приложений. Часть первая

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

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

Читать

Интернационализация (i18n) бэкенда в Express с использованием Intlayer

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

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

Читать далее

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