Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dej

Tsis ntev los no peb hais hais txog lub koom haum tus tswv txoj haujlwm ntawm JetBrains thiab ITMO University "Software Development / Software Engineering". Peb caw txhua tus neeg txaus siab rau hnub qhib rau hnub Monday, Plaub Hlis 29th. Peb yuav qhia koj txog qhov zoo ntawm peb tus tswv txoj haujlwm, qhov nyiaj tshwj xeeb uas peb muab rau cov tub ntxhais kawm thiab qhov peb xav tau rov qab los. Tsis tas li ntawd, peb yuav teb cov lus nug los ntawm peb cov qhua.

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dejHnub qhib yuav muaj nyob rau ntawm JetBrains chaw ua haujlwm hauv Times Business Center, qhov twg peb tus tswv cov tub ntxhais kawm kawm. Pib thaum 17:00. Koj tuaj yeem paub txhua yam ntsiab lus thiab sau npe rau qhov kev tshwm sim ntawm lub vev xaib mse.itmo.ru ua. Los thiab koj yuav tsis khuv xim nws!

Ib qho tseem ceeb ntawm qhov kev zov me nyuam yog kev xyaum. Cov tub ntxhais kawm muaj ntau yam: ua homework txhua lub lim tiam, semester tej yaam num thiab hackathons. Ua tsaug rau ua kom tiav rau hauv cov txheej txheem kev txhim kho niaj hnub thiab thev naus laus zis thaum lawv kawm, cov neeg kawm tiav tau nrawm nrawm rau hauv cov txheej txheem ua haujlwm ntawm cov tuam txhab IT loj.

Hauv cov ntawv tshaj tawm no peb xav tham kom ntxaws ntxiv txog DevDays hackathons, uas tshwm sim txhua rau lub hlis. Cov kev cai yog yooj yim: pab pawg ntawm 3-4 tus neeg sib sau ua ke thiab rau peb hnub cov tub ntxhais kawm coj lawv lub tswv yim rau lub neej. Yuav ua li cas los ntawm qhov no? Nyeem thawj ntu ntawm cov dab neeg hais txog lub semester no cov haujlwm hackathon los ntawm cov tub ntxhais kawm lawv tus kheej :)

Diary nrog cov lus pom zoo ua yeeb yaj kiab

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dej

Tus sau lub tswv yim
Ivan Ilchuk
Kab-up
Ivan Ilchuk - zaj duab xis parsing, neeg rau zaub mov
Vladislav Korablinov - txoj kev loj hlob ntawm cov qauv rau kev sib piv qhov sib thooj ntawm lub chaw muag mis nyuj nkag thiab zaj duab xis zaj duab xis
Dmitry Valchuk - UAS
Nikita Vinokurov - UI, tsim

Lub hom phiaj ntawm peb txoj haujlwm yog los sau daim ntawv thov desktop - phau ntawv teev npe uas yuav pom zoo cov yeeb yaj kiab rau cov neeg siv raws li cov ntawv nkag hauv nws.

Lub tswv yim no tau los rau kuv thaum kuv tab tom taug kev mus rau tsev kawm qib siab thiab xav txog kuv cov teeb meem. "Txawm li cas los xij ib tus neeg ntsib teeb meem, qee tus kws sau ntawv classic tau sau txog nws," Kuv xav. "Thiab txij li ib tug neeg sau nws, nws txhais tau tias ib tug neeg twb tau yees duab nws." Yog li ntawd, lub siab xav mus saib ib zaj duab xis txog ib tug neeg uas muaj tib lub hlwb raug tsim txom tshwm sim lawm.

Pom tseeb, muaj ntau yam sib txawv ntawm cov ntawv teev npe thiab cais cov kev pom zoo (tab sis feem ntau cov lus pom zoo raws li tus neeg yav dhau los nyiam). Hauv cov ntsiab lus, qhov project no muaj qee yam sib xws nrog kev tshawb nrhiav cov yeeb yaj kiab los ntawm cov ntsiab lus tseem ceeb, tab sis tseem, ua ntej ntawm tag nrho cov, peb daim ntawv thov muab kev ua haujlwm ntawm lub chaw muag mis nyuj.

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dejPeb tau siv qhov no li cas? Thaum koj nias lub khawm khawv koob, daim ntawv teev npe xa ib qho nkag mus rau lub server, qhov twg cov yeeb yaj kiab raug xaiv raws li cov lus piav qhia los ntawm Wikipedia. Peb lub frontend tau tsim hauv Electron (peb siv nws, tsis yog lub vev xaib, vim tias peb pib txiav txim siab khaws cov ntaub ntawv neeg siv tsis yog ntawm lub server, tab sis hauv zos ntawm lub khoos phis tawj), thiab lub server thiab cov lus pom zoo nws tus kheej tau tsim hauv Python: TFs. tau los ntawm cov lus piav qhia -IDF vectors uas tau muab piv rau qhov sib thooj rau qhov chaw teev cia nkag vector.

Ib pab neeg ua haujlwm tsuas yog ua haujlwm ntawm tus qauv, lwm tus ua haujlwm tag nrho ntawm lub hauv ntej-kawg (thaum pib ua ke nrog tus neeg thib peb, uas tom qab hloov mus rau qhov kev sim). Kuv tau koom nrog parsing zaj duab xis zaj duab xis los ntawm Wikipedia thiab server.

Ib kauj ruam dhau los peb tau los ze zog rau qhov tshwm sim, kov yeej ntau yam teeb meem, pib nrog qhov tseeb tias tus qauv pib xav tau ntau RAM, xaus nrog qhov nyuaj ntawm kev xa cov ntaub ntawv mus rau lub server.

Tam sim no, txhawm rau nrhiav cov yeeb yaj kiab rau yav tsaus ntuj, koj tsis tas yuav siv zog ntau: qhov tshwm sim ntawm peb txoj haujlwm peb hnub yog daim ntawv thov desktop thiab lub server, uas tus neeg siv nkag los ntawm https, tau txais kev xaiv ntawm 5 zaj duab xis nrog cov lus piav qhia luv luv thiab daim ntawv tshaj tawm.

Kuv qhov kev xav ntawm qhov project yog qhov zoo heev: kev ua haujlwm tau ntxim nyiam txij thaum sawv ntxov mus txog thaum tsaus ntuj, thiab daim ntawv thov ua ntu zus ua rau muaj txiaj ntsig zoo heev hauv cov qauv ntawm "Sleepless Night" rau kev sau ntawv teev npe txog kev ua homework hauv tsev kawm ntawv lossis zaj duab xis. txog thawj hnub ntawm tsev kawm ntawv rau ib zaj dab neeg txog thawj hnub ntawm lub tuam tsev.

Muaj feem cuam tshuam, installers, thiab lwm yam tuaj yeem pom no.

Route generator

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dejTus sau lub tswv yim
Artemyeva Irina
Kab-up
Artemyeva Irina - pab pawg thawj coj, lub ntsiab voj
Gordeeva Lyudmila - suab paj nruag
Platonov Vladislav - txoj kev

Kuv nyiam taug kev ncig lub nroog: saib cov tsev, neeg, xav txog keeb kwm. Tab sis, txawm tias thaum hloov kuv qhov chaw nyob, tsis ntev los sis tom qab ntawd kuv tau ntsib teeb meem ntawm kev xaiv txoj kev: Kuv tau ua tiav txhua qhov kuv xav tau. Qhov no yog li cas lub tswv yim tuaj rau automate tiam ntawm txoj kev: koj qhia qhov pib taw tes thiab ntev ntawm txoj kev, thiab qhov kev pab cuam muab rau koj xaiv. Kev taug kev tuaj yeem ntev, yog li kev txhim kho ntawm lub tswv yim zoo li yuav ntxiv lub peev xwm los qhia cov ntsiab lus nruab nrab rau "nres," qhov chaw koj tuaj yeem noj khoom txom ncauj thiab so. Lwm ceg ntawm kev loj hlob yog suab paj nruag. Taug kev mus rau suab paj nruag yeej ib txwm muaj kev lom zem dua, yog li nws yuav yog qhov zoo rau ntxiv peev xwm xaiv cov playlist raws li txoj hauv kev tsim.

Nws tsis tuaj yeem nrhiav cov kev daws teeb meem ntawm cov ntawv thov uas twb muaj lawm. Cov analogues ze tshaj yog txhua txoj kev npaj: Google Maps, 2GIS, thiab lwm yam.

Nws yooj yim tshaj plaws kom muaj xws li daim ntawv thov hauv koj lub xov tooj, yog li siv Telegram yog qhov kev xaiv zoo. Nws tso cai rau koj los tso saib daim duab qhia chaw thiab ua si suab paj nruag, thiab koj tuaj yeem tswj txhua qhov no los ntawm kev sau ntawv bot. Lub luag haujlwm tseem ceeb nrog daim duab qhia tau ua tiav siv Google Map API. Python ua rau nws yooj yim los ua ke ob lub thev naus laus zis.

Muaj peb tus neeg nyob hauv pab pawg, yog li txoj haujlwm tau muab faib ua ob txoj haujlwm tsis sib tshooj (ua haujlwm nrog daim duab qhia chaw thiab ua haujlwm nrog suab paj nruag) kom cov txiv neej tuaj yeem ua haujlwm ntawm nws tus kheej, thiab kuv coj kuv tus kheej los ua ke cov txiaj ntsig.

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dejTsis muaj leej twg ntawm peb tau ua haujlwm nrog Google Map API lossis sau Telegram bots, yog li qhov teeb meem tseem ceeb yog lub sijhawm teem sijhawm los siv qhov project: nkag siab qee yam ib txwm siv sijhawm ntau dua li ua qee yam koj paub zoo. Nws kuj tseem nyuaj rau xaiv Telegram bot API: vim kev thaiv, tsis yog txhua tus ua haujlwm thiab kuv yuav tsum tau tawm tsam los teeb tsa txhua yam.

Nws yog tsim nyog hais cais yuav ua li cas qhov teeb meem ntawm kev tsim txoj kev tau daws. Nws yooj yim los tsim txoj kev ntawm ob qhov chaw, tab sis dab tsi koj tuaj yeem muab rau tus neeg siv yog tias tsuas yog qhov ntev ntawm txoj kev paub? Cia tus neeg siv xav taug kev 10 km. Ib tug taw tes yog xaiv nyob rau hauv ib tug arbitrary kev taw qhia, qhov kev ncua deb ntawm uas nyob rau hauv ib tug ncaj txoj kab yog 10 kilometers, tom qab uas ib tug txoj kev yog tsim rau lub point no raws txoj kev tiag. Feem ntau nws yuav tsis ncaj, yog li peb yuav luv nws mus rau qhov teev 10 kilometers. Muaj ntau txoj kev xaiv rau txoj kev no - peb tau txais lub tshuab hluav taws xob tiag tiag!

Thaum pib, kuv xav faib daim ntawv qhia mus rau thaj chaw sib xws rau thaj chaw ntsuab: embankments, tshav puam, txoj kev, thiaj li yuav tau txais txoj kev zoo siab tshaj plaws rau kev taug kev, thiab tseem tsim cov suab paj nruag raws li cov cheeb tsam no. Tab sis ua qhov no siv Google Map API tau dhau los ua nyuaj (peb tsis muaj sijhawm los daws qhov teeb meem no). Txawm li cas los xij, nws tuaj yeem siv txoj hauv kev los ntawm cov chaw tshwj xeeb (khw, chaw ua si, tsev qiv ntawv): yog tias txoj kev mus ncig txhua qhov chaw tau teev tseg, tab sis qhov kev xav tau tseem tsis tau mus ncig, nws ua tiav mus rau ib qho. tus neeg siv qhia txog qhov deb nyob rau hauv ib qho kev taw qhia random. Google Map API tseem tso cai rau koj los laij cov kwv yees lub sijhawm mus ncig, uas yuav pab koj xaiv ib daim ntawv teev npe raws nraim rau tag nrho taug kev.

Thaum kawg tswj kom ua ib tiam txoj kev los ntawm qhov pib, qhov deb thiab nruab nrab cov ntsiab lus; txhua yam tau npaj los faib cov suab paj nruag raws li ntu ntawm txoj hauv kev, tab sis vim tsis muaj sijhawm, nws tau txiav txim siab tawm ntawm qhov kev xaiv xaiv ib qho playlist tsuas yog ib ceg UI ntxiv. Yog li, tus neeg siv tau xaiv nws tus kheej xaiv cov suab paj nruag los mloog.

Qhov teeb meem tseem ceeb ntawm kev ua hauj lwm nrog suab paj nruag yog tsis paub qhov twg yuav tau txais cov ntaub ntawv mp3 los ntawm tsis tas yuav tsum tau tus neeg siv kom muaj ib tug account ntawm tej kev pab cuam. Nws tau txiav txim siab thov suab paj nruag los ntawm tus neeg siv (UserMusic hom). Qhov no tsim teeb meem tshiab: tsis yog txhua tus muaj peev xwm rub tawm cov nkauj. Ib qho kev daws teeb meem yog los tsim ib lub chaw cia nrog cov suab paj nruag los ntawm cov neeg siv (BotMusic hom) - los ntawm nws koj tuaj yeem tsim suab paj nruag txawm tias muaj kev pabcuam.

Txawm hais tias tsis zoo tag nrho, peb ua tiav txoj haujlwm: peb xaus nrog ib daim ntawv thov uas kuv xav siv. Feem ntau, qhov no yog qhov txias heev: peb hnub dhau los koj tsuas muaj lub tswv yim thiab tsis yog ib qho kev xav ntawm yuav ua li cas raws nraim nws, tab sis tam sim no muaj kev daws teeb meem. Peb hnub no yog ib qho tseem ceeb heev rau kuv, Kuv tsis ntshai yuav los nrog ib yam dab tsi uas kuv tsis muaj kev paub txaus los siv, ua ib pab neeg ua haujlwm tau zoo heev, thiab kuv tau paub cov neeg zoo uas koom nrog kuv pab neeg. zoo dua!

Looj Mem Kev Ntseeg

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dej

Tus sau lub tswv yim
Stanislav Sychev
Kab-up
Stanislav Sychev - pab pawg thawj coj, database
Nikolay Izyumov - bot interface
Anton Ryabushev - tus thawj coj

Hauv ntau pab pawg, feem ntau yuav tsum tau txiav txim siab lossis pov npav. Feem ntau nyob rau hauv xws li mob lawv resort mus kev cai ywj pheej, txawm li cas los xij, thaum pab pawg tau loj, teeb meem tuaj yeem tshwm sim. Piv txwv li, ib tug neeg hauv ib pab pawg yuav tsis xav teb cov lus nug ntau zaus lossis teb cov lus nug txog qee cov ncauj lus. Hauv pab pawg loj, kom tsis txhob muaj teeb meem lawv ua haujlwm sawv cev kev ywj pheej, thaum ib pab pawg neeg ntawm "deputies" raug xaiv los ntawm tag nrho cov neeg, uas tso cov seem ntawm lub nra ntawm kev xaiv. Tab sis nws yog ib qho nyuaj heev los ua tus thawj tswj hwm, thiab tus neeg uas dhau los yuav tsis tas yuav tsum ncaj ncees thiab hwm, raws li nws zoo li cov neeg xaiv tsa.

Txhawm rau daws cov teeb meem ntawm ob lub tshuab, Brian Ford tau npaj lub tswv yim dej democratic. Nyob rau hauv xws li ib tug system, txhua leej txhua tus muaj kev ywj pheej xaiv lub luag hauj lwm ntawm tus neeg siv li niaj zaus los yog ib tug delegate, tsuas yog los ntawm kev qhia lawv lub siab nyiam. Leej twg tuaj yeem pov npav ywj siab lossis muab pov npav rau tus neeg sawv cev ntawm ib lossis ntau qhov teeb meem. Ib tug neeg sawv cev kuj tuaj yeem pov npav nws tus kheej. Ntxiv mus, yog tias tus neeg sawv cev tsis haum rau cov neeg pov npav lawm, kev pov npav tuaj yeem raug tshem tawm txhua lub sijhawm.

Piv txwv ntawm kev siv cov kua dej ywj pheej muaj nyob rau hauv kev nom kev tswv, thiab peb xav siv lub tswv yim zoo sib xws rau kev siv txhua hnub hauv txhua pawg neeg. Nyob rau tom ntej DevDays hackathon, peb txiav txim siab sau Telegram bot rau kev pov npav raws li cov hauv paus ntsiab lus ntawm kev ywj pheej ua kua. Nyob rau tib lub sijhawm, kuv xav kom tsis txhob muaj teeb meem tshwm sim nrog cov bots zoo li no - clogging kev sib tham dav dav nrog cov lus los ntawm bots. Qhov kev daws teeb meem yog coj ntau npaum li qhov ua tau zoo rau hauv kev sib tham ntawm tus kheej.

Hackathon DevDays'19 (ib ntu 1): phau ntawv teev npe nrog cov lus pom zoo, lub tshuab hluav taws xob taug kev thiab ua kua dejLos tsim cov bot no peb siv API los ntawm Telegram. PostgreSQL database tau raug xaiv los khaws keeb kwm ntawm kev pov npav thiab kev xaiv tsa. Txhawm rau sib txuas lus nrog bot, Flask server raug teeb tsa. Peb xaiv cov thev naus laus zis no vim ... peb twb tau muaj kev cuam tshuam nrog lawv thaum peb tus tswv txoj kev kawm. Ua haujlwm ntawm peb qhov haujlwm ntawm qhov project - database, server, thiab bot - tau ua tiav zoo ntawm cov neeg koom tes.

Tau kawg, peb hnub yog lub sijhawm luv luv, yog li thaum lub sijhawm hackathon peb tau siv lub tswv yim mus rau qib qauv. Yog li ntawd, peb tau tsim ib lub bot uas sau rau hauv kev sib tham dav dav tsuas yog cov ntaub ntawv hais txog kev qhib kev xaiv tsa thiab nws cov txiaj ntsig tsis qhia npe. Lub peev xwm los pov npav thiab tsim kev xaiv tsa yog siv los ntawm kev sau ntawv tus kheej nrog bot. Txhawm rau pov npav, nkag mus rau cov lus txib uas qhia cov npe ntawm cov teeb meem uas yuav tsum tau saib xyuas ncaj qha. Hauv kev sau ntawv tus kheej, koj tuaj yeem pom cov npe ntawm cov neeg sawv cev thiab lawv cov kev xaiv tsa yav dhau los, thiab tseem muab lawv pov npav rau ib qho ntawm cov ncauj lus.

Video nrog piv txwv ntawm kev ua haujlwm.

Nws yog ib qho txaus nyiam ua haujlwm ntawm peb tes num, peb nyob hauv tsev kawm ntawv mus txog ib tag hmo, peb xav tias qhov no yog ib txoj hauv kev zoo rau kev so los ntawm kev kawm, txawm tias nws yog qhov nyuaj heev. Nws yog ib qho kev zoo siab ua haujlwm hauv pab pawg sib raug zoo.

PS. Kev cuv npe rau tus master's programs rau xyoo kawm ntawv tom ntej twb yog lawm yog qhib. Koom nrog peb!

Tau qhov twg los: www.habr.com

Ntxiv ib saib