Pull to refresh

Хакатон как способ расширения кодерского сознания. Фото-корреспондентский отчет

Reading time 4 min
Views 8.3K


Проснувшись однажды утром… (нет). Проснувшись как-то вечером… (нет!). Короче, проснувшись однажды на работе солнечным утром (вот уже провокационно звучит), и протерев глаза от производственной рутины, подумал я о том, что команда наша — конечно великолепная, но технологически несколько узковата… “И надо бы покодить на чем нибудь другом!” — блеснул я оригинальной мыслью. И вот мы сделали собственный хакатон, который заточили не по тематике, а по технологии. Получилось, сразу скажу… неплохо.



После короткого анализа нашей текучки, условия были поставлены следующие:

  • 3 полных дня на выезде с ночевками (не отвлекаться!);
  • Обязательно в полном составе;
  • Формат — стандартный (от естественных идей, через естественный их отбор, и вперед — к реализации);
  • Идеи проектов — ограничили веб-сервисами (десктопы категорически не хотим), да и само по себе “программирование для людей” — в целом приятное дело.


Технологические условия:

  • кодим на чем угодно, только не на нашем “рутинном” стеке (php / java / python / mongodb / *sql / мобильники / пайка микросхем / программирование микроконтроллеров);
  • что означало: [node.js] [go] [erlang] [redis] и любые базы [кроме sql] и поднадоевшей уже [mongodb];
  • Фронтенда у нас совсем нет, поэтому приглашали друзей/знакомых, но они почему то не присоединились (выходных пожалели — и зря!) — поэтому на фронтенд-ные технологии не ориентировались вовсе;
  • Подготовка по стеку минимум на уровне ‘hello world’ для всех участников;
  • Алкогольные мотивирующие напитки за свой счет.


Первое — надо было выбрать идею для реализации. Несмотря на предстоящие объяснения и прочее умное агитирующее бла-бла, выражения кодерских лиц на 97,43% было тождественно с “WTF, что я здесь делаю?”.



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



Идеи были разные, лишенные какого либо бизнес-смысла (не для бизнеса мы все это затеяли).
Но все они — из области нанесения добра и улучшения (с дальнейшим покорением) интернет-ойкумены:

  • оптимизация продаж билетов ржд;
  • несколько вариантов гениальных замен для ужасных форм обратной связи на сайтах;
  • социальные сети на звуковых сообщениях;
  • несколько онлайн-много-человек-игр (мафии/покеры/etc со значительно улучшенными для онлайна правилами с видео-перепиской и системами распознавания мимики);
  • муравьиные баталии (http://habrahabr.ru/post/135287/) с переносом действия на онлайн-карты Москвы (исключительная идея зла и разрушения);
  • создание неангажированного и грамотного агрегатора новостей с правильным анализом популярности/распространенности;
  • космически оперативная курьерская служба, по аналогии с яндекс.такси и механизмами защиты от преступных намерений


Пришло время выбора. На вторых местах — конечно же “эРЖэДэ” (самый толстый троллинг был именно тут). На первых — злые муравьиные сражения и добрый напоминательный сервис. Для разработки выбрали сначала добро, а зло (если успеем) отложили на потом :-)

Идея очень простая, но участникам интересная — сервис с открытым API, через который можно оставить заявку-напоминалку себе, или фолловеру, или группе друзей или корпоративно-административной группе, которую можно сделать периодической или назначить на какое-то время, а также механизмы защиты от использования сервиса в качестве спама, и т.п. кучка связанных фич.

Приступили к архитектурному холивару проектированию. Разумеется, каждый совершенно точно знал, “как это надо делать”, причем самые опытные скромно отмалчивались, “поглощая попкорн с колой” и наслаждаясь действием:



Схемы и варианты реализации размножались со скоростью 27 флипчартов в час:



Режиссура процесса: визуализация провайдерского масштаба доставок для напоминалок:



Команда R&D уже придумала бренд, зарегистрировала домен и приступила к расчету прибылей :-)



К обеду все было готово, а именно:

  • Запротоколирована предметная область и архитектурные слои;
  • Команда “ERLANG” — делает фронтовую часть и разбрасывание заявок-напоминалок по предметной области (людям/группам/фолловерам) задуманного сервиса;
  • Команда “GO” — реализует многопотоковое считывание данных из предметной области и архи-нагрузочное разбрасывание напоминалок по провайдерам доставки;
  • В качестве базы взяли Redis;
  • Команда “СИСАДМИН” — готовит софт на боевых серверах и бездельничает в ожидании задач по деплою;
  • Команда “R&D” уехала искать большие чемоданы для денег :-)
  • Осмысленности в выборе технологий под задачи — не было никакой — участники хакатона на данных языках раньше ничего не делали и с Redis-ом не работали. Но именно в таком развитии событий и был задуман хакатон :-)


После обеда — полезные для продуктивной работы серых клеток — моционы.
Табличка “для детей до 14 лет” никого не смутила, тем более что ни одного человека в заданном диапазоне в округе не наблюдалось :-)







Команды сформированы, задачи ясны — за работу!



Команда “GO”. Тот, кто подготовился чуть больше чем ‘hello world’ — закономерно популярен и величественен :-)



В команде “ERLANG” весело. Они еще не подозревают о всей тяжести последствий их выбора :-)



Периодически пытались вспомнить все то, что было нагенерено в идею на старте и ввиду разницы пониманий, приходилось собирать все “в реальную для реализации конкретную кучку”:



В фоновом режиме общий скайп-чат затягивает на темную сторону силы:



Вечерняя программа.
Футбол в нынешнем сезоне лучше играть, чем смотреть:



Реактивные испытания:



Второй и третий день. Только кодинг, только хардкор: для чего меняем помещение и обустраиваемся с комфортом:



Затылки команды “ERLANG” умны и сосредоточенны:



Вероятно, кодят API для фронта:



Робкая история коммитов “от новичков в жанре”:



Команда “GO” ищет коннект в Redis:



… и найдя, сочиняет романтические японские стихи, в которых каждая строка начинается с волшебного “go”, наделяется ведомым только автору смыслом, посвящая их прекрасным и доступным горутинам :-)



По ходу дела — парочка ноу-хау.
Например, “nosql-paper-database”, версия “flomaster”.
  • скорость записи — 4 фломика в час
  • скорость чтения — световая
  • скорость понимания — нулевая :-)




А теперь всем бояться… ОНО компилируется:



ОНО что-то делает:



При этом Асинхронно и Параллельно!



И достаточно быстро…



Итоги:
  • Придумали и сделали сервис (даже слегка работающий), на ЯП-ах, ранее нам неведомых.
  • Жалейте те, кого мы звали, но вы не пришли :-)
  • Как нибудь повторим.
Tags:
Hubs:
+8
Comments 9
Comments Comments 9

Articles

Information

Website
fintech-fab.ru
Registered
Founded
Employees
31–50 employees
Location
Россия