Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်း

Master's Program မှ ကျောင်းသားများ ပါဝင်ခဲ့သည့် Spring Hackathon DevDays ၏ ပရောဂျက်များအကြောင်း ဆက်လက်ဆွေးနွေးပါမည်။ "ဆော့ဖ်ဝဲလ် ဖွံ့ဖြိုးတိုးတက်ရေး/ဆော့ဖ်ဝဲအင်ဂျင်နီယာ".

Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်း

စကားမစပ်၊ ကျွန်ုပ်တို့သည် စာဖတ်သူများကို ဖိတ်ခေါ်လိုပါသည်။ VK သည် မာစတာကျောင်းသားများအဖွဲ့. ၎င်းတွင် လူသစ်စုဆောင်းခြင်းနှင့် လေ့လာမှုဆိုင်ရာ နောက်ဆုံးရသတင်းများကို ထုတ်ပြန်ပါမည်။ အဖွင့်နေ့မှ ဗီဒီယိုကို အဖွဲ့ထဲတွင်လည်း တွေ့နိုင်သည်။ ကျွန်ုပ်တို့သည် သင့်အား သတိပေးချက်- အသေးစိတ်အချက်အလက်များကို ဧပြီလ ၂၉ ရက်နေ့တွင် ကျင်းပပြုလုပ်မည်ဖြစ်ပါသည်။ အွန်လိုင်း.

Telegram Desktop Voice Message Parser

Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်း

အယူအဆရေးသားသူ
Khoroshev Artyom

တန်းစီသည်

Khoroshev Artem - ပရောဂျက်မန်နေဂျာ / တီထွင်သူ / QA
Eliseev Anton - စီးပွားရေးသုံးသပ်သူ / စျေးကွက်ရှာဖွေရေးကျွမ်းကျင်သူ
Maria Kuklina - UI ဒီဇိုင်နာ/တီထွင်သူ
Bakhvalov Pavel - UI ဒီဇိုင်နာ / တီထွင်သူ / QA

ကျွန်ုပ်တို့၏အမြင်အရ Telegram သည် ခေတ်မီပြီး အဆင်ပြေသော messenger တစ်ခုဖြစ်ပြီး ၎င်း၏ PC ဗားရှင်းသည် လူကြိုက်များပြီး open source ဖြစ်ပြီး ၎င်းကို ပြုပြင်နိုင်စေပါသည်။ Client သည် အလွန်ကြွယ်ဝသော လုပ်ဆောင်နိုင်စွမ်းကို ပေးဆောင်သည်။ ပုံမှန်စာသားမက်ဆေ့ခ်ျများအပြင်၊ ၎င်းတွင် အသံခေါ်ဆိုမှုများ၊ ဗီဒီယိုမက်ဆေ့ဂျ်များနှင့် အသံမက်ဆေ့ချ်များပါရှိသည်။ ၎င်းသည် တစ်ခါတစ်ရံတွင် ၎င်းတို့၏ လက်ခံရရှိသူထံ အဆင်မပြေမှုများ ရှိလာစေသည်။ ကွန်ပြူတာ သို့မဟုတ် လက်တော့ပ်တွင် ရှိနေစဉ် အသံမက်ဆေ့ခ်ျကို နားထောင်ရန် မဖြစ်နိုင်ပါ။ ပတ်ဝန်းကျင်တွင် ဆူညံသံ၊ နားကြပ်မရှိခြင်း သို့မဟုတ် မက်ဆေ့ချ်၏ အကြောင်းအရာများကို မည်သူမျှ မကြားစေလိုပါ။ လက်ပ်တော့ သို့မဟုတ် PC နှင့်မတူဘဲ သင့်နားသို့ အလွယ်တကူ ယူဆောင်လာနိုင်သောကြောင့် စမတ်ဖုန်းပေါ်တွင် Telegram ကို အသုံးပြုပါက ထိုကဲ့သို့သော ပြဿနာများ ဖြစ်ပေါ်လာမည်မဟုတ်ပေ။ ဒီပြဿနာကို ဖြေရှင်းဖို့ ကျွန်တော်တို့ ကြိုးစားခဲ့ပါတယ်။

DevDays တွင်ကျွန်ုပ်တို့၏ပရောဂျက်၏ရည်ရွယ်ချက်မှာလက်ခံရရှိထားသောအသံမက်ဆေ့ချ်များကို Telegram desktop client သို့စာသားအဖြစ်ဘာသာပြန်ဆိုနိုင်စေရန်ဖြစ်သည် (နောင်တွင် Telegram Desktop ဟုရည်ညွှန်းသည်)။

ယခုအချိန်တွင် analogues များအားလုံးသည် အသံမက်ဆေ့ချ်တစ်ခုပေးပို့နိုင်ပြီး တုံ့ပြန်မှုဖြင့် စာသားလက်ခံနိုင်သည့် ဘော့တ်များဖြစ်သည်။ ဤအရာကို ကျွန်ုပ်တို့ အလွန်မကျေနပ်ပါ- bot သို့ မက်ဆေ့ချ်တစ်ခု ထပ်ဆင့်ပို့ခြင်းသည် အလွန်အဆင်ပြေမည်မဟုတ်ပါ၊ ကျွန်ုပ်တို့သည် မူရင်းလုပ်ဆောင်နိုင်စွမ်းကို ရရှိလိုပါသည်။ ထို့အပြင် မည်သည့် bot မဆိုသည် စကားပြောအသိအမှတ်ပြုခြင်း API နှင့် အသုံးပြုသူကြားကြားခံအဖြစ် လုပ်ဆောင်သည့် ကြားခံအဖွဲ့အစည်းဖြစ်ပြီး ၎င်းသည် အနည်းဆုံးအားဖြင့် ဘေးကင်းပါသည်။

အစောပိုင်းတွင်ဖော်ပြခဲ့သည့်အတိုင်း၊ telegram-desktop တွင် သိသာထင်ရှားသောအားသာချက်နှစ်ခုရှိသည်- လုပ်ဆောင်ရလွယ်ကူမှုနှင့် မြန်နှုန်း။ C++ တွင် လုံးလုံးလျားလျား ရေးထားသောကြောင့် ၎င်းသည် တိုက်ဆိုင်မှုမဟုတ်ပေ။ လုပ်ဆောင်ချက်အသစ်များကို ကလိုင်းယင့်ထံ တိုက်ရိုက်ထည့်သွင်းရန် ဆုံးဖြတ်ခဲ့သောကြောင့်၊ ၎င်းကို C++ တွင် ပြုစုရမည်ဖြစ်ပါသည်။

Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်းကျွန်တော်တို့အဖွဲ့မှာ လူ ၄ ယောက်ရှိတယ်။ ကနဦးတွင် လူနှစ်ဦးသည် စကားပြောမှတ်သားရန် သင့်လျော်သောစာကြည့်တိုက်ကို ရှာဖွေနေကာ တစ်ဦးသည် Telegram-desktop ၏ အရင်းအမြစ်ကုဒ်ကို လေ့လာနေပြီး နောက်တစ်ဦးသည် တည်ဆောက်ရေးပရောဂျက်ကို အသုံးပြုနေပါသည်။ Telegram Desktop. နောက်ပိုင်းတွင်၊ လူတိုင်းသည် UI ပြုပြင်ခြင်းနှင့် အမှားရှာပြင်ခြင်းတွင် အလုပ်များနေပါသည်။

ရည်ရွယ်ထားသည့် လုပ်ဆောင်နိုင်စွမ်းကို အကောင်အထည်ဖော်ရာတွင် ခက်ခဲမည်မဟုတ်ဟု ထင်ရသော်လည်း အမြဲလိုလိုပင် အခက်အခဲများ ပေါ်ပေါက်လာသည်။

ပြဿနာအတွက် ဖြေရှင်းချက်တွင် သီးခြားလုပ်ဆောင်စရာခွဲနှစ်ခုပါဝင်သည်- သင့်လျော်သော စကားပြောမှတ်သားမှုကိရိယာကို ရွေးချယ်ခြင်းနှင့် လုပ်ဆောင်ချက်အသစ်အတွက် UI ကို အကောင်အထည်ဖော်ခြင်း။

အသံမှတ်မိခြင်းအတွက် ဒစ်ဂျစ်တိုက်ကိုရွေးချယ်သောအခါ၊ ဘာသာစကားမော်ဒယ်များသည် နေရာများစွာယူသောကြောင့် အော့ဖ်လိုင်း API များအားလုံးကို ချက်ချင်းစွန့်ပစ်ရပါမည်။ ဒါပေမယ့် ကျွန်တော်တို့ ပြောနေတာက ဘာသာစကားတစ်ခုပဲ။ အွန်လိုင်း API ကို အသုံးပြုရမယ်ဆိုတာ ရှင်းပါတယ်။ နောက်ပိုင်းတွင် Google၊ Yandex နှင့် Microsoft ကဲ့သို့သော ကုမ္ပဏီကြီးများ၏ စကားသံမှတ်မိခြင်းဝန်ဆောင်မှုများသည် လုံးဝအခမဲ့မဟုတ်ကြောင်း၊ ကျွန်ုပ်တို့သည် အစမ်းသုံးကာလဖြင့် ကျေနပ်ရမည်ဖြစ်ပါသည်။ ရလဒ်အနေဖြင့်၊ သင့်အား တစ်နှစ်ပတ်လုံးအသုံးပြုနိုင်မည့် ဝန်ဆောင်မှုအတွက် တိုကင်တစ်ခုရနိုင်စေသောကြောင့် Google Speech-to-Text ကို ရွေးချယ်ခဲ့သည်။

ကျွန်ုပ်တို့ ကြုံတွေ့ရသည့် ဒုတိယပြဿနာမှာ ဗဟိုချုပ်ကိုင်မှု သိုလှောင်မှု မရှိသည့်အတွက် C++ ၏ ချို့ယွင်းချက်အချို့နှင့် ဆက်စပ်နေပါသည်။ Telegram Desktop သည် အခြားသော ဗားရှင်း-သတ်သတ်မှတ်မှတ် စာကြည့်တိုက်များစွာပေါ်တွင် မှီခိုနေရသောကြောင့် ဖြစ်ပေသည်။ တရားဝင် repository ရှိတယ်။ ညွှန်ကြားချက် ပရောဂျက်ကို တပ်ဆင်ရန်။ ဥပမာ တည်ဆောက်မှုပြဿနာများနှင့်ပတ်သက်သော ပွင့်လင်းမြင်သာမှုပြဿနာများစွာလည်းရှိသည်။ အချိန် и дваပြဿနာအားလုံးသည် build script ကို ရေးသားခဲ့ခြင်းနှင့် ဆက်စပ်နေကြောင်း တွေ့ရှိရသည် Ubuntu ၁၄.၀၄ နှင့် ကြေးနန်းကို အောင်မြင်စွာ စုစည်းနိုင်ရန်အတွက် Ubuntu ၁၈.၀၄ မှာ ပြောင်းလဲမှုတွေ လုပ်ခဲ့ရပါတယ်။

Telegram Desktop ကိုယ်တိုင်က စုစည်းဖို့ တော်တော်ကြာပါတယ်- Intel Core i5-7200U ပါတဲ့ လက်ပ်တော့တစ်လုံးမှာ မှီခိုမှုအားလုံးနဲ့ တပ်ဆင်မှု အပြည့်အစုံ (အလံ -j 4) ဟာ သုံးနာရီခန့်ကြာပါတယ်။ ယင်းတို့အနက်မှ၊ သုံးစွဲသူကိုယ်တိုင် ချိတ်ဆက်ခြင်းဖြင့် မိနစ် 30 ခန့်ကို အသုံးပြုသည် (နောက်ပိုင်းတွင် Debug configuration တွင် ချိတ်ဆက်ခြင်းသည် 10 မိနစ်ခန့် ကြာသည်)၊ သို့သော် အပြောင်းအလဲများပြုလုပ်ပြီးနောက် ချိတ်ဆက်ခြင်းအဆင့်ကို အချိန်တိုင်း ထပ်ခါထပ်ခါ ပြုလုပ်ရမည်ဖြစ်သည်။

ပြဿနာများကြားမှ ကျွန်ုပ်တို့သည် စိတ်ကူးအကြံဉာဏ်ကို အကောင်အထည်ဖော်နိုင်သည့်အပြင် မွမ်းမံပြင်ဆင်နိုင်ခဲ့သည်။ script ကိုတည်ဆောက်ပါ။ အတွက် Ubuntu ၁၈.၀၄။ လုပ်ငန်း၏ သရုပ်ပြမှုကို တွင် ကြည့်ရှုနိုင်ပါသည်။ link ကို. ကျွန်ုပ်တို့သည် ကာတွန်းများစွာလည်း ပါဝင်ပါသည်။ မက်ဆေ့ဂျ်ကို စာသားအဖြစ် ဘာသာပြန်နိုင်စေမည့် အသံမက်ဆေ့ဂျ်များအားလုံးဘေးတွင် ခလုတ်တစ်ခု ပေါ်လာပါသည်။ ညာကလစ်နှိပ်ခြင်းဖြင့်၊ ထုတ်လွှင့်မှုအတွက် အသုံးပြုမည့် ဘာသာစကားကို ထပ်လောင်းသတ်မှတ်နိုင်သည်။ အားဖြင့် link ကို client ကို ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။

Repository

ကျွန်ုပ်တို့၏အမြင်အရ၊ ၎င်းသည် သုံးစွဲသူများစွာအတွက် အဆင်ပြေစေမည့် လုပ်ဆောင်နိုင်စွမ်း၏ သက်သေအထောက်အထားကောင်းတစ်ခု ဖြစ်လာခဲ့သည်။ Telegram Desktop ၏အနာဂတ်ဖြန့်ချိမှုများတွင်၎င်းကိုတွေ့မြင်ရန်မျှော်လင့်ပါသည်။

IntelliJ IDEA တွင် အဆင့်မြှင့်တင်ထားသော သဘာဝဘာသာစကားပံ့ပိုးမှု

Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်း

အယူအဆရေးသားသူ

Tankov Vladislav

တန်းစီသည်

Tankov Vladislav (အဖွဲ့ခေါင်းဆောင်၊ LanguageTool နှင့် IntelliJ IDEA နှင့် အလုပ်လုပ်သည်)
Nikita Sokolov (LanguageTool နှင့်အလုပ်လုပ်ပြီး UI ဖန်တီးခြင်း)
Khvorov Alexander (LanguageTool နှင့်အလုပ်လုပ်ပြီး စွမ်းဆောင်ရည်ကို ကောင်းမွန်အောင်ပြုလုပ်ခြင်း)
Sadovnikov Alexander ( markup ဘာသာစကားများနှင့် ကုဒ်များကို ခွဲခြမ်းစိတ်ဖြာရန် ပံ့ပိုးမှု)

သဒ္ဒါ၊ စာလုံးပေါင်းနှင့် ပုံသဏ္ဍာန် တိကျမှုတို့အတွက် အမျိုးမျိုးသော စာသားများ (မှတ်ချက်များနှင့် စာရွက်စာတမ်းများ၊ ကုဒ်အက္ခရာစာကြောင်းများ၊ Markdown သို့မဟုတ် XML markup တွင် ဖော်မတ်ထားသည့် စာသား) ကို စစ်ဆေးသည့် IntelliJ IDEA အတွက် ပလပ်အင်တစ်ခုကို တီထွင်ထားပါသည်။

ပရောဂျက်၏ စိတ်ကူးမှာ စံစာလုံးပေါင်းစစ်ဆေးခြင်း IntelliJ IDEA ကို Grammarly အတိုင်းအတာအထိ၊ IDE အတွင်းရှိ Grammarly အမျိုးအစားတစ်ခုပြုလုပ်ရန် ဖြစ်သည်။

ဖြစ်ပျက်ခဲ့တာကို မြင်နိုင်ပါတယ်။ လင့်ခ်.

ကောင်းပြီ၊ အောက်တွင် plugin ၏စွမ်းဆောင်ရည်များနှင့်၎င်း၏ဖန်တီးမှုအတွင်းဖြစ်ပေါ်လာသောအခက်အခဲများအကြောင်းပိုမိုအသေးစိတ်ပြောပြပါမည်။

အကွောငျးရငျး

သဘာဝဘာသာစကားဖြင့် စာသားရေးရန်အတွက် ဒီဇိုင်းထုတ်ထားသော ထုတ်ကုန်များစွာရှိသော်လည်း စာတမ်းပြုစုခြင်းနှင့် ကုဒ်မှတ်ချက်များကို ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်များတွင် အများဆုံးရေးသားလေ့ရှိပါသည်။ တစ်ချိန်တည်းမှာပင်၊ IDE များသည် ကုဒ်တွင် အမှားအယွင်းများကို ရှာဖွေရာတွင် ကောင်းမွန်သောအလုပ်တစ်ခုကို လုပ်ဆောင်သော်လည်း သဘာဝဘာသာစကားဖြင့် စာသားများအတွက် ညံ့ဖျင်းပါသည်။ ၎င်းသည် ၎င်းတို့ကို ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်မှ ညွှန်ပြခြင်းမရှိဘဲ သဒ္ဒါ၊ သတ်ပုံ သို့မဟုတ် ပုံစံတွင် အမှားများပြုလုပ်ရန် အလွန်လွယ်ကူစေသည်။ အသုံးပြုသူ အင်တာဖေ့စ်ကို ရေးသားရာတွင် အမှားလုပ်မိရန် အရေးကြီးဆုံးမှာ၊ ၎င်းသည် ကုဒ်၏ နားလည်နိုင်မှုကိုသာမက တီထွင်ဖန်တီးထားသော အပလီကေးရှင်း၏ သုံးစွဲသူများကိုယ်တိုင်ကိုပါ ထိခိုက်နိုင်သောကြောင့် ဖြစ်သည်။

ရေပန်းအစားဆုံးနှင့် ဖွံ့ဖြိုးဆဲပတ်ဝန်းကျင်များထဲမှတစ်ခုမှာ IntelliJ IDEA ဖြစ်ပြီး IntelliJ Platform ကိုအခြေခံထားသော IDE များဖြစ်သည်။ IntelliJ Platform တွင် built-in စာလုံးပေါင်းစစ်ဆေးသည့်ကိရိယာရှိပြီးဖြစ်သော်လည်း၊ အရိုးရှင်းဆုံးသဒ္ဒါအမှားများကိုပင် မဖယ်ရှားနိုင်ပါ။ ရေပန်းစားသော သဘာဝဘာသာစကား ခွဲခြမ်းစိတ်ဖြာမှုစနစ်များထဲမှ တစ်ခုကို IntelliJ IDEA တွင် ပေါင်းစည်းရန် ဆုံးဖြတ်ခဲ့သည်။

အကောင်အထည်ဖော်မှု

Hackathon DevDays'19 (အပိုင်း 2)- IntelliJ IDEA တွင် Telegram နှင့် သဒ္ဒါစစ်ဆေးခြင်းအတွက် အသံမက်ဆေ့ဂျ်ခွဲခြမ်းစိတ်ဖြာခြင်းကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကိုယ်ပိုင်စာသားအတည်ပြုခြင်းစနစ်ဖန်တီးရန်တာဝန်ကို ကိုယ်တိုင်မသတ်မှတ်ထားသောကြောင့် ကျွန်ုပ်တို့သည် ရှိပြီးသားဖြေရှင်းချက်ကို အသုံးပြုခဲ့သည်။ အသင့်တော်ဆုံးရွေးချယ်မှုဖြစ်လာသည်။ ဘာသာစကားကိရိယာ. လိုင်စင်သည် ကျွန်ုပ်တို့၏ရည်ရွယ်ချက်များအတွက် ၎င်းကို လွတ်လပ်စွာ အသုံးပြုခွင့်ပေးသည်- ၎င်းကို Java နှင့် open-source ဖြင့် ရေးသားထားသည်။ ထို့အပြင်၊ ၎င်းသည်ဘာသာစကား 25 ခုကိုထောက်ပံ့ပြီး XNUMX နှစ်ကျော်ဖွံ့ဖြိုးတိုးတက်ခဲ့သည်။ ပွင့်လင်းမြင်သာမှုရှိသော်လည်း LanguageTool သည် အခပေးစာသားအတည်ပြုခြင်းဖြေရှင်းချက်များအတွက် ပြင်းထန်သောပြိုင်ဘက်ဖြစ်ပြီး ၎င်းသည် ပြည်တွင်းတွင်အလုပ်လုပ်နိုင်သည်ဟူသောအချက်မှာ ၎င်း၏လူသတ်သမားအင်္ဂါရပ်ဖြစ်သည်။

ပလပ်အင်ကုဒ် ရှိသည်။ GitHub ရှိ သိုလှောင်မှုများ. ပရောဂျက်တစ်ခုလုံးကို UI အတွက် Java အနည်းငယ်ထပ်ထည့်ခြင်းဖြင့် Kotlin ဖြင့် ရေးသားထားသည်။ ဟက်ကာသွန်တွင် ကျွန်ုပ်တို့သည် Markdown၊ JavaDoc၊ HTML နှင့် Plain Text အတွက် ပံ့ပိုးမှုကို အကောင်အထည်ဖော်နိုင်ခဲ့သည်။ hackathon ပြီးနောက်၊ အကြီးစားအပ်ဒိတ်တစ်ခုသည် XML၊ Java၊ Kotlin နှင့် Python တွင် စာလုံးပေါင်းစစ်ဆေးခြင်းနှင့် စာလုံးပေါင်းစစ်ဆေးခြင်းအတွက် ပံ့ပိုးမှုထပ်လောင်းပေးပါသည်။

အခက်အခဲများ

စစ်ဆေးခြင်းကိုယ်တိုင်က UI စီးဆင်းမှုကို ပိတ်ဆို့ထားသောကြောင့် စာသားအားလုံးကို စစ်ဆေးရန်အတွက် LanguageTool သို့ အချိန်တိုင်း ပေးပို့ပါက IDEA အင်တာဖေ့စ်သည် ပိုမိုလေးနက်သော သို့မဟုတ် နည်းပါးသော စာသားပေါ်တွင် ရပ်တန့်သွားလိမ့်မည်ကို ကျွန်ုပ်တို့ လျင်မြန်စွာ သဘောပေါက်လိုက်ပါသည်။ `ProgressManager.checkCancelled` စစ်ဆေးခြင်းဖြင့် ပြဿနာကို ဖြေရှင်းနိုင်သည် - IDEA သည် စစ်ဆေးမှုကို ဖျက်ရန်အချိန်ရောက်ပြီဟု ယူဆပါက ဤလုပ်ဆောင်ချက်သည် ခြွင်းချက်တစ်ခုဖြစ်သည်။

၎င်းသည် အေးခဲခြင်းများကို လုံးလုံးလျားလျား ဖယ်ရှားလိုက်သော်လည်း အသုံးပြုရန် မဖြစ်နိုင်ပါ- စာသားကို လုပ်ဆောင်ရန် အလွန်ကြာပါသည်။ ထို့အပြင်၊ ကျွန်ုပ်တို့၏အခြေအနေတွင်၊ အများစုသည် မကြာခဏဆိုသလို စာသား၏သေးငယ်သောအပိုင်းကို ပြောင်းလဲပြီး ရလဒ်များကို တစ်နည်းနည်းဖြင့် သိမ်းဆည်းထားလိုပါသည်။ အဲဒါ ငါတို့လုပ်ခဲ့တာ။ အားလုံးကို အချိန်တိုင်း စစ်ဆေးခြင်းမပြုရန် ကျွန်ုပ်တို့သည် စာသားကို အပိုင်းပိုင်းခွဲ၍ ပြောင်းလဲသွားသည့်အရာများကိုသာ စစ်ဆေးပါသည်။ စာသားများသည် ကြီးမားနိုင်ပြီး ကျွန်ုပ်တို့သည် ကက်ရှ်ကို မဖွင့်လိုသောကြောင့် ကျွန်ုပ်တို့သည် စာသားများကို ၎င်းတို့ကိုယ်တိုင် မသိမ်းဆည်းထားဘဲ ၎င်းတို့၏ hash များကို သိမ်းဆည်းထားပါသည်။ ၎င်းသည် ပလပ်အင်အား ကြီးမားသောဖိုင်များပေါ်တွင်ပင် ချောမွေ့စွာလည်ပတ်နိုင်စေခဲ့သည်။

LanguageTool သည် ဘာသာစကား 25 မျိုးကျော်ကို ပံ့ပိုးပေးသော်လည်း အသုံးပြုသူတစ်ဦးမှ ၎င်းတို့အားလုံးကို လိုအပ်မည်မဟုတ်ပေ။ တောင်းဆိုချက်အရ သီးခြားဘာသာစကားတစ်ခုအတွက် စာကြည့်တိုက်များကို ဒေါင်းလုဒ်လုပ်ရန် အခွင့်အရေးပေးလိုသည်မှာ (UI တွင် အမှန်ခြစ်ထားလျှင်)။ ဒါကိုတောင် ကျွန်တော်တို့ အကောင်အထည်ဖော်ခဲ့ပေမယ့် ရှုပ်ထွေးလွန်းပြီး အားကိုးမရဖြစ်သွားတယ်။ အထူးသဖြင့်၊ ကျွန်ုပ်တို့သည် သီးခြား classloader ကိုအသုံးပြု၍ ဘာသာစကားအစုံလိုက်အသစ်ဖြင့် LanguageTool ကိုတင်ရပြီး ၎င်းကို ဂရုတစိုက်စတင်ပါ။ တစ်ချိန်တည်းမှာပင်၊ စာကြည့်တိုက်များအားလုံးသည် အသုံးပြုသူ .m2 repository တွင်ရှိပြီး အစပိုင်းတိုင်းတွင် ၎င်းတို့၏ ခိုင်မာမှုကို စစ်ဆေးရမည်ဖြစ်သည်။ အဆုံးတွင်၊ အသုံးပြုသူများသည် ပလပ်အင်အရွယ်အစားနှင့် ပြဿနာများရှိခဲ့ပါက၊ လူကြိုက်အများဆုံးဘာသာစကားများစွာအတွက် သီးခြားပလပ်အင်တစ်ခု ပံ့ပိုးပေးမည်ဟု ကျွန်ုပ်တို့ ဆုံးဖြတ်ခဲ့သည်။

hackathon ပြီးသွားပါပြီ။

ဟက်ကာသွန် ပြီးဆုံးသွားသော်လည်း ပလပ်အင်ကို ကျဉ်းမြောင်းသောအဖွဲ့ဖြင့် ဆက်လက်လုပ်ဆောင်ခဲ့သည်။ လိုင်းများ၊ မှတ်ချက်များ နှင့် variable နှင့် class name များကဲ့သို့သော ဘာသာစကားတည်ဆောက်မှုများကိုပင် ပံ့ပိုးပေးလိုပါသည်။ လောလောဆယ် ၎င်းကို Java၊ Kotlin နှင့် Python အတွက်သာ ပံ့ပိုးပေးသော်လည်း ဤစာရင်းသည် တိုးလာမည်ဟု ကျွန်ုပ်တို့ မျှော်လင့်ပါသည်။ ကျွန်ုပ်တို့သည် သေးငယ်သော ချွတ်ယွင်းချက်များစွာကို ပြင်ဆင်ပြီး Idea ၏ built-in စာလုံးပေါင်းစစ်ဆေးသည့်ကိရိယာနှင့် ပိုမိုသဟဇာတဖြစ်လာပါသည်။ ထို့အပြင်၊ XML ပံ့ပိုးမှုနှင့် စာလုံးပေါင်းစစ်ဆေးခြင်း ပေါ်လာသည်။ ဤအရာအားလုံးကို မကြာသေးမီက ကျွန်ုပ်တို့ထုတ်ဝေခဲ့သော ဒုတိယဗားရှင်းတွင် တွေ့နိုင်သည်။

လာမည့်ဘာလဲ?

ထိုသို့သော plugin သည် developer များအတွက်သာမက နည်းပညာဆိုင်ရာ စာရေးဆရာများအတွက်ပါ အသုံးဝင်နိုင်သည် (ဥပမာ၊ IDE တစ်ခုတွင် XML ဖြင့် လုပ်ဆောင်လေ့ရှိသည်)။ ဖြစ်နိုင်သော အမှားအယွင်းများအကြောင်း တည်းဖြတ်သူ၏ အကြံပြုချက်ပုံစံတွင် လက်ထောက်တစ်ဦးမရှိဘဲ သဘာဝဘာသာစကားဖြင့် နေ့တိုင်း အလုပ်လုပ်ရမည်ဖြစ်ပါသည်။ ကျွန်ုပ်တို့၏ ပလပ်အင်သည် ထိုကဲ့သို့သော အရိပ်အမြွက်များကို ပေးဆောင်ပြီး တိကျမှုမြင့်မားစွာဖြင့် လုပ်ဆောင်ပါသည်။
ဘာသာစကားအသစ်များကို ပေါင်းထည့်ခြင်းနှင့် စာသားစစ်ဆေးခြင်းကို စုစည်းခြင်းအတွက် ယေဘုယျချဉ်းကပ်နည်းကို ရှာဖွေခြင်းဖြင့် ပလပ်အင်ကို တီထွင်ထုတ်လုပ်ရန် စီစဉ်ထားပါသည်။ ကျွန်ုပ်တို့၏ ချက်ခြင်းအစီအစဉ်များတွင် ပုံသဏ္ဍာန်ပရိုဖိုင်များကို အကောင်အထည်ဖော်ခြင်း (စာသားအတွက် စတိုင်လမ်းညွှန်သတ်မှတ်ပေးသည့် စည်းမျဉ်းအစုံများ၊ ဥပမာ၊ "ဥပမာ၊ "မရေးပါနဲ့ စကားလုံးတစ်လုံးကို လျစ်လျူရှုရုံသာမက စကားတစ်စိတ်တစ်ပိုင်းကို ညွှန်ပြသော အဘိဓာန်ထဲသို့ ထည့်ရန် ကျွန်ုပ်တို့သည် သုံးစွဲသူအား အခွင့်အရေးပေးလိုပါသည်။)

အရင်းအမြစ်: www.habr.com

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster