Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

ВКнын салкын салты бар - ички хакатон, ага ВКонтактенин жигиттери гана катыша алат. Мен бул жылы биринчи орунду ээлеген жана толугу менен чарчоодон каза болгон, бирок сюжеттик камера үчүн бий кыймылынын детекторун сынап көрүүгө жетишкен команданын атынан хакатон тууралуу айтып берем.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

Менин атым Пабыл, Мен ВКонтактенин эң мыкты изилдөө тобун жетектейм жана хакатондорго жылуу мамиле кылам: катышуучу катары (Junction же бир катар тереңхактар) жана жакында куратор катары (VK hackathon же ВКонтакте иши Junction - демекчи, бул биринчи жолу болду. Мен ал жерде орусиялык компанияга катыштым). Биз бардыгы үчүн ачык болгон VK Hackathonду төртүнчү жыл өткөрүп жатабыз (акыркы жолу Эрмитаждын Башкы штабына чыкканбыз) жана ага биздин техникалык командабыздын олуттуу бөлүгү ВКга кошулганга чейин катышкан.

Ички хакатон команданын өзүнө платформа менен көп эксперимент жүргүзүүгө, ар кандай идеяларды сынап көрүүгө жана жалпысынан көңүл ачууга мүмкүндүк берет. Маанилүү айырмачылык, чечимдер VKга көбүрөөк интеграцияланышы мүмкүн, бул бизге кызыктуу прототиптерге жетүүгө мүмкүнчүлүк берет.

Хакатон ырчылар үйүндө эртеден кечке өтөт - жуманын ортосунда штаб түн жарымында кыймылга айланат. Эртең менен тазалоочулардын таң калып карап турганын көрүү күлкүлүү - адатта таңкы саат 6да бош кеңсе күтүлбөгөн жерден зомбидей кыймылдап: "Беш саат калды!" Же таңкы саат үчтө ашканага киргениңизде, сессия учурунда университеттин жатаканасынын жыты: энергетикалык суусундуктар, пицца жана паника. Бул, албетте, кадимки күнү болот, бирок мындай массалык масштабда сейрек кездешет.

Буга чейинки үч ички хакатон жайында болгон. 2019-жылы биз майда-чүйдө нерселерге убакыт коротпоону чечтик, ошондой эле кышкы хакатонду өткөрүүнү чечтик – эки хакатон бирөөгө караганда алда канча жакшы, анткени бул кадимки ритмде убакыт жетишсиз болгон идеяны эксперимент жана ишке ашыруу үчүн сонун мүмкүнчүлүк. Эрежелер да өзгөрдү: мурда бир командада эң көп дегенде үч адам болушу мүмкүн, бирок быйыл төрт адам бар, бирок бирөө код жазбайт, бирок башка нерсеге адистешкен. Командага дизайнерлерди, продукт менеджерлерин, тестерлерди, маркетологдорду жана башка жигиттерди чакырууга мүмкүн болду. Бул хакатонго жалпысынан 38 команда катышты.

Dreamtim (тагыраак айтканда, 38дин бири)

менен келишимге келдик Danei жана биз чогуу ынандык Егор и Тиома командага кошул. Күтүлгөндөй эле, моделдер бизди, Егор iOS үчүн, Тиома өндүрүштү жана дизайнды башкарды. Мобилдик өнүктүрүү + дизайн + бир аз машина үйрөнүү жана бэкэнд - 2k19 хакатонунда ийгиликтин ачкычы.

Бул жылы да тректерге бөлүнүү пайда болду, буга чейин болгон эмес: ЖМК (биз катышкан), коммуникациялар, инфраструктура, контент жана көңүл ачуу. Бизде күчтүү атаандаштар бар болчу. Мисалы, бизге дайыма ВКнын улук дизайнери түрткү болгон Ilya, биздин бөлмөгө кирип, өзүнүн командасынын идеясынын прототиптерин көрсөттү.

ой

— Мен өзүм катышкан дээрлик бардык хакатондордо байгелүү орундарды алдым, быйылкы кышта ички хакатондон да ошону күттүм. (Бауыржан өзүнө ишенген)

Биздин (конкреттүү Данинанын) идеясы башында мындай болчу: биз музыкалык муун темасын изилдегибиз келди + түзмөктө бардыгы бар, антпесе бул "өтө эле бэкэнд" болмок. Хакатон мээ чабуулу менен башталды – биз эмнени ойлоп таба аларыбызды ойлондук. Музыканы жаратуу кызыктуу, бирок мен аны колдонуучуга көз каранды кылгым келет. Кээ бир баскычтар? Балким экранга чиймелеп, анын негизинде музыканы чыгарарсыз? Ошол эле учурда музыка командасынын балдарынан бизге керектүү тректерди кантип кошууну үйрөндүк. Бирок ал дагы деле туура эместей көрүндү. Коңшу командалар ноутбуктарында бир нерсенин үстүндө шайыр иштеп, нааразычылыктарды жаратып жатышты.

— Аба гитарасын таанып, гитарада ойноп жаткандай болуп, ошого жараша гитаранын үнүн чертип алсаңызчы? (Тема)

Бинго! Идея согушчан жана бизде бардыгын эң сонун жол менен уюштурууга күчүбүз жетет. Кыймылды таануу үчүн бар posenet, жана ал абдан жакшы (ошондой эле мобилдик достук). Келгиле, окшоштуралы!

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

чечим

Негизги милдеттери - аппаратта тор түзүү (ал реалдуу болушу керек) жана кыймылдарды таанууну үйрөнүү. Егор көчүрө баштады, Тиома кандай кыймылдарды кошуу кызыктуу болорун ойлоно баштады (жөн эле гитара – кызыксыз), Даня экөөбүз аларды тааный баштадык. Бирок бул маалыматтарды талап кылат. PRO менен ышкыбоздун ортосунда кандай айырма бар? PRO GPU менен кластери бар - бул бир нерсе, эки - PRO керек болгондо өзү үчүн маалыматтарды чогултат. Даня стенд уюштурду, анда таанылган фигуранын координаттарынын чийки маалыматтары камерадан жазылып алынган, андан кийин - бий! Ошол түнү биз жип бийлегенди үйрөндүк, skibidi и дудца.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык
Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

Кыймылдарды жаздыруу үчүн стенд катары биз жумушчу ноутбукту колдондук, ал дагы бир түшүнүксүз JS катасын көргөндө Данинин жүзүн (ал буга чейин JSде бир да сап жазган эмес) жазды.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

— Түшүнбөйм, менде деңгээл катасы бар: Pythonдо басып чыгаруу жоголуп кетти! (Бауыржан)

Түнкү бий (сөзмө-сөз)

Түнкүсүн камеранын алдында көп сааттык тынымсыз кыймылды тартып алдык. Алар муну өздөрү жаздырышты, ошондой эле полго тентишкен иштеп чыгуучуларды кармап, БИЙГЕ БЕРҮҮГӨ АРЗЫШТЫ. Биз жети түрдүү комбинацияны алдык – эми алардын ортосундагы айырманы үйрөнүшүбүз керек болчу.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык
Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

"Мен ар бир үч саат сайын келип, балдардын тирүү же жок экенин текшерип турдум." Паша кыйкырды: "Бизде бир бурч бар!" – деп Даня болгон күчү менен ийилди. Анан баары чоор бийлешти. Даниилдин күчү түгөнүп калганда, Паша терезени ачып: «Балдар, биз жаңыланышыбыз керек», - деди. (Мадина)

Фигуранын маалыматтары алдын ала иштетилген: буттар ыргытылган, башы орточо алынган жана тулкуга салыштырмалуу полярдык координаттарга айланган. Биз кыймыл детекторун catboost аркылуу үйрөттүк - моделден маалымат агымынын үч секунддук үзүндүсүн колдонуу. Ушул түнгө чейин китепкана менен иштешкен эмеспиз - бул согуштук болуп чыкты, аны iOS'ко киргизсеңиз болот.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

Алар көп класстык классификацияны үйрөтүштү, бир класс мүмкүн болушунча кызыксыз - жөн гана камеранын алдында илип коюшту. Эң кыйыны “рок” кыймылын жаздыруу болду – биз башыбызды ушунчалык аябастык менен чайкадык, бир аздан кийин ал айлана баштады. Жана алар "эчки" менен колун сунушту, бирок бул маанисиз болгон - позенеттин бардык колунда бир гана чекити бар, ал манжаларды көрбөйт.

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

— Түнкү саат үчтөр чамасында Паша уктоочу баштыкка кирип, бир саат бою анын ичинде чыныгы кенгурудай секирип жүрдү. (Мадина)

Эртең мененки саат 8ге жакын бизди кичинекей кризис каптады – баары бузулуп, эч нерсе иштебей калды, бирок анан баары күтүүсүздөн өзүнөн-өзү иштей баштады. Эки моделди тең тиркемеге буроо эң чоң кыйынчылык болуп чыкты - Егор монтажды белгиленген мөөнөткө беш мүнөт калганда бүтүрдү. Ага сөз берели:

— Идеяны тапкандан кийин бардыгы абдан жакшы жана жемиштүү өттү. Жигиттер торду машыктырып, бийлешти, мен PoseNetти JavaScript тилиндеги сюжеттик камерага түздөн-түз браузерде тирктим. Алгачкы сыноолор жакшы иштеди жана таң калыштуу түрдө тез болду. Ошондуктан, эртең менен WebViewдеги WebGL күтүлбөгөн жерден текстуралар менен иштөөдө кандайдыр бир тантырактык үчүн кыйрап калганы жана чечим табууга мүмкүнчүлүк жок болуп калганда, мен үмүтсүз болуп кала жаздадым. Бирок баш тартууга кеч болуп калды: идея менен күйүп жаттык. Ошондуктан, акыркы күчүбүз менен жана Red Bull'дун акыркы банкасы менен, биз CoreML негизиндеги альтернативалуу моделди iOS кардарына сүйрөп, позаларды жергиликтүү түрдө көзөмөлдөй баштадык - кийин аларды бийлер менен моделге жөнөтүү үчүн жана чыгарууда кандайдыр бир натыйжаларды алуу. Негизи иштин баарын кайра кайталадык! Дагы бир кыйынчылык экинчи модель болду, ал күтүлбөгөн жерден киргизүү катары миңден ашык аргумент күтө баштады! Xcode ал үчүн интерфейсти түздү, аны түз колдонуу реалдуу эмес. Бактыга жараша, менин Objective-C боюнча билимим мени капаланткан жок жана көрктүү чечим табылды. (Егор)

Питинг

Жума күнү, саат 14:14дө долбоор тууралуу видеону жүктөө үчүн акыркы мөөнөт болгон — бир нече командалар өз убагында жетишпей, сынактан четтетилген. Ал эми саат 40:XNUMXта биз продуктка байланыштуу трек кураторлоруна кайрылдык. Бизде "Видео жана музыка" командасынын балдары бар болчу, аларга чайырдын баары жакты окшойт. Биз трек боюнча экинчи орунду алдык (биз биринчи каалаганбыз, анткени бизде ушундай сонун долбоор бар!) жана финалга чыктык (биздин тректен эки команда квалификациялуу).

— Быйыл биринчи жолу ички хакатондун куратору болдум. Мен токтоолук менен айтам: ишке баа берүү өтө кыйын болду. Бардык командалардын деңгээли эч кимге ишенбестен болду. Функция жөн гана технологиялык жактан өнүкпөс, жөн гана "өндүрүшкө жакын" эмес, "биздин өнүмдөрүбүз үчүн пайдалуу" болушу керек. Жеңүүчү долбоор бир эле учурда бул критерийлердин баарына жооп бериши керек. Жигиттер ийгиликке жетишти окшойт. (Andrew)

Биз акыркы оюнубузду 17:40та өткөрдүк. Бул убакытка чейин дагы бир демонстрацияны даярдоо керек болчу, бул жолу бүт Команда үчүн, ал эми калыстар тобу башка - техникалык директор, продукт директору жана маркетинг боюнча директор.

Кечки саат беште баары бүттү – натыйжасы тууралуу эч нерсе билбей, уктап үйгө кеттик.

Жыйынтыктар акыры

Анын жыйынтыгы дүйшөмбү күнү гана жарыяланды. Биринчиден, алар тректердин жеңүүчүлөрүн сыйлашты (биздин учурубуз эмес - эсиңизге сала кетейин, биз экинчи болдук), андан кийин көрүүчүлөрдүн лидерлери добуш беришти (биз эмес), андан кийин үчүнчүнү (жана бул дагы биз эмес), экинчи (кайра, биз эмес) жана, акыры, биз.

Бул жерде биз атаандаша турган долбоорлор болуп саналат:

2-орун - жооп берүүчү үн жардамчысы;
3-орун - ички каталардын хронологиясы;
Элдин тандоосу сыйлыгы алдыдагы баарлашуу жолугушууларын эске салат.

— Бул мен катышкан эң мыкты хакатон. Ал тургай, Junction караганда алда канча көп айдап бар болчу. (Бауыржан)

— Мага такыр башка бөлүмдөгү кесиптештер менен иштөө абдан жакты – мен буга чейин машиналык үйрөнүүгө эч качан тийген эмесмин, бул мага кандайдыр бир сыйкырдай сезилди, бирок азыр андай эмес. (Егор)

— Мындай сонун долбоор менен ушундай сонун команданын мүчөсү болуу абдан сонун болду. Бир күндө дизайнер, видеооператор, үн инженери, редактор, музыкант жана копирайтер болууга жетиштим! Мен да жалгыз уктай алдым. (Тема)

Хакатондон кийинки жашоо

Хакатондордо иштелип чыккан долбоорлордун көбү ар кандай себептерден улам сатыкка чыкпайт: фокустун өзгөрүшү, ишке ашыруунун татаалдыгы, ишке ашырууда күтүлбөгөн нерсе. Ички хакатон да четте калбайт.

Ошого карабастан, биз жарык көргөн долбоорлорду тизмелейбиз:

Скибиди, флосинг жана JavaScript үйрөнүү менен биз ички хакатонду кантип утуп алдык

Source: www.habr.com

Комментарий кошуу