Oops... your message was not sent

Your message has been successfully sent

тематические истории, основанные на опыте компании JetRuby
Рефакторинг

Решение бага “employer recommendations never show for professionals in Norway”

Service Central — это портал, на котором пользователи проходят различные социологические опросы. Их итоги обрабатываются и отображаются в виде определенных результатов и рекомендаций. Например, по средней зарплате, предпочитаемым товарным брендам и т.д. Рекомендации формируются на основе выбора респондентов. Часть из них — та, что касается работодателей, демонстрируется на странице mixedpage.

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

Как все исправить?

В настоящий момент наша система рекомендаций находится на стороннем сервисе, куда посылается запрос с определенными параметрами (market и т.д). Он отправляет в ответ перечень брендов (например), которые рекомендованы конкретному респонденту. Если этого не происходит, наша система обращается к YAML файлу, содержащему стандартное значение для опроса. Далее отправляется еще один запрос к тому же сервису. Теперь уже для стандартного значения.

Эта команда вытягивает все стандартные значения для конкретного маркета. При этом названия стран сокращаются согласно ISO 3166-1 alpha-2 — двухсимвольному стандарту, обозначающему их коды и коды подчиненных территорий. При работе с остальными ключами в файле мы не выявили никаких проблем.

Однако, запустив код парсинга YAML файла в консоли, вместо Норвегии был получен ключ FALSE. После этого мы сделали вывод, что некоторые ключевые слова YAML парсер обрабатывает, как нулевые значения:

Обращение к документации указало нам два пути решения проблемы:

  1. Явное указание строки:

  1. Преобразование, обеспечивающее передачу ключа в качестве строки:

department
Статью подготовил
Отдел веб-разработки
Профессиональная разработка сайтов и приложений на стороне сервера и клиента. Проектирование дизайна, верстка страниц и техническое обслуживание реализованных проектов.
New Articles