Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—

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

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

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

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

เชšเชพเชฒเซ‹ เช•เชพเชฐเซเชฏ เชธเซ‡เชŸ เช•เชฐเซ€เช

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

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

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เชชเชนเซ‡เชฒเชพเช‚ เชฎเซ‹เชฌเชพเช‡เชฒ Habr เช‡เชจเซเชŸเชฐเชซเซ‡เชธ

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

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—เชœเซ‚เชจเซ€ SSR-CSR เชฏเซ‹เชœเชจเชพ. เช…เชงเชฟเช•เซƒเชคเชคเชพ เชซเช•เซเชค C3 เช…เชจเซ‡ C4 เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชœ เชถเช•เซเชฏ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชจเซ‹เชก JS HTML เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชธเซเชค เชจ เชนเซ‹เชฏ เช…เชจเซ‡ API เชจเซ‡ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เช•เชฐเซ€ เชถเช•เซ‡.

เชคเซ‡ เชธเชฎเชฏเชจเชพ เช…เชฎเชพเชฐเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‡ เชนเซ‡เชฌเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชฎเชพเช‚เชฅเซ€ เชเช• เชฆเซเชตเชพเชฐเชพ เช–เซ‚เชฌ เชœ เชธเชšเซ‹เชŸ เชฐเซ€เชคเซ‡ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚:

เชฎเซ‹เชฌเชพเช‡เชฒ เชธเช‚เชธเซเช•เชฐเชฃ เชตเชพเชนเชฟเชฏเชพเชค เช›เซ‡. เชนเซเช‚ เชคเซ‡เชจเซ‡ เชœเซ‡เชฎ เช›เซ‡ เชคเซ‡เชฎ เช•เชนเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚. SSR เช…เชจเซ‡ CSR เชจเซเช‚ เชญเชฏเช‚เช•เชฐ เชธเช‚เชฏเซ‹เชœเชจ.

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

เชฎเซ‡เช‚ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเซเชฏเซเช‚, "เชคเซ‡ เชนเชตเซ‡ เช–เชฐเชพเชฌ เช›เซ‡, เชคเซ‡ เชฌเชฐเชพเชฌเชฐ เช•เชฐเซ‹" เชจเชพ เชธเซเชคเชฐเซ‡ เชตเชฐเซเชฃเชจ เชธเชพเชฅเซ‡ เชœเซ€เชฐเชพเชฎเชพเช‚ เชŸเชฟเช•เชฟเชŸ เชฌเชจเชพเชตเซ€ เช…เชจเซ‡ เช•เชพเชฐเซเชฏเชจเซ‡ เชตเซเชฏเชพเชชเช• เชธเซเชŸเซเชฐเซ‹เช•เชฎเชพเช‚ เชตเชฟเช˜เชŸเชฟเชค เช•เชฐเซเชฏเซเช‚:

  • เชกเซ‡เชŸเชพเชจเซ‹ เชชเซเชจเชƒเช‰เชชเชฏเซ‹เช—,
  • เชซเชฐเซ€เชฅเซ€ เชฆเซ‹เชฐเชตเชพเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช˜เชŸเชพเชกเชตเซ€,
  • เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชตเชฟเชจเช‚เชคเซ€เช“ เชฆเซ‚เชฐ เช•เชฐเซ‹,
  • เชฒเซ‹เชกเชฟเช‚เช— เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชตเชงเซ เชธเซเชชเชทเซเชŸ เชฌเชจเชพเชตเซ‹.

เชšเชพเชฒเซ‹ เชกเซ‡เชŸเชพเชจเซ‹ เชซเชฐเซ€เชฅเซ€ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช

เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชธเชฐเซเชตเชฐ-เชธเชพเช‡เชก เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช— เชฌเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡: เชธเชฐเซเชš เชเชจเซเชœเชฟเชจ เชฎเชฐเซเชฏเชพเชฆเชพเช“เชฅเซ€ เชชเซ€เชกเชพเชฏ เชจเชนเซ€เช‚ เชเชธเชชเซ€เช เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เช…เชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซ‹ FMP (เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡ เชฌเช—เชกเชตเซเช‚ เชŸเซเชŸเซ€). เช•เซเชฒเชพเชธเชฟเช• เชฆเซƒเชถเซเชฏเชฎเชพเช‚ เช•เซ‡ เช†เช–เชฐเซ‡ เชเชฐเชฌเซ€เชเชจเชฌเซ€เชฎเชพเช‚ 2013 เชฎเชพเช‚ เช˜เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ เชตเชฐเซเชท (เชนเชœเซ เชชเชฃ Backbone.js เชชเชฐ), SSR เช เชจเซ‹เชก เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช‚ เชšเชพเชฒเชคเซ€ เชธเชฎเชพเชจ เช†เช‡เชธเซ‹เชฎเซ‹เชฐเซเชซเชฟเช• JS เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เซ‡. เชธเชฐเซเชตเชฐ เชตเชฟเชจเช‚เชคเซ€เชจเชพ เชชเซเชฐเชคเชฟเชญเชพเชต เชคเชฐเซ€เช•เซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒ เชฒเซ‡เช†เช‰เชŸเชจเซ‡ เช–เชพเชฒเซ€ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เชชเช›เซ€ เช•เซเชฒเชพเชฏเช‚เชŸ เชฌเชพเชœเซ เชชเชฐ เชฐเซ€เชนเชพเช‡เชกเซเชฐเซ‡เชถเชจ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชฌเชงเซเช‚ เชชเซƒเชทเซเช  เชซเชฐเซ€เชฅเซ€ เชฒเซ‹เชก เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡. Habr เชฎเชพเชŸเซ‡, เชŸเซ‡เช•เซเชธเซเชŸ เช•เชจเซเชŸเซ‡เชจเซเชŸ เชธเชพเชฅเซ‡เชจเชพ เช…เชจเซเชฏ เช˜เชฃเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชฎเชพเชŸเซ‡, เชธเชฐเซเชตเชฐ เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช— เช เชธเชฐเซเชš เชเชจเซเชœเชฟเชจ เชธเชพเชฅเซ‡ เชฎเซˆเชคเซเชฐเซ€เชชเซ‚เชฐเซเชฃ เชธเช‚เชฌเช‚เชงเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชคเชคเซเชต เช›เซ‡.

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

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

เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชŠเชญเซ€ เชฅเชˆ เช›เซ‡ เชคเซ‡เชฎเชพเช‚เชจเซ€ เชเช• เช›เซ‡ เชšเช•เซเชฐเซ€เชฏ เชฎเชพเชณเช–เชพเชจเซ‡ JSON เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅเชคเชพ (เชชเชฐเชฟเชชเชคเซเชฐ เชธเช‚เชฆเชฐเซเชญ); เช†เชตเชพ เชฎเชพเชณเช–เชพเชจเซ‡ เชคเซ‡เชฎเชจเชพ เชธเชชเชพเชŸ เชธเชฎเช•เช•เซเชทเซ‹ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเซ€เชจเซ‡ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡.

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

เชซเชฐเซ€เชฅเซ€ เชฆเซ‹เชฐเชตเชพเชจเซเช‚ เช“เช›เซเช‚ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

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

เชธเชฎเชธเซเชฏเชพเชจเชพ เชซเช•เซเชค เชฌเซ‡ เช‰เช•เซ‡เชฒเซ‹ เชนเชคเชพ:

  • เช•เซเชฐเซ‹เชธ-เชธเชฐเซเชตเชฐ เชตเชฟเชจเช‚เชคเซ€เช“ เชธเชพเชฅเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชกเซ‡เชŸเชพ เชœเซ‹เชกเซ‹;
  • เชจเซ‹เชก JS เชธเซเชคเชฐเซ‹เชจเซ‡ เชฌเซ‡ เช…เชฒเช—-เช…เชฒเช— เช‰เชฆเชพเชนเชฐเชฃเซ‹เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ‹.

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

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

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

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช—เชจเชพ เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เชพ เชชเช›เซ€ เชฎเซ‹เชฌเชพเช‡เชฒ เชนเซ‡เชฌเซเชฐ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ

เช†เช–เชฐเซ‡, เชฎเซ‹เชฌเชพเช‡เชฒ เชธเช‚เชธเซเช•เชฐเชฃเชจเซเช‚ SSR-CSR เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เช† เชšเชฟเชคเซเชฐ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡:

๏ฟผHabr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—"เชŸเซ-เชจเซ‹เชก" SSR-CSR เชธเชฐเซเช•เชฟเชŸ. เชจเซ‹เชก JS API เชนเช‚เชฎเซ‡เชถเชพ เช…เชธเซเชฎเซ‡เชณ I/O เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ‡ เช…เชจเซ‡ SSR เชซเช‚เช•เซเชถเชจ เชฆเซเชตเชพเชฐเชพ เช…เชตเชฐเซ‹เชงเชฟเชค เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชฌเชพเชฆเชฎเชพเช‚ เชเช• เช…เชฒเช— เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡. เช•เซเชตเซ‡เชฐเซ€ เชธเชพเช‚เช•เชณ #3 เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชตเชฟเชจเช‚เชคเซ€เช“ เชฆเซ‚เชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชฎเซ‡เชจเชฟเชชเซเชฏเซเชฒเซ‡เชถเชจเซเชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชชเช›เซ€, เชชเซƒเชทเซเช เชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช—เชฅเซ€ เชนเชตเซ‡ เชเชชเซ€เชฒเซ‡เชชเซเชธเซ€ เช‰เชถเซเช•เซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ SPA เชฎเซ‹เชกเชฎเชพเช‚ Habr เชจเซ‹ เชตเชงเซ เช‰เชชเชฏเซ‹เช— เชนเชœเซ เชชเชฃ เชฎเซ‚เช‚เชเชตเชฃ เชชเซ‡เชฆเชพ เช•เชฐเซ‡ เช›เซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเซเชฐเชตเชพเชนเชจเซ‹ เช†เชงเชพเชฐ เชซเซ‹เชฐเซเชฎเชจเซเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เช›เซ‡ เชฒเซ‡เช–เซ‹เชจเซ€ เชธเซ‚เชšเชฟ โ†’ เชฒเซ‡เช– โ†’ เชŸเชฟเชชเซเชชเชฃเซ€เช“ เช…เชจเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เช† เชธเชพเช‚เช•เชณเชจเชพ เชธเช‚เชธเชพเชงเชจ เชตเชชเชฐเชพเชถเชจเซ‡ เชชเซเชฐเชฅเชฎ เชธเซเชฅเชพเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชนเชคเซเช‚.

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—เชชเซ‹เชธเซเชŸ เชซเซ€เชก เชชเชฐ เชชเชพเช›เชพ เชซเชฐเชตเชพเชฅเซ€ เชจเชตเซ€ เชกเซ‡เชŸเชพ เชตเชฟเชจเช‚เชคเซ€ เช‰เชถเซเช•เซ‡เชฐเซ‡ เช›เซ‡

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

ArticlesList: [
  { Article1 },
  ...
],
PageArticle: { ArticleFull1 },

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

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

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

ArticlesList: {
  ROUTE_FEED: [ 
    { Article1 },
    ...
  ],
  ROUTE_ALL: [ 
    { Article2 },
    ...
  ],
}

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

ArticlesIds: {
  ROUTE_FEED: [ '1', ... ],
  ROUTE_ALL: [ '1', '2', ... ],
},
ArticlesList: {
  '1': { Article1 }, 
  '2': { Article2 },
  ...
}

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

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

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

เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชตเชงเซ เช†เชจเช‚เชฆเชชเซเชฐเชฆ เชฌเชจเชพเชตเซ‡ เช›เซ‡

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

Habr เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐ เชฒเซ‹เช—เซเชธ: เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชซเซเชฒเซ‡เช•เซเชŸเชฟเช‚เช—
เชนเซ‡เชฌเซเชฐเชพเชฒเซ‹เชกเชฟเช‚เช—

เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เช•เชฐเซ‡ เช›เซ‡

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

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

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

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

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