MskDotNet Meetup #47 Online

Второй онлайн-митап MskDotNet пройдёт при технической поддержке Райффазенбанка

ИТ и интернет 16+

​​​Программа 47-й встречи

19.00 – 19.30 Андрей Сергеев. Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок.
19.30 – 20.00 Павел Московой. Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений.
20.00 – 20.10 Перерыв
20.10 – 21.10 Сергей Огородников. Практика построения сервисов на основе ViennaNET

 

Спикер: Андрей Сергеев

Тема: Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок.

 

Описание

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

Андрей расскажет, как участники команды банка, в которую он входит, вначале стали работать с nullability feature в C# версии 8, с каким ограничениями технологии столкнулись, какие были найдены решения и ограничения области применения технологии.

И как затем плавно перешли к большему — идее и реализации портирования в C# известных в функциональном программировании Unit, Discriminated (Tagged) Union, Optional и Result-типов, и какая в результат получается модель создаваемого программного обеспечения, от библиотечного уровня до моделей сущностей в микросервисах и заканчивая конечными точками (end-points).

Одна из важных тем доклада — то, как данный подход позволил разделить в разрабатываемых приложениях фатальные ошибки (исключения) и «ошибки», которые не являются «успехом», но являются одним из ожидаемых результатов.

О спикере

Андрей работает разработчиком программного обеспечения, специализируется на проектировании и разработке back-end.

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

В качестве основной платформы/языка разработки использует .NET Core / C#, также обращая внимание на смежные и конкурирующие платформы, языки и принципы — F#, Java, Kotlin, Ruby, динамическую типизацию для выработки решений, использующих принципы, и лишь затем — инструменты языка и платформы для их реализации. Старается в разумном объеме применять функциональный подход и композицию вместо объектного подхода и наследования.

Контакты: a.sergeev.official@gmail.com

​​​​​

Спикер: Павел Московой

Тема: Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений.

Описание

В .NET core для работы с HTTP принято использовать класс HttpClient. Он позволяет легко отправлять и получать данные. Однако возвращаемый ответ может отличаться в зависиомости от статус-кода. Для работы с ним удобно использовать функциональный подход и тип Result.
При этом для взаимодействия с SOAP часто используются автосгенерированные клиенты на основе встроенного механизма в Visual Studio. Такое решение несет в себе определённые проблемы, которые будут упомянуты в докладе.  
Павел расскажет, как участники команды банка, в которую он входит, выработали единый подход для работы с HTTP на основе REST и SOAP, разработав собственный движок, основанный на использовании HttpClient и функциональных компонентов.
Эта часть доклада является логичным продолжением рассказа Андрея о том, как с помощью функционального программирования можно разделить ошибки на фатальные и "ожидаемые". Это особенно наглядно можно продемонстрировать на примере обработки HTTP-ответов. Также будет показано применение разработанного движка для построения клиентов удалённых сервисов на основе REST и SOAP, альтернативных механизму предлагаемому по умолчанию в Visual Studio.

О спикере

Павел работает архитектором приложений в команде, занимающейся разработкой страховых продуктов банка. Специализируется на проектировании и разработке back-end.

 

Спикер: Сергей Огородников

Тема: Практика построения сервисов на основе ViennaNET

Описание

При разработке микросервисов одним из челленджей является создание универсальной базы (платформы) для быстрой и эффективно разработки сервисов. Сообщество .NET разработчиков Райффайзенбанка разработало и внедрило в компании такую платформу. В этом году мы сделали следующий шаг – дали нашей платформе название ViennaNET вывели её в open source. В данном докладе представлен обзор библиотек, входящих в нашу платформу, а также в режиме live coding продемонстрировано её использование.

О спикере

Профессионально разрабатывает на C# с 2005 года, пришёл в .Net за пару месяцев до того, как подвезли generics. Сейчас работает старшим разработчиком в Райффайзенбанке в команде, занимающейся разработкой продуктов для HR. Интересуется DDD, software architecture, разработкой анализаторов кода, немного ФП.

Дополнительную информацию о встречах MskDotNet Community Вы можете найти в группах сообщества:

VK https://vk.com/mskdotnet
FB https://www.facebook.com/mskdotnet/
Twitter https://twitter.com/mskdotnet

Telegram https://t.me/mskdotnet

Подписывайтесь на новости, задавайте вопросы, участвуйте в жизни сообщества!

 

Поделиться:

1414 дней назад
11 июня 2020 19:00–22:00

Событие пройдет онлайн

Уже есть билет
Ссылка на онлайн-событие рассылается за час до его начала.
Получить ссылку

Поделиться:

Связь с организатором

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Возврат билета

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

Подробнее о возврате билетов