Мой опыт в Cloud Hack

В эти выходные команда CapsLockHacks приняла участие в Digital Ocean Cloud Hack. Хотя постановка задачи была доступна до хакатона, до начала хакатона мы понятия не имели, что мы собираемся построить, но мы определенно не хотели в конечном итоге делать это:

Мы добрались до места проведения с небольшим опозданием, и это был первый раз, когда я рискнул выйти из университетского комфорта в реальный мир после демонетизации. Однако у нас не было особых проблем с поездками благодаря финтех-стартапам и такси в Индии. Вскоре после того, как мы обосновались в коворкинге на 91springboard, мы начали мозговой штурм над идеей.

Поскольку это был хакатон Digital Ocean, естественно, нам пришлось использовать их API для создания нашего продукта. Люди, часто посещающие хакатоны, знают, что самый важный и сложный этап — это зарождение идеи. Цель хакатонов, по моему мнению, заключается не в том, что вы создаете что-то совершенно причудливое, что не имеет практического применения, а просто выглядит круто как идея хакатона. Это должно быть интересное приложение из реальной жизни, которое действительно принесет пользу людям, не являющимся вашей воображаемой целевой аудиторией. Одно из правил, которым я следую во время мозгового штурма, — не начинать воображать проблемы, которые я создал сам, поскольку в этом мире их предостаточно.

Как разработчики и энтузиасты с открытым исходным кодом, мы знали, что самая трудная часть, с которой сталкивается новичок в любом проекте с открытым исходным кодом, когда начинает вносить свой вклад, — это копирование/настройка среды разработки. Docker — модное слово в наши дни, и многие OSS имеют Dockerfile в своих исходных репозиториях, что немного упрощает процесс настройки среды разработки. Мы хотели еще больше расширить этот процесс и подумали о создании расширения для Chrome, которое сканирует репозиторий Github на наличие файла Dockerfile и предоставляет 1 Click Installer прямо из расширения. К тому времени, когда мы настроили наши репозитории и написали начальный фрагмент кода, обеденное время уже давно миновало, и мы соскучились по еде 😩. Тем не менее, мы накормили себя легкими закусками и продолжили взлом. Мы делимся на подгруппы по 2-3 человека в зависимости от нашего набора навыков. Одна группа работала над Python API, а другая — над расширением для Chrome. Парное программирование было действительно отличной идеей, так как мы смогли ускорить нашу работу и получили от этого удовольствие. Честно говоря, это был мой первый хакатон, где я был очень взволнован в течение 24 часов, поскольку мы создавали что-то, что, как мы знали, имеет потенциал в качестве полезной утилиты и за пределами хакатона. Ощущение, когда мы протестировали небольшой код, создающий дроплет из скрипта с помощью API, очень подняло моральный дух.

Вечером мы расположились на 2 этаже в небольшом уютном конференц-зале с креслами-мешками и подушками.

По общему признанию, производительность упала после того, как мы наелись ужином, и отсутствие RedBull сильно сковывало наши усилия. Так как мы были на 2 этаже и чтобы заправиться нам приходилось ходить в столовую на цокольном этаже, мы не смогли достать бесплатную еду и она закончилась ночью. Так или иначе, большинство из нас не спали до 3 часов ночи, и когда 80% нашей работы было сделано, мы решили немного вздремнуть. Это хорошая идея, если она короткая, но любой, кто ложится спать, говорит:

«Я просто немного вздремну и закончу незаконченную работу после того, как проснусь свежим»

точно знает, что будет дальше. Да, мы проснулись в 8 утра, а не в запланированные 5 утра. Это было утро катастрофы, так как когда я и manu-chroma начали тестировать наш API, мы столкнулись с множеством ошибок. Мы были совершенно сбиты с толку, так как прошлой ночью все работало отлично. И когда мы проверили журналы коммитов, мы были недовольны тем, что увидели. Мы добавили Threading в наш скрипт, чтобы сократить время вызова return object для расширения Chrome, но мы забыли протестировать этот код и отправили его в репозиторий, даже не запустив его ни разу. Глупые, ГЛУПЫЕ вещи действительно. Но это было не так, мы исправили больше ошибок до 9:30 утра, после чего мы могли с уверенностью сказать, что у нас есть приличный материал для бета-релиза.

Настало время демонстраций, и мы быстро сделали презентацию и записали экран. Мы были предпоследними в последовательности демонстраций, так что мы просто развлекались, наблюдая за тем, что создали другие люди. Было несколько действительно хороших проектов с использованием DO API, и было забавно наблюдать за всем этим процессом. На протяжении всего этого я совсем не нервничал, потому что мне «нравилось» создавать Octoshark (да, это милое название, которое мы придумали для нашего расширения 😉). Наконец мы представили нашу демоверсию, и, по нашему мнению, все прошло хорошо. Мы были счастливы, что смогли представить нашу идею судьям и зрителям. Вскоре после этого были объявлены результаты, и мы выиграли первый приз в облачном треке. Весь опыт был феноменальным, и это был действительно отличный хакатон, хорошо организованный ребятами из DO.

Скриншот расширения в действии:

Мы будем работать над продлением, как только закончатся наши экзамены. Если вам интересно, ознакомьтесь с исходным кодом, и он с открытым исходным кодом. Скоро мы будем доступны в Chrome Store.



Удачного кодирования!