Обновить
256K+

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

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

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

CSS Anchor Positioning в картинках

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

Большой визуальный гайд по CSS Anchor Positioning: от базовой привязки элементов до создания прочных соединителей и цепочек якорей.

Читать далее

Новости

Integrals: где я научился веб-разработке на практике

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

Небольшая веб-студия в Тбилиси, множество встреч с клиентами и два года разработки сайтов — с 2016 по 2018 год.

Читать далее

Markdown, который вы не замечали: от двух пробелов до интерактивной статьи

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

Я собирался написать статью про Markdown. В процессе внутри документа оказался Doom.

Разбираемся, почему два пробела меняют перенос строки, обратные кавычки не всегда спасают таблицу, а один .md по-разному выглядит на Хабре и GitHub. Прямо в статье можно менять разметку в лаборатории, решать задания и проверять результат. Есть GIF, вложенные спойлеры, маленький квест и разбор того, как упаковать ресурсы Doom в Markdown — и что на самом деле запускает игру.

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

WASM кроссбраузерность во Flutter Web на 2026

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

В мае 2024 года команда Flutter выпустила версию Flutter 22, в которой они стабилизировали поддержку WebAssembly, объединив компилятор Dart с системой сборки мусора WebAssembly — WASM GC.

Примерно с этого же времени я много экспериментировал со сборками WASM и, в принципе, для широкого круга приложений они работают не хуже JavaScript, кроме двух интересных проблем. Это несовместимость данной технологии с браузерами Firefox и Safari.

Я решил покопаться в этом вопросе: то есть, при чём здесь вообще Flutter? И действительно ли команда Flutter не занимается этой ситуацией и почему не занимается.

Читать далее

Почему O(1) не гарантирует высокую скорость: четыре структуры данных для графа signal – effect

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

Сигнал изменился - как найти связанные эффекты и удалить известную связь? Сравниваю четыре структуры графа signal - effect по стоимости операций и памяти, а затем - в локальных замерах на V8. Почему одинаковая O(1) не означает одинаковое время?

Читать далее

FalangFlow: открытый конструктор автоматизаций на блок-схемах с TypeScript и Temporal

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

Я здесь уже рассказывал про Falang (friendly algorithmic language) - универсальное решение для построения блок схем. Тогда у меня было несколько MVP под разные направления, сейчас же я выхожу в свет с реальным продуктом.

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

Читать далее

Cloudflare изменил доступ ИИ-ботов к сайтам: как проверить настройки и не закрыть поиск

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

15 сентября Cloudflare обновил правила доступа ИИ-ботов к сайтам. Блокируя сбор данных для обучения, можно заодно закрыть поиск: некоторые боты выполняют обе задачи. Я разобрал исследование Seensure по 1 046 сайтам. После обновления запросы от имени обучающих ботов стали блокировать чаще, а поисковых — реже. Это тест с подставленными именами, поэтому он не доказывает доступ настоящих краулеров. Настройки стоит проверить по категориям, а реальный доступ — по логам запросов.

Читать далее

Блог на автопилоте: markdown в статику, выход статьи по дате и пинг в IndexNow только для новых страниц

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

У меня блог на 78 markdown-файлах, и руками я его не публикую уже больше недели. Статья выходит, когда наступает дата в её шапке: сборщик в тот день включает её в сайт, сервер замечает новую страницу, пишет о ней поисковику и обновляет sitemap с RSS. Ниже разбираю, как это собрано, и три места, где всё ломалось. Фреймворка тут нет, только один Python-файл примерно на 800 строк, bash-скрипт на 30 строк и cron.

Весь код упрощён, домен заменён на example.com, пути на /srv/blog и /srv/www.

Читать далее

«Вдруг как в сказке навайбкодил Saas!» или что осталось за кадром успешного успеха Cal AI, Rork и Base44

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

Cal AI, Rork и Base44 выглядят как тот самый успешный успех вайбкодинга. Школьник разгоняет приложение до десятков миллионов долларов, два фаундера с долгами получают $2.8 млн инвестиций, а соло-разработчик за полгода продает продукт Wix за $80 млн.

Звучит так, будто достаточно открыть Claude Code, нагенерить SaaS и ждать, когда понесут деньги.

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

Читать далее

Вышел Next.js 16.4

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

В релизах ветки 16.x мы постепенно внедряли новую модель разработки, которая решает многие проблемы, с которыми вы сталкивались с самого появления App Router:

Обеспечивает быструю первоначальную загрузку даже персонализированных страниц.

Делает клиентские переходы в приложениях с серверным рендерингом мгновенными.

Делает кеширование декларативным и компонуемым, при этом включать его нужно явно.

Эта модель называется Cache Components, и в Next.js 17 она будет использоваться по умолчанию.

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

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

Начиная с Next.js 16.4, мы с уверенностью рекомендуем Cache Components как лучший выбор для любого приложения на Next.js.

Читать далее

Как я два месяца отдавал Яндексу пустую страницу: SSR на Laravel + Inertia на shared-хостинге

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

Сделал калькулятор налога для самозанятых на Laravel + Inertia + Vue с SSR и выложил на обычный shared-хостинг. Сам калькулятор написал за пару вечеров. Всё остальное время ушло на то, чтобы поисковики увидели сайт так же, как браузер.

За два месяца: SSR-демон падал с EPERM, порт оказывался занят «через раз», главная месяц уходила в кэш пустой страницей, а проверка SSR в CI была зелёной, потому что не могла упасть в принципе. Плюс месяц блокировки хостером, о которой я не знал, и фильтр «малоценных страниц» от Яндекса.

Разбираю грабли по порядку — может, кому-то это сэкономит месяц.

Читать далее

Переезд с Webflow на Next.js по одной странице: Payload CMS, next-intl и проверки в CI

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

Корпоративный сайт на пяти языках: около сотни страниц, блог, новости и 100–150 тысяч пользователей в месяц. Два года он жил на Webflow. Переезд на Next.js 15 и Payload CMS сейчас на финишной прямой, и шёл он без дня Х: страница за страницей, на одном домене со старым сайтом.

Разбираю, как это устроено. Счёт Webflow по строкам, Next.js под /app на Webflow Cloud и 301-редиректы с пятью локалями, перенос CMS-коллекций в Lexical, next-intl и проверки в CI, которые ловят то, что раньше находил только дизайнер через месяц.

Как это устроено

Что отвалится у вашего сайта, если завтра отключат иностранные сервисы. Проверил 50 сайтов

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

Мне стало интересно, насколько российские сайты в 2026 году ещё зависят от зарубежных сервисов. Не в смысле «пользуется ли компания Zoom», а буквально: что сломается у сайта, если завтра иностранный провайдер отключит российских клиентов.

Я написал открытую утилиту и прогнал через неё 50 сайтов: банки, магазины, операторов связи, авиакомпании, госорганы. Спойлер: серверы почти все уже перевезли, а вот сертификаты, аналитика и шрифты остались. Рассказываю, что нашлось, как устроена проверка и как одна регулярка повесила всю программу.

Читать далее

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

История HTML и CSS. Какие элементы и свойства ушли навсегда

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

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

Многие люди с интересом относятся к истории. Читают книги, рассматривают архитектуру городов, смотрят фильмы времени наших родителей. Мне кажется, веб достиг периода, когда мы можем с интересом поговорить о прошлом HTML и CSS.

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

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

Читать далее

Распределённые блокировки в Multi-DC: как перестать дублировать CronJobs

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

Представьте: вы настроили CronJob, протестировали локально и выкатили в продакшн. Всё работает как часы. А потом решили добавить отказоустойчивости и развернули приложение во втором дата‑центре. И внезапно ваша задача начала выполняться дважды. Это не баг Kubernetes, а фундаментальная проблема синхронизации.

Меня зовут Тимофей Салтымаков, я бэкенд‑разработчик в Точка Банк. В статье расскажу, как мы решили проблему дублирующихся CronJob'ов в распределённой системе. Прошли путь от advisory locks до собственной библиотеки, и в итоге поняли, что нужно перестать синхронизировать процессы и начать синхронизировать... время. Поехали!

Читать далее

Находки в опенсорсе: мир питона за сентябрь 2026

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

Вот и наступила золотая осень!

В сентябре я каждый день почему-то вспоминал поговорку “от работы дохнут кони, ну а я бесмертный пони”. Сделано было просто куча всего! Новые релизы, библиотеки, крутые фичи, доклад на конференции. А еще наше сообщество сделало кучу интересных проектов в опенсорсе.

С меня как всегда статья без нейрослопа и ИИ, с вас как всегда интересные комментарии и лайки! А вот тут ссылка на прошлый дайджест за август.

Погнали смотреть, что у нас в питоне происходило!

Читать далее

От RTSP-камеры до истории событий: настраиваем видеоаналитику через JavaScript Viewer

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

Привет, Хабр! В первой статье я разбирал внутреннее устройство real-time-конвейера на C++20: почему медленный YOLO не должен останавливать RTSP и зачем между этапами нужны ограниченные слоты последнего значения. Теперь посмотрим на ту же систему с другой стороны — глазами пользователя, который подключает камеру и должен получить не просто видео с рамками, а управляемый и проверяемый результат.

Я покажу практический порядок настройки своей платформы видеоаналитики через браузерный JavaScript Viewer: от стабильного потока и детектора движения до постоянных ID, двух контуров YOLO и истории событий в PostgreSQL. Главный вопрос статьи — не «где находится кнопка», а «какой участок конвейера меняет этот параметр и как проверить эффект».

Читать далее

Как я подключил MAX и VK к Chatwoot: разбираем двусторонний мост

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

После моей статьи о рабочем месте репетитора в Chatwoot в комментариях закономерно спросили не о календаре и не о Jitsi, а о детали, которую я тогда почти не показал: как именно сообщения из MAX и VK попадают в Chatwoot и как ответ возвращается обратно.

Короткий ответ: это не скрапинг веб-версий и не автоматизация личных аккаунтов. MAX у меня подключён через официального бота, VK — через сообщения сообщества. Между ними и двумя API inbox в Chatwoot работает небольшой сервис на Node.js.

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

Читать далее

От орбитальных данных до 3D‑орбиты в браузере: как я делал интерактивную карту спутников

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

Вы тоже стали чаще замечать движущиеся светящиеся точки на небе? Небо ожило даже для простых наблюдателей с земли. Я разработчик со стажем 7+ лет, а в космической отрасли работаю около 3-х, и скажу вам, цифры меня самого пугают - 8 лет назад вокруг Земли работало примерно 1950 спутников. Сейчас их порядка 16 тысяч. А в месте с [отслеживаемым] мусором 47 тысяч.

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

Читать далее

Голосовой робот для записи в салон красоты

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

В салонах красоты администраторы вручную обрабатывают записи клиентов к специалистам. Если сотрудник занят или отлучился, пропущенный звонок превращается в упущенную выручку.

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

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