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

Postman: почтальон на страже API

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

Привет! Меня зовут Бальцер Вадим, я QA-инженер в команде android направления Банки.ру. Сегодня поделюсь нашим опытом внедрения автотестов обратной совместимости и интеграции их в CI. 

В материале расскажу: 
1) зачем нашей команде понадобились автотесты для контроля обратной совместимости API, почему мы выбрали Postman CI.
2) с чего начали: базовые вещи + полезные советы для начинающих.
3) есть ли жизнь за гранью проверок схемы.
4) CI и интеграция с ТестОпс.
5) к чему пришли и какие перспективы видим.

Также добавлю примеры примеры кода и небольшие советы, которые могут пригодиться, если вы еще только присматриваетесь к Postman как к инструменту автоматизации проверок API.

Читать далее
Всего голосов 14: ↑13 и ↓1+16
Комментарии2

Jira, Golang и немного фантазии: строим конвейер для создания новых сервисов

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

Привет! Меня зовут Андрей, я Head of Platform в финансовом маркетплейсе Банки.ру. Со мной Борис Зырянов, go/php разработчик. Сегодня расскажем о том, как мы разработали и внедрили процесс создания сервисов одной кнопкой. 

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

В материале расскажем: 

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime

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

Всем привет! Меня зовут Фарид, я занимаюсь iOS-разработкой в компании Банки.ру.

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

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

В этой статье мы: 

1) пройдёмся по основным подходам к поиску утечек; 
2) попробуем найти способ сделать его обнаружение утечек менее болезненным;
3) выясним, можно ли каким-то образом застраховаться от утечек в будущем развитии проекта.

Читать далее
Всего голосов 14: ↑14 и ↓0+22
Комментарии18

Как мы управляем секретами в Банки.ру: Vault HashiCorp и мечта об одной безопасной кнопке

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

Привет! Меня зовут Лев, я руководитель интеграционной разработки в финансовом маркетплейсе Банки.ру.

Больше года назад мы начали переход на микросервисную архитектуру. Секретов становилось всё больше: пароли, токены, сертификаты, ключи. А управлять ими было всё сложнее. Количество команд давно перевалило за несколько десятков, а интеграций с партнерами, которые также защищены секретами, — за сотню.

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

1. В чем заключалась проблема в управлении секретами, как мы её решили и как могли бы улучшить этот процесс.
2. Какие способы хранения секретов существуют и как их можно интегрировать.
3. Как можно реализовать хранение через Vault.
4. Что такое политики доступа и как они применяются к структурам секретов.
5. Варианты реализации, которые наилучшим образом подходят для нашей конкретной ситуации.

Читать далее
Всего голосов 16: ↑14 и ↓2+16
Комментарии12

Домашний сервер на базе Proxmox

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

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps‑инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

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

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

Читать далее
Всего голосов 54: ↑52 и ↓2+58
Комментарии139

Повышаем Data Quality: щепотка Soda для ваших данных

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

Привет! Меня зовут Александр Кудрявцев, я аналитик данных в команде Data Platform Банки.ру. Недавно мы озадачились вопросом контроля качества данных (Data Quality) и стали искать комплексное решение. Один из инструментов, который попал в поле зрения, — Soda Core. О нем и пойдет речь в материале.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии3

Гайд по использованию JUnit 5, Mockito и AssertJ для проверки поведения кода

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

Меня зовут Игорь Симаков, я тимлид Java-разработки в команде Маркетплейс Банки.Ру. Сегодня на практическом примере разберу использование UNIT-тестирования. Оно применяется как для тестирования состояния, так и для проверки поведения кода. В этом материале сосредоточусь на последнем аспекте. Покажу, как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии3

Yandex Data Proc для ML: ускоряем Embedding на Spark

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

Меня зовут Дмитрий Курганский, я Tech Lead команды MLOps в Банки.ру.
Мы работаем над тем, чтобы грамотно организовать и ускорить этапы жизненного цикла ML. В этой статье поделюсь нашим опытом применения Embedding: от запуска Яндекс Data Proc кластера через Airflow до оптимизации этапа применения Embedding с помощью Spark.
Материал в целом будет актуален для этапа применения (inference) любых моделей для больших наборов данных, работающих в batch режиме по расписанию.

Читать далее
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Что такое semantic-release и как с ним работать

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

Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект. 

Читать далее
Всего голосов 13: ↑11 и ↓2+15
Комментарии5

Путь iOS-разработчика: как я много собеседовался и попал на стажировку

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

Привет! Меня зовут Адам, мне 25 лет, и сейчас я прохожу стажировку в Банки.ру как iOS-разработчик Я пробовал себя в разных специальностях — получил финансовое и менеджерское образование, занимался бухгалтерией, стал кандидатом в мастера спорта, был тренером по фитнесу, — но в итоге пришёл к мобильной разработке.

Поскольку новую профессию я осваивал на курсе «iOS-разработчик» в Практикуме, а сейчас продолжаю развиваться по специальности, я решил осветить в данной статье не только опыт учебы, но и свой путь в целом.

Читать далее
Всего голосов 7: ↑5 и ↓2+5
Комментарии7

Как устроен @State в SwiftUI

Время на прочтение7 мин
Количество просмотров3.3K

Привет! Меня зовут Илья, я iOS разработчик в компании Банки.ру
Уже больше двух лет наше приложение мы пишем на SwiftUI.

В статье расскажу о Property Wrapper'е @State.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Банки.ру: от монолита до микрофронтендов

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

Всем привет! Меня зовут Марсель Абдрахманов, я фронтлид в Банки.ру. В статье хочу поделиться нашей историей ухода от монолита к микрофронтендам. У нас в Банки.ру большой отдел веб-разработки, за последнее время мы сильно выросли, ежедневно катим десятки релизов на прод. Расскажу, как мы относительно быстро внедрили микрофронтенды и перешли на архитектуру, которая позволила сократить время доставки обновлений на прод с двух дней до нескольких часов.

Если интересно, прошу под кат.
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing

Время на прочтение9 мин
Количество просмотров3.3K

Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.
В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): 

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

Статья — мой субъективный взгляд на технику как бэкенд-разработчика. QA инженеры могут со мной поспорить и, скорее всего, будут правы.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith

Время на прочтение8 мин
Количество просмотров3.1K

Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. 

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Как автоматизировать проверки данных в Airflow с Great Expectations

Время на прочтение7 мин
Количество просмотров3.4K

Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow.

Читать далее
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

SwiftUI: от сомнений к успешному внедрению

Время на прочтение10 мин
Количество просмотров4K

Всем привет, меня зовут Фарид Хусаинов, я тим-лид команды мобильной разработки Банки.ру. Мы делаем iOS-приложения компании Банки.ру, а именно – наше основное приложение и приложение, посвященное страхованию.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии10

Четыре года с умным домом: личный опыт и интересные сценарии

Время на прочтение22 мин
Количество просмотров55K

Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии64

Сервис есть – владельца нет: как справиться с сервисами-сиротами в микросервисной архитектуре

Время на прочтение7 мин
Количество просмотров3.6K

Привет! Меня зовут Андрей, я head of platform в финансовом маркетплейсе Банки.ру. 

Для создания своих продуктов мы применяем микросервисный подход. Он помогает нам ускорить разработку и делает ее гибкой и управляемой. Но как в любом подходе, у него есть темная сторона, проявление которой может создать кучу неприятностей и осложнить работу над проектом. Сегодня хочу поговорить об одном из таких аспектов — о сервисах-«сиротах» (так мы их ласково называем в Банки.ру, поэтому дальше кавычки ставить не буду).

Эта статья – оптимистичное и структурированное продолжение моего доклада на ту же тему, с которым я выступал в 2018 году. Текстовая версия есть на Хабре.

Годы взаимодействия с разномастными сиротами помогли их классифицировать, поэтому захотелось уделить больше внимания тому, какие сироты бывают, чем они опасны или хороши (такое тоже случается), каких нужно возвращать в семью, а от каких отказываться. Чтобы было зрелищнее и веселее, использовал образы и иллюстрации из мира «Гарри Поттера» в целом и «Фантастических тварей» в частности, прошу понять и простить. Права на изображения незыблемо принадлежат братьям Уорнер – и всё такое.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

Безопасность в деталях: исследование cистемы защиты от CSRF

Время на прочтение6 мин
Количество просмотров8K

Атаку, при которой хакер пытается выполнить авторизованный запрос на вашем сайте, используя доступ, предоставленный пользователем, называют CSRF-атакой (cross-site request forgery – межсетевая подделка запроса). Это огромная проблема для любой платформы (и особенно финтех) с многотысячной аудиторией. 

Меня зовут Алексей, я разработчик команды Платформа Banki.ru. Я занимаюсь, в частности, разработкой новой платформы на node.js, на которую у нас сейчас переезжают многие сервисы. Ниже я подробно расскажу о том, как мы искали самый надежный способ защиты от CSRF-атак, чем руководствовались при выборе решения и как его реализовали.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

ИТ Стажировка в продуктовой компании? Казнить(,) нельзя(,) помиловать

Время на прочтение11 мин
Количество просмотров5.9K

Привет! Меня зовут Павел, я Head of Mobile в финансовом маркетплейсе Banki.ru. Сегодня я хочу остановиться не на mobile и нашей внутренней кухне направления, а рассказать про опыт создания программ стажировок на базе наших продуктовых команд. Поговорим о подходах, подводных камнях, первых результатах, да и вообще о целесообразности создания подобных программ.

Читать далее
Всего голосов 8: ↑5 и ↓3+4
Комментарии3
1

Информация

Сайт
www.banki.ru
Дата регистрации
Дата основания
2005
Численность
501–1 000 человек
Местоположение
Россия