Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.

I kēia mau lā mākou haʻiʻia e pili ana i ka papahana haku hui o JetBrains a me ITMO University "Software Development / Software Engineering". Ke kono nei mākou i nā poʻe a pau i makemake i kahi lā wehe ma ka Pōʻakahi, ʻApelila 29th. E haʻi mākou iā ʻoe e pili ana i nā pono o kā mākou papahana haku, he aha nā bonus a mākou e hāʻawi ai i nā haumāna a me nā mea a mākou e koi ai i ka hoʻihoʻi. Eia kekahi, e pane maoli mākou i nā nīnau mai kā mākou mau malihini.

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.E mālama ʻia ka lā wehe ma ke keʻena ʻo JetBrains ma ka Times Business Center, kahi e aʻo ai nā haumāna o kā mākou haku. Hoʻomaka i ka hola 17:00. Hiki iā ʻoe ke ʻike i nā kikoʻī āpau a hoʻopaʻa inoa no ka hanana ma ka pūnaewele mse.itmo.ru. E hele mai ʻaʻole ʻoe e mihi!

ʻO kekahi o nā mea nui o ka papahana ka hoʻomaʻamaʻa. He nui nā haumāna: haʻawina home pule, papahana semester a me hackathon. Mahalo i ka hoʻopiha piha ʻana i nā ʻano hana hoʻomohala hou a me nā ʻenehana i ka wā o kā lākou aʻo ʻana, hoʻohui koke nā haumāna puka i nā kaʻina hana o nā hui IT nui.

Ma kēia pou makemake mākou e kamaʻilio i nā kikoʻī e pili ana i nā hackathon DevDays, e hana ʻia i kēlā me kēia mahina ʻeono. He maʻalahi nā lula: ʻākoakoa nā hui o 3-4 poʻe a no nā lā ʻekolu e lawe mai nā haumāna i ko lākou manaʻo ponoʻī. He aha paha kēia? E heluhelu i ka hapa mua o nā moʻolelo e pili ana i nā papahana hackathon o kēia kau mai nā haumāna iho :)

Diary me nā ʻōlelo paipai kiʻiʻoniʻoni

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.

Mea kākau o ka manaʻo
ʻO Ivan Ilchuk
Kū i ka laina
ʻO Ivan Ilchuk - ka hoʻokaʻawale ʻana i nā kiʻiʻoniʻoni, server
ʻO Vladislav Korablinov - ka hoʻomohala ʻana i nā hiʻohiʻona no ka hoʻohālikelike ʻana i kahi kokoke o kahi palapala diary a me ka ʻāpana o kahi kiʻiʻoniʻoni.
Dmitry Valchuk - UI
Nikita Vinokurov - UI, hoʻolālā

ʻO ka pahuhopu o kā mākou papahana ʻo ia ke kākau ʻana i kahi noi papapihi - he diary e hōʻike ana i nā kiʻiʻoniʻoni i ka mea hoʻohana e pili ana i nā helu i loko.

Ua hiki mai kēia manaʻo iaʻu i koʻu hele ʻana i ke kulanui me ka noʻonoʻo ʻana i koʻu mau pilikia. "ʻO kēlā me kēia pilikia a ke kanaka e kū nei, ua kākau mua kekahi mea kākau moʻolelo e pili ana iā ia," i koʻu manaʻo. "A ʻoiai ua kākau kekahi, ʻo ia hoʻi, ua kiʻi ʻia kekahi." No laila, ʻike maoli ʻia ka makemake e nānā i kahi kiʻiʻoniʻoni e pili ana i ke kanaka me ka ʻeha like ʻole.

ʻIke loa, aia nā ʻano like ʻole o nā diary kaʻawale a me nā lawelawe ʻōlelo hoʻokaʻawale ʻokoʻa (akā, ʻo ka mea maʻamau e pili ana nā ʻōlelo aʻoaʻo i ka mea a ke kanaka i makemake ai ma mua). Ma ke kumu, loaʻa i kēia papahana kekahi mea like me ka ʻimi ʻana i kahi kiʻiʻoniʻoni ma nā kumu nui, akā naʻe, ʻo ka mea mua, hāʻawi kā mākou noi i ka hana o kahi diary.

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.Pehea mākou i hoʻokō ai i kēia? Ke paʻi ʻoe i ke pihi kilokilo, hoʻouna ka diary i kahi komo i ke kikowaena, kahi i koho ʻia ai ke kiʻi ma muli o ka wehewehe i lawe ʻia mai Wikipedia. Ua hana ʻia kā mākou frontend ma Electron (hoʻohana mākou iā ia, ʻaʻole ka pūnaewele, no ka mea, ua hoʻoholo mākou e mālama i ka ʻikepili mea hoʻohana ʻaʻole ma ka kikowaena, akā ma ka ʻāina ma ka kamepiula), a ua hana ʻia ka server a me ka ʻōnaehana ʻōlelo ma Python: loaʻa mai nā wehewehe -IDF vectors i hoʻohālikelike ʻia no kahi kokoke i ka vector entry diary.

Hoʻokahi lālā o ka hui i hana wale ma ke kumu hoʻohālike, ʻo ka mea ʻē aʻe i hana holoʻokoʻa ma ke alo-hope (i ka hoʻomaka me kahi lālā ʻekolu, a ma hope ua hoʻololi i ka hoʻāʻo). Ua komo wau i ka parsing kiʻiʻoniʻoni mai Wikipedia a me ke kikowaena.

ʻO kēlā me kēia ʻanuʻu ua hoʻokokoke mākou i ka hopena, e lanakila ana i nā pilikia he nui, e hoʻomaka ana me ka ʻoiaʻiʻo o ke kumu hoʻohālike i koi mua i ka nui o ka RAM, e hoʻopau ana me ka paʻakikī o ka hoʻoili ʻana i ka ʻikepili i ke kikowaena.

I kēia manawa, no ka loaʻa ʻana o kahi kiʻiʻoniʻoni no ke ahiahi, ʻaʻole pono ʻoe i ka hoʻoikaika nui: ʻo ka hopena o kā mākou hana ʻekolu lā he polokalamu papapihi a me kahi kikowaena, kahi e komo ai ka mea hoʻohana ma o https, e loaʻa ana i kahi koho o nā kiʻiʻoniʻoni 5 me he wehewehe pōkole a me ka pepa.

He mea maikaʻi loa koʻu mau manaʻo o ka papahana: ua hoʻohauʻoli ka hana mai ke kakahiaka nui a hiki i ke ahiahi, a ʻo ka hopena o ka noi i kēlā me kēia manawa e hoʻopuka i nā hopena ʻakaʻaka loa i ke ʻano o "Sleepless Night" no kahi palapala diary e pili ana i nā haʻawina home ma ke kulanui a i ʻole kahi kiʻiʻoniʻoni. e pili ana i ka lā mua o ke kula no kahi moʻolelo e pili ana i ka lā mua ma ke keʻena.

Hiki ke loaʻa nā loulou pili, nā mea hoʻonohonoho, a pēlā aku maanei.

mīkini ala ala

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.Mea kākau o ka manaʻo
Artemyeva Irina
Kū i ka laina
ʻO Artemyeva Irina - alakaʻi kime, loop loop
Gordeeva Lyudmila - mele
Platonov Vladislav - nā ala

Makemake au e hele a puni ke kūlanakauhale: nānā i nā hale, nā kānaka, ka noʻonoʻo ʻana i ka mōʻaukala. Akā, ʻoiai ke hoʻololi ʻana i koʻu wahi noho, ma hope a ma hope paha e kū nei au i ka pilikia o ke koho ʻana i kahi ala: Ua hoʻopau wau i nā mea āpau aʻu e noʻonoʻo ai. ʻO kēia ke kumu i puka mai ai ka manaʻo e hoʻomaʻamaʻa i ka hanauna o nā ala: hōʻike ʻoe i ka wahi hoʻomaka a me ka lōʻihi o ke ala, a hāʻawi ka papahana iā ʻoe i kahi koho. Hiki ke lōʻihi ka hele wāwae, no laila, ʻo ka hoʻomohala kūpono o ka manaʻo me he mea lā e hoʻohui ana i ka hiki ke kuhikuhi i nā wahi waena no kahi "hoʻomaha," kahi āu e ʻai ai i ka ʻai a me ka hoʻomaha. ʻO kekahi lālā o ka hoʻomohala ʻana he mele. ʻOi aku ka leʻaleʻa o ka hele ʻana i ke mele, no laila maikaʻi e hoʻohui i ka hiki ke koho i kahi papa inoa e pili ana i kahi ala i hana ʻia.

ʻAʻole hiki ke loaʻa i ia ʻano hoʻonā i waena o nā noi e kū nei. ʻO nā mea hoʻohālikelike kokoke loa i nā mea hoʻolālā ala: Google Maps, 2GIS, etc.

ʻOi aku ka maʻalahi o ka loaʻa ʻana o ia noi ma kāu kelepona, no laila ʻo ka hoʻohana ʻana iā Telegram kahi koho maikaʻi. Hiki iā ʻoe ke hōʻike i nā palapala ʻāina a hoʻokani mele, a hiki iā ʻoe ke hoʻomalu i kēia mau mea āpau ma ke kākau ʻana i kahi bot. ʻO ka hana nui me nā palapala ʻāina i hana ʻia me ka Google Map API. Maʻalahi ka Python e hoʻohui i nā ʻenehana ʻelua.

ʻEkolu poʻe i loko o ka hui, no laila ua māhele ʻia ka hana i ʻelua mau subtasks non-overlapping (hana me nā palapala ʻāina a hana pū me nā mele) i hiki i nā kāne ke hana kūʻokoʻa, a ua lawe wau iaʻu iho e hoʻohui i nā hopena.

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.ʻAʻohe o mākou i hana pū me ka Google Map API a i ʻole i kākau ʻia nā bots Telegram, no laila ʻo ka pilikia nui ʻo ka nui o ka manawa i hoʻokaʻawale ʻia e hoʻokō i ka papahana: ʻoi aku ka nui o ka hoʻomaopopo ʻana i kekahi mea ma mua o ka hana ʻana i kahi mea āu i ʻike pono ai. He mea paʻakikī hoʻi ke koho ʻana i ka Telegram bot API: ma muli o ke kāohi ʻana, ʻaʻole hana lākou a pau a pono wau e hakakā e hoʻonohonoho i nā mea āpau.

He mea pono ke wehewehe kaawale pehea i hoopauia ai ka pilikia o ka hana ana i na alanui. He mea maʻalahi ke kūkulu i kahi ala ma waena o nā wahi ʻelua, akā he aha kāu e hāʻawi ai i ka mea hoʻohana inā ʻike ʻia ka lōʻihi o ke ala? E makemake ka mea hoʻohana e hele 10 mau kilomita. Koho ʻia kahi kiko ma kahi ʻaoʻao ʻokoʻa, ʻo ka mamao ma kahi laina pololei he 10 mau kilomita, a laila kūkulu ʻia kahi ala i kēia wahi ma nā alanui maoli. ʻAʻole paha pololei ia, no laila e pōkole mākou i ka 10 mau kilomita. Nui nā koho no kēlā mau ala - loaʻa iā mākou kahi mea hana ala maoli!

I ka hoʻomaka ʻana, makemake au e hoʻokaʻawale i ka palapala ʻāina i nā wahi e pili ana i nā wahi ʻōmaʻomaʻo: nā pā, nā pā hale, nā alanui, i mea e loaʻa ai ke ala ʻoluʻolu no ka hele wāwae, a hoʻopuka pū i nā mele e like me kēia mau wahi. Akā ʻo ka hana ʻana i kēia me ka hoʻohana ʻana i ka Google Map API ua lilo ia i mea paʻakikī (ʻaʻole mākou manawa e hoʻoponopono i kēia pilikia). Eia nō naʻe, hiki ke hoʻokō i ke kūkulu ʻana i kahi ala ma nā ʻano kikoʻī o nā wahi (kūʻai, paka, hale waihona puke): inā hele ke ala a puni nā wahi āpau, akā ʻaʻole i hele ka mamao i makemake ʻia, ua hoʻopau ʻia i kahi ka mamao i kuhikuhi ʻia e ka mea hoʻohana ma kahi alahele. ʻAe ka Google Map API iā ʻoe e helu i ka manawa huakaʻi i manaʻo ʻia, e kōkua iā ʻoe e koho i kahi papa inoa no ka hele holoʻokoʻa.

A? Acoeuoaoa, hana i hanauna nā ala ma kahi hoʻomaka, ka mamao a me nā wahi waena; ua mākaukau nā mea a pau e hoʻokaʻawale i nā mele e like me nā ʻāpana o ke ala, akā no ka nele o ka manawa, ua hoʻoholo ʻia e waiho i ke koho o ke koho ʻana i kahi papa inoa ma ke ʻano he lālā UI hou. No laila, hiki i ka mea hoʻohana ke koho kūʻokoʻa i ke mele e hoʻolohe ai.

ʻO ka pilikia nui me ka hana ʻana me ka mele ʻaʻole ʻike i kahi e loaʻa ai nā faila mp3 mai ka ʻole e koi i ka mea hoʻohana e loaʻa kahi moʻokāki ma kekahi lawelawe. Ua hoʻoholo ʻia e noi mele mai ka mea hoʻohana (UserMusic mode). Hoʻokumu kēia i kahi pilikia hou: ʻaʻole hiki i nā mea a pau ke hoʻoiho i nā mele. ʻO kahi hoʻonā ka hana ʻana i kahi waihona me nā mele mai nā mea hoʻohana (BotMusic mode) - mai ia mea hiki iā ʻoe ke hana i nā mele me ka ʻole o nā lawelawe.

ʻOiai ʻaʻole kūpono, ua hoʻopau mākou i ka hana: ua hoʻopau mākou i kahi noi aʻu e makemake ai e hoʻohana. Ma ka laulā, ʻoluʻolu loa kēia: ʻekolu lā i hala aku nei he manaʻo wale nō ʻoe a ʻaʻole hoʻokahi manaʻo i ke ʻano o ka hoʻokō pono ʻana, akā i kēia manawa aia kahi hopena hana. He mau lā koʻikoʻi loa kēia noʻu, ʻaʻole au makaʻu hou e hoʻopuka i kahi mea i lawa ʻole kaʻu ʻike e hoʻokō ai, ʻo ke alakaʻi kime he mea hoihoi loa ia, a ua ʻike au i nā kāne maikaʻi i komo i kaʻu hui. ʻoi aku ka maikaʻi!

Nā Demokila Kūʻai

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.

Mea kākau o ka manaʻo
Stanislav Sychev
Kū i ka laina
Stanislav Sychev - alakaʻi hui, waihona
ʻO Nikolay Izyumov - ka mea hoʻohana bot
ʻO Anton Ryabushev - hope

I loko o nā hui like ʻole, pono pinepine e hoʻoholo a koho paha. ʻO ka mea maʻamau i ia mau hihia e hoʻohana lākou i demokala pololei, akā, i ka nui o ka hui, hiki mai nā pilikia. No ka laʻana, ʻaʻole makemake paha kekahi o ka hui e pane pinepine i nā nīnau a i ʻole e pane i nā nīnau e pili ana i kekahi mau kumuhana. Ma nā hui nui, e pale i nā pilikia a lākou e hele ai ke aupuni democracy, i ka wa i kohoia ai he hui okoa o na "elele" mai na kanaka a pau, nana lakou i hookuu i ke koena mai ke kaumaha o ke koho. He mea paʻakikī naʻe ka lilo ʻana i hope, a ʻo ka mea i lilo i hoʻokahi, ʻaʻole ia he ʻoiaʻiʻo a hanohano, e like me ka mea i manaʻo ʻia he poʻe koho.

No ka hoʻoponopono i nā pilikia o nā ʻōnaehana ʻelua, ua hāʻawi ʻo Brian Ford i ka manaʻo wai demokrasi. I loko o ia ʻōnaehana, ua noa nā mea a pau e koho i ke kuleana o ka mea hoʻohana maʻamau a i ʻole ka ʻelele, ma ka hōʻike wale ʻana i ko lākou makemake. Hiki i kekahi ke koho kūʻokoʻa a i ʻole e hāʻawi balota i ka ʻelele ma hoʻokahi a ʻoi aku paha. Hiki i ka ʻelele ke koho balota. Eia kekahi, inā ʻaʻole kūpono ka ʻelele i ka mea koho, hiki ke hoʻihoʻi ʻia ke koho balota i kēlā me kēia manawa.

Loaʻa nā laʻana o ka hoʻohana ʻana i ka democracy wai i loko o ka politika, a ua makemake mākou e hoʻokō i kahi manaʻo like no ka hoʻohana ʻana i kēlā me kēia lā i loko o nā ʻano hui like ʻole. I ka DevDays hackathon aʻe, ua hoʻoholo mākou e kākau i kahi Telegram bot no ke koho balota e like me nā loina o ka demokala wai. I ka manawa like, makemake wau e pale i kahi pilikia maʻamau me ia mau bots - hoʻopaʻa i ka kamaʻilio maʻamau me nā memo mai ka bot. ʻO ka hoʻonā ka lawe ʻana i ka nui o nā hana i hiki i kahi kamaʻilio pilikino.

Hackathon DevDays'19 (mahele 1): he diary me nā ʻōlelo paipai, kahi mea hana ala hele a me ka democracy wai.No ka hana ʻana i kēia bot a mākou i hoʻohana ai API mai Telegram. Ua koho ʻia kahi waihona PostgreSQL e mālama i ka mōʻaukala o ke koho balota a me nā ʻelele. No ke kamaʻilio ʻana me ka bot, ua hoʻokomo ʻia kahi kikowaena Flask. Ua koho mākou i kēia mau ʻenehana no ka mea... ua loaʻa iā mākou ka ʻike e launa pū me lākou i ka wā o kā mākou haku. Hana ʻia nā ʻāpana ʻekolu o ka pāhana—ka waihona, ke kikowaena, a me ka bot—ua hoʻolaha maikaʻi ʻia i waena o nā lālā o ka hui.

ʻOiaʻiʻo, ʻekolu lā he manawa pōkole, no laila i ka wā o ka hackathon ua hoʻokō mākou i ka manaʻo i ka pae prototype. ʻO ka hopena, ua hana mākou i kahi bot e kākau i ke kamaʻilio maʻamau i ka ʻike wale nō e pili ana i ka wehe ʻana o ke koho balota a me kāna mau hopena inoa ʻole. Hoʻokō ʻia ka hiki ke koho balota a hana i kahi koho ma o ka leka pilikino me ka bot. No ke koho pāloka, e hoʻokomo i kahi kauoha e hōʻike ana i ka papa inoa o nā pilikia e pono ai ka nānā pono. Ma nā leka pilikino, hiki iā ʻoe ke ʻike i ka papa inoa o nā ʻelele a me kā lākou mau balota mua, a hāʻawi pū iā lākou i kāu koho ma kekahi o nā kumuhana.

Video me kahi laʻana o ka hana.

He hoihoi ka hana ʻana i ka papahana, noho mākou ma ke kulanui a hiki i ke aumoe, manaʻo mākou he ala maikaʻi kēia e hoʻomaha ai mai ke aʻo ʻana, ʻoiai he luhi loa. He mea leʻaleʻa i ka hana ʻana i kahi hui pili.

PS. Ke kau inoa ʻia nei no nā papahana haku no ka makahiki kula e hiki mai ana ua wehe. E hui pū me mākou!

Puna: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka