Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadzi

Posachedwapa ife anauza za pulogalamu yamakampani ya JetBrains ndi ITMO University "Software Development / Software Engineering". Tikuyitanira aliyense amene ali ndi chidwi pa tsiku lotsegulira Lolemba, April 29th. Tikuwuzani zaubwino wa pulogalamu ya mbuye wathu, mabonasi ati omwe timapereka kwa ophunzira ndi zomwe timafuna pobwezera. Komanso, ife ndithudi kuyankha mafunso kwa alendo athu.

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadziTsiku lotseguka lidzachitikira ku ofesi ya JetBrains ku Times Business Center, komwe ophunzira ambuye athu amaphunzira. Imayamba 17:00. Mutha kudziwa zambiri ndikulembetsa zochitika patsambali mse.itmo.ru. Bwerani ndipo simudzanong'oneza bondo!

Chimodzi mwa zigawo zazikulu za pulogalamuyi ndikuchita. Ophunzira ali ndi zambiri: homuweki yamlungu ndi mlungu, mapulojekiti a semester ndi ma hackathons. Chifukwa cha kumizidwa kwathunthu munjira zamakono zachitukuko ndi matekinoloje pamaphunziro awo, omaliza maphunziro amaphatikizana mwachangu m'makampani akuluakulu a IT.

Mu positi iyi tikufuna kulankhula mwatsatanetsatane za DevDays hackathons, zomwe zimachitika miyezi isanu ndi umodzi iliyonse. Malamulo ndi osavuta: magulu a anthu 3-4 amasonkhana ndipo kwa masiku atatu ophunzira amabweretsa malingaliro awo. Kodi izi zingabwere ndi chiyani? Werengani gawo loyamba la nkhani za semester iyi ya hackathon kuchokera kwa ophunzira omwe :)

Diary yokhala ndi malingaliro amakanema

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadzi

Wolemba lingaliro
Ivan Ilchuk
Lamulo dongosolo
Ivan Ilchuk - kugawa kanema, seva
Vladislav Korablinov - chitukuko cha zitsanzo kuyerekeza moyandikana kulowa diary ndi chiwembu cha filimu
Dmitry Valchuk - UI
Nikita Vinokurov - UI, kapangidwe

Cholinga cha polojekiti yathu chinali kulemba pulogalamu yapakompyuta - diary yomwe ingalimbikitse mafilimu kwa wogwiritsa ntchito potengera zomwe zalembedwamo.

Lingaliro limeneli linandifikira ndili m’njira yopita ku yunivesite ndi kuganizira za mavuto anga. "Kaya munthu akukumana ndi vuto liti, wolemba wina wakale walemba kale za izi," ndinaganiza. "Ndipo popeza wina adalemba izi, zikutanthauza kuti wina wajambula kale." Choncho chilakolako choonera filimu yonena za munthu amene akuvutika maganizo mofananamo chinaonekera mwachibadwa.

Mwachiwonekere, pali mitundu yambiri ya zolemba zosiyana ndi mautumiki osiyana omwe amavomereza (koma nthawi zambiri malingaliro amatengera zomwe munthuyo ankakonda poyamba). M'malo mwake, pulojekitiyi ili ndi zofanana ndi kufufuza filimu ndi mfundo zazikulu, komabe, choyamba, ntchito yathu imapereka ntchito ya diary.

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadziTinachita bwanji izi? Mukakanikiza batani lamatsenga, diary imatumiza zolowera ku seva, pomwe filimuyo imasankhidwa potengera zomwe zatengedwa kuchokera ku Wikipedia. Kutsogolo kwathu kunapangidwa mu Electron (timagwiritsa ntchito, osati tsamba la webusayiti, chifukwa poyambirira tidaganiza zosunga deta ya ogwiritsa ntchito osati pa seva, koma kwanuko pakompyuta), ndipo seva ndi njira yolimbikitsira idapangidwa mu Python: TF zopezedwa kuchokera ku mafotokozedwe - ma vector a IDF omwe amafananizidwa kuti akhale pafupi ndi diary entry vector.

Mmodzi wa gulu adagwira ntchito pa chitsanzo, winayo adagwira ntchito kutsogolo (poyamba pamodzi ndi membala wachitatu, yemwe pambuyo pake adasintha kuyesa). Ndinkachita nawo ziwembu zamakanema kuchokera ku Wikipedia ndi seva.

Pang'onopang'ono tinafika pafupi ndi zotsatira zake, ndikugonjetsa mavuto angapo, kuyambira ndi mfundo yakuti chitsanzo poyamba chinafuna RAM yambiri, kutha ndi vuto losamutsa deta ku seva.

Tsopano, kuti mupeze kanema wamadzulo, simukusowa khama lalikulu: zotsatira za ntchito yathu ya masiku atatu ndi ntchito yapakompyuta ndi seva, yomwe wogwiritsa ntchito amapeza kudzera pa https, kulandira poyankha mafilimu a 5 kufotokoza mwachidule ndi chithunzi.

Malingaliro anga a polojekitiyi ndi abwino kwambiri: ntchitoyi inali yochititsa chidwi kuyambira m'mawa mpaka usiku, ndipo zotsatira zake nthawi ndi nthawi zimatulutsa zotsatira zoseketsa kwambiri mumayendedwe a "Sleepless Night" polemba zolemba za homuweki ku yunivesite kapena filimu. za tsiku loyamba kusukulu nkhani ya tsiku loyamba ku dipatimenti.

Maulalo oyenerera, oyika, ndi zina zambiri angapezeke apa.

Njira jenereta

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadziWolemba lingaliro
Artemyeva Irina
Lamulo dongosolo
Artemyeva Irina - mtsogoleri wa gulu, kuzungulira kwakukulu
Gordeeva Lyudmila - nyimbo
Platonov Vladislav - njira

Ndimakonda kwambiri kuyenda mozungulira mzindawo: kuyang'ana nyumba, anthu, kuganizira za mbiriyakale. Koma, ngakhale ndikusintha malo anga okhala, posakhalitsa ndikukumana ndi vuto losankha njira: Ndatsiriza zonse zomwe ndingaganizire. Umu ndi momwe lingaliro lidafikira kuti lipangitse kupanga njira: mumawonetsa poyambira ndi kutalika kwa njirayo, ndipo pulogalamuyo imakupatsani mwayi wosankha. Kuyenda kumatha kukhala kwautali, kotero kutukuka koyenera kwa lingaliro kumawoneka kuti kukuwonjezera kuthekera kowonetsa nsonga zapakatikati pa "kuima," komwe mungakhale ndi zokhwasula-khwasula ndi kupuma. Nthambi ina yachitukuko inali nyimbo. Kuyenda nyimbo nthawi zonse kumakhala kosangalatsa, kotero zingakhale bwino kuwonjezera luso losankha playlist kutengera njira yopangidwa.

Sizinali zotheka kupeza mayankho otere pakati pa mapulogalamu omwe analipo kale. Ma analogue apafupi kwambiri ndi okonza njira: Google Maps, 2GIS, ndi zina.

Ndikosavuta kukhala ndi pulogalamu yotere pafoni yanu, chifukwa chake kugwiritsa ntchito Telegalamu kunali njira yabwino. Zimakupatsani mwayi wowonetsa mamapu ndikusewera nyimbo, ndipo mutha kuwongolera zonsezi polemba bot. Ntchito yayikulu yokhala ndi mamapu idachitika pogwiritsa ntchito Google Map API. Python imapangitsa kukhala kosavuta kuphatikiza matekinoloje onse awiri.

Panali anthu atatu m'gululi, choncho ntchitoyi inagawidwa m'magulu awiri osaphatikizika (kugwira ntchito ndi mapu ndikugwira ntchito ndi nyimbo) kuti anyamatawo azigwira ntchito paokha, ndipo ndinadzitengera ndekha kuti ndiphatikize zotsatira.

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadziPalibe aliyense wa ife amene adagwirapo ntchito ndi Google Map API kapena kulembedwa kwa Telegram bots, kotero vuto lalikulu linali kuchuluka kwa nthawi yomwe inaperekedwa kuti akwaniritse ntchitoyi: kumvetsetsa chinachake nthawi zonse kumatenga nthawi yochuluka kuposa kuchita zomwe mumadziwa bwino. Zinalinso zovuta kusankha Telegraph bot API: chifukwa chotsekereza, si onse omwe amagwira ntchito ndipo ndimayenera kuvutika kuti ndikhazikitse chilichonse.

Ndikoyenera kutchula padera momwe vuto lopangira njira linathetsedwera. Ndikosavuta kupanga njira pakati pa malo awiri, koma mungamupatse chiyani wogwiritsa ntchito ngati kutalika kwa njirayo kumadziwika? Lolani wosuta afune kuyenda makilomita 10. Mfundo imasankhidwa mopanda malire, mtunda umene mu mzere wowongoka ndi makilomita 10, pambuyo pake njira imamangidwa mpaka pano m'misewu yeniyeni. Nthawi zambiri sizikhala zowongoka, chifukwa chake tidzafupikitsa mpaka ma kilomita 10. Pali zosankha zambiri panjira zotere - tili ndi jenereta weniweni!

Poyamba, ndinkafuna kugawa mapuwa m'madera ogwirizana ndi madera obiriwira: mizati, mabwalo, misewu, kuti ndipeze njira yabwino kwambiri yoyendayenda, komanso kupanga nyimbo motsatira maderawa. Koma kuchita izi pogwiritsa ntchito Google Map API kunakhala kovuta (tinalibe nthawi yothetsera vutoli). Komabe, zinali zotheka kukhazikitsa njira kudzera m'malo osiyanasiyana (shopu, paki, laibulale): ngati njirayo idazungulira malo onse otchulidwa, koma mtunda womwe ukufunidwa sunayendebe, umamaliza mtunda wotchulidwa ndi wogwiritsa ntchito molunjika. Google Map API imakupatsaninso mwayi wowerengera nthawi yoyendera, zomwe zimakuthandizani kusankha mndandanda wamasewera ndendende paulendo wonse.

Pamapeto pake anakwanitsa kupanga m'badwo njira poyambira, mtunda ndi malo apakati; zonse zidakonzedwa kuti zigawike nyimbo molingana ndi magawo anjira, koma chifukwa chosowa nthawi, zidasankhidwa kusiya mwayi wosankha playlist ngati nthambi yowonjezera ya UI. Choncho, wosuta anatha paokha kusankha nyimbo kumvera.

Vuto lalikulu logwira ntchito ndi nyimbo silinali kudziwa komwe mungatenge mafayilo a mp3 popanda kufunikira kuti wosuta akhale ndi akaunti pa ntchito iliyonse. Iwo anaganiza kupempha nyimbo wosuta (UserMusic mumalowedwe). Izi zimabweretsa vuto latsopano: si aliyense amene ali ndi mwayi wotsitsa nyimbo. Njira imodzi ndiyo kupanga malo okhala ndi nyimbo kuchokera kwa ogwiritsa ntchito (BotMusic mode) - kuchokera pamenepo mutha kupanga nyimbo mosasamala kanthu za mautumiki.

Ngakhale kuti sizinali zangwiro, tinamaliza ntchitoyi: tinamaliza ndi pulogalamu yomwe ndikufuna kugwiritsa ntchito. Kawirikawiri, izi ndizozizira kwambiri: masiku atatu apitawo mudangokhala ndi lingaliro ndipo mulibe lingaliro limodzi la momwe mungaligwiritsire ntchito, koma tsopano pali yankho logwira ntchito. Awa anali masiku atatu ofunika kwambiri kwa ine. bwino!

Democracy Democracy

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadzi

Wolemba lingaliro
Stanislav Sychev
Lamulo dongosolo
Stanislav Sychev - mtsogoleri wa gulu, database
Nikolay Izyumov - mawonekedwe a bot
Anton Ryabushev - kumbuyo

M'magulu osiyanasiyana, nthawi zambiri pamafunika kupanga chisankho kapena kuvota. Kawirikawiri muzochitika zotere amapitako demokalase yolunjika, komabe, gulu likakhala lalikulu, mavuto angabwere. Mwachitsanzo, munthu m’gulu sangafune kuyankha mafunso pafupipafupi kapena kuyankha mafunso okhudza nkhani zina. M'magulu akuluakulu, kuti apewe mavuto omwe amakumana nawo woyimira demokalase, pamene gulu lapadera la β€œakazembe” lasankhidwa pakati pa anthu onse, amene amamasula otsala ku mtolo wa kusankha. Koma kukhala wachiwiri wotero kumakhala kovuta kwambiri, ndipo munthu amene akukhala sadzakhala woona mtima komanso wolemekezeka, monga momwe adawonekera kwa ovota.

Kuti athetse mavuto a machitidwe onsewa, Brian Ford adapereka lingalirolo demokalase yamadzi. M'dongosolo loterolo, aliyense ali ndi ufulu wosankha udindo wa wogwiritsa ntchito nthawi zonse kapena nthumwi, pongosonyeza zomwe akufuna. Aliyense akhoza kuvota yekha kapena kuvotera nthumwi pa nkhani imodzi kapena zingapo. Nthumwi ikhozanso kuponya voti yake. Komanso, ngati nthumwiyo sakuyenereranso wovota, voti ikhoza kuchotsedwa nthawi iliyonse.

Zitsanzo za kugwiritsa ntchito demokalase yamadzimadzi zimapezeka mu ndale, ndipo tinkafuna kukhazikitsa lingaliro lofananalo kuti ligwiritsidwe ntchito tsiku ndi tsiku m'magulu amitundu yonse. Pa DevDays hackathon yotsatira, tidaganiza zolemba bot ya Telegraph kuti tivote molingana ndi mfundo za demokalase yamadzi. Nthawi yomweyo, ndimafuna kupewa vuto lodziwika bwino ndi ma bots - kutseka macheza ambiri ndi mauthenga ochokera ku bot. Yankho lake ndikubweretsa magwiridwe antchito momwe mungathere pazokambirana zaumwini.

Hackathon DevDays'19 (gawo 1): diary yokhala ndi malingaliro, jenereta yoyenda ndi demokalase yamadziKuti tipange bot iyi tidagwiritsa ntchito API kuchokera ku Telegraph. Nawonso database ya PostgreSQL idasankhidwa kuti isunge mbiri yakuvota ndi nthumwi. Kuti mulankhule ndi bot, seva ya Flask idayikidwa. Tinasankha matekinoloje awa chifukwa ... tinali nazo kale zokumana nazo panthawi ya maphunziro a mbuye wathu. Gwirani ntchito pazigawo zitatu za polojekitiyi - nkhokwe, seva, ndi bot - zidagawidwa bwino pakati pa gulu.

Inde, masiku atatu ndi nthawi yochepa, kotero panthawi ya hackathon tinagwiritsa ntchito lingalirolo pamlingo wa prototype. Zotsatira zake, tidapanga bot yomwe imalembera pazokambirana zambiri zokhudzana ndi kutsegulidwa kwa kuvota ndi zotsatira zake zosadziwika. Kutha kuvota ndikupanga voti kumayendetsedwa kudzera pamakalata aumwini ndi bot. Kuti muvote, lowetsani lamulo lomwe likuwonetsa mndandanda wazinthu zomwe zimafunikira chisamaliro chachindunji. M'makalata anu, mutha kuwona mndandanda wa nthumwi ndi mavoti awo am'mbuyomu, ndikuwapatsanso mavoti anu pamitu imodzi.

Kanema wokhala ndi chitsanzo cha ntchito.

Zinali zosangalatsa kugwira ntchitoyo, tinakhala ku yunivesite mpaka pakati pa usiku.Tikuganiza kuti iyi ndi njira yabwino kwambiri yopuma pophunzira, ngakhale kuti ndi yotopetsa kwambiri. Zinali zosangalatsa kugwira ntchito mu timu yogwirizana kwambiri.

PS. Kulembetsa ku mapulogalamu a masters a chaka chamawa chamaphunziro kuli kale ndi lotseguka. Titsatireni!

Chitsime: www.habr.com

Kuwonjezera ndemanga