Собрал материалы по работе с Redis. Уверен многим будет полезно. Текст объёмный, но вся информация важна. Когда-то я бы был очень рад такому описанию. Оно поможет сделать старт, но может послужить и обычным справочником. ...
OpenSearch для начинающих: индексы, маппинги и бустинг
OpenSearch -это мощная поисковая система с открытым исходным кодом, форк Elasticsearch. Если вы только начинаете работать с поисковыми системами, эта статья поможет разобраться в основах: как создавать индексы, настраивать структуру данных и использовать бустинг для улучшения релевантности результатов. Что такое OpenSearch? OpenSearch -это распределённая поисковая и аналитическая система, которая позволяет: Быстро искать по большим объёмам данных Индексировать структурированные и неструктурированные данные Выполнять сложные запросы с фильтрацией и ранжированием Работать с геопространственными данными Использовать векторный поиск для семантического поиска Простыми словами: OpenSearch -это как Google для ваших данных. Вы загружаете документы, а система позволяет быстро находить нужные по запросу. ...
Рекомендательная система локаций для бизнеса: Go + OpenSearch
Недавно я подготовил рабочий прототип проекта go_es_analytical_system - рекомендательной системы для поиска и анализа локаций для различных типов бизнеса. Здесь es в названии появилось из-за того, что я плинировал Elasticsearch, но при разработке возникли сложности при получении соответствующего контейнера, поэтому в итоге используется OpenSearch. Важный момент: идея проекта принадлежит моим студентам, которые выбрали себе тему магистерской диссертации “Разработка приложения для анализа бизнес-среды и выдачи рекомендаций по старту бизнеса”. Да, одну на двоих. Сейчас это допустимо в рамках продолжения работ по дисциплине “Проектная деятельность”. У них была готова концепция и понимание, что нужно решить, а я предложил технологии и реализацию. Умение качественно оформить свои идеи привело к утверждению темы и к созданию данного прототипа. Я подготовил текущий рабочий прототип, а они будут дорабатывать систему, создавать фронтенд-часть и расширять функциональность. ...
Пояснение разницы скорости выполнения первого и последующих запросов к БД PostgreSQL
Каждый, кто работает с PostgreSQL рано или поздно задается вопросом, почему повторный запрос работает быстрее: Потому что срабатывает кэширование. И это не одно кэширование, а сразу несколько уровней: 1. Кэширование плана выполнения (Query Plan Cache) Первый раз, когда отправляется SQL-запрос, PostgreSQL анализирует его: Понимает структуру. Строит оптимальный план выполнения (EXPLAIN). Выбирает, какие индексы использовать, как делать JOIN-ы и т.д. Этот план сохраняется в памяти для текущего соединения (иногда глобально, зависит от настроек). При повторном запросе сервер использует уже готовый план, не пересчитывая его с нуля. Это экономит много времени. ...
Как создать такой блог
Пока делал блог, столкнулся с некоторыми вопросам: Какими технологиями пользоваться? Какие инструменты понядобятся? Где опубликовать? Делать какой-то большой самостоятельный обзор мне нее хотелось, поэтому я задал свои вопросы AI. И вот что я получил в ответ. Самый простой и качественный способ создать персональный блог зависит от ваших целей: ✅ Если вы хотите быстро, бесплатно и без кода — используйте современные headless CMS + SSG (static site generators) 🔹 Вариант 1: Astro + Content Collections ✅ Бесплатно, локально, быстро, легко поддерживать ✅ Markdown-файлы как «база данных» ✅ Минимальный JS во фронтенде → отличная производительность ✅ Лёгкое развёртывание на GitHub Pages, Vercel, Netlify ✅ Вы можете позже добавить CMS (например, Decap CMS или TinaCMS) 📦 Шаблон для старта: npm create astro@latest -- --template blog 🔹 Вариант 2: Hugo (Go-based, сверхбыстрый) ✅ Написан на Go → сборка в мгновение ока (идеально, если вы уже в экосистеме Go) ✅ Огромное количество тем (например, PaperMod) ✅ Полностью статический → безопасен и дёшев в хостинге ✅ Поддержка Markdown, автоматическая генерация RSS, SEO-метатегов и т.д. ⚡ Совет: если вы — Go-разработчик (как следует из памяти), Hugo будет особенно уместен: без зависимостей, один бинарник, легко встроить в CI через Makefile. ...
Почему я завёл этот блог
Всем привет! 👋 Это мой первый пост в личном блоге - и, пожалуй, самое логичное начало - объяснить, зачем он вообще нужен. На первый взгляд, у меня для этого нет очевидных причин. Я - разработчик из небольшого провинциального города, Тамбова. В IT с 2013 года - прошёл путь от рядового программиста до участия в проектировании архитектуры распределённых систем. Дел хватает и без блога: работа (и не одна), семья, дети… Время - ресурс дефицитный. ...