Master's Program á០áá»á±á¬ááºážáá¬ážáá»á¬áž áá«áááºáá²á·ááá·áº Spring Hackathon DevDays á ááá±á¬áá»ááºáá»á¬ážá¡ááŒá±á¬ááºáž áááºáááºááœá±ážááœá±ážáá«áááºá
á
áá¬ážáá
ááºá áá»áœááºá¯ááºááá¯á·ááẠá
á¬áááºáá°áá»á¬ážááᯠááááºáá±á«áºááá¯áá«áááºá
Telegram Desktop Voice Message Parser
á¡áá°á¡ááá±ážáá¬ážáá°
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++ ááœáẠááŒá¯á á¯ááááºááŒá áºáá«áááºá
áá»áœááºáá±á¬áºááá¯á·á¡ááœá²á·ááŸá¬ áá° á áá±á¬ááºááŸááááºá áááŠážááœáẠáá°ááŸá
áºáŠážááẠá
áá¬ážááŒá±á¬ááŸááºáá¬ážááẠááá·áºáá»á±á¬áºáá±á¬á
á¬ááŒáá·áºááá¯ááºááᯠááŸá¬ááœá±áá±áᬠáá
áºáŠážááẠTelegram-desktop á á¡áááºážá¡ááŒá
áºáá¯ááºááᯠáá±á·áá¬áá±ááŒá®áž áá±á¬ááºáá
áºáŠážááẠáááºáá±á¬ááºáá±ážááá±á¬áá»ááºááᯠá¡áá¯á¶ážááŒá¯áá±áá«áááºá
áááºááœááºáá¬ážááá·áº áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáááºáá²áááºááá¯ááºáᯠáááºááá±á¬áºáááºáž á¡ááŒá²ááá¯ááá¯ááẠá¡áááºá¡áá²áá»á¬áž áá±á«áºáá±á«ááºáá¬áááºá
ááŒá¿áá¬á¡ááœáẠááŒá±ááŸááºážáá»ááºááœáẠáá®ážááŒá¬ážáá¯ááºáá±á¬ááºá áá¬ááœá²ááŸá áºáá¯áá«áááºáááº- ááá·áºáá»á±á¬áºáá±á¬ á áá¬ážááŒá±á¬ááŸááºáá¬ážááŸá¯áááááá¬ááᯠááœá±ážáá»ááºááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºá¡áá áºá¡ááœáẠUI ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá
á¡áá¶ááŸááºááááŒááºážá¡ááœáẠáá áºáá»á áºááá¯ááºááá¯ááœá±ážáá»ááºáá±á¬á¡áá«á áá¬áá¬á áá¬ážáá±á¬áºáááºáá»á¬ážááẠáá±áá¬áá»á¬ážá áœá¬áá°áá±á¬ááŒá±á¬áá·áº á¡á±á¬á·ááºááá¯ááºáž API áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá»ááºáá»ááºážá áœáá·áºáá áºááá«áááºá áá«áá±ááá·áº áá»áœááºáá±á¬áºááá¯á· ááŒá±á¬áá±áá¬á áá¬áá¬á áá¬ážáá áºáá¯áá²á á¡áœááºááá¯ááºáž API ááᯠá¡áá¯á¶ážááŒá¯ááááºááá¯áᬠááŸááºážáá«áááºá áá±á¬ááºááá¯ááºážááœáẠGoogleá Yandex ááŸáá·áº Microsoft áá²á·ááá¯á·áá±á¬ áá¯áá¹ááá®ááŒá®ážáá»á¬ážá á áá¬ážáá¶ááŸááºááááŒááºážáááºáá±á¬ááºááŸá¯áá»á¬ážááẠáá¯á¶ážáá¡ááá²á·ááá¯ááºááŒá±á¬ááºážá áá»áœááºá¯ááºááá¯á·ááẠá¡á ááºážáá¯á¶ážáá¬áááŒáá·áº áá»á±áááºááááºááŒá áºáá«áááºá ááááºá¡áá±ááŒáá·áºá ááá·áºá¡á¬áž áá áºááŸá áºáááºáá¯á¶ážá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº áááºáá±á¬ááºááŸá¯á¡ááœáẠááá¯áááºáá áºáá¯áááá¯ááºá á±áá±á¬ááŒá±á¬áá·áº Google Speech-to-Text ááᯠááœá±ážáá»ááºáá²á·áááºá
áá»áœááºá¯ááºááá¯á· ááŒá¯á¶ááœá±á·áááá·áº áá¯áááááŒá¿áá¬ááŸá¬ áááá¯áá»á¯ááºááá¯ááºááŸá¯ ááá¯ááŸá±á¬ááºááŸá¯ áááŸáááá·áºá¡ááœáẠC++ á áá»áá¯á·ááœááºážáá»ááºá¡áá»áá¯á·ááŸáá·áº áááºá
ááºáá±áá«áááºá Telegram Desktop ááẠá¡ááŒá¬ážáá±á¬ áá¬ážááŸááºáž-áááºáááºááŸááºááŸáẠá
á¬ááŒáá·áºááá¯ááºáá»á¬ážá
áœá¬áá±á«áºááœáẠááŸá®ááá¯áá±ááá±á¬ááŒá±á¬áá·áº ááŒá
áºáá±áááºá ááá¬ážááẠrepository ááŸááááºá
Telegram Desktop ááá¯ááºááá¯ááºá á á¯á ááºážááá¯á· áá±á¬áºáá±á¬áºááŒá¬áá«áááº- Intel Core i5-7200U áá«áá²á· áááºááºáá±á¬á·áá áºáá¯á¶ážááŸá¬ ááŸá®ááá¯ááŸá¯á¡á¬ážáá¯á¶ážáá²á· áááºáááºááŸá¯ á¡ááŒáá·áºá¡á á¯á¶ (á¡áᶠ-j 4) áᬠáá¯á¶ážáá¬áá®ááá·áºááŒá¬áá«áááºá áááºážááá¯á·á¡áááºááŸá áá¯á¶ážá áœá²áá°ááá¯ááºááá¯áẠáá»áááºáááºááŒááºážááŒáá·áº áááá Ạ30 ááá·áºááᯠá¡áá¯á¶ážááŒá¯ááẠ(áá±á¬ááºááá¯ááºážááœáẠDebug configuration ááœáẠáá»áááºáááºááŒááºážááẠ10 áááá áºááá·áº ááŒá¬áááº)á ááá¯á·áá±á¬áº á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŒá¯áá¯ááºááŒá®ážáá±á¬áẠáá»áááºáááºááŒááºážá¡ááá·áºááᯠá¡áá»áááºááá¯ááºáž áááºáá«áááºáá« ááŒá¯áá¯ááºááááºááŒá áºáááºá
ááŒá¿áá¬áá»á¬ážááŒá¬ážá០áá»áœááºá¯ááºááá¯á·ááẠá
áááºáá°ážá¡ááŒá¶áá¬ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºááá·áºá¡ááŒáẠááœááºážáá¶ááŒááºáááºááá¯ááºáá²á·áááºá
áá»áœááºá¯ááºááá¯á·áá¡ááŒááºá¡áá áááºážááẠáá¯á¶ážá áœá²áá°áá»á¬ážá áœá¬á¡ááœáẠá¡áááºááŒá±á á±ááá·áº áá¯ááºáá±á¬ááºááá¯ááºá áœááºážá áááºáá±á¡áá±á¬ááºá¡áá¬ážáá±á¬ááºážáá áºáᯠááŒá áºáá¬áá²á·áááºá Telegram Desktop áá¡áá¬áááºááŒáá·áºáá»áááŸá¯áá»á¬ážááœááºáááºážááá¯ááœá±á·ááŒááºáááºáá»áŸá±á¬áºááá·áºáá«áááºá
IntelliJ IDEA ááœáẠá¡ááá·áºááŒáŸáá·áºáááºáá¬ážáá±á¬ ááá¬ááá¬áá¬á áá¬ážáá¶á·ááá¯ážááŸá¯
á¡áá°á¡ááá±ážáá¬ážáá°
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 ááœáẠáá±á«ááºážá ááºážááẠáá¯á¶ážááŒááºáá²á·áááºá
á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯
áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºá
á¬áá¬ážá¡áááºááŒá¯ááŒááºážá
áá
áºáááºáá®ážáááºáá¬áááºááᯠááá¯ááºááá¯ááºááááºááŸááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠááŸáááŒá®ážáá¬ážááŒá±ááŸááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá á¡ááá·áºáá±á¬áºáá¯á¶ážááœá±ážáá»ááºááŸá¯ááŒá
áºáá¬áááºá
ááááºá¡ááºáá¯áẠááŸááááºá
á¡áááºá¡áá²áá»á¬áž
á á áºáá±ážááŒááºážááá¯ááºááá¯ááºá 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