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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Java Digest #24

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

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

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

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

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

Scala Digest. Выпуск 28

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

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

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

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

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

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

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

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

Читать далее

Тестирование CAP-теоремы на примере MongoDB

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

Привет, Хабр! Я Сергей Гайдамаков. Уже 28 лет я занимаюсь проектированием и разработкой программных систем различного масштаба. Сейчас работаю в Т-Банке системным аналитиком и проектирую системы, которые в совокупности составляют большую распределенную систему. 

Несмотря на большое число статей про CAP-теорему, есть трудности ее практического применения при создании распределенных программных систем. Я описал результаты тестирования набора реплик MongoDB в штатных и аварийных ситуациях, параметры запросов для достижения требуемых свойств CAP-теоремы. А еще развенчал некоторые заблуждения и мифы относительно базы данных MongoDB. 

Читать далее

Как улучшить предсказуемость поставки дизайна с помощью метрик эффективности команды

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

Привет! Меня зовут Егор Стремоусов, я тимлид команды продуктовых дизайнеров платформы TWork Обслуживания в Т-Банке. Расскажу, как моя команда повысила предсказуемость поставки дизайн-задач, какие методы и инструменты мы для этого использовали.

Читать далее

Как работает Robolectric и почему это важно знать

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

Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют. 

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

Читать далее

Неизвестные пробелы в тестовом покрытии

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

Тестирование — это наука не о том, чтобы доказать, что программа работает корректно, а о том, чтобы доказать, что она работает НЕкорректно. И если доказать это не удалось, то с какой-то вероятностью программа работает корректно. Остается некоторый пробел. Давайте рассмотрим, что за это за пробелы, откуда берутся и как можно их минимизировать.

Читать далее

Демоприложения: как жить, когда у вас 90+ application-модулей

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

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

В предыдущей статье основной акцент был на сокращении времени сборки и синхронизации кода с Android Studio. Но так уж выходит, что, решая одну проблему, мы порождаем другие. Если раньше был один единственный application module, к которому подключались все остальные модули для сборки в конечный артефакт(apk, aab), то сейчас таких модулей стало приблизительно на 90 больше.

Меня зовут Роман Заремба и я расскажу, как мы ушли от кода интеграции в application-модулях, пересмотрели базовые решения, придумали подход collector + initializer, перешли на библиотеку App Startup, избавились от нее и стали использовать стандартный Java ServiceLoader.

Читать далее

Методы анализа текстовых данных пользовательских обращений

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

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

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

Хотя процент уникальных обращений на линию поддержки с проблемой от рекламы затрагивает менее 0,2% от MAU, учитывая масштаб активной базы пользователей, на ежемесячной основе мы получаем порядка 20 тысяч сообщений о проблемах, связанных с рекламными уведомлениями.

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

Читать далее

Java Digest #23

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

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

В этом выпуске будет много релизов, один из них — новый майлстоун Spring 7.0.0, а еще — новые версии Quarkus и Kora. Снова узнаем, как сделать Spring быстрее, вспомним старые хорошие доклады в новом формате и посмотрим на фичи Java 24 на примере крестиков-ноликов.

Читать далее

Как мы пишем ML-приложения с использованием паттерна пайплайнов

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

Привет, Хабр! Я Тимофей Милованов, ведущий Golang-разработчик в команде VoiceKit, где мы занимаемся голосовыми технологиями. Мы разрабатываем сервисы по распознаванию и синтезу голоса, преобразованию одного голоса в другой, а еще голосовой биометрией.

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

Читать далее

Scala Digest. Выпуск 27

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

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

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

Пользовательская документация: как мы применили к ней лучшие мировые практики

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

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

Статья будет полезна всем, кто занимается и интересуется документацией: техническим писателям, владельцам продуктов, менеджерам, тимлидам.

Читать далее

ServerSocket на Android в пределах одной сети

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

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

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

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

Читать далее

Сценарии использования ServerSocket

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

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

Читать далее

Битфлипаем зашифрованный JSON, не зная структуры: разбор демозадачи с T-CTF 2025

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

Проводим третий T-CTF для ИТ-специалистов, которые хорошо разбираются в коде. Соревнования пройдут онлайн и офлайн 19—20 апреля, так что пока есть время подготовиться. В статье расскажем, что нового будет в этом году, и разберем одно демозадание.

Если вы уже ко всему готовы, переходите на страницу мероприятия. Там можно узнать подробности и зарегистрироваться. Новичков в CTF и тех, кто хочет узнать решение интересных задач, приглашаем под кат.

Читать далее

Java 24! Спецвыпуск Java Digest

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

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

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

Как сделать полезный дашборд: советы и идеи

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

Привет! Меня зовут Роман, и я уже больше 10 лет занимаюсь мониторингом: использовал множество систем, часто приходилось работать с дашбордами. За это время скопилось несколько советов, самыми полезными хочу поделиться в этой статье.

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

Информация

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