เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™ Web-GUI เบชเปเบฒเบฅเบฑเบš Haproxy เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™

เป‚เบฅเบเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ‚เบญเบ‡เบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ‚เบตเป‰เบ„เป‰เบฒเบ™เบเบฑเบšเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ—เบตเปˆเบชเบงเบเบ‡เบฒเบกเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบญเบšเปเบงเบ—เบตเปˆเบšเปเปˆเบกเบต "เบœเบนเป‰เบŠเบฒเบ" เบ™เบตเป‰ (เบ‚เป‰เบญเบเบฎเบนเป‰เบชเบถเบเบงเปˆเบฒเบเป‰เบญเบ™เบซเบตเบ™เบเปเบฒเบฅเบฑเบ‡เบˆเบฐเบšเบดเบ™เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบซเบเบดเบšเบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™) , เบกเบฑเบ™เบšเปเปˆเบ„เบทเบเบฑเบšเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบ›เบตเบ™เบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เปเบกเปˆเบ™เบšเป? เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเบ”เบตเบ–เป‰เบฒเบŠเบญเบšเปเบงเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบฅเบทเบก, เปเบ•เปˆเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบตเบ™เบ‚เบถเป‰เบ™เป€เบฅเบทเป‰เบญเบเป†, เปเบเป‰เป„เบ‚, เปเบฅเบฐเปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”, เบขเปˆเบฒเบ‚เบฝเบ™ cp cfg cfg_back เบ—เบธเบเป†เบ„เบฑเป‰เบ‡, เบซเบผเบฒเบเบเบงเปˆเบฒ. เป€เบงเบฅเบฒเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบฑเบšเบชเบปเบ™เปเบฅเบฐเบฅเบทเบกเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™ Web-GUI เบชเปเบฒเบฅเบฑเบš Haproxy เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™

เบซเบฅเบฒเบเบ›เบตเบเปˆเบญเบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบปเบšเบเบฑเบšเบœเบนเป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ—เบตเปˆเบ›เบฐเป€เบชเบตเบ”เป€เบŠเบฑเปˆเบ™ Haproxy. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบกเบฐเบซเบฑเบ”เปเบฅเบฐเบชเบงเบเบ‡เบฒเบก. เบ‚เป‰เบญเบเบกเบตเบžเบงเบเป€เบ‚เบปเบฒเบซเบผเบฒเบเปเบฅเบฐเบ‚เป‰เบญเบเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒ GUI เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™, เปเบ•เปˆเป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เปเบ›เบเบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเบกเบต. เบŠเบญเบšเปเบงเบ—เบตเปˆเบ™เบดเบเบปเบกเบซเบผเบฒเบ, เปเบฅเบฐเบเบฑเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบเบปเปˆเบฒ, เปเบ•เปˆเป‚เบญเป‰, เบ‚เป‰เบญเบเบ„เบดเบ”เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเปเบเป‰เป„เบ‚ pens เปƒเบ™ vi favorite เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบšเบฒเบ‡เป‚เบญเบเบฒเบ”เปเบฅเบฐเบกเบตเปเบ–เบšเป€เบ›เบตเบ”เบ—เบตเปˆเบกเบตเบชเบฐเบ–เบดเบ•เบดเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเปƒเบŠเป‰เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”. เปเบ•เปˆเป€เบงเบฅเบฒเบกเบฒเบฎเบญเบ”เปเบฅเบฐเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡ "เบ•เป‰เบญเบ‡เบเบฒเบ™" เบ‚เบญเบ‡เบ›เบฐเบŠเบฒเบŠเบปเบ™เบœเบนเป‰เบ—เบตเปˆเบ‚เบฝเบ™เบŠเบญเบšเปเบงเป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™ http, เปเบฅเบฐเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ ...

เบกเบทเบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบตเบญเบฒเบเบฒเบ™เบ„เบฑเบ™, เบ•เบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเบชเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบถเป‰เบ™เปเบฅเบฐเบ‚เป‰เบญเบเบเปเปˆเป€เบฅเบตเปˆเบก. เบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เปƒเบ™, เบˆเบทเปˆ PHP เบ—เบตเปˆเบฅเบทเบกเบเบฒเบง, เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เป‰เบญเบเบšเปเปˆเบขเบฒเบ, เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”. เปƒเบ™เบ—เบตเปˆเบชเบธเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป„เบ”เป‰เบ•เบปเบเบขเบนเปˆเปƒเบ™ Python, เบกเบฑเบ™เปเบ™เปˆเบ™เบญเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒ, เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ”เบนเบ”เป€เบญเบปเบฒเบ‚เปเป‰เบกเบนเบ™.

เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบงเบฝเบเบ‡เบฒเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบ: เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚ configs เบˆเบฒเบเบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”เป€เบงเบฑเบšเบˆเบฒเบเบˆเบธเบ”เบซเบ™เบถเปˆเบ‡, เบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ” configs เบฎเบธเปˆเบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒ. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเปƒเบซเบเปˆเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบ‚เบตเป‰เบ„เป‰เบฒเบ™เบ‚เบญเบ‡ admin เบซเบผเบทเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เปเบšเบšเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบชเบฝเบ‡เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบ‚เป‰เบญเบเปเบฅเบฐเปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบžเบฝเบ‡เบžเปเบเบฑเบšเบ‚เป‰เบญเบ. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒ: เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบญเบ‡ configs, เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš configs, Runtime API เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบžเบฒเบเบชเปˆเบงเบ™เบœเปˆเบฒเบ™เป€เบงเบฑเบš.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™ Web-GUI เบชเปเบฒเบฅเบฑเบš Haproxy เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™

เปเบฅเบฐเปƒเบ™เบ–เบฒเบ™เบฐเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™ UNIX เบ—เบตเปˆเบกเบตเบเบฝเบ”เบœเบนเป‰เบ—เบตเปˆเปƒเบŠเป‰เบŠเบญเบšเปเบงเบŸเบฃเบต, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบกเบฑเบ™เบเบฑเบšเป‚เบฅเบ, เปเบฅเบฐเบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เบšเป? เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”, เปเบ•เปˆเบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ config butts (เบ•เบญเบ™เบ™เบตเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปˆเบงเบ™เปƒเบซเบเปˆเป„เบ”เป‰เบเป‰เบฒเบเป„เบ›เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ, เบกเบฑเบ™เบกเบต. เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบชเบฐโ€‹เบ”เบงเบโ€‹เบซเบผเบฒเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปเบฅเบฐโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ‚เบฒเบ”โ€‹เบ•เบปเบงโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบเบฒเบ™โ€‹เปƒเบ”เป†โ€‹)โ€‹.

เบ™เบถเปˆเบ‡เป€เบ”เบทเบญเบ™เบ•เปเปˆเบกเบฒ, เบ‚เป‰เบญเบเป„เบ”เป‰เป‚เบžเบชเป€เบ„เบทเปˆเบญเบ‡เบซเบฑเบ”เบ–เบฐเบเบณเบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™ Github เป‚เบ”เบเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”เบซเบผเบฒเบ. เปเบ•เปˆเปƒเบ™เป„เบฎเป‰เบ›เบฐเป‚เบซเบเบ”, เบŠเบญเบšเปเบงเป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบกเปˆเบงเบ™เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ ... "เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡" เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เป„เบ›เป€เบเบทเบญเบšเบซเบ™เบถเปˆเบ‡เบ›เบต. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเบกเบตเบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบกเบฑเบ™เบซเบกเบปเบ”เป„เบ›, เป€เบžเบฒเบฐเบงเปˆเบฒ ... เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบปเบเบ„เบธเบกเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™. เปเบฅเป‰เบง, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ‚เป‰เบญเบเบˆเบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ "เบเบธเปˆเบก" เบเบฑเบš Keepalived เปเบฅเบฐ HAProxy เบœเปˆเบฒเบ™เป€เบงเบฑเบš, เบ–เป‰เบฒเบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบชเบฒเบกเบ™เบฒเบ—เบตเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™? เปเบ•เปˆเบกเบฑเบ™เบ›เบฒเบเบปเบ”เบงเปˆเบฒเบ›เบฐเบŠเบฒเบŠเบปเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™, เปเบฅเบฐเบ‚เป‰เบญเบเบชเบปเบ™เปƒเบˆ, เปเบฅเบฐเบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ, เปเบ™เปˆเบ™เบญเบ™, เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ backend เปเบฅเบฐเบšเปเปˆเบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบš Haproxy. เบžเบงเบเป€เบฎเบปเบฒ, เปเบ™เปˆเบ™เบญเบ™, เบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”, เปเบ•เปˆเบกเบตเบ›เบฐเบŠเบฒเบŠเบปเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบชเบฒเบกเบฒเบ” react เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™, + เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ ... เบžเบฐเปเบ™เบเบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบŠเบญเบšเปเบงเบˆเบฐเบ›เบฒเบเบปเบ”เปเบฅเบฐเบซเบฒเบเป„เบ›เบ”เบปเบ™เบžเปเบ—เบตเปˆเบˆเบฐเบœเปˆเบฒเบ™เบฅเบฐเบšเบปเบš bureaucracy.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™ Web-GUI เบชเปเบฒเบฅเบฑเบš Haproxy เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™ turns เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™ GUI เบŸเบฃเบตเบžเบฝเบ‡เปเบ•เปˆ. เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเปƒเบœเป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”? เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš GitHub.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™