Последние полтора года на каждой из наших встреч мы рассказываем о том, почему продуманная и чистая архитектура мобильных приложений — это нужно и важно. За попытками спроектировать серебряную пулю мы очень часто забываем — или просто не уделяем достаточно внимания менее заметной части нашего кода — тестам.
Егор Толстой расскажет о том, почему не стоит обделять вниманием unit-тесты, как подходить к их проектированию и осуществлять постепенный рефакторинг. Выступление, как обычно, подкреплено зарядом личной боли и опыта от поддержки базы в 3.000 unit-тестов на одном проекте и 1.000 на другом.
Rambler.iOS - митапы iOS-разработчиков, организуемые компанией RAMBLER&Co.
В своих прошлых докладах (http://cpp-russia.ru/?p=198, и http://cpp-russia.ru/?page_id=1239) я рассказывал о C++ без исключений, как с эти жить, как работать. Этот доклад является продолжением этой серии. Я рекомендую освежить в памяти предыдущие доклады, чтобы наша работа была более продуктивной. Мы обсудим механизмы создания, копирования и перемещения объектов, механизмы аллокации и деаллокации памяти, а также обработку ошибок и исключений. Также мы обсудим проблемы и неудобства, которые испытывает программист, когда пишет код без исключений. В конце, я попытаюсь показать, как можно проектировать структуры данных, контейнеры для удобной работы в средах с исключениями и без исключений.
Хочется чего-то новенького, необычного? Тогда добро пожаловать в мир чудеc C++17:
if constexpr (auto& [number, ok] = variable; ok)
return "Hi"
else
return number + 42;
Вы услышите о новом стандарте C++, обнаружите для себя новые полезные классы, функции и возможности языка. Для каждой новинки я приведу примеры использования, расскажу о нюансах и подводных камнях.
А ещё вы узнаете о том, как проходят заседания комитета по стандартизации C++ и сможете задать интересующие вас вопросы связанные с нововведениями С++17 и С++Next.
Наверное каждый периодически сталкивается с проблемами асинхронности и обработкой ошибок при построении своего JavaScript приложения. Рассмотрим, как фреймворк Koa поможет решить нам данные вопросы на бэкенде с помощью генераторов. Какие имеются преимущества и недостатки по сравнению с Express. Расскажу на личном опыте, стоит или не стоит переходить на данный фреймворк.
Доклад с конференции D2D Pizza JS - http://dev2dev.ru/events/8/
Последние полтора года на каждой из наших встреч мы рассказываем о том, почему продуманная и чистая архитектура мобильных приложений — это нужно и важно. За попытками спроектировать серебряную пулю мы очень часто забываем — или просто не уделяем достаточно внимания менее заметной части нашего кода — тестам.
Егор Толстой расскажет о том, почему не стоит обделять вниманием unit-тесты, как подходить к их проектированию и осуществлять постепенный рефакторинг. Выступление, как обычно, подкреплено зарядом личной боли и опыта от поддержки базы в 3.000 unit-тестов на одном проекте и 1.000 на другом.
Rambler.iOS - митапы iOS-разработчиков, организуемые компанией RAMBLER&Co.
В своих прошлых докладах (http://cpp-russia.ru/?p=198, и http://cpp-russia.ru/?page_id=1239) я рассказывал о C++ без исключений, как с эти жить, как работать. Этот доклад является продолжением этой серии. Я рекомендую освежить в памяти предыдущие доклады, чтобы наша работа была более продуктивной. Мы обсудим механизмы создания, копирования и перемещения объектов, механизмы аллокации и деаллокации памяти, а также обработку ошибок и исключений. Также мы обсудим проблемы и неудобства, которые испытывает программист, когда пишет код без исключений. В конце, я попытаюсь показать, как можно проектировать структуры данных, контейнеры для удобной работы в средах с исключениями и без исключений.
Хочется чего-то новенького, необычного? Тогда добро пожаловать в мир чудеc C++17:
if constexpr (auto& [number, ok] = variable; ok)
return "Hi"
else
return number + 42;
Вы услышите о новом стандарте C++, обнаружите для себя новые полезные классы, функции и возможности языка. Для каждой новинки я приведу примеры использования, расскажу о нюансах и подводных камнях.
А ещё вы узнаете о том, как проходят заседания комитета по стандартизации C++ и сможете задать интересующие вас вопросы связанные с нововведениями С++17 и С++Next.
Наверное каждый периодически сталкивается с проблемами асинхронности и обработкой ошибок при построении своего JavaScript приложения. Рассмотрим, как фреймворк Koa поможет решить нам данные вопросы на бэкенде с помощью генераторов. Какие имеются преимущества и недостатки по сравнению с Express. Расскажу на личном опыте, стоит или не стоит переходить на данный фреймворк.
Доклад с конференции D2D Pizza JS - http://dev2dev.ru/events/8/
Cartography: Vector Tiles From an Open Initiative To an Industry StandardFrédéric Rodrigo
Vector tiles allow you to create interactive maps on the web. They come from a need of a free and competitive solution again Google Maps(c). After several iterations, they are now becoming a standard and are already a standard in the web mapping industry, for free ecosystem but also beyond. This presentation reviews the history, functionality and adoption of vector tiles.
At the beginning, Osmose-QA is a Quality Assurance tool pointing issues on map, but also able to compare external data set to OpenStreetMap.
First talk part is about the new support of MapCSS rules in Osmose-QA. MapCSS language was primarily designed as way to style map objects, it look like the web styling language CSS. The base of MapCSS is to use selectors to filter objects. JOSM already use it for map styling and validator. This new implementation of MapCSS in Osmose-QA allows to write rules more easily. It also allow to reuse JOSM validator rules set. Next step would be to run Osmose rules in JOSM. It’s a great opportunity to share rules across tools and projects. But come the question on how to share and manage this rules while considering tools particularities.
Second talk part is on external data comparison (aka conflation) with OpenStreetMap. It permits to point issues and evaluate the coverage, lastly it allows fixing and integration into OpenStreetMap. The more we wait, the more there is OpenData sets available. How Osmose-QA can try to addresses this issue of already too many OpenData set available. Beside OpenData from authorities we also have street objects extracted by Mapillary AI from street photography. Finally, what about the limit of the current model and how we may go further.
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMFrédéric Rodrigo
Replacing the classics “Turn right after the bakery” by more natural language and incorporating landmarks, to allow users to move in and around stations with more confidence, is still only a research topic. SNCF Innovation & Research has entrusted Makina Corpus with the implementation of the state of the art in this field. The objective is to improv it on an indoor/outdoor pedestrian route calculator under development.
Anything that can be used as a landmark is extracted from OpenStreetMap and then categorized and classified. The landmarks are then evaluated to annotate the route: relevance, visibility, relative position.... The SNCF context has the particularity of having to deal with transition between indoor and outdoor.
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMFrédéric Rodrigo
Remplacer les classiques « Continuez sur 200 m puis tournez à gauche » par des indications en langage plus naturel et intégrant des repères, pour permettre aux usagers de se déplacer dans et autour des gares avec plus de confiance, n’est encore qu’un sujet de l’ordre de la recherche. SNCF Innovation & Recherche a confié à Makina Corpus l’implémentation de l’état de l’art dans ce domaine. L’objectif est de l’expérimenter sur un calculateur d’itinéraire piéton indoor/outdoor en cours de développement.
Tout ce qui peut servir de repère est extrait d’OpenStreetMap puis catégorisé et classé. Les repères sont ensuite évalués pour annoter l’itinéraire : pertinence, visibilité, position relative... Le contexte de la SNCF a la particularité de devoir traiter des espaces de transition entre l’indoor et l’outdoor.
Dernières avancées d'Osmose-QA : reprise des analyses pour réduire le temps de traitement et passage à Docker pour faciliter les contributions au projet. Mais surtout le nouveau support des MapCSS du validateur JOSM pour mettre en place un framework de validation commun. Osmose prend désormais en charge les règles de validation MapCSS de JOSM et les règles Osmose-QA peuvent également être en partie écrites en MapCSS pour être utilisé dans JOSM.
OSRM (Open Source Routing Machine) est un calculateur d'itinéraire utilisant les données d'OSM. Son approche est d'être rapide, au détriment historiquement de la flexibilité. Mais il commence à avoir plus fonctionnalités tout en restant très rapide. De plus il peut être personnalisé pour coller à d'autres besoins : retour d'expérience et d'expérimentation sur le support de profils de vitesses différents en fonction du contexte, d'options comme utiliser ou non les autoroutes ou encore de calcul d'isochrones.
Et si on participait tous ensemble comme collecteur de l'état du trafic routier de façon libre. Extrêmement peu de données de trafic sont disponibles librement. Aujourd'hui seules de grandes compagnies sont capables d'agréger les informations collectées et de produire des informations sur le trafic. Chaque fourmi que nous sommes peut être un capteur pour produire un flux libre de données trafic. La solution technique existe déjà : c'est "Open Traffic", mais il faut l'alimenter.
Stat of the Map-US 2015. OpenStreetMap Osmose-QA tool
Osmose QA, is a quality assurance tool detecting errors and inconsistencies in OpenStreetMap data. Osmose QA is one of the largest sets of QA rules applied to OpenStreetMap data. It’s also one of the most functional tools of this kind : proposed corrections, localized checks (like language or driving side), API, online editor, help for OpenData integration and so forth.
This tool is made up of a web front end and many backends for checking countries. Backends analyze data and report errors, with PostGIS, Sax and OpenData integration. The frontend displays errors on a slippy map, offers an API and export functionality.
The world coverage for analyzis is still growing, and since spring, Osmose QA is also available for the United States.