Haproxy เชฎเชพเชŸเซ‡ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ-GUI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚

เชธเชฟเชธเซเชŸเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐเซเชธเชจเซ€ เช†เชงเซเชจเชฟเช• เชฆเซเชจเชฟเชฏเชพเช เชธเซเช‚เชฆเชฐ เชตเซ‡เชฌ-เชซเซ‡เชธเชฅเซ€ เช…เชฎเชจเซ‡ เชเชŸเชฒเชพ เช†เชณเชธเซ เชฌเชจเชพเชตเซ€ เชฆเซ€เชงเชพ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชเชตเชพ เชธเซ‰เชซเซเชŸเชตเซ‡เชฐเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชชเชฃ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เช† เช–เซ‚เชฌ เชœ "เชตเซเชฏเช•เซเชคเชฟ" เชจ เชนเซ‹เชฏ (เชฎเชจเซ‡ เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชถเซเชฐเชฆเซเชงเชพเชณเซเช“เชฎเชพเช‚เชฅเซ€ เชชเชฅเซเชฅเชฐเซ‹ เช‰เชกเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡) , เชธเชพเชฐเซเช‚, เชเชตเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชคเชฎเซ‡ เชธเชคเชค เชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€ เชšเชขเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹, เช–เชฐเซเช‚ เชจเซ‡? เชœเซ‹ เชธเซ‰เชซเซเชŸเชตเซ‡เชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เชนเซ‹เชฏ, เช—เซ‹เช เชตเซ‡เชฒเซเช‚ เชนเซ‹เชฏ เช…เชจเซ‡ เชญเซ‚เชฒเซ€ เช—เชฏเชพ เชนเซ‹เชฏ เชคเซ‹ เชฌเชงเซเช‚ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซเชฏเชพเช‚ เชธเชคเชค เชšเชขเซ€ เชœเชตเซเช‚, เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเซเช‚, เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค เชคเซเชฏเชพเช‚ เชฌเชงเซ€ เช•เซเชฐเชฟเชฏเชพเช“เชจเซ‹ เช•เซ‹เชˆ เชฒเซ‰เช— เชจเชฅเซ€, เชคเซ‹ เชถเซเช‚ เช•เชฐเชตเซเช‚, เชฆเชฐเซ‡เช• เชตเช–เชคเซ‡ cp cfg cfg_back เชฒเช–เชถเซ‹ เชจเชนเซ€เช‚. เชธเชฎเชฏ เชœเชคเชพเช‚ เชคเชฎเซ‡ เชฎเซ‚เช‚เชเชพเชˆ เชœเชถเซ‹ เช…เชจเซ‡ เช† เชฌเชพเชฌเชคเชจเซ‡ เชญเซ‚เชฒเซ€ เชœเชถเซ‹.

Haproxy เชฎเชพเชŸเซ‡ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ-GUI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚

เช˜เชฃเชพ เชตเชฐเซเชทเซ‹ เชชเชนเซ‡เชฒเชพ เชนเซเช‚ เชนเซ‡เชชเซเชฐเซ‹เช•เซเชธเซ€ เชœเซ‡เชตเชพ เช…เชฆเซเชญเซเชค เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐเชจเซ‡ เชฎเชณเซเชฏเซ‹ เชนเชคเซ‹. เชฌเชงเซเช‚ เช…เชฆเซเชญเซเชค เช…เชจเซ‡ เชธเซเช‚เชฆเชฐ เช›เซ‡. เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช˜เชฃเชพ เชนเชคเชพ เช…เชจเซ‡ เชฎเซ‡เช‚ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ GUI เชถเซ‹เชงเชตเชพเชจเซเช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚, เชชเชฐเช‚เชคเซ เช†เชถเซเชšเชฐเซเชฏเชœเชจเช• เชฐเซ€เชคเซ‡ เชคเซเชฏเชพเช‚ เชเช• เชจ เชนเชคเซเช‚. เชเช• เช–เซ‚เชฌ เชœ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ, เช…เชจเซ‡ เชคเซ‡ เชชเชฃ เช˜เชฃเซเช‚ เชœเซ‚เชจเซเช‚, เชชเชฐเช‚เชคเซ เช“เชน เชธเชพเชฐเซเช‚, เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚ เช…เชจเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชฎเชพเชฐเชพ เชฎเชจเชชเชธเช‚เชฆ vi เชฎเชพเช‚ เชชเซ‡เชจเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซเชฏเซเช‚ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชธเช•เซเชฐเชฟเชฏ เชธเชฐเซเชตเชฐเชจเชพ เช†เช‚เช•เชกเชพเช“ เชธเชพเชฅเซ‡ เช–เซเชฒเซเชฒเซ€ เชŸเซ‡เชฌเชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡. เชชเชฐเช‚เชคเซ เชธเชฎเชฏ เช†เชตเซเชฏเซ‹ เช…เชจเซ‡ เชฎเชพเชฐเซ‡ เชเชตเชพ เชฒเซ‹เช•เซ‹เชจเซ€ "เช‡เชšเซเช›เชพเช“" เชธเช‚เชคเซ‹เชทเชตเซ€ เชชเชกเซ€ เช•เซ‡ เชœเซ‡เชฎเชฃเซ‡ http เชฎเชพเชฐเชซเชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฒเช–เซเชฏเชพ เชนเชคเชพ, เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชœ เชตเชธเซเชคเซเช“ เชฐเชธเชชเซเชฐเชฆ เชฌเชจเซ€ เชนเชคเซ€...

เชฎเชพเชฐเชพ เชนเชพเชฅ เช–เช‚เชœเชตเชพเชณ เช†เชตเซเชฏเชพ, เชฎเชพเชฐเซ€ เช†เช‚เช–เซ‹ เชšเชฎเช•เซ€ เช…เชจเซ‡ เชฎเซ‡เช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เชตเชงเซ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡, เชฎเซ‡เช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชญเซ‚เชฒเซ€ เช—เชฏเซ‡เชฒเชพ PHPเชจเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชถเซเช‚ เชฒเช–เชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชนเซเช‚ เช‡เชšเซเช›เชคเซ‹ เชจ เชนเชคเซ‹, เช…เชจเซ‡ เชเชตเซเช‚ เชฒเชพเช—เชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชคเซ‡ เช† เชฌเชพเชฌเชค เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€. เช…เช‚เชคเซ‡, เชชเชธเช‚เชฆเช—เซ€ เชชเชพเชฏเชฅเซ‹เชจ เชชเชฐ เชชเชกเซ€, เชคเซ‡ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชนเชพเชฅเชฎเชพเช‚ เช†เชตเชถเซ‡, เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚, เช…เชจเซ‡ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชถเซ‹เชทเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช•เชพเชฐเซเชฏเซ‹ เชเชŸเชฒเชพ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชนเซ‹เชคเชพ: เชเช• เชเชจเซเชŸเซเชฐเซ€ เชชเซ‹เชˆเชจเซเชŸเชฅเซ€ เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚เชฅเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเชพ เช…เช—เชพเช‰เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ‡ เชธเชพเชšเชตเซ€เชจเซ‡. เช† เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชŸเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เช–เซ‚เชฌ เชเชกเชชเชฅเซ€ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจ เชนเชคเซ€, เชชเชฐเช‚เชคเซ เชชเช›เซ€ เช•เชพเช‚ เชคเซ‹ เชเชกเชฎเชฟเชจเชจเซ‹ เช†เชณเชธ เช…เชฅเชตเชพ เช•เซเช–เซเชฏเชพเชค เชชเซ‚เชฐเซเชฃเชคเชพเชตเชพเชฆ เชฎเชพเชฐเชพเชฎเชพเช‚ เช•เชฌเชœเซ‹ เช•เชฐเซ€ เช—เชฏเซ‹ เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค เช† เชฎเชจเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชจ เชฒเชพเช—เซเชฏเซเช‚. เช…เชจเซ‡ เชชเช›เซ€ เช†เชตเชพ เชฒเช•เซเชทเชฃเซ‹ เชฆเซ‡เช–เชพเชตเชพ เชฒเชพเช—เซเชฏเชพ: เชฌเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“ เชธเช‚เชฌเช‚เชงเชฟเชค เชคเชฎเชพเชฎ เช•เซเชฐเชฟเชฏเชพเช“เชจเซเช‚ เชฒเซ‹เช—เซ€เช‚เช—, เชฐเชจเชŸเชพเช‡เชฎ API เช…เชจเซ‡ เชตเซ‡เชฌ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชญเชพเช—เซ‹ เช‰เชฎเซ‡เชฐเชตเชพ.

Haproxy เชฎเชพเชŸเซ‡ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ-GUI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚

เช…เชจเซ‡ เชเช• เชฏเซ‹เช—เซเชฏ เชฏเซเชจเชฟเช•เซเชธ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชคเชฐเซ€เช•เซ‡ เชœเซ‡ เชฎเชซเชค เชธเซ‹เชซเซเชŸเชตเซ‡เชฐเชฅเซ€ เชฆเซ‚เชฐ เชฐเชนเซ‡ เช›เซ‡, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชตเชฟเชถเซเชต เชธเชพเชฅเซ‡ เชถเซ‡เชฐ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เช…เชจเซ‡ เช•เชฆเชพเชš เชคเซ‡ เชฌเซ€เชœเชพ เช•เซ‹เชˆเชจเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡? เชชเชฐเช‚เชคเซ เช† เชฎเชพเชŸเซ‡ เชฌเชงเซเช‚ เชเชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช•เซ‹เชกเชฎเชพเช‚ เชจ เชœเชตเซเช‚ เชชเชกเซ‡, เชชเชฐเช‚เชคเซ เชตเชงเซเชฎเชพเช‚ เชตเชงเซ เช•เชจเซเชซเชฟเช— เชฌเชŸเซเชธเชฎเชพเช‚ เชœเชตเซเช‚ เชชเชกเซ‡ (เชนเชตเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡, เชคเซ‡ เช›เซ‡. เชคเซ‡เชฎเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เช…เชจเซเช•เซ‚เชณ เชฌเชจเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เช…เชฅเชตเชพ เชชเชฐเชฟเชฎเชพเชฃเชจเชพ เช…เชญเชพเชตเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เซ‹เชˆ เชญเซ‚เชฒเซ‹ เชจเชนเซ€เช‚ เชนเซ‹เชฏ).

เชเช• เชฎเชนเชฟเชจเชพ เชชเช›เซ€, เชฎเซ‡เช‚ เชฎเชพเชฐเซ€ เชนเชธเซเชคเช•เชฒเชพ เช—เซ€เชฅเชฌ เชชเชฐ เช–เซ‚เชฌ เช…เชชเซ‡เช•เซเชทเชพ เชตเชฟเชจเชพ เชชเซ‹เชธเซเชŸ เช•เชฐเซ€. เชชเชฐเช‚เชคเซ เชจเชฟเชฐเชฐเซเชฅเช•, เชธเซ‰เชซเซเชŸเชตเซ‡เชฐเชจเซ€ เชฎเชพเช‚เช—เชฎเชพเช‚ เชธเชนเซ‡เชœ เช˜เชŸเชพเชกเซ‹ เชฅเชฏเซ‹ เช…เชจเซ‡ เชชเช›เซ€ เช†เชจเช‚เชฆ เชถเชฐเซ‚ เชฅเชฏเซ‹... เชฒเช—เชญเช— เชเช• เชตเชฐเซเชทเชฅเซ€ เชธเช•เซเชฐเชฟเชฏ "เช…เชชเชกเซ‡เชŸเชฟเช‚เช—" เชšเชพเชฒเซ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเซ‡ เชฌเชงเซเช‚ เช›เซ‹เชกเซ€ เชฆเซ‡เชตเชพเชจเซ€ เช‡เชšเซเช›เชพ เชนเซ‹เชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ ... เชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชธเชพเชฐเซเช‚, เชฎเชจเซ‡ เชตเซ‡เชฌ เชฆเซเชตเชพเชฐเชพ Keepalived เช…เชจเซ‡ HAProxy เชธเชพเชฅเซ‡ "เช•เซเชฒเชธเซเชŸเชฐ" เชœเชฎเชพเชตเชตเชพเชจเซ€ เชคเช•เชจเซ€ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡, เชœเซ‹ เชคเซ‡ เชฎเชจเซ‡ เชฎเชพเชคเซเชฐ เชฅเซ‹เชกเซ€ เชฎเชฟเชจเชฟเชŸเซ‹ เชฒเซ‡ เช›เซ‡? เชชเชฐเช‚เชคเซ เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชฒเซ‹เช•เซ‹เชจเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เชฎเชจเซ‡ เชฐเชธ เช›เซ‡, เช…เชจเซ‡ เช•เช‚เชˆเช• เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช…เชฒเชฌเชคเซเชค, เชเชตเชพ เช•เชพเชฐเซเชฏเซ‹ เช›เซ‡ เชœเซ‡เชจเซ€ เชฎเชจเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฌเซ‡เช•เชเชจเซเชก เชธเชฐเซเชตเชฐเซเชธเชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡ เชนเซ‡เชชเซเชฐเซ‹เช•เซเชธเซ€ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡, เช…เชฒเชฌเชคเซเชค, เช•เซ‹เชฐเซเชชเซ‹เชฐเซ‡เชŸ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซเชฏเชพเช‚ เชเชตเชพ เชฒเซ‹เช•เซ‹ เช›เซ‡ เชœเซ‡เช“ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช†เชชเซ€ เชถเช•เซ‡ เช›เซ‡, + เช•เชพเชฐเชฃ เช•เซ‡... เชฎเชพเชฐเซ‹ เชตเชฟเชญเชพเช— เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชฐเซ‹เช•เชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชฒเชฆเชพเชฐเชถเชพเชนเซ€ เชฆเซเชตเชพเชฐเชพ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเชพ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เช…เชฆเซƒเชถเซเชฏ เชฅเชˆ เชœเชพเชฏ เช›เซ‡.

Haproxy เชฎเชพเชŸเซ‡ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ-GUI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฎเซ‡เช‚ เชถเซ‡เชฐ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เช† เชเช•เชฎเชพเชคเซเชฐ เชฎเชซเชค GUI เช›เซ‡. เชœเซ‹ เช•เซ‹เชˆเชจเซ‡ เชคเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฒเชพเช—เซ‡ เชคเซ‹ เชถเซเช‚? GitHub เชธเชพเชฅเซ‡ เชฒเชฟเช‚เช• เช•เชฐเซ‹.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹