Обновить
131.78
ПСБ
Блог ИТ-команды ПСБ — банка из топ-4
Сначала показывать

Сад из обломков монолита: как ПСБ перешел на Scrum

Время на прочтение8 мин
Охват и читатели5.6K

Мы не внедряли Sсrum ради Scrum’а — мы хотели дать клиентам онлайн-доступ к продуктам и сервисам банка и использовать обычный проектный подход, а не кросс-функциональные команды. Но у этой задачи была особенность, которая вынудила нас прийти к гибкой методологии.

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

Читать далее

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

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

Эту статью я решил написать под впечатлением от выступления Евгения Ртищева (@katleta) на конференции Mobius. Так же как и в его докладе, в этой статье я хочу показать, как можно, используя подзабытые нативные средства iOS, без труда выполнять простые и очень частые задачи.

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

Читать далее

Как переиспользуемый провайдер данных помогает сократить код в iOS-приложении

Время на прочтение10 мин
Охват и читатели2.8K

В мобильных приложениях табличные экраны занимают значительное место в общем объёме интерфейса. Это происходит благодаря их возможности отображать большое количество контента. Но есть и обратный эффект — программирование таких экранов порождает много однотипного кода.

В прошлых своих статьях мы начали решать проблему шаблонного кода и его размножения путём введения нового подхода, а также поговорили об универсальном источнике данных для реализованных экранов. В этом тексте мы рассмотрим очередную подчасть нашего решения — конфигурируемый контроллер и фабрики для соединения всех компонентов воедино. Подробно и в деталях покажем, как реализовывать View-слой, придерживаясь принципов SOLID.

Вне зависимости от того, какую архитектуру (MVC, MVVM, VIPER и др.) вы используете, компоненты из этой статьи помогут сократить время разработки, поиска и исправления ошибок и добавления нового функционала.

Читать далее

Android: как подружить ваше приложение с Google Ассистентом?

Время на прочтение14 мин
Охват и читатели10K

Многие из вас прекрасно знают, что такое Google Ассистент. Это голосовой помощник, подобный Siri, Алисе, Алексе и другим. Когда пользователь что-то говорит, Google Ассистент понимает это с помощью natural language understanding (NLU). NLU преобразует человеческую речь в специальную структуру данных, которую уже можно обработать.

У разработчиков Android есть возможность интегрировать NLU в свои приложения через специальный api, который называется App Actions. Точнее, существует два вида интеграции: мы можем получить и использовать Deep Link из речи пользователя или получить данные из приложения, не открывая его, и показать их прямо в Google Ассистенте через Slice.

Читать далее

Исправление неоднозначных ограничений без перезапуска приложения

Время на прочтение4 мин
Охват и читатели2.5K

Примечание

Слова layout, autolayout и constraints я перевёл, соответственно, как вёрстка, автовёрстка и ограничения.

Работа с автовёрсткой

Проблемы автовёрстки решать непросто. Запуская приложение, надеешься, что все установленные ограничения работают корректно, а получаешь кучу ошибок автовёрстки в логах консоли.

Interface Builder неплох как визуальный редактор вёрстки. В нём есть индикация некорректных граничных параметров. Однако ваша вёрстка может отличаться от видимой в IB. На экран приложения могут влиять различные параметры — например, ответы на сетевые запросы или локально сохранённые данные. Более того, могут быть экраны, частично или полностью построенные на информации, заданной сервером. От сервера может поступать вообще всё что угодно, в том числе шрифты, цвета и формы.

Кажется, остаётся только вручную разбирать гигантский лог ошибок автовёрстки. Но есть и другие варианты.

Читать далее

Избавление от шаблонного кода: как будет выглядеть источник данных?

Время на прочтение9 мин
Охват и читатели3.7K

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

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

●      Покажем использование на конкретном примере,

●      Опишем результат с позиции SOLID,

●      Обсудим достоинства и недостатки подхода.

В основе решения лежат принципы SOLID. Цель состоит в том, чтобы составляющие элементы нашего подхода были независимыми, не влияющими друг на друга.

Читать далее

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS

Время на прочтение10 мин
Охват и читатели5.5K

Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:

1) реализация табличного источника данных (UITableViewDataSource);

2) реализация табличного делегата (UITableViewDelegate);

3) реализация обратных уведомлений вью об изменениях данных;

4) типичный код по работе с различными коллекциями (плоские, секционные списки на основе массивов, упорядоченных множеств и прочих коллекций) и преобразование их к табличным структурам для источника данных коллекции;

5) все предыдущие пункты придётся повторить, если вы вдруг решите использовать UICollectionView.

Такое большое количество шаблонного кода значительно увеличивает время разработки, тестирования и ревью. Для уменьшения time-to-market мы в ПСБ создали микромодуль, который скрывает в себе весь шаблонный код. Новый модуль представляет собой набор абстрактных реализаций, лёгких в переиспользовании и достаточно универсальных для использования в 90% общих задач. В этой статье расскажем подробности.

Читать далее

Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect

Время на прочтение17 мин
Охват и читатели18K

В основном идея использования CI/CD для iOS, да и для других платформ, — это автоматизация рутинной работы. Когда мы работаем над одним приложением, можем вручную собирать небольшой проект. Но команда растёт, хочется тратить время эффективнее, чем вручную собирать проект или объяснять новичкам, что же там с Code-signing нужно делать.

Пожалуй, самое рутинное и самое важное занятие, которое берёт на себя CI, — это прогон тестов. Нет зелёных тестов? В master не попадёшь. А с ростом команды вероятность того, что кто-то вольёт в master нерабочий код, будет только увеличиваться. Нужна автоматизация.

В этой статье я хочу подробно рассказать о пути настройки Gitlab CI + Fastlane + Firebase + Testflight. Примеры приводятся на основе одного проекта, в котором участвовали 10 разработчиков. В конце будут описаны проблемы, с которыми мы сталкивались, и их решения.

Для кого будет полезен этот опыт? Для всех, кому нужен CI/CD и кто сидит на Gitlab. Для Github будет другая связка, например с Travis, — остальные компоненты неизменны. В нашей команде все используют Gitlab CI, Fastlane вместо голого xcodebuild для быстроты и удобства разработки, Firebase и Testflight.

Если у нас бесплатный Gitlab и мы укладываемся в лимит Firebase, то получаем бесплатное решение по настройке CI/CD.

Читать далее
Каждый супергерой до поры не знает о своём предназначении. Илья Муромец пролежал на печи 33 года, думая, что он немощен, а доктор Брюс Беннер оказался в эпицентре взрыва гамма-бомбы и, спасая жизнь подростку, узнал, что он Халк. Ты сидишь на диване и, лениво листая Хабр, ждёшь знака свыше? Это он. Мы открываем набор в отряд героев финтеха. Тебе будут заданы вопросы из самых разных областей банковских IT, ответы на которые мы ищем в нашей повседневной работе. Докажи, что ты способен выйти за рамки узкой специализации, что ты универсальный гений и человек Ренессанса, готовый в одиночку держать IT-отдел финтех-компании на плаву.
Поехали!

Как мы запускаем новый сайт банка. Часть 2

Время на прочтение5 мин
Охват и читатели3K


Прошло полгода с момента публикации первой статьи о работе над сайтом банка. За это время Промсвязьбанк превратился в ПСБ, моя команда пополнилась еще тремя сильными спецами, мы запустили 300+ новых страниц на сайте, увеличив фокусные показатели и получив обратную связь от сотен пользователей.


Обо всем по порядку.

Читать дальше →

Как мы «очеловечили» бухгалтерию в мобильном банке

Время на прочтение4 мин
Охват и читатели2.8K

Если ты создаешь «Мобильный банк», будь готов к тому, что когда-нибудь придется заняться нетривиальной задачкой – сделать сервис мобильной бухгалтерии. Что в нем сложного? То, что это должно быть приложение, в котором нет ничего, напоминающего обычный бухгалтерский интерфейс.


Читать дальше →

История самого юного программиста ПСБ: хакатон стал дверью в банк

Время на прочтение4 мин
Охват и читатели3.4K
Так получилось, что я являюсь самым молодым разработчиком в ПСБ: когда пришел работать в банк, мне было 20 лет. В преддверии дня программиста хочу поделиться историей о том, как участие в хакатоне может практически в один миг изменить судьбу.

Два года назад я пробовал свои силы на хакатоне Промсвязьбанка в Самаре в качестве участника, а сейчас помогаю c кейсом нашего банка на VK Hackathon, который пройдет 27-29 сентября в Питере. Выступлю там в качестве ментора, буду направлять ребят на новые идеи и помогать в их реализации. Есть в этом что-то волнительное.


Читать дальше →

Чему учат горы: выбор айтишника

Время на прочтение5 мин
Охват и читатели6.5K
Что бы про нас не говорили, многие айтишники любят активный отдых и занятия спортом. Чаще всего это бег, велосипед, ролики. Иногда что-то индивидуальное и экстремальное: прыжки с парашютом, дайвинг, паркур. Но существует еще один способ разгрузиться и в то же время приобрести полезные для работы навыки – это альпинизм.


Читать дальше →

Поколение Arduino. Что изобретают современные школьники

Время на прочтение5 мин
Охват и читатели21K
Что скрывать, все мы в детстве пытались сконструировать что-нибудь техническое. Олдфаги еще помнят электроконструктор-радиоприемник, игры на программируемом калькуляторе и самодельные машинки на радиоуправлении. Сейчас, с появлением Arduino и LEGO Mindstorms, современным школьникам доступны новые горизонты. ПСБ совместно с Фондом содействия инновациям провели конференцию финалистов всероссийского конкурса «Шустрик» и выбрали 6 неплохих технических идей. Ваши оценки и истории о собственных первых изобретениях пишите в комменты.

Как мы нашли крутой способ связать бизнес и DevOps

Время на прочтение5 мин
Охват и читатели5K
Философией DevOps, когда разработка соединяется с обслуживанием ПО, уже никого не удивишь. Набирает силу новый тренд — DevOps 2.0 или BizDevOps. В нем в единое целое сливаются уже три компонента: бизнес, разработка и поддержка. И как в DevOps’e инженерные практики ложатся в основу связи разработки и поддержки, так и в биздевопсе аналитика берет на себя роль «клея», объединяющего разработку с бизнесом.

Хочу сразу признаться: о том, что у нас получился самый настоящий биздевопс, мы узнали только сейчас, почитав умные книги. Оно как-то само сложилось благодаря инициативе сотрудников и неуемной страсти к улучшениям. Сейчас аналитика — это часть производственного процесса разработки, значительно сокращающая петли обратной связи и регулярно снабжающая инсайтами. Расскажу подробно, как у нас все устроено.


Читать дальше →

Как мы запускаем новый сайт банка. Часть 1

Время на прочтение8 мин
Охват и читатели9.3K

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



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

Читать дальше →

Бэкап наготове: разрушаем мифы в честь праздника

Время на прочтение6 мин
Охват и читатели15K


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

Система быстрых платежей или невозможное возможно

Время на прочтение6 мин
Охват и читатели11K
Всего за 3 месяца мы запустили сервис переводов по Системе быстрых платежей (СБП), при этом другие банки-участники работали над проектом больше полугода. Как нам это удалось? Рассказываем о нашем опыте и силе SCRUM, матричного управления и корпоративной культуры.


Читать дальше →

Путь историка из HR в Java программисты: немного везения и упорства

Время на прочтение4 мин
Охват и читатели7.1K
Наверняка вам известны истории, когда кто-то целенаправленно начал изучать, скажем, Java, еще в школе, потом пошел в институт, на работу – и вот он уже программер в Силиконовой долине с внушительным окладом. Я хочу вам рассказать о совсем необычном пути в кодеры. Из историков через HR.


Читать дальше →

Как мы сократили выдачу кредита до 2 кликов

Время на прочтение5 мин
Охват и читатели8.4K
Недели, месяцы – такой срок приходит на ум, когда говорят об оформлении кредита. Наш продукт «Кредит Онлайн» должен был радикально изменить ситуацию, сократив всю процедуру до нескольких кликов. Невозможно? Разработчикам «Промсвязьбанка» удалось превратить это «хождение по мукам» в удобный «волшебный кошелёк».


Читать дальше →

Информация

Сайт
psblabdigital.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Наталья Низкоус