Рубрика «Блог компании «Альфа-Банк»» - 9

Большая миграция - 1

Предисловие

Привет, %username%! Этот год принес много интересных новинок и приятных новостей. Вышел долгожданный релиз Spring 5, с реактивным ядром и встроенной поддержкой Kotlin, для которой еще появится много всего интересного. Sébastien представил новый функциональный подход конфигурации Spring на Kotlin. Зарелизился JUnit 5. Близится релиз Kotlin 1.2 c улучшенной поддержкой мульти-платформенных приложений. И в этом году произошло знаменательное событие! Теперь Kotlin перешел от сборки на Groovy Dsl в Gradle на сборку с помощью Kotlin Dsl.

Как правило, начать сразу с нового стека проще, но всегда возникают вопросы насчет того, как реализовать старые подходы. Поэтому рассмотрим как на примере приложения написанного на Java, Spring Boot 1.5 (Spring 4+) с использованием Lombok и Groovy Dsl в Gradle, поэтапно перейти на Spring boot 2 (Spring 5), JUnit 5, Kotlin, и попробовать реализовать проект в функциональном стиле на spring-webflux без spring-boot. А также как перейти с Groovy Dsl на Kotlin Dsl. В посте основное внимание будет уделяться именно переходу, поэтому будет неплохо, если уже знакомы со Spring, Spring Boot и Gradle.

Для тех, кому лень читать, можно посмотреть пример кода на github, для всех остальных — прошу под кат:

Читать полностью »

Изоморфное приложение React JS + Spring Boot - 1

Про ReactJs, Java, Spring, рендеринг, Virtual DOM, Redux и прочие подобные вещи уже существует очень много всевозможных статей и практических наработок, поэтому я не буду в них углубляться.

Я не замерял производительность этой конструкции. Те кому интересно, могут провести свои личные тесты и сравнить например с NodeJS.

Я не особо заморачивался на стиле и качестве кода, так что извиняйте, кому не придётся по душе =)

Цель моей работы просто заставить работать воедино такие вещи как ReactJS + Redux + WebPack + Java/Spring.

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

С радостью исполняю желание читателей.
Читать полностью »

БЭМ + React: гибкая архитектура дизайн-системы - 1

Дизайн — это фашизм. Фашизму нужна питательная среда. Он начинает раскрываться в полной мере только на крупных масштабах. Идеальная среда для фашизма — это большая компания с огромным количеством продуктов. Например, Google или… Альфа-Банк. Фашизм априори не гибок…
Читать полностью »

Несколько дней назад, собрав друзей и партнеров и поговорив на тему HR в современном ИТ, финтехе и телекоме, мы решили организовать совместный хакатон именно на эту тему.

HR-hack — совместный хакатон от Альфа-Банка, Unilever, Leroy Merlin, КРОК и Билайн - 1


HR — прямо скажем, не самая любимая айтишниками сферами жизнедеятельности. А иногда и самая нелюбимая. Поэтому нам и партнерам захотелось немного изменить ситуацию. Получится или нет — покажет время, а пока мы приглашаем команды (и самостоятельных разработчиков), которые хороши в области веб-дизайна, маркетинга и разработки попробовать предложить решение одной из тем:

  1. Open Talent Economy;
  2. Мониторинг отношения к бренду работодателя;
  3. Digital Workplace;
  4. Сбор обратной связи.

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

А вот как все будет происходить.
Читать полностью »

Настройка двусторонней RSA и GOST аутентификации в приложении на JBoss EAP 7 - 1

Здравствуйте!

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

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

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

В этом году мы оценим работоспособность предлагаемых проектов применительно именно к Альфа-Банку.

Финтех-трек GenerationS — еще один шанс для вашего финтех-стартапа - 1

О том, что такое финтех-трек акселератора GenerationS, о 16 направлениях для отбора проектов и о том, как подать заявку и стать участником — под катом.
Читать полностью »

Как мы формируем команды и выстраиваем процессы для создания цифровых банковских продуктов - 1 О работе в IT-подразделениях банков принято отзываться негативно. Считается, что нормальному человеку там невыносимо скучно, что субординация не оставляет никакой свободы, а навыки, приобретенные в банках, никому не нужны. Также бытует мнение, что IT в банках — это парни за 40, с длинными волосами и тоской по временам Nirvana. В общем, говорят разное.

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

О сущности проектов и клиентоориентированности

— Мы не “придумываем” проекты и продукты. Не делаем сервисы ради сервисов. Мы сейчас находимся в парадигме клиентоориентированного подхода. Говоря по-человечески, идем от потребностей людей. “А как было раньше?” — спросите вы. Не будем кривить душой, что так или иначе раньше продукты и сервисы в России создавались, по большей части, исходя из интересов бизнеса.
Читать полностью »

Представьте себе сервис (или веб-приложение), который выдаёт вам сообщение вида «пятый символ введённого вами пароля неверный» в ответ на вашу попытку аутентификации. Выглядит абсурдно, не так ли? Предоставляя потенциальному злоумышленнику информацию подобного рода, мы попросту даём ему шанс «сбрутить» (подобрать, методом перебора) пароль от сервиса.

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

Тайминговая атака на Node.js — когда время работает против вас - 1

Сама по себе «тайминговая атака» или «атака по времени» — это нападение на систему по открытому каналу доступа, когда атакующий пытается скомпрометировать систему с помощью анализа времени, затрачиваемого на исполнение алгоритмов. Каждая операция (особенно математическая, будь то сложение, вычитание, возведение в степень и т.д.) требует определённого времени на исполнение, и это время может различаться в зависимости от входных данных. Располагая точными измерениями времени, которое расходуется на эти операции, злоумышленник может восстановить данные, необходимые для входа в систему.
Читать полностью »

Как на Java c помощью КриптоПро подписать документ PDF - 1

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

В данной статье хочу рассказать о следующих вещах:

  • преимуществах формата PDF в качестве документа с электронной подписью;
  • платформе Java, библиотеке itextpdf и СКЗИ КриптоПро CSP, как инструментах подписи;
  • о том, с какими трудностями пришлось столкнуться, о доработке itextpdf;
  • привести пример кода, выполняющего несколько подписей;
  • поговорить о целесообразности использования формата PDF в качестве документа с подписью.

Читать полностью »

Корутины в Kotlin (гайд) - 1

Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js