เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชนเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ Inventos "Docker + Gitlab CI เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ" เชจเชพ เชเชฒเซ‡เช•เซเชเชพเชจเซเชกเชฐ เชธเชฟเช—เชพเชšเซ‡เชต เชฆเซเชตเชพเชฐเชพ เช…เชนเซ‡เชตเชพเชฒเชจเซ€ เชŸเซเชฐเชพเชจเซเชธเช•เซเชฐเชฟเชชเซเชŸ เชตเชพเช‚เชšเซ‹.

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

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

เช•เซ‹เชฃ เชงเซเชฏเชพเชจ เชฐเชพเช–เซ‡ เช›เซ‡, เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€เชจเซ€ เชจเซ€เชšเซ‡.

เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชเชฒเซ‡เช•เซเชเชพเชจเซเชกเชฐ เชธเชฟเช—เชพเชšเซ‡เชต เช›เซ‡. เชนเซเช‚ Inventos เชฎเชพเชŸเซ‡ เช•เชพเชฎ เช•เชฐเซเช‚ เช›เซเช‚. เชนเซเช‚ เชคเชฎเชจเซ‡ เชกเซ‹เช•เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเชพ เชฎเชพเชฐเชพ เช…เชจเซเชญเชต เชตเชฟเชถเซ‡ เช…เชจเซ‡ เช•เช‚เชชเชจเซ€เชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชงเซ€เชฎเซ‡-เชงเซ€เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡ เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเซ€เชถ.

เชฐเชฟเชชเซ‹เชฐเซเชŸเชจเซ‹ เชตเชฟเชทเชฏ: เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชกเซ‹เช•เชฐ เชตเชฟเชถเซ‡ เช† เชฎเชพเชฐเซ€ เชฌเซ€เชœเซ€ เชตเชพเชค เช›เซ‡. เชชเซเชฐเชฅเชฎ เช…เชนเซ‡เชตเชพเชฒ เชธเชฎเชฏเซ‡, เช…เชฎเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชฎเชถเซ€เชจเซ‹ เชชเชฐ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชœ เชกเซ‹เช•เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เชกเซ‹เช•เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชจเชพเชฐเชพ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฒเช—เชญเช— 2-3 เชฒเซ‹เช•เซ‹เชจเซ€ เชนเชคเซ€. เชงเซ€เชฐเซ‡ เชงเซ€เชฐเซ‡, เช…เชจเซเชญเชต เชฎเซ‡เชณเชตเซเชฏเซ‹ เช…เชจเซ‡ เช…เชฎเซ‡ เชฅเซ‹เชกเชพ เช†เช—เชณ เชตเชงเซเชฏเชพ. เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฒเชฟเช‚เช• เชชเซเชฐเชฅเชฎ เช…เชนเซ‡เชตเชพเชฒ.

เชถเซเช‚ เชนเชถเซ‡ เช† เชฐเชฟเชชเซ‹เชฐเซเชŸเชฎเชพเช‚? เช…เชฎเซ‡ เช•เชฏเชพ เชฐเซ‡เช•เซเชธ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซเชฏเชพ, เช…เชฎเซ‡ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€ เชคเซ‡ เชตเชฟเชถเซ‡ เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เช…เชจเซเชญเชต เชถเซ‡เชฐ เช•เชฐเซ€เชถเซเช‚. เชคเซ‡ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชธเซเช‚เชฆเชฐ เชจ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชคเซ‡ เช…เชฎเชจเซ‡ เช†เช—เชณ เชตเชงเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เช…เชฎเชพเชฐเซเช‚ เชงเซเชฏเซ‡เชฏ: เช†เชชเชฃเซ‡ เชœเซ‡ เช•เช‚เชˆเชชเชฃ เชนเชพเชฅเชฎเชพเช‚ เชฒเชˆเช เช›เซ€เช เชคเซ‡เชจเซ‡ เชกเซ‹เช•เชฐเชพเชˆเช เช•เชฐเซ‹.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช†เชชเชฃเซ‡ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€เช เช›เซ€เช?

เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เช˜เชฃเซ€ เชŸเซ€เชฎเซ‹ เชนเซ‹เชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชเช• เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชธเช‚เชธเชพเชงเชจ เช›เซ‡. เชเชตเชพ เชคเชฌเช•เซเช•เชพเช“ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเชจเซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเซเช• เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชฌเซ€เชœเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชเชกเชชเชฅเซ€ เชธเชฎเชœเซ€ เชถเช•เซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡, เชคเซ‡เชฃเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เชธเซ‹เชฐเซเชธ เช•เซ‹เชก เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเซ‹ เช…เชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซเช‚ เชเชกเชชเชฅเซ€ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชœเซ‡ เชคเซ‡เชจเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เช‰เช•เซ‡เชฒเชฎเชพเช‚ เช†เช—เชณ เชตเชงเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡.

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

เช†เช—เชณเชจเซเช‚ เช•เชพเชฐเชฃ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซเช‚ เชฎเชพเชจเช•เซ€เช•เชฐเชฃ เช›เซ‡. เชฎเชพเชฐเชพ เช…เชจเซเชญเชตเชฎเชพเช‚, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชนเช‚เชฎเซ‡เชถเชพ เชชเชนเซ‡เชฒ เช•เชฐเซ‡ เช›เซ‡. เชฆเชฐเซ‡เช• เชชเชพเช‚เชšเชฎเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช•เชธเซเชŸเชฎ เชกเซ‹เชฎเซ‡เชจ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ vasya.dev. เชฎเชพเชฐเซ€ เชฌเชพเชœเซเชฎเชพเช‚ เชฌเซ‡เช เซ‡เชฒเชพ เชฎเชพเชฐเชพ เชชเชพเชกเซ‹เชถเซ€ เชชเซ‡เชŸเซเชฏเชพ เช›เซ‡, เชœเซ‡เชจเซเช‚ เชกเซ‹เชฎเซ‡เชจ petya.dev เช›เซ‡. เชคเซ‡เช“ เช† เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเซ‡เชฌเชธเชพเช‡เชŸ เช…เชฅเชตเชพ เช…เชฎเซเช• เชธเชฟเชธเซเชŸเชฎ เช˜เชŸเช• เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎ เชตเชงเซ‡ เช›เซ‡ เช…เชจเซ‡ เช† เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเซ‹ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เชฅเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชตเชฟเช•เชพเชธ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชธเช‚เช˜เชฐเซเชท เชŠเชญเซ‹ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชธเชพเช‡เชŸ เชชเชพเชฅ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

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

เชฌเซ€เชœเซ€ เชธเชฎเชธเซเชฏเชพ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชจเซ€ เชตเชฟเชตเชฟเชง เช†เชตเซƒเชคเซเชคเชฟเช“ เช›เซ‡. เชคเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชตเชฟเชตเชฟเชง เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชเช• เชฒเซ‡เช—เชธเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช›เซ‡, เชœเซ‡ เชชเชพเช‚เชš เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ เชถเชฐเซ‚ เชฅเชฏเซ‹ เชนเชคเซ‹ (2017 เชฅเซ€ - เชธเช‚เชชเชพเชฆเช•เชจเซ€ เชจเซ‹เช‚เชง). เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช…เชฎเซ‡ MySQL 5.5 เชฅเซ€ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€. เชเชตเชพ เช†เชงเซเชจเชฟเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฃ เช›เซ‡ เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ MySQL เชจเชพ เชตเชงเซ เช†เชงเซเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ 5.7 เช…เชฅเชตเชพ เชคเซ‡เชฅเซ€ เชตเชงเซ เชœเซ‚เชจเชพ (2017 เชฎเชพเช‚ - เชธเช‚เชชเชพเชฆเช•เชจเซ€ เชจเซ‹เช‚เชง)

เช•เซ‹เชˆเชชเชฃ เชœเซ‡ MySQL เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชœเชพเชฃเซ‡ เช›เซ‡ เช•เซ‡ เช† เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡. 2 เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชคเชฆเซเชฆเชจ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เช›เซ‡. เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚, เชœเซ‚เชจเชพ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชจเชตเชพ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เช›เซ‡. เช† เชฌเชฆเชฒเชพเชฎเชพเช‚ เช…เชจเซ‡เช• เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชœเชจเซเชฎ เช†เชชเซ‡ เช›เซ‡.

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

เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธเชจเซ€ เชฆเชฟเชถเชพ เชนเชพเชฒเชฎเชพเช‚ เชตเชฟเช•เชธเซ€ เชฐเชนเซ€ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช†เชชเชฃเซ€ เชฎเซ‹เชŸเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชจเชพเชจเชพ เช˜เชŸเช•เซ‹เชฎเชพเช‚ เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡. เช† เชคเชฎเชจเซ‡ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฐเซเชฏ เชธเซเชŸเซ‡เช• เชฎเชพเชŸเซ‡ เชคเช•เชจเซ€เช•เซ‹ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช† เชคเชฎเชจเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชตเชšเซเชšเซ‡ เช•เชพเชฐเซเชฏ เช…เชจเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐเซ€เชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชจเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชชเชฃ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

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

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชธเชพเชงเชจเซ‹. เช†เชชเชฃเซ‡ เชถเซเช‚ เชตเชพเชชเชฐเซ€เช เช›เซ€เช?

  • เชกเซ‹เช•เชฐ เชชเซ‹เชคเซ‡. เชเช• เชกเซ‹เช•เชฐเชซเชพเช‡เชฒ เชเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡.
  • เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เช เชเช• เชฌเช‚เชกเชฒ เช›เซ‡ เชœเซ‡ เช…เชฎเชพเชฐเซ€ เช˜เชฃเซ€ เชกเซ‹เช•เชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชฒเชพเชตเซ‡ เช›เซ‡.
  • เช…เชฎเซ‡ เชธเซ‹เชฐเซเชธ เช•เซ‹เชก เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ GitLab เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.
  • เช…เชฎเซ‡ เชธเชฟเชธเซเชŸเชฎ เชเช•เซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ GitLab-CI เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช…เชนเซ‡เชตเชพเชฒเชฎเชพเช‚ เชฌเซ‡ เชญเชพเช—เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เชชเซเชฐเชฅเชฎ เชญเชพเช— เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเชถเซ‡ เช•เซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ€ เชฎเชถเซ€เชจเซ‹ เชชเชฐ เชกเซ‹เช•เชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚.

เชฌเซ€เชœเซ‹ เชญเชพเช— เช—เชฟเชŸเชฒเซ‡เชฌ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเซ€, เช…เชฎเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเซเชŸเซ‡เชœเชฟเช‚เช—เชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฐเซ‹เชฒ เช†เช‰เชŸ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชถเซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

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

เช…เชฎเซ‡ เช เชชเชฃ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ‡ เช…เชฎเชพเชฐเชพ เชกเซ‡เชตเชฒเชชเชฐ เชนเซ‹เชธเซเชŸ เชฎเชถเซ€เชจ เชชเชฐ เชชเซ‹เชฐเซเชŸเชจเซ‡ 3000 เชฅเซ€ 3000 เช•เชจเซเชŸเซ‡เชจเชฐ เชชเซ‹เชฐเซเชŸ เชซเซ‹เชฐเชตเชฐเซเชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† iptables เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชธเซ€เชงเชพ เชœ เชกเซ‹เช•เชฐเชฎเชพเช‚ เชเชฎเซเชฌเซ‡เชก เชฅเชฏเซ‡เชฒ เช›เซ‡.

เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ, เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ, เช•เซ‹เชˆเชชเชฃ เช‰เชชเชฒเชฌเซเชง IP เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเชถเซ€เชจเชจเซเช‚ 127.0.0.1 เชธเซเชฅเชพเชจเชฟเช• เช…เชฅเชตเชพ เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเซเช‚.

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

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

เช›เชฌเซ€ เชฌเชจเชพเชตเซเชฏเชพ เชชเช›เซ€, เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชฌเช‚เชจเซ‡เชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชฎเชพเชจ เชนเชถเซ‡. เช† เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชŸเชพ เชธเซเชฅเชพเชชเชจเซ‹ เชฎเชพเชŸเซ‡ เชธเชพเชšเซเช‚ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชซเซเชฐเชจเซเชŸเชเชจเซเชก เชชเชฐ เช†เชชเชฃเซ‡ JavaScipt เช…เชจเซ‡ NodeJS เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชนเชตเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ ReacJS เชชเชฐ เช…เชฎเชพเชฐเซ‹ เช›เซ‡เชฒเซเชฒเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช›เซ‡. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชฌเชงเซเช‚ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เชนเซ‹เชŸ-เชฐเซ€เชฒเซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเช•เชพเชธ เช•เชฐเซเชฏเซ‹.

เช†เช—เชณ, JavaScipt เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช•เชฒเซ€ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เซ‹เชก nginx เชฆเซเชตเชพเชฐเชพ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ€ เชฌเชšเชค เช•เชฐเซ‡ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช…เชนเซ€เช‚ เชฎเซ‡เช‚ เช…เชฎเชพเชฐเชพ เชจเชตเซ€เชจเชคเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เช†เช•เซƒเชคเชฟ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซเชฏเซ‹ เช›เซ‡.

เชคเชฎเซ‡ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€? เช…เชฎเชพเชฐเซ‡ เชเชตเซ€ เชธเชฟเชธเซเชŸเชฎ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€ เช•เซ‡ เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฎเซ‹เชฌเชพเช‡เชฒ เช‰เชชเช•เชฐเชฃเซ‹ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡. เชคเซ‡เช“ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡. เช† เช‰เชชเช•เชฐเชฃ เชชเชฐ เชชเซเชถ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพเช“เชฎเชพเช‚เชจเซ€ เชเช• เช›เซ‡.

เช…เชฎเซ‡ เช† เชฎเชพเชŸเซ‡ เชถเซเช‚ เช•เชฐเซเชฏเซเช‚ เช›เซ‡?

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

เช…เชฎเชจเซ‡ เชชเซเชถ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เชนเชคเซ€. เช† เชชเชนเซ‡เชฒเชพ, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชนเชคเซ‹ เชœเซ‡เชฎเชพเช‚ เชเช• เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชœเซ‡ เชฎเซ‹เชฌเชพเช‡เชฒ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เชธเซ‚เชšเชจเชพเช“ เชชเชนเซ‹เช‚เชšเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เชนเชคเซ€.

เช…เชฎเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชฏเซ‹เชœเชจเชพ เชตเชฟเช•เชธเชพเชตเซ€ เช›เซ‡: เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚เชฅเซ€ เช“เชชเชฐเซ‡เชŸเชฐ เชเชกเชฎเชฟเชจ เชชเซ‡เชจเชฒ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡, เชเชกเชฎเชฟเชจ เชชเซ‡เชจเชฒ เชฌเซ‡เช•เชเชจเซเชก เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡, เช•เชพเชฐเซเชฏ เชชเซเชถ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพเชจเซเช‚ เช›เซ‡.

เชชเซเชถ เชธเซ‚เชšเชจเชพเช“ เชจเซ‹เชกเชœเซ‡เชเชธเชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชพเชฏเซ‡เชฒเชพ เช…เชจเซเชฏ เช˜เชŸเช• เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡.

เช•เชคเชพเชฐเซ‹ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเซ‚เชšเชจเชพเช“ เชคเซ‡เชฎเชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟ เช…เชจเซเชธเชพเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชธเชฎเชพเชจ เชตเชธเซเชคเซ เชชเชฐเช‚เชคเซ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚. เช•เซ‹เชก เชชเซเชจเชƒเช‰เชชเชฏเซ‹เช— เช…เชนเซ€เช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡.

เชœเซ‹ เช…เช—เชพเช‰ เช†เชชเชฃเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เช•เซ‹เชกเชจเซ‹ เชชเซเชจเชƒเช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชตเชพเชค เช•เชฐเซ€ เชนเซ‹เชฏ, เชคเซ‹ เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เชธเซ‡เชตเชพ, เชœเซ‡ เชชเซเชถ เชจเซ‹เชŸเชฟเชซเชฟเช•เซ‡เชถเชจเชจเซ‹ เชœเชตเชพเชฌ เช†เชชเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเชฐเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ เชชเซเชจเชƒเช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชเช• API เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชจเซ‡ เช†เชชเชฃเซ‹ เชจเชตเซ‹ เชตเชฟเช•เชพเชธ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เชชเชฐเซเช• เช•เชฐเซ‡ เช›เซ‡.

เชคเซ‡ เชธเชฎเชฏเซ‡ เช…เชฎเซ‡ เชจเซ‹เชกเชœเซ‡เชเชธเชจเชพ เชธเช‚เชธเซเช•เชฐเชฃ 4 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชนเชคเชพ. เชนเชตเซ‡ (2017 เชฎเชพเช‚ - เชธเช‚เชชเชพเชฆเช•เชจเซ€ เชจเซ‹เช‚เชง) เช…เชฎเชพเชฐเชพ เชจเชตเซ€เชจเชคเชฎ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เช…เชฎเซ‡ NodeJS เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃ 7 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ‡ เชธเชพเชฎเซ‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเชพ เช˜เชŸเช•เซ‹เชฎเชพเช‚ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€.

เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹, เชคเชฎเซ‡ เชชเซเชถ เชธเซ‚เชšเชจเชพ เชธเซ‡เชตเชพเชจเชพ เชจเซ‹เชกเชœเซ‡เชเชธ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชฐเชฟเชซเซ‡เช•เซเชŸเชฐ เช…เชจเซ‡ เชตเชงเชพเชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชจเซ‡ เชœเซ‹ เช†เชชเชฃเซ‡ API เชธเซเชธเช‚เช—เชคเชคเชพ เชœเชพเชณเชตเซ€ เชถเช•เซ€เช, เชคเซ‹ เชคเซ‡เชจเซ‡ เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชถเซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เช—เชพเช‰ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชคเชฎเชพเชฐเซ‡ เชกเซ‹เช•เชฐ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชถเซเช‚ เชœเชฐเซ‚เชฐ เช›เซ‡? เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชเช• เชกเซ‹เช•เชฐเชซเชพเชˆเชฒ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช, เชœเซ‡ เชœเชฐเซ‚เชฐเซ€ เช…เชตเชฒเช‚เชฌเชจเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡. เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เช˜เชŸเช•เซ‹เชจเซ‡ เชคเชพเชฐเซเช•เชฟเช• เชฐเซ€เชคเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฌเซ‡เช•เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฎเชพเชŸเซ‡ เช† เชจเซเชฏเซ‚เชจเชคเชฎ เช•เชฟเชŸ เช›เซ‡.

เชจเชตเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช…เชฎเซ‡ เชเช• Dockerfile เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เช‡เชšเซเช›เชฟเชค เช‡เช•เซ‹เชธเชฟเชธเซเชŸเชฎ (Python, Ruby, NodeJS)เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช. เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เชเชฎเชพเช‚, เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเชฟเชฐเซเชญเชฐเชคเชพ - เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเชจเซ‡ เชคเซเชฏเชพเช‚ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช†เชตเชพ เช…เชจเซ‡ เช†เชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เชฎเซ‡ เชธเซเชฅเชฟเชฐ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชธเซ‡เชตเชพ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ nginx เชธเชพเชฅเซ‡ เช…เชฒเช— เชคเซเชฐเซ€เชœเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เชšเชฟเชคเซเชฐเซ‹ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เชฌเซ‡เช•เชเชจเซเชก เชคเซ‡เชฎเชจเซ‡ เชชเซ‚เชฐเซเชต-เชคเซˆเชฏเชพเชฐ เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡, เชœเซ‡ nginx เชธเชพเชฅเซ‡เชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชชเชฃ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡, เชœเซ‡ เชธเซเชฅเชฟเชฐ เชกเซ‡เชŸเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

nginx เช…เชจเซ‡ mysql เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชเช• Docker เชซเซ‹เชฒเซเชกเชฐ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช…เชฎเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ€เช เช›เซ€เช. เชœเซเชฏเชพเชฐเซ‡ เชกเซ‡เชตเชฒเชชเชฐ เชคเซ‡เชจเชพ เชฎเชถเซ€เชจ เชชเชฐ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซ‹ เช—เชฟเชŸ เช•เซเชฒเซ‹เชจ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชธเซเชฅเชพเชจเชฟเช• เชตเชฟเช•เชพเชธ เชฎเชพเชŸเซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชคเซˆเชฏเชพเชฐ เชนเซ‹เชฏ เช›เซ‡. เช•เชฏเชพ เชชเซ‹เชฐเซเชŸ เช…เชฅเชตเชพ เช•เชˆ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชฒเชพเช—เซ เช•เชฐเชตเซ€ เชคเซ‡ เชตเชฟเชถเซ‡ เช•เซ‹เชˆ เชชเซเชฐเชถเซเชจ เชจเชฅเซ€.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช†เช—เชณ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช˜เชฃเชพ เช˜เชŸเช•เซ‹ เช›เซ‡: เชเชกเชฎเชฟเชจ, เชฎเชพเชนเชฟเชคเซ€-API, เชชเซเชถ เชธเซ‚เชšเชจเชพเช“.

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช† เชกเซ‹เช•เชฐเชพเช‡เชเซเชก-เชเชชเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡. เช…เชฎเซ‡ เช…เชนเซ€เช‚ เชเช• เชกเซ‹เช•เชฐ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชชเชฃ เชฎเซ‚เช•เซ€เช เช›เซ€เช, เชœเซ‡เชฎเชพเช‚ เช…เชฎเซ‡ เชคเชฎเชพเชฎ เช˜เชŸเช•เซ‹เชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเช“ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชญเชฐเซ€เช เช›เซ€เช. เชเช• README.md เช›เซ‡ เชœเซ‡ เชธเช‚เช•เซเชทเชฟเชชเซเชคเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡ เช›เซ‡ เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเซ‹.

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชฌเซ‡ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชซเชพเช‡เชฒเซ‹ เชฒเชพเช—เซ เช•เชฐเซ€ เช›เซ‡. เชคเชฌเช•เซเช•เชพเชตเชพเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฅเชตเชพ เชฎเชพเชŸเซ‡ เช† เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช•เชฐเซเชจเชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชถ เชธเซ‚เชšเชจเชพเช“เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชคเซ‡ เชซเช•เซเชค เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชซเชพเช‡เชฒเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ, เชธเช‚เชธเชพเชงเชจเซ‹ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชœเซ‹ เชชเซเชถ เชธเซ‚เชšเชจเชพเช“ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เชฐเชฃเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ docker-compose.yaml เช…เชจเซ‡ docker-compose-push.yaml เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

docker-compose.yaml เช…เชจเซ‡ docker-compose-push.yaml เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชนเซ‹เชตเชพเชฅเซ€, เชเช• เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชจเซ‡เชŸเชตเชฐเซเช• เช†เชชเชฎเซ‡เชณเซ‡ เชฌเชจเซ‡ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช˜เชŸเช•เซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ. เช† เชเช• เชตเชงเซ เช…เชฆเซเชฏเชคเชจ เชซเชพเช‡เชฒ เช›เซ‡ เชœเซ‡ เช˜เชŸเช•เซ‹เชจเซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡. เช…เชนเซ€เช‚ เชถเซเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช›เซ‡? เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เช˜เชŸเช•เชจเซ‹ เชชเชฐเชฟเชšเชฏ เช†เชชเซ€เช เช›เซ€เช.

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

เชตเชฟเช•เชพเชธ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ .dev เชกเซ‹เชฎเซ‡เชจ - api.informer.dev เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. .dev เชกเซ‹เชฎเซ‡เชจ เชธเชพเชฅเซ‡เชจเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเชจเชพ เชธเซเชฅเชพเชจเชฟเช• เชฎเชถเซ€เชจ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡.

เชชเช›เซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“ เชฆเชฐเซ‡เช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชฌเชงเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชเช• เชœ เชธเชฎเชฏเซ‡ เชเช•เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชœเซ‹ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เช—เซเชฐเชพเชซเชฟเช•เชฒเซ€ เชšเชฟเชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช, เชคเซ‹ เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชฎเชพเชฐเซเช‚ เชฌเซเชฐเชพเช‰เชเชฐ เช›เซ‡ เช…เชฅเชตเชพ เช•เซ‹เชˆ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชธเชพเชงเชจ เช›เซ‡ เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช…เชฎเซ‡ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐเชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€เช เช›เซ€เช.

เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเชจเชพ เช†เชงเชพเชฐเซ‡ เช•เชฏเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช† nginx เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡ เชเชกเชฎเชฟเชจ เชชเซ‡เชจเชฒเชจเซ‡ JS เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช† nginx เชฎเชพเช‚เชฅเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡ API เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เช…เชฅเชตเชพ เชธเซเชฅเชฟเชฐ เชซเชพเชˆเชฒเซ‹, เชœเซ‡ nginx เชจเซ‡ เชˆเชฎเซ‡เชœเซ€เชธ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช†เช•เซƒเชคเชฟ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชจเซ‡เชŸเชตเชฐเซเช• เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเซ‹เช•เซเชธเซ€เชจเซ€ เชชเชพเช›เชณ เช›เซเชชเชพเชฏเซ‡เชฒเชพ เช›เซ‡.

เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเชจเชพ เชฎเชถเซ€เชจ เชชเชฐ, เชคเชฎเซ‡ IP เชจเซ‡ เชœเชพเชฃเซ€เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เช†เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชจเชฅเซ€. เชตเซเชฏเชตเชนเชพเชฐเซ€เช• เชฐเซ€เชคเซ‡ เชธเซ€เชงเชพ เชธเช‚เชชเชฐเซเช•เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชฎเชพเชฐเซ€ เช…เชฐเชœเซ€เชจเซ‡ เชกเซ‹เช•เชฐเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชพเชฐเซ‡ เช•เชฏเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‹เชตเซเช‚ เชœเซ‹เชˆเช? เชฎเชพเชฐเชพ เชฎเชคเซ‡, เชเช• เชธเชพเชฐเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ MySQL เชฎเชพเชŸเซ‡ เชธเชคเซเชคเชพเชตเชพเชฐ เชกเซ‹เช•เชฐ เช‡เชฎเซ‡เชœ เช›เซ‡.

เชคเซ‡ เชคเชฆเซเชฆเชจ เชœเชŸเชฟเชฒ เช›เซ‡. เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เช†เชตเซƒเชคเซเชคเชฟเช“ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชคเชฎเชจเซ‡ เช˜เชฃเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡ เชตเชงเซ เชตเชฟเช•เชพเชธเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชŠเชญเซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชธเชฎเชฏ เช•เชพเชขเซ‹ เช…เชจเซ‡ เชธเชฎเชœเซ‹ เช•เซ‡ เช† เชฌเชงเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชจเซ‡ เชคเซ‡เชจเซ‡ เชœเชพเชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฒเชพเชตเชตเชพเชฎเชพเช‚ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชนเซ€เช‚ เชนเซ‹เชฏ.

Hub.docker.com เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ github.com เชจเซ€ เชฒเชฟเช‚เช•เซเชธ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ เช•เชพเชšเซ‹ เชกเซ‡เชŸเชพ เชธเซ€เชงเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเซ‡ เชเช• เช›เชฌเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹.

เช†เช—เชณ เช† เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ docker-endpoint.sh เช›เซ‡, เชœเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเซ‹เชจเซเชšเชจเซ€ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชถเชฐเซ‚เช†เชค เช…เชจเซ‡ เช†เช—เชณเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡.

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

เชฐเซ‡เชจเซเชกเชฎ เชชเชพเชธเชตเชฐเซเชก เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡. เช…เชฎเซ‡ เช•เชนเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชฎเชพเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชชเชพเชธเชตเชฐเซเชก เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเชพเชฐเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

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

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

github.com เชชเชฐ MySQL เชจเซเช‚ เชตเชฟเชถเชฟเชทเซเชŸ เชธเช‚เชธเซเช•เชฐเชฃ เช•เซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ เชคเซ‡เชจเซเช‚ เช† เชเช• เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡. เชคเชฎเซ‡ เชกเซ‹เช•เชฐเชซเชพเช‡เชฒ เช–เซ‹เชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹.

docker-endpoint.sh เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชเชจเซเชŸเซเชฐเซ€ เชชเซ‹เชˆเชจเซเชŸ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡. เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชชเซเชฐเชพเชฐเช‚เชญ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เช•เซ‡เชŸเชฒเซ€เช• เชคเซˆเชฏเชพเชฐเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เช…เชจเซ‡ เช† เชฌเชงเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชšเชพเชฒเซ‹ เชฌเซ€เชœเชพ เชญเชพเช— เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช.

เชธเซ‹เชฐเซเชธ เช•เซ‹เชก เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚. เช† เชเช•เชฆเชฎ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชตเชฟเชเซเชฏเซเช…เชฒ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เช›เซ‡.

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

Gitlab CI 2 เชชเชฐ เช…เชนเซ‡เชตเชพเชฒ https://goo.gl/uohKjI โ€” เชฐเซ‚เชฌเซ€ เชฐเชถเชฟเชฏเชพ เช•เซเชฒเชฌเชจเซ‹ เช…เชนเซ‡เชตเชพเชฒ เช–เซ‚เชฌ เชตเชฟเช—เชคเชตเชพเชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฐเชธเชชเซเชฐเชฆ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชนเชตเซ‡ เช†เชชเชฃเซ‡ Gitlab CI เชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชถเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เชคเซ‡ เชœเซ‹เชˆเชถเซเช‚. Gitlab CI เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช†เชชเชฃเซ‡ เชซเช•เซเชค .gitlab-ci.yml เชซเชพเช‡เชฒเชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฐเซ‚เชŸเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เชนเซ€เช‚ เช…เชฎเซ‡ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ, เชœเชฎเชพเชตเชŸ เชœเซ‡เชตเชพ เชฐเชพเชœเซเชฏเซ‹เชจเซ‹ เช•เซเชฐเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช.

เช…เชฎเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชšเชฒเชพเชตเซ€เช เช›เซ€เช เชœเซ‡ เชธเซ€เชงเซ€ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชฌเชฟเชฒเซเชกเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡. เช† เชฎเชพเชคเซเชฐ เชฌเซ‡เช•เชเชจเซเชกเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡.

เช†เช—เชณ เช†เชชเชฃเซ‡ เช•เชนเซ€เช เช›เซ€เช เช•เซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเชฆเชฒเชตเชพ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชฅเชณเชพเช‚เชคเชฐ เชšเชฒเชพเชตเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เชœเซ‹ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชญเซ‚เชฒ เช•เซ‹เชก เชชเชฐเชค เช•เชฐเชคเชพ เชจเชฅเซ€, เชคเซ‹ เชธเชฟเชธเซเชŸเชฎ เชœเชฎเชพเชตเชŸเชจเชพ เชฌเซ€เชœเชพ เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เช†เช—เชณ เชตเชงเซ‡ เช›เซ‡.

เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เชธเซเชŸเซ‡เชœ เชนเชพเชฒเชฎเชพเช‚ เชธเซเชŸเซ‡เชœเซ€เช‚เช— เชฎเชพเชŸเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เช›เซ‡. เช…เชฎเซ‡ เชจเซ‹-เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€.

เช…เชฎเซ‡ เชฌเชณเชœเชฌเชฐเซ€เชฅเซ€ เชฌเชงเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เช“เชฒเชตเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชชเช›เซ€ เช…เชฎเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชพเชฏเซ‡เชฒเชพ เชคเชฎเชพเชฎ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช‰เชญเชพ เช•เชฐเซ€เช เช›เซ€เช.

เชšเชพเชฒเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซเชฅเชณเชพเช‚เชคเชฐ เชšเชฒเชพเชตเซ€เช เชœเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชคเชฎเชพเชจ เชšเชฒ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชŸเซ‡ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ.

เชเช• เชจเซ‹เช‚เชง เช›เซ‡ เช•เซ‡ เช† เชฎเชพเชคเซเชฐ เชฎเชพเชธเซเชŸเชฐ เชฌเซเชฐเชพเชจเซเชš เชชเชฐ เชœ เชฒเชพเช—เซ เชฅเชตเซ€ เชœเซ‹เชˆเช.

เช…เชจเซเชฏ เชถเชพเช–เชพเช“ เชฌเชฆเชฒเชคเซ€ เชตเช–เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€.

เชถเชพเช–เชพเช“ เชธเชพเชฅเซ‡ เชฐเซ‹เชฒเช†เช‰เชŸ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช†เชจเซ‡ เชตเชงเซ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

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

เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชตเช–เชคเซ‡ เช…เชฎเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐเชจเซ‡ เชฐเชœเซ€เชธเซเชŸเชฐ เช•เชฐเซ€เช เช›เซ€เช.

เช…เชฎเซ‡ Gitlab เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ เช•เซ€ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เช เช›เซ€เช.

เชชเช›เซ€ เช†เชชเชฃเซ‡ เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เชชเชฐ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช†เชฆเซ‡เชถเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เช เช›เซ€เช.

เชกเชพเชฏเชฒเซ‹เช— เชฎเซ‹เชกเชฎเชพเช‚ เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐเชจเซ‡ เช—เซ‹เช เชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ (เชถเซ‡เชฒ, เชกเซ‹เช•เชฐ, เชตเชฐเซเชšเซเชฏเซเช…เชฒเชฌเซ‹เช•เซเชธ, SSH)

เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐ เชชเชฐเชจเซ‹ เช•เซ‹เชก .gitlab-ci.yml เชธเซ‡เชŸเชฟเช‚เช—เชจเชพ เช†เชงเชพเชฐเซ‡ เชฆเชฐเซ‡เช• เช•เชฎเชฟเชŸ เชชเชฐ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชถเซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ Gitlab เชฎเชพเช‚ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฆเซƒเชทเซเชŸเชฟเชจเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. GItlab CI เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชงเซเชตเชœ เช›เซ‡ เชœเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชฌเชฟเชฒเซเชก เช…เชคเซเชฏเชพเชฐเซ‡ เช•เชˆ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เช›เซ‡.

เช…เชฎเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ 4 เชฎเชฟเชจเชฟเชŸ เชชเชนเซ‡เชฒเชพ เชเช• เชชเซเชฐเชคเชฟเชฌเชฆเซเชงเชคเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชœเซ‡เชฃเซ‡ เชคเชฎเชพเชฎ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชชเชพเชธ เช•เชฐเซเชฏเชพ เชนเชคเชพ เช…เชจเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เช•เชฐเซ€ เชจ เชนเชคเซ€.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

เชœเซ‹ เช†เชชเชฃเซ‡ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชฌเชฟเชฒเซเชก เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ€เช, เชคเซ‹ เชคเซเชฏเชพเช‚ เช†เชฆเซ‡เชถเซ‹เชจเซเช‚ เช•เชจเซเชธเซ‹เชฒ เช†เช‰เชŸเชชเซเชŸ เชนเชถเซ‡ เชœเซ‡ .gitlab-ci.yml เช…เชจเซเชธเชพเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช…เชฎเชพเชฐเชพ เช‰เชคเซเชชเชพเชฆเชจเชจเซ€ เชตเชพเชฐเซเชคเชพ เช†เชจเชพ เชœเซ‡เชตเซ€ เชฒเชพเช—เซ‡ เช›เซ‡. เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เชธเชซเชณ เชชเซเชฐเชฏเชพเชธเซ‹ เชฅเชฏเชพ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชธเชฌเชฎเชฟเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เช“ เช†เช—เชฒเชพ เชชเช—เชฒเชพ เชชเชฐ เชœเชคเชพ เชจเชฅเซ€ เช…เชจเซ‡ เชธเซเชŸเซ‡เชœเซ€เช‚เช— เช•เซ‹เชก เช…เชชเชกเซ‡เชŸ เชฅเชคเซ‹ เชจเชฅเซ€.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชกเซ‹เช•เชฐเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซเชฏเซ‹ เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชธเซเชŸเซ‡เชœเชฟเช‚เช—เชฎเชพเช‚ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€? เช…เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เช˜เชŸเช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชพเชฐเซ‡ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช…เชชเชกเซ‡เชŸ เช•เชฐเชพเชฏเซ‡เชฒเชพ เช•เซ‡เชŸเชฒเชพเช• เช˜เชŸเช•เซ‹เชจเซ‡ เชœ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€, เชธเชฎเช—เซเชฐ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชจเชนเซ€เช‚.

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เช…เชฒเช— เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช…เชฒเช— เช•เชฐเชตเชพเชจเซ€ เชนเชคเซ€.

เช…เชฎเซ‡ เช† เช•เชฐเซเชฏเซเช‚ เชคเซ‡ เชชเช›เซ€, เช…เชฎเชจเซ‡ เช เชนเช•เซ€เช•เชค เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพ เชนเชคเซ€ เช•เซ‡ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชฆเชฐเซ‡เช• เชซเซ‹เชฒเซเชกเชฐ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชœเช—เซเชฏเชพ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชพเชกเซ‹เชถเซ€เชจเชพ เช˜เชŸเช•เซ‹เชจเซ‡ เชœเซ‹เชคเชพ เชจเชฅเซ€.

เช†เชธเชชเชพเชธ เชœเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡. เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เชเชฎเชพเช‚ เชฒเช–เซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เช†เชตเชพ เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช.

เช†เชฎ, เช† เชฎเซ‡เชถเชฅเซ€ เชถเชฐเซ‚ เชฅเชคเชพ เชฆเชฐเซ‡เช• เช˜เชŸเช• เชธเชฟเชธเซเชŸเชฎเชจเชพ เช…เชจเซเชฏ เชญเชพเช—เซ‹เชฎเชพเช‚ เช˜เชŸเช•เซ‹ เชœเซเช เช›เซ‡.

เช†เช—เชณเชจเซ€ เชธเชฎเชธเซเชฏเชพ เช˜เชฃเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชตเชšเซเชšเซ‡ เชธเซเชŸเซ‡เชœเชฟเช‚เช—เชจเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช›เซ‡.

เช† เชฌเชงเซเช‚ เชธเซเช‚เชฆเชฐ เชฆเซ‡เช–เชพเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจเชจเซ€ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชจเชœเซ€เช• เชนเซ‹เชตเชพเชฅเซ€, เชชเซ‹เชฐเซเชŸ 80 เช…เชฅเชตเชพ 443 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชธเชพเชฐเซเช‚ เช›เซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— WEB เชฎเชพเช‚ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชฅเชพเชฏ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช…เชฎเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซเชฏเซเช‚? เช…เชฎเซ‡ เชคเชฎเชพเชฎ เชฎเซ‹เชŸเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชเช• เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐเชจเซ‡ เชธเซ‹เช‚เชชเซเชฏเซ‹ เช›เซ‡.

เช—เชฟเชŸเชฒเซ‡เชฌ เชคเชฎเชจเซ‡ เช˜เชฃเชพ เชตเชฟเชคเชฐเชฟเชค เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐเซเชธเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡ เช…เชธเซเชคเชตเซเชฏเชธเซเชค เช•เซเชฐเชฎเชฎเชพเช‚ เชเช• เชชเช›เซ€ เชเช• เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชšเชฒเชพเชตเชถเซ‡.

เช˜เชฐเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชœเซ‚เชฅเชจเซ‡ เชเช• เช—เชฟเชŸเชฒเซ‡เชฌ เชฐเชจเชฐ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชฐเชพเช–เซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เช…เชฎเชพเชฐเชพ เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ‡ เช›เซ‡.

เช…เชฎเซ‡ nginx-proxy เชจเซ‡ เชเช• เช…เชฒเช— เชฒเซ‰เชจเซเชš เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เช–เชธเซ‡เชกเซเชฏเซเช‚ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซ€ เช—เซเชฐเซ€เชก เชฒเช–เซ€.

เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชเช• เช—เซเชฐเซ€เชก เช›เซ‡, เช…เชจเซ‡ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐเชฎเชพเช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชจเชพเชฎ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช…เชจเซ‡เช• เช—เซเชฐเซ€เชก เช›เซ‡. เชคเซ‡ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เช†เช—เชณ เชชเซเชฐเซ‹เช•เซเชธเซ€ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช…เชฎเชพเชฐเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเซ‹เชฐเซเชŸ 80 เชชเชฐเชจเชพ เชกเซ‹เชฎเซ‡เชจ เชฆเซเชตเชพเชฐเชพ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เชœเซ‚เชฅเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เช† เชกเซ‹เชฎเซ‡เชจเชจเซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชฌเซ€เชœเซ€ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชนเชคเซ€? เช† เชคเซ‡ เช›เซ‡ เชœเซ‡ เชฌเชงเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชฐเซ‚เชŸ เชคเชฐเซ€เช•เซ‡ เชšเชพเชฒเซ‡ เช›เซ‡. เช† เชธเชฟเชธเซเชŸเชฎเชจเซเช‚ เชฐเซเชŸ เช…เชธเชฎเชพเชจ เชฐเซเชŸ เชนเซ‹เชธเซเชŸ เช›เซ‡.

เชœเซ‹ เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเซ‡ เชฐเซ‚เชŸ เชนเชถเซ‡ เช…เชจเซ‡ เช…เชฎเซ‡ เช† เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชœเซ‡ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เชคเซ‡ เชฐเซ‚เชŸ เช…เชงเชฟเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡.

เชœเซ‹ เช•เซ‹เชˆ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช•เซ‡เชŸเชฒเชพเช• เช†เชฆเซ‡เชถเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชชเช›เซ€ เช•เชจเซเชŸเซ‡เชจเชฐ เช›เซ‹เชกเซ€ เชฆเซ‡ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชคเซ‡เชจเซ€ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพเชฎเชพเช‚ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชเช• เชซเชพเช‡เชฒ เช›เซ‡ เชœเซ‡เชจเซ‹ เชคเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เชจเชฅเซ€.

เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ? เชคเชฎเซ‡ เชเชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชนเชถเซ‡.

เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช‰เชฎเซ‡เชฐเซเชฏเชพ เชคเซเชฏเชพเชฐเซ‡ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เชŠเชญเซ€ เชฅเชˆ?

เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชœเซ‚เชฅ ID (UID) เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ ID (GID) เช˜เชฃเซ€เชตเชพเชฐ เชฎเซ‡เชณ เช–เชพเชคเชพ เชจเชฅเซ€.

เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ ID 1000 เชงเชฐเชพเชตเชคเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช† เช เชนเช•เซ€เช•เชค เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชค เช›เซ‡ เช•เซ‡ เชฒเช—เชญเช— เชคเชฎเชพเชฎ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช‰เชฌเซเชจเซเชŸเซ เช“เชเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช…เชจเซ‡ Ubuntu OS เชฎเชพเช‚ เชชเซเชฐเชฅเชฎ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡ ID 1000 เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชถเซเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฏเซ‹เชœเชจเชพเช“ เช›เซ‡?

เชกเซ‹เช•เชฐ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเซ‹. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเช•เซเชฐเชฟเชฏ เชฐเซ€เชคเซ‡ เชตเชฟเช•เชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡, เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฌเชฆเชฒเชพเชˆ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. เชฌเซ‡-เชคเซเชฐเชฃ เชฎเชนเชฟเชจเชพ เชชเชนเซ‡เชฒเชพ เชฎเซ‡เชณเชตเซ‡เชฒ เชกเซ‡เชŸเชพ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชœเซ‚เชจเซ‹ เชฅเชˆ เชฐเชนเซเชฏเซ‹ เช›เซ‡.

เช•เซ‡เชŸเชฒเซ€เช• เชธเชฎเชธเซเชฏเชพเช“ เช•เซ‡ เชœเซ‡ เช…เชฎเซ‡ เช‰เช•เซ‡เชฒเซ€ เช›เซ‡ เชคเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฎเชพเชงเซเชฏเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเชฒ เชฅเชˆ เช—เชˆ เชนเชถเซ‡.

เชนเซเช‚ เช–เชฐเซ‡เช–เชฐ เช†เช—เชณ เชตเชงเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช…เชจเซ‡ เชธเซ€เชงเชพ เช“เชฐเซเช•เซ‡เชธเซเชŸเซเชฐเซ‡เชถเชจเชฎเชพเช‚ เชœเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚.

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

เชธเซเชชเชพเชตเชฟเช‚เช— เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เช— เชธเชพเชฅเซ‡ เช•เชพเชฎ เช…เชธเซเชตเชฟเชงเชพเชœเชจเช• เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชนเชตเซ‡ เชฒเซ‹เช— เช…เชฒเช— เช›เซ‡. เชคเซ‡เช“ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชตเซ‡เชฐเชตเชฟเช–เซ‡เชฐ เช›เซ‡. เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชฆเซเชตเชพเชฐเชพ เชฒเซ‹เช—เชจเซ€ เชธเซเชตเชฟเชงเชพเชœเชจเช• เชเช•เซเชธเซ‡เชธ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชเช• เช•เชพเชฐเซเชฏ เช›เซ‡.

เชกเซ‹เช•เชฐ เช…เชจเซ‡ เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เชธเชพเชฅเซ‡ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

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