Ke hoʻomau nei mākou e kamaʻilio e pili ana i nā papahana o ka spring hackathon DevDays, kahi i komo ai nā haumāna o ka papahana a ka haku.
Ma ke ala, makemake mākou e kono i ka poʻe heluhelu e hui pū
Telegram Desktop Voice Message Parser
Mea kākau o ka manaʻo
Khoroshev Artyom
Kū i ka laina
Khoroshev Artem - luna o ka papahana / mea hoʻomohala / QA
ʻO Eliseev Anton - mea hoʻopuka pāʻoihana / loea kūʻai
Maria Kuklina – mea hoʻolālā/mea hoʻomohala UI
Bakhvalov Pavel - mea hoʻolālā UI / mea hoʻomohala / QA
Mai ko mākou manaʻo, ʻo Telegram kahi ʻelele hou a kūpono hoʻi, a ʻo kāna PC PC he mea kaulana a wehe ʻia, kahi e hiki ai ke hoʻololi. Hāʻawi ka mea kūʻai aku i nā hana waiwai nui. Ma waho aʻe o nā memo kikokikona maʻamau, aia nā leo leo, nā memo wikiō, a me nā memo leo. A ʻo ia ka mea hope i kekahi manawa e hoʻopilikia i ka mea e loaʻa iā lākou. ʻAʻole hiki ke hoʻolohe i ka leo leo ma ke kamepiula a i ʻole kamepiula. Loaʻa paha ka walaʻau ʻana, nele i nā headphone, a ʻaʻole ʻoe makemake e lohe kekahi i nā mea o ka memo. ʻAʻole loa e ala mai kēlā mau pilikia inā ʻoe e hoʻohana iā Telegram ma ke kelepona, no ka mea hiki iā ʻoe ke lawe mai i kou pepeiao, ʻaʻole like me ka pona a PC paha. Ua ho'āʻo mākou e hoʻoponopono i kēia pilikia.
ʻO ka pahuhopu o kā mākou papahana ma DevDays ʻo ia ka hoʻohui ʻana i ka hiki ke unuhi i nā memo leo i loaʻa i loko o ka kikokikona i ka mea kūʻai aku ʻo Telegram desktop (i kapa ʻia ʻo Telegram Desktop).
ʻO nā analogues āpau i kēia manawa he mau bots kahi e hiki ai iā ʻoe ke hoʻouna i kahi leka leo a loaʻa i kahi kikokikona i pane. ʻAʻole mākou hauʻoli loa i kēia: ʻaʻole maʻalahi ka hoʻouna ʻana i kahi leka i kahi bot; makemake mākou e loaʻa ka hana maoli. Eia kekahi, ʻo kēlā me kēia bot kahi ʻaoʻao ʻekolu e hana ma ke ʻano he mea waena ma waena o ka API ʻike ʻōlelo a me ka mea hoʻohana, a ʻo kēia, ma ka liʻiliʻi, palekana.
E like me ka mea i hōʻike mua ʻia, ʻelua mau pōmaikaʻi nui: ka maʻalahi a me ka wikiwiki o ka hana. A ʻaʻole kēia he coincidence, no ka mea, ua kākau ʻia ma C ++. A no ka mea ua hoʻoholo mākou e hoʻohui pololei i nā hana hou i ka mea kūʻai aku, pono mākou e hoʻomohala iā C++.
He 4 poʻe i loko o kā mākou hui. I ka wā mua, ʻimi nā kānaka ʻelua i hale waihona puke kūpono no ka ʻike ʻana i ka ʻōlelo, hoʻokahi kanaka e aʻo ana i ke kumu kumu o Telegram-desktop, ʻo kekahi e hoʻolālā ana i ka papahana kūkulu.
Me he mea lā ʻaʻole paʻakikī ka hoʻokō ʻana i ka hana i manaʻo ʻia, akā, e like me ka hana mau, ua kū mai nā pilikia.
ʻO ka hoʻonā ʻana i ka pilikia he ʻelua subtasks kūʻokoʻa: ke koho ʻana i kahi hāmeʻa ʻike ʻōlelo kūpono a hoʻokō i kahi UI no ka hana hou.
Ke koho ʻana i kahi waihona no ka ʻike leo, pono mākou e haʻalele koke i nā API waho waho, no ka mea, ʻoi aku ka nui o nā ʻano ʻōlelo. Akā hoʻokahi wale nō ʻōlelo mākou e kamaʻilio nei. Ua maopopo e pono mākou e hoʻohana i ka API pūnaewele. Ma hope mai, ua ʻike ʻia ʻaʻole manuahi nā lawelawe ʻōlelo ʻōlelo a nā mea nunui e like me Google, Yandex a me Microsoft, a pono mākou e ʻoluʻolu me ka wā hoʻokolokolo. ʻO ka hopena, ua koho ʻia ʻo Google Speech-To-Text no ka mea hiki iā ʻoe ke kiʻi i kahi hōʻailona no ka hoʻohana ʻana i ka lawelawe, e mau ana no ka makahiki holoʻokoʻa.
ʻO ka lua o ka pilikia i loaʻa iā mākou e pili ana i kekahi o nā hemahema o C ++ - kahi zoo o nā waihona like ʻole me ka loaʻa ʻole o kahi waihona kikowaena. ʻO ia ka mea e hilinaʻi nei ʻo Telegram Desktop i nā hale waihona puke ʻē aʻe. Aia ka waihona kūhelu
He lōʻihi ka manawa e hui ai ʻo Telegram Desktop: ma kahi kamepiula me kahi Intel Core i5-7200U, ʻo ka hui piha ʻana (hae -j 4) me nā mea hilinaʻi āpau ma kahi o ʻekolu hola. ʻO kēia mau mea, ma kahi o 30 mau minuke e lawe ʻia ma ka hoʻopili ʻana i ka mea kūʻai aku (ma hope ua ʻike ʻia ma ka hoʻonohonoho Debug, e pili ana ka pilina ma kahi o 10 mau minuke), akā pono e hana hou ʻia ke kahua pili i kēlā me kēia manawa ma hope o ka hana ʻana i nā loli.
ʻOiai nā pilikia, hiki iā mākou ke hoʻokō i ka manaʻo i hāpai ʻia, a me ka hoʻonui
I ko mākou manaʻo, ua lilo ia i mea hōʻoia maikaʻi o ka manaʻo o ka hana e maʻalahi no nā mea hoʻohana he nui. Manaʻo mākou e ʻike iā ia i nā hoʻokuʻu ʻana o Telegram Desktop.
Hoʻonui i ke kākoʻo ʻōlelo kūlohelohe ma IntelliJ IDEA
Mea kākau o ka manaʻo
ʻO Tankov Vladislav
Kū i ka laina
ʻO Tankov Vladislav (ke alakaʻi hui, hana pū me LanguageTool a me IntelliJ IDEA)
Nikita Sokolov (hana me LanguageTool a me ka hana ʻana i ka UI)
Khvorov Alexander (hana pū me LanguageTool a hoʻonui i ka hana)
Sadovnikov Alexander (kākoʻo no ka hoʻopau ʻana i nā ʻōlelo a me nā code)
Ua hoʻomohala mākou i kahi plugin no IntelliJ IDEA nāna e nānā i nā kikokikona like ʻole (nā manaʻo a me nā palapala, nā laina maoli ma ke code, nā kikokikona i hoʻopaʻa ʻia ma Markdown a i ʻole XML markup) no ka grammatical, spelling and stylistic accuracy (ma ka ʻōlelo Pelekania ua kapa ʻia kēia proofreading).
ʻO ka manaʻo o ka papahana e hoʻonui i ka spellcheck maʻamau IntelliJ IDEA i ka pālākiō o Grammarly, e hana i kahi ʻano Grammarly i loko o IDE.
Hiki iā ʻoe ke ʻike i ka mea i hana ʻia
ʻAe, ma lalo e kamaʻilio mākou i nā kikoʻī e pili ana i nā hiki o ka plugin, a me nā pilikia i kū mai i ka wā o kāna hana ʻana.
Hoʻokumu
Nui nā huahana i hoʻolālā ʻia no ke kākau ʻana i nā kikokikona ma nā ʻōlelo kūlohelohe, akā kākau pinepine ʻia nā palapala a me nā manaʻo code ma nā wahi hoʻomohala. Ma ka manawa like, hana maikaʻi nā IDE i ka ʻimi ʻana i nā hewa ma ke code, akā kūpono ʻole i nā kikokikona ma nā ʻōlelo kūlohelohe. He mea maʻalahi kēia e hana hewa i ka grammar, punctuation, a i ʻole ke ʻano me ka ʻole o ke kaiapuni hoʻomohala e kuhikuhi iā lākou. He mea koʻikoʻi ka hana hewa ʻana i ke kākau ʻana i ka mea hoʻohana, no ka mea, ʻaʻole e pili kēia i ka hoʻomaopopo wale ʻana o ke code, akā ʻo nā mea hoʻohana hoʻi i ka noi i kūkulu ʻia iā lākou iho.
ʻO kekahi o nā wahi hoʻomohala kaulana a hoʻomohala ʻia ʻo IntelliJ IDEA, a me nā IDE e pili ana i ka IntelliJ Platform. Loaʻa iā IntelliJ Platform kahi mākaʻikaʻi kikoʻī i kūkulu ʻia, akā ʻaʻole ia e kāpae i nā hewa grammatical maʻalahi. Ua hoʻoholo mākou e hoʻohui i kekahi o nā ʻōnaehana loiloi ʻōlelo kūlohelohe kaulana i loko o IntelliJ IDEA.
Ka hoʻokō
ʻAʻole mākou i hoʻonohonoho iā mākou iho i ka hana o ka hana ʻana i kā mākou ʻōnaehana hōʻoia kikokikona, no laila ua hoʻohana mākou i kahi hoʻonā i loaʻa. ʻO ka koho kūpono loa i lilo
Aia ke code plugin
ʻOmaʻi
Ua ʻike koke mākou inā mākou e hānai i nā kikokikona a pau i LanguageTool no ka nānā ʻana i kēlā me kēia manawa, a laila e maloʻo ka IDEA ma luna o nā kikokikona ʻoi aʻe a i ʻole ka koʻikoʻi, ʻoiai ka nānā ʻana i ke kahe o ka UI. Ua hoʻoholo ʻia ka pilikia ma o ka hōʻoia `ProgressManager.checkCancelled` - hoʻolei kēia hana i kahi ʻokoʻa inā manaʻo ʻo IDEA ua hiki i ka manawa e kāpae i ka nānā.
Hoʻopau loa kēia i ka hoʻokuʻu ʻana, akā hiki ʻole ke hoʻohana: lōʻihi ka lōʻihi o ke kaʻina hana. Eia kekahi, i kā mākou hihia, ʻo ka hapa liʻiliʻi loa o ka hoʻololi ʻana i ka kikokikona a makemake mākou e hūnā i nā hopena. ʻO ia kā mākou i hana ai. I ʻole e nānā i nā mea āpau i kēlā me kēia manawa, hoʻokaʻawale mākou i ka kikokikona i ʻāpana a nānā wale i nā mea i loli. No ka mea hiki ke nui nā kikokikona a ʻaʻole mākou makemake e hoʻouka i ka cache, ʻaʻole mākou i mālama i nā kikokikona iā lākou iho, akā i kā lākou hashes. ʻAe kēia i ka plugin e hana maʻalahi ma nā faila nui.
Kākoʻo ʻo LanguageTool ma mua o 25 mau ʻōlelo, akā ʻaʻole paha e pono ka mea hoʻohana iā lākou āpau. Makemake au e hāʻawi i ka manawa e hoʻoiho i nā hale waihona puke no kahi ʻōlelo kikoʻī ma ke noi ʻana (inā ʻoe e kaha iā ia ma ka UI). Ua hoʻokō mākou i kēia, akā ua lilo ia i mea paʻakikī a hilinaʻi ʻole. ʻO ka mea kūikawā, pono mākou e hoʻouka i LanguageTool me kahi pūʻulu ʻōlelo hou me ka hoʻohana ʻana i kahi papa hoʻoili ʻokoʻa, a laila hoʻomaka pono ia. I ka manawa like, aia nā hale waihona puke a pau i loko o kahi waihona mea hoʻohana .m2, a i kēlā me kēia hoʻomaka mākou e nānā i ko lākou kūpaʻa. I ka hopena, ua hoʻoholo mākou inā pilikia nā mea hoʻohana i ka nui o ka plugin, a laila e hāʻawi mākou i kahi plugin kaʻawale no nā ʻōlelo kaulana loa.
Ma hope o ka hackathon
Ua pau ka hackathon, akā ua hoʻomau ka hana ma ka plugin me kahi hui liʻiliʻi. Makemake au e kākoʻo i nā kaula, nā manaʻo, a me nā kūkulu ʻōlelo e like me nā inoa ʻano hoʻololi a me nā papa. I kēia manawa kākoʻo wale ʻia kēia no Java, Kotlin a me Python, akā manaʻo mākou e ulu kēia papa inoa. Ua hoʻoponopono mākou i nā ʻōpala liʻiliʻi he nui a lilo i mea kūpono me ka mea nānā kikoʻī i kūkulu ʻia e Idea. Eia kekahi, ua ʻike ʻia ke kākoʻo XML a me ka nānā ʻana. Hiki ke loaʻa kēia mau mea a pau ma ka lua o ka mana, a mākou i paʻi hou ai.
He aha ka mea e hiki mai ana?
Hiki ke hoʻohana ʻia kēlā plugin no nā mea hoʻomohala wale nō, akā no nā mea kākau loea (hana pinepine, no ka laʻana, me XML i kahi IDE). I kēlā me kēia lā pono lākou e hana me ka ʻōlelo kūlohelohe, me ka loaʻa ʻole o ke kōkua ma ke ʻano o nā ʻōlelo aʻoaʻo hoʻoponopono e pili ana i nā hewa hiki. Hāʻawi kā mākou plugin i nā ʻōlelo aʻoaʻo a hana ia me kahi kiʻekiʻe o ka pololei.
Hoʻolālā mākou e hoʻomohala i ka plugin, ma ka hoʻohui ʻana i nā ʻōlelo hou a me ka ʻimi ʻana i kahi ala maʻamau i ka hoʻonohonoho ʻana i ka nānā ʻana i nā kikokikona. ʻO kā mākou mau hoʻolālā koke e pili ana i ka hoʻokō ʻana i nā profiles stylistic (nā hoʻonohonoho o nā lula e wehewehe i kahi alakaʻi kaila no ka kikokikona, no ka laʻana, "ʻaʻole kākau eg, akā kākau i ke ʻano piha"), hoʻonui i ka puke wehewehe ʻōlelo a hoʻomaikaʻi i ka mea hoʻohana. makemake mākou e hāʻawi i ka mea hoʻohana i ka manawa ʻaʻole e haʻalele wale i kahi huaʻōlelo, akā e hoʻohui iā ia i loko o ka puke wehewehe ʻōlelo, e hōʻike ana i ka ʻāpana o ka ʻōlelo).
Puna: www.habr.com