Upload
eugene-kirdzei
View
70
Download
5
Embed Size (px)
Citation preview
Как мы в onliner.by делали «Аренду
квартир»Евгений Кирдей
Почему именно аренда квартир?
Story mapping«Story mapping предоставляет собой технику визуального и физического представления последовательности действий, которые должны быть реализованы решением. При этом используется двухмерная сетка, чтобы показать последовательность и группировку ключевых аспектов продукта по горизонтали, а детали и приоритет историй по вертикали.»
http://devprom.ru/
Нам нужно выбрать инструмент для
поиска по координатам
Нам нужно выбрать инструмент для
поиска по координатам
Ок, сделаем замеры
Нам нужно выбрать инструмент для
поиска по координатам
Ок, сделаем замеры
Из чего выбирали:
•MongoDB
•Sphinx
•Postgis
Из чего выбирали:
•MongoDB
•Sphinx
•Postgis
Квартира, владелец, 1 комната, < 500$, без метро
Квартира, владелец, 1 комната, < 500$, все станции метро
Сервисы и их взаимодействие
Толстый клиент
Процесс загрузки изображения
application config
• ØMQ Broker & Workers запускаются и останавливаются artisan командой
• Каждый воркер форкает сам себя и запускает процесс в форке
• Цепочка событий, состоящая из Rotate, Clone Image, Resize (Crop center, Resize by bigger size, Scale, etc.), Save Locally, Text Watermark, Change Exif, etc.
Особенности реализации
Plug-in для SphinxQL
• Поддерживает и повторяет синтаксис Eloquent
• Добавили компиляторы грамматики для поиска по координатам ((or)whereWithinGeoPolygon, (or) whereGeoDistance, whereMatch(All, Any), replace)
• Правки для поддержания особенностей SphinxQL (wrapping, paginate, escapeMatchString)
• Покрыто Unit-тестами
• CORS
• Генератор объявлений и конфигов sphinx
• Свой FromRequest
• libcredentials для авторизации и аутентификации
• Attach plain index to RT index
• Данные берутся лишь из Sphinx, cохранение производится как в Mysql, так и Sphinx
• Из-за особенностей Sphinx вместо Update 2 события Delete + Insert
• Кэширование geocode queries
Особенности реализации
Скоро на Laravel 5!!!
Евгений Кирдей
• skype:eugene.kirdzei
• https://facebook.com/eugene.kirdzei