<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Блог | Артём Курапов</title>
    <link>https://kurapov.ee/ru/blog/</link>
    <description>Index of Блог</description>
    <language>ru</language>
    <lastBuildDate>Wed, 23 Sep 2026 20:34:39 +0000</lastBuildDate>
    <atom:link href="https://kurapov.ee/ru/blog/rss.xml" rel="self" type="application/rss+xml"></atom:link>
    <item>
      <title>Git worktrees: несколько рабочих папок одного репозитория</title>
      <link>https://kurapov.ee/ru/blog/tech/git-worktrees/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/git-worktrees/</guid>
      <pubDate>Mon, 14 Sep 2026 11:00:00 +0000</pubDate>
      <description><![CDATA[Обычно один репозиторий - это одна папка с файлами и одна текущая ветка. Чтобы посмотреть другую ветку, приходится либо прятать правки в stash , либо коммитить «WIP», либо клонировать репозиторий второй раз.]]></description>
      <category>git</category>
      <category>tools</category>
      <category>workflow</category>
      <category>cli</category>
      <category>ai</category>
    </item>
    <item>
      <title>Turbo Stream Actions: интерактивный атлас DOM-операций</title>
      <link>https://kurapov.ee/ru/blog/tech/frontend/turbo-stream-actions/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/frontend/turbo-stream-actions/</guid>
      <pubDate>Fri, 11 Sep 2026 16:00:00 +0000</pubDate>
      <description><![CDATA[Turbo Stream - это маленькая декларативная команда над уже существующим DOM: найти цель, взять HTML из <template> и выполнить одну операцию. Чтобы понять эту механику, не нужны Rails-контроллер, WebSocket или даже сетевой запрос.]]></description>
      <category>hotwire</category>
      <category>turbo</category>
      <category>frontend</category>
      <category>html</category>
      <category>dom</category>
      <category>rails</category>
    </item>
    <item>
      <title>Система отзывов: доверие, интерфейс и фичи</title>
      <link>https://kurapov.ee/ru/blog/tech/reviews-system-design/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/reviews-system-design/</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[Не так давно я проектировал систему отзывов и основная идея у них: сайт должен стать более заслуживающим доверия за счёт слов реальных людей . Не за счёт красивого описания от копирайтера.]]></description>
      <category>архитектура</category>
      <category>продукт</category>
      <category>ux</category>
      <category>llm</category>
      <category>доверие</category>
    </item>
    <item>
      <title>Пангалинк сегодня (2026): архитектура iPizza и облачные альтернативы</title>
      <link>https://kurapov.ee/ru/blog/tech/integration/pangalink-segodnya/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/integration/pangalink-segodnya/</guid>
      <pubDate>Fri, 21 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Восемнадцать лет назад я написал про пангалинк статью, в которой фигурировали эстонские кроны, банки Hanza и Sampo, и подключение за 750 крон. Тот текст сейчас читается как археология: половины банков нет, валюты нет, тестовый сервис закрылся, а рядом выросла целая индустрия, которая делает то же самое, но по-другому.]]></description>
      <category>integration</category>
      <category>payments</category>
      <category>estonia</category>
      <category>security</category>
      <category>api</category>
      <category>tech</category>
    </item>
    <item>
      <title>Как Rails собирает страницу with content_for и yield</title>
      <link>https://kurapov.ee/ru/blog/tech/frontend/content-for-i-yield-v-rails/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/frontend/content-for-i-yield-v-rails/</guid>
      <pubDate>Thu, 20 Aug 2026 16:00:00 +0000</pubDate>
      <description><![CDATA[Статья про одну маленькую пару инструментов: `yield` и `content_for`. Они выглядят тривиально ровно до того момента, когда нужно ответить на вопрос «а в каком порядке это вообще выполняется» - и особенно «а что будет, если я объявлю секцию, которую никто не выводит».]]></description>
      <category>rails</category>
      <category>ruby</category>
      <category>erb</category>
      <category>templates</category>
      <category>frontend</category>
      <category>backend</category>
      <category>tech</category>
    </item>
    <item>
      <title>Stimulus с нуля: JavaScript, который живёт в разметке</title>
      <link>https://kurapov.ee/ru/blog/tech/frontend/stimulus-s-nulya/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/frontend/stimulus-s-nulya/</guid>
      <pubDate>Wed, 19 Aug 2026 13:30:00 +0000</pubDate>
      <description><![CDATA[Эта статья для тех, кто пишет серверный HTML и хочет добавить к нему интерактивность, не заводя отдельное клиентское приложение. Никакого предварительного знания Hotwire не требуется: разберём всё от первого контроллера до общения контроллеров между собой.]]></description>
      <category>hotwire</category>
      <category>stimulus</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>rails</category>
      <category>turbo</category>
    </item>
    <item>
      <title>Eager, lazy и batch: когда приложение должно грузить данные</title>
      <link>https://kurapov.ee/ru/blog/tech/eager-lazy-loading-strategies/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/eager-lazy-loading-strategies/</guid>
      <pubDate>Tue, 18 Aug 2026 17:30:00 +0000</pubDate>
      <description><![CDATA[Eager loading в Rails, `await import()` в Node.js, DataLoader в GraphQL и `loading="lazy"` у картинки выглядят как четыре несвязанные техники из разных слоёв стека. На самом деле это четыре ответа на один вопрос: **в какой момент система платит за ресурс, который может понадобиться, а может и нет**.]]></description>
      <category>ruby</category>
      <category>rails</category>
      <category>nodejs</category>
      <category>go</category>
      <category>graphql</category>
      <category>performance</category>
      <category>frontend</category>
      <category>backend</category>
    </item>
    <item>
      <title>HDR-фотографии: что находится внутри JPEG с gain map</title>
      <link>https://kurapov.ee/ru/blog/tech/hdr-formats-and-xiaomi-17/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/hdr-formats-and-xiaomi-17/</guid>
      <pubDate>Tue, 18 Aug 2026 10:01:00 +0000</pubDate>
      <description><![CDATA[На HDR-дисплее солнце или блик на фотографии иногда выглядит ярче белого фона страницы. Разберём без магии, откуда экран получает команду сделать отдельные пиксели ярче.]]></description>
      <category>фото</category>
      <category>hdr</category>
      <category>изображения</category>
      <category>xiaomi</category>
      <category>tech</category>
    </item>
    <item>
      <title>Turbo Frames с нуля: интерактивный Rails без SPA</title>
      <link>https://kurapov.ee/ru/blog/tech/frontend/turbo-frames-s-nulya/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/frontend/turbo-frames-s-nulya/</guid>
      <pubDate>Mon, 17 Aug 2026 14:30:00 +0000</pubDate>
      <description><![CDATA[В Rails можно сделать интерактивный интерфейс без отдельного JSON API, глобального клиентского состояния и React-приложения. Сервер продолжает рендерить HTML, а браузер заменяет только нужный фрагмент страницы.]]></description>
      <category>rails</category>
      <category>ruby</category>
      <category>hotwire</category>
      <category>turbo</category>
      <category>stimulus</category>
      <category>frontend</category>
      <category>htmx</category>
      <category>react</category>
    </item>
    <item>
      <title>Бизнес-цели и согласованность: чего я долго не понимал как программист</title>
      <link>https://kurapov.ee/ru/blog/управление/biznes-celi-i-soglasovannost/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/управление/biznes-celi-i-soglasovannost/</guid>
      <pubDate>Mon, 17 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Почти двадцать лет я пишу код и только в последние годы у меня сложилась картинка того, **зачем** он пишется. Не «какую фичу просили», а какое изменение в бизнесе она должна произвести и как мы поймём, что произвела.]]></description>
      <category>управление</category>
      <category>бизнес</category>
      <category>kpi</category>
      <category>дизайн</category>
      <category>карьера</category>
    </item>
    <item>
      <title>Почему «Вид» в «Виде на жительство»</title>
      <link>https://kurapov.ee/ru/blog/всякое/2026-08-17-pochemu-vid-v-vide-na-zhitelstvo/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/всякое/2026-08-17-pochemu-vid-v-vide-na-zhitelstvo/</guid>
      <pubDate>Mon, 17 Aug 2026 09:45:00 +0000</pubDate>
      <description><![CDATA[Меня как программиста постоянно конфузило одно слово в бюрократии. Документ называется **вид** на жительство.]]></description>
      <category>estonia</category>
      <category>всякое</category>
      <category>programming</category>
    </item>
    <item>
      <title>Go, Together: визуальный гид по конкурентности в Go</title>
      <link>https://kurapov.ee/ru/blog/tech/go-together/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/go-together/</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[Конкурентность проще, когда её видно. Запустите эти маленькие модели: горутины спорят за общее состояние, ждут разрешений, передают значения через каналы и реагируют на ту операцию, которая готова первой.]]></description>
      <category>go</category>
      <category>concurrency</category>
      <category>programming</category>
    </item>
    <item>
      <title>Переписал блог на новый движок</title>
      <link>https://kurapov.ee/ru/blog/tech/blog-engine-rewrite/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/blog-engine-rewrite/</guid>
      <pubDate>Thu, 23 Apr 2026 15:22:00 +0000</pubDate>
      <description><![CDATA[Год или больше я застрял на Docusaurus. Недавно я от него избавился — написал свой движок на Go за час.]]></description>
      <category>blog</category>
      <category>docusaurus</category>
      <category>go</category>
      <category>knowledge-management</category>
      <category>markdown</category>
      <category>obsidian</category>
    </item>
    <item>
      <title>Диалог: Вселенная, Бог и Информация</title>
      <link>https://kurapov.ee/ru/blog/вера/2026-04-09-vselennaya-bog-i-informaciya/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/вера/2026-04-09-vselennaya-bog-i-informaciya/</guid>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[Недавно у меня состоялся глубокий диалог с моим AI-ассистентом (Ра) о природе реальности, информации и месте человека во Вселенной. Мы затронули философские вопросы, цифровую физику, голографический принцип, свободу воли и концепции из различных религий.]]></description>
      <category>philosophy</category>
      <category>ai</category>
      <category>physics</category>
      <category>religion</category>
    </item>
    <item>
      <title>Теория побега: Что на самом деле сломает корпоративный степенной закон?</title>
      <link>https://kurapov.ee/ru/blog/tech/the-escape-theory/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/the-escape-theory/</guid>
      <pubDate>Wed, 25 Mar 2026 10:16:00 +0000</pubDate>
      <description><![CDATA[Недавно я посетил дискуссию (fireside chat) с CTO Wise и главным научным сотрудником Pactum. Я задал им провокационный вопрос: видите ли вы на горизонте какую-либо технологию, способную фундаментально разрушить степенной закон распределения (power-law) рынка?** Для контекста: Wise построила свою империю на децентрализа...]]></description>
      <category>ai</category>
      <category>tech</category>
      <category>future</category>
      <category>robotics</category>
    </item>
    <item>
      <title>Почему лайв-кодинг — плохой способ проверки знаний</title>
      <link>https://kurapov.ee/ru/blog/управление/pochemu-layv-koding-plohoy-sposob-proverki-znaniy/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/управление/pochemu-layv-koding-plohoy-sposob-proverki-znaniy/</guid>
      <pubDate>Tue, 10 Mar 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Лайв-кодинг на собеседовании — это кот в мешке. Проблема в том, что это во многом случайная проверка: кандидат, как правило, не готов к нему в момент интервью.]]></description>
      <category>управление</category>
      <category>найм</category>
    </item>
    <item>
      <title>Почему нет Open API для доставки еды? Исследование Wolt, Bolt Food и других</title>
      <link>https://kurapov.ee/ru/blog/tech/pochemu-net-open-api-dlya-dostavki-edy/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/pochemu-net-open-api-dlya-dostavki-edy/</guid>
      <pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[🤖 **Почему мой AI агент не может заказать мне еду?** Я потратил несколько часов на глубокое исследование API документации всех крупных сервисов доставки еды в Эстонии. Результат оказался неожиданным - и разочаровывающим.]]></description>
      <category>ai</category>
      <category>api</category>
      <category>estonia</category>
      <category>food delivery</category>
      <category>openapi</category>
      <category>psd2</category>
      <category>автоматизация</category>
    </item>
    <item>
      <title>Автоматизация жизни с AI агентами</title>
      <link>https://kurapov.ee/ru/blog/tech/avtomatizatsiya-zhizni-s-ai-agentami/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/avtomatizatsiya-zhizni-s-ai-agentami/</guid>
      <pubDate>Sun, 01 Feb 2026 22:01:59 +0000</pubDate>
      <description><![CDATA[В последние годы я построил систему, которая увеличила мою продуктивность в 5-10 раз. Это не преувеличение - это измеримый результат использования AI агентов для автоматизации работы и личной жизни.]]></description>
      <category>ai</category>
      <category>frontend</category>
      <category>go</category>
      <category>tech</category>
      <category>кино</category>
    </item>
    <item>
      <title>Фото старинного Таллинна</title>
      <link>https://kurapov.ee/ru/blog/всякое/foto-starinnogo-tallinna/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/всякое/foto-starinnogo-tallinna/</guid>
      <pubDate>Sat, 20 Sep 2025 22:08:00 +0000</pubDate>
      <description><![CDATA[Исследовал для своей рпг игры по Таллинну старинные фотки например башня крепостной стены Hinketorn что рядом с макдаком видимо сфоткана была когда еще было видно саму стену (не очень в курсе - там был ров?). Сейчас по юго-восточной и южной части трудно что-то найти.]]></description>
      <category>ai</category>
      <category>всякое</category>
      <category>игры</category>
    </item>
    <item>
      <title>От чего спасает Христос</title>
      <link>https://kurapov.ee/ru/blog/вера/ot-chego-spasaet-hristos/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/вера/ot-chego-spasaet-hristos/</guid>
      <pubDate>Sat, 20 Sep 2025 22:07:00 +0000</pubDate>
      <description><![CDATA[Будучи Христианином я тем не менее долгое время не мог понять от чего же спасает Христос? Почему дорога к Богу-Отцу лежит через Христа?]]></description>
      <category>вера</category>
    </item>
    <item>
      <title>The Wild Robot</title>
      <link>https://kurapov.ee/ru/blog/кино/the-wild-robot/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/кино/the-wild-robot/</guid>
      <pubDate>Sun, 10 Nov 2024 20:10:00 +0000</pubDate>
      <description><![CDATA[Очень хорошая анимация и музыка, местами 10/10 где есть сочетание всех элементов в том числе музыки - я аж всплакнул. Советую сходить, детям подойдет.]]></description>
      <category>ai</category>
      <category>кино</category>
    </item>
    <item>
      <title>Моя коллекция часов в 2024</title>
      <link>https://kurapov.ee/ru/blog/tech/devices/moya-kollektsiya-chasov-v-2024/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/devices/moya-kollektsiya-chasov-v-2024/</guid>
      <pubDate>Sun, 27 Oct 2024 15:22:00 +0000</pubDate>
      <description><![CDATA[Записал историю своей часовой коллекции Заметил что я сильно привязан к телефону и начал рассматривать наручные часы, что-бы отделить самую часто используемую функцию, которая обычно затягивает посмотреть на всевозможные оповещения. Этот decoupling поможет сфокусироваться на работе.]]></description>
      <category>design</category>
      <category>devices</category>
      <category>go</category>
      <category>php</category>
      <category>tech</category>
    </item>
    <item>
      <title>Как записывать экран с круглой камерой</title>
      <link>https://kurapov.ee/ru/blog/tech/soft/kak-zapisyvat-ekran-s-krugloy-kameroy/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/soft/kak-zapisyvat-ekran-s-krugloy-kameroy/</guid>
      <pubDate>Thu, 24 Oct 2024 01:05:00 +0000</pubDate>
      <description><![CDATA[Часто приходится по работе записывать видео скринкасты для репорта багов, описания глубоких сценариев их возникновения, неудобного UI; Кроме того я использую видео для описания pull-request'ов в дополнение к тексту. Как сделать результат более профессиональным?]]></description>
      <category>soft</category>
      <category>tech</category>
    </item>
    <item>
      <title>Об этике пчеловодства</title>
      <link>https://kurapov.ee/ru/blog/психология/ob-etike-pchelovodstva/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/психология/ob-etike-pchelovodstva/</guid>
      <pubDate>Wed, 14 Dec 2022 23:36:00 +0000</pubDate>
      <description><![CDATA[Эрнест Бондаренко, мне вот захотелось так же публично ответить тебе, раз латвийская команда ForQueenBee на презентации в Prototron не смогла, и естественно Jana Budkovskaja не могла им ( Guntis Laurins,  Anete Grosberga ) дать дополнительного во время общего питча. Я с ними не связан с ними совершенно, но занимаюсь это...]]></description>
      <category>психология</category>
    </item>
    <item>
      <title>Мечта о масштабируемых и обогащённых GraphQL-подписках</title>
      <link>https://kurapov.ee/ru/blog/tech/dream-of-scalable-enriched-graphql-subscriptions/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/dream-of-scalable-enriched-graphql-subscriptions/</guid>
      <pubDate>Wed, 23 Nov 2022 15:22:00 +0000</pubDate>
      <description><![CDATA[Впервые опубликовано на Medium Стилизованная фотография водопада Ягала в Эстонии. Оригинал: Александр Абросимов, Wikimedia Commons В прошлый раз я рассказал о пятилетнем пути GraphQL в Pipedrive.]]></description>
      <category>ai</category>
      <category>frontend</category>
      <category>go</category>
      <category>graphql</category>
      <category>php</category>
    </item>
    <item>
      <title>Путь к Федеративному GraphQL</title>
      <link>https://kurapov.ee/ru/blog/tech/backend/put-k-federativnomu-graphql/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/backend/put-k-federativnomu-graphql/</guid>
      <pubDate>Wed, 09 Sep 2020 10:00:00 +0000</pubDate>
      <description><![CDATA[Картинка с dgraph.io Программисты любят хорошие истории, поэтому надеюсь что пятилетний путь к композитному API с помощью GraphQL в боевой среде (на пике выдающей 110 запросов в секунду при 100мс задержке) будет интересен. Если вы спешите, проскрольте ниже к _урокам_ и гляньте на открытый код [graphql-schema-registry]...]]></description>
      <category>backend</category>
    </item>
    <item>
      <title>Техническое интервью как нейрон</title>
      <link>https://kurapov.ee/ru/blog/управление/hiring/tehnicheskoe-intervyu-kak-neyron/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/управление/hiring/tehnicheskoe-intervyu-kak-neyron/</guid>
      <pubDate>Tue, 18 Sep 2018 10:00:00 +0000</pubDate>
      <description><![CDATA[Процесс найма разработчиков различен и на моём пути я был как на стороне кандидата со своей системой вопросов, получал свою уйму лулзов, так и на стороне интервьюера. Поскольку встреч с кандидатом в больших компаниях несколько, то мне удалось принимать интервью на фазе технической оценки. Постараюсь тут кратко описать...]]></description>
      <category>hiring</category>
    </item>
    <item>
      <title>Шпаргалка по golang</title>
      <link>https://kurapov.ee/ru/blog/tech/backend/shpargalka-po-golang-chast-1/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/backend/shpargalka-po-golang-chast-1/</guid>
      <pubDate>Wed, 18 Apr 2018 10:00:00 +0000</pubDate>
      <description><![CDATA[После php и node начал писать на go, поэтому по-аналогии с unix-шпаргалкой, выпишу для себя основы.. go run main.go → компиляция и запуск exe go build main.go → только компиляция и создание exe, без запуска go get -u https://github.com/x/y → импортирование зависимостей Низкоуровневый тип.]]></description>
      <category>backend</category>
    </item>
    <item>
      <title>Dashboard на основе Grafana и InfluxDB</title>
      <link>https://kurapov.ee/ru/blog/tech/backend/dashboard-na-osnove-grafana-i-influxdb/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/backend/dashboard-na-osnove-grafana-i-influxdb/</guid>
      <pubDate>Mon, 25 Dec 2017 10:00:00 +0000</pubDate>
      <description><![CDATA[В продолжение темы умного дома где мой котёл умел выдавать API для мониторинга температур, захотелось мне вывести эти данные в более приятный вид. Кроме того, хотя сам котёл умеет рисовать графики, он показывал на них только температурную зону одного контура, а мне хотелось видеть два.]]></description>
      <category>backend</category>
    </item>
    <item>
      <title>Hacking essentials</title>
      <link>https://kurapov.ee/ru/blog/tech/security/hacking-essentials/</link>
      <guid isPermaLink="true">https://kurapov.ee/ru/blog/tech/security/hacking-essentials/</guid>
      <pubDate>Fri, 15 Dec 2017 10:00:00 +0000</pubDate>
      <description><![CDATA[Прошёл двухдневный workshop компании Clarified Security по основам взлома в сети и серверы. Оплатил это Pipedrive, но вы можете заказать себе такую же тренировку. Тренинги построены по шагам с такой оценочной системой, что какое-то время можно самому искать решение, потом тебе объясняют как это сделать в действительнос...]]></description>
      <category>php</category>
      <category>security</category>
      <category>tech</category>
      <category>вера</category>
    </item>
  </channel>
</rss>