By obrizan on Октябрь 1, 2021
Чемпионат по надежному программированию "Software Engineers League": лучший в Лиге — лучший в профессии!
Кандидат технических наук, директор и основатель Первого института надежного программного обеспечения.
Кандидат технических наук, ведущий программист и архитектор.
HR-менеджер Design and Test Lab.
Design and Test Lab — Mature Reliability Standard. Design and Test Lab разрабатывает надежные мобильные приложения, а также проектирует и тестирует интеграцию с облачными сервисами.
Мы приглашаем Python Software Engineer (Backend) в свою команду для разработки полезных проектов! — Социальная сеть для архитекторов, дизайнеров, ландшафтных дизайнеров; — Социальная сеть для лечения редких болезней со всего мира;
Мы приглашаем Python Software Engineer (Backend) в свою команду для разработки полезных проектов! — Социальная сеть для архитекторов, дизайнеров, ландшафтных дизайнеров; — Социальная сеть для лечения редких болезней со всего мира;
GoIT — это образовательная международная EdTech-компания, уникальное IT-сообщество
Beetroot Academy — Інтенсивні ІТ-курси
В социальных сетях принято указывать геолокацию пользователя. Потому что в социальных сетях интересно посмотреть своих соседей, кто еще в сети из моего города, района, улицы уже зарегистрирован в сети. Тем не менее, указывать свой домашний адрес может быть опасно: злоумышленники могут найти пользователя в реальном мире. Поэтому применяются специальные алгоритмы загрубления, которые показывают не точную географическую координату, а с погрешностью в несколько километров, что делает невозможным определить точный адрес пользователя.
Задача участника — реализовать функцию, которая загрубляет координаты пользователя: показывает их с погрешностью N километров в радиусе от географической координаты, указанной при сохранении профиля пользователя.
Решение должно быть выполнено в виде веб-сервиса, который реализует две операции:
POST /user
— сохранение или создание профиля пользователя (объект User);
GET /user/<user_id>
— получение профиля пользователя (объект User).
При сохранении или создании профиля пользователя он всегда передает свои точные географические координаты.
При получении профиля пользователя другим пользователем всегда возвращается загрубленная координата. Загрубленная координата должна быть стабильной: при каждом запросе она должна быть одна и та же.
При получении профиля пользователя администратором системы всегда возвращается точная координата пользователя.
Объект User, схема данных:
{
"full_name": string,
"user_id": string,
"location": {
"lat": float,
"lon": float
}
}
Объект User, пример:
{
"full_name": "Vasiya Poupline",
"user_id": "123",
"location": {
"lat": 123.2,
"lon": 34.5
}
}
Язык: Python.
СУБД: любая на выбор участника: Postgres, MySQL, MongoDB, SQLite, и т. п.
Фреймворк: любой на выбор участника: Flask, Django, Tornado, и т. п.
Зарегистрируйтесь, чтобы получить информацию о ходе соревнований, оглашении победителей, приглашения на новые соревнования.
Напомним правила:
Войти чтобы оставить комментарий.
← Назад к блогу