Обновить
356.45

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

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

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

Электроконнект: как сложный контент становится частью производственного процесса

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

Работая над сайтом завода «ЭЛЕКТРОконнект», мы столкнулись с задачей, знакомой всем, кто делает проекты для технического B2B. На первый взгляд, всё просто: обновить сайт, сделать понятнее, удобнее, современнее. Но под этой простотой задачей скрывается целый пласт системных особенностей от отраслевых стандартов до внутренней логики работы с заявками, где каждая форма и таблица это часть производственного процесса.

Читать далее

О дивный новый анимированный мир — ViewTransition в React

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

Всем привет. Я Артем Курочкин, frontend разработчик компании DD Planet.

Сегодня я расскажу об одном из ключевых нововведений в React, представленных на React Conf 2025. Прошу любить и жаловать ViewTransition - нативная поддержка view transition api в экосистеме реакта.

Что это значит для React-разработчиков и как нам всем это поможет, мы и разберем в этой статье.

Читать далее

Кому принадлежит ваша CMS?

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

Несколько адаптированный перевод статьи одного из основателей Joomla - Брайана Тимена. Сохранён tone of voice автора.

Читать далее

Вайб-кодим локальный мультимедийный сервер на C++ и Vue.js

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

У каждого из нас на жестких дисках копятся терабайты контента. Фильмы, скачанные «про запас», архивы семейных видео, гигабайты музыки во FLAC, которую жалко удалять, и тысячи фотографий. Но есть проблема: потреблять этот контент локально — неудобно. Когда дома лежит большой медиа‑архив — фотографии за годы, фильмы, музыка, куча видео — начинаешь задумываться, что работать с этим напрямую через файловую систему совсем не удобно. Особенно в эпоху, когда интерфейсы крупных медиа‑сервисов настолько продуманы, что сами по себе стали стандартом UX.

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

Читать далее

Микрофронтенды: прихоть разработчиков или реальная польза для бизнеса

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

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

Читать далее

Восемь высокопроизводительных Python-библиотек в копилку разработчикам

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

Когда в 1991 году Гвидо ван Россум представил миру Python, никто не мог предсказать, какое место через несколько десятилетий этот язык займет в веб-разработке, Data Science и Machine Learning. Сейчас Python продолжает развиваться: с новым поколением инструментов в прошлое уходят традиционные ограничения — производительность, GIL и сложность параллельных вычислений. 

Привет, Хабр! С вами Леша Жиряков, я руковожу бэкенд-направлением витрины KION, возглавляю гильдию по Python и пишу для блога MWS на Хабре. Я каждый день сталкиваюсь с вызовами высоконагруженных систем и сформировался пул инструментов, которые помогают решать критические проблемы современной разработки — от обработки данных с Polars до управления зависимостями с UV. 

В этом материале я сделаю обзор Python-библиотек, с которыми можно создавать системы, сравнимые по производительности с Go и Rust. 

Читать далее

Переезд с Nuxt 2 на Nuxt 3: почему для крупного интернет-магазина мы выбрали рерайт, а не миграцию

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

Пять лет назад мы запустили интернет-магазин на Nuxt 2. За это время он превратился в классический монолит: вносить правки стало дорого, а сайт начал «задыхаться» под нагрузкой. Когда вышел Nuxt 3, перед нами встал выбор: пытаться оживить проект через Nuxt Bridge или переписать всё с нуля.

Мы проанализировали код и поняли: плавная миграция для нас — это путь к созданию «зомби-проекта». Слишком много фундаментальных отличий: Options API против Composition API, Vuex против Pinia, смена логики роутинга и несовместимость ключевых библиотек.

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

Внутри кейса:
4 технических «фаталити», которые делают миграцию легаси-монолита невозможной.
Архитектура FSD + Nuxt 3: как мы подружили фронтенд с бэкендом на Symfony и навели порядок в зависимостях.
Паттерн «Фабрика»: как упростить сложную логику доставки в Composition API.
Бонус: почему благодаря правильному старту недавнее обновление с Nuxt 3 до Nuxt 4 заняло у нас минимум времени, в отличие от мучений с Nuxt 2.

Если вы всё еще поддерживаете проекты на второй версии и боитесь подступиться к обновлению — этот опыт для вас.

Читать далее

Docker для начинающих: что это такое и как пользоваться

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

Статей про Docker много не бывает.

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

Освоить рабочую базу Docker →

Как перестать мониторить серверы и начать следить за продуктом

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

Привет, Хабр! Мы — Дмитрий Дудов, руководитель разработки платформы T-Messenger, и Алексей Стрельников, Product Owner этой платформы. Мы считаем, что доступность — это история на пересечении бизнеса и техники.

В статье расскажем: 

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

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

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

Читать далее

Разворачиваем PHP проект с помощью Ansible

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

Что это за чудо-инструмент такой?

Ansible - это инструмент каждого YAML-чемпиона, с помощью него можно развертывать приложения, настраивать конфиги и автоматизации задач через ssh

Возможно, вы слышали про него вместе с фразой - Инфраструктура как код (IaC), потому что с помощью него в большинстве своем настраивают инфраструктуру

Читать далее

IPv6 для сайта, и не только

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

А вот кстати еще один способ подключить IPv6, без регистрации у туннельных брокеров, даже если хостер не выдает адресов:

Для обычных IPv4-адресов выделена специальная сеть в формате IPv6, адреса в ней имеют вид 2002:XXXX:XXXX::/48.
То есть, если у вас есть выделенный 1 IP-адрес - считайте, что вам выделена и вот такая сеть IPv6, или 65536 подсетей /64 - просто вам об этом забыли рассказать.

Читать далее

Хватит писать CSS с нуля: как Chakra UI экономит время и нервы разработчика

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

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

В данной статье мы рассмотрим одну из таких библиотек — Chakra UI V3 в связке с React, так как она не особо большая и проста в изучении. В разных библиотеках синтаксис может немного отличаться, но в основном они все решают одни и те же проблемы. Давайте разберёмся, как она способна помочь нам в разработке.

Читать далее

Пока все вайбкодят, мы продолжаем делать self-hosted базу данных для разработки ERP/LLM-систем

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

История началась в далеком 2016 году, когда у меня был небольшой свечной заводик. Не свечной, конечно, но все же производство — и нужно мне было на нем сделать автоматизацию. Чтобы компоненты закупались вовремя, списывались со склада в правильном количестве и автоматически планировалось, какие операции делать в рамках рабочего дня. Тогда я впервые подумал, что неплохо бы иметь программируемый конструктор — что-то типа MS Access, но только в web и чтобы логика и запросы программировались одинаково и понятно.

Читать далее

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

«Нейросеть, мы тебя отключим»: интервью о взломе LLM и реальной цене ИИ-инструментов

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

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

Сергей Зыбнев— Team Lead пентестер и специалист по безопасности больших языковых моделей. Это интервью записано в эфире телеграм-канала Ai4Dev — AI for Development, где регулярно разбирают практические кейсы применения ИИ в разработке. Пока разработчики радуются тому, как Opus 4.1 за ночь переписал целый микросервис, злоумышленники уже научились использовать те же инструменты для атак. Prompt injection в корпоративных ботах, скрытые команды в MCP-серверах, ИИ-сгенерированные эксплойты — всё это работает прямо сейчас.

Читать далее

Экспресс-опрос: как за 10 минут узнать, что на самом деле думает команда о спринте

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

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

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

Читать далее

Как мы создаём HD-карты для автономного транспорта: устройство map-editor

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

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

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

В этой статье мы разберём, как устроен один из ключевых инструментов — map‑editor, обеспечивающий создание и развитие HD‑карт для роботов, какие технические вызовы встречаются по пути и как мы с ними справляемся. Среди наших технологий — FastAPI и C++ для серверной логики, PostgreSQL с PostGIS для работы с геометрией, интеграция с облачными хранилищами и распределёнными вычислениями, а также элементы автоматизации на базе ML.

Читать далее

Как мы сделали капчу, когда hCaptcha отказался работать для российских пользователей

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

В 2022 году, когда hCaptcha перестал обслуживать часть российских пользователей, мы оказались перед выбором: искать новый сервис или создать свою капчу с нуля. Выбрали второе — и не прогадали. В этой статье я расскажу, как из аварийного решения родилась система, которая сегодня защищает миллионы запросов ежедневно. Поделюсь ключевыми выводами наших исследований по устойчивости к распознаванию, раскрою секреты масштабирования без пиковых нагрузок на серверы. Немного затрону тему того, как легко настроить страницу капчи под требуемый дизайн, чтобы переход на проверку оставался незаметным для пользователей. Также объясню, как наша капча превратилась из внутреннего инструмента в самостоятельный продукт.

Читать далее

Анализ аудио потока HLS с помощью Web Audio API и hls.js

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

В современных веб-приложениях для потокового видео всё чаще требуется не просто воспроизводить контент, но и анализировать аудиодорожку в реальном времени. Например, строить индикаторы уровня громкости (VU/PPM метры), визуализировать спектрограммы или детектировать тишину. В этой статье разберём, как корректно объединить hls.js и Web Audio API для анализа аудио из HLS-потока в браузере, избежав типичных подводных камней.

Читать далее

Пишем код, который живёт долго: SOLID, DRY, KISS, YAGNI

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

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

Читать далее

Токены доступа и API Gateway: как обеспечить безопасность запросов

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

Распределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и вопросы аутентификации и контроля доступа.

В статье рассмотрим различные подходы использования API Gateway как части более общего API security-решения в контексте его работы с токенами доступа, выделяя преимущества, недостатки и связанные с ними вопросы безопасности. Также разберем, почему нужно ограничивать область действия access token и может ли API Gateway помочь и в данном вопросе.

Статья написана на основе материала, с которым выступал на PHDays 2025 и CodeFest 15.

Читать далее

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