Pull to refresh
12
13
Роман@vQFd4

Researcher, IT entrepreneur & software engineer

Send message

Очарованные Hibernate: проблемы, которые ведут разработчика странствовать по production

Level of difficultyMedium
Reading time41 min
Reach and readers8.6K

Hibernate часто работает как надо ровно до того момента, пока не приходит настоящая нагрузка. И тогда выясняется, что безобидные на вид решения отключают batching, ломают пагинацию, умножают число запросов и даже незаметно открывают дополнительные транзакции — ровно там, где вы рассчитывали на один аккуратный запрос в рамках одного unit of work.

В этой статье мы постарались собрать добрую дюжину самых неочевидных и при этом действительно продакшн-критичных ошибок работы с Hibernate: как они проявляются в логах и метриках, почему возникают на уровне механики ORM, и какие предохранители помогут поймать их до релиза. Будет практично, предметно и с несколькими моментами, после которых захочется пересмотреть пару любимых паттернов в вашем проекте.

поехали ...

Ревизор приехал: pg_anon проверяет, всё ли скрыто

Level of difficultyEasy
Reading time21 min
Reach and readers1.8K

В современной разработке мы постоянно сталкиваемся с дилеммой: для эффективной работы командам нужны реальные данные, но их использование несет существенные риски безопасности. Как тестировать функциональность на реалистичных данных, не подвергая риску конфиденциальность пользователей? Как предоставить аналитикам доступ к данным, сохранив при этом их статистические свойства? Как обеспечить безопасную разработку в условиях постоянно ужесточающегося законодательства?

В этой статье мы разберем практический подход к решению этих проблем с помощью pg_anon – инструмента для автоматической анонимизации данных в PostgreSQL. Я постараюсь рассказать вам основной сюжет работы с производственными данными, не замедляя при этом разработку.

Читать далее

Что ищет он в краю далёком? Как найти смысл жизни с PostgreSQL

Level of difficultyMedium
Reading time31 min
Reach and readers4.7K

Эта статья родилась из пары лекций, которые я прочитал студентам в рамках курса, посвященного вопросам машинного обучения. Почему именно PostgreSQL? Почему векторы? За последние два года тема языковых моделей стала невероятно популярной, и вместе с этим появилось множество инструментов, доступных даже начинающему инженеру, стремящемуся познакомиться с миром текстового анализа.

Доступность этих технологий открывает безграничные возможности для их применения в самых разных областях: от систем управления знаниями до «копилотов», помогающих более тщательно анализировать анамнез пациентов, или информационных киосков, позволяющих собрать идеальную корзину товаров для пикника.

Вряд ли данная работа может похвастаться полнотой или глубиной, однако, я надеюсь, что она предоставит те самые “хорошие” точки входа, которые позволят, погружаясь в детали, открыть для себя множество новых интересных и полезных тем для исследований и инженерных проектов.

Откроем скрытые смыслы

Быстрее пули: как найти счастье с PostgreSQL

Level of difficultyEasy
Reading time24 min
Reach and readers11K

В этой статье мы расскажем о том, как эффективно реализовать полнотекстовый поиск с помощью PostgreSQL. Узнайте, как улучшить скорость и точность поиска по текстовым данным, используя такие инструменты, как tsvector, tsquery и индексы GIN, и как эти возможности могут значительно повысить производительность вашего приложения.

Читать далее

ИИ и сумерки всеобуча

Level of difficultyEasy
Reading time3 min
Reach and readers632

Учить всегда сложно. Учить массово и хорошо — это уже из области фантастики. Но что если на помощь придет искусственный интеллект? В этой статье я расскажу, как ИИ может помочь педагогам не сойти с ума, сохранить нервы и даже превратить учебный процесс в что-то похожее на удовольствие. В общем, поговорим о том, как большие языковые модели могут спасти школу от всеобщего "всеобуча" и при этом не взорвать мозг преподавателю.

Читать далее

Кластеры и мир: хроника высокодоступного Pub/Sub в Redis

Level of difficultyEasy
Reading time22 min
Reach and readers6.1K

В статье рассматриваются основные принципы и особенности использования Redis в режиме Pub/Sub для масштабируемых и высоконагруженных приложений. Описаны два подхода к обеспечению высокой доступности — Redis Sentinel и Redis Cluster, их преимущества, ограничения и примеры настройки. Приведены примеры использования Pub/Sub в реальных системах, а также практические конфигурации и код для настройки отказоустойчивого кластера Redis. Статья предназначена для разработчиков, которые ищут решения для создания надежных систем обмена сообщениями с высокой производительностью и отказоустойчивостью.

Читать далее

Полнотекстовый поиск в java приложениях с помощью Elasticsearch

Level of difficultyEasy
Reading time41 min
Reach and readers4.2K

Рассмотрим, как использовать Elasticsearch в качестве поискового движка в приложениях на Spring Boot. Поговорим о стратегии реализации полнотекстового поиска, эффективной индексации сущностей JPA и их связей. Уделим внимание использованию аннотаций полей, настройке релевантности с помощью весовых коэффициентов и реализации нечёткого поиска для обработки вариаций запросов. Также обсудим методы настройки синонимических связей, многоуровневых фильтров и ранжирования результатов по релевантности для повышения качества поиска.

Читать далее

Information

Rating
513-th
Location
Тверь, Тверская обл., Россия
Works in
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
From 700,000 ₽
Проектирование архитектуры приложений
Создание архитектуры проектов
Высоконагруженные системы
Базы данных
PostgreSQL
Java
Java Spring Framework
Docker
Kubernetes
Apache Kafka