В этой статье я расскажу, как, используя недокументированные возможности фреймворка Apache Spark, качественно подобрать гиперпараметры для модели градиентного бустинга всего за один человеко-день вместо обычных пяти.
Краткосрочное и долгосрочное планирование в Scrum и agile
Эта статья помогает понять, как команды в Scrum и agile могут давать гарантии и сроки, сохраняя гибкость в планировании. Она будет полезна тем, кто заинтересован в четких сроках реализации доработок: заказчикам, пользователям, владельцам продукта, другим командам и отделам. А также разработчикам — для понимания, почему сроки так важны стейкхолдерам и как можно вести диалог о сроках, сохраняя при этом гибкость.
Hibernate — проблема декартова произведения при запросах с пагинацией
Привет! Меня зовут Артём Гордиенко, я работаю Java/Kotlin-разработчиком в Росбанке и занимаюсь разработкой микросервисов, необходимых для внешнеэкономической деятельности интернет-клиент-банка юридических лиц. Реализация этого доклада стала возможной благодаря одному-единственному сообщению, обнаруженному в логах одного нового микросервиса. Как оказалось, причина сообщения серьезно влияет на производительность приложения. Мне это показалось довольно интересным, и захотелось поделиться информацией с другими разработчиками.
Многие сталкиваются с реализацией вывода списочных данных с пагинацией из БД. В Spring Data и в самом Hibernate есть стандартные решения, которые позволяют достаточно просто решить эту задачу. Но у предлагаемых решений есть подводные камни, и со временем или даже сразу они могут серьезно повлиять на производительность. В худшем случае — и вовсе привести к падению приложения.
В этом посте, основанном на моем докладе с JPoint 2023, я расскажу, при использовании каких стандартных решений вы столкнетесь с падением производительности и какие есть эффективные варианты реализации запросов с пагинацией. Также обсудим баги в Hibernate 6, которые я обнаружил.
Как создать интерактивный дашборд с нуля через ChatGPT
Всем привет! Меня зовут Татьяна Яковлева, я работаю системным аналитиком в Росбанке в Центре компетенций развития технологий некредитных продуктов. В этой статье я расскажу, как использовать ChatGPT для визуализации данных и построении дашбордов при помощи Python и фреймворка Dash; поделюсь готовыми промтами для создания дашборда за несколько минут.
Особенности асинхронности в Python
Привет, Хабр! Меня зовут Николай Нагорный, я работаю в Росбанке над платформой Advisors’ Axiom. В этом посте я подробно расскажу о важной фиче, которая появилась в Python 3.5 — асинхронности. Затрону основные концепции и инструменты, приведу примеры кода. Пост будет полезен новичкам для понимания основ асинхронности и, может, даже опытным разработчикам в поиске новых идей и подходов.
Как мы отказались от поддержки Internet Explorer в интернет-клиент-банке и никто не пострадал
Добрый день, на связи Дмитрий Захаров, фронтенд-разработчик Росбанка. В этом посте я поделюсь тем, как мы отказались от поддержки Internet Explorer в интернет-клиент-банке для крупного бизнеса. Расскажу, как мы к этому пришли, как организовали процесс и что получилось в результате.
Как мы подружили Postman и Zephyr
Всем привет! Меня зовут Вова Романов, я занимаюсь развитием инструментов тестирования в Росбанке. В прошлом году мы перешли на платформу тест-менеджмента Zephyr Scale и сейчас активно внедряем ее в команды. Недавно задались вопросом: а можно ли передавать результаты запросов Postman в тестовые прогоны Zephyr с определенным количеством проверок (тестов) в каждом запросе? Ведь есть API Zephyr для публикации результатов, и нужно всего лишь подружить его с результатами запросов Postman. Готового рецепта в Сети не нашлось, так что в это посте я поделюсь тем, как это сделали мы.
Микрофронтенды с Module Federation: истории внедрения в готовый проект и создания с нуля
Используем аннотацию @Transactional like a pro
Привет, Хабр! Меня зовут Никита Летов, я тимлид бэкенд-разработки мобильного приложения Росбанка для физических лиц. Этот пост входит в серию постов по разработке бэкенд-микросервисов на Java и Spring и является адаптацией моего доклада с JPoint 2022.
Также хочу предупредить, что данный пост не cookbook и не предоставляет идеально приготовленное решение какой-либо бизнес-проблемы. Это разбор одной технологии, которая при правильном использовании может помочь вам в решении реальной проблемы. А может и не помочь — всё зависит от ее природы.
Тестирование Kafka Streams: глубокий разбор
Привет! Меня зовут Иван Пономарёв, я разработчик в Synthesized, преподаю в МФТИ и EEUAS. На этом митапе Росбанка и Jug.ru я расскажу о тестировании Kafka Streams и, в частности, об особенностях инструмента TopologyTestDriver. Этот доклад я подготовил совместно с Джоном Рослером (John Roesler), разработчиком из Confluent, коммитером и одним из продакт-менеджеров Apache Kafka.
Spring Data JPA: метод save и границы его применимости
Привет! Меня зовут Семён Киреков, я Java-разработчик и тимлид в Центре Big Data @МТС Digital и Java-декан в МТС Тета — образовательном стартапе в рамках МТС. На митапе Росбанка и Jug.ru я рассказывал о том, как устроен метод Save в Spring Data JPA, почему он может вызвать лишний select, как решить эту проблему и при чем здесь доменные события Spring. Здесь я поделюсь этой информацией с вами.
Оптимизация и кастомизация запросов с использованием Spring Cache и Scope Bean
Привет! Меня зовут Алексей Салаев, я Java-разработчик команды Corp Digital в Росбанке. В этом посте я расскажу, как можно оптимизировать и кастомизировать запросы в Spring: опишу потенциальные проблемы, оценю возможные пути решения и проиллюстрирую всё примерами.
Как не IT-компания работала с удержанием и развитием сотрудников в IT
Меня зовут Евгения Пелевина, более 8 лет я занимаюсь коммуникациями, проектами по корпоративной культуре, адаптации и развитию команд. Сейчас я работаю IT-менеджером в IT-команде Росбанка. Несколько месяцев назад мы были частью французской финансовой группы Société Générale, сейчас Росбанк — часть группы «Интеррос». У нас работает около 10 тысяч сотрудников в 60 регионах России, из которых примерно 1600 человек — в IT.
Ниже я расскажу про то, как мы пересмотрели формат работы с сотрудниками в IT, как разбирались с текучкой в банке, с которой столкнулись в 2020 году. Опыт может быть полезен нанимающим руководителям и HR в IT, а также всем, кто работает над удержанием и развитием своих сотрудников. Статья написана по мотивам моего доклада на конференции HR API в июне.
Happy Developer: как мы создали полноценный BYOD в банке
Спрос на IT-специалистов неуклонно растет последние пять лет, и чтобы привлечь новых сотрудников, компании стараются удовлетворить все требования кандидатов. Комфортный офис — ок. Привычный технологический стек — ок. Удобная удаленка… вот здесь есть оговорки. Мы как банк постоянно работаем с большими объемами конфиденциальных и личных данных, с тем, что составляет банковскую тайну. Повышенные требования к ИБ, защита от утечек данных, фрода налагают много ограничений на возможности удаленки, которые может предложить финтех. Из-за этого снижается привлекательность компаний для соискателей. В этом посте мы расскажем о проекте Росбанка Happy Developer, благодаря которому наши сотрудники могут получать полный доступ к защищенным сервисам в формате BYOD, то есть с любого устройства, имеющего выход в интернет.
Как устроена техподдержка сотрудников в IT-компаниях: опыт Росбанка, КРОК и X5 Tech
18 июля мы организовали митап, темой которого стали актуальные инструменты для техподдержки сотрудников. О том, как эти решения реализованы у них, рассказали трое руководителей поддержки в компаниях из разных отраслей — Александр Денисов и Вячеслав Куксов из Росбанка, Ярослав Сальников из КРОК и Юрий Пчелин из X5 Tech. Далее в посте — текстовая версия всех выступлений.
Как и почему мы внедрили Greenplum в КХД
Привет, Хабр! Меня зовут Максим Солопин, в Росбанке я работаю архитектором корпоративного хранилища данных. В этом посте я расскажу о том, как мы переезжали из data lake, куда ежедневно сваливались все сырые данные, в удобную систему на основе Greenplum. А по дороге немного затрону развитие моделей корпоративных хранилищ данных.
Организация IPAM и переезд с phpIPAM в NetBox: советы и подводные камни
В прошлой статье я рассказал о том, как наладить кабель-менеджмент в NetBox — популярном опенсорс-инструменте для документирования инфраструктуры. В этом посте я перейду к тому, как организовать IP-адресацию и, по заявкам читателей, затрону перенос данных в NetBox из phpIPAM. Все процессы будут проиллюстрированы скриншотами NetBox версии 3.2, до которой мы обновились в тестовой среде.
Автоматизация рутины в финтехе: опыт Росбанка
Есть стереотип, что финансы — это консервативная сфера, где нет места айтишному веселью. Взять хотя бы швейцарские банки, где до сих пор используется ПО, написанное на Коболе: скука, стресс и ответственность за чужие миллионы.
Какое-то время всё так и было, но ситуация меняется. Банки вышли в онлайн, им нужны новые инструменты — а ведь их должен кто-то разрабатывать, развёртывать и поддерживать. IT-отделы растут, процессы трансформируются и усложняются. Появились по-настоящему творческие задачи и одновременно возросло количество рутины, которую неплохо бы автоматизировать.
Как и любой финтех, Росбанк уже не просто банк, а целая сеть связанных и не очень услуг, продуктов и сервисов. Большинство из них развёрнуты в сторону клиентов, но есть и те, что смотрят в светлые глаза сотрудников IT-департамента. Про них сегодня и пойдёт речь. А точнее, про команду автоматизации инфраструктурных задач и их основной продукт — внутренний портал MyGTSSpace.
Ведение систем IPAM и DCIM в NetBox: начинаем с кабельного журнала
Привет! Меня зовут Дмитрий, в Росбанке я занимаюсь автоматизацией сетевой инфраструктуры. Этим постом я начинаю серию публикаций о NetBox — популярном опенсорс-инструменте для документирования инфраструктуры на уровне IP-адресации (IPAM) и железа (DCIM). NetBox ценен тем, что даже с базовой функциональностью «из коробки» он предоставляет множество возможностей, не говоря уже о допиливании через форки. Далее я представлю NetBox подробнее и на нашем примере расскажу, с чего начинать работу.
Опенсорс как разумный выбор для банка: чему мы научились, когда уходили от vendor lock
Коробочные решения хороши тем, что позволяют переложить доработку и внедрение на поставщика ПО. И поначалу всё идёт хорошо: не тратится время на разработку, стоимость решения высокая, но адекватная.
Однако не всё так радужно: помимо лицензии приходится оплачивать поддержку, даже если для конкретного продукта она на данном этапе не нужна. В контрактах многие услуги появляются прицепом, просто потому, что они являются частью коробки. Кроме того, стоимость обновлений с каждым годом растёт, тогда как старые версии перестают поддерживаться. Запросы на доработку продукта под себя долго согласовываются, а иногда выясняется, что нужную фичу просто невозможно прикрутить в разумные сроки по разумной цене. Когда подобные вещи всплывают, у руководства неизбежно возникают вопросы вида «Что делать?», «Можно ли не платить?» и «Зачем платили, если можно было не платить?».
В посте мы рассказали, как разбирались с зависимостью от вендоров в Росбанке: с какими специфическими для финтеха трудностями столкнулись, как с ними справлялись и чего в итоге удалось достичь банку на ниве open source.