Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

VK-k tradizio polita du: barneko hackaton bat, eta bertan VKontakte-ko mutilek bakarrik parte hartu dezakete. Hackathoiaren berri emango dizuet aurten lehen postua lortu eta osorik nekeak hildako taldearen izenean, baina ipuin-kamerarako dantza-mugimendu detektagailu bat probatzea lortu zuen.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Nire izena Paul, VKontakte ikerketa-talde gorena zuzentzen dut eta jarrera beroa dut hackathons-en aurrean: parte-hartzaile gisa (Junction edo deephack batzuk) eta azkenaldian komisario gisa (VK hackathon edo VKontakte kasua Junction-en - bide batez, hau izan zen lehen aldia. Han parte hartu nuen Errusiako konpainia). Laugarren urtez egiten dugu VK Hackathon, guztientzako irekia (Ermitako Egoitza Nagusira igo ginen azken aldia), eta gure talde teknikoaren zati esanguratsu batek bertan parte hartu zuen VK-n sartu aurretik.

Barne hackaton batek taldeari berari plataformarekin asko esperimentatzeko, ideia desberdinak probatzeko eta, oro har, ondo pasatzeko aukera ematen du. Desberdintasun garrantzitsu bat da irtenbideak VK-n askoz gehiago integra daitezkeela, eta horrek prototipo interesgarriak lortzeko aukera ematen digu.

Hackatona Singer Etxean egiten da egun osoan - astearen erdialdean, egoitza gauerdiko mugimendu batean bihurtzen da. Dibertigarria da garbitzaileak goizean harrituta nola begiratzen duten ikustea: 6:XNUMXetan normalean bulego hutsa bat-batean zonbi bezala mugitzen diren eta oihukatzen duten ilusioz beteta geratzen da: "Bost ordu falta dira!" Edo goizeko hiruretan sukaldera sartzen zarenean eta saioetan unibertsitateko logelen usaina hartzen duenean: edari energetikoak, pizza eta izua. Hori, noski, egun arrunt batean gertatzen da, baina arraroa da hain eskala handian.

Aurreko hiru barne hackathon egin ziren udan. 2019an, txikikeriatan denbora ez galtzea erabaki genuen eta neguko hackathon bat egitea ere - bi hackathon bat baino askoz hobeak dira, aukera polita baita ohiko erritmoan denbora nahikoa ez duen ideia bat esperimentatzeko eta gauzatzeko. Arauak ere aldatu dira: lehen talde batek gehienez hiru lagun izan ditzake, baina aurten lau dira, baina batek ez du kodea idazten, beste zerbaitetan espezializatua baizik. Diseinatzaileak, produktuen kudeatzaileak, probatzaileak, merkaturatzaileak eta beste mutil batzuk taldera gonbidatzea posible izan zen. Guztira 38 taldek hartu dute parte hackaton honetan.

Dreamtim (zehazkiago, 38etako bat)

Akordio batera iritsi ginen Danei eta elkarrekin konbentzitu genuen Egor ΠΈ Tyoma taldean sartu. Espero bezala, modeloak guri arduratu ziren, Egor iOSen arduraduna, Tyoma ekoizpenaz eta diseinuaz. Mugikorren garapena + diseinua + ikasketa automatikoa eta backend apur bat arrakastaren gakoa da 2k19 hackathonean.

Aurten ere pistatan zatiketa bat agertu zen, lehen ez zegoena: Komunikabideak (horietan parte hartu genuen), Komunikazioak, Azpiegiturak, Edukiak eta Entretenimendua. Lehiakide indartsuak genituen. Adibidez, VK-ko diseinatzaile seniorrak etengabe motibatu gintuen Ilya, gure gelara sartu eta bere taldearen ideiaren prototipoak erakutsi zituen.

Idea

β€” Parte hartu nuen ia hackathoi guztietan sariak hartu nituen, eta neguan barneko hackathonetik ere gauza bera espero nuen. (Danya bere buruarengan konfiantza zuen)

Gure (zehazki Daninaren) ideia hasiera batean hau izan zen: musika sortzearen gaia arakatu nahi genuen + dena gailuan eduki, bestela "backend gehiegi" izango litzateke. Hackathon-a ideia-jasa batekin hasi zen - zer asmatu genezakeen pentsatu genuen. Musika sortzea interesgarria da, baina erabiltzailearen mendean jarri nahi dut. Botoi batzuk? Agian pantailan marraztu eta horretan oinarrituta musika sortu? Aldi berean, Musika taldeko mutilekin ikasi genuen nola gehitu behar genituen pistak. Baina oraindik ez zirudien oso ondo. Auzoko taldeak alaitasunez ari ziren euren ordenagailu eramangarrietan zerbaitetan lanean eta frustrazioa eragiten.

β€” Zer gertatzen da aire gitarra ezagutzen baduzu, gitarra jotzen ariko balitz bezala, eta horren arabera, gitarren soinua jotzen baduzu? (Tema)

Bingoa! Ideia militantea da, eta dena modu bikainean antolatzeko ahalmena dugu. Mugimenduaren ezagutzarako badago posenet, eta oso ondo dago (baita mugikorrak ere). Itxura dezagun!

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Erabaki

Eginkizun nagusiak gailuan sareta bat sortzea (erreala izan behar du) eta mugimenduak ezagutzen ikastea dira. Egor portatzen hasi zen, Tyoma pentsatzen hasi zen zer mugimendu interesgarriak txertatzea (gitarra bat besterik ez - aspergarria), eta Danya eta biok ezagutzen hasi ginen. Baina horrek datuak eskatzen ditu. Zein da PRO baten eta amateurren arteko aldea? PRO-k GPU bat duen kluster bat du - hori da gauza bat, bi - PRO-k bere kabuz bilduko ditu datuak behar dituenean. Danyak stand bat antolatu zuen, non kamera batetik aitortutako figura baten koordenatu gordinak grabatzen ziren, eta gero - dantzan! Gau hartan ikasi genuen haria dantzatzen, skibidi ΠΈ dudtsa.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz
Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Mugimenduak grabatzeko stand gisa, laneko ordenagailu eramangarri bat erabili genuen, lehen aldiz Daniren aurpegia grabatzen zuena (lehen ez zuen JS-n lerro bakar bat idatzi) beste JS akats ulertezin bat ikusi zuenean.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

β€” Ez dut ulertzen, maila-errore bat daukat: inprimatzea desagertu da Python-en! (Danya)

Gaueko dantza (literalki)

Gauez kameraren aurrean etengabeko mugimenduaren ordu asko filmatu genituen. Beraiek grabatu zuten, eta lurrean noraezean zebiltzan garatzaileak ere harrapatu eta DANTZARERA DEBORTUZ. Zazpi konbinazio ezberdin lortu genituen, orain haien artean bereizten ikasi behar genuen.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz
Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Β«Hiru orduz behin etortzen nintzen mutilak bizirik zeuden ala ez egiaztatzekoΒ». Paxak oihukatu zuen: "Pibota bat dugu!" - eta Danya indar guztiarekin flexionatu zen. Gero denek pipa dantzatu zuten. Daniilek indarrik gabe geratu zenean, Pashak leihoa ireki zuen eta esan zuen: "Mutilak, freskatu behar dugu". (Madina)

Irudiko datuak aldez aurretik prozesatu ziren: hankak kanpora bota zituzten, burua batez bestekoa eta koordenatu polarretan bihurtu zen enborrarekiko. Mugimendu-detektagailua catboost erabiliz entrenatu dugu - ereduko datu-fluxuaren hiru segundoko zati bat erabiliz. Gau honetara arte ez genuen liburutegiarekin lanik egin - borroka bat izan zen eta iOS-en jar dezakezu.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Klase anitzeko sailkapena irakasten zuten, klase bat ahalik eta aspergarriena izanik, kameraren aurrean ibiltzea besterik ez. Zailena "rock" mugimendua grabatzea izan zen: hain modu desinteresatuan astindu genuen burua, non pixka bat igaro ondoren biraka hasi zen. Eta "ahuntz" batekin esku bat atera zuten, hau alferrikakoa izan arren - posenet-ek puntu bakarra du esku osoan, ez ditu hatzak ikusten.

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

β€” Goizeko 3ak aldera, Pasha lo-zaku batera igo eta bertan bakarrik mugitu zen ordubetez, benetako kanguru bat bezala saltoka. (Madina)

Goizeko 8ak aldera krisi txiki batek jo genuen - dena apurtuta zegoen eta ezer ez zen funtzionatzen, baina gero dena bat-batean bere kabuz hasi zen lanean. Bi modeloak aplikazioan sartzea erronkarik handiena izan zen - Egorrek muntaia amaitu zuen literalki epea amaitu baino bost minutu lehenago. Eman diezaiogun hitza:

β€” Ideia aurkitu genuenean, dena oso ondo eta emankorra izan zen. Mutilek sareta entrenatu eta dantza egin zuten, eta PoseNet JavaScript-eko istorio-kamerara erantsi nion zuzenean arakatzailean. Hasierako probak ondo funtzionatu zuten eta harrigarriro azkarrak izan ziren. Hori dela eta, goizean WebGL WebView-n ustekabean huts egin zela txorakeria batzuengatik ehundurarekin lan egitean eta irtenbiderik aurkitzeko modurik ez zegoenean, ia etsipenean erori nintzen. Baina beranduegi zen amore emateko: ideiarekin sutan geunden. Hori dela eta, gure indarraren azkenarekin eta zezen gorriko azken lata batekin, CoreML-en oinarritutako eredu alternatibo bat arrastatu genuen iOS bezerora edonoiz edonoiz eta jarrerak natiboki jarraitzen hasi ginen, gero modelora dantzarekin bidaltzeko. eta emaitzaren bat lortu irteeran. Funtsean, lana berriro errepikatu dugu! Beste erronka bat bigarren eredua izan zen, bat-batean mila argudio baino gehiago espero ziren sarrera gisa! Xcode-k zuzenean erabiltzeko errealista izango zen interfaze bat sortu zuen. Zorionez, Objective-C-ren ezagutzak ez ninduen huts egin, eta irtenbide dotore bat aurkitu zen. (Yegor)

Pitching

Ostiralean, 14:14etan, proiektuari buruzko bideo bat igotzeko epea zegoen β€”hainbat taldek ez zuten garaiz egin eta kanporatuak izan zirenβ€”. Eta 40:XNUMXean produktuarekin lotutako pista-komisarioei pitch bat izan genuen. Bideo eta Musika taldeko mutilak izan genituen, eta zelaian dena gustatzen zitzaiela zirudien. Gure pistan bigarren postua lortu genuen (lehen nahi genuen, proiektu polita dugulako!) eta finalerdietan amaitu genuen (gure pistako bi talde sailkatu ziren).

β€” Aurten barne hackaton baten komisario izan nintzen lehenengoz. Neurriz esango dut: oso zaila izan zen lana ebaluatzea. Salbuespenik gabe talde guztien maila sinesgaitza zen. Ezaugarri batek ez luke teknologikoki aurreratua izan behar, ez bakarrik "ekoizpenetik gertu", ez "gure produktuetarako baliagarria izan daitekeena". Proiektu irabazleak irizpide horiek guztiak bete beharko ditu aldi berean. Badirudi mutilek lortu zutela. (Andrew)

17:40ean izan genuen azken txanpa. Ordurako, beharrezkoa zen beste demo bat prestatzea, oraingoan Talde osoarentzako, eta epaimahaia ezberdina zen: zuzendari teknikoa, produktuaren zuzendaria eta marketin zuzendaria.

Arratsaldeko bostetan dena bukatu zen - etxera ohera joan ginen, emaitzei buruz ezer jakin gabe.

Emaitzak dira azkenean

Emaitzak astelehenean baino ez ziren jakinarazi. Lehenik eta behin, pisten irabazleak saritzen zituzten (ez da gure kasua - gogorarazten dizut, bigarren izan ginen), gero entzuleen buruzagiek bozkatu zuten (ez gu), eta gero hirugarrena (eta hau ere ez gara gu), bigarrena (berriz, ez gu) eta, azkenik, gu.

Hona hemen lehiatu behar izan ditugun proiektuak:

2. postua - erantzuneko ahots laguntzailea;
3. postua - barne akatsen kronograma;
People's Choice Award datozen txat-bileren oroigarri bat da.

β€” Inoiz parte hartu dudan hackaton onena da. Junction-en ere baino askoz auto gehiago zegoen. (Danya)

β€” Asko gustatu zitzaidan sail guztiz ezberdin bateko lankideekin lan egitea. Ez nuen inoiz ikaskuntza automatikoa ukitu, magia moduko bat iruditu zitzaidan, baina orain ez da horrela. (Yegor)

β€” Oso polita izan zen hain talde polit baten parte izatea proiektu polit batekin. Egun batean diseinatzaile, bideogile, soinu ingeniari, editore, musikari eta copywriter izatea lortu nuen! Ni ere izan nintzen lo egitea lortu zuen bakarra. (Tema)

Hackatonaren ondorengo bizitza

Hackathonetan garatutako proiektu gehienak ez dira salmentetara iristen hainbat arrazoirengatik: ikuspegi aldaketa, ezarpenaren konplexutasuna, ezarpenean aurreikusi gabeko zerbait. Barne hackaton bat ez da salbuespena.

Hala ere, argia ikusi duten proiektuak zerrendatzen ditugu:

Nola irabazi genuen barne hackaton bat skibidi, flossing eta javascript ikasiz

Iturria: www.habr.com

Gehitu iruzkin berria