<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все статьи подряд / Веб-разработка / Хабр]]></title>
    <link>https://habr.com/ru/hubs/webdev/articles/</link>
    <description><![CDATA[Веб-разработка – делаем веб лучше]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Thu, 09 Jul 2026 18:41:55 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Можно ли продвигать коммерческий сайт на Tilda в 2026 году]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057660/</guid>
      <link>https://habr.com/ru/articles/1057660/?utm_campaign=1057660&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e9b/ed5/c39/e9bed5c39642699830abdddeab9a38fb.jpeg" /><p> Сайт на Тильде может получать поисковый трафик. </p><p>В 2026 году это уже странно доказывать: в выдаче достаточно проектов на конструкторах, у которых индексируются страницы, растут запросы, приходят заявки. </p><p>Поэтому вопрос лучше ставить практичнее: в каких случаях Тильда выдерживает SEO-задачу, а в каких начинает мешать работе.</p> <a href="https://habr.com/ru/articles/1057660/?utm_campaign=1057660&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 18:22:11 GMT</pubDate>
      <dc:creator><![CDATA[marmeladigital]]></dc:creator>
      
      <category><![CDATA[Тильда]]></category><category><![CDATA[SEO]]></category><category><![CDATA[коммерческий сайт]]></category><category><![CDATA[индексация]]></category><category><![CDATA[поисковое продвижение]]></category><category><![CDATA[каталог]]></category><category><![CDATA[пагинация]]></category><category><![CDATA[canonical]]></category><category><![CDATA[дубли страниц]]></category><category><![CDATA[структура сайта]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы съездили в Японию и запустили Пополаму — сервис, который знает кто кому должен]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057626/</guid>
      <link>https://habr.com/ru/articles/1057626/?utm_campaign=1057626&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/fec/45f/02c/fec45f02cae123890a3643ea6bec9ee7.jpg" /><p>Перед совместной поездкой всегда кажется, что&nbsp;главные вопросы&nbsp;— это билеты, жильё и маршрут. Но&nbsp;если вы едете компанией, есть ещё один вопрос, который почти всегда всплывает уже по&nbsp;ходу дела и особенно по&nbsp;окончании поездки: <strong>кто кому и сколько должен</strong>?</p><p>Более года назад мы готовились к&nbsp;поездке в&nbsp;Японию 🇯🇵. Нас&nbsp;было 6&nbsp;человек и встал логичный вопрос: в&nbsp;чем будем вести учет общих расходов? Казалось&nbsp;бы, в 2024–2025&nbsp;годах это давно решенная проблема, но&nbsp;на&nbsp;практике всё оказалось максимально неудобно, а&nbsp;делить на&nbsp;всех&nbsp;было&nbsp;бы не&nbsp;очень честно&nbsp;— кто‑то платил за&nbsp;отель, кто то за&nbsp;такси, другой постоянно закрывал счет в&nbsp;барах, хотя брал там только салат и так далее</p><p>Поездка в&nbsp;Японию и давняя идея сделать продукт для&nbsp;деления расходов сподвигли нас запустить <strong><a href="http://popolama.com/" rel="noopener noreferrer nofollow">Popolama</a> </strong>— сервис про&nbsp;людей и деньги. </p> <a href="https://habr.com/ru/articles/1057626/?utm_campaign=1057626&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 16:41:49 GMT</pubDate>
      <dc:creator><![CDATA[inspired_xy]]></dc:creator>
      
      <category><![CDATA[приложение]]></category><category><![CDATA[ии]]></category><category><![CDATA[финансы]]></category><category><![CDATA[финтех]]></category><category><![CDATA[финтех стартапы]]></category><category><![CDATA[стартап]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Чат для сложных продаж: YandexGPT и звонки через МТС Exolve Web Voice SDK]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/exolve/articles/1056706/</guid>
      <link>https://habr.com/ru/companies/exolve/articles/1056706/?utm_campaign=1056706&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/361/a45/971/361a45971595efcfdca33681ecd015ab.png" /><p>Привет, Хабр!</p><p>Чат-бот может быстро ответить на типовые вопросы о товаре, стоимости или доступных вариантах. Но в сложных продажах часть диалогов неизбежно доходит до вопросов, которые удобнее обсудить с человеком: подобрать условия, сравнить несколько предложений, уточнить детали оплаты или принять решение прямо сейчас.</p><p>В такой момент пользователю важно дать простой способ перейти от переписки к разговору, не заставляя его искать номер телефона, оставлять заявку и ждать обратного звонка.</p><p>В статье соберём чат, который отвечает на вопросы по выбранному туристическому направлению, оценивает контекст диалога и при подходящем сценарии предлагает позвонить менеджеру прямо из браузера.</p><p>Стек: FastAPI, Pydantic, requests, YandexGPT, Vite и Web SDK МТС Exolve.</p> <a href="https://habr.com/ru/articles/1056706/?utm_campaign=1056706&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 16:11:09 GMT</pubDate>
      <dc:creator><![CDATA[Katner (Exolve)]]></dc:creator>
      
      <category><![CDATA[yandexgpt]]></category><category><![CDATA[pydantic]]></category><category><![CDATA[fastapi]]></category><category><![CDATA[exolve web sdk]]></category><category><![CDATA[web chat]]></category><category><![CDATA[продажи]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Вышел TypeScript 7.0]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057560/</guid>
      <link>https://habr.com/ru/articles/1057560/?utm_campaign=1057560&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0df/335/111/0df33511184072ec999574670b216e54.jpg" /><p>Сегодня мы с гордостью объявляем о выходе TypeScript 7 — нативной версии TypeScript, которая работает в 10 раз быстрее!</p><p>С самых первых дней TypeScript обещал сделать JavaScript масштабируемым. Добавив в мир JavaScript строгую проверку типов и мощные инструменты разработки, TypeScript позволил создавать сложные качественные приложения для разных платформ.</p> <a href="https://habr.com/ru/articles/1057560/?utm_campaign=1057560&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 14:01:10 GMT</pubDate>
      <dc:creator><![CDATA[qmzik]]></dc:creator>
      
      <category>typescript</category><category>frontend</category><category>javascript</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[JSX для Go: как маленькая разметка потянула за собой рантайм, компилятор и кучу компромиссов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057508/</guid>
      <link>https://habr.com/ru/articles/1057508/?utm_campaign=1057508&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4d7/edf/851/4d7edf851c8a424835dee8f114e2e372.webp" /><p>Я не&nbsp;начинал с&nbsp;идеи написать «убийцу JavaScript». Честно говоря, такие заявления обычно только мешают думать.</p><p>Сначала&nbsp;была гораздо более скромная мысль: мне нравится Go, мне нравится его простота, типизация и ощущение предсказуемого инструмента. Но&nbsp;когда дело доходит до&nbsp;интерактивного веб‑интерфейса, почти неизбежно оказываешься в&nbsp;другой вселенной: JavaScript, Node.js, сборщики, плагины, отдельная модель компонентов, отдельная экосистема.</p><p>Это нормально. Веб таким стал не&nbsp;случайно. Но&nbsp;мне&nbsp;было интересно проверить другую гипотезу: можно&nbsp;ли писать заметную часть браузерного приложения на&nbsp;Go, не&nbsp;превращая интерфейс в&nbsp;кашу из&nbsp;ручной сборки дерева узлов?</p><p>Так появился мой небольшой экспериментальный проект GoFrame. Сейчас это не&nbsp;готовый фреймворк для&nbsp;продакшена, а&nbsp;исследование в&nbsp;сторону Go‑first подхода для&nbsp;браузера через WebAssembly: маленький рантайм, JSX‑подобная разметка <code>.gox</code>, компиляция этой разметки в&nbsp;обычный Go‑код и утилита <code>goxc</code>, которая способна сгенерировать, собрать и упаковать приложение. В&nbsp;README проекта это прямо описано как&nbsp;экспериментальный Go‑first фреймворк и набор инструментов для&nbsp;интерактивных браузерных приложений на&nbsp;WebAssembly; там&nbsp;же честно указано, что&nbsp;проект не&nbsp;заявляет готовность к&nbsp;продакшену, стабильный API 1.0, SSR, гидратацию, серверные API, форматтер или&nbsp;LSP.</p><p>В&nbsp;этой статье я не&nbsp;хочу пересказывать ридми. Интереснее другое: как&nbsp;маленькая идея «а что&nbsp;если сделать JSX для&nbsp;Go?» довольно&nbsp;быстро потянула за&nbsp;собой компилятор, компонентную идентичность, состояния, эффекты, маршрутизацию, проверки в&nbsp;браузере и даже бюджет размера WebAssembly‑бандла.</p> <a href="https://habr.com/ru/articles/1057508/?utm_campaign=1057508&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">К рантайму и компромиссам</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 12:35:51 GMT</pubDate>
      <dc:creator><![CDATA[graybuton]]></dc:creator>
      
      <category><![CDATA[Go]]></category><category><![CDATA[Golang]]></category><category><![CDATA[WebAssembly]]></category><category><![CDATA[WASM]]></category><category><![CDATA[JSX]]></category><category><![CDATA[frontend]]></category><category><![CDATA[UI]]></category><category><![CDATA[компилятор]]></category><category><![CDATA[open source]]></category><category><![CDATA[GoFrame]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я сделал идеальную карту для GTA San Andreas в браузере при помощи моего движка]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057352/</guid>
      <link>https://habr.com/ru/articles/1057352/?utm_campaign=1057352&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2bc/5c2/4ee/2bc5c24ee6ddc68853b53b7ca2557e76.jpg" /><p>Это продолжение моей статьи о том, как я сделал движок совместимый с GTA San Andreas для запуска в браузере, рекомендую сначала прочитать:</p><p><a href="https://habr.com/ru/articles/1051828/" rel="noopener noreferrer nofollow">https://habr.com/ru/articles/1051828/</a></p><p>А здесь речь пойдёт о том, как я готовил идеальную карту и фиксил легаси-баги игры.</p> <a href="https://habr.com/ru/articles/1057352/?utm_campaign=1057352&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 09:21:42 GMT</pubDate>
      <dc:creator><![CDATA[AlexSergey]]></dc:creator>
      
      <category><![CDATA[GTA]]></category><category><![CDATA[react]]></category><category><![CDATA[three.js]]></category><category><![CDATA[3d]]></category><category><![CDATA[san andreas]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Веб против мобильных устройств: что в опасности? Сравнение безопасности в двух разных мирах]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057192/</guid>
      <link>https://habr.com/ru/articles/1057192/?utm_campaign=1057192&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/fe1/a6e/6d6/fe1a6e6d6fff9d11d72d10576fac3e64.jpeg" /><p><em>Спойлер: оба находятся в опасности, но по-разному. Эта разница имеет значение.</em></p><p>Я не собирался сравнивать веб и мобилку как две враждующие платформы.</p><p>Меня всегда больше цеплял другой момент: в проектах они часто выглядят как разные продукты, а ломаются через один и тот же бэкенд.</p><p>На вебе можно спрятать админку за условием в JavaScript и решить, что доступ закрыт. В мобилке можно положить токен в SharedPreferences и надеяться, что до него никто не доберется. Можно оставить открытый бакет, отключить нормальные правила Firebase, забыть про rate limit на логине или принять userId из тела запроса.</p><p>Все это выглядит как мелочи, пока приложение работает.</p><p>Проблема начинается там, где клиент перестает быть интерфейсом и становится поверхностью атаки. В браузере злоумышленник давит на сервер через запросы, куки, DOM и XSS. В мобилке он может разобрать само приложение, вытащить ключи, перехватить трафик, изменить APK и посмотреть, что команда случайно отправила пользователю вместе с релизом.</p><p>Разбираем: где веб и мобильная безопасность совпадают; где расходятся; почему общий API часто опаснее конкретного клиента и какие решения действительно закрывают риски, а какие только создают ощущение защиты.</p> <a href="https://habr.com/ru/articles/1057192/?utm_campaign=1057192&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 08:28:14 GMT</pubDate>
      <dc:creator><![CDATA[inova99]]></dc:creator>
      
      <category><![CDATA[OWASP]]></category><category><![CDATA[OWASP Top 10]]></category><category><![CDATA[OWASP Mobile]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[веб-безопасность]]></category><category><![CDATA[мобильная безопасность]]></category><category><![CDATA[безопасность веб-приложений]]></category><category><![CDATA[безопасность мобильных приложений]]></category><category><![CDATA[бэкенд]]></category><category><![CDATA[безопасность бэкенда]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Frontend CTF, или Как связаны Мона Лиза и искусственный интеллект]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yandex/articles/1051050/</guid>
      <link>https://habr.com/ru/companies/yandex/articles/1051050/?utm_campaign=1051050&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/893/fe6/807/893fe6807bc3fa985643fd9cae421328.png" /><p>Привет, Хабр! Меня зовут Никита, и я один из тех, кто каждый год делает Frontend CTF в рамках конференции «Я 💛 Фронтенд». Сегодня хочу с вами поделиться, как и зачем мы ежегодно делаем соревнование для тех, кто любит пробираться сквозь загадки, секреты и спрятанные подсказки в браузерной игре.</p> <a href="https://habr.com/ru/articles/1051050/?utm_campaign=1051050&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 07:02:50 GMT</pubDate>
      <dc:creator><![CDATA[DarkMeFoDy (Яндекс)]]></dc:creator>
      
      <category><![CDATA[frontend]]></category><category><![CDATA[ctf]]></category><category><![CDATA[загадки]]></category><category><![CDATA[программирование]]></category><category><![CDATA[конференции]]></category><category><![CDATA[игры для программистов]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Создание цветовой темы с помощью light-dark(), contrast-color() и запросов стилей]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056342/</guid>
      <link>https://habr.com/ru/articles/1056342/?utm_campaign=1056342&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/492/42b/56f/49242b56fde78a791afcdac7e1f786ed.png" /><p>В этом небольшом туториале я покажу вам, как с помощью нескольких новых возможностей CSS можно создать действительно прикольную динамичную систему тематизации (theming). Эта техника позволяет создавать тематизированные компоненты с тенями в светлом режиме и светящимися границами в темном режиме, с текстом, который всегда остается читаемым, независимо от динамичного цвета его фона. Все на CSS. Доступно во всех современных браузерах с мая 2026 года.</p> <a href="https://habr.com/ru/articles/1056342/?utm_campaign=1056342&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 09 Jul 2026 06:36:51 GMT</pubDate>
      <dc:creator><![CDATA[aio350]]></dc:creator>
      
      <category>css</category><category>webdev</category><category>theme</category><category>theming</category><category>color</category><category>тема</category><category>тематизация</category><category>цвет</category><category>new features</category><category>новые возможности</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Вайб-кодинг без розовых очков: как я писала свой продукт с Claude]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057200/</guid>
      <link>https://habr.com/ru/articles/1057200/?utm_campaign=1057200&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/73b/8d1/9b0/73b8d19b0acfe5043dfbed15e769d1ec.png" /><p>Маленький дисклеймер на входе</p><p>Я не разработчик. Я тимлид аналитиков, последние десять лет делала продукты руками других людей: писала ТЗ, гоняла команды, защищала проекты перед бизнесом. Я знаю как <strong>должно</strong> быть устроено приложение, но если попросить меня самой написать функцию — сделаю круглые глаза.</p><p>В этом году я решила, что хватит уже это терпеть. Тренд на «вайбкодинг» — когда ты разговариваешь с нейросетью, а она пишет код — звучал так, будто наконец-то можно без команды собрать проект самой. Пишешь: «хочу сервис, который собирает все семейные платежи в одном календаре» — и через день у тебя задеплоенный MVP с регистрацией, импортом PDF, авто-привязкой чеков к платежам и календарной подпиской.</p><p>Спойлер: <strong>да, это работает</strong>. Реально работает. У меня сейчас на проде живой сервис Бытовые счета, он умеет всё перечисленное выше плюс ещё много чего, и я там написала ровно ноль строк кода руками. Всё — через Claude Code, IDE-расширение от Anthropic.</p><p>Спойлер номер два: <strong>там, где всё идёт по плану, вайбкодинг — магия</strong>. Там, где ломается — оно превращается в очень специфический жанр квеста, в котором тебе сильно помогает базовое аналитическое мышление и мешают розовые очки.</p> <a href="https://habr.com/ru/articles/1057200/?utm_campaign=1057200&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 08 Jul 2026 17:51:52 GMT</pubDate>
      <dc:creator><![CDATA[Mamalytic]]></dc:creator>
      
      <category><![CDATA[разработка с ии]]></category><category><![CDATA[ии-ассистент]]></category><category><![CDATA[next.js]]></category><category><![CDATA[pwa]]></category><category><![CDATA[llm]]></category><category><![CDATA[claude]]></category><category><![CDATA[claude code]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[вайб-программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Монитор для отслеживания упоминаний бренда на сторонних площадках]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1057142/</guid>
      <link>https://habr.com/ru/articles/1057142/?utm_campaign=1057142&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3a1/9ec/d0e/3a19ecd0e5911f8348cafc128a959764.jpeg" /><p>Одно время я достаточно плотно занялся таким вопросом, как отслеживание упоминаний бренда или околобрендовых запросов, так как работал на позиции, подразумевающей подобную деятельность.&nbsp;</p><p>Проблема правда заключалась в том, что сама позиция подразумевала такое отслеживание, а собственник бизнеса не подразумевал этого. Он считал, что лишние действия вредят бюджету компании, а так как он в одном лице был и собственником и менеджером и выгодоприобретателем, то и его личному бюджету такие действия вредили в первую очередь. Деньги, которые могли быть потрачены на новый Iphone не должны уходить в карман владельцам других площадок. Они же уже заработаны, значит они его.&nbsp;</p> <a href="https://habr.com/ru/articles/1057142/?utm_campaign=1057142&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 08 Jul 2026 14:55:01 GMT</pubDate>
      <dc:creator><![CDATA[alex_webfolio]]></dc:creator>
      
      <category><![CDATA[мониторинг ключевых слов]]></category><category><![CDATA[упоминание бренда]]></category><category><![CDATA[скрипт]]></category><category><![CDATA[гитхаб]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[DS MCP: как дать AI-агенту знание о вашей дизайн-системе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/X5Tech/articles/1051322/</guid>
      <link>https://habr.com/ru/companies/X5Tech/articles/1051322/?utm_campaign=1051322&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/545/41c/146/54541c1465cc67ee17650481a27b75cc.png" /><p>Статья про то, как AI-агенту дали знание о дизайн-системе, чтобы он перестал придумывать несуществующие компоненты и начал верстать из того, что реально есть в проекте.</p><p>Закрываем очень практичную боль: агент видит макет, умеет писать код, но не понимает, какими компонентами из вашего проекта этот экран нужно собирать.</p><p>Внутри: Figma MCP, свой DS MCP, React, Jetpack Compose и SwiftUI, поиск по компонентам, ChromaDB, RAG, embeddings, препроцессор для описания дизайн-системы, грабли с чтением файлов, шумом в контексте, устаревающим SKILL.md и честное сравнение подходов по tool calls, токенам и результату.</p><p>Заходите, читайте и рассказывайте, как вы решаете эту проблему у себя ❤️</p> <a href="https://habr.com/ru/articles/1051322/?utm_campaign=1051322&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 08 Jul 2026 09:00:12 GMT</pubDate>
      <dc:creator><![CDATA[HarperJr (X5 Tech)]]></dc:creator>
      
      <category><![CDATA[mcp]]></category><category><![CDATA[ai-агенты]]></category><category><![CDATA[дизайн-система]]></category><category><![CDATA[figma mcp]]></category><category><![CDATA[ds mcp]]></category><category><![CDATA[rag]]></category><category><![CDATA[chromadb]]></category><category><![CDATA[генерация верстки]]></category><category><![CDATA[векторный поиск]]></category><category><![CDATA[frontend]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я случайно создал голосовой чат, который невозможно прослушать]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056888/</guid>
      <link>https://habr.com/ru/articles/1056888/?utm_campaign=1056888&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/30a/039/1d6/30a0391d6bab3bdf376ac37362b7b4e2.png" /><p>Я не пытался сделать «приватный мессенджер» и вообще не думал про слежку и прослушку. </p><p>В один день мне просто надоело, что созвониться с человеком — это настоящая проблема: блокировки, включи-выключи VPN, а любой новый аналог встречает регистрацией с десятком полей — а теперь местами ещё и просьбой показать паспорт. <br>За ночь я собрал прототип голосового чата по принципу «ничего лишнего» — и уже потом с удивлением понял, что этот же принцип случайно сделал разговор в нём таким, что подслушать его со стороны физически негде. </p><p>Ниже — как так получилось, где у этой «невозможности» честные границы, и почему всё держится на одном-единственном решении.  </p> <a href="https://habr.com/ru/articles/1056888/?utm_campaign=1056888&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Как так вышло?</a>]]></description>
      
      <pubDate>Wed, 08 Jul 2026 08:57:12 GMT</pubDate>
      <dc:creator><![CDATA[jettsba]]></dc:creator>
      
      <category><![CDATA[WebRTC]]></category><category><![CDATA[P2P]]></category><category><![CDATA[голосовой чат]]></category><category><![CDATA[голосовой чат без регистрации]]></category><category><![CDATA[альтернатива Discord]]></category><category><![CDATA[приватность]]></category><category><![CDATA[Node.js]]></category><category><![CDATA[VoIP]]></category><category><![CDATA[perfect negotiation]]></category><category><![CDATA[mesh]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Полный гайд по JavaScript-коду отслеживания в Matomo. Часть 1]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056702/</guid>
      <link>https://habr.com/ru/articles/1056702/?utm_campaign=1056702&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a28/310/519/a28310519310440a8564b3829571b11b.png" /><p>В прошлых статьях я уже подробно разобрал базовую инфраструктуру Matomo:&nbsp;как развернуть систему&nbsp;на собственном сервере LAMP, рассчитать нагрузку,&nbsp;выстроить правильную архитектуру сайтов, measurable и Roll-Up аналитики внутри Matomo. Но вся эта серверная часть&nbsp;— только фундамент.&nbsp; </p><p>И сегодня мы наконец переходим к самому важному слою Matomo&nbsp;— tracking-коду и архитектуре отслеживания пользовательских действий. </p> <a href="https://habr.com/ru/articles/1056702/?utm_campaign=1056702&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 08 Jul 2026 06:45:59 GMT</pubDate>
      <dc:creator><![CDATA[vladislav_lukashenko]]></dc:creator>
      
      <category><![CDATA[matomo]]></category><category><![CDATA[matomo tag manager]]></category><category><![CDATA[javascript]]></category><category><![CDATA[google tag manager]]></category><category><![CDATA[gtm]]></category><category><![CDATA[яндекс тег менеджер]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пускать нельзя блокировать: приносят ли ИИ-чат боты клиентов на Ваш сайт? Как ИИ ассистенты посещают сайт…]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056760/</guid>
      <link>https://habr.com/ru/articles/1056760/?utm_campaign=1056760&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/024/4a2/4dc/0244a24dc8dfdaaed1e57d6b8b7a892b.jpeg" /><p>Современный пользователь всё чаще <strong>сидит внутри интерфейса чат-бота</strong>. ИИ сам анализирует тонны информации, посещая сайты по нужной теме, выжимает из них самую суть и выдает емкий ответ. Удобно? <strong>Да!</strong> Полезно для владельцев сайтов? <strong>Спорно.. </strong></p><p><strong>Блокировать ИИ ботов </strong>или<strong>, наоборот, разрешать вход и получать с этого трафик и выгоду?</strong></p><p>Делюсь своим исследованием и полученным опытом, <strong>надеюсь материал будет кому-то полезным</strong> и Вы примените этот опыт на своих ресурсах.</p> <a href="https://habr.com/ru/articles/1056760/?utm_campaign=1056760&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 21:04:58 GMT</pubDate>
      <dc:creator><![CDATA[ebye]]></dc:creator>
      
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[ии боты]]></category><category><![CDATA[perplexity]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[grok]]></category><category><![CDATA[deepseek]]></category><category><![CDATA[фильтрация сайта]]></category><category><![CDATA[защита сайта от ботов]]></category><category><![CDATA[разрешить ИИ ботов на сайте]]></category><category><![CDATA[AI боты на сайте]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пожалуйста, используйте эти CSS медиа-фукции]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ruvds/articles/1054454/</guid>
      <link>https://habr.com/ru/companies/ruvds/articles/1054454/?utm_campaign=1054454&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/881/358/caf/881358cafeb495bc763b9f25850139c2.png" /><p>Привет, Хабр!</p><p>Я начал использовать медиа-запросы ещё в 2011 году. Помню, как на работе руководитель подарил мне книгу Итана Маркотта «Отзывчивый веб-дизайн». В тот день я даже не работал, а сел читать её. В конце дня я сделал свою первую реализацию адаптивной вёрстки.</p><p>С того времени мне всегда интересно следить за появлением новых возможностей в CSS, которые помогают стилизовать приложение в зависимости от параметров устройства. Это позволяет мне принимать более лучшие решения по адаптации интерфейсов под требования пользователей.</p><p>К моему сожалению, я часто вижу, что большинство из этих возможностей неизвестны фронтендерам. Я хочу это попытаться исправить. Сегодня расскажу вам о пяти медиа-функциях, которые можно очень легко внедрить в существующий проект.</p><p>Давайте посмотрим, что я вам подготовил.</p> <a href="https://habr.com/ru/articles/1054454/?utm_campaign=1054454&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 16:01:56 GMT</pubDate>
      <dc:creator><![CDATA[melnik909 (RUVDS.com)]]></dc:creator>
      
      <category><![CDATA[css]]></category><category><![CDATA[ruvds_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Angular против React: зарплаты, кризис в IT и почему корпорации остаются на Angular]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056564/</guid>
      <link>https://habr.com/ru/articles/1056564/?utm_campaign=1056564&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/43e/6a9/3b4/43e6a93b491327f74a36062e08f4041f.jpg" /><p>Angular часто воспринимают как тяжёлый корпоративный фреймворк «из прошлого»: сложный вход, много правил, меньше хайпа, чем у React. Но за последние годы фреймворк заметно изменился: появились сигналы, обновился SSR, стало проще начинать, а экосистема перестала быть закрытым «котлом» только для энтерпрайза.</p><p>Я, Александр, автор телеграм-канала «<a href="https://t.me/shulepov_codeee" rel="noopener noreferrer nofollow">Shulepov Code</a>», поговорил с Олегом Щёголевым — frontend-разработчиком, преподавателем, ментором и специалистом по Angular автором Telegram-канала «<a href="https://t.me/summon_the_coder" rel="noopener noreferrer nofollow">SUMMON_THE_CODER</a>».&nbsp;&nbsp; &nbsp;</p><p>В этом выпуске мы разбираем путь в профессию, реальные проекты, ситуацию на рынке труда, зарплаты, использование нейросетей в разработке, статус GDE, современный Angular, сигналы, SSR, CLI, директивы, модули и главный вопрос: почему React популярнее, но крупные компании всё равно продолжают выбирать Angular.</p> <a href="https://habr.com/ru/articles/1056564/?utm_campaign=1056564&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 12:14:16 GMT</pubDate>
      <dc:creator><![CDATA[aleksandr_shulepov]]></dc:creator>
      
      <category><![CDATA[Angular]]></category><category><![CDATA[React]]></category><category><![CDATA[фронтенд разработка]]></category><category><![CDATA[Angular сигналы]]></category><category><![CDATA[SSR Angular]]></category><category><![CDATA[зарплаты разработчиков]]></category><category><![CDATA[карьера в IT]]></category><category><![CDATA[Google Developer Expert]]></category><category><![CDATA[Nx]]></category><category><![CDATA[TypeScript]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Параметризованные отчёты в CSV без таймаута]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056402/</guid>
      <link>https://habr.com/ru/articles/1056402/?utm_campaign=1056402&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0c5/571/7ed/0c55717ed98f7c8486ab2a75ca2e99f4.jpg" /><p>Эта идея появилась у меня давно.</p><p>Когда мы внедряли BI в крупном банке, я заметил одну вещь: больше всего внедрению радовались руководители. У них появлялись дашборды, графики, показатели, визуальная картина происходящего.</p><p>А вот люди, которые каждый день работали с данными, не всегда были в таком же восторге.</p><p>BI хорошо показывает, что что-то изменилось: появилась аномалия, просел показатель, выросло значение, изменилась динамика. Но после этого почти всегда возникает следующий вопрос: почему так произошло?</p><p>И вот тут уже приходится разбираться не с графиком, а с данными.</p><p>Причин может быть много: ошибка, поздняя загрузка, изменение записей задним числом, редкое событие, особенность расчёта. Чтобы это проверить, нужно смотреть строки, сравнивать выгрузки, пересчитывать показатели и иногда просто руками разбирать, что попало в отчёт.</p><p>У финансистов, которые занимались такими разборами, доступ к хранилищу был ограничен. Они не были техническими специалистами, и это нормально. Но при этом именно им нужно было проверять банковские показатели, сверять расчёты и понимать, что изменилось между вчерашней и сегодняшней выгрузкой.</p><p>Для таких задач пользователи всё равно часто уходили в Excel: добавляли формулы, сверяли расчёты, сравнивали текущую выгрузку с предыдущей.  </p><p>Так появилась первая версия программы: она формировала отчёты в Excel и хранила на сервере историю выгрузок.  </p> <a href="https://habr.com/ru/articles/1056402/?utm_campaign=1056402&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 11:58:26 GMT</pubDate>
      <dc:creator><![CDATA[alex_29]]></dc:creator>
      
      <category><![CDATA[csv]]></category><category><![CDATA[bi]]></category><category><![CDATA[выгрузка данных]]></category><category><![CDATA[отчёт]]></category><category><![CDATA[excel]]></category><category><![CDATA[timeout]]></category><category><![CDATA[python]]></category><category><![CDATA[javascript]]></category><category><![CDATA[sql]]></category><category><![CDATA[бизнес-анализ]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Аутентификация в MCP в 2026: как было, как есть и как будет]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056538/</guid>
      <link>https://habr.com/ru/articles/1056538/?utm_campaign=1056538&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0a1/e5d/f8c/0a1e5df8c5f6148a9d2ac53ef0246da7.webp" /><p>Пару лет назад мы масштабно столкнулись с&nbsp;совершенно новой технологией, которая пришла вместе с&nbsp;развитием агентов и LLM&nbsp;— MCP. Она заточена на&nbsp;то, чтобы дать модели интерфейс для&nbsp;общения с&nbsp;какой‑либо системой, программой или&nbsp;сервером. </p><p>Изначально MCP&nbsp;были локальными и скромными: «запусти калькулятор», «проверь календарь», «удали&nbsp;лишние фоточки из&nbsp;галереи». Но&nbsp;очень&nbsp;быстро они доросли до&nbsp;remote‑серверов: вставляешь в&nbsp;Claude адрес своего MCP, и он сразу понимает, что&nbsp;сервер умеет, куда подключаться и как&nbsp;с&nbsp;ним общаться. Большое спасибо за&nbsp;это&nbsp;<a href="https://modelcontextprotocol.io/docs/getting-started/intro" rel="noopener noreferrer nofollow">протоколу</a>, который в&nbsp;ноябре 2024&nbsp;придумали в&nbsp;Anthropic. И как&nbsp;только MCP стал remote, аутентификация перестала&nbsp;быть опциональной. Именно про&nbsp;это сегодня и пойдет речь.</p> <a href="https://habr.com/ru/articles/1056538/?utm_campaign=1056538&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 11:41:02 GMT</pubDate>
      <dc:creator><![CDATA[0ndreu]]></dc:creator>
      
      <category>MCP</category><category>OAuth 2.1</category><category>аутентификация</category><category>авторизация</category><category>RFC 9728</category><category>PKCE</category><category>LLM</category><category>Model Context Protocol</category><category>resource server</category><category>ai-агенты</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Как я навайбкодил каталог бесплатных парковок Петербурга и России]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056262/</guid>
      <link>https://habr.com/ru/articles/1056262/?utm_campaign=1056262&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/22d/23f/c91/22d23fc9119c4050377c83be5f8c09fb.png" /><p>Привет, сообщество! Уже долгое время я отмечал на для себя на карте бесплатные парковочные места в центре города; Этот список быстро начал "ходить по рукам" среди друзей и знакомых. Мне пришла в голову идея, а что если развить "списочек для друзей" в какой-то более общественно полезный проект? И с какими техническими челленджами придется столкнуться при попытке навайбкодить мало-мальски production-ready приложение?</p> <a href="https://habr.com/ru/articles/1056262/?utm_campaign=1056262&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Что было дальше?</a>]]></description>
      
      <pubDate>Tue, 07 Jul 2026 08:31:00 GMT</pubDate>
      <dc:creator><![CDATA[boriswinner]]></dc:creator>
      
      <category><![CDATA[claude]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[sqlite]]></category><category><![CDATA[leaflet]]></category><category><![CDATA[парковка]]></category><category><![CDATA[город]]></category><category><![CDATA[автомобили]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Если я в чем‑то и опытнее всех, так это в активном поиске работы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055966/</guid>
      <link>https://habr.com/ru/articles/1055966/?utm_campaign=1055966&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/46c/da2/d6d/46cda2d6d9892e091f6c420730b0f5dd.png" /><p>В свое время я выбрал не самую востребованную специальность.</p><p>И когда я слышал, что другим пишут надоедливые рекрутеры, я удивлялся и не верил.</p><p>Сейчас, спустя годы, и ко мне рекрутеры иногда сами выходят на связь (ничего себе). Но тогда, в начале, работу я не выбирал, а выцарапывал. В то время я довольно быстро закрыл глаза на качество откликов и включил количество.</p><p>Не знаю, повод ли это для гордости. Но опыт в узкой нише мне это точно дало и научило меня тому, о чем я хочу рассказать.</p> <a href="https://habr.com/ru/articles/1055966/?utm_campaign=1055966&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 06 Jul 2026 09:05:27 GMT</pubDate>
      <dc:creator><![CDATA[Ahtuhka]]></dc:creator>
      
      <category><![CDATA[боты]]></category><category><![CDATA[ии-агенты]]></category><category><![CDATA[поиск работы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От WordPress-сайта до $220 000 в месяц: как два друга сделали сервис для музыкантов и заработали $1,8 млн]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055940/</guid>
      <link>https://habr.com/ru/articles/1055940/?utm_campaign=1055940&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/09c/504/0b3/09c5040b370113366bd2acca4040f09d.png" /><p>Когда говорят про SaaS, чаще всего представляют продукты для бизнеса: системы учета, аналитики или автоматизации бизнеса.</p><p>Но есть проекты, где помимо разработки нужно разбираться в целой индустрии. В нашем случае в музыке, авторских правах, работе стриминговых площадок и потребностях артистов.</p><p>Сегодняшняя история как раз про такой проект.</p><p>Михаил и его партнер Дмитрий запустили сервис музыкальной дистрибуции для независимых артистов. За несколько лет они прошли путь от WordPress-сайта, собранного практически без понимания того, как строятся SaaS-продукты, до компании с двумя инвестиционными раундами, командой из 30 человек и выручкой около $220 000 в месяц.</p><p>Мы поговорили про запуск, ошибки, инвестиции, маркетинг и то, как удалось добиться такого роста.&nbsp;</p> <a href="https://habr.com/ru/articles/1055940/?utm_campaign=1055940&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 06 Jul 2026 08:44:08 GMT</pubDate>
      <dc:creator><![CDATA[its_capitan]]></dc:creator>
      
      <category><![CDATA[стартап]]></category><category><![CDATA[запуск проекта]]></category><category><![CDATA[запуск стартапа]]></category><category><![CDATA[запуск приложений]]></category><category><![CDATA[создание бизнеса]]></category><category><![CDATA[монетизация проекта]]></category><category><![CDATA[сервисы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055928/</guid>
      <link>https://habr.com/ru/articles/1055928/?utm_campaign=1055928&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/617/2f0/1fd/6172f01fd10c78238e275c1d96abb8ae.jpg" /><p>Как работает ядро Joomla 6 на уровне Приложения (Application)? Сколько видов Приложений на самом деле есть в Joomla и в чём между ними разница? Какой жизненный цикл каждого Приложения Joomla, включая роутинг, диспетчеризацию и события плагинов? На эти и другие вопросы попытается дать ответ эта статья, опирающаяся на кодовую базу Joomla 6.1.0. Также в статье хронология вызова триггеров плагинов в разных сценариях.</p><p>👉 Бонус для любопытных читателей: а вы знали, что Joomla можно использовать в качестве daemon-процесса?</p> <a href="https://habr.com/ru/articles/1055928/?utm_campaign=1055928&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать многотекст</a>]]></description>
      
      <pubDate>Mon, 06 Jul 2026 08:28:38 GMT</pubDate>
      <dc:creator><![CDATA[sergeytolkachyov]]></dc:creator>
      
      <category><![CDATA[joomla]]></category><category><![CDATA[joomla 6]]></category><category><![CDATA[joomla application]]></category><category><![CDATA[joomla daemon]]></category><category><![CDATA[joomla cli]]></category><category><![CDATA[joomla rest api]]></category><category><![CDATA[plugin]]></category><category><![CDATA[lifecycle]]></category><category><![CDATA[жизненный цикл приложения]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[База по системному дизайну для начинающих разработчиков ПО на примере. Часть 1. Анализ задачи, декомпозиция, модули]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054184/</guid>
      <link>https://habr.com/ru/articles/1054184/?utm_campaign=1054184&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Эта статья прежде всего будет полезна студентам и начинающим специалистам.</p><p>В отрасли разработки программного обеспечения под системным дизайном (System Design) понимают процесс проектирования архитектуры, компонентов, баз данных и связей информационной системы. Цель системного дизайна - обеспечить масштабируемость, отказоустойчивость и высокую производительность системы, в том числе при росте нагрузки. В этой статье я затрону базовые задачи системного дизайна - как спроектировать и разработать систему так, чтобы она обладала архитектурой, чтобы развитие и поддержка системы не приносила много страданий, чтобы доработки не ломали действующий функционал.</p> <a href="https://habr.com/ru/articles/1054184/?utm_campaign=1054184&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 04 Jul 2026 12:20:46 GMT</pubDate>
      <dc:creator><![CDATA[igor_sheludko]]></dc:creator>
      
      <category><![CDATA[системный дизайн]]></category><category><![CDATA[декомпозиция]]></category><category><![CDATA[модуль]]></category><category><![CDATA[границы модуля]]></category><category><![CDATA[интерфейсы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[HTTP получил метод QUERY: зачем понадобился безопасный запрос с телом]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055310/</guid>
      <link>https://habr.com/ru/articles/1055310/?utm_campaign=1055310&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/967/51e/929/96751e92970933567df45f30b926670f.jpg" /><p>В&nbsp;июне 2026&nbsp;года опубликован <a href="https://www.rfc-editor.org/rfc/rfc10008.html" rel="noopener noreferrer nofollow">RFC 10008</a>&nbsp;— «The HTTP QUERY Method». Он добавил в&nbsp;HTTP <strong>новый стандартизованный метод <code>QUERY</code></strong>, который также появился в <a href="https://www.iana.org/assignments/http-methods/http-methods.xhtml" rel="noopener noreferrer nofollow">реестре HTTP‑методов IANA</a>: запрос с&nbsp;телом к&nbsp;конкретному адресу, который по&nbsp;смыслу остаётся чтением и не&nbsp;должен менять данные на&nbsp;сервере.</p><p>Метод нужен для&nbsp;давно знакомого случая: нужно передать сложные параметры поиска, фильтрации или&nbsp;отчёта, а&nbsp;по&nbsp;семантике это всё ещё безопасная операция чтения. </p><p>Обычный <code>GET</code> для&nbsp;таких запросов часто неудобен: параметры&nbsp;быстро превращаются в&nbsp;длинный URI или&nbsp;в&nbsp;собственный мини‑язык фильтрации внутри строки запроса. <code>POST</code> удобнее для&nbsp;передачи структуры, но&nbsp;передаёт не&nbsp;тот сигнал промежуточной инфраструктуре.</p><p>Приглашаю посмотреть, что&nbsp;там в&nbsp;RFC напридумывали, и чем нам это грозит&nbsp;— и чем поможет!</p> <a href="https://habr.com/ru/articles/1055310/?utm_campaign=1055310&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Что же это за зверь, QUERY?</a>]]></description>
      
      <pubDate>Fri, 03 Jul 2026 21:25:28 GMT</pubDate>
      <dc:creator><![CDATA[achekalin]]></dc:creator>
      
      <category><![CDATA[HTTP]]></category><category><![CDATA[QUERY]]></category><category><![CDATA[RFC 10008]]></category><category><![CDATA[GET]]></category><category><![CDATA[POST]]></category><category><![CDATA[REST API]]></category><category><![CDATA[http методы]]></category><category><![CDATA[http семантика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Настройка AI-агентов для ускорения бизнес процессов компании]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055428/</guid>
      <link>https://habr.com/ru/articles/1055428/?utm_campaign=1055428&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dc7/623/b4f/dc7623b4f50a84f34a85042dd6f0b97a.jpg" /><p>Практический dev-story о том, почему AI-агент для реальной работы - это не чат с моделью, а система из задач, браузеров, проверок, журналов, ограничений и внешних интеграций. На примере публикационного пайплайна: сайты, CMS, соцсети, cron, browser sessions, anti-false-success, CRM, нейросеть, видео контент и SEO-грабли. От настройки до практического применения.</p> <a href="https://habr.com/ru/articles/1055428/?utm_campaign=1055428&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 03 Jul 2026 19:37:46 GMT</pubDate>
      <dc:creator><![CDATA[MaRt765]]></dc:creator>
      
      <category><![CDATA[ии]]></category><category><![CDATA[ии-агенты]]></category><category><![CDATA[ии-ассистент]]></category><category><![CDATA[ии чат-бот]]></category><category><![CDATA[ии-модель]]></category><category><![CDATA[ии помощник]]></category><category><![CDATA[ии агенты]]></category><category><![CDATA[ии-агент]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Народная карта наличия бензина: честно про цифры, архитектуру и как PostGIS прод положил]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055216/</guid>
      <link>https://habr.com/ru/articles/1055216/?utm_campaign=1055216&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d3c/162/d3d/d3c162d3db2f3eefd83124f7d654a722.webp" /><p>Коллеги всем привет, меня зовут Дмитрий Тыльный, я автор проекта <strong><a href="http://gde-benzin.ru" rel="noopener noreferrer nofollow">gde‑benzin.ru</a></strong> <br>Народная карта наличия бензина на&nbsp;АЗС, где водители в&nbsp;реальном времени отмечают, на&nbsp;каких заправках сейчас есть топливо, где очередь, где скоро будет, а&nbsp;где уже все...</p><p>Сразу скажу про&nbsp;спорный момент. На&nbsp;волне топливного дефицита появилось сразу несколько похожих карт, и в&nbsp;комментариях других статей уже считают, «кто у&nbsp;кого скопипастил». </p><p>Мы с «гдебенз» запустились примерно в&nbsp;одно время, если я не&nbsp;путаю, зарегистрировал даже на&nbsp;день раньше домен, но&nbsp;к&nbsp;разработке приступил позже, по&nbsp;личным причинам). </p> <a href="https://habr.com/ru/articles/1055216/?utm_campaign=1055216&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 03 Jul 2026 10:12:02 GMT</pubDate>
      <dc:creator><![CDATA[d_tylnyi]]></dc:creator>
      
      <category><![CDATA[вайбкодинг]]></category><category><![CDATA[бензин]]></category><category><![CDATA[заправки]]></category><category><![CDATA[claude code]]></category><category><![CDATA[стартапы]]></category><category><![CDATA[mvp]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Подвожу итоги: 3 млн рублей на моей детективной игре в Telegram]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1055148/</guid>
      <link>https://habr.com/ru/articles/1055148/?utm_campaign=1055148&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/920/cab/7cd/920cab7cd5c480dd5397b30dbba17721.jpg" /><p>Разбираю, как программист запустил детективную игру, где расследование проходит прямо в Telegram. За полгода он продал 1000+ копий и вывел проект на 3 млн рублей оборота, несмотря на жесткую конкуренцию с настольными играми, квизами и другими детективными развлечениями.</p> <a href="https://habr.com/ru/articles/1055148/?utm_campaign=1055148&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 03 Jul 2026 08:43:04 GMT</pubDate>
      <dc:creator><![CDATA[its_capitan]]></dc:creator>
      
      <category><![CDATA[стартап]]></category><category><![CDATA[запуск проекта]]></category><category><![CDATA[запуск стартапов]]></category><category><![CDATA[запуск приложений]]></category><category><![CDATA[создание бизнеса]]></category><category><![CDATA[монетизация проекта]]></category><category><![CDATA[сервисы]]></category><category><![CDATA[Telegram]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Виртуализация адаптивной Grid разметки]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054576/</guid>
      <link>https://habr.com/ru/articles/1054576/?utm_campaign=1054576&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/996/772/220/996772220ef384fec54143584f12f575.gif" /><p>В этой статье я хочу поделиться своим подходом к решению задачи виртуализации списка элементов неизвестной высоты. Популярные библиотеки решают эту задачу с помощью приблизительных оценочных размеров с последующими замерами и корректировкой. Я хочу описать метод, основанный на привязке индексов к положению скроллбара, который позволяет достаточно точно позиционировать видимый диапазон элементов, при этом, не зная даже приблизительных размеров всех предыдущих элементов, используя только простую математику и родные механизмы позиционирования и разметки браузера.</p><p>С примерами работы на TypeScript, React, Vue и Angular можно ознакомиться на домашней странице проекта <a href="https://itihon.github.io/layout-virtual/" rel="noopener noreferrer nofollow">Layout Virtual</a>.</p><p>Репозиторий с проектом <a href="https://github.com/itihon/layout-virtual" rel="noopener noreferrer nofollow">тут</a>.</p> <a href="https://habr.com/ru/articles/1054576/?utm_campaign=1054576&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 02 Jul 2026 13:04:28 GMT</pubDate>
      <dc:creator><![CDATA[itihon]]></dc:creator>
      
      <category><![CDATA[виртуализация]]></category><category><![CDATA[адаптивная разметка]]></category><category><![CDATA[grid]]></category><category><![CDATA[список]]></category><category><![CDATA[библиотека]]></category><category><![CDATA[алгоритм]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Авторизация по протоколу OAuth 2.0 в интеграциях]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054840/</guid>
      <link>https://habr.com/ru/articles/1054840/?utm_campaign=1054840&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ae6/1ef/f0a/ae61eff0aa2896fddcc495bf46d060ee.png" /><p>В интеграциях с внешними приложениями часто используется протокол OAuth 2.0. В этой статье разбирается практический сценарий: получение&nbsp;<code>access_token</code>, обновление токена, работа с ошибками и использование токена аккаунта для фоновых операций.  </p><p>Статья будет полезна системным аналитикам и backend-разработчикам, которые проектируют интеграции с внешними API, используют OAuth 2.0 и хотят разобраться в практических сценариях — включая фоновые операции.  </p> <a href="https://habr.com/ru/articles/1054840/?utm_campaign=1054840&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 02 Jul 2026 11:21:46 GMT</pubDate>
      <dc:creator><![CDATA[faizovagulshat]]></dc:creator>
      
      <category><![CDATA[oauth2.0]]></category><category><![CDATA[access token]]></category><category><![CDATA[refresh-токены]]></category><category><![CDATA[интеграция]]></category><category><![CDATA[интеграции]]></category><category><![CDATA[авторизация]]></category><category><![CDATA[обновление]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[130 новых пользователей и ни одной покупки: как один промпт чуть не убил бота, который уже принес $1200]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054720/</guid>
      <link>https://habr.com/ru/articles/1054720/?utm_campaign=1054720&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8a8/a64/bbd/8a8a64bbd38504992a3510665bc79947.png" /><p>Разбираю, как девушка без опыта в программировании запустила AI-бота для практики разговорного английского. И за 2,5 месяца заработала $1200, несмотря на высокую конкуренцию.&nbsp;</p> <a href="https://habr.com/ru/articles/1054720/?utm_campaign=1054720&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 02 Jul 2026 08:21:21 GMT</pubDate>
      <dc:creator><![CDATA[its_capitan]]></dc:creator>
      
      <category><![CDATA[стартап]]></category><category><![CDATA[pet-project]]></category><category><![CDATA[запуск проекта]]></category><category><![CDATA[запуск стартапов]]></category><category><![CDATA[монетизация проекта]]></category><category><![CDATA[продвижение проекта]]></category><category><![CDATA[создание бизнеса]]></category><category><![CDATA[бизнес-модель]]></category><category><![CDATA[упрощение подхода]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[DTO, schema, model, entity: почему в коде всё называется User]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054614/</guid>
      <link>https://habr.com/ru/articles/1054614/?utm_campaign=1054614&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2d2/93c/151/2d293c15184148eca3642485f63d2564.png" /><p>Один User сначала кажется удобным: его можно принять в запросе, вернуть из API, сохранить в базу и передать дальше.<br>Но со временем такой класс смешивает разные границы и перестаёт защищать код.</p><p>Разбираю на Python-примерах, чем отличаются DTO, schema, model и entity — и когда отдельные классы действительно нужны. </p> <a href="https://habr.com/ru/articles/1054614/?utm_campaign=1054614&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 01 Jul 2026 21:57:54 GMT</pubDate>
      <dc:creator><![CDATA[alwaysdeterminated]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[backend]]></category><category><![CDATA[api]]></category><category><![CDATA[dto]]></category><category><![CDATA[pydantic]]></category><category><![CDATA[sqlalchemy]]></category><category><![CDATA[архитектура]]></category><category><![CDATA[orm]]></category><category><![CDATA[naming]]></category><category><![CDATA[django]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как вайбкодинг довел меня до депрессии, а потом привел к вайб‑инжинирингу]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054342/</guid>
      <link>https://habr.com/ru/articles/1054342/?utm_campaign=1054342&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9aa/28e/705/9aa28e705ae31fd5bc5978c80fa312c7.png" /><p>Начнём с того, что по-настоящему «вайблю» я где-то с ноября 25 года. До этого моё общение с LLM строилось на копипасте в ChatGPT, DeepSeek, Gemini и обратно. Рука наловчилась, и я в целом не замечала, сколько времени это всё-таки сжирает. Казалось бы, лишнее действие.</p><p>Не сказать что я злоупотребляла общением, но когда ты начинаешь кодить, ты очень уверен в себе и думаешь, что всё делаешь правильно. А как только погружаешься в процесс, начинается это… синдром самозванца, выгорание и тревога. Не сочтите меня пессимистом, но всё так и было))</p><p>Пока я училась в университете, слава богу, ChatGPT был отсталой жабой, которая через раз выдавала код с ошибкой. Поэтому я морщила нос и старалась всё делать сама — и аминь, спасибо вселенной, что всё так и было. Иначе, мне кажется, сейчас я была бы не разработчиком, а унылым вайбером, который при слове «конструктор» или «указатели» просто представляет лего и какой-нибудь г. Санкт-Петербург.</p><p>А потом случилась революция. И моя компания решила не тормозить.</p> <a href="https://habr.com/ru/articles/1054342/?utm_campaign=1054342&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">El pueblo unido jam&aacute;s ser&aacute; vencido!</a>]]></description>
      
      <pubDate>Wed, 01 Jul 2026 09:40:56 GMT</pubDate>
      <dc:creator><![CDATA[nedovyazhu]]></dc:creator>
      
      <category><![CDATA[ии]]></category><category><![CDATA[провальные проекты]]></category><category><![CDATA[говнокод]]></category><category><![CDATA[ошибки программистов]]></category><category><![CDATA[вайб-кодинг]]></category><category><![CDATA[телеграм-бот]]></category><category><![CDATA[админка]]></category><category><![CDATA[copilot]]></category><category><![CDATA[cursor]]></category><category><![CDATA[claude-code]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Point0 — фулстек TypeScript-фреймворк на Bun и React, о котором я мечтал]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054310/</guid>
      <link>https://habr.com/ru/articles/1054310/?utm_campaign=1054310&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4a6/b9c/998/4a6b9c998f64c26618424fb7d7ed98f5.png" /><p>Хочу анонсировать свой фреймворк Point0. Это первый Bun FullStack фреймворк сопоставимый по функционалу с Next.js и TanStack Start. Однако, имеет кардинально другой DX, ради которого и был создан.</p><p>Мне всегда не нравились существующие фреймворки, особенно Next.js и Remix (React Router). Но я думал, что, видимо, по-другому фреймворки просто не получаются, поэтому и не делают. А громоздкость, чужие строгие соглашения, неповоротливость архитектуры, это просто необходимое зло, с которым я должен смириться.</p><p>В какой-то момент во мне накопилось критическое ощущение, что всё же должно быть совершенно по-другому. И я подумал, а напишу-ка я псевдокод на воображаемом фреймворке, который бы меня устраивал, вообще не взирая на возможность реализации. Просто буду писать проект, будто бы идеальный фреймворк существует.</p><p>И получилось так здорово, что я просто забыл обо всём на свете и 10 месяцев пилил реализацию этого фреймворка, а 3 месяца назад даже уволился с работы, чтобы уже скорее его добить. И вот добил, и хочу поделиться с вами.</p> <a href="https://habr.com/ru/articles/1054310/?utm_campaign=1054310&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 01 Jul 2026 08:44:10 GMT</pubDate>
      <dc:creator><![CDATA[1gr14]]></dc:creator>
      
      <category><![CDATA[react]]></category><category><![CDATA[typescript]]></category><category><![CDATA[fullstack]]></category><category><![CDATA[webdevelopment]]></category><category><![CDATA[bun]]></category><category><![CDATA[framework]]></category><category><![CDATA[Point0]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Кастомизация Битрикс24 на платформе Вайбкод: создаём паспорт клиента]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/bitrix/articles/1053840/</guid>
      <link>https://habr.com/ru/companies/bitrix/articles/1053840/?utm_campaign=1053840&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f1c/d69/636/f1cd69636bfa3e20306da619469ff84c.jpg" /><p>Тестируем <a href="https://vibecode.bitrix24.tech/">платформу Битрикс24 Вайбкод</a> для создания полезных приложений в своём бизнес-портале с помощью ИИ-агентов.</p><p>Сегодня сделаем паспорт клиента: собираем в одном месте всё, что нужно знать о компаниях в нашем бизнес-портале: контакты, сделки, лиды и любые активности. Рассказываем по шагам свой опыт работы с платформой — что было просто, как строили работу, где ИИ ошибался и пришлось ли что-то исправлять вручную.</p> <a href="https://habr.com/ru/articles/1053840/?utm_campaign=1053840&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 01 Jul 2026 08:00:33 GMT</pubDate>
      <dc:creator><![CDATA[rosliakov_b24 (Битрикс24)]]></dc:creator>
      
      <category><![CDATA[фронтенд]]></category><category><![CDATA[битрикс24]]></category><category><![CDATA[вайбкод-платформа]]></category><category><![CDATA[вайбкод]]></category><category><![CDATA[vibecode]]></category><category><![CDATA[crm]]></category><category><![CDATA[restapi]]></category><category><![CDATA[кастомизация битрикс24]]></category><category><![CDATA[typescript]]></category><category><![CDATA[batch api]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ГдеЗаправка: умный подбор + как нас за сутки посетило полмиллиона]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1054054/</guid>
      <link>https://habr.com/ru/articles/1054054/?utm_campaign=1054054&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/27c/868/29c/27c86829cd31dee929fc454f7230e985.png" /><p>Год назад, в&nbsp;разгар топливного дефицита, я объехал три заправки подряд&nbsp;— и на&nbsp;всех&nbsp;был «сухой» АИ-95. Так появилась <strong>ГдеЗаправка</strong>&nbsp;— карта не&nbsp;расположения заправок, а&nbsp;их наличия: где прямо сейчас, по&nbsp;отметкам водителей, есть топливо. Недавно вышло большое обновление&nbsp;— и через сутки про&nbsp;него узнало столько народу, что&nbsp;наши серверы не&nbsp;выдержали. Рассказываю, что&nbsp;мы выкатили.<br><br>Карта: <a href="http://gdezapravka.ru" rel="noopener noreferrer nofollow">gdezapravka.ru</a></p> <a href="https://habr.com/ru/articles/1054054/?utm_campaign=1054054&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 30 Jun 2026 14:38:56 GMT</pubDate>
      <dc:creator><![CDATA[HackeXe]]></dc:creator>
      
      <category><![CDATA[ГдеБЕнзин]]></category><category><![CDATA[Где заправиться]]></category><category><![CDATA[GdeZapravka]]></category><category><![CDATA[Карта заправок]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Flappy Bird: делаем игру сложнее и добавляем автопилот на чистой математике]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ruvds/articles/1051796/</guid>
      <link>https://habr.com/ru/companies/ruvds/articles/1051796/?utm_campaign=1051796&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/44e/a64/c9b/44ea64c9b9bdb8f838f036890f9057b6.png" /><p>Начнём с предыстории. Когда я опубликовал <a href="https://habr.com/ru/companies/ruvds/articles/1030144/">первую статью</a> про клон Flappy Bird, я хотел получить результат, который был бы мне приятен, но вместо этого получил всего понемногу. Можно сказать, сработал эффект Зейгарник, когда незавершённая задача создаёт когнитивное напряжение, которое буквально «заставляет» нас возвращаться к мыслям о ней. Вроде поучил физику, посмотрел, как лучше работать с рендерингом, узнал, почему птица стала такой популярной игрой, но один комментарий заставил задуматься, что на этом нельзя останавливаться и стоит сделать ещё что-то, пока эффект не пропал.</p> <a href="https://habr.com/ru/articles/1051796/?utm_campaign=1051796&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 30 Jun 2026 13:01:34 GMT</pubDate>
      <dc:creator><![CDATA[Laborant_Code (RUVDS.com)]]></dc:creator>
      
      <category><![CDATA[Flappy Bird]]></category><category><![CDATA[Canvas]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[автопилот]]></category><category><![CDATA[математический перебор]]></category><category><![CDATA[ретро-игры]]></category><category><![CDATA[геймдев]]></category><category><![CDATA[бот без нейросети]]></category><category><![CDATA[ruvds_статьи]]></category><category><![CDATA[Фаби]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Микрофронтенды. Стабильная интеграция нескольких SPA-приложений. Часть 2]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/infowatch/articles/1053978/</guid>
      <link>https://habr.com/ru/companies/infowatch/articles/1053978/?utm_campaign=1053978&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4bc/3e2/07b/4bc3e207b4fb3e14bf8e7f468eee0b86.png" /><p>Привет! <a href="https://habr.com/ru/companies/infowatch/articles/1053506/">В первой части</a> бы поговорили о нашем подходе к мирофронтендам, модульной федерации и о том, как устроены интеграции. В этой, как и обещал, про шаринг и изоляцию библиотек, ленивую загрузку, а также немного советов и рекомендаций.</p><p><strong>Делимся веб-компонентами</strong></p><p>Приложения у нас самодостаточные, так что друг о друге они не знают. Нам необходимо каким-то образом поделиться веб-компонентами. Есть два способа.</p> <a href="https://habr.com/ru/articles/1053978/?utm_campaign=1053978&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 30 Jun 2026 12:17:14 GMT</pubDate>
      <dc:creator><![CDATA[InfoWatch (InfoWatch)]]></dc:creator>
      
      <category><![CDATA[javascript]]></category><category><![CDATA[веб-разработка]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[js]]></category><category><![CDATA[frontend]]></category><category><![CDATA[infowatch]]></category><category><![CDATA[фронтенд]]></category><category><![CDATA[react]]></category><category><![CDATA[инфовотч]]></category><category><![CDATA[spa-приложения]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Pivot grid без сторонних библиотек: кэш, производительность и связанные гриды]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1053776/</guid>
      <link>https://habr.com/ru/articles/1053776/?utm_campaign=1053776&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cd2/e74/c6a/cd2e74c6a06b9db5391d80273a712b80.jpg" /><p>Расскажу, как и почему я в какой-то момент решил написать собственный pivot grid — без сторонних библиотек, на чистом JavaScript и DOM. И что из этого получилось: от первой версии с обычным GROUP BY до кэширования больших выборок и цепочки связанных гридов.</p> <a href="https://habr.com/ru/articles/1053776/?utm_campaign=1053776&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 30 Jun 2026 09:12:17 GMT</pubDate>
      <dc:creator><![CDATA[alex_29]]></dc:creator>
      
      <category><![CDATA[pivot grid]]></category><category><![CDATA[сводная таблица]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[DOM]]></category><category><![CDATA[кэширование данных]]></category><category><![CDATA[клиентская оптимизация]]></category><category><![CDATA[связанные гриды]]></category><category><![CDATA[GROUP BY]]></category><category><![CDATA[columnar storage]]></category><category><![CDATA[dictionary encoding]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Микрофронтенды. Стабильная интеграция нескольких SPA-приложений. Часть 1]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/infowatch/articles/1053506/</guid>
      <link>https://habr.com/ru/companies/infowatch/articles/1053506/?utm_campaign=1053506&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/fa6/aa4/bbb/fa6aa4bbb303a68fec28f74437b355eb.png" /><p>Привет, Хабр! Меня зовут Александр, я руковожу веб-разработкой в InfoWatch. Мы занимаемся проектированием решений, которые обеспечивают информационную безопасность для разных компаний.&nbsp;</p><p>В этой статье я расскажу, как мы обеспечиваем интеграцию SPA-приложений. Главная цель этого процесса — сохранить стабильность и совместимость приложений, при этом не потеряв по пути скорость поставки функционала. Под катом —&nbsp;о подходах и решениях, которые мы используем, а также пара примеров из практики и немного рекомендаций, если вы по работе занимаетесь подобными вещами.</p> <a href="https://habr.com/ru/articles/1053506/?utm_campaign=1053506&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 29 Jun 2026 14:26:29 GMT</pubDate>
      <dc:creator><![CDATA[InfoWatch (InfoWatch)]]></dc:creator>
      
      <category><![CDATA[веб-разработка]]></category><category><![CDATA[js]]></category><category><![CDATA[javascript]]></category><category><![CDATA[react]]></category><category><![CDATA[frontend]]></category><category><![CDATA[фронтенд]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[инфовотч]]></category><category><![CDATA[infowatch]]></category><category><![CDATA[SPA-приложения]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
