Пандемия испепелила расстояния, и все знания мира оказались на расстоянии клика. Именитыми конференциями в онлайне уже никого не удивишь, пришла пора поискать сокровища в глубинке.
И мы тут как тут. За изоляцию мы сделали 6 онлайн-митапов, сегодня делимся материалами с трёх, организованных при участии коллег из EPAM и Контура. На каждом рассматривали по две темы:
Backend
Публичные контракты — как обеспечить их согласованность.
ElasticSearch, и для чего его НЕ надо использовать.
Мобильная разработка
Навигация в Android-приложении, её кроссплатформенная реализация.
Как и зачем писать свой фреймворк на iOS. Создали в прямом эфире. (EPAM)
AI Meetup
Аугментация текстов: как сделать из мухи слона.
Сокращение длительности чатов техподдержки с помощью машинного обучения. (Контур)
Далее ссылки на записи и подробности о каждом.
Backend Meetup
Публичные контракты — как обеспечить их согласованность:
к каким проблемам приводит недостаточное внимание к публичным контрактам;
инструменты (Swagger, OpenAPI, gRPC) и подходы для работы с контрактами на всех этапах разработки ПО;
опыт применения OpenAPI в нашей платформе Sungero;
способы версионирования и тестирования контрактов (CDC).
ElasticSearch, и для чего его НЕ надо использовать:
для чего нужен и из чего состоит ES;
про опыт его использования в Directum: сборка и анализ логов, полнотекстовый поиск;
как организовать грамотный полнотекстовый поиск на русском языке и не изобретать грабли.
+ наши наработки на GitHub: плагин морфологии для качественной быстрой лемматизации и модификация библиотеки Tika (что меняли, смотри в докладе). Пригодится, если делаете поиск на русском языке.
Мобильная разработка
Доклад про iOS представил приглашённый разработчик из Минского EPAM Игорь Набоков.
Запись лежит в вк и на гугл-диске.
Навигация в Android-приложении:
как работает навигация, её кроссплатформенная реализация и проблемы, с которыми столкнулись при рефакторинге навигации в Directum Solo — ECM-приложении;
как выделять новые объекты навигации, как строить диплинки, как их вообще реализовать, как сделать версии iOS и Android максимально похожими;
посмотрели фреймворки, разобрали решения на С#, Xamarin с дополнительным коротким экскурсом в среду — поймут все.
Свой фреймворк на iOS:
Игорь доказал, что написать свой фреймворк может оказаться простым приятным делом и крутой строчкой в резюме: open-source, автоматизация разработки. Да и разработка для разработчиков — это интересно.
Рассказал про свой опыт, объяснил, зачем, как, чем может создаваться iOS-фреймворк, какие возникают проблемы, как их решать. Разобрали на примере библиотеки телематики.
Для практики взяли такую ситуацию: есть набор классов, который нужно собрать в библиотеку, допустим, какой-то логер. Посмотрели, как из этого сделать бинарный фреймворк, как добавить в fastlane нужные сценарии, как создать репозиторий в CocoaPods, как опубликовать CocoaPods, как залить бинарную часть, например, на s3, как потом создать новое приложение и подключить этот самый свежеопубликованный фреймворк.
AI Meetup
Тему машинного обучения для чатов техподдержки раскрыл Константин Фролов из Контура.
На пару минут позже включили запись.
Аугментация текстов: как сделать из мухи слона
Работаете с NLP? Отметьте галочкой, где болит:
мало размеченных данных;
данные одинаковые, и модель заучивается только на них, не понимая, что делать, когда встречает что-то другое;
мало сил и времени, чтобы разметить больше данных.
Мы столкнулись со всем этим при решении задачи из области NER. И решили их с помощью аугментации.
Сокращение длительности чатов техподдержки с помощью машинного обучения:
Константин Фролов рассказал, как в Контуре разрабатывали оптимальное ML-решение.
Обычно у оператора в работе несколько обращений параллельно. Часто чаты, в которых неожиданно прекратилась активность, например, пользователь ушёл, остаются открытыми. Такой чат продолжает занимать слот оператора и мешает продвижению очереди обращений.
Ребята создали модель машинного обучения, которая автоматически определяет, когда можно закрыть диалог, и предотвращает затягивание чатов.
Судя по ситуации, тема с онлайн-митапами в Directum продолжается. Все следующие события будем освещать на https://meetup.directum.ru/.
Если есть предложения по темам и желание присоединиться в качестве докладчика - пишите по любым каналам @stalyonka или официально на strelkova_aa@directum.ru.
Надеюсь, были вам полезны! И будем.