Обновить
512K+

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

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

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

Что не так с веб-компонентами?

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

Здравствуйте, меня зовут Дмитрий Карловский, и я пилил веб-компоненты, когда их ещё не придумали, делал полноценные компоненты на AngularJS, когда там ещё были только директивы, и разработал компоненто-ориентированный фреймворк $mol с инверсией контроля и статической типизацией, когда это ещё не было мейнстримом. Короче, я немного в теме. И сейчас я расскажу вам, почему мы сразу отказались от Web Components и почему у них нет никаких перспектив.

✔ Готов получить сарказм

ИИ‑помощник не понимает ваш UI Kit? Показываем, как это починить

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

Около 90% фронтенд‑разработчиков в нашей команде используют ИИ‑помощников для написания кода. Лично у меня — и как я могу заметить, у многих — был такой опыт: вы только начинаете пользоваться ИИ‑помощником, просите его сгенерировать какое‑нибудь классное MVP, получаете результат минут за пять и думаете: «Вау, неужели это возможно? Как это вообще работает и как это круто». 

А дальше вас ждёт сюрприз. 

Всем привет, меня зовут Валерий Баранов, я руковожу командой технологий фронтенда в Яндекс 360. Мы занимаемся тем, что сами называем «общим фронтендом»: общими техническими компонентами, общим CI/CD, платформами дистрибуции общих компонентов. Сегодня я хочу рассказать, как мы в Яндекс 360 сделали фронтенд‑проекты по‑настоящему AI‑ready: научили ассистентов понимать структуру наших репозиториев, работать с внутренними библиотеками и даже соблюдать паттерны дизайн‑системы. 

Читать далее

Иностранные слова в брендинге и интерфейсах IT- компании. Что изменилось с 1 марта 2026

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

С 1 марта 2026 года в России действует закон, по которому публичная информация для потребителей должна быть на русском языке. Пока закон обсуждался, большинство IT-компаний смотрели на него как на проблему скорее офлайн-бизнеса: вывески, баннеры, магазины. Но когда к нам стали приходить клиенты с конкретными вопросами, стало очевидно, что онлайн он задевает не меньше. Кнопки, разделы меню, тарифные планы - всё это могут посчитать публичной информацией для потребителя. Что именно создает риск претензий, разбираемся на практике.

Откуда взялся закон

ФЗ № 168-ФЗ от 24 июня 2025 года добавил в Закон о защите прав потребителей новую статью 10.1. Суть: любая нерекламная информация, предназначенная для публичного ознакомления потребителей, размещается на русском языке.

При необходимости допускается дублирование на иностранном языке при соблюдении требований к идентичности и равнозначности размещения, оформления (вплоть до параметров шрифта).

28 февраля 2026 года, за день до вступления в силу, Роспотребнадзор опубликовал разъяснение: требования распространяются в том числе на сайты в интернете как «общедоступные места». До этого часть юристов ссылалась на позицию ВС РФ 2015 года о том, что интернет не «место, открытое для свободного посещения».

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

Читать далее

Фронтендеры, хватит покрывать тестами каждую строчку кода – это безумие

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

Я ненавижу писать фронтовые тесты. Не потому что я против тестирования, а потому что в какой-то момент они превращаются в бессмысленный ритуал. Особенно когда от тебя требуют покрыть ими вообще всё.

Читать далее

Как перестать наступать на грабли в Go: набор рабочих рецептов

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

Пишете на Go или только начинаете изучать язык? Эта шпаргалка точно сэкономит вам кучу времени. Никакой воды, абстрактных рассуждений и скучных введений. Мы пройдёмся по тем самым ситуациям, с которыми бэкендеры сталкиваются на каждом проекте: конкурентность, сеть, работа с JSON, обработка ошибок, тесты и дебаг.

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

Читать далее

Как я перенес консольное приложение в Rust + WASM и выложил на GitLab Pages

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

Перенес консольного приложения в формат, удобный к показу по ссылке:

переписал логику на Rust,

собрал в WebAssembly и завернул в статичную страницу с терминальным интерфейсом на чистом HTML/CSS/JS.

В статье разбираю практический пайплайн: экспорт функции из Rust в WASM (wasm_bindgen), инициализацию модуля в браузере через JS, вывод результата в DOM и публикацию через GitLab Pages. Отдельно показываю, как встроил .wasm в base64, чтобы страница работала даже без отдельной загрузки бинарного файла.

Это кейс про то, как быстро превратить небольшую CLI-логику без системных API в наглядное web-демо, которое открывается с любого устройства без установки.

Репозиторий: gitlab.com/Evgene-Kopylov/iching_wasm
Демо: i-ching-wasm-c50914.gitlab.io

Читать статью с картинками

Debug‑web: консольный отладчик для прода

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

Компактный пакет debug-web решает вечную проблему тестировщиков и разработчиков: «А стенд актуален?». Добавьте в проект несколько строк кода — и в консоли всегда будут версия сборки, время деплоя и любые другие данные. Уровень логирования меняется прямо из консоли, без пересборки. Рассказываю, как мы экономим часы на поиске информации и отладке.

Читать далее

Заменить нельзя оставить: как DataLens мигрировал с Highcharts

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

Привет, меня зовут Евгений Алаев, я разработчик интерфейсов в команде Yandex DataLens. Это облачный BI‑инструмент для анализа данных и построения дашбордов, и графики в нём — не «одна из фич», а сердце продукта. Пользователь открывает дашборд и первое, что видит, — визуализации. Именно они отвечают на вопрос: «Что происходит с моими данными?»

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

Долгое время графики в DataLens строились на Highcharts. Поначалу это был разумный выбор: быстрый старт, богатый набор типов, большое сообщество. Но BI‑инструмент со временем становится сложнее — появляются нестандартные требования к поведению, дизайн‑система, которую нужно выдерживать в едином стиле. И в какой‑то момент Highcharts начал мешать больше, чем помогать.

В этой статье расскажу, как и почему мы приняли решение написать собственную опенсорс‑библиотеку для визуализации — @gravity‑ui/charts. Мы с коллегой — core‑контрибьютеры этой библиотеки, так что я в подробностях расскажу, что нас не устраивало в Highcharts, какие альтернативы рассматривали, как устроена архитектура и с какими конкретными техническими вызовами столкнулись в процессе.

Читать далее

Разбираем net/http на практике. Часть 2.3: Динамические маршруты, cookie-аутентификация и управление доступом

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели7.7K

В этой статье цикла мы решим главную проблему сервиса DeadDrop: пользователь создаёт секрет, но не может его забрать.

Здесь мы:

1) Научим net/http понимать динамические маршруты без фреймворков
2) Научимся подписывать куки через HMAC и узнаем, как оно работает изнутри
3) Настроим безопасное скачивание файлов

Никаких готовых решений - лишь стандартная библиотека, которая никуда не пропадёт и не развалится за месяц!

Сегодня сервис DeadDrop станет полноценным веб-приложением - покрываем все функции, заявленные в первой статье

Читать далее

Как я сделал Roomify — AI-визуализатор интерьеров на React и Puter

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

Привет, Хабр! Меня зовут Андрей, и я фулл-стек-разработчик. Недавно я выпустил свой pet-проект Roomify — веб-приложение, которое превращает обычный план помещения в фотореалистичный 3D-рендер за несколько секунд. В этой статье я хочу рассказать, как всё устроено под капотом: от выбора технологий до интеграции с AI и облачной платформой Puter.

Читать далее

Чистые функции в html шаблонах Angular

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.1K

Начиная с версии 21.2 Ангуляр внедрил поддержку чистых JS функций в html шаблонах. Теперь можно инлайнить функции без необходимости определения их в классе компонента. Фича, на мой взгляд, довольно противоречивая, поэтому давайте разбираться.

Читать далее

О цифровой доступности: как постигать интернет без визуальных интерфейсов

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

Всем привет! Меня зовут Артем Плаксин, я с рождения практически ничего не вижу.

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

Для своего некоммерческого проекта — экосистемы сервисов для незрячих и слабовидящих TifloHost — я использую платформу серверной виртуализации VMmanager. Так я и познакомился с ребятами, которые делают этот продукт.

В этой статья я хочу поделиться с вами своей историей освоения интернета.

Читать далее

Модульная система Sass: руководство по @use

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

Раньше в Sass был только @import, который создавал кучу проблем: глобальное загрязнение, конфликты имён, дублирование кода. В новых версиях (Dart Sass) @import объявлен устаревшим — вместо него пришли @use и @forward. Переход на модульную систему — это не просто замена одного слова на другое, а смена парадигмы. Теперь каждый файл — изолированный модуль со своим пространством имён.

В статье на реальных примерах показано:

- как подключать переменные, миксины и функции через @use;

- почему больше не работает @import 'file' и как исправить старый код;

- что такое встроенные модули (mathlistmapstringcolor) и зачем их подключать вручную;

- как гибко настраивать темы через !default и with();

- чем @forward отличается от @use и как с его помощью собирать публичное API проекта;

- как избежать ошибок с повторными импортами и конфигурацией.

Материал будет полезен всем, кто пишет на Sass и хочет идти в ногу с развитием инструмента.

Читать далее

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

Как экспортировать плейлист из Яндекс Музыки за 10 секунд

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

Иногда хочется выгрузить список треков из плейлиста Яндекс Музыки — например чтобы:

сохранить треклист

перенести музыку в другой сервис

сделать бэкап

проанализировать плейлист

Ещё одна причина — изменения в версиях треков. В некоторых случаях в каталоге Яндекс Музыки используются отредактированные версии песен (например, с запиканной ненормативной лексикой или изменёнными фрагментами текста). Поэтому иногда хочется сохранить оригинальный список треков из плейлиста, чтобы при необходимости найти альтернативные или оригинальные версии композиций в других сервисах.

Но у Яндекс Музыки нет функции экспорта.

Читать далее

Fame to Flame: как мы за два месяца собрали VK Mini App на 80 000 пользователей и собственный видеостриминг

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.7K

К нам в Doubletapp обратились организаторы Fame to Flame — федерального танцевального чемпионата. Онлайн-часть ивента планировалась как ядро всей механики конкурса — регистрация участников, загрузка видео, голосование, работа с чеками. При декомпозиции задач мы поняли, что сложность здесь на стыке: видеостриминг, антифрод, всплески нагрузки и жёсткий дедлайн в два месяца. Но у нас было мощное оружие — опыт.

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

Содержание:

Что хотел заказчик
Видео: главный источник сложности
GPU-транскодинг под пользовательскую загрузку
Асинхронный пайплайн обработки
Подготовка к пиковым нагрузкам
Наблюдаемость и раннее обнаружение деградации
Модерация VK как часть production-цикла
Фронтенд и кастомный видеоплеер
Результаты

Читать далее

Автостопом по хостингу: переезжаем с cPanel и Plesk на ispmanager

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

Привет, Хабр! С 31 марта 2026 года cPanel и Plesk перестанут работать для российских пользователей. WebPros International LLC, американская компания, которая дистрибутирует обе панели, официально уведомила российских партнеров: обслуживание клиентов из России и Белоруссии полностью отключается.

Мы в Рег.ру запустили программу экстренной помощи. Вместе с заместителем руководителя направления службы поддержки хостинга Рег.ру Никитой Никоновым и специалистами по переносу сайтов Аленой Галкиной и Вадимом Курносовым разбираем, как перенести сайт с cPanel или Plesk на альтернативный вариант — отечественную панель ispmanager: от бэкапа до переключения DNS.

Читать далее

Метрика на ключевое событие в MVP без тяжёлой аналитики

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

При запуске MVP считаем вначале не клики вообще, а деньги и время. Деньги потому, что до серьёзных вложений полезно быстро и по возможности бесплатно проверить, нужен ли проект рынку. Время потому, что его легко потратить не на сам MVP, а на подключение Яндекс.Метрики, Google Analytics, событий, воронок, отдельной базы и прочей обвязки. В итоге идея ещё не проверена, а вокруг неё уже начинает расти аналитическая система.

Рассмотрим простую схему с 1-2 быстрыми метрики, которые напрямую проверяют УТП или главный пользовательский сценарий. Пользователь нажал кнопку покупки. Начал создавать проект. Зарегистрировался. Перешёл в Telegram. Этого уже хватает, чтобы понять, работает ли сценарий и есть ли живой отклик.

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

Разберем именно такой вариант. Маленький Django-бэк один раз деплоится на простом хостинге, принимает события через пиксель, хранит их в SQLite и отдаёт статистику JSON-ответом. Дальше во всех новых фронтах меняются только названия event и src.

Особенно удобно это в тех случаях, когда фронт живёт на бесплатном или засыпающем хостинге. У free web services на Render сервис уходит в spin-down после 15 минут простоя, а файловая система там ephemeral, поэтому локальный SQLite для таких счётчиков работать не будет. В качестве простого примера отдельного маленького бэка можно использовать PythonAnywhere, где есть бесплатный аккаунт с одним web app. Но сама идея не привязана к этим площадкам и повторяется практически где угодно.

Читать далее

Как за выходные собрать сайт-визитку на чистом HTML/CSS использую нейронки

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

Меня зовут Богдан Непряхин, я CEO digital-агентства bijobs.ru. Мы занимаемся performance-маркетингом и аналитикой. Я выступаю на конференциях, рассказываю про Яндекс Директ, VK Ads, работу с данными. И вот в начале 2026 года поймал себя на том, что мне неловко давать ссылку на «страницу спикера». Потому что её не было.

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

Классический путь: дизайнер (15-40 тысяч, 1-2 недели) + верстальщик (15-30 тысяч, ещё неделя). Итого месяц и 30-100 тысяч за одностраничник. Для страницы, которую увидят десять организаторов. Я решил проверить, можно ли сделать это за выходные с Claude Code, нейросетевым ассистентом для работы с кодом.

Читать далее

Внедрение SEO в цикл разработки SDLC

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

Сайт запустили два месяца назад. Дизайн стильный, кнопки нажимаются, оплата проходит. Но органического трафика – ноль. SEO-специалист проводит аудит и выдаёт вердикт: «Нужно переписывать половину сайта. Каталог отрисовывается на клиенте через JavaScript – поисковый робот видит пустую страницу. URL-адреса выглядят как /page?id=37841. Структура заголовков отсутствует. Бюджет на разработку уже потрачен, и каждый час переделок стоит новых денег.

Знакомая ситуация? Она повторяется в половине проектах что приходят ко мне. Внедрение SEO на этапе разработки просто не запланировали. А ведь любой баг, пойманный на стадии проектирования, обходится в разы дешевле, чем тот же баг после релиза. Для SEO это правило работает точно так же: исправить структуру URL в проекте – 15 минут. Переделать маршрутизацию на продакшене – несколько спринтов и нервы всей команды.

Эта статья – мостик между SEO-специалистами и IT-командой. Вы узнаете, в какие именно точки жизненного цикла разработки ПО (SDLC – Software Development Life Cycle) встраиваются SEO-требования, и как разговаривать с разработчиками на одном языке.

Читать далее

JavaScript без мифов: синтаксический сахар, карьера и рынок — интервью с Дмитрием Колотильщиковым

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели7.3K

JavaScript — редкий язык, который одновременно является «родным» для браузера и при этом давно вышел за пределы фронтенда: на нём пишут бэкенд, десктопные приложения, мобильные клиенты и даже игры. При этом вокруг JS всё ещё много путаницы — от «Java и JavaScript это одно и то же» до «фронтенд = кнопочки».

В этом интервью я, Александр Шулепов (телеграм-канал Shulepov Code), поговорил с Дмитрием Колотильщиковым — старшим разработчиком и автором канала «ИТ‑интроверт» — о том, как войти в профессию, почему Angular новичкам может навредить, зачем фронтендеру микрофронтенды, как устроены зарплаты и рынок за пределами России, и что на самом деле помогает дорасти до сеньора.

Читать далее