
Как я собрал новостной агрегатор HypeNet на Cloudflare Workers + Supabase и что пошло не так
smotiks 29 минут назад Как я собрал новостной агрегатор HypeNet на Cloudflare Workers + Supabase и что пошло не так Простой 8 мин 863 JavaScript * Облачные сервисы * Кейс Из песочницы Привет, Хабр!За последние пару...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. smotiks 29 минут назад Как я собрал новостной агрегатор HypeNet на Cloudflare Workers + Supabase и что пошло не так Простой 8 мин 863 JavaScript * Облачные сервисы * Кейс Из песочницы Привет, Хабр! За последние пару месяцев я собрал новостной агрегатор — парсинг RSS, API, кэширование, фронтенд. Всё на бесплатных инструментах, без единого сервера.
Звучит красиво, но по дороге я наступил на столько граблей, что хватит на отдельную статью. Зачем ещё один агрегаторМне хотелось собрать в одном месте новости из российских СМИ — без рекламы, без кликбейтных врезок, без автоплея видео. Просто лента: заголовок, текст, источник, время.
Технические детали
Открыл — прочитал — закрыл. Второй мотив — чисто инженерный. Хотелось проверить, можно ли построить полноценный бэкенд вообще без сервера.
Не «почти без сервера», а буквально: ни одного процесса, который бы крутился 24/7 и ждал запросов. СтекВ итоге архитектура выглядит так:Cloudflare Workers — вся бизнес‑логика: парсинг RSS‑лент, REST API для фронтенда, инвалидация кэшаSupabase — PostgreSQL для хранения новостей, таблица источников, Supabase Auth для авторизации пользователейCloudflare Cache API — кэширование ответов API на edgeVPS — только для раздачи статических файлов фронтендаЧистый HTML + Vanilla JS — никаких фреймворков, сборщиков и билд‑процессовПоток данных простой:Cron (каждые 15 мин) → Worker парсит 26 RSS-лент → очищает данные → → сохраняет в Supabase → инвалидирует кэш Пользователь открывает сайт → fetch к Worker API → → Worker проверяет Cache API → если кэш свежий — отдаёт мгновенно → → если нет — идёт в Supabase → кэширует → отдаёт Парсинг: регулярки вместо DOM‑парсераCloudflare Workers — это V8-изолят без полноценного DOM API. Нет DOMParser, нет cheerio, нет xmldom без дополнительных зависимостей.
Первая мысль была подтянуть npm‑пакет, но Workers имеют ограничение на размер скрипта (1 МБ на бесплатном плане), и тащить туда тяжёлые парсеры не хотелось. Поэтому XML разбирается регулярными выражениями. Да, я знаю что «нельзя парсить XML регулярками».
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





