Обновить
512K+

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

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

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

Автодозвон по лидам из Марквиз с отметкой в CRM

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

Привет, Хабр! В B2C-продажах — недвижимость, страхование, медицина — каждые 30 секунд задержки с первым звонком стоят процентов конверсии. Покупатель оставляет контакты в момент максимального интереса. Но импульс гаснет быстрее, чем менеджер успевает открыть CRM и набрать номер.

Почта и СМС не спасают: письмо пропустят, сообщение не заменит живого разговора. А ручной перенос данных из квиза в базу и набор номера — это десятки потерянных секунд на каждой заявке.

Вот здесь и кроется главная сложность: можно ли сделать так, чтобы лид сам создавался в CRM, а звонок запускался автоматически, без участия человека?

Оказывается, да. Мы сделали сервис, который соединяет квиз, CRM и телефонию в один сценарий. Он принимает вебхук от Марквиз, создает лид в amoCRM и запускает автоматический звонок через МТС Exolve. После разговора сервис получает событие от Exolve и сохраняет результат в CRM.

Читать далее

Боты не только вредны, но и полезны

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

Последнее время я не пишу админ. панель для веб-проектов, а пользуюсь Телеграм-ботом.

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

Административная панель — это как ремонт в квартире. Начинаешь с поклейки обоев, а через месяц меняешь электропроводку.

Снова делать логин, пароль, восстановление пароля, управление пользователями и прочие радости веб-разработки.

И всё это ради тридцати человек.

Все проще - используйте Telegram как административную панель.

Минимум кода, который за вас напишет Иван Иваныч.

Читать далее

Как спроектировать web-приложение на годы вперед

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

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

Лет двенадцать назад создание большого монолита было обычной практикой. Семь лет назад многие подсели на микросервисную архитектуру. Причем микросервисами часто называли все подряд: и сервисно-ориентированный подход (SOA), и набор крупных сервисов, и распределенный монолит. Главное было быть в тренде.

Сейчас маятник снова качнулся. Микросервисы уже не выглядят универсальным ответом: слишком хорошо видна их цена в инфраструктуре, отладке, версионировании контрактов и сопровождении. Поэтому все чаще можно услышать про модульный монолит.

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

Читать далее

Docker Fundamentals: теория и базовая эксплуатация

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

Я очень рад, что существует такая технология, как Docker, и внедряю её в проекты и инфраструктуру клиентов. Однако есть одно «но»: многие не понимают, что это и зачем оно нужно, а объяснять иногда достаточно сложно (особенно повторять каждый раз каждому человеку, да и есть шанс что-то упустить). В этой статье вы узнаете базу по Docker, где найти практику и актуальные знания. Технология будет полезна многим: от специалистов по безопасности до разработчиков. А сама статья будет познавательна для тех, кто только изучает работу Docker и хочет узнать ответы на вопросы, которые часто задаются на собеседованиях, где требуется Docker. Приступим!

Читать

Как мы считаем недельное меню в Pikni Food: пачки, остатки и solver вместо списка рецептов

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

Рассказываем, как из идеи «собрать меню на неделю» получилась задача оптимизации: КБЖУ, бюджет, целые упаковки, остатки в холодильнике, цены магазинов и план готовки.

Внутри — почему схема «рецепты → список покупок» быстро ломается, зачем понадобились greedy, simulated annealing и MIP, и почему список покупок оказался почти отдельным продуктом.

Читать далее

Как запустить бота в Max самозанятому

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

Все уже видели новость, что самозанятым теперь доступен МАХ для бизнеса? Если вдруг пропустили, то это означает, что MAX продолжает тянуться за Telegram и его тоже теперь можно начинать использовать как площадку для дополнительной коммуникации с клиентами.

Читать далее

Если не можешь победить AI — возглавь его: суфлёр для технического интервьюера

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

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

Рынок найма сейчас напоминает поле боя. С одной стороны — рекордное количество откликов, с другой — кандидаты, вооружённые до зубов генеративным ИИ. Все вокруг генерируют «сногсшибательные» резюме с опытом уровня CTO, а технические скрининги проходят, транслируя подсказки прямо в ухо через наушник.

На рынке развелось множество инструментов, которые рекламируются как «полностью незаметные» для собеседующего. Мол, нейросеть слушает вопрос и мгновенно выводит идеальный ответ на экран или в гарнитуру.

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

Читать далее

ID, token, UUID и slug: в чём разница и почему их нельзя мешать

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

В каждом бэкенде рано или поздно рядом появляются id, UUID, slug, token и request_id. Все они выглядят как строки, но отвечают за разные вещи.

Когда это забывают, UUID становится защитой, slug — вечной айдишкой, а token — просто ещё одним идентификатором.

Читать далее

LLM собрала IndexedDB с нуля: 1208 тестов, SQLite и несколько неприятных сюрпризов

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

Можно ли одним промптом собрать полноценный браузерный API и получить результат, близкий к зрелой open source-реализации? В эксперименте Claude Code поручили реализовать IndexedDB поверх SQLite, а качество проверили с помощью Web Platform Tests. Итог — рабочая кодовая база, 1208 пройденных тестов, спорные 95% в отчёте агента и заметные ограничения в производительности и пограничных сценариях.

Читать про эксперимент

Как я написал «Обратную змейку» на чистом Canvas

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

Начнём с небольшой предыстории: пару недель назад я ждал друга в кафе. Как обычно, он опаздывал примерно минут на сорок. Ноутбук с собой, интернет есть, а игр нет — чисто рабочая машина, ничего лишнего, хотя нужно будет что-то скачать, чтобы играть на работе xd. От скуки я открыл браузер и набрал в поиске «змейка». Google выдал свою фирменную змейку прямо в результатах поиска.

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

Читать далее

Вы не знаете HTML. Мои вопросы об HTML с ответами

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

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

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

А что касается HTML, то я ничего не написал. Сегодня буду исправляться. Сразу скажу, что это не будут вопросы в стиле: «А какие HTML5-элементы вы знаете?». Мне хочется, чтобы вам было интересно и чтобы вы узнали что-то новое.

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

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

Читать далее

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

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

Привет!

Это 18 выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске:

📺 Экосистема TanStack кажется бесконечной, а browser gaming снова стал серьёзной платформой: Jack Herrington собирает 17 библиотек в одном приложении, а Software Engineering Daily с Эриком Дабилбором из Poki разбирает WebAssembly и WebGL/WebGPU на практике — чтобы увидеть, как устроены и стек, и дистрибуция современных веб-игр.

🤖 Старые приёмы промптинга режут точность reasoning-моделей, а закрытая вкладка не останавливает счёт — токены и GPU крутятся впустую — чтобы перестроить работу с ИИ и не платить за отменённую работу.

🛡️ Next.js с дефолтными настройками уязвим к RCE через Server Actions — даже если «серверных функций у нас нет» — чтобы не жить с иллюзией безопасности.

🎨 Центрирование всё ещё ломает голову, а каскадные анимации плодят сотни :nth-child — честный разбор центрирования и новые sibling-index() / sibling-count() — чтобы понимать, почему код работает, а не подбирать методом тыка.

⚡ Зелёные async-тесты врут, PDF застревает в iframe, геометрия — в sin/cos, DI падает на проде — PDFSlick, Geometric.js, InferDI и разбор ловушек Jest — чтобы ловить ошибки до деплоя, а не в три часа ночи.

⚛️ React-зоопарк, неделя конфигов и ручная мемоизация: карта Robin Wieruch на 2026-й, Rockpack из коробки, TanStack AI без вендорного замка, visx 4.0, RSC в TanStack Start и React Compiler — чтобы собирать стек без споров и вычистить лишний шум из кодбейза.

👁️ TanStack Table почти убил типы и автокомплит во Vue — честный разбор на Habr — чтобы брать библиотеку только под ту боль, которую не решить за час на чистом Vue.

🌎 Chrome подставляет тяжёлые блоки по ходу стрима, Firefox говорит с железом через Web Serial, canvas наконец принимает DOM — чтобы меньше костылей в вёрстке и проще UI поверх графики.

🦮 aria-label на div — ложная доступность, которую скринридер проглатывает — чтобы не тратить время на иллюзию a11y.

📦 Код пишут агенты, а ценность — в суждении: cpojer, автор Jest, о том, что осталось важно инженеру — чтобы направлять систему, а не печатать быстрее.

⚡ Node молча жрёт память, если стримы игнорируют backpressure — чтобы баг не всплыл только на по-настоящему большом датасете.

Читать далее

Большой каталог «на почитать» про $mol, web и не только

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

Реактивность лучше MobX, виртуализация рендеринга «из коробки», типизированные стили на TypeScript, локально-первая модель данных через CRDT — эти идеи Дмитрий Карловский (nin-jin) разрабатывает на своём фреймворке $mol и в проекте $hyoo.

За десять лет накопилось около сотни статей на Хабре и большая документация на mol.hyoo.ru, разбросанная по годам и площадкам — карта потерялась даже у тех, кто читал.

Этот каталог — навигатор по корпусу. 80+ материалов разложены по 12 темам:

с чего начать и для кого это вообще

история фреймворка от тизера 2016-го до обзора 2025-го

реактивность от первого «атома» 2014-го до свежего цикла 2026-го

архитектура: MAM, view.tree, виртуализация, CSS-in-TS

руководство по практике

утилиты: $mol_fetch, $mol_time, $mol_regexp, VaryPack, MarkedText

TypeScript-приёмы и принципы кода

$hyoo и Гипер База — распределённые данные на CRDT

сообщество, бенчмарки, аналитика проекта в цифрах

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

Полезно даже тем, кто не будет писать на $mol.

Читать далее

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

Десктопный аналитик криптовалют: как устроена мультифакторная система сигналов на TA-Lib

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

Когда я начал торговать криптой, меня раздражало одно: большинство аналитических инструментов выдают «BUY» или «SELL» без объяснений. Три индикатора сказали покупать - вот тебе сигнал. Никаких весов, никакого контекста, никакой логики за цифрой.

Я решил сделать иначе. Программа, о которой пойдёт речь — это десктопное приложение для Windows, которое запускается двойным кликом, подключается к открытому API Binance и выдаёт взвешенный Score по шести категориям индикаторов, бэктест на последних 100 барах, уровни поддержки/сопротивления по фракталам и ATR-метрики риска. В статье расскажу, как всё это устроено изнутри — с формулами и кодом.

Читать далее

Три задачи discovery при работе с PostgreSQL master/replica — и как их решить

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

Когда у приложения появляется несколько хостов PostgreSQL, начинается головная боль: нужно динамически находить мастера после failover, выбирать реплику с нужным отставанием и гарантировать что пользователь не увидит устаревшие данные после своей же записи. DNS кешируется минутами, libpq не знает про lag, HAProxy не слышал про LSN. Разбираем как устроены существующие решения и как закрыть все три задачи через лёгкий HTTP сервис — pg-status.

Читать далее

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

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

Когда верстаешь адаптив, постоянно скачешь между десктопом и мобильной версией: то DevTools в режиме устройства, то ресайз окна, то открыть на телефоне. Десктоп и мобайл при этом никогда не видны одновременно — один прячется, когда смотришь на другой.

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

Читать разбор

Browser Policy Manager: история создания и технические решения

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

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

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

У Firefox для этого есть корпоративные политики. Их можно описывать в policies.json, раскладывать по рабочим станциям и получать управляемый браузер. Но между «политики существуют» и «администратор или специалист по информационной безопасности может уверенно сопровождать их в реальной организации» есть большая дистанция.

Так появился Browser Policy Manager — свободный продукт под лицензией MPL-2.0 для управления корпоративными политиками Firefox.

Читать далее

Firebase, Supabase и BaaS: как мы к такому пришли и что там внутри

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

Всем привет!

Ранее мы разбирались с одним конкретным примером - Supabase: как его поставить, зачем он нужен, какие есть аналоги и почему вокруг него в последнее время так много шума.

Но, мне кажется, что сейчас будет правильно сделать шаг назад и поговорить не про конкретный сервис, а про весь BaaS (Backend-as-a-Service). Как мы уже узнали из прошлой статьи, Supabase не возник сам по себе, до него был Firebase, а до Firebase были обычные самописные API, куча настроек авторизации, хранения файлов, нотификаций с вебсокетами и остального.

В этой статье мы разберем, что такое BaaS, почему он вообще понадобился, чем Firebase отличается от Supabase, для каких приложений такой подход подходит, а где уже нужен собственный backend.

Читать далее

Семь браузерных инструментов без сервера: WASM, WebGPU, шифрование на клиенте

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

Запись в Notion - и текст на чужом сервере. Задачи в облачном планировщике - данные в чужой аналитике.

Волна локальных LLM показала широкой аудитории, что on-device - это реально. Модель работает, данные не покидают машину. RAG в indexeddb - кто так не делал?

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

Я доделал свои 7 pet-проектов. Все работают целиком в браузере, без сервера, без регистрации, без отправки данных куда-либо. Только локальное хранилище, шифрование на стороне клиента и нативные браузерные API.

Что же это за проекты

Бэкап сайта на шаред-хостинге без cron CLI: bash + lftp + внешний триггер

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

Скриптов «забэкапь мне сайт» в интернете тысячи. Большинство падает на shared-хостинге, потому что там либо нет crontab -e, либо нет rsync, либо mysqldump лежит в нестандартном месте, либо у вас нет root, чтобы починить права на /tmp. А ещё — почти все игнорируют ротацию, и через два месяца ваш FTP забит 300 архивами по 200 МБ каждый.

В этой статье — рабочая схема для типичного клиентского сайта на Beget/Timeweb/Rusonyx-подобном хостинге, без панельных «бэкап-сервисов» за деньги, с дампом базы, ротацией и без хранения паролей в git.

Читать далее