Ki jan ak poukisa nou te genyen track Big Data nan Hackathon Urban Tech Challenge

Non mwen se Dmitry. Apre sa, mwen vle pale sou fason ekip nou an te rive nan final la nan Urban Tech Challenge Hackathon nan sou track la Big Data. Mwen pral di touswit ke sa a se pa premye Hackathon kote mwen te patisipe, epi li pa premye kote mwen te pran pri. Nan sans sa a, nan istwa mwen an mwen vle vwa kèk obsèvasyon jeneral ak konklizyon konsènan endistri Hackathon an antye, epi bay pwen de vi mwen an opoze ak revizyon negatif yo ki te parèt sou entènèt imedyatman apre fen defi a Urban Tech (pou egzanp sa a).

Se konsa, premye kèk obsèvasyon jeneral.

1. Li etone ke byen kèk moun nayivman panse ke yon hackathon se yon kalite espò konpetisyon kote pi bon kodè yo genyen. Sa a se mal. Mwen pa konsidere ka lè òganizatè Hackathon tèt yo pa konnen sa yo vle (mwen te wè sa tou). Men, kòm yon règ, konpayi an ki òganize yon hackathon pouswiv objektif pwòp li yo. Lis yo ka diferan: li ta ka yon solisyon teknik pou kèk pwoblèm, yon rechèch pou nouvo lide ak moun, elatriye. Objektif sa yo souvan detèmine fòma evènman an, distribisyon li yo, sou entènèt / offline, ki jan travay yo pral fòmile (ak si yo pral fòmile nan tout), si pral gen yon revizyon kòd nan hackathon la, elatriye. Tou de ekip yo ak sa yo te fè yo evalye nan pwen de vi sa a. Ak ekip sa yo ki pi byen frape pwen konpayi an bezwen genyen, ak anpil rive nan pwen sa a konplètman enkonsyaman ak pa aksidan, panse ke yo reyèlman patisipe nan yon konpetisyon espò. Obsèvasyon mwen yo montre ke yo nan lòd yo motive patisipan yo, òganizatè yo ta dwe kreye omwen aparans nan yon anviwònman espò ak kondisyon egal, otreman yo pral resevwa yon vag nan negativite, tankou nan revizyon ki anwo a. Men, nou digress.

2. Pakonsekan konklizyon sa a. Òganizatè yo enterese nan patisipan yo vini nan Hackathon a ak pwòp travay yo, pafwa yo menm espesyalman òganize yon etap korespondans sou entènèt pou objektif sa a. Sa a pèmèt pou solisyon pwodiksyon pi fò. Konsèp "pwòp travay" se yon sèl trè relatif nenpòt pwomotè ki gen eksperyans ka akimile dè milye de liy nan kòd nan ansyen pwojè li yo nan premye komèt li. Epi èske sa a pral yon devlopman pre-prepare? Men, nan nenpòt ka, règ la aplike, ke mwen te eksprime nan fòm lan nan yon mem pi popilè:

Ki jan ak poukisa nou te genyen track Big Data nan Hackathon Urban Tech Challenge

Pou genyen, ou dwe gen yon bagay, kèk kalite avantaj konpetitif: yon pwojè menm jan an ke ou te fè nan tan lontan an, konesans ak eksperyans nan yon sijè espesifik, oswa yon travay pare fè anvan yo kòmanse nan Hackathon an. Wi, li pa espòtif. Wi, sa a ka pa vo efò a depanse (isit la, tout moun deside pou tèt yo si li vo kodaj pou 3 semèn nan mitan lannwit pou yon pri 100 mil, divize pa tout ekip la, e menm ak risk pou yo pa jwenn li). Men, souvan, sa a se sèl chans pou jwenn pi devan.

3. Seleksyon ekip. Kòm mwen remake nan chat Hackathon, anpil apwoche pwoblèm sa a byen frivol (byenke sa a se desizyon ki pi enpòtan ki pral detèmine rezilta ou nan Hackathon la). Nan anpil domèn aktivite (tou de nan espò ak nan hackathons) mwen te wè ke moun ki fò yo gen tandans ini ak sa yo ki fò, sa ki fèb ak sa ki fèb, entelijan ak entelijan, byen, an jeneral, ou jwenn lide a... Sa a se apeprè sa k ap pase nan chat: pwogramasyon mwens fò yo imedyatman kase, moun ki pa gen okenn ladrès ki gen anpil valè pou yon hackathon kwoke nan chat la pou yon tan long epi chwazi yon ekip sou prensip la ke si sèlman yon moun ta pran li. . Nan kèk hackathons, yo pratike plasman o aza nan ekip, ak òganizatè yo reklame ke ekip o aza fè pa pi mal pase sa yo ki deja egziste. Men, dapre obsèvasyon mwen yo, moun ki motive, an jeneral, jwenn yon ekip poukont yo si yon moun gen yo dwe asiyen, Lè sa a, souvan, anpil nan yo pa vini nan Hackathon la.

Kòm pou konpozisyon ekip la, sa a trè endividyèl ak trè depann sou travay la. Mwen ta ka di ke konpozisyon ekip minimòm solid la se yon designer - front-end oswa front-end - back-end. Men, mwen konnen tou nan ka lè ekip ki gen ladan sèlman nan front-enders te genyen, ki te ajoute yon senp back-end nan node.js, oswa te fè yon aplikasyon mobil nan React Native; oswa sèlman soti nan backenders ki te fè senp layout. An jeneral, tout bagay se trè endividyèl ak depann sou travay la. Plan mwen pou chwazi yon ekip pou hackathon a te jan sa a: Mwen te planifye yo rasanble yon ekip oswa rantre nan yon ekip tankou front-end - back-end - designer (mwen se yon front-end tèt mwen). Ak byen vit mwen te kòmanse koze ak yon backender python ak yon designer ki te aksepte envitasyon an rantre nan nou. Yon ti kras pita, yon ti fi, yon analis biznis, ki te deja gen eksperyans genyen yon hackathon, rejwenn nou, epi sa a te deside pwoblèm nan pou li rantre nan nou. Apre yon ti reyinyon, nou deside rele tèt nou U4 (URBAN 4, vil four) pa analoji ak kokenn kat la. Epi yo menm mete yon foto korespondan sou avatar chanèl telegram nou an.

4. Chwazi yon travay. Kòm mwen te deja di, ou dwe gen yon avantaj konpetitif, travay la pou hackathon la chwazi ki baze sou sa a. Ki baze sou sa a, li te gade lis travay ak evalye konpleksite yo, nou rezoud sou de travay: yon katalòg nan antrepriz inovatè soti nan DPiIR ak yon chatbot soti nan EFKO. Travay la soti nan DPIiR te chwazi pa backender a, travay la soti nan EFKO te chwazi pa mwen, paske te gen eksperyans ekri chatbots nan node.js ak DialogFlow. Travay EFKO te enplike tou ML mwen gen kèk, pa trè vaste, eksperyans nan ML. Ak selon kondisyon yo nan pwoblèm nan, li te sanble m 'ke li te fasil yo dwe rezoud lè l sèvi avèk zouti ML. Santiman sa a te vin pi fò lè m te ale nan reyinyon Urban Tech Challenge, kote òganizatè yo te montre m yon seri done sou EFKO, kote te gen apeprè 100 foto nan fòm pwodwi (yo te pran nan diferan ang) ak apeprè 20 klas erè nan layout. Epi, an menm tan an, moun ki te bay lòd travay la te vle reyalize yon to siksè klasifikasyon nan 90%. Kòm rezilta, mwen te prepare yon prezantasyon nan solisyon an san ML, backender a prepare yon prezantasyon ki baze sou katalòg la, epi ansanm, apre yo fin finalize prezantasyon yo, nou voye yo nan Urban Tech Challenge la. Deja nan etap sa a, yo te revele nivo motivasyon ak kontribisyon chak patisipan. Designer nou an pa t 'pati patisipe nan diskisyon yo, reponn an reta, e menm ranpli enfòmasyon sou tèt li nan prezantasyon an nan dènye moman an, an jeneral, dout leve.

Kòm yon rezilta, nou te pase travay la soti nan DPiIR, epi yo pa te fache ditou ke nou pa te pase EFKO a, depi travay la te sanble etranj pou nou, pou mete li dousman.

5. Preparasyon pou Hackathon la. Lè finalman te vin konnen nou te kalifye pou Hackathon an, nou te kòmanse prepare preparasyon an. Ak isit la mwen pa defann kòmanse ekri kòd yon semèn anvan kòmansman an nan Hackathon la. Nan yon minimòm, ou ta dwe gen yon boilerplate pare, ak ki ou ka imedyatman kòmanse travay, san yo pa bezwen konfigirasyon zouti, epi san yo pa frape nan pinèz nan kèk lib ke ou deside eseye pou premye fwa nan yon Hackathon. Mwen konnen yon istwa sou enjenyè angilè ki te vin nan yon hackathon epi ki te pase 2 jou mete kanpe pwojè a, kidonk tout bagay ta dwe prepare davans. Nou te gen entansyon distribye responsablite jan sa a: backender la ekri kroleur ki fouye entènèt la epi mete tout enfòmasyon yo kolekte nan baz done a, pandan y ap ekri yon API nan node.js ki demann baz done sa a epi voye done yo devan an. Nan sans sa a, mwen prepare yon sèvè davans lè l sèvi avèk express.js ak prepare yon front-end nan reyaji. Mwen pa sèvi ak CRA, mwen toujou personnaliser webpack pou tèt mwen e mwen konnen trè byen ki risk sa ka poze (sonje istwa a sou devlopè angilè). Nan pwen sa a, mwen te mande modèl koòdone oswa omwen mockups nan men designer nou an nan lòd yo gen yon lide sou sa mwen ta pral mete deyò. Nan teyori, li ta dwe tou fè preparasyon pwòp tèt li epi kowòdone yo avèk nou, men mwen pa janm resevwa yon repons. Kòm yon rezilta, mwen te prete konsepsyon an nan youn nan ansyen pwojè mwen yo. Epi li te kòmanse travay menm pi vit, depi tout estil pou pwojè sa a te deja ekri. Pakonsekan konklizyon an: yon designer pa toujou nesesè nan yon ekip))). Nou te vini nan Hackathon a ak devlopman sa yo.

6. Travay nan Hackathon la. Premye fwa mwen te wè ekip mwen an ap viv se sèlman nan ouvèti Hackathon nan Sant Distribisyon Santral la. Nou te rankontre, diskite solisyon an ak etap nan travay sou pwoblèm nan. Ak byenke apre ouvèti a nou te oblije ale nan otobis nan Oktòb Wouj, nou te ale lakay yo nan dòmi, dakò yo rive nan plas la nan 9.00. Poukisa? Òganizatè yo aparamman te vle jwenn pi plis nan patisipan yo, se konsa yo ranje jis tankou yon orè. Men, nan eksperyans mwen, ou ka code nòmalman san dòmi pou yon nwit. Kòm pou dezyèm lan, mwen pa sèten ankò. Yon hackathon se yon maraton ou bezwen byen kalkile ak planifye fòs ou. Anplis, nou te gen preparasyon.

Ki jan ak poukisa nou te genyen track Big Data nan Hackathon Urban Tech Challenge

Kidonk, apre nou fin dòmi, a 9.00 nou te chita nan sizyèm etaj Dewocracy. Lè sa a, designer nou an inatandi te anonse ke li pa t 'gen yon laptop ak ke li ta travay nan kay la, epi nou ta kominike nan telefòn. Sa a te dènye pay la. Se konsa, nou te vire soti nan yon kat nan yon twa, byenke nou pa chanje non ekip la. Ankò, sa a pa t 'yon gwo souflèt pou nou mwen te deja gen konsepsyon nan ansyen pwojè a. An jeneral, nan premye tout bagay te ale byen san pwoblèm ak selon plan an. Nou chaje nan baz done a (nou deside sèvi ak neo4j) yon seri done konpayi inovatè ki soti nan òganizatè yo. Mwen te kòmanse konpoze, Lè sa a, te pran node.js, ak Lè sa a, bagay sa yo te kòmanse misfire. Mwen pa t janm travay avèk neo4j anvan, e okòmansman mwen t ap chèche yon chofè k ap travay pou baz done sa a, Lè sa a, mwen te kalkile kijan pou m ekri yon rechèch, ak Lè sa a, mwen te sezi dekouvri ke baz done sa a, lè yo mande, retounen antite nan la. fòm yon etalaj de objè ne ak bor yo. Moun sa yo. lè mwen te mande yon òganizasyon ak tout done sou li pa TIN, olye de yon objè òganizasyon, mwen te retounen yon seri objè ki gen done sou òganizasyon sa a ak relasyon ki genyen ant yo. Mwen te ekri yon mape ki te ale nan tout etalaj la epi kole tout objè yo dapre òganizasyon yo nan yon sèl objè. Men, nan batay, lè yo mande yon baz done ki gen 8 mil òganizasyon, li te egzekite trè dousman, apeprè 20 - 30 segonn. Mwen te kòmanse panse sou optimize ... Lè sa a, nou te sispann nan tan ak chanje nan MongoDB, epi li te pran nou apeprè 30 minit. An total, apeprè 4 èdtan te pèdi sou neo5j.

Sonje byen, pa janm pran teknoloji nan yon hackathon ke ou pa abitye ak, ka gen supriz. Men, an jeneral, apa de echèk sa a, tout bagay te ale selon plan an. E deja nan maten 9 Desanm, nou te gen yon aplikasyon konplètman travay. Pou tout rès jounen an nou te planifye pou ajoute karakteristik adisyonèl nan li. Nan lavni an, tout bagay te ale relativman fèt san pwoblèm pou mwen, men backender a te gen yon pakèt moun sou pwoblèm ak entèdiksyon an nan krole l 'nan motè rechèch, nan Spam nan agrégateur nan antite legal, ki te vin nan premye plas yo nan rezilta rechèch lè yo mande. pou chak konpayi espesifik. Men, li pi bon pou li pale sou li tèt li. Premye karakteristik adisyonèl mwen te ajoute se rechèch pa non konplè. Direktè Jeneral VKontakte. Li te pran plizyè èdtan.

Se konsa, sou paj konpayi an nan aplikasyon nou an, yon avatar nan direktè jeneral la parèt, yon lyen nan paj VKontakte li a ak kèk lòt done. Se te yon bèl cherry sou gato a, byenke li ka pa te ban nou genyen an. Lè sa a, mwen te vle kouri kèk analytics. Men, apre yon rechèch long nan opsyon (te gen anpil nuans ak UI a), mwen rezoud sou agrégation ki pi senp nan òganizasyon pa kòd aktivite ekonomik. Deja nan aswè a, nan dènye èdtan yo, mwen te tap mete deyò yon modèl pou montre pwodwi inovatè (nan aplikasyon nou an ta sipoze gen yon seksyon Pwodwi ak Sèvis), byenke backend la pa t 'pare pou sa a. An menm tan an, baz done a te anfle pa franchi ak limit, krole yo kontinye travay, backender a eksperimante ak NLP yo fè distenksyon ant tèks inovatè ak tèks ki pa inovatè))). Men, tan pou prezantasyon final la te deja apwoche.

7. Prezantasyon. Soti nan pwòp eksperyans mwen, mwen ka di ke ou ta dwe chanje nan prepare yon prezantasyon apeprè 3 a 4 èdtan anvan li dwe. Espesyalman si li enplike videyo, tire ak koreksyon li yo pran anpil tan. Nou te sipoze gen yon videyo. Apre sa, nou te gen yon moun espesyal ki te fè fas ak sa a, epi tou rezoud yon kantite lòt pwoblèm òganizasyonèl. Nan sans sa a, nou pa t distrè tèt nou nan kodaj jiska dènye moman an.

8. Anplasman. Mwen pa t 'renmen ke prezantasyon yo ak final yo te fèt nan yon jou lasemèn apa (Lendi). Isit la, gen plis chans, politik òganizatè yo pou peze maksimòm patisipan yo te kontinye. Mwen pa t gen plan pou pran tan nan travay, mwen te vle sèlman vini nan final la, byenke rès ekip mwen an te pran fen semèn nan. Sepandan, imèsyon emosyonèl nan hackathon a te deja tèlman wo ke a 8 am mwen te ekri nan chat la nan ekip mwen an (ekip travay la, pa ekip la hackathon) ke mwen te pran jounen an pou kont mwen, epi li te ale nan santral la. biwo pou anplasman. Pwoblèm nou an te vin gen yon anpil nan syantis done pi bon kalite, ak sa a anpil afekte apwòch la pou rezoud pwoblèm nan. Anpil te gen yon bon DS, men pesonn pa te gen yon pwototip k ap travay, anpil pa t 'kapab jwenn otorizasyon entèdiksyon yo nan krole yo nan motè rechèch. Nou te sèl ekip ki gen yon pwototip k ap travay. Epi nou te konnen ki jan yo rezoud pwoblèm nan. Nan fen a, nou te genyen tras la, byenke nou te gen anpil chans ke nou te chwazi travay la pi piti konpetitif. Gade anplasman yo nan lòt tracks, nou reyalize ke nou pa ta gen okenn chans la. Mwen vle di tou ke nou te gen anpil chans ak jiri a yo metikuleu tcheke kòd la. Epi, jije pa revizyon yo, sa a pa t 'rive nan tout tracks.

9. Final. Apre nou te rele nou nan jiri a plizyè fwa pou yon revizyon kòd, nou panse ke nou te finalman rezoud tout pwoblèm yo, te ale nan manje midi nan Burger King. Se la òganizatè yo te rele nou ankò, nou te oblije byen vit pake lòd nou yo epi retounen.

Òganizatè a te montre nou nan ki chanm nou te bezwen antre, epi lè nou antre, nou te jwenn tèt nou nan yon sesyon fòmasyon pou pale an piblik pou ekip ki te genyen yo. Nèg yo ki te sipoze fè sou sèn yo te byen chaje, tout moun soti tankou showmen reyèl.

Apre sa, mwen dwe admèt, nan final la, kont twal la nan ekip yo ki pi fò soti nan lòt tracks, nou te gade pal viktwa nan nominasyon an kliyan byen merite te ale nan ekip la soti nan track la teknoloji byen imobilye. Mwen panse ke faktè kle yo ki te kontribye nan viktwa nou an sou track la yo te: disponiblite a nan yon vid ki pare, akòz ki nou te kapab byen vit fè yon pwototip, prezans nan "pwen esansyèl" nan pwototip la (rechèch pou CEOs). sou rezo sosyal) ak ladrès NLP nan backender nou an, ki tou te enterese anpil jiri a.

Ki jan ak poukisa nou te genyen track Big Data nan Hackathon Urban Tech Challenge

Ak nan konklizyon, mèsi tradisyonèl a tout moun ki sipòte nou, jiri a nan track nou an, Evgeniy Evgrafiev (otè a nan pwoblèm nan ke nou rezoud nan hackathon la) ak nan kou òganizatè yo nan hackathon la. Sa a te petèt pi gwo ak pi koul Hackathon mwen te janm patisipe nan, mwen ka sèlman swete mesye yo kenbe yon estanda konsa wo nan tan kap vini an!

Sous: www.habr.com

Add nouvo kòmantè