Обновить
360.65

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

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

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

Практическое тестирование приложений на python

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

Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс.

Ну что ж, приступим

Почему разработчики выступают за и против визуального и low-code программирования: причины и ответы на возражения

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

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

«Давайте все будем на ассемблере писать. Зачем мы пользуемся фреймворками?» — эта фраза из недавней дискуссии о low-code платформах прозвучала как манифест. И она заставила задуматься: где граница между разумным использованием абстракций и откровенным vendor lock-in?

Коллеги устроили жёсткий разбор low-code платформ — без маркетингового глянца и дипломатии. Спойлер: никакой «серебряной пули» мы не нашли. Зато выяснилось, что low-code платформы прошлого и нового поколения — это принципиально разные вещи. И что конфликт между разработчиками и визуальным программированием — это на самом деле спор о том, как писать код в 2025 году, когда есть и мощные LLM, и микросервисная архитектура из сотен сервисов.

Читать далее

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

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

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

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

где полезно использовать элемент search;

существующие проблемы при использовании единиц измерения от размеров вьюпорта для установки размера текста;

как элемент hr влияет на опыт пользователей скринридера;

нужны ли заголовки модальным окнам.

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

Читать далее

Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

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

Пробуем собрать свой минималистичный starter-kit.

Туториал из трех частей.

В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг.

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

В следующей рассмотрим работу с web-компонентами.

Читать далее

Фингерпринтинг стал массовым явлением

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

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

Раньше эта техника использовалась преимущественно в фишинге и целевых атаках. Но в последние годы её начали использовать не только злоумышленники, но и рекламодатели в проведении рекламных и маркетинговых кампаний. Более того, техника приобрела массовый характер.

Читать далее

OpenSpeedTest: российская альтернатива для проверки скорости интернет-соединения

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

Для многих IT-специалистов, сетевых инженеров и просто технически подкованных пользователей сервис Speedtest by Ookla долгое время был стандартом де-факто для проверки пропускной способности канала. Однако в последнее время пользователи из РФ и ряда других стран сталкиваются с проблемами его доступности. В такой ситуации закономерно возникает вопрос о поиске стабильной и точной альтернативы, не зависящей от внешних ограничений.

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

Читать далее

Как запускать 100k+ браузеров в день и спать спокойно

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

Привет! Я Павел Лобач из команды инфраструктуры тестирования Т-Банка. Расскажу, как у нас организована инфраструктура для запуска E2E браузерных тестов, как она развивалась и как в итоге вылилась в открытый проект Selebrow. 

Будет много технических подробностей и ни слова про ИИ!

Читать далее

Самый большой секрет HTML: тег <output>

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

Все разработчики знают о теге <input>, это рабочая лошадка веба.

Но что такое <output>? Большинство его никогда не касались. Кто-то даже не подозревает о его существовании.

И очень жаль, ведь этот тег решает проблему, которую мы годами пытались решить связкой <div> и ARIA: динамические результаты, по умолчанию объявляемые программам для чтения экрана.

Этот тег уже много лет находится в спецификации, но почему-то скрывается у всех на виду.

Читать далее

Техподдержка сайтов на «1C-Битрикс»: обзор компаний-подрядчиков

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

Поддержка сайтов «1C-Битрикс» и сопровождение проектов: обзор компаний, тарифов и SLA. Реальные кейсы, советы по выбору подрядчика и критерии надежной работы сайта.

Читать далее

Как использовать любой CSS-фреймворк в вашем проекте — Часть 2

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

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

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

Читать далее

Оптимизируем производительность веб-приложения с Redis

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

Привет, Хабр! С вами Александр Константинов, технический эксперт по облачным технологиям из Cloud.ru. Сегодня хочу показать вам наглядно, как можно оптимизировать производительность веб-приложения. Рассмотрим это на усредненном примере кейса, который типичен для многих наших клиентов, пройдем весь путь настройки, выполним нагрузочное тестирование и сравним до/после.

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

Узнать больше

Я попробовал Solid.js — и начинаю ненавидеть React

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

Команда JavaScript for Devs подготовила перевод статьи, в которой разработчик с восьмилетним опытом работы с React делится неожиданным открытием: Solid.js оказался проще, логичнее и… приятнее в использовании. Меньше перерендеров, ближе к нативному вебу, честное поведение API и настоящие веб-компоненты — кажется, у React появился достойный конкурент.

Читать далее

Самый скучный на свете взлом подарочных сертификатов

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

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

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

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

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

Читать далее

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

Как приручить сигналы или BI-система на графовой реактивности за 2 месяца

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

Привет! Я Дмитрий Дин, тимлид в диджитал-продакшне Далее. Сегодня расскажу, как мы разработали свою BI-систему с гибкими дашбордами и реактивными фильтрами — и для этого я собрал библиотеку ReGraph.

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

Читать далее

Вышла Joomla 6.0.0

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

14 октября 2025 года вышла Joomla 6, а так же минорная версия Joomla 5.4. Что нового в этих релизах, какой релизный цикл, ресурсы для Joomla-разработчиков - в этой статье.

Читать далее

Освоение Unicode в Java: создаём на Quarkus REST API, готовый к глобальной аудитории

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

В этом руководстве мы разберем непонятности вокруг Unicode и узнаем, как строить надёжные, интернациональные Java-приложения. Разберём теорию, укажем на подводные камни, а затем соберём «Глобальный сервис приветствий» на Quarkus, который переживёт весь хаос реального текста.

К концу статьи вы разберётесь с тем,

– как устроен Unicode и как Java на самом деле хранит текст;
– почему длина строки и перебор символов сложнее, чем кажется;
– как нормализация предотвращает неприятные несоответствия;
– как настроить REST-сервис и базу данных для безопасной работы с Unicode.

Unicode без боли

Изнутри жюри: как мы выбирали лучшую работу на чемпионате по html верстке

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

Всем привет, с вами Артем Леванов, Front Lead в WebRise. Когда тебе, как члену жюри, приходится выбирать лучшую работу среди сильных участников, на первый план выходят не только pixel-perfect, но и детали, которые создают ощущение качественного продукта. В чем была наша задача на чемпионате по верстке от HTML Academy, с какими работами мы столкнулись и какие решения заслуживают отдельного внимания — разбираю на реальных примерах финалистов.

Читать далее

Как я потратил $500 за 10 дней на вайбкодинг AI редактора для видео c открытым исходным кодом

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

Всем привет! Я потратил на ии кодинг 500 долларов за 10 дней работы с Девином, и в результате у меня получился онлайн редактор для АИ видео с открытым исходным кодом. Кто такой Девин, зачем я это делал и что в итоге получилось. Разбираемся ниже.

Читать далее

[Управление репликами] Практика

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

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

Эти решения можно разделить на две большие группы: реактивные и превентивные.

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

Я сделал Log Bull — простую open source альтернативу ELK, Loki и Graylog для сбора логов из кода (Python, Go, JS и т.д.)

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

За последние ~5 лет я много раз сталкивался с задачей собирать логи: обычно из маленьких или средних по размеру кодовой базы проектов. Отправлять логи из кода не проблема, у Java и Go для этого есть библиотеки практически из коробки. А вот разворачивать что-то для их сбора — головняк. Понятно, что решаемый (ещё до ChatGPT, а сейчас так тем более), но всё же. Все системы логов, прежде всего, ориентированы на большой-большой enterprise мир и его требования, а не на простых смертных с несколькими палками, клеем и дедлайном "вчера".

Запуск ELK для меня каждый раз испытание: куча настроек, нетривиальный деплой, а при заходе в UI разбегаются глаза от вкладок. С Loki и Graylog — немного проще, но всё равно функций сильно больше, чем мне нужно. При этом разделять логи между проектами, добавлять других пользователей в систему так, чтобы они не видели лишнего — тоже не самый очевидный процесс.

Поэтому примерно год назад я решил, что сделаю свою систему для сбора логов для себя: максимально простую в использовании и запуске. Чтобы разворачивалась на сервере одной командой, вообще без настроек и без лишних вкладок в интерфейсе. Собственно, так появился и теперь вышел в open source Log Bull: система для сбора логов для разработчиков с проектами middle-sized размера.

Читать далее

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