DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚

"เชนเซเช‚ เชœเชพเชฃเซเช‚ เช›เซเช‚ เช•เซ‡ เชนเซเช‚ เช•เชถเซเช‚ เชœเชพเชฃเชคเซ‹ เชจเชฅเซ€." เชธเซ‹เช•เซเชฐเซ‡เชŸเซ€เชธ

เชœเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡: IT เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡เช“ เชฌเชงเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ€ เช•เชพเชณเชœเซ€ เชฒเซ‡เชคเชพ เชจเชฅเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชฐเชฎเชคเซ‹ เชฐเชฎเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡!

เชถเซ‡เชจเชพ เชตเชฟเชทเซ‡: C/C++ เชฎเชพเช‚ เชฐเชฎเชคเซ‹ เชฒเช–เชตเชพเชจเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡, เชœเซ‹ เชคเชฎเชจเซ‡ เช…เชšเชพเชจเช• เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‹!

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

เชจเชฎเชธเซเช•เชพเชฐ, เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เช›เซ‡ เช†เชจเซเชฆเซเชฐเซ‡ เช—เซเชฐเซ‡เชจเซเช•เซ€เชจ, เชนเซเช‚ Luxoft เช–เชพเชคเซ‡ DevOps เช›เซเช‚. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชฎเชพเชฐเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชฆเชฐ เช…เช เชตเชพเชกเชฟเชฏเซ‡ เช•เซ‹เชก เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเช‚ เช›เซเช‚. เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชจเซ‡ เชฐเชฎเชคเซ‹ เช—เชฎเซ‡ เช›เซ‡!

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

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

... เชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชฆเซเชจเชฟเชฏเชพ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชธเชฎเชฏ เช†เชตเซ€ เช—เชฏเซ‹ เช›เซ‡, เชซเช•เซเชค เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชทเชฏ. เชตเชฟเชถเซเชตเซ‹ เชœเซเชฏเชพเช‚ เชนเซเช‚ เชชเชฟเชคเชพ, เชชเซเชคเซเชฐ เช…เชจเซ‡ เชชเชตเชฟเชคเซเชฐ เช†เชคเซเชฎเชพ เช›เซเช‚!

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

เช† เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชคเซเชจ เช•เชฐเซ€เชถ เช•เซ‡ เชฎเซ‡เช‚ C/C++ เชฎเชพเช‚ เชจเชพเชจเซ€ เชฐเชฎเชคเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เซ‡เชตเซ€ เช›เซ‡ เช…เชจเซ‡ เชตเซเชฏเชธเซเชค เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชฎเชจเซ‡ เชถเซ‹เช– เชฎเชพเชŸเซ‡ เช•เซเชฏเชพเช‚ เชธเชฎเชฏ เชฎเชณเซ‡ เช›เซ‡. เชคเซ‡ เชตเซเชฏเช•เซเชคเชฟเชฒเช•เซเชทเซ€ เช›เซ‡ เช…เชจเซ‡ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชถเชฐเซ‚เช†เชคเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชœเซเชžเชพเชจ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชพเชธ เชตเชฟเชถเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€, เช† เช•เซเชทเชฃเซ‡ เชตเชฟเชถเซเชตเชจเชพ เชฎเชพเชฐเชพ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชšเชฟเชคเซเชฐ เชตเชฟเชถเซ‡. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, "เชตเชนเซ€เชตเชŸ เชคเชฎเชพเชฐเชพ เช…เช‚เช—เชค เชฎเช—เชœ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เชจเชฅเซ€!"

เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ

"เช…เชญเซเชฏเชพเชธ เชตเชฟเชจเชพเชจเซเช‚ เชœเซเชžเชพเชจ เชจเช•เชพเชฎเซเช‚ เช›เซ‡, เชœเซเชžเชพเชจ เชตเชฟเชจเชพ เช…เชญเซเชฏเชพเชธ เชœเซ‹เช–เชฎเซ€ เช›เซ‡." เช•เชจเซเชซเซเชฏเซเชถเชฟเชฏเชธ

เชฎเชพเชฐเซ€ เชจเซ‹เชŸเชฌเซเช• เช เชฎเชพเชฐเซเช‚ เชœเซ€เชตเชจ เช›เซ‡!


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

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฎเชพเชฐเซ€ (เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชญเชฐเซ‡เชฒเซ€) เชจเซ‹เชŸเชฌเซเช•. เช† เชคเซ‡ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เชคเซ‡เชฎเชพเช‚ เชฐเซ‹เชœเชฟเช‚เชฆเชพ เช•เชพเชฐเซเชฏเซ‹, เชตเชฟเชšเชพเชฐเซ‹, เชฐเซ‡เช–เชพเช‚เช•เชจเซ‹, เช†เช•เซƒเชคเชฟเช“, เช‰เช•เซ‡เชฒเซ‹, เชฌเซเชฒเซ‡เช• เชฌเซเช•เช•เซ€เชชเชฟเช‚เช—, เช•เซ‹เชก เชตเช—เซ‡เชฐเซ‡เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

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

  • เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ 0: เช† เชฏเซเชจเชฟเชŸเซ€ เช—เซ‡เชฎ เชเชจเซเชœเชฟเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ C# เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ 3D เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ เชกเซ‡เชฎเซ‹ เชฆเซเชฐเชถเซเชฏ เช›เซ‡. macOS เช…เชจเซ‡ Windows เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡.
  • เชฐเชฎเชค 1: Windows เชฎเชพเชŸเซ‡ เช•เชจเซเชธเซ‹เชฒ เช—เซ‡เชฎ เชธเชฟเชฎเซเชชเชฒ เชธเซเชจเซ‡เช• (เชฆเชฐเซ‡เช•เชจเซ‡ "เชธเชพเชช" เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชฏ เช›เซ‡). เชธเซ€ เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ.
  • เชฐเชฎเชค 2: เช•เชจเซเชธเซ‹เชฒ เช—เซ‡เชฎ Crazy Tanks (เชฆเชฐเซ‡เช•เชจเซ‡ โ€œTanksโ€ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชฏ เช›เซ‡), C++ (เชตเชฐเซเช—เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡) เช…เชจเซ‡ Windows เชฎเชพเชŸเซ‡ เชชเชฃ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ 0. เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ เชกเซ‡เชฎเซ‹

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
3D เชธเซ€เชจ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ เชกเซ‡เชฎเซ‹

เชชเซเชฐเชฅเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ C/C++ เชฎเชพเช‚ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฏเซเชจเชฟเชŸเซ€ เช—เซ‡เชฎ เชเชจเซเชœเชฟเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ C# เชฎเชพเช‚ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช† เชเชจเซเชœเชฟเชจ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเชฐ เชเชŸเชฒเซเช‚ เชกเชฟเชฎเชพเชจเซเชกเชฟเช‚เช— เชจเชนเซ‹เชคเซเช‚ เช…เชตเชพเชธเซเชคเชตเชฟเช• เชเชจเซเชœเชฟเชจ, เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชธเชฐเชณ เชชเชฃ เชฒเชพเช—เชคเซเช‚ เชนเชคเซเช‚. เชฎเซ‡เช‚ เช…เชจเซเชฏ เชเชจเซเชœเชฟเชจเซ‹เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชจเชฅเซ€.

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

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

เชเชจเชฟเชฎเซ‡เชถเชจ เช•เซเชฆเชฐเชคเซ€ เชฆเซ‡เช–เชพเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชฒเชฐเชฌเซ‹เชจเซเชธ เช…เชจเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชฒเซ€เชตเชฐ เชนเชพเชกเช•เชพเช‚เชจเซเช‚ เชฎเซ‹เชกเซ‡เชฒ เชฌเชจเชพเชตเซ‹. เช†เชตเชพ เชชเชพเช  เชชเช›เซ€, เชคเชฎเชจเซ‡ เช–เซเชฏเชพเชฒ เช†เชตเซ‡ เช›เซ‡ เช•เซ‡ เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชซเชฟเชฒเซเชฎเซ‹เชจเชพ เชธเชฐเซเชœเช•เซ‹ เชฎเชพเชคเซเชฐ 30 เชธเซ‡เช•เชจเซเชกเชจเซ‹ เชตเชฟเชกเชฟเชฏเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ 3D เชซเชฟเชฒเซเชฎเซ‹ เช•เชฒเชพเช•เซ‹ เชธเซเชงเซ€ เชšเชพเชฒเซ‡ เช›เซ‡! เช…เชจเซ‡ เชชเช›เซ€ เช…เชฎเซ‡ เชธเชฟเชจเซ‡เชฎเชพเช˜เชฐเซ‹ เช›เซ‹เชกเซ€เชจเซ‡ เช•เช‚เชˆเช• เชเชตเซเช‚ เช•เชนเซ€เช เช›เซ€เช: โ€œเชคเซ‡ เชตเชพเชนเชฟเชฏเชพเชค เช•เชพเชฐเซเชŸเซ‚เชจ/เชฎเซ‚เชตเซ€ เช›เซ‡! เชคเซ‡เช“ เชตเชงเซ เชธเชพเชฐเซเช‚ เช•เชฐเซ€ เชถเช•เซเชฏเชพ เชนเซ‹เชค..." เชฎเซ‚เชฐเซเช–!

เช…เชจเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชธเช‚เชฌเช‚เชงเชฟเชค เชเช• เชตเชงเซ เชตเชธเซเชคเซ. เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เชคเซ‡เชฎ, เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชฐเชธเชชเซเชฐเชฆ เชญเชพเช— เช—เชฃเชฟเชคเชจเซ‹ เชนเชคเซ‹. เชœเซ‹ เชคเชฎเซ‡ เชฆเซเชฐเชถเซเชฏ เชšเชฒเชพเชตเซ‹ เช›เซ‹ (เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเชฐเซเชฃเชจเชฎเชพเช‚ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซ€ เชฒเชฟเช‚เช•), เชคเซ‹ เชคเชฎเซ‡ เชœเซ‹เชถเซ‹ เช•เซ‡ เช•เซ…เชฎเซ‡เชฐเซ‹ เชเช• เช—เซ‹เชณเชพเชฎเชพเช‚ เช›เซ‹เช•เชฐเซ€เชจเชพ เชชเชพเชคเซเชฐเชจเซ€ เช†เชธเชชเชพเชธ เชซเชฐเซ‡ เช›เซ‡. เช•เซ…เชฎเซ‡เชฐเชพเชจเชพ เช†เชตเชพ เชชเชฐเชฟเชญเซเชฐเชฎเชฃเชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเชพเชฐเซ‡ เชชเชนเซ‡เชฒเชพ เชตเชฐเซเชคเซเชณ (2D) เชชเชฐ เชธเซเชฅเชฟเชค เชฌเชฟเช‚เชฆเซเชจเชพ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ เชชเชกเซ€ เชนเชคเซ€, เช…เชจเซ‡ เชชเช›เซ€ เช—เซ‹เชณเชพ (3D) เชชเชฐ. เชฎเชœเชพเชจเซ€ เชตเชพเชค เช เช›เซ‡ เช•เซ‡ เชนเซเช‚ เชถเชพเชณเชพเชฎเชพเช‚ เช—เชฃเชฟเชคเชจเซ‡ เชจเชซเชฐเชค เช•เชฐเชคเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชธเซ€-เชฎเชพเชˆเชจเชธเชฅเซ€ เชœเชพเชฃเชคเซ‹ เชนเชคเซ‹. เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡, เช•เชฆเชพเชš, เช•เชพเชฐเชฃ เช•เซ‡ เชถเชพเชณเชพเชฎเชพเช‚ เชคเซ‡เช“ เชคเชฎเชจเซ‡ เชธเชฎเชœเชพเชตเชคเชพ เชจเชฅเซ€ เช•เซ‡ เช† เช—เชฃเชฟเชค เชœเซ€เชตเชจเชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชงเซเชฏเซ‡เชฏ เชธเชพเชฅเซ‡ เชญเซเชฐเชฎเชฟเชค เชฅเชพเช“ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซเช‚ เชธเซเชตเชชเซเชจ, เชคเชฎเชพเชฐเซเช‚ เชฎเชจ เชธเชพเชซ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช–เซเชฒเซ‡ เช›เซ‡! เช…เชจเซ‡ เชคเชฎเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชเช• เช†เช•เชฐเซเชทเช• เชธเชพเชนเชธ เชคเชฐเซ€เช•เซ‡ เชธเชฎเชœเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹ เช›เซ‹. เช…เชจเซ‡ เชชเช›เซ€ เชคเชฎเซ‡ เชตเชฟเชšเชพเชฐเซ‹: "เชธเชพเชฐเซเช‚, เชถเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเชพ *เชฎเชจเชชเชธเช‚เชฆ* เช—เชฃเชฟเชคเชถเชพเชธเซเชคเซเชฐเซ€ เชคเชฎเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช•เชนเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เช•เซ‡ เช† เชธเซ‚เชคเซเชฐเซ‹ เช•เซเชฏเชพเช‚ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡?"

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชตเชฐเซเชคเซเชณ เช…เชจเซ‡ เช—เซ‹เชณเชพ เชชเชฐเชจเชพ เชฌเชฟเช‚เชฆเซเชจเชพ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเซ‚เชคเซเชฐเซ‹เชจเซ€ เช—เชฃเชคเชฐเซ€ (เชฎเชพเชฐเซ€ เชจเซ‹เชŸเชฌเซเช•เชฎเชพเช‚เชฅเซ€)

เชฐเชฎเชค 1. เชธเชฐเชณ เชธเชพเชช

  • เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ: เชตเชฟเชจเซเชกเซ‹เช (เชตเชฟเชจเซเชกเซ‹เช 7, 10 เชชเชฐ เชšเช•เชพเชธเชพเชฏเซ‡เชฒ)
  • เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€: เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชถเซเชฆเซเชง C เชฎเชพเช‚ เชฒเช–เซเชฏเซเช‚ เช›เซ‡
  • เชฐเชฎเชค เชเชจเซเชœเชฟเชจ: เชตเชฟเชจเซเชกเซ‹เช เช•เชจเซเชธเซ‹เชฒ
  • เชชเซเชฐเซ‡เชฐเชฃเชพ: javidx9
  • เชญเช‚เชกเชพเชฐ: GitHub

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชธเชพเชชเชจเซ€ เชธเชพเชฆเซ€ เชฐเชฎเชค

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

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

เช—เซ‡เชฎ เชฒเซ‚เชช เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชˆ เชถเช•เซ‡ เช›เซ‡:

int main()
   {
      Setup();
      // a game loop
      while (!quit)
      {
          Input();
          Logic();
          Draw();
          Sleep(gameSpeed);  // game timing
      }
      return 0;
   }

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

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฐเชฎเชค เชšเช•เซเชฐ. เชจเซ‹เชŸเชชเซ‡เชกเชฎเชพเช‚ "เชธเชพเชช" เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช—

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

เชธเซเช•เซเชฐเซ€เชจ เชฌเชซเชฐ เชฎเซ‡เชณเชตเชตเซเช‚ (เชคเซ‡เชฅเซ€ เชฌเซ‹เชฒเชตเซเช‚):

// create screen buffer for drawings
   HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0,
 							   NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
   DWORD dwBytesWritten = 0;
   SetConsoleActiveScreenBuffer(hConsole);

เชšเซ‹เช•เซเช•เชธ เชธเซเชŸเซเชฐเชฟเช‚เช— เชธเซเช•เซ‹เชฐเชฒเชพเชˆเชจเชจเซเช‚ เชธเซ€เชงเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ (เชธเซเช•เซ‹เชฐ เชกเชฟเชธเซเชชเซเชฒเซ‡ เชฒเชพเชˆเชจ):

// draw the score
   WriteConsoleOutputCharacter(hConsole, scoreLine, GAME_WIDTH, {2,3}, &dwBytesWritten);

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

เชฐเชฎเชค 2. เช•เซเชฐเซ‡เชเซ€ เชŸเชพเช‚เช•เซ€เช“

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฐเชฎเชค เช•เซเชฐเซ‡เชเซ€ เชŸเชพเช‚เช•เซ€เช“

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

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

เชคเซ‡เชฅเซ€, เชคเชฎเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชœเซ‡ เชœเซเช“ เช›เซ‹ เชคเซ‡ เชฎเชพเชคเซเชฐ เชซเชฐเชคเชพ เชฌเชนเซ เชฐเช‚เช—เซ€เชจ เชฒเช‚เชฌเชšเซ‹เชฐเชธเชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡.

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฒเช‚เชฌเชšเซ‹เชฐเชธเชจเซ‹ เชธเชฎเซ‚เชน

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

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เช—เซ‡เชฎ เชŸเชพเช‚เช•เซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชเช•-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เชเชฐเซ‡ เชคเชฐเซ€เช•เซ‡ เชฐเชฎเชค เชŸเชพเช‚เช•เซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ เชเช•-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เช…เชฐเซ‡ เชคเชฐเซ€เช•เซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชจเซเช‚ เชตเชงเซ เชฆเซเชฐเชถเซเชฏ เช‰เชฆเชพเชนเชฐเชฃ

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

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชกเชฌเชฒ เชฒเซ‚เชชเชฎเชพเช‚ เชเช•-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เชเชฐเซ‡เชจเซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเซเช‚. Y - เชชเช‚เช•เซเชคเชฟ เช“เชณเช–เช•เชฐเซเชคเชพ, X - เช•เซ‰เชฒเชฎ เช“เชณเช–เช•เชฐเซเชคเชพ

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹: เชธเชพเชฎเชพเชจเซเชฏ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช“เชณเช–เช•เชฐเซเชคเชพ i, j เชจเซ‡ เชฌเชฆเชฒเซ‡, เชนเซเช‚ x เช…เชจเซ‡ y เช“เชณเช–เช•เชฐเซเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚. เช† เชฐเซ€เชคเซ‡, เชคเซ‡ เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡, เชคเซ‡ เช†เช‚เช–เชจเซ‡ เชตเชงเซ เช†เชจเช‚เชฆเชฆเชพเชฏเช• เช…เชจเซ‡ เชฎเช—เชœ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เช†เชตเชพ เชธเช‚เช•เซ‡เชค เชฆเซเชตเชฟ-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เช›เชฌเซ€เชจเชพ เชธเช‚เช•เชฒเชจ เช…เช•เซเชทเซ‹ เชชเชฐ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชฎเซ‡เชŸเซเชฐเชฟเชธเชฟเชธเชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชฐเซ€เชคเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชนเชตเซ‡ เชชเชฟเช•เซเชธเซ‡เชฒเซเชธ, เชฐเช‚เช— เช…เชจเซ‡ เชธเซเช•เซเชฐเซ€เชจ เช†เช‰เชŸเชชเซเชŸ เชตเชฟเชถเซ‡. StretchDIBits เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช†เช‰เชŸเชชเซเชŸ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ (เชนเซ‡เชกเชฐ: windows.h; เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€: gdi32.lib). เช† เชซเช‚เช•เซเชถเชจ, เช…เชจเซเชฏ เชตเชธเซเชคเซเช“เชจเซ€ เชธเชพเชฅเซ‡, เชจเซ€เชšเซ‡ เช†เชชเซ‡เชฒ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡: เช‰เชชเช•เชฐเชฃ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เช›เชฌเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡ (เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡ เชตเชฟเชจเซเชกเซ‹เช เช•เชจเซเชธเซ‹เชฒ เช›เซ‡), เช‡เชฎเซ‡เชœ เชกเชฟเชธเซเชชเซเชฒเซ‡เชจเชพ เชชเซเชฐเชพเชฐเช‚เชญ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ, เชคเซ‡เชจเซ€ เชชเชนเซ‹เชณเชพเชˆ/เชŠเช‚เชšเชพเชˆ เช…เชจเซ‡ เช›เชฌเซ€ เชชเซ‹เชคเซ‡ เชฌเซ€เชŸเชฎเซ‡เชชเชจเซเช‚ เชธเซเชตเชฐเซ‚เชช, เชฌเชพเช‡เชŸเซเชธเชจเซ€ เชเชฐเซ‡ เชฆเซเชตเชพเชฐเชพ เชฐเชœเซ‚ เชฅเชพเชฏ เช›เซ‡. เชฌเชพเชˆเชŸ เชเชฐเซ‡ เชคเชฐเซ€เช•เซ‡ เชฌเซ€เชŸเชฎเซ‡เชช!

StretchDIBits() เช•เชพเชฐเซเชฏเชฎเชพเช‚ เช•เชพเชฐเซเชฏ:

// screen output for game field
   StretchDIBits(
               deviceContext,
               OFFSET_LEFT, OFFSET_TOP,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               0, 0,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               m_p_bitmapMemory, &bitmapInfo,
               DIB_RGB_COLORS,
               SRCCOPY
               );

VirtualAlloc() เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชฌเซ€เชŸเชฎเซ‡เชช เชฎเชพเชŸเซ‡ เชฎเซ‡เชฎเชฐเซ€ เช…เช—เชพเช‰เชฅเซ€ เชซเชพเชณเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เชคเชฎเชพเชฎ เชชเชฟเช•เซเชธเซ‡เชฒเซเชธ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชฌเชพเช‡เชŸเซเชธ เช†เชฐเช•เซเชทเชฟเชค เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ‡.

m_p_bitmapเชฎเซ‡เชฎเชฐเซ€ เชฌเซ€เชŸเชฎเซ‡เชช เชฌเชจเชพเชตเชตเซเช‚:

// create bitmap
   int bitmapMemorySize = (PMATRIX_WIDTH * PMATRIX_HEIGHT) * BYTES_PER_PIXEL;
   void* m_p_bitmapMemory = VirtualAlloc(0, bitmapMemorySize, MEM_COMMIT, PAGE_READWRITE);

เช†เชถเชฐเซ‡ เช•เชนเซ€เช เชคเซ‹, เชฌเซ€เชŸเชฎเซ‡เชชเชฎเชพเช‚ เชชเชฟเช•เซเชธเซ‡เชฒเชจเซ‹ เชธเชฎเซ‚เชน เชนเซ‹เชฏ เช›เซ‡. เชเชฐเซ‡เชฎเชพเช‚ เชฆเชฐเซ‡เช• เชšเชพเชฐ เชฌเชพเช‡เชŸเซเชธ เชเช• RGB เชชเชฟเช•เซเชธเซ‡เชฒ เช›เซ‡. เชฒเชพเชฒ เชฐเช‚เช— เชฎเซ‚เชฒเซเชฏ เชฆเซ€เช  เชเช• เชฌเชพเช‡เชŸ, เชฒเซ€เชฒเชพ เชฐเช‚เช— เชฎเซ‚เชฒเซเชฏ (G) เชฆเซ€เช  เชเช• เชฌเชพเช‡เชŸ เช…เชจเซ‡ เชตเชพเชฆเชณเซ€ เชฐเช‚เช— เชฎเซ‚เชฒเซเชฏ (B) เชฆเซ€เช  เชเช• เชฌเชพเช‡เชŸ. เช‰เชชเชฐเชพเช‚เชค เช‡เชจเซเชกเซ‡เชจเซเชŸเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชเช• เชฌเชพเช‡เชŸ เชฌเชพเช•เซ€ เช›เซ‡. เช† เชคเซเชฐเชฃ เชฐเช‚เช—เซ‹ - เชฒเชพเชฒ/เชฒเซ€เชฒเซ‹/เชตเชพเชฆเชณเซ€ (RGB) - เชชเชฐเชฟเชฃเชพเชฎเซ€ เชชเชฟเช•เซเชธเซ‡เชฒ เชฐเช‚เช— เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชฎเชฟเชถเซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

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

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

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฐเชฎเชคเชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชจเชพ เชกเชฟเชœเชฟเชŸเชฒ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชฌเซ€เชŸเชฎเซ‡เชช (เชชเชฟเช•เซเชธเซ‡เชฒ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ) เชญเชฐเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ (เชฐเช‚เช— เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เชฐเชฎเชคเชจเชพ เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชคเชพ เชจเชฅเซ€)

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

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

เชฐเชฎเชคเชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชจเชพ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชฌเซ€เชŸเชฎเซ‡เชช เชญเชฐเชตเชพ:

// set pixel map variables
   int colorIndex;
   COLORREF color;
   int pitch;
   uint8_t* p_row;
 
   // arrange pixels for game field
   pitch = PMATRIX_WIDTH * BYTES_PER_PIXEL;     // row size in bytes
   p_row = (uint8_t*)m_p_bitmapMemory;       //cast to uint8 for valid pointer arithmetic
   							(to add by 1 byte (8 bits) at a time)   
   for (int y = 0; y < PMATRIX_HEIGHT; ++y)
   {
       uint32_t* p_pixel = (uint32_t*)p_row;
       for (int x = 0; x < PMATRIX_WIDTH; ++x)
       {
           colorIndex = mainDigitalMatrix[y * PMATRIX_WIDTH + x];
           color = Utils::GetColor(colorIndex);
           uint8_t blue = GetBValue(color);
           uint8_t green = GetGValue(color);
           uint8_t red = GetRValue(color);
           uint8_t pixelPadding = 0;
 
           *p_pixel = ((pixelPadding << 24) | (red << 16) | (green << 8) | blue);
           ++p_pixel;
       }
       p_row += pitch;
   }

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

เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡ (เชœเซ‹ เชนเซเช‚ เช•เช‚เชˆเชชเชฃ เชญเซ‚เชฒเซ€ เชจ เช—เชฏเซ‹ เชนเซ‹เช‰เช‚), เชชเซเชฐเชฅเชฎ เชฐเชฎเชค (โ€œเชธเชพเชชโ€) เชจเชพ เช—เซ‡เชฎ เชฒเซ‚เชชเชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชฌเซ€เชœเซ€ เชฐเชฎเชค (โ€œเชŸเซ‡เชจเซเช•เซเชธโ€) เชฎเชพเช‚เชฅเซ€ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชชเชฟเช•เซเชธเซ‡เชฒเซเชธ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เช•เช‚เชˆเชชเชฃ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. Windows เชนเซ‡เช เชณ เชคเชฎเชพเชฐเซ€ 2D เชฐเชฎเชคเซ‹เชฎเชพเช‚เชฅเซ€. เช…เชตเชพเชœเชนเซ€เชจ! ๐Ÿ˜‰ เชฌเชพเช•เซ€เชจเชพ เชญเชพเช—เซ‹ เชฎเชพเชคเซเชฐ เชซเซ‡เชจเซเชธเซ€เชจเซ€ เชซเซเชฒเชพเช‡เชŸ เช›เซ‡.

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

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

เชตเซเชฏเชตเชนเชพเชฐเซ เชญเชพเช— เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชฎเชพเชฐเซ€ เชจเซ‹เชŸเชฌเซเช•เชจเชพ เชฅเซ‹เชกเชพ เชธเซเช•เซ‡เชจ เชฒเชˆเชถ. เชฎเซ‡เช‚ เชฌเชฐเชพเชฌเชฐ เชถเซเช‚ เชฒเช–เซเชฏเซเช‚, เชฆเซ‹เชฐเซเชฏเซเช‚, เช—เชฃเซเชฏเซเช‚, เชกเชฟเชเชพเช‡เชจ เช•เชฐเซเชฏเซเช‚ เชคเซ‡ เชฌเชคเชพเชตเชตเชพ เชฎเชพเชŸเซ‡...

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชŸเชพเช‚เช•เซ€เช“เชจเซ€ เช›เชฌเซ€เช“ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเซ€. เช…เชจเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชฆเชฐเซ‡เช• เชŸเชพเช‚เช•เซ€เช เช•เซ‡เชŸเชฒเชพ เชชเชฟเช•เซเชธเซ‡เชฒเซเชธ เช•เชฌเชœเซ‡ เช•เชฐเชตเชพ เชœเซ‹เชˆเช เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชคเซ‡เชจเซ€ เชงเชฐเซ€เชจเซ€ เช†เชธเชชเชพเชธ เชŸเชพเช‚เช•เซ€เชจเชพ เชชเชฐเชฟเชญเซเชฐเชฎเชฃ เชฎเชพเชŸเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช…เชจเซ‡ เชธเซ‚เชคเซเชฐเซ‹เชจเซ€ เช—เชฃเชคเชฐเซ€

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เชฎเชพเชฐเชพ เชธเช‚เช—เซเชฐเชนเชจเซ€ เชฏเซ‹เชœเชจเชพ (เชœเซ‡เชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช›เซ‡, เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡). เช•เชฒเซ‡เช•เซเชถเชจ เชฒเชฟเช‚เช•เซเชก เชฒเชฟเชธเซเชŸเชจเชพ เชชเซเชฐเช•เชพเชฐ เช…เชจเซเชธเชพเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡

DevOps C++ เช…เชจเซ‡ "เช•เชฟเชšเชจ เชตเซ‹เชฐเซเชธ", เช…เชฅเชตเชพ เชœเชฎเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‡เชฎ เชฒเช–เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚
เช…เชจเซ‡ เช† เชฐเชฎเชค เชธเชพเชฅเซ‡ เช•เซƒเชคเซเชฐเชฟเชฎ เชฌเซเชฆเซเชงเชฟเชฎเชคเซเชคเชพเชจเซ‡ เชœเซ‹เชกเชตเชพเชจเชพ เชจเชฟเชฐเชฐเซเชฅเช• เชชเซเชฐเชฏเชพเชธเซ‹ เช›เซ‡

เชฅเชฟเชฏเชฐเซ€

"เชนเชœเชพเชฐ เชฎเชพเช‡เชฒเชจเซ€ เชฎเซเชธเชพเชซเชฐเซ€ เชชเชฃ เชชเซเชฐเชฅเชฎ เชชเช—เชฒเชพเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡" (เชชเซเชฐเชพเชšเซ€เชจ เชšเชพเช‡เชจเซ€เช เชถเชพเชฃเชชเชฃ)

เชšเชพเชฒเซ‹ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธเชฎเชพเช‚เชฅเซ€ เชธเชฟเชฆเซเชงเชพเช‚เชค เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช! เชคเชฎเชพเชฐเชพ เชถเซ‹เช– เชฎเชพเชŸเซ‡ เชธเชฎเชฏ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเซ‹เชงเชตเซ‹?

  1. เชคเชฎเซ‡ เช–เชฐเซ‡เช–เชฐ เชถเซเช‚ เช‡เชšเซเช›เซ‹ เช›เซ‹ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซ‹ (เช…เชฐเซ‡, เช† เชธเซŒเชฅเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชญเชพเช— เช›เซ‡).
  2. เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพเช“ เชธเซ‡เชŸ เช•เชฐเซ‹.
  3. เช‰เชšเซเชš เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพเช“ เชฎเชพเชŸเซ‡ "เช…เชคเชฟเชฐเชฟเช•เซเชค" เชฌเชงเซเช‚ เชฌเชฒเชฟเชฆเชพเชจ เช†เชชเซ‹.
  4. เชฆเชฐเชฐเซ‹เชœ เชฒเช•เซเชทเซเชฏ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ‹.
  5. เช•เซ‹เชˆ เชถเซ‹เช– เชฎเชพเชŸเซ‡ เชฌเซ‡ เช•เซ‡ เชคเซเชฐเชฃ เช•เชฒเชพเช•เชจเซ‹ เชฎเชซเชค เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เชถเซ‹ เชจเชนเซ€เช‚.

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

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

เช…เชจเซ‡ เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เช…เช—เชคเซเชฏเชจเซเช‚ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ 5, 10, 15 เชฎเชฟเชจเชฟเชŸเชจเชพ เชธเชฎเชฏเชจเชพ เชฎเชซเชค "เชฒเชพเช—เชกเชพเช‚เชชเชฃ" เชจเซ‡ เช“เช›เซ‹ เช…เช‚เชฆเชพเชœ เช…เชจเซ‡ เช…เชตเช—เชฃเชตเซ‹ เชœเซ‹เชˆเช เชจเชนเซ€เช‚, เชเช• เช•เซ‡ เชฌเซ‡ เช•เชฒเชพเช• เชธเซเชงเซ€ เชšเชพเชฒเชคเชพ เช•เซ‡เชŸเชฒเชพเช• เชฎเซ‹เชŸเชพ "เชฒเซ‹เช—" เชฎเชพเชŸเซ‡ เชฐเชพเชน เชœเซเช“. เชถเซเช‚ เชคเชฎเซ‡ เชฒเชพเชˆเชจเชฎเชพเช‚ เช‰เชญเชพ เช›เซ‹? เชคเชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เช•เช‚เชˆเช• เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ‹. เชเชธเซเช•เซ‡เชฒเซ‡เชŸเชฐ เชฒเชˆ เชฐเชนเซเชฏเชพ เช›เซ‹? เชจเซ‹เชŸเชชเซ‡เชกเชฎเชพเช‚ เช•เช‚เชˆเช• เชฒเช–เซ‹. เชถเซเช‚ เชคเชฎเซ‡ เชฌเชธเชฎเชพเช‚ เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเซ‹ เช›เซ‹? เชธเชฐเชธ, เชฅเซ‹เชกเซ‹ เชฒเซ‡เช– เชตเชพเช‚เชšเซ‹. เชฆเชฐเซ‡เช• เชคเช•เชจเซ‹ เชฒเชพเชญ เชฒเซ‹. YouTube เชชเชฐ เชฌเชฟเชฒเชพเชกเซ€ เช…เชจเซ‡ เช•เซ‚เชคเชฐเชพ เชœเซ‹เชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเซ‹! เชคเชฎเชพเชฐเชพ เชฎเช—เชœเชจเซ‡ เชชเซเชฐเชฆเซ‚เชทเชฟเชค เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚!

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

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

เชคเชฎเชพเชฐเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒเชพ เชชเชพเชฅ เชชเชฐ เชธเชพเชฐเชพ เชจเชธเซ€เชฌ! เช…เชจเซ‡ เชšเชพเชฒเซ‹ เชตเชฟเชถเซเชตเชจเซ‡ เชตเชงเซ เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เชฌเชจเชพเชตเซ€เช.

เชฒเซ‡เช–เช•: เช—เซเชฐเชพเชจเซเช•เชฟเชจ เชเชจเซเชกเซเชฐเซ€, DevOps



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