Функциональные тесты на проекте: жизнь до и после

Наша команда отвечает в Skyeng за личный кабинет и CJM пользователя до оплаты. Изначально проект был написан на Symfony 4.4 и представлял собой набор слабо связанных компонентов, которые были ответственны за правила работы для фронтенда. Например,…

Зачем использовать materialize и dematerialize операторы, и что такое Notification в RxJS?

Вы когда-нибудь встречали такие операторы, как materialize и dematerialize в RxJS? А что насчет класса Notification? Вероятно, многие слышали, но не до конца представляли, где их можно применить на практике.В этой статье я расскажу, что делают эти опер…

Матчинг преподавателей и учеников с помощью ML

Недавно перед командой аналитики подбора преподавателей встала задача усовершенствования модели матчинга учеников преподавателей. Перед вами статья о том, как мы это делали. Читать далее…

Архитектура на «микросервисах» в монолите: примеры из практики

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

Погружаемся в работу со скроллом в Jetpack Compose

В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose.Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project приложение Хотелки, суть которого в записи своих желаний …

Создать динамический компонент теперь проще: изменения в Angular 13

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

Как UIView мешал слоям анимироваться

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