Пандемия испепелила расстояния, и все знания мира оказались на расстоянии клика. Именитыми конференциями в онлайне уже никого не удивишь, пришла пора поискать сокровища в глубинке. И мы тут как тут. За изоляцию мы сделали 6 онлайн-митапов, сегодня делимся материалами с трёх, организованных при участии коллег из EPAM и Контура. На каждом рассматривали по две темы: Backend Публичные контракты  — как обеспечить их согласованность. ElasticSearch, и для чего его НЕ надо использовать. Мобильная разработка Навигация в Android-приложении, её кроссплатформенная реализация. Как и зачем писать свой фреймворк на iOS. Создали в прямом эфире. (EPAM) AI Meetup Аугментация текстов: как сделать из мухи слона. Сокращение длительности чатов техподдержки с помощью машинного обучения. (Контур) Далее ссылки на записи и подробности о каждом. https://youtu.be/3NLzI4L-diA Публичные контракты — как обеспечить их согласованность: к каким проблемам приводит недостаточное внимание к публичным контрактам;  инструменты (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, как потом создать новое приложение и подключить этот самый свежеопубликованный фреймворк. Тему машинного обучения для чатов техподдержки раскрыл Константин Фролов из Контура. На пару минут позже включили запись. https://youtu.be/DuRVIn1BGAg Аугментация текстов: как сделать из мухи слона Работаете с NLP? Отметьте галочкой, где болит: мало размеченных данных;  данные одинаковые, и модель заучивается только на них, не понимая, что делать, когда встречает что-то другое;  мало сил и времени, чтобы разметить больше данных. Мы столкнулись со всем этим при решении задачи из области NER. И решили их с помощью аугментации. Сокращение длительности чатов техподдержки с помощью машинного обучения: Константин Фролов рассказал, как в Контуре разрабатывали оптимальное ML-решение. Обычно у оператора в работе несколько обращений параллельно. Часто чаты, в которых неожиданно прекратилась активность, например, пользователь ушёл, остаются открытыми. Такой чат продолжает занимать слот оператора и мешает продвижению очереди обращений.  Ребята создали модель машинного обучения, которая автоматически определяет, когда можно закрыть диалог, и предотвращает затягивание чатов. Судя по ситуации, тема с онлайн-митапами в Directum продолжается. Все следующие события будем освещать на https://meetup.directum.ru/. Если есть предложения по темам и желание присоединиться в качестве докладчика - пишите по любым каналам @stalyonka или официально на strelkova_aa@directum.ru. Надеюсь, были вам полезны! И будем. пиарщик