Как стать автором
Обновить
297.48
Сначала показывать

Краткий обзор платформы данных Т-Банка

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров5.8K

Привет, Хабр! Меня зовут Дима Пичугин, и уже семь лет я занимаюсь различными компонентами T Data Platform. Эта статья — результат внутреннего аудита наших инструментов, но я подумал, что она может быть интересна не только нашим аудиторам, но и более широкой аудитории. Enjoy!

Платформа данных в Т-Банке существует более 18 лет и за это время прошла значительный путь эволюции. Она помогает более чем 17 тысячам пользователей извлекать из данных ценную информацию для бизнеса. За последние годы подходы к работе с данными заметно изменились: индустрия постепенно отходила от классических концепций хранилищ данных по Инмону и Кимбеллу в сторону Data Lake, а затем — Lakehouse-архитектур. Вместе с отраслью менялась и наша платформа.

В статье расскажу, как трансформировалась T Data Platform за 18 лет развития, и опишу ее текущее устройство — без погружения в технические детали, но с акцентом на общую архитектуру. Для тех, кому интересны отдельные инструменты или решения, оставлю ссылки на подробные материалы и выступления.

Читать далее

Java Digest # 26

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.6K

Всем привет! 👋👋👋👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске будут материалы о том, как ускорить запуск приложений с помощью ReadyNow и CRaC — двух подходов к оптимизации старта. Разберем тонкости аннотации @TestInstance(PER_CLASS) в JUnit 5 и ее влияние на жизненный цикл тестов. 

Тем, кто работает со Spring, может пригодиться обзор Spring Debugger от JetBrains — плагина, который делает отладку наглядной и удобной. Еще будет доклад о повышении производительности Spring Data JPA и Hibernate. И в завершение — сравнение FFM API с Unsafe: посмотрим, какой трейдофф между скоростью и безопасностью предлагает новый подход. Приятного прочтения!

Читать выпуск №26

Как написать торгового робота для API Т-Инвестиций на Java

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4K

Привет! Я Алексей Кабанов, младший разработчик в команде публичного API Т-Инвестиций. Занимаюсь разработкой и поддержкой Java SDK и внутренних сервисов. Изучаю анализ рыночных закономерностей и программную реализацию алгоритмов торговли, построенную на них.

Расскажу о Java SDK для работы с API Т-Инвестиций и покажу, как использовать его для создания торгового робота. Мы сосредоточимся на стратегии, основанной на технических индикаторах, и продемонстрируем, как ее реализовать с помощью новых возможностей SDK.

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

Читать далее

Scala Digest. Выпуск 30

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров696

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцатый выпуск

Как мы с Camunda 8 переезжали

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.6K

Привет, Хабр! Я Вячеслав Тихонов, разработчик в команде, которая занимается бэкендовским движком для кредитных продуктов. Мы делаем так, чтобы правильно начислялись проценты по кредитам, переходили деньги по счетам, работали досрочные погашения и так далее.

Как только мы запустили запустили использование Camunda 8 в проде, произошла смена лицензии на ее серверную часть. Пришлось нам мигрировать на Temporal. Рассказываю, какие изначальные архитектурные решения помогли нам это сделать быстро и без проблем.

Читать далее

Агрессивный автовакуум —  ужасный to prevent wraparound, зачем он нужен и как держать его в узде

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров1.7K

Привет! На связи Дмитрий Руденко из команды Databases Т-Банка.

Благодаря обновленному мониторингу, команды стали чаще обращать внимание на на различные аспекты работы Postgres, так или иначе влияющие на общий перформанс сервиса. 

Один из таких аспектов  —  процесс уборки мусора, — autovacuum, вычищающий мертвые версии строк таблиц. В статье рассмотрим причины возникновения одного из самых неприятных подвидов —  autovacuum: to prevent wraparound.

Читать далее

Подходы к фильтрации данных на платформе .NET

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.9K

Всем привет! Меня зовут Александр Кулик, я .NET-разработчик из проекта шопинга в Т-Банке. Занимаюсь бэкенд-разработкой по интеграции и адаптации данных от наших партнеров и внешних сервисов, а также созданием собственных разработок в области платежных операций для B2B-сферы.

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

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

Читать далее

Надежность на масштабе в 45 млн клиентов — инструменты и практики

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров2.7K

Всем привет! Меня зовут Алексей Мерсон, я несколько лет работал Developer Advocate в Sage, платформе наблюдаемости Т-Банка. Эта платформа сама по себе очень немаленькая, со сложной архитектурой. Но если посмотреть на ландшафт экосистемы в целом, то Sage — всего лишь одна из платформ в Т-Банке, необходимых, чтобы наши услуги были надежными. А платформы, в свою очередь, — это тоже только часть более общей картины. 

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

Читать далее

Java Digest #25

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.4K

Всем привет! 👋

Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Читать свежий выпуск

Отказ от рекламы: ограничения методов оценки денежной стоимости

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.2K

Привет, Хабр! Мы команда T-Банка: Алиса — лидер проекта, Алексей — аналитик по клиентскому негативу, Влад — аналитик, разбирается в данных и превращает числа в гипотезы, Александр — исследователь-разработчик ML-алгоритмов. Мы изучаем, как коммуникации влияют на клиентов и как сделать их более точными и ценными для бизнеса.

Реакция клиентов на рекламу и их восприятие коммуникаций напрямую влияют на долгосрочные отношения. В T-Банке мы стремимся персонализировать предложения, минимизируя негатив, который может возникнуть при взаимодействии с рекламой.

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

Потом перед нами появилась задача посложнее: дать количественную оценку средней денежной стоимости отказа клиента от рекламы. Мы столкнулись со сложными причинно-следственными связями в поведении пользователей, и это привело нас к важному выводу: далеко не все методы дают быстрый практический результат в условиях реальных данных.

В статье мы поделимся опытом оценки стоимости отказа от рекламы на примере трех подходов — Stratified Random Sampling, Propensity Score Matching и FAISS, а также выводами, к которым пришли в итоге.

Читать далее

Scala Digest. Выпуск 29

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров767

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. 

Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать девятый выпуск

Эволюция Angular с колокольни UI-Kit-разработчика

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров4.1K

На этой неделе команда Angular отметила значимый юбилей в истории развития своего фреймворка — 20-ю мажорную версию! Лучше повода не найти, чтобы удариться в ностальгические воспоминания про путь развития Angular за последние 5 лет — за десять последних мажорных версий.

Предлагаю нестандартный подход к изучению темы. Возьмем непопулярную точку зрения: мой многолетний опыт разработки огромной коллекции библиотек с компонентами под Angular — продукт под названием Taiga UI. В статье мы опустим многие заезженные фичи каждой мажорной версии Angular и сфокусируемся на кажущихся мелочах, которые стали значимыми шагами в истории развития нашего семейства библиотек. Я постараюсь на время статьи дать примерить шкуру разработчика Angular UI Kit!

Читать далее

Как работать с CAPY

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров777

Привет, Хабр! Я Данил Трещев, работаю в T-Банке в команде Spirit Compute, которая отвечает за runtime-инфраструктуру. Сегодня я хочу рассказать, как работать с Cluster API Provider Yandex (CAPY). Мы разработали собственное решение, которое позволяет разворачивать k8s-кластеры в инфраструктуре Yandex Cloud.

Разберем, как развернуть Management Cluster и Workload Cluster с помощью инструментов управления кластерами. Материал подходит для обучения и тестирования. Итоговое окружение не будет готово к продакшену — для этого понадобятся дополнительные настройки безопасности и отказоустойчивости.

Добро пожаловать под кат все, кому интересно познакомиться с темой! 

Читать далее

Что у меня за распределение

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.1K

Привет! Меня зовут Василий, я ML инженер центра ML-экспертизы в обслуживании. В Т-Банке мы прогнозируем нагрузку на колл-центр: сколько придет обращений, какой длительности и некоторые другие характеристики. 

Нужно уметь переводить эту нагрузку в количество людей на линии. Для этого мы реализовали симулятор колл-центра. Для работы симулятора нужно понимать, как распределены те или иные случайные величины, и иметь численные характеристики соответствия наблюдаемых значений теоретическим распределениям. Это называется задачей (критериями) согласия: к какому теоретическому распределению вероятностей принадлежит данная выборка.

«Используй Колмогорова — Смирнова, да и все тут», — скажут мне. В принципе, да, но нет. Мы пойдем чуть дальше и попытаемся разобраться, как все устроено и какие есть ограничения. Расскажу, почему нельзя просто так применять критерии согласия, к каким это приводит ошибкам и как с этим быть.

Читать далее

Как я удалил clickstream, но его восстановили из небытия

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.4K

Всем привет! Я Дмитрий Немчин из Т-Банка. Расскажу не очень успешную историю о том как я удалил данные и что из этого вышло.

В ИТ я больше 12 лет, начинал DBA и разработчиком в кровавом энтепрайзе с Oracle. В 2015 году познакомился с Greenplum в Т, да так тут и остался. С 2017 года стал лидить команду, потом все чуть усложнилось и команда стала не одна.  Возможно, вы меня могли видеть как организатора Greenplum-митапов в России. 

Но команда командой, менеджмент менеджментом, а руки чешутся..

Читать далее

Быстрый алгоритм fulltext-поиска без токенизации

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров4.1K

Меня зовут Дмитрий Ольшанский, я ведущий инженер Т-Банка. Расскажу о новом (насколько мне известно) алгоритме поиска текста по шаблону. Такая задача возникла в рамках проекта Sage — observability-платформы от Т-Банка, для которой мы строим новый бэкэнд для структурированных логов, SageDB. 

Читать далее

Как мы систематизировали работу с техдолгом в своей QA-команде

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров998

Привет, Хабр! Меня зовут Илья, работаю инженером по обеспечению качества в Т-Банке. Пишу автотесты на Kotlin, занимаюсь ручным тестированием и стараюсь улучшать процессы в команде.

Недавно мой коллега рассказал об общих принципах и подходах при работе с техническим долгом QA. А я поделюсь шагами, которые помогли нашей команде улучшить повседневную работу.

За последние несколько месяцев мы внедрили алгоритм управления техническим долгом, который привел к заметным изменениям. Расскажу о нашем опыте, кейсах и метриках, которые помогли команде справляться с техническим долгом эффективно. 

Читать далее

Java Digest #24

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.1K

Всем привет! 👋👋👋👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске рассказываем о новых JEPs в OpenJDK, которые вошли в статус Candidate. Спойлер Applet API — RIP. В этом месяце вышли сразу IntelliJ IDEA 2025.1 и OpenIDE — эта битва будет легендарной! 

Мы добавили краткий обзор JavaOne’25. И, как обычно, собрали полезные статьи: как избавиться от Flaky-тестов с помощью JMina, как ZGC аллоцирует память в хипе. Сделали подборку материалов о паттернах и методологиях разработки и разбавили размышлениями о том, как писать хороший код и оставаться профессионалом. 

Читать свежий выпуск

Scala Digest. Выпуск 28

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.1K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать восьмой выпуск

Как мы научились эффективно работать с техническим долгом

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.9K

Доброго времени, Хабр! Меня зовут Эдвард. В сфере обеспечения качества я с 2012 года. Последние 7 лет работаю в Т-Банке, начинал со старшего специалиста по тестированию бэкэнда и работал в Т-Инвестициях. А сейчас занимаю позицию QA Head управления разработки социальных платформ.

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

Читать далее
1
23 ...

Информация

Сайт
l.tbank.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия