<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Персональный блог бэкенд-разработчика</title><link>https://akozadaev.github.io/myblog/</link><description>Recent content on Персональный блог бэкенд-разработчика</description><generator>Hugo -- 0.146.0</generator><language>ru-ru</language><lastBuildDate>Fri, 19 Dec 2025 15:20:52 +0300</lastBuildDate><atom:link href="https://akozadaev.github.io/myblog/index.xml" rel="self" type="application/rss+xml"/><item><title>Введение в Redis: архитектура, режимы работы и основные команды</title><link>https://akozadaev.github.io/myblog/posts/vvedenie_v_redis/</link><pubDate>Fri, 19 Dec 2025 15:20:52 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/vvedenie_v_redis/</guid><description>&lt;p>Собрал материалы по работе с Redis. Уверен многим будет полезно. Текст объёмный, но вся информация важна.
Когда-то я бы был очень рад такому описанию. Оно поможет сделать старт, но может послужить и обычным справочником.&lt;/p></description></item><item><title>OpenSearch для начинающих: индексы, маппинги и бустинг</title><link>https://akozadaev.github.io/myblog/posts/opensearch-guide/</link><pubDate>Sun, 14 Dec 2025 12:50:00 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/opensearch-guide/</guid><description>&lt;p>OpenSearch -это мощная поисковая система с открытым исходным кодом, форк Elasticsearch. Если вы только начинаете работать с поисковыми системами, эта статья поможет разобраться в основах: как создавать индексы, настраивать структуру данных и использовать бустинг для улучшения релевантности результатов.&lt;/p>
&lt;h2 id="что-такое-opensearch">Что такое OpenSearch?&lt;/h2>
&lt;p>OpenSearch -это распределённая поисковая и аналитическая система, которая позволяет:&lt;/p>
&lt;ul>
&lt;li>Быстро искать по большим объёмам данных&lt;/li>
&lt;li>Индексировать структурированные и неструктурированные данные&lt;/li>
&lt;li>Выполнять сложные запросы с фильтрацией и ранжированием&lt;/li>
&lt;li>Работать с геопространственными данными&lt;/li>
&lt;li>Использовать векторный поиск для семантического поиска&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Простыми словами&lt;/strong>: OpenSearch -это как Google для ваших данных. Вы загружаете документы, а система позволяет быстро находить нужные по запросу.&lt;/p></description></item><item><title>Рекомендательная система локаций для бизнеса: Go + OpenSearch</title><link>https://akozadaev.github.io/myblog/posts/go-es-analytical-system/</link><pubDate>Sun, 14 Dec 2025 12:00:00 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/go-es-analytical-system/</guid><description>&lt;p>Недавно я подготовил рабочий прототип проекта &lt;a href="https://github.com/akozadaev/go_es_analytical_system">go_es_analytical_system&lt;/a> - рекомендательной системы для поиска и анализа локаций для различных типов бизнеса. Здесь &lt;code>es&lt;/code> в названии появилось из-за того, что я плинировал Elasticsearch, но при разработке возникли сложности при получении соответствующего контейнера, поэтому в итоге используется OpenSearch.&lt;/p>
&lt;p>&lt;strong>Важный момент&lt;/strong>: идея проекта принадлежит моим студентам, которые выбрали себе тему магистерской диссертации &lt;strong>&amp;ldquo;Разработка приложения для анализа бизнес-среды и выдачи рекомендаций по старту бизнеса&amp;rdquo;&lt;/strong>. Да, одну на двоих. Сейчас это допустимо в рамках продолжения работ по дисциплине &amp;ldquo;Проектная деятельность&amp;rdquo;. У них была готова концепция и понимание, что нужно решить, а я предложил технологии и реализацию. Умение качественно оформить свои идеи привело к утверждению темы и к созданию данного прототипа. Я подготовил текущий рабочий прототип, а они будут дорабатывать систему, создавать фронтенд-часть и расширять функциональность.&lt;/p></description></item><item><title>Пояснение разницы скорости выполнения первого и последующих запросов к БД PostgreSQL</title><link>https://akozadaev.github.io/myblog/posts/pg_prewarm/</link><pubDate>Sat, 13 Dec 2025 12:43:57 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/pg_prewarm/</guid><description>&lt;h3 id="каждый-кто-работает-с-postgresql-рано-или-поздно-задается-вопросом-почему-повторный-запрос-работает-быстрее">Каждый, кто работает с PostgreSQL рано или поздно задается вопросом, почему повторный запрос работает быстрее:&lt;/h3>
&lt;p>&lt;strong>Потому что срабатывает кэширование.&lt;/strong>&lt;br>
И это не одно кэширование, а сразу несколько уровней:&lt;/p>
&lt;hr>
&lt;h3 id="1-кэширование-плана-выполнения-query-plan-cache">1. Кэширование плана выполнения (&lt;strong>Query Plan Cache&lt;/strong>)&lt;/h3>
&lt;p>Первый раз, когда отправляется SQL-запрос, PostgreSQL &lt;strong>анализирует&lt;/strong> его:&lt;/p>
&lt;ul>
&lt;li>Понимает структуру.&lt;/li>
&lt;li>Строит оптимальный &lt;strong>план выполнения&lt;/strong> (EXPLAIN).&lt;/li>
&lt;li>Выбирает, какие индексы использовать, как делать JOIN-ы и т.д.&lt;/li>
&lt;/ul>
&lt;p>Этот план сохраняется в памяти для текущего соединения (иногда глобально, зависит от настроек).
При &lt;strong>повторном запросе&lt;/strong> сервер использует уже готовый план, &lt;strong>не пересчитывая его с нуля&lt;/strong>. Это экономит много времени.&lt;/p></description></item><item><title>Как создать такой блог</title><link>https://akozadaev.github.io/myblog/posts/kak-sozdat-takoi-blog/</link><pubDate>Sun, 07 Dec 2025 07:50:55 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/kak-sozdat-takoi-blog/</guid><description>&lt;p>Пока делал блог, столкнулся с некоторыми вопросам:&lt;/p>
&lt;ul>
&lt;li>Какими технологиями пользоваться?&lt;/li>
&lt;li>Какие инструменты понядобятся?&lt;/li>
&lt;li>Где опубликовать?&lt;/li>
&lt;/ul>
&lt;p>Делать какой-то большой самостоятельный обзор мне нее хотелось, поэтому я задал свои вопросы AI. И вот что я получил в ответ.&lt;/p>
&lt;hr>
&lt;p>Самый простой и качественный способ создать персональный блог зависит от ваших целей:&lt;/p>
&lt;hr>
&lt;h3 id="-если-вы-хотите-быстро-бесплатно-и-без-кода--используйте-современные-headless-cms--ssg-static-site-generators">✅ &lt;strong>Если вы хотите быстро, бесплатно и без кода — используйте современные headless CMS + SSG (static site generators)&lt;/strong>&lt;/h3>
&lt;h4 id="-вариант-1-astro">🔹 Вариант 1: &lt;strong>&lt;a href="https://astro.build">Astro&lt;/a> + &lt;a href="https://docs.astro.build/en/guides/content-collections/">Content Collections&lt;/a>&lt;/strong>&lt;/h4>
&lt;ul>
&lt;li>✅ Бесплатно, локально, быстро, легко поддерживать&lt;/li>
&lt;li>✅ Markdown-файлы как «база данных»&lt;/li>
&lt;li>✅ Минимальный JS во фронтенде → отличная производительность&lt;/li>
&lt;li>✅ Лёгкое развёртывание на &lt;a href="https://pages.github.com/">GitHub Pages&lt;/a>, &lt;a href="https://vercel.com">Vercel&lt;/a>, &lt;a href="https://netlify.com">Netlify&lt;/a>&lt;/li>
&lt;li>✅ Вы можете позже добавить CMS (например, &lt;a href="https://decapcms.org/">Decap CMS&lt;/a> или &lt;a href="https://tina.io">TinaCMS&lt;/a>)&lt;/li>
&lt;li>📦 Шаблон для старта:
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">npm create astro@latest -- --template blog
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;/ul>
&lt;h4 id="-вариант-2-hugo-go-based-сверхбыстрый">🔹 Вариант 2: &lt;strong>&lt;a href="https://gohugo.io">Hugo&lt;/a>&lt;/strong> (Go-based, сверхбыстрый)&lt;/h4>
&lt;ul>
&lt;li>✅ Написан на Go → сборка в мгновение ока (идеально, если вы уже в экосистеме Go)&lt;/li>
&lt;li>✅ Огромное количество тем (например, &lt;a href="https://github.com/adityatelange/hugo-PaperMod">PaperMod&lt;/a>)&lt;/li>
&lt;li>✅ Полностью статический → безопасен и дёшев в хостинге&lt;/li>
&lt;li>✅ Поддержка Markdown, автоматическая генерация RSS, SEO-метатегов и т.д.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>⚡ Совет: если вы — Go-разработчик (как следует из памяти), Hugo будет особенно уместен: без зависимостей, один бинарник, легко встроить в CI через Makefile.&lt;/p></description></item><item><title>Почему я завёл этот блог</title><link>https://akozadaev.github.io/myblog/posts/moy-pervyj-post/</link><pubDate>Sat, 06 Dec 2025 10:00:00 +0300</pubDate><guid>https://akozadaev.github.io/myblog/posts/moy-pervyj-post/</guid><description>&lt;p>Всем привет! 👋&lt;/p>
&lt;p>Это мой первый пост в личном блоге - и, пожалуй, самое логичное начало - объяснить, &lt;strong>зачем он вообще нужен&lt;/strong>.&lt;/p>
&lt;p>На первый взгляд, у меня для этого нет очевидных причин. Я - разработчик из небольшого провинциального города, Тамбова. В IT с 2013 года - прошёл путь от рядового программиста до участия в проектировании архитектуры распределённых систем. Дел хватает и без блога: работа (и не одна), семья, дети… Время - ресурс дефицитный.&lt;/p></description></item></channel></rss>