Побудова парсерів в C#: від теорії до практики. Кейс Uklon про розбір Conditional Restrictions тегів в OSM
Презентація доповіді
Робота застосунку Uklon тісно пов'язана з картами та їх специфікою. У своєму спічі хочу поділитися цікавим кейсом, з яким ми зіштовхнулись нещодавно. Якщо коротко, то є дорога з обмеженнями по часу — в один час по ній можна їхати, в інший — ні. Ці обмеження задаються тегами Conditional Restrictions в OSM (Open Street Map). Тому маємо потребу такі теги парсити та обраховувати відповідне обмеження на будь-який момент часу. Для парсингу ми обрали парсинг-комбінатори, а для обрахування розробили свою логіку, яку теж трошки зачепимо під час презентації.
Адженда:
- Що таке парсер-комбінатори
- Порівняння парсер-комбінаторів з регулярками та повноцінними парсерами
- Що таке Conditional Restrictions теги в OSM та в чому їх складність
- Чому для розбору Conditional Restrictions тегів в OSM обрали саме парсер- комбінатори
- Як парсити такі теги за допомогою парсер-комбінаторів
- Як потім обчислити Restriction
- Summary

Юрій Науринський
Uklon
- .NET/C# Technical Lead в Uklon
- понад 7 років досвіду роботи з технологіями .NET
- автор вебінарів по тестуванню для C# розробників та освітніх курсів за напрямами тестування ASP.NET Core MVC додатків та Entity Framework Core
- сфери інтересів: designing autocomplete & routing solutions, clean & performant code, grokking algorithms, functional programming, DDD, advanced testing techniques
- GitHub, LinkedIn