เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดฐเดเดฏเดฟเดคเดพเดตเต, เดเดเตเดเตพ เดเดจเตเดจเต เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเตเดจเตเดจ เดตเดฟเดตเตผเดคเตเดคเดจเด, เดเดคเต เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดชเด เดฟเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเดพเดฏเดฟ เดเดฆเตเดฆเตเดถเดฟเดเตเดเตเดณเตเดณเดคเดพเดฃเตเดจเตเดจเตเด เดกเตเดเตเดเตผ เดเดชเดฏเตเดเดฟเดเตเดเต เด
เดตเดฐเตเดเต เดเดฆเตเดฏเดคเตเดคเต เดเตเดฒเดฏเดจเตเดฑเต-เดธเตเตผเดตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเตเดเต เดจเตเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเตเด เดชเดฑเดฏเตเดจเตเดจเต. เด เดฎเตเดฑเตเดฑเตเดฐเดฟเดฏเดฒเดฟเดจเตเดฑเต เดตเดพเดฏเดจเดเตเดเดพเดฐเดจเต เดกเตเดเตเดเดฑเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจเดเดพเดฐเตเดฏเดเตเดเตพ เดชเดฐเดฟเดเดฟเดคเดฎเดพเดฃเตเดจเตเดจเต เด
เดจเตเดฎเดพเดจเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. เดเดคเต เด
เดเตเดเดจเตเดฏเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดจเตเดเตเดเดพเด
เดเดจเตเดคเดพเดฃเต เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต?
เดกเตเดเตเดเดฑเดฟเดจเตเดชเตเดชเด เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเตเดณเดพเดฃเต เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต. เดชเดฆเตเดงเดคเดฟ เดตเดฟเดจเตเดฏเดพเดธเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดเดคเต เดฐเตเดชเดเตฝเดชเตเดชเดจ เดเตเดฏเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต.
เดกเตเดเตเดเดฑเดฟเดจเตเดฑเต เด เดเดฟเดธเตเดฅเดพเดจเดเดพเดฐเตเดฏเดเตเดเตพ เดชเด เดฟเดเตเดเตเดฎเตเดชเตเตพ, เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดฟเดเตเดเตพ เด เดญเดฟเดฎเตเดเตเดเดฐเดฟเดเตเดเตเดเตเดเดพเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฌเดพเดนเตเดฏ เดกเดพเดฑเตเดฑ เดเดฑเดตเดฟเดเดเตเดเดณเตเดฏเต เดเดฟเดฒ เดธเตเดตเดจเดเตเดเดณเตเดฏเต เดเดถเตเดฐเดฏเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดชเตเดฐเดพเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ, เด เดคเตเดคเดฐเด เดชเตเดฐเดฏเตเดเดเตเดเตพ เดตเดฟเดฐเดณเดฎเดพเดฃเต. เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเตเดเดเตเดเตเดเดณเดฟเตฝ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดฐเตเดฎเดฟเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเตเดเตเดเด เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเตพเดชเตเดชเตเดเตเดจเตเดจเต.
เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฎเตเดชเตเตพ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต เดเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดเตเดเดจเต เด เดฑเดฟเดฏเดพเด? เดเดคเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต. เด เดชเตเดฐเตเดเดเตโเดฑเตเดฑเต เดตเตผเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดธเตเดตเดจเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏเตเดเตเดเดพเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดฃเตเด เดเดฐเต เดตเตเดฌเตเดธเตเดฑเตเดฑเต เด เดตเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจ เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ. เด เดคเตเดคเดฐเดฎเตเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดฐเดฃเตเดเต เดธเตเดตเดจเดเตเดเตพ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเดพเด - เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดฑเดชเตเดชเดพเดเตเดเตเดจเตเดจ เดเดจเตเดจเต, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเดฐเดฟเดชเดพเดฒเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด.
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเตเดเตเดจเตเดณเดเดฟ, เด เดคเดฟเดจเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดฐเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดธเตเดตเดจเดเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดกเตเดเตเดเดฑเตเด เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด
เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเดฃเตเดเดพเดเตเดเตเดจเตเดจ เดตเตเดฏเดเตเดคเดฟเดเดค เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเตพ (เดธเตเดตเดจเดเตเดเตพ) เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดกเตเดเตเดเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเตพ เดเดฐเตเดธเดฎเดฏเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เด เดเตเตพ เดกเตเดเตเดเดฑเดฟเดจเตเดฑเต เด เดคเต เดเดดเดฟเดตเตเดเตพ เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดกเตเดเตเดเตผ (เดธเดฟเดเดเดฟเตพ เดเดฃเตเดเตเดฏเตโเดจเตผ), เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต (เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเตพ)
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเดฟเดจเดพเดฏเดฟ เดธเดพเดงเดพเดฐเดฃ เดเดชเดฏเตเด เดเตเดธเต
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต, เดตเดฒเดคเต เดเตเดเดณเดฟเตฝ, เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเตผเดเตเดเดฟเดเตเดเตเดเดฑเตเดเดณเตเดณเตเดณ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดตเดณเดฐเต เดตเตเดเดคเตเดคเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดตเดณเดฐเต เดถเดเตเดคเดฎเดพเดฏ เดเดฐเต เดเดชเดเดฐเดฃเดฎเดพเดฃเต. เดเดชเตเดชเตเตพ เดเดเตเดเตพ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฏเตเดเดฟเด เดเดชเดฏเตเดเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดจเตเดเตเดเตเด, เด เดคเดฟเดจเตเดฑเต เดตเดฟเดถเดเดฒเดจเด เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดฟเดเตเดเตพเดเตเดเต เดจเตฝเดเตเดจเตเดจ เดจเตเดเตเดเดเตเดเตพ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเด.
เดจเดฟเดเตเดเตพ เดเดฐเต เดตเตเดฌเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดกเตเดตเดฒเดชเตเดชเตผ เดเดฃเตเดจเตเดจเต เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเตเด. เด เดชเดฆเตเดงเดคเดฟเดฏเดฟเตฝ เดฐเดฃเตเดเต เดตเตเดฌเตโเดธเตเดฑเตเดฑเตเดเตพ เดเตพเดชเตเดชเตเดเตเดจเตเดจเต. เดเดฆเตเดฏเดคเตเดคเตเดคเต เดเดคเดพเดจเตเด เดเตเดฒเดฟเดเตเดเตเดเดณเดฟเดฒเตเดเต เดเตบเดฒเตเตป เดธเตเดฑเตเดฑเตเดฑเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดเดณเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดฐเดฃเตเดเดพเดฎเดคเตเดคเตเดคเต เดเดชเดญเตเดเตเดคเต เดชเดฟเดจเตเดคเตเดฃเดฏเต เดฒเดเตเดทเตเดฏเด เดตเดเตเดเตเดณเตเดณเดคเดพเดฃเต. เด เดฐเดฃเตเดเต เดธเตเดฑเตเดฑเตเดเดณเตเด เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดฎเดพเดฏเดฟ เดธเดเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเตเดเตเดคเตฝ เดเตเดเตเดคเตฝ เดเดจเดชเตเดฐเดฟเดฏเดฎเดพเดตเตเดเดฏเดพเดฃเต, เด เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เดชเดตเตผ เดเดจเดฟ เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒเตเดจเตเดจเต เดเดคเต เดฎเดพเดฑเตเดจเตเดจเต. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดฎเตเดดเตเดตเตป เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเด เดฎเดฑเตเดฑเตเดฐเต เดฎเตเดทเตเดจเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเดพเตป เดจเดฟเดเตเดเตพ เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเตผเดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดชเตเดฒเตเดฏเตเดณเตเดณ เดเดจเตเดจเต เดจเดฟเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดฟเดเตเดเดฟเดฒเตเดฒ. เด เดคเดฟเดจเดพเตฝ, เดจเดฟเดเตเดเตพ เดเดฐเต เดธเดฎเดฏเด เดธเตเดตเดจเดเตเดเตพ เดเตเดฎเดพเดฑเตเดเดฏเตเด เดชเตเดจเดเดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต, เด เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเตฝ เดจเดฟเดเตเดเตพ เดเดจเตเดจเตเด เดฎเดฑเดเตเดเดฟเดฒเตเดฒเตเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเดเตเดเตพ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเดฐเต เดชเตเดคเดฟเดฏ เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดเตเดฑเดเตเดเต เดเดฎเดพเตปเดกเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเดตเตเดจเตเดจ เดเดฐเต เดเดพเดฐเตเดฏเดฎเดพเดฃเต. เดเดฐเต เดชเตเดคเดฟเดฏ เดฒเตเดเตเดเตเดทเดจเดฟเดฒเตเดเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเตเดฎเดพเดฑเตเดฑเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดเดฟเดฒ เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดเดฃเตเดเดพเดเตเดเตเดเดฏเตเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดจเตเดฑเต เดเดฐเต เดฌเดพเดเตเดเดชเตเดชเต เดชเดเตผเดชเตเดชเต เดชเตเดคเดฟเดฏ เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดคเดพเตฝ เดฎเดคเดฟเดฏเดพเดเตเด.
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดเตเดฒเดฏเดจเตเดฑเต-เดธเตเตผเดตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
เดเดเตเดเตพ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดจเตเดคเดฟเดจเตเดตเตเดฃเตเดเดฟเดฏเดพเดฃเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดชเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดชเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเดฑเดฟเดฏเดพเด, เด เดเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดเดฆเตเดฏเดคเตเดคเต เดเตเดฒเดฏเดจเตเดฑเต-เดธเตเตผเดตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เด เดคเดพเดฏเดคเต, เดเดเตเดเตพ เดชเตเดคเตเดคเดฃเดฟเตฝ เดเดฐเต เดเตเดฑเดฟเดฏ เดตเตเดฌเตโเดธเตเดฑเตเดฑเต (เดธเตเตผเดตเตผ) เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเดพเดฃเต เดธเดเดธเดพเดฐเดฟเดเตเดเตเดจเตเดจเดคเต, เด เดคเต เดเตเดเตโเดธเตโเดฑเตเดฑเดฟเดจเตเดฑเต เดเดฐเต เดถเดเดฒเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดซเดฏเตฝ เดเดเตเดเตโเดชเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด. เดชเตเดคเตเดคเดฃเดฟเดฒเตเด เดเดดเตเดคเดฟเดฏ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเด (เดเตเดฒเดฏเดจเตเดฑเต) เดเดฃเต เด เดซเดฏเตฝ เดธเตเตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต. เดธเตเตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดซเดฏเตฝ เดฒเดญเดฟเดเตเด เดถเตเดทเด, เดชเตเดฐเตเดเตเดฐเดพเด เด เดคเดฟเตฝ เดธเดเดญเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดตเดพเดเดเด เดธเตเดเตเดฐเตเดจเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเดเตเดเตพเดเตเดเต เดกเตเดเตเดเดฑเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เด เดเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏ เดงเดพเดฐเดฃเดฏเตเดฃเตเดเตเดจเตเดจเตเด เดจเดฟเดเตเดเตพ เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดกเตเดเตเดเตผ เดชเตเดฒเดพเดฑเตเดฑเตเดซเตเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเตเดจเตเดจเตเด เดเดเตเดเตพ เด เดจเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฎเตเดเตเดเต เดชเดฆเตเดงเดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดพเด.
โ1. เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดจเดฟเดเตเดเดณเตเดเต เดเดฆเตเดฏเดคเตเดคเต เดเตเดฒเดฏเดจเตเดฑเต-เดธเตเตผเดตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดซเตเตพเดกเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดเตเดฃเตเดเต เดเดฐเดเดญเดฟเดเตเดเดพเตป เดเดพเตป เดจเดฟเตผเดฆเตเดฆเตเดถเดฟเดเตเดเตเดจเตเดจเต. เด เดคเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเดฏเดฒเตเดเดณเตเด เดซเตเตพเดกเดฑเตเดเดณเตเด เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเดฃเด:
- เดซเดฏเดฒเต
docker-compose.yml
. เดธเตเดตเดจเดเตเดเตพ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดเดตเดถเตเดฏเดฎเดพเดฏ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจ เดเดฐเต เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดซเดฏเดฒเดพเดฃเดฟเดคเต. - เดซเตเดพเตพเดกเตผ
server
. เดธเตเตผเดตเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเดเตพ เดเดคเดฟเตฝ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเด. - เดซเตเดพเตพเดกเตผ
client
. เดเตเดฒเดฏเดจเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดซเดฏเดฒเตเดเตพ เดเดตเดฟเดเต เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเด.
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดงเดพเดจ เดซเตเตพเดกเดฑเดฟเดฒเต เดเดณเตเดณเดเดเตเดเด เดเดคเตเดชเตเดฒเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด:
.
โโโ client/
โโโ docker-compose.yml
โโโ server/
2 directories, 1 file
โ2. เดเดฐเต เดธเตเตผเดตเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดเดตเดฟเดเต, เดเดฐเต เดธเตเตผเดตเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเตฝ, เดกเตเดเตเดเดฑเดฟเดจเต เดธเดเดฌเดจเตเดงเดฟเดเตเด เดเดฟเดฒ เด เดเดฟเดธเตเดฅเดพเดจ เดเดพเดฐเตเดฏเดเตเดเดณเดฟเตฝ เดเดเตเดเตพ เดธเตเดชเตผเดถเดฟเดเตเดเตเด.
2a. เดซเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดซเตเตพเดกเดฑเดฟเดฒเตเดเตเดเต เดชเตเดเตเด server
เด
เดคเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด:
- เดซเดฏเดฒเต
server.py
. เด เดคเดฟเตฝ เดธเตเตผเดตเตผ เดเตเดกเต เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเด. - เดซเดฏเดฒเต
index.html
. เดเตเดฒเดฏเดจเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเดฃเตเด เดเดฐเต เดตเดพเดเดเด เด เดซเดฏเดฒเดฟเตฝ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเด. - เดซเดฏเดฒเต
Dockerfile
. เดธเตเตผเดตเตผ เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจ เดเดฐเต เดกเตเดเตเดเตผ เดซเดฏเดฒเดพเดฃเดฟเดคเต.
เดจเดฟเดเตเดเดณเตเดเต เดซเตเตพเดกเดฑเดฟเดฒเต เดเดณเตเดณเดเดเตเดเด เดเดเตเดเดจเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด server/
:
.
โโโ Dockerfile
โโโ index.html
โโโ server.py
0 directories, 3 files
2เดฌเดฟ. เดเดฐเต เดชเตเดคเตเดคเตบ เดซเดฏเตฝ เดเดกเดฟเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต.
เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด server.py
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเดกเต:
#!/usr/bin/env python3
# ะะผะฟะพัั ัะธััะตะผะฝัั
ะฑะธะฑะปะธะพัะตะบ python.
# ะญัะธ ะฑะธะฑะปะธะพัะตะบะธ ะฑัะดัั ะธัะฟะพะปัะทะพะฒะฐัััั ะดะปั ัะพะทะดะฐะฝะธั ะฒะตะฑ-ัะตัะฒะตัะฐ.
# ะะฐะผ ะฝะต ะฝัะถะฝะพ ัััะฐะฝะฐะฒะปะธะฒะฐัั ััะพ-ัะพ ะพัะพะฑะตะฝะฝะพะต, ััะธ ะฑะธะฑะปะธะพัะตะบะธ ัััะฐะฝะฐะฒะปะธะฒะฐัััั ะฒะผะตััะต ั Python.
import http.server
import socketserver
# ะญัะฐ ะฟะตัะตะผะตะฝะฝะฐั ะฝัะถะฝะฐ ะดะปั ะพะฑัะฐะฑะพัะบะธ ะทะฐะฟัะพัะพะฒ ะบะปะธะตะฝัะฐ ะบ ัะตัะฒะตัั.
handler = http.server.SimpleHTTPRequestHandler
# ะขัั ะผั ัะบะฐะทัะฒะฐะตะผ, ััะพ ัะตัะฒะตั ะผั ั
ะพัะธะผ ะทะฐะฟัััะธัั ะฝะฐ ะฟะพััะต 1234.
# ะะพััะฐัะฐะนัะตัั ะทะฐะฟะพะผะฝะธัั ััะธ ัะฒะตะดะตะฝะธั, ัะฐะบ ะบะฐะบ ะพะฝะธ ะฝะฐะผ ะพัะตะฝั ะฟัะธะณะพะดัััั ะฒ ะดะฐะปัะฝะตะนัะตะผ, ะฟัะธ ัะฐะฑะพัะต ั docker-compose.
with socketserver.TCPServer(("", 1234), handler) as httpd:
# ะะปะฐะณะพะดะฐัั ััะพะน ะบะพะผะฐะฝะดะต ัะตัะฒะตั ะฑัะดะตั ะฒัะฟะพะปะฝััััั ะฟะพััะพัะฝะฝะพ, ะพะถะธะดะฐั ะทะฐะฟัะพัะพะฒ ะพั ะบะปะธะตะฝัะฐ.
httpd.serve_forever()
เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดฐเต เดตเตเดฌเต เดธเตเตผเดตเตผ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เด เดเตเดกเต เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เด
เดตเตป เดเตเดฒเดฏเดจเตเดฑเตเดเตพเดเตเดเต เดซเดฏเตฝ เดจเตฝเดเตเด index.html
, เดเดคเดฟเดฒเต เดเดณเตเดณเดเดเตเดเดเตเดเตพ เดชเดฟเดจเตเดจเตเดเต เดตเตเดฌเต เดชเตเดเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด.
2c. เดเดฐเต HTML เดซเดฏเตฝ เดเดกเดฟเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต
เดซเดฏเตฝ เดเตเดฏเตเดฏเดพเตป index.html
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดตเดพเดเดเด เดเตเตผเดเตเดเตเด:
Docker-Compose is magic!
เด เดตเดพเดเดเด เดเตเดฒเดฏเดจเตเดฑเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเด.
2d. เดกเตเดเตเดเตผเดซเดฏเตฝ เดเดกเดฟเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต
เดเดชเตเดชเตเตพ เดเดเตเดเตพ เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด Dockerfile
, เดชเตเดคเตเดคเตบ เดธเตเตผเดตเดฑเดฟเดจเต เดตเตเดฃเตเดเดฟ เดฑเตบเดเตเด เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด เดเตผเดเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดธเตเดทเตเดเดฟเดเตเด เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดฏเดฟ, เดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด
# ะะฐ ะฒััะบะธะน ัะปััะฐะน ะฝะฐะฟะพะผะธะฝะฐั, ััะพ Dockerfile ะฒัะตะณะดะฐ ะดะพะปะถะตะฝ ะฝะฐัะธะฝะฐัััั ั ะธะผะฟะพััะฐ ะฑะฐะทะพะฒะพะณะพ ะพะฑัะฐะทะฐ.
# ะะปั ััะพะณะพ ะธัะฟะพะปัะทัะตััั ะบะปััะตะฒะพะต ัะปะพะฒะพ 'FROM'.
# ะะดะตัั ะฝะฐะผ ะฝัะถะฝะพ ะธะผะฟะพััะธัะพะฒะฐัั ะพะฑัะฐะท python (ั DockerHub).
# ะ ัะตะทัะปััะฐัะต ะผั, ะฒ ะบะฐัะตััะฒะต ะธะผะตะฝะธ ะพะฑัะฐะทะฐ, ัะบะฐะทัะฒะฐะตะผ 'python', ะฐ ะฒ ะบะฐัะตััะฒะต ะฒะตััะธะธ - 'latest'.
FROM python:latest
# ะะปั ัะพะณะพ ััะพะฑั ะทะฐะฟัััะธัั ะฒ ะบะพะฝัะตะนะฝะตัะต ะบะพะด, ะฝะฐะฟะธัะฐะฝะฝัะน ะฝะฐ Python, ะฝะฐะผ ะฝัะถะฝะพ ะธะผะฟะพััะธัะพะฒะฐัั ัะฐะนะปั 'server.py' ะธ 'index.html'.
# ะะปั ัะพะณะพ ััะพะฑั ััะพ ัะดะตะปะฐัั, ะผั ะธัะฟะพะปัะทัะตะผ ะบะปััะตะฒะพะต ัะปะพะฒะพ 'ADD'.
# ะะตัะฒัะน ะฟะฐัะฐะผะตัั, 'server.py', ะฟัะตะดััะฐะฒะปัะตั ัะพะฑะพะน ะธะผั ัะฐะนะปะฐ, ั
ัะฐะฝััะตะณะพัั ะฝะฐ ะบะพะผะฟัััะตัะต.
# ะัะพัะพะน ะฟะฐัะฐะผะตัั, '/server/', ััะพ ะฟััั, ะฟะพ ะบะพัะพัะพะผั ะฝัะถะฝะพ ัะฐะทะผะตััะธัั ัะบะฐะทะฐะฝะฝัะน ัะฐะนะป ะฒ ะพะฑัะฐะทะต.
# ะะดะตัั ะผั ะฟะพะผะตัะฐะตะผ ัะฐะนะป ะฒ ะฟะฐะฟะบั ะพะฑัะฐะทะฐ '/server/'.
ADD server.py /server/
ADD index.html /server/
# ะะดะตัั ะผั ะฒะพัะฟะพะปัะทัะตะผัั ะบะพะผะฐะฝะดะพะน 'WORKDIR', ะฒะพะทะผะพะถะฝะพ, ะฝะพะฒะพะน ะดะปั ะฒะฐั.
# ะะฝะฐ ะฟะพะทะฒะพะปัะตั ะธะทะผะตะฝะธัั ัะฐะฑะพััั ะดะธัะตะบัะพัะธั ะพะฑัะฐะทะฐ.
# ะ ะบะฐัะตััะฒะต ัะฐะบะพะน ะดะธัะตะบัะพัะธะธ, ะฒ ะบะพัะพัะพะน ะฑัะดัั ะฒัะฟะพะปะฝััััั ะฒัะต ะบะพะผะฐะฝะดั, ะผั ัััะฐะฝะฐะฒะปะธะฒะฐะตะผ '/server/'.
WORKDIR /server/
เดเดจเดฟ เดจเดฎเตเดเตเดเต เดเตเดฒเดฏเดจเตเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดพเด.
โ3. เดเดฐเต เดเตเดฒเดฏเดจเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเตเดฒเดฏเดจเตเดฑเต เดตเดถเด เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดฟเดฒ เดกเตเดเตเดเตผ เด เดเดฟเดธเตเดฅเดพเดจเดเดพเดฐเตเดฏเดเตเดเตพ เดเดเตเดเตพ เดเตผเดเตเดเตเด.
3a. เดซเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดซเตเตพเดกเดฑเดฟเดฒเตเดเตเดเต เดชเตเดเตเด client
เด
เดคเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด:
- เดซเดฏเดฒเต
client.py
. เดเตเดฒเดฏเดจเตเดฑเต เดเตเดกเต เดเดตเดฟเดเต เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเด. - เดซเดฏเดฒเต
Dockerfile
. เดธเตเตผเดตเตผ เดซเตเตพเดกเดฑเดฟเดฒเต เดธเดฎเดพเดจ เดซเดฏเดฒเดฟเดจเตเดฑเต เด เดคเต เดฑเตเตพ เด เดซเดฏเดฒเตเด เดตเดนเดฟเดเตเดเตเดจเตเดจเต. เด เดคเดพเดฏเดคเต, เดเตเดฒเดฏเดจเตเดฑเต เดเตเดกเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เด เดจเตเดคเดฐเตเดเตเดทเด เดเดเตเดเดจเต เดธเตเดทเตเดเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดเดคเดฟเตฝ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดซเดฒเดฎเดพเดฏเดฟ, เดจเดฟเดเตเดเดณเตเดเต เดซเตเตพเดกเตผ client/
เดเตเดฒเดฟเดฏเตเดเต เด เดเดเตเดเดคเตเดคเดฟเตฝ เดเดคเต เดเดคเตเดชเตเดฒเต เดเดฏเดฟเดฐเดฟเดเตเดเดฃเด:
.
โโโ client.py
โโโ Dockerfile
0 directories, 2 files
3เดฌเดฟ. เดเดฐเต เดชเตเดคเตเดคเตบ เดซเดฏเตฝ เดเดกเดฟเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต
เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด client.py
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเดกเต:
#!/usr/bin/env python3
# ะะผะฟะพััะธััะตะผ ัะธััะตะผะฝัั ะฑะธะฑะปะธะพัะตะบั Python.
# ะะฝะฐ ะธัะฟะพะปัะทัะตััั ะดะปั ะทะฐะณััะทะบะธ ัะฐะนะปะฐ 'index.html' ั ัะตัะฒะตัะฐ.
# ะะธัะตะณะพ ะพัะพะฑะตะฝะฝะพะณะพ ัััะฐะฝะฐะฒะปะธะฒะฐัั ะฝะต ะฝัะถะฝะพ, ััะฐ ะฑะธะฑะปะธะพัะตะบะฐ ัััะฐะฝะฐะฒะปะธะฒะฐะตััั ะฒะผะตััะต ั Python.
import urllib.request
# ะญัะฐ ะฟะตัะตะผะตะฝะฝะฐั ัะพะดะตัะถะธั ะทะฐะฟัะพั ะบ 'http://localhost:1234/'.
# ะะพะทะผะพะถะฝะพ, ัะตะนัะฐั ะฒั ะทะฐะดะฐััะตัั ะฒะพะฟัะพัะพะผ ะพ ัะพะผ, ััะพ ัะฐะบะพะต 'http://localhost:1234'.
# localhost ัะบะฐะทัะฒะฐะตั ะฝะฐ ัะพ, ััะพ ะฟัะพะณัะฐะผะผะฐ ัะฐะฑะพัะฐะตั ั ะปะพะบะฐะปัะฝัะผ ัะตัะฒะตัะพะผ.
# 1234 - ััะพ ะฝะพะผะตั ะฟะพััะฐ, ะบะพัะพััะน ะฒะฐะผ ะฟัะตะดะปะฐะณะฐะปะพัั ะทะฐะฟะพะผะฝะธัั ะฟัะธ ะฝะฐัััะพะนะบะต ัะตัะฒะตัะฝะพะณะพ ะบะพะดะฐ.
fp = urllib.request.urlopen("http://localhost:1234/")
# 'encodedContent' ัะพะพัะฒะตัััะฒัะตั ะทะฐะบะพะดะธัะพะฒะฐะฝะฝะพะผั ะพัะฒะตัั ัะตัะฒะตัะฐ ('index.html').
# 'decodedContent' ัะพะพัะฒะตัััะฒัะตั ัะฐัะบะพะดะธัะพะฒะฐะฝะฝะพะผั ะพัะฒะตัั ัะตัะฒะตัะฐ (ััั ะฑัะดะตั ัะพ, ััะพ ะผั ั
ะพัะธะผ ะฒัะฒะตััะธ ะฝะฐ ัะบัะฐะฝ).
encodedContent = fp.read()
decodedContent = encodedContent.decode("utf8")
# ะัะฒะพะดะธะผ ัะพะดะตัะถะธะผะพะต ัะฐะนะปะฐ, ะฟะพะปััะตะฝะฝะพะณะพ ั ัะตัะฒะตัะฐ ('index.html').
print(decodedContent)
# ะะฐะบััะฒะฐะตะผ ัะพะตะดะธะฝะตะฝะธะต ั ัะตัะฒะตัะพะผ.
fp.close()
เด เดเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต, เดเตเดฒเดฏเดจเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดธเตเตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเดพเดจเตเด เดธเตเดเตเดฐเตเดจเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด.
3c. เดกเตเดเตเดเตผเดซเดฏเตฝ เดเดกเดฟเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต
เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเดฒเตเดจเตเดจเดชเตเดฒเต, เดเดเตเดเตพ เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดจเตเดจเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต Dockerfile
, เดชเตเดคเตเดคเตบ เดเตเดฒเดฏเดจเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เด
เดจเตเดคเดฐเตเดเตเดทเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด. เดเตเดฒเดฏเดจเตเดฑเต เดเตเดกเต เดเดคเดพ Dockerfile
:
# ะขะพ ะถะต ัะฐะผะพะต, ััะพ ะธ ะฒ ัะตัะฒะตัะฝะพะผ Dockerfile.
FROM python:latest
# ะะผะฟะพััะธััะตะผ 'client.py' ะฒ ะฟะฐะฟะบั '/client/'.
ADD client.py /client/
# ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ ะฒ ะบะฐัะตััะฒะต ัะฐะฑะพัะตะน ะดะธัะตะบัะพัะธะธ '/client/'.
WORKDIR /client/
โ4. เดกเตเดเตเดเตผ เดฐเดเดจ
เดจเดฟเดเตเดเตพ เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดพเด, เดเดเตเดเตพ เดฐเดฃเตเดเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเต: เดเดฐเต เดธเตเตผเดตเดฑเตเด เดเดฐเต เดเตเดฒเดฏเดจเตเดฑเตเด. เด
เดตเดฏเดฟเตฝ เดเดฐเตเดจเตเดจเดฟเดจเตเด เด
เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดซเดฏเตฝ เดเดฃเตเดเต Dockerfile
. เดเดคเตเดตเดฐเต, เดธเดเดญเดตเดฟเดเตเดเดคเตเดฒเตเดฒเดพเด เดกเตเดเตเดเดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจเดเดพเดฐเตเดฏเดเตเดเตพเดเตเดเดชเตเดชเตเดฑเด เดชเตเดฏเดฟเดเตเดเดฟเดฒเตเดฒ. เดเดชเตเดชเตเตพ เดจเดฎเตเดฎเตพ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต. เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฎเตเดเตเดเต เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด docker-compose.yml
, เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดฑเตเดเตเดเต เดซเตเตพเดกเดฑเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดตเดฟเดเต เดเดชเดฏเตเดเดฟเดเตเดเดพเดจเดพเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดเดฎเดพเตปเดกเตเดเดณเตเด เดเดตเตผ เดเตเดฏเตเดฏเดพเตป เดเดเตเดเตพ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด docker-compose.yml
. เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เด
เดเดฟเดธเตเดฅเดพเดจ เด
เดฑเดฟเดตเต เดจเดฟเดเตเดเตพเดเตเดเต เดจเตฝเดเตเดจเตเดจ เดเดฐเต เดชเตเดฐเดพเดฏเตเดเดฟเด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเตเดเต เดจเดเดเตเดเตเด เดเดจเตเดจเดคเดพเดฃเต เดเดเตเดเดณเตเดเต เดชเตเดฐเดงเดพเดจ เดฒเดเตเดทเตเดฏเด.
เดซเดฏเดฒเดฟเตฝ เดเดเตเดฃเตเด เดเตเดกเต เดเดคเดพ docker-compose.yml
:
# ะคะฐะนะป docker-compose ะดะพะปะถะตะฝ ะฝะฐัะธะฝะฐัััั ั ัะตะณะฐ ะฒะตััะธะธ.
# ะั ะธัะฟะพะปัะทัะตะผ "3" ัะฐะบ ะบะฐะบ ััะพ - ัะฐะผะฐั ัะฒะตะถะฐั ะฒะตััะธั ะฝะฐ ะผะพะผะตะฝั ะฝะฐะฟะธัะฐะฝะธั ััะพะณะพ ะบะพะดะฐ.
version: "3"
# ะกะปะตะดัะตั ััะธััะฒะฐัั, ััะพ docker-composes ัะฐะฑะพัะฐะตั ั ัะตัะฒะธัะฐะผะธ.
# 1 ัะตัะฒะธั = 1 ะบะพะฝัะตะนะฝะตั.
# ะกะตัะฒะธัะพะผ ะผะพะถะตั ะฑััั ะบะปะธะตะฝั, ัะตัะฒะตั, ัะตัะฒะตั ะฑะฐะท ะดะฐะฝะฝัั
...
# ะ ะฐะทะดะตะป, ะฒ ะบะพัะพัะพะผ ะฑัะดัั ะพะฟะธัะฐะฝั ัะตัะฒะธัั, ะฝะฐัะธะฝะฐะตััั ั 'services'.
services:
# ะะฐะบ ัะถะต ะฑัะปะพ ัะบะฐะทะฐะฝะพ, ะผั ัะพะฑะธัะฐะตะผัั ัะพะทะดะฐัั ะบะปะธะตะฝััะบะพะต ะธ ัะตัะฒะตัะฝะพะต ะฟัะธะปะพะถะตะฝะธั.
# ะญัะพ ะพะทะฝะฐัะฐะตั, ััะพ ะฝะฐะผ ะฝัะถะฝะพ ะดะฒะฐ ัะตัะฒะธัะฐ.
# ะะตัะฒัะน ัะตัะฒะธั (ะบะพะฝัะตะนะฝะตั): ัะตัะฒะตั.
# ะะฐะทะฒะฐัั ะตะณะพ ะผะพะถะฝะพ ัะฐะบ, ะบะฐะบ ะฝัะถะฝะพ ัะฐะทัะฐะฑะพััะธะบั.
# ะะพะฝััะฝะพะต ะฝะฐะทะฒะฐะฝะธะต ัะตัะฒะธัะฐ ะฟะพะผะพะณะฐะตั ะพะฟัะตะดะตะปะธัั ะตะณะพ ัะพะปั.
# ะะดะตัั ะผั, ะดะปั ะธะผะตะฝะพะฒะฐะฝะธั ัะพะพัะฒะตัััะฒัััะตะณะพ ัะตัะฒะธัะฐ, ะธัะฟะพะปัะทัะตะผ ะบะปััะตะฒะพะต ัะปะพะฒะพ 'server'.
server:
# ะะปััะตะฒะพะต ัะปะพะฒะพ "build" ะฟะพะทะฒะพะปัะตั ะทะฐะดะฐัั
# ะฟััั ะบ ัะฐะนะปั Dockerfile, ะบะพัะพััะน ะฝัะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะดะปั ัะพะทะดะฐะฝะธั ะพะฑัะฐะทะฐ,
# ะบะพัะพััะน ะฟะพะทะฒะพะปะธั ะทะฐะฟัััะธัั ัะตัะฒะธั.
# ะะดะตัั 'server/' ัะพะพัะฒะตัััะฒัะตั ะฟััะธ ะบ ะฟะฐะฟะบะต ัะตัะฒะตัะฐ,
# ะบะพัะพัะฐั ัะพะดะตัะถะธั ัะพะพัะฒะตัััะฒัััะธะน Dockerfile.
build: server/
# ะะพะผะฐะฝะดะฐ, ะบะพัะพััั ะฝัะถะฝะพ ะทะฐะฟัััะธัั ะฟะพัะปะต ัะพะทะดะฐะฝะธั ะพะฑัะฐะทะฐ.
# ะกะปะตะดัััะฐั ะบะพะผะฐะฝะดะฐ ะพะทะฝะฐัะฐะตั ะทะฐะฟััะบ "python ./server.py".
command: python ./server.py
# ะัะฟะพะผะฝะธัะต ะพ ัะพะผ, ััะพ ะฒ ะบะฐัะตััะฒะต ะฟะพััะฐ ะฒ 'server/server.py' ัะบะฐะทะฐะฝ ะฟะพัั 1234.
# ะัะปะธ ะผั ั
ะพัะธะผ ะพะฑัะฐัะธัััั ะบ ัะตัะฒะตัั ั ะฝะฐัะตะณะพ ะบะพะผะฟัััะตัะฐ (ะฝะฐั
ะพะดััั ะทะฐ ะฟัะตะดะตะปะฐะผะธ ะบะพะฝัะตะนะฝะตัะฐ),
# ะผั ะดะพะปะถะฝั ะพัะณะฐะฝะธะทะพะฒะฐัั ะฟะตัะตะฝะฐะฟัะฐะฒะปะตะฝะธะต ััะพะณะพ ะฟะพััะฐ ะฝะฐ ะฟะพัั ะบะพะผะฟัััะตัะฐ.
# ะกะดะตะปะฐัั ััะพ ะฝะฐะผ ะฟะพะผะพะถะตั ะบะปััะตะฒะพะต ัะปะพะฒะพ 'ports'.
# ะัะธ ะตะณะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธะธ ะฟัะธะผะตะฝัะตััั ัะปะตะดัััะฐั ะบะพะฝััััะบัะธั: [ะฟะพัั ะบะพะผะฟัััะตัะฐ]:[ะฟะพัั ะบะพะฝัะตะนะฝะตัะฐ]
# ะ ะฝะฐัะตะผ ัะปััะฐะต ะฝัะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะฟะพัั ะบะพะผะฟัััะตัะฐ 1234 ะธ ะพัะณะฐะฝะธะทะพะฒะฐัั ะตะณะพ ัะฒัะทั ั ะฟะพััะพะผ
# 1234 ะบะพะฝัะตะนะฝะตัะฐ (ัะฐะบ ะบะฐะบ ะธะผะตะฝะฝะพ ะฝะฐ ััะพั ะฟะพัั ัะตัะฒะตั
# ะพะถะธะดะฐะตั ะฟะพัััะฟะปะตะฝะธั ะทะฐะฟัะพัะพะฒ).
ports:
- 1234:1234
# ะัะพัะพะน ัะตัะฒะธั (ะบะพะฝัะตะนะฝะตั): ะบะปะธะตะฝั.
# ะญัะพั ัะตัะฒะธั ะฝะฐะทะฒะฐะฝ 'client'.
client:
# ะะดะตัั 'client/ ัะพะพัะฒะตัััะฒัะตั ะฟััะธ ะบ ะฟะฐะฟะบะต, ะบะพัะพัะฐั ัะพะดะตัะถะธั
# ัะฐะนะป Dockerfile ะดะปั ะบะปะธะตะฝััะบะพะน ัะฐััะธ ัะธััะตะผั.
build: client/
# ะะพะผะฐะฝะดะฐ, ะบะพัะพััั ะฝัะถะฝะพ ะทะฐะฟัััะธัั ะฟะพัะปะต ัะพะทะดะฐะฝะธั ะพะฑัะฐะทะฐ.
# ะกะปะตะดัััะฐั ะบะพะผะฐะฝะดะฐ ะพะทะฝะฐัะฐะตั ะทะฐะฟััะบ "python ./client.py".
command: python ./client.py
# ะะปััะตะฒะพะต ัะปะพะฒะพ 'network_mode' ะธัะฟะพะปัะทัะตััั ะดะปั ะพะฟะธัะฐะฝะธั ัะธะฟะฐ ัะตัะธ.
# ะขัั ะผั ัะบะฐะทัะฒะฐะตะผ ัะพ, ััะพ ะบะพะฝัะตะนะฝะตั ะผะพะถะตั ะพะฑัะฐัะฐัััั ะบ 'localhost' ะบะพะผะฟัััะตัะฐ.
network_mode: host
# ะะปััะตะฒะพะต ัะปะพะฒะพ 'depends_on' ะฟะพะทะฒะพะปัะตั ัะบะฐะทัะฒะฐัั, ะดะพะปะถะตะฝ ะปะธ ัะตัะฒะธั,
# ะฟัะตะถะดะต ัะตะผ ะทะฐะฟัััะธัััั, ะถะดะฐัั, ะบะพะณะดะฐ ะฑัะดัั ะณะพัะพะฒั ะบ ัะฐะฑะพัะต ะดััะณะธะต ัะตัะฒะธัั.
# ะะฐะผ ะฝัะถะฝะพ, ััะพะฑั ัะตัะฒะธั 'client' ะดะพะถะดะฐะปัั ะฑั ะณะพัะพะฒะฝะพััะธ ะบ ัะฐะฑะพัะต ัะตัะฒะธัะฐ 'server'.
depends_on:
- server
โ5. เดชเดฆเตเดงเดคเดฟ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเต
เด
เดเดคเตเดคเต เดเดเดจเตเดจเดคเดฟเดจเต เดถเตเดทเด docker-compose.yml
เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฒเตเดฒเดพ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเดณเตเด เดจเตฝเดเดฟ, เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดเตเดเดณเตเดเต เดเตเดฒเดฟเดฏเตเดเต เด เดเดเตเดเด เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต docker build
, เดเดจเตเดจเดพเตฝ เด
เดจเตเดฌเดจเตเดง เดเดฎเดพเตปเดกเต เดจเดฟเดฐเดตเดงเดฟ เดธเตเดตเดจเดเตเดเตพเดเตเดเต เดชเตเดฐเดธเดเตเดคเดฎเดพเดฃเต:
$ docker-compose build
โ6. เดชเดฆเตเดงเดคเดฟเดฏเตเดเต เดฒเตเดเตเดเต
เดเดชเตเดชเตเตพ เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เด
เดธเดเดฌเดฟเตพ เดเตเดฏเตเดคเต, เด
เดคเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฏเดฟ. เดเดเตเดเดณเตเดเต เดเตเดฒเดฟเดฏเตเดเต เด เดเดเตเดเด เดตเตเดฏเดเตเดคเดฟเดเดค เดเดฃเตเดเตเดฏเตเดจเดฑเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดฎเดพเตปเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดเดเตเดเดตเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต docker run
:
$ docker-compose up
เด เดเดฎเดพเตปเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดค เดถเตเดทเด, เดธเตเตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตเดฒเดฏเดจเตเดฑเต เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดค เดเตเดเตเดธเตเดฑเตเดฑเต เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ เดฆเตเดถเตเดฏเดฎเดพเดเตเด: Docker-Compose is magic!
.
เดเดคเดฟเดจเดเด เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดคเตเดชเตเดฒเต, เดธเตเตผเดตเตผ เดเดฎเตเดชเตเดฏเตเดเตเดเตผ เดชเตเตผเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต 1234
เดเตเดฒเดฏเดจเตเดฑเต เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเตพเดเตเดเดพเดฏเดฟ. เด
เดคเดฟเดจเดพเตฝ, เดจเดฟเดเตเดเดณเตเดเต เดฌเตเดฐเตเดธเดฑเดฟเดฒเต เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดฏเดพเตฝ Docker-Compose is magic!
.
เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดเดฎเดพเตปเดกเตเดเตพ
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏเตเดเตเดเดพเดตเตเดจเตเดจ เดเดฟเดฒ เดเดฎเดพเตปเดกเตเดเตพ เดจเตเดเตเดเดพเด.
เดเดฎเดพเตปเดกเต เดธเตเดทเตเดเดฟเดเตเด เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเดณเตเด เดฎเดฑเตเดฑเต เดเดฑเดตเดฟเดเดเตเดเดณเตเด เดจเดฟเตผเดคเตเดคเดพเดจเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเดพเดจเตเด เด เดเดฎเดพเตปเดกเต เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต docker-compose up
:
$ docker-compose down
เด เดเดฎเดพเตปเดกเต เดธเตเดตเดจ เดฒเตเดเตเดเตพ เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต:
$ docker-compose logs -f [service name]
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดเดคเต เด เดฐเตเดชเดคเตเดคเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเดพเด: $ docker-compose logs -f [service name]
.
เด เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฃเตเดเตเดฏเตเดจเดฑเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
$ docker-compose ps
เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเตฝ เดเดฐเต เดเดฎเดพเตปเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เด เดเดฎเดพเตปเดกเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต:
$ docker-compose exec [service name] [command]
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดคเต เดเดคเตเดชเตเดฒเตเดฏเดพเดเดพเด: docker-compose exec server ls
.
เดเดฟเดคเตเดฐเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเดพเตป เด เดเดฎเดพเตปเดกเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต:
$ docker-compose images
เดซเดฒเดเตเดเตพ
เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจเดเดพเดฐเตเดฏเดเตเดเตพ เดเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเต, เด เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เด
เดฑเดฟเดตเต, เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ เดเตเดเตเดคเตฝ เดเดดเดคเตเดคเดฟเตฝ เดชเด เดฟเดเตเดเดพเตป เดคเตเดเดเตเดเตเด.
เดชเตเดฐเดฟเดฏ เดตเดพเดฏเดจเดเตเดเดพเตผ! เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดเตเดเดณเดฟเตฝ เดกเตเดเตเดเตผ เดเดฎเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเต?
เด
เดตเดฒเดเดฌเด: www.habr.com