Обновить
290.22

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

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

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

Интерактивный SQL в браузере: как я создал встраиваемую песочницу с поддержкой 20+ СУБД

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

В статье разбирается техническая реализация SQLize Embed — легковесного JS-компонента для создания интерактивных песочниц прямо в тексте технических статей. Автор подробно описывает архитектуру решения: от использования MutationObserver для инициализации редакторов на фронтенде до обеспечения безопасности и изоляции запросов в Docker-контейнерах на бэкенде.

Вы узнаете, как реализована поддержка более 20 СУБД (включая PostgreSQL 18, MS SQL 2025 и Oracle 23ai) и как встроить «живые» примеры кода в свой проект всего парой строк HTML.

Читать далее

Новости

Технический долг vs сроки: баланс при разработке госреестра

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

Привет, я Андрей! Ну где ты был, ну открывай статью скорей :)

За технической инфой я обращался к команде разработчиков, в том числе к backend-разработчику Сергею Колеватову. Он пояснил мне за все технические штуки, а я уже поведаю вам подробнее.

В этот раз расскажу об опыте создания внутренней системы для госкомпании. Загвоздка, как всегда, была в сроках и ресурсах. А продукт нужен сразу порядочный. Готовый шаблон, Symfony Forms и «грязный» код. Выбор пал на скорость вместо качества — продукт запущен за 2 месяца, ноооо… мы получили «технический долг». Как к этому пришли и как решили проблему, расскажу прямо сейчас.

Читать далее

Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 2

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

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

В первой части статьи мы разобрали, как устроен JWT, зачем нам refresh и access токены и почему в распределенных системах нам необходимо использовать асимметричные алгоритмы подписи. 

Теперь пришло время двигаться дальше и познакомиться с тем, что стоит поверх JWT: JWKS, OAuth 2.0, OIDC.

Читать далее

WordPress Cookie предупреждение без плагина

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

WordPress Cookie предупреждение без плагина – это то, что вам нужно, чтобы соблюдать закон и не замедлять работу вашего сайта. Лично я пришёл к этому не сразу и использовал плагин, но потом работал над ускорением сайта по PageSpeed Insights и отказался от плагина.

Читать далее

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

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

Всем привет! Меня зовут Саша, и последние 12 лет моя жизнь — это дизайн. Сегодня я руковожу дизайн-командой в KISLOROD, а в прошлом — помогал крупным брендам и миллионным сервисам обрести их уникальный голос и форму.

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

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

Читать далее

Frontend Status: свежий дайджест фронтенда и AI

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

Привет!

Это Frontend Status — ваш регулярный дайджест по веб-разработке. Мы собираем самое актуальное и полезное: от свежих фич в браузерах и фреймворках до того, как ИИ меняет сами фронтенд-приложения: от генерации динамического UI до встроенных AI-фич до AI-агентов.

В этом выпуске — 25 материалов: видео с конференций, новости о фреймворках, обновления Chrome, AI-инструменты и многое другое. Навигация по разделам поможет быстро найти интересное.

Читать

Webhooks и другие способы общения серверов

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

Где-то между 2006 и 2008 годами в головах нескольких людей, которые слишком много думали про HTTP и REST, родилась не самая очевидная мысль: а что, если вместо того, чтобы каждые N секунд дёргать чужой API и спрашивать «ну что там у вас новенького?», заставить этот самый API самому постучаться к нам, когда ему действительно есть что сказать?

Сейчас это звучит как база, почти как «а давайте вместо FTP будем использовать git», но тогда это было довольно радикальным сдвигом парадигмы. От pull к push. От клиента-инициатора к серверу-инициатору.

Читать далее

Все пути ведут к MWS Tables, или Как я искал решение для учета ИТ-оборудования со взаимосвязями и интуитивным UI

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

Когда учет техники живет в «вечном Excel», это почти всегда заканчивается одинаково: разрозненные данные, ручные акты, сломанные формулы в онлайн-таблице, ошибки, взявшиеся «из ниоткуда», и потерянные часы, потраченные на поиск: где чей ноутбук, что выдали, что вернули и какой документ к этому относится. В результате страдает не только ИТ-отдел — без нормального реестра и связей между закупками, инвентарными единицами и актами легко получить хаос в документообороте.

Привет, меня зовут Евгений Смоленцев, я работаю программистом в АНО по развитию городской среды «МосводостокСтройТрест», которая занимается благоустройством улиц и сезонной инфраструктуры, капитальным ремонтом многоквартирных домов и объектов образования, строительством производственных баз, а также выполнением специализированных задач учредителя. В этом посте расскажу, как мы с помощью MWS Tables собрали учет оборудования в систему полного цикла — от закупки и присвоения инвентарного номера до выдачи сотруднику и возврата. Спойлер: мы сделали видимые взаимосвязи, удобные формы для внесения записей и генерацию актов по шаблону прямо из таблицы.

Читать далее

Экипировка Бонда: полезные инструменты DevTools

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

Привет, Хабр! С вами Карлен, Lead Fullstack разработчик в ITFB Group.

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

В этой статье я хочу сосредоточиться на практических приёмах, которые ежедневно использую сам. Мы пройдём путь от эффективной работы с консолью до анализа производительности и эмуляции реальных условий. Готовы выйти за рамки console.log? 😊

Читать далее

Повторяющиеся задачи без RRULE: мой опыт реализации в своём таск-трекере

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

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

У меня был выбор: внедрять тяжелый стандарт RRULE или писать свой велосипед? Для своего трекера задач в Telegram «OK, Bob!» я выбрал второй путь.

В статье рассказываю про подход «буферизированной материализации»: как хранить бесконечные серии в MongoDB, не убивая базу, зачем нужно «скользящее окно» генерации и почему работа с таймзонами сложнее, чем просто хранение в UTC. Разбор архитектуры, кода и неочевидных UX-компромиссов.

Читать далее

Новые CSS-фичи, появившиеся к началу 2026 года

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

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

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

Этот год не стал исключением. Я составил список понравившихся новинок в CSS, которые появились к началу 2026 года. Сразу скажу, что это совсем новые фишки. Их браузерная поддержка ограничена в основном только браузером Google Chrome.

Давайте посмотрим, что я вам подготовил.

Читать далее

Синтаксический сахар или технический деготь: классы в JavaScript

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

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

Сегодня мы сделаем следующий шаг к современному JavaScript. Я покажу вам классы — более чистый и понятный способ делать ровно то же самое. Хоть классы и называют «синтаксическим сахаром», но это не отменяет популярность и удобство их использования. Поехали!

Читать далее

Почему свой игровой движок — это проще, чем кажется

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

Команда JavaScript for Devs подготовила перевод большой практической статьи о создании игрового движка с нуля — без шейдеров, GPU-магии и «взрослых» фреймворков. Автор шаг за шагом показывает, как из простых веб-примитивов вырастает полноценная игра, а затем — универсальный движок, и почему такой подход даёт больше свободы и выразительности, чем готовые решения.

Читать далее

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

Как Markdown захватил мир

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

Почти все элементы мира хайтека, от самых современных ИИ-систем крупнейших компаний до обычных кусков кода, написанных студентами, аннотируются и описываются в одном простом текстовом формате. Когда вы пытаетесь дать сложные инструкции ChatGPT, хотите поделиться списком покупок в Apple Notes или скопировать чью-то домашнюю работу в Google Документах, вы пользуетесь одним и тем же форматом. Самое безумное заключается в том, что этот формат придумал не конгломерат технологических корпораций, а ворчун с добрым сердцем, который сейчас, вероятно, пересматривает фильм Кубрика или болеет за любимую спортивную команду. Но нам стоит разобраться, как родились столь простые текстовые файлы; не только для того, чтобы я мог похвастаться щедростью и умом моих друзей, но и чтобы напомнить вам, как работает Интернет на самом деле: умные люди придумывают хорошие вещи, а затем отдают их бесплатно, снова и снова, пока их технология не захватит мир и не сделает его лучше для всех.

Читать далее

Собственный центр сертификации под Linux

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

Для тестирования, разработки и внутреннего использования часто используются самозаверенные (самоподписанные) сертификаты. Технически такой сертификат ничем не отличается от публичного, только вместо передачи на подпись в удостоверяющий центр (УЦ) пользователь создаёт свою собственную подпись.

Под Linux мы можем сгенерировать сертификат командой mkcert или OpenSSL. Единственная проблема в том, что браузер не доверяет такому сертификату, поскольку он не подписан доверенным УЦ. Поэтому нужно ещё запустить и настроить собственный УЦ, который подписывает наши сертификаты — и добавить этот УЦ в список доверенных центров сертификации УЦ (или браузера).

Читать далее

Архитектура сложных форм

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

Архитектура сложных форм. WEB-Frontend.
(VueJS, TypeScript, Compositions API, Pinia)

Архитектура форм, в которых:
- сложная бизнес логика
- множество полей
- валидация (frontend + backend)

Читать далее

Компрометация IPTV приставки от Имаклик

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

На Авито выписал IPTV приставку. Модель: Imaqliq G-Box.

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

Логин: pcp

Пароль: LoaddAj7

Но это не всё

Читать далее

Функции-конструкторы и оператор new в JavaScript

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

Привет, меня зовут Саша, и я разрабатываю на JavaScript. В прошлый раз мы разбирались с методами объектов и идентификатором this, научившись делать объекты по-настоящему живыми и независимыми.

Сегодня двинемся дальше. Покажу, как создавать множество однотипных объектов, не копируя код раз за разом. Мы разберемся с функциями-конструкторами и оператором new — тем самым фундаментом, на котором строятся современные классы в JavaScript. Как всегда, расскажу все доступно и просто, поехали!

Читать далее

Как мы встроили нейросети в процессы IT-компании и зачем нам свой ИИ-агент

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

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

Читать далее

Почему ваш проект не замечают: разбор репозитория на практике

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

Open Source проект может быть технически отличным и при этом оставаться неизвестным. Всё прекрасно работает, но репозиторий не привлекает ни пользователей, ни контрибьюторов. Причина чаще всего не в качестве кода, а в томкак проект представлен на GitHub.

Сегодня я хочу разобрать проект Tgin (инфраструктурная прослойка для Telegram-ботов на Rust). На его примере я покажу, какие элементы репозитория реально влияют на интерес к проекту, где чаще всего теряются пользователи и контрибьюторы.

Читать далее
1
23 ...

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