Pull to refresh
16
2.9

Пользователь

Send message

Основа Kotlin K2 компилятора — это FIR‑дерево (Frontend Intermediate Representation).

Вкратце: FIR — это AST (абстрактное синтаксическое дерево), обогащённое семантической (смысловой) информацией. Оказывается, что у этой основополагающей технологии есть своя небольшая документация: fir‑basics.md и в той части, где написано про контракты указано (в моём вольном переводе), что:

Компилятор разрешает использовать контракты в свойствах, функциях и конструкторах классов

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

А где находится то самое ограничение на использование контрактов вне функций описал Android‑разработчик Виталий Перятин в новой статье о Kotlin Contracts, где он поделился любопытными моментами, которые удалось накопать самостоятельно, потому что как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на уровне компилятора можно использовать контракты не только на уровне функций, в доках не пишут.

Tags:
0
Comments0

Как ускорить Android-разработку и избавиться от мучительно долгих запусков эмуляторов ради простого теста? 

Ответ — Robolectric — мощный инструмент для UI‑тестирования Android‑кода без эмулятора. 

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

В Android‑комьюнити у Robolectric неоднозначная репутация из‑за трудностей совместимости с другими библиотеками. Но…его почти бесценные возможности пробудили любопытство и желание копнуть глубже и осмыслить этот инструмент. 

Так и родилась статья «Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам» от Павла Нестеренко, нашего Android-разработчика.

Если вы устали ждать, пока эмулятор запустится, и хотите гонять юнит-тесты за секунды прямо в JVM, то рекомендуем статью к прочтению!

Tags:
0
Comments0

Настройка КриптоПро HSM Client на Suse/RedHat/ROSA Linux

Подготовили пошаговую подробнейшую инструкцию со скриншотами для разработчиков информационных систем со встроенными СКЗИ по настройке КриптоПро HSM Client на Suse, RedHat и ROSA Linux (включая ошибки, которые позволяет обойти данное руководство) для того, чтобы использовать HSM как самостоятельный криптографический провайдер с выполнением всей математики на борту или в качестве надежного хранилища ключевого материала.

Заходите, читайте, сохраняйте в закладках.

Tags:
+3
Comments0

Alfa AppSec Meetup #1

Приглашаем на первый митап команды AppSec Альфа-Банка! На реальных кейсах расскажем:

  • чем живёт команда AppSec в банке,

  • как внедряем AppSec-практики,

  • разберём сервисную модель SSDLC на базе ASOC,

  • обсудим, как развиваем MLSecOps, почему AppSec уделяет всё больше внимания безопасности ML,

  • поделимся, как выстроили процессы в Offensive AppSec и как они помогают нам находить уязвимости до того, как это сделают другие.

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

Присоединяйтесь онлайн и офлайн — зарегистрироваться можно по ссылке.

Где: Москва, ул. Шарикоподшипниковской, д. 4, к. 4A., Exit Loft.

Tags:
0
Comments0

«В одной компании я была свидетелем того, как сотрудник в свой первый день вышел перепарковать автомобиль и не вернулся. Причина: новичка не познакомили с командой, не назначили наставника, не объяснили, чем ему предстоит заниматься. Вместо этого HR-менеджер привел его в опенспейс и оставил на несколько часов без внимания… За это время сотрудник решил, что это не его компания. И я его не осуждаю😅»

Это история из статьи Гузель «Онбординг здорового дизайнера» — дизайнера внутренних продуктов в Альфа-Банке. Не так давно она сама стала наставником для новичка и чтобы ситуация из истории не повторилась, сделала онбординг-страничку, где собрала всё, что может помочь в адаптации.

И благодаря доке новичок не сбежал, а прошел онбординг весело и бодро. 

А в статье поделилась шаблоном этой странички.

Онбординг здорового дизайнера: шаблон для интеграции новичка в продукт
Всем привет! На связи Гузель — дизайнер цифровых продуктов в Альфа-Банке. В одной компании я была св...
habr.com

Заходите, читайте, берите на вооружение, шаблон работает.

Tags:
+5
Comments0

Что происходит с JavaScript-кодом внутри V8?

Сначала любая программа подвергается лексическому анализу, который выполняет компонент V8 под названием Scanner. И он разбивает исходный код на поток отдельных токенов в соответствии с лексической грамматикой, описанной в спецификации ECMAScript.

Интересно, что невалидные программы, вроде...

const = = ;

...ещё не выдадут ошибку на данном этапе. Сканер спокойно разобьет нашу программу на токены и отдаст дальше, ведь проверка синтаксической корректности не его зона ответственности. Это зона ответственности Parser, который способен выявить все синтаксические ошибки.

Кстати, одна из ключевых особенностей Parser — генерация Abstract Syntax Tree, которое затем используется для создания байт-кода внутри Ignition. На основе полученных токенов из Scanner генерируется дерево, в котором каждый узел отражает языковую конструкцию: идентификатор, оператор, выражение или функцию.

Например, для кода...

const sum = (a, b) => a + b;

...мы получим следующее дерево:

VariableDeclaration (const)└── VariableDeclarator    ├── Identifier: sum    └── ArrowFunctionExpression        ├── Params        │   ├── Identifier: a        │   └── Identifier: b        └── BinaryExpression (+)            ├── Identifier: a            └── Identifier: b

Об остальном, что происходит на этапах лексического анализа и синтаксического анализа в V8, читайте в статье «Что происходит с вашим JavaScript-кодом внутри V8. Часть 1».

Tags:
+2
Comments1

Привет, меня зовут Александр, я аналитик в Альфа-Банке. Однажды я устал, что на Feature Store, на платформе для дата-инженеров (DE) и дата-саентистов (DS), невозможно ничего найти.

Поиск по контексту отсутствует. Приходится руками шерстить огромное количество ETL-проектов в поисках той самой полезной информации, полагаясь сначала на удачу, а после — на опыт и помощь коллег. 

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

И я сделал MVP с GPT-2: весит около ~400 МБ и, самое главное, не требует регистрации. В статье пошагово описал, как всё прикрутить. Заходите почитать.

Примечание. Для прома MVP, конечно, не прокатит, но после показа решения начали реализовывать решение на OpenSearch.

Tags:
+3
Comments1

Alfa Analyze IT Meetup #4

19 июня наше SA-сообщество проведёт четвёртый Alfa Analyze IT Meetup — поговорим о том, как оценивать навыки по матрицам компетенций, принимать решения о повышении и адаптироваться к изменениям от ИИ.

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

В программе:

  • процесс ассессмента для аналитиков в Альфа-Банке,

  • выстраивание и развитие матрицы компетенций системного аналитика Газпромбанк.Тех в эпоху цифровой трансформации,

  • развитие системных аналитиков в X5 Tech: от внутреннего поиска до повышения с опорой на матрицу компетенций,

  • архитектура DWH в Яндекс Go: технологии, подходы, матрица компетенций.

Присоединяйтесь онлайн и офлайн — зарегистрироваться можно по ссылке.

Где: Офис Альфа-Банка по адресу Москва, Андропова пр-т., 18 к.3, в трёх минутах пешком от метро «Технопарк».

Tags:
Total votes 3: ↑3 and ↓0+3
Comments0

Магистратура МФТИ и Альфа-Банка

Вместе с МФТИ Альфа-Банк открывает набор в магистратуру «Машинный интеллект в финансах». Обучим управлять циклом создания модели, анализировать и моделировать данные с помощью алгоритмов Python, а также решать прикладные задачи Machine Learning и Deep Learning.

Почему стоит попробовать:

  • Бесплатное обучение — все расходы покрывает Альфа-Банк.

  • Ежемесячная стипендия и оплачиваемая стажировка с первого дня.

  • Возможность попасть в IT-команду Альфа-Банка.

Что нужно:

  • Иметь диплом бакалавра или магистра.

  • Подать заявку и решить задачу по машинному обучению (кредитного скоринга или прогнозирования баланса клиентов).

  • Пройти вступительные испытания в МФТИ (подробнее о них на сайте МФТИ).

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

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

Architecture Meetup #2

Приглашаем на Architecture Meetup #2 — 21 мая в 18:30. Обсудим, почему процесс проектирования настолько сложен, как компании внедряют архитектурные репозитории, зачем нужна собственная система RSMА, а также к чему приводит использование архитектурных паттернов.

В программе:

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

  • Рассказа о том, как полностью изменился процесс создания архитектурных решений в банке — от ручного рисования разноцветных «детских» схем в Visio до масштабируемой автоматизации, которой пользуются сотни сотрудников, и зачем понадобилось изобретение собственного монстра Франкенштейна — системы RSM.

  • Обсудим, почему процесс проектирования ИТ-решений сложно представить в виде фиксированного набора задач, как адаптировать процесс проектирования к разным типам изменений.

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

Где: Офис Альфа-Банка по адресу Москва, Андропова пр-т., 18 к.3, в трёх минутах пешком от метро «Технопарк».

Присоединяйтесь онлайн и офлайн — зарегистрироваться можно по ссылке.

Tags:
Total votes 3: ↑3 and ↓0+3
Comments0

Обустройство рабочего места: от «бомж-уровня» до «мини-студии»

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

О процессе создания идеального комфортного места для работы (по версии автора) читайте в статье.

Tags:
Total votes 4: ↑4 and ↓0+4
Comments0

Как организовать обучение аналитиков дизайнерскому ремеслу?

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

№1. Интерфейсы и инструменты. Основной акцент на горячих клавишах, ускоряющих работу (масштабирование холста, выделение объектов и т. д.), массовых операциях (переименование слоёв, выбор одинаковых объектов, редактирование текста).

№2. Подключение библиотек и создание стилей. Создание собственных библиотек позволяет переиспользовать стили текста и цвета.

№3. Группы, фреймы, привязки, autolayouts. Это довольно сложный материал для восприятия — без достаточного опыта работы с графическими редакторами тяжело воспринимать все эти привязки, размеры фреймов и т. д.

Но чтобы упростить понимание, можно наглядно показать, как изменения в свойствах и размерах фреймов или autolayout’ов влияют на контент. Заходите почитать статью о том, как организовать обучение аналитиков дизайнерскому ремеслу.

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

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

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

Как не запутаться в многопоточности задач на разработку и внедрение, протестировать корректность работы, внедрить многомодульную модель и не сойти с ума?

Ответ на вопрос лежит на поверхности: разделяй и властвуй. Можно разделить модель на отдельные модули, распределить задачи по разработке этих модулей между дата-сайентистами, а потом соединить их с помощью отдельного сервиса, который будет отвечать за список используемых модулей и порядок вызова модулей. О том, как это решение внедрить, команда ML-инженеров поделилась в статье «Пайплайн каскадных онлайн-моделей: как не запутаться в модулях и обрести дзен при внедрении многомодульных моделей».

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

ИИ-агенты в Альфа-Банке: нейросети создают автотесты без участия человека

Не фантастика, а реальность: в Альфа-Банке мы внедрили ИИ-агентов, которые проектируют, разрабатывают и проверяют автотесты. При этом полностью автономно, как настоящие QA-инженеры, но в разы быстрее и точнее. Это первый в России кейс, когда нейросети полностью закрывают цикл создания тестов — от анализа требований до пул-реквеста.

✨ Что умеют наши агенты?

🧠 Анализировать контекст из Jira и Confluence, вычленяя суть задачи.
🔍 Прогнозировать риски, зависимости и даже «пограничные» сценарии.
🛠️ Генерировать DTO для REST API и превращать ручные сценарии в Java-тесты за минуты.
✅ Сверять код с бизнес-логикой и техстандартами Альфы, защищая прод от случайных ошибок.
🌐 Создавать вариативные проверки — от позитивных кейсов до сложных негативных условий.
⚡ Автоматизировать рутину — и это лишь часть их скиллов.

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

«Одна команда ИИ-агентов экономит десятки часов работы, увеличивает скорость релизов и находит на 30% больше багов», — делится Святослав Соловьев, Директор по генеративному ИИ в ИТ Альфа-Банка.

🔜 Скоро расскажем подробнее — как устроены агенты, какие технологии behind the scene и как мы измеряем их эффективность. Оставайтесь с нами!

Tags:
Total votes 3: ↑2 and ↓1+1
Comments0

Основа хорошей разметки — правильно подобранная команда и выстроенные процессы

Административных подходов к разметке данных несколько:

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

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

  3. Аутсорс-компании: сторонние команды, которые специализируются на разметке. Основное преимущество — масштабируемость и простота в администрировании для нас, как для заказчика. И плюс не нужна своя платформа разметки.

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

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

Tags:
Total votes 2: ↑1 and ↓1+1
Comments1

Взгляд архитектора в Alfa Talks #4: как создать дом для айтишника и может ли ИИ заменить архитекторов?

Как посредством пространства супермаркеты заставляют нас покупать больше, а стадионы помогают эвакуировать тысячи людей за минуты? Чем классическая архитектура отличается от digital? Можно ли создать идеальный город с помощью ИИ? Почему дачи для айтишников проектируются иначе? Поговорили про умные дома, их скрытые недостатки и как технологии меняют профессии будущего.

В новом выпуске подкаста Alfa Talks мы пригласили Никиту Маликова, основателя архитектурного бюро «Маликов + Партнёры». Он точно знает ответы на эти вопросы.

Слушать и смотреть выпуск:

🔗YouTube
🔗RuTube
🔗ВКонтакте
🔗Яндекс Музыка

В подкасте «Alfa Talks» от Альфа-Банка мы приглашаем в гости спикеров для обсуждения продуктовых тем в непродуктовых направлениях: от кулинарии и анимации до консалтинга и архитектуры. 

Tags:
Rating0
Comments0

Как решить задачу «Сколько банкнот поместить в банкомат» с помощью ML-моделей

Бывала у вас такая ситуация, когда хотели снять деньги в банкомате, а их там не оказалось, и приходилось искать банкомат рядом, про себя ругаясь на банк: «Неужели так сложно сделать, чтобы деньги в аппарате были всегда?» Да, это возможно, но есть нюанс.

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

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

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

Как решить задачу с банкоматами читайте в статье.

Tags:
Total votes 3: ↑2 and ↓1+3
Comments0

Когда и как зародился жанр научно-популярной литературы?

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

Книга называется «Разговоры о множественности миров», а автором является Бернар Ле Бувье де Фонтенель — французский писатель, учёный, поэт, член трёх академий Institut De France.

В «Разговорах» Фонтенеля описаны идеи Коперника в виде довольно обширного курса астрономии, изложенного живым и остроумным языком в формате диалогов. И его произведение было популярнее книг, собственно, самого Коперника. «Разговоры» выдержали 6 изданий  при жизни автора, а за последующие полтора столетия издавалась ещё 6 раз. Безумный успех даже по современным меркам. 

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

И это звание вполне заслуженно. А вот почему, описали (с доказательствами) в статье Как французский писатель сформировал зародыш жанра научно-популярной литературы. Заходите почитать.

Tags:
Rating0
Comments0

Как сократить JSON на 74% при 100 элементах?

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

Качество связи мы не можем контролировать, а вот уменьшить количество передаваемой информации посредством сокращения JSON, — вполне.

Нам нужна функция, которая могла бы вынести и переиспользовать общую логику. В нашем SDUI уже существует концепция «функций», и их разнообразные реализации, но ни одна из них не умела сокращать JSON, поэтому нужна была новая.

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

Детали реализации шаблонизации в статье.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Подкаст «Айтидо» №4: phygital-продукты, Markswebb и поиск баланса

Привет! Это подкаст «Айтидо» от команды мобильной разработки Альфа-Банка 🎙

В новом выпуске беседуем с Сергеем Болдыревым, CPO Phygital stream.

Обсуждаем карьерный путь от создания рок-группы до управления продуктами. Сергей делится опытом развития продуктов и рассказывает про рутину продакт-менеджеров. Он объясняет, почему продактам иногда легче в менеджменте, чем IT-специалистам, и почему важно избегать превращения в «пушеров». Говорит о лидерстве в рейтинге Markswebb и обсуждает с ведущими, как балансировать между бизнес-целями и IT-задачами.

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

Ссылки на подкаст:

🔗 RuTube
🔗 YouTube
🔗 ВКонтакте
🔗 Яндекс Музыка

А ещё подписывайтесь на Tелеграм-канал Alfa Digital, там много интересного о корпоративной культуре и технологиях.

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0
1

Information

Rating
1,768-th
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity