В этой статье мы расскажем о том, как эффективно реализовать полнотекстовый поиск с помощью PostgreSQL. Узнайте, как улучшить скорость и точность поиска по текстовым данным, используя такие инструменты, как tsvector
, tsquery
и индексы GIN
, и как эти возможности могут значительно повысить производительность вашего приложения.
Кластеры и мир: хроника высокодоступного Pub/Sub в Redis
В статье рассматриваются основные принципы и особенности использования Redis в режиме Pub/Sub для масштабируемых и высоконагруженных приложений. Описаны два подхода к обеспечению высокой доступности — Redis Sentinel и Redis Cluster, их преимущества, ограничения и примеры настройки. Приведены примеры использования Pub/Sub в реальных системах, а также практические конфигурации и код для настройки отказоустойчивого кластера Redis. Статья предназначена для разработчиков, которые ищут решения для создания надежных систем обмена сообщениями с высокой производительностью и отказоустойчивостью.
А о техническом долге я скажу…
Бывало у вас такое, что приходилось вставлять не самое лучшее решение в код, только чтоб успеть сдать задачу перед условной выставкой? Или идет работа над проектом в течение уже пару месяцев, а документация откладывается на потом когда все устаканится - поздравляю, вы “счастливый” обладатель технического долга. Не стоит расстраиваться, это частая жизни, которую следует принять и проработать как на сеансе психолога для комфортной жизни в будущем.
Для начала определим цель текущей работы. Это МВП для проверки бизнес-гипотезы - мы можем забыть о “техдолге” и бежать вперед для получения нужных метрик. Надо сделать пару задач, где сроки “вчера” - вставляем подходящие решения с мыслью о будущем рефакторинге. Тут главное правильно понять дальнейшее развитие проекта, чтобы после наших технических решений были понятны масштабы работ по накопившимся обязательствам. Это как с кредитом, который мы берем в банке и будем возвращать в будущем, да еще и с процентами. Проведите верхнеуровневый анализ проекта и поймите на каком вы этапе и куда хотите прийти. Картинка в помощь.
Полнотекстовый поиск в java приложениях с помощью Elasticsearch
Рассмотрим, как использовать Elasticsearch в качестве поискового движка в приложениях на Spring Boot. Поговорим о стратегии реализации полнотекстового поиска, эффективной индексации сущностей JPA и их связей. Уделим внимание использованию аннотаций полей, настройке релевантности с помощью весовых коэффициентов и реализации нечёткого поиска для обработки вариаций запросов. Также обсудим методы настройки синонимических связей, многоуровневых фильтров и ранжирования результатов по релевантности для повышения качества поиска.
Изменения и как их преподнести команде
Приветствую вас, дорогие читатели. Тружусь в IT сфере с 2016 года. Так вышло, что свое ремесло я нашел не сразу и пробовал себя в программировании, аналитике и теперь занимаю должность руководителя проекта. Простыми словами управляю командой в Ростелеком Информационные технологии. Меня зовут Радик. Приятно познакомиться
В этой статье хочу поделиться небольшим опытом транслирования изменений в рабочем процессе на свою команду.
Изменения являются неотъемлемой частью современного рабочего мира и касаются всех отраслей. Так уж повелось, что в ИТ изменения явление довольно частое (гибкость и все такое): они могут быть инициированы событиями планетарного масштаба или, например, связанными с изменением в руководстве.
Сказочный вопрос: кто такой бизнес-аналитик?
Один раз мне задали вопрос: чем бизнес‑аналитик отличается от секретаря? Казалось бы, разработке ПО в России уже больше 2х десятков лет, но роль бизнес‑аналитика до сих пор вызывает вопросы.
В принципе, вместо секретаря можно добавить любую другую профессию и спросить: а чем БА отличается от бухгалтера, от юриста или технического писателя?
Автотесты на Java для websocket на SockJS
Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.
В статье хочу рассказать о своём опыте автоматизации тестирования websocket. О том какие грабли собрал и какой в итоге велосипед изобрёл.
aldaas — БД с заготовлеными данными для разработки, CI/CD и всех-всех-всех
Каждому твоему разработчику нужна база близко похожая на продакш, но она очень тяжелая, чтобы каждое утро выкачивать её к разработчику в его локальную среду, теперь есть решение - поможет aldaas.
Продукт, который можно «пить»
Процесс улучшения любого большого проекта — длинный путь, который приходится пройти команде. От сложности нахождения точек улучшений, чтобы все согласились их принять, до нескольких итераций изменений для каждой, чтобы добиться прогресса. Именно про такой путь мы сегодня и расскажем.
Мы — два сотрудника Ростелеком ИТ Алешин Алексей и Сердюк Нэлля. Наши проекты — большие порталы по видеонаблюдению на государственных мероприятиях (Единый день голосования, Единый государственный экзамен).
С учетом специфики данных мероприятий, у нас не так много шансов выпускать функционал ненадлежащего качества. Если у нас что‑то пойдет не так — выборы второй раз не проведут, а коммерческие и репутационные риски будут слишком большими. Работа у нас больше сезонная, но готовимся мы к ней круглый год. Важно понимать, что порталы лишь фронт офис всей экосистемы видеонаблюдения, что накладывает на нас дополнительную ответственность перед всеми. Ведь именно с нашим продуктом чаще всего взаимодействует пользователь.
Дизайн экосистем
В 2024 году на рынке существует довольно большое количество экосистем цифровых продуктов: как для B2C-сегмента, так и для B2B. И если просто в поисковике вбить «как создать экосистему», вы получите кучу статей от аналитиков, продактов, бизнеса. Однако, если попробовать сформулировать запрос с конкретикой по дизайну (например, «как создать дизайн для экосистемы продуктов»), мы получаем классную выдачу, в которой экосистемой называют дизайн-систему. И это ужасная подмена понятий, так как дизайн-система является всего лишь одним (хоть и очень значимым) из ингредиентов вкуснейшего экосистемного дизайн-борща.
Что же входит в этот борщ?
Автоматизация Juniper на Python
Добрый день, Habr! Меня зовут Сергей, я старший эксперт в компании Ростелеком. В зоне моей ответственности эксплуатация сетевого оборудования компании (в основном маршрутизаторы и коммутаторы). Когда счет устройств, с которыми необходимо работать, идет на тысячи, обойтись без автоматизации решительно невозможно.
Значительная часть моей деятельности - автоматизация работы с оборудованием различных моделей и производителей, для чего, как правило, я использую скрипты на Python.
Наша компания, конечно, занимается импортозамещением, но исторически у нас, как во всем телекоме, использовалось оборудование различных производителей, например, Juniper. Опытом автоматизации сбора информации и подходами к обслуживанию оборудования этого производителя я и хочу поделиться.
Неочевидные трудности роста IT-специалиста
Идея этой статьи родилась из обсуждения в чате канала «UI фэйл» (https://t.me/uifail), который ведёт мой коллега и друг Денис Пушкарь. В процессе сборки материала я обращался к коллегам из других команд и направлений (в том числе разработки, тестирования и аналитики), чтобы подтвердить или опровергнуть свои умозаключения, так как тема весьма обширная, а пишет статью по ней человек из сферы дизайна.
Во многом я буду ссылаться и на свой собственный опыт, и на наши устоявшиеся процессы в компании. Надеюсь, дорогой читатель, что ты найдёшь эту статью полезной, а также почерпнёшь для себя некоторую пищу на подумать.
Также сразу оговорюсь, что далее по тексту буду использовать привычную терминологию уровней специалиста (джун, миддл, сеньор, ведущий, тимлид), однако эта оценка весьма условна и, на мой взгляд, требует существенного пересмотра. Например, у нас в дизайн-студии Ростелекома используется градация из 12 уровней каждого навыка, в которой мы умышленно отказались от стандартных ярлыков. Для простоты изложения в этой статье я к ним вернусь.
Ниже по тексту я распишу трудности, с которыми сталкивается специалист в IT на всём протяжении своего роста, и о которых очень мало говорят.
Нетипичные сценарии использования BI-системы (Apache Superset)
Всем привет!
Сегодня поговорим о немного нетипичной для меня теме, а именно — Apache Superset. Обычно я пишу длинные «философские» статьи «на свободную тему», но в этот раз — это будет туториал. Так что кому‑то может показаться банальностью, но, опять таки, вдруг кому поможет. Почему‑то именно по суперсету на Хабре оскорбительно мало материалов. Да, у него в целом неплохая документация, но она все же — документация, поэтому в меру сухая, в ней нет дополнительных объяснений, примеров. Попробуем хоть немного исправить эту ситуацию.
110-килограмовый «Медоед», или как устроен полуфиналист «Битвы роботов»?
«Медоед» — это робот, один из полуфиналистов инженерного соревнования «Битва роботов», который появился на свет благодаря команде талантливейших студентов СПбПУ "Всеядные" и "Ростелекому". И сегодня мы познакомим вас с этим стальным зверем и его создателями!
Электронные книги? Аудиокниги? Смешать, но не взбалтывать
Отпуск - замечательное время, которое не занято работой, а значит можно и нужно заняться тем, чем давно хотелось - хобби. Сегодня поговорим об одной из любимых тем - читалка и все, что с ней связано.
Оптимизация работы с Camunda на основе External task
Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.
Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяют выполнять описанные процессы.
Как мы в проекте работаем с camunda
В задачи проекта входит разбор и маршрутизация заказов с вызовами разных внешних API. Camunda используется в проекте для запуска разных процессов, построения маршрутов процесса с установкой соответствующих статусов, обработкой ответов внешних API с разными кейсами и ожиданием в процессе изменений статусов заказа.
Чек-лист: что изучать джуну, кроме «матчасти»
Привет! Меня зовут Илья, я – DevRel в «Ростелекоме» и «Ростелекоме Информационные Технологии». Как современная компания мы постоянно совершенствуемся и поощряем это у наших сотрудников: от стажёров до опытных специалистов. Поэтому когда как не в начале учебного года поговорить об обучении. А именно о том: что важно знать любому айтишнику.
Но современный айтишник — это больше, чем просто мастерство кода и знание теории. Особенно это касается джунов как только желающих выйти на рынок, так и стремящихся освоиться на своём новом (и часто – первом) рабочем месте. На вопросы о том, что выделит вас в глазах работодателя, что значительно облегчит адаптацию на работе и представит вас в более выгодном свете на фоне исключительно «технических» коллег – постарались ответить вместе с специалистами «Ростелекома».
Самый бесполезный человек в тестировании
Знакомьтесь. Это Игорь. И он самый бесполезный человек в тестировании.
Так считает он сам и подозревает, что того же мнения о нем коллеги.
Давайте попробуем разобраться чем он занимается и как проходит его рабочая неделя. Попытаемся определить как много пользы он приносит и приносит ли вообще.
Оптимизация процесса поставки ценности, с чего стоит начать
Оптимизация процессов, как много в этой фразе многозначности!
Как она по-разному понимается инженерами и менеджерами!
(Картина для привлечения внимания, создана в Kandinsky 2.2)
В статье ниже я разберу, что делать с этой самой оптимизацией процессов и рассмотрю несколько примеров. Переходите под кат :)
Оптимизация SQL-запросов в Oracle
Всем привет. Меня зовут Михаил Потапов, я - главный системный аналитик компании "Ростелеком Информационные Технологии". В компании занимаюсь разработкой отчетности для сегмента B2B и проектированием хранилища данных, на базе которого эта отчетность функционирует. Работоспособность каждого отчета напрямую зависит от корректно выстроенных SQL-запросов к базе данных Oracle, поскольку при работе с большими объемами данных скорость выполнения запросов может существенно снижаться. Снижение скорости сильно затрудняет работу с отчетами для конечного пользователя, а в некоторых случаях и вовсе делает ее невозможной.
В этой статье мы рассмотрим основные принципы оптимизации запросов в Oracle SQL, которые помогут ускорить работу с базой данных и повысить эффективность работы. Сразу отмечу, что статья рассчитана на junior и middle-специалистов, которые пишут сложные запросы к базе данных, работают с большими объемами данных и при этом ранее с вопросом оптимизации не сталкивались. Статья не содержит подробное руководство к действию, но описывает базовые основы "культуры кода", соблюдение которых позволит снизить нагрузку на БД и даст возможность более эффективно извлекать из нее данные.
Информация
- Дата регистрации
- Дата основания
- Численность
- свыше 10 000 человек
- Местоположение
- Россия
- Представитель
- Vatuhaa