เชšเช•เซเชฐเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเซเช‚ เชถเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡?

เชšเช•เซเชฐเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเซเช‚ เชถเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡?

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

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

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

เชกเซ‡เชตเชฒเชชเชฐเซเชธ เชซเชฟเชจเชฟเชถเซเชก เช•เซ‹เชกเชจเซ‡ เชธเซเชตเชฏเช‚-เชธเซเชชเชทเซเชŸ เชฎเชพเชจเซ‡ เช›เซ‡

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

เช…เชจเซ‡ เชคเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชตเชธเซเชคเซเช“ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชจเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเชพ เชฎเชฟเช•เซ‡เชจเชฟเช•เซเชธเชจเซ‡ เชธเชฎเชœเชตเซเช‚ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเชคเชพเช‚ เชตเชงเซ เช›เซ‡.

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

return new Promise((resolve, reject) => {
  functionWithCallback((err, result) => {
   return err ? reject(err) : resolve(result);
  });
});

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

เชฎเซ‚เชณ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ‹

2012 เชฎเชพเช‚, เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชซเซเชฐเซ‡เชฎเชตเชฐเซเช•เชจเชพ เชตเชฐเซเชšเชธเซเชต เชชเชนเซ‡เชฒเชพเช‚, jQuery เชจเชฟเชฏเชฎเซ‹เชจเซ€ เชฆเซเชจเชฟเชฏเชพ, เช…เชจเซ‡ เชนเซเช‚ เชเช• เชชเซเชธเซเชคเช• เชตเชพเช‚เชšเชคเซ‹ เชนเชคเซ‹ JavaScript Ninja เชจเชพ เชฐเชนเชธเซเชฏเซ‹เชœเซเชนเซ‹เชจ เชฐเซ‡เชธเชฟเช— เชฆเซเชตเชพเชฐเชพ, jQuery เชจเชพ เชธเชฐเซเชœเช•.

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

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

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

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

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

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

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

เช† เชตเซเชนเซ€เชฒ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเซ‹

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

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

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

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