Информационный портал по безопасности » Программирование » Веб-разработка » Куда катится техничка с полторашкой: хакатоны в Avito

 

Куда катится техничка с полторашкой: хакатоны в Avito

Автор: admin от 20-11-2017, 12:15, посмотрело: 459

В моём прошлом посте я рассказывал о хакатонах. Разных, хороших. Настолько хороших, что и внутри компании захотелось устроить собственные соревнования. В посте расскажу, как проходили хакатоны в Avito, какие проекты реализовали, про техничку с полторашкой, кодокатицу, свидетеля столовой и носочки с котиками.



Куда катится техничка с полторашкой: хакатоны в Avitoдокладе Артура @N01Z3 Кузина на недавно прошедшем митапе в Avito. Общая схема подхода показана на рисунке.



Куда катится техничка с полторашкой: хакатоны в Avito

А вот и команда проекта:



Куда катится техничка с полторашкой: хакатоны в Avito

Фильтры для Paparazzo



Многие знают про наш опенсорс-проект, медиапикер Paparazzo. Он уже упоминался в этом блоге: 1, 2. В ходе хакатона коллеги вели разработку дополнительных возможностей для него. Многие пользователи Avito перед тем, как разместить фото своего автомобиля, замазывают его номера. Либо как-то еще редактируют иллюстрации к объявлению. Чтобы облегчить им эту задачу, ребята придумали встроить фильтры непосредственно в медиапикер. Для комьюнити это означает опенсорс-компонент с фильтрами, который можно встроить в свое приложение. Фильтры можно написать самому или взять из каталога.



Весь проект был написан на языке Swift, работа с DeepBelief велась на Objective-C. На хакатоне использовали встроенное определение лиц через CIDetector, поиск номера реализовали средствами фреймворка DeepBeliefSDK, умеющего распознавать, что изображено на фото.



Несколько фильтров, в частности, автоматическое замазывание лиц и номеров, встроили в основное приложение с использованием новых системных фреймворков Vision и CoreML. Работа с фильтрами выложили в опенсорс.



Также для проекта был реализован умопомрачительный фильтр, располагающий свидетеля из Фрязино рядом с людьми на фото. Зачем? Автор утверждает:



Он просто делает мир лучше.

Проект с фильтрами победил в номинациях «Лучший open-source» и «Самая зажигательная презентация».







Команда проекта:



Куда катится техничка с полторашкой: хакатоны в Avito

Карта офиса



Когда компания разрастается, встает необходимость навигации, поиска коллег, оргтехники, переговорок в офисе. Чтобы решить эту проблему, можно нарисовать двумерный план помещений и даже добавить интерактив с привязкой к базе данных сотрудников. Но намного эффектнее и нагляднее сделать карту трехмерной. Про этот проект Александр s9k Амосов рассказывал на РИТ++ 2017 и MoscowJS 37.



Куда катится техничка с полторашкой: хакатоны в Avito

В докладах описан процесс создания WebGL-визуализации, начиная от создания модели в трехмерном редакторе и заканчивая оптимизациями из мира компьютерных игр. Посмотрите видео по ссылке выше, если вы хотите свой интерактивный 3D-проект.



Этот проект — победитель номинации «Лучший хак на свободную тему» самого первого хакатона. Уже больше года он используется в Avito и сильно облегчает жизнь сотрудникам.



Kubernetes load testing tool



Ещё один проект, который появился в результате хакатона — система для проведения нагрузочного тестирования с помощью Kubernetes. Её цель — предоставить инфраструктуру для нагрузочного тестирования микросервисов. В графическом интерфейсе можно указать, что нагрузить, профиль нагрузки и другие параметры. А потом нажать на кнопку, и система сама сшедулит стрелялку и проведет нагрузочное тестирование.



Используемые технологии: Golang для написания инфраструктурных компонентов, работы с API Kubernetes, Yandex Tank для запуска стрельбы с помощью декларативного описания параметров нагрузки, Kubernetes для оркестрации компонентами, Redis для очереди стрельб, Graphite для метрик. Система состоит из нескольких компонентов: web UI, очередь стрельб, воркеры для разгребания очереди и discovery свободных танков, танки с API для проверки текущего состояния.



Задача на стрельбу поступает от пользователя через web-интерфейс и складывается в очередь (Redis). Воркеры читают из очереди и производят discovery танков с помощью API kubernetes. Когда находится свободный танк, задание поступает в работу и производится стрельба. Во время стрельбы метрики пишутся в graphite. После окончания стрельбы есть возможность посмотреть основные метрики по latency, rps и кастомные метрики по cpu, RAM, etc. Этот проект будет допиливаться и использоваться в рабочих задачах.



Учёт мобильных девайсов



Один из хакатонов принёс нам инструмент, который совсем скоро возьмёт на себя учёт девайсов для тестирования. Он умеет читать пропуск, записывать, кто взял телефон, понимать, что девайс взяли, не приложив пропуск и — приятный бонус — заряжать телефоны.



Куда катится техничка с полторашкой: хакатоны в Avito

Проект победил в номинациях «Самый полезный внутренний инструмент» и «Один в поле воин».



Отпускник



Бот для Slack, написанный во время хакатона, знает, на сколько можно уехать отдохнуть и помогает коллегам генерировать заявления на отпуск.



Куда катится техничка с полторашкой: хакатоны в Avito

Helm



Для хостинга сервисов внутри Avito мы используем Kubernetes-кластер. Для управления релизами — Helm. Helm был опробован в рамках хакатона, после чего успешно внедрён.



Карта теней на террасе



Я уже писал о том, что одна из важных составляющих хорошего хакатона — упоротость. Этот проект — лауреат номинации «Самый упоротый хак». Дело в том, то мы все любим поработать на террасе и не любим, когда солнце ярко светит на монитор. И теперь у нас есть инструмент, который показывает, где на террасе будет тень в выбранную дату и время. Из технологий была использована библиотека threejs.org.



Куда катится техничка с полторашкой: хакатоны в Avito

Заключение



Внутренние хакатоны дали кучку приятных возможностей и осязаемых полезностей. Часть реализованных проектов используется, другая ждёт своего часа. Третьи показали состоятельность или несостоятельность идеи, позволили оценить сложность её реализации. Хакатонщики стали чаще отходить от привычного им стека технологий и пробовать что-то им неизвестное: AST парсят, блокчейн дрессируют, на новых языках пишут. Появился соревновательный момент. С каждым хакатоном всё сложнее используемые технологии, всё круче названия команд и зажигательнее презентации.



А мне удалось узнать, как работает вентиляция, когда не работают люди, посмотреть красивейшие закаты с высоты пятнадцатого этажа, поспать в уютной норке, поболтать с аквариумными рыбками в полумраке пустого офиса и вернуться домой в синих ботинках поверх зелёных носочков с котиками.



Куда катится техничка с полторашкой: хакатоны в Avito

P.S.



Пока статья дозревала, успел пройти пятый хакатон — «Грогчейн». И, впервые в истории хакатонов в Avito, моей команде Du kannst mich gern haben удалось взять номинацию за упоротость. Делали железную кнопку релиза. Деревянный корпус, внутри которого кнопка от какого-то заводского конвейера и умная железка с вайфаем. Нажимаешь кнопку — сервис выкатывается в бой.



Куда катится техничка с полторашкой: хакатоны в Avito

Как-нибудь расскажу подробнее о пятом хакатоне. О телеграм-боте, об умном кэшировании, о том, почему QA больше не нужны и о том, как прокачать ваш Exchange.



Источник: Хабрахабр

Категория: Программирование / Веб-разработка

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent