เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชธเซเช•เซ‚เชฒ: เชฎเชฟเชจเซเชธเซเช• เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เชฎเซ‹เชธเซเช•เซ‹เชฎเชพเช‚ เชจเชตเซ‹ เชธเซ‡เชŸ

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

เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชฏเซเชฒเชฟเชฏเชพ เชธเซ‡เชฐเซ‡เชกเชฟเชš เช›เซ‡, เช…เชฎเซ‡ เช† เชชเซ‹เชธเซเชŸ เชธเซ‡เชฐเช—เซ‡เชˆ เช•เชพเชเชพเช•เซ‹เชต เชธเชพเชฅเซ‡ เชฎเชณเซ€เชจเซ‡ เชฒเช–เซ€ เช›เซ‡. เช…เชฎเซ‡ เชฌเช‚เชจเซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชธเชจเซ€ เชฎเชฟเชจเซเชธเซเช• เช“เชซเชฟเชธเชฎเชพเช‚ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชกเซ‡เชตเชฒเชชเชฐ เช›เซ€เช เช…เชจเซ‡ เชชเชพเช›เชฒเชพ เชตเชฐเซเชทเซ‹เชจเชพ SRI เชจเชพ เชธเซเชจเชพเชคเช• เช›เซ€เช.

เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชธเซเช•เซ‚เชฒ: เชฎเชฟเชจเซเชธเซเช• เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เชฎเซ‹เชธเซเช•เซ‹เชฎเชพเช‚ เชจเชตเซ‹ เชธเซ‡เชŸ

เชฎเซ‹เชธเซเช•เซ‹เชฎเชพเช‚ เชจเซ‹เช‚เชงเชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชคเชจเชพ เชชเซเชฐเชธเช‚เช—เซ‡, เช…เชฎเซ‡ เช…เช—เชพเช‰เชจเซ€ เชถเชพเชณเชพเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช•เชพเชฐเซเชฏเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช - เช…เชนเซ€เช‚ เชฎเชฟเชจเซเชธเซเช•เชฎเชพเช‚.

เชœเซ‹ เชคเชฎเซ‡ SRI เช…เชธเชพเช‡เชจเชฎเซ‡เชจเซเชŸเชจเชพ เช‡เชคเชฟเชนเชพเชธเชจเซ‡ เชŸเซเชฐเซ‡เชธ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชฆเชฐ เชตเชฐเซเชทเซ‡ เช…เชฎเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชฎเชพเชŸเซ‡ เชคเซเชฐเชฃ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช•เซŒเชถเชฒเซเชฏเซ‹เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚ เช›เซ‡:

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

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

เช•เชพเชฐเซเชฏ 1: เชชเซ‹เชฐเซเชŸเชซเซ‹เชฒเชฟเชฏเซ‹

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

เชถเชฐเชค

เชชเซ‹เชฐเซเชŸเชซเซ‹เชฒเชฟเชฏเซ‹ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชฌเชจเชพเชตเซ‹: เช…เชฎเชจเซ‡ เชคเชฎเชพเชฐเชพ เชตเชฟเชถเซ‡, เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏ เชตเชฟเชถเซ‡ เช…เชจเซ‡ เชถเชพเชณเชพ เชคเชฐเชซเชฅเซ€ เชคเชฎเชพเชฐเซ€ เช…เชชเซ‡เช•เซเชทเชพเช“ เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเซ‹. เชธเชพเช‡เชŸ เชธเซ‚เชšเชฟเชค เชฒเซ‡เช†เช‰เชŸ เชธเชพเชฅเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เช…เชจเซเชฐเซ‚เชช เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช (เชฒเซ‡เช†เช‰เชŸเชจเซ€ เชฒเชฟเช‚เช•เซเชธ: 1000px, 600px, 320px, เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃ). เช…เชฎเชจเซ‡ เชซเช•เซเชค เชฒเซ‡เช†เช‰เชŸเชฎเชพเช‚ เชœ เชฐเชธ เช›เซ‡, เชคเซ‡เชฅเซ€ เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ JavaScript เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚.

เชคเชชเชพเชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เชฎเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชถเซเช‚:

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

เชซเชพเชฏเชฆเซ‹ เชฅเชถเซ‡:

  • เช†เชงเซเชจเชฟเช• CSS เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช—: เชซเซเชฒเซ‡เช•เซเชธเชฌเซ‹เช•เซเชธ, เช—เซเชฐเซ€เชก, เชตเช—เซ‡เชฐเซ‡;
  • เช…เชจเซเช•เซ‚เชฒเชจเชถเซ€เชฒ เชฒเซ‡เช†เช‰เชŸ;
  • เชชเซ‚เชฐเซเชต- เช…เชจเซ‡ (เช…เชฅเชตเชพ) เชชเซ‹เชธเซเชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช—, เชเชธเซ‡เชฎเซเชฌเชฒเซ€, เชฎเชฟเชจเชฟเชซเชฟเช•เซ‡เชถเชจ, เช†เช‰เชŸเชชเซเชŸ เช•เซ‹เชกเชจเซเช‚ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ;
  • HTML เชซเซ‹เชฐเซเชฎ เชฎเชพเชจเซเชฏเชคเชพ, เชถเซˆเชฒเซ€เชฏเซเช•เซเชค เชซเชพเช‡เชฒ เช…เชชเชฒเซ‹เชก เชฌเชŸเชจ.

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

เช…เชธเชพเช‡เชจเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เชฒเซ‡เช†เช‰เชŸ เชฎเชพเชคเซเชฐ เชฎเซ‹เชฌเชพเช‡เชฒ เช‰เชชเช•เชฐเชฃเซ‹, เชŸเซ‡เชฌเซเชฒเซ‡เชŸ เช…เชจเซ‡ เชกเซ‡เชธเซเช•เชŸเซ‹เชช เชฎเชพเชŸเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชธเชพเชฅเซ‡ เชœ เชจเชนเซ€เช‚, เชชเชฃ เชตเชพเชธเซเชคเชตเชฟเช• เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเช“ เชธเชพเชฅเซ‡ เชชเชฃ เชนเชคเชพ.

เชชเซเชฐเชฅเชฎ เช•เชพเชฐเซเชฏเชจเซ€ เชšเช•เชพเชธเชฃเซ€เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชฎเชพเช‚ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชจเชฟเชฐเชชเซ‡เช•เซเชทเชคเชพ เชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เช† เชคเชชเชพเชธ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เชฎเชพเชชเชฆเช‚เชกเซ‹ เชนเชคเชพ.

เชฎเชพเชชเชฆเช‚เชก

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

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

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

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

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

เชกเซเชฐเซ‹เชชเชกเชพเช‰เชจ เชธเซ‚เชšเชฟเช“. เช…เชนเซ€เช‚ เชคเซ‡ เชฌเชงเซเช‚ เชชเชฃ เชจเซ€เชšเซ‡ เช†เชตเซเชฏเซเช‚ เช…เชจเซ‡ เชธเชฎเชพเชจ เชชเชธเช‚เชฆเช—เซ€เช•เชพเชฐ: .accordion-item input:checked ~ .accordion-item__content. เชคเชฎเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚.

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

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

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

เชซเซ‹เชฐเซเชฎ เชฎเชพเชจเซเชฏเชคเชพ. เชซเซ‹เชฐเซเชฎเชจเชพ เชฆเชฐเซ‡เช• เช‡เชจเชชเซเชŸเชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€. เช…เชฎเซ‡ เชˆเชฎเซ‡เชˆเชฒ เชซเซ€เชฒเซเชกเชจเซ‡ เชˆเชฎเซ‡เชˆเชฒ เชคเชฐเซ€เช•เซ‡ เชฎเชพเชจเซเชฏ เช•เชฐเชจเชพเชฐเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชชเซ‹เชˆเชจเซเชŸ เช‰เชฎเซ‡เชฐเซเชฏเชพ เช›เซ‡.

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

เช•เซเชฐเซ‹เชธ เชฌเซเชฐเชพเช‰เชเชฐ เชธเซเชธเช‚เช—เชคเชคเชพ. เช…เชฎเซ‡ เชคเชชเชพเชธเซเชฏเซเช‚ เช•เซ‡ เช†เชงเซเชจเชฟเช• เชฌเซเชฐเชพเช‰เชเชฐเซเชธเชจเชพ เชฌเซ‡ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ (IE เชตเชฟเชจเชพ - เชธเชนเชญเชพเช—เซ€เช“ เชจเชธเซ€เชฌเชฆเชพเชฐ เชนเชคเชพ), เชคเซ‡เชฎเชœ iPhones เชชเชฐ Safari เช…เชจเซ‡ Androids เชชเชฐ Chrome เชฎเชพเช‚ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เชนเชคเซเช‚.

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

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

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

เช•เชพเชฐเซเชฏ 2: เชชเชฐเชฟเชตเชนเชจ เชฎเชพเชฐเซเช—

เช•เชพเชฐเซเชฏเชจเชพ เชฒเซ‡เช–เช• เชธเชฐเซเชš เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชœเซ‚เชฅ เชกเซ‡เชจเชฟเชธ เชฌเชพเชฒเชฟเช•เซ‹เชจเชพ เชตเชกเชพ เช›เซ‡.

เชถเชฐเชค

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

เช•เชพเชฐเซเชฏ เชธเชนเซ€:

const solution = function(graph, start, finish)  {
    // ะ’ะฐัˆะต ั€ะตัˆะตะฝะธะต
} 

เช‰เชฆเชพเชนเชฐเชฃ เช‡เชจเชชเซเชŸ เชกเซ‡เชŸเชพ:

const graph = {
  start: { A: 50, B: 20 },
  A: { C: 40, D: 20 },
  B: { A: 90, D: 90 },
  C: { D: 160, finish: 50 },
  D: { finish: 20 },
  finish: {}
};
const start = 'start';
const finish = 'finish'; 

เช‰เชฆเชพเชนเชฐเชฃ เช†เช‰เชŸเชชเซเชŸ:

{
    distance: 90,
    path: ['start', 'A', 'D', 'finish']
} 

เชจเซ‹เช‚เชง: เชธเซ‹เชฒเซเชฏเซเชถเชจ เชธเซเช•เซ‡เชฒเซ‡เชŸเชจ src/ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช›เซ‡, เชคเชฎเชพเชฐเชพ เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเซ‡ solution.js เชฎเชพเช‚ เชฎเซ‚เช•เซ‹.

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

เชฎเชพเชชเชฆเช‚เชก

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

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

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

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

เชธเชพเชšเซ‹ เช‰เช•เซ‡เชฒ:

const solution = function(graph, START, FINISH)  {
    // ะ’ัั‘ ะฝะต ะฑะตัะฟะปะฐั‚ะฝะพ ะฒ ัั‚ะพะผ ะผะธั€ะต
    const costs = Object.assign({[FINISH]: Infinity}, graph[START]);

    // ะŸะตั€ะฒะฐั ะฒะพะปะฝะฐ ั€ะพะดะธั‚ะตะปัŒัะบะธั… ะฝะพะด
    const parents = { [FINISH]: null };
    Object.keys(graph[START]).reduce((acc, child) => (acc[child] = START) && acc, parents)

    const visited = [];
    let node;

    // ะ˜ั‰ะตะผ ยซะดะตัˆั‘ะฒะพะณะพยป ั€ะพะดะธั‚ะตะปั, ะพั‚ะผะตั‡ะฐะตะผ ะฟั€ะพะนะดะตะฝะฝั‹ะต
    do {
        node = lowestCostNode(costs, visited);
        let children = graph[node];
        for (let n in children) {
            let newCost = costs[node] + children[n];

            // ะ•ั‰ั‘ ะฝะต ะพั†ะตะฝะตะฝะฐ ะธะปะธ ะฝะฐัˆั‘ะปัั ะฑะพะปะตะต ะดะตัˆั‘ะฒั‹ะน ะฟะตั€ะตั…ะพะด
            if (!costs[n] || costs[n] > newCost) {
                costs[n] = newCost;
                parents[n] = node;
            }
        }
        visited.push(node);
    } while (node)

    return {
        distance: costs[FINISH],
        path: optimalPath(parents)
    };

    // ะ’ะพะทะฒั€ะฐั‚ ะฝะฐะทะฐะด ะฟะพ ัะฐะผั‹ะผ ยซะดะตัˆั‘ะฒั‹ะผยป ั€ะพะดะธั‚ะตะปัะผ
    function optimalPath(parents) {
        let optimalPath = [FINISH];
        let parent = parents[FINISH];
        while (parent && parent !== START) {
            optimalPath.push(parent);
            parent = parents[parent];
        }
        optimalPath.push(START);
        return optimalPath.reverse();
    }

    // ะœะธะฝะธะผะฐะปัŒะฝะฐั ัั‚ะพะธะผะพัั‚ัŒ ะธะท ั‚ะตะบัƒั‰ะตะน ะฝะพะดั‹ ัั€ะตะดะธ ะฝะตะฟั€ะพัะผะพั‚ั€ะตะฝะฝั‹ั…
    function lowestCostNode(costs, visited) {
        return Object.keys(costs).reduce((lowest, node) => {
            if (lowest === null || costs[node] < costs[lowest]) {
                if (!visited.includes(node)) {
                    lowest = node;
                }
            }

            return lowest;
        }, null);
    };
};

เช•เชพเชฐเซเชฏ 3: เช‡เชตเซ‡เชจเซเชŸเซเชธ เช•เซ‡เชฒเซ‡เชจเซเชกเชฐ

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

เชถเชฐเชค

เชคเชฎเชพเชฐเซเช‚ เชถเซ‡เชกเซเชฏเซ‚เชฒ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชฎเซ€เชจเซ€-เช•เซ‡เชฒเซ‡เชจเซเชกเชฐ เชฒเช–เซ‹. เชคเชฎเซ‡ เช—เชฎเซ‡ เชคเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 2019 เชฎเชพเช‚ เชซเซเชฐเชจเซเชŸเชเชจเซเชก เช•เซ‹เชจเซเชซเชฐเชจเซเชธเชจเซเช‚ เชถเซ‡เชกเซเชฏเซ‚เชฒ.

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

เช‰เชชเชฏเซ‹เช—เซ€ เชธเช‚เชธเชพเชงเชจเซ‹

เชซเซเชฐเชจเซเชŸเชเชจเซเชก เช•เซ‹เชจเซเชซเชฐเชจเซเชธ เชถเซ‡เชกเซเชฏเซ‚เชฒ:
confs.tech/javascript?topics=javascript%2Bcss%2Bux

เชธเซ‡เชตเชพ เช•เชพเชฐเซเชฏเช•เชฐเซ‹:
developer.mozilla.org/ru/docs/Web/API/Service_Worker_API/Using_Service_Workers
developers.google.com/web/fundamentals/primers/service-workers

เชธเซ‚เชšเชจเชพ API:
developer.mozilla.org/ru/docs/Web/API/Notifications_API

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

เชฎเชพเชชเชฆเช‚เชก

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

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

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

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

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

เช•เซ‹เชกเชธเซเชŸเชพเช‡เชฒ เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชณเช–เซเช‚. เชฌเซ€เชœเชพ เช•เชพเชฐเซเชฏเชจเซ€ เชœเซ‡เชฎ, เช…เชฎเซ‡ เชเช• เช•เซ‹เชกเชธเซเชŸเชพเช‡เชฒ เชคเชฐเชซ เชœเซ‹เชฏเซเช‚ (เชญเชฒเซ‡ เชคเซ‡ เช…เชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชค เชจ เชนเซ‹เชฏ). เช•เซ‡เชŸเชฒเชพเช• เชฒเซ‹เช•เซ‹เช เชฒเชฟเช‚เชŸเชฐ เชชเชฐ เชธเซเช•เซเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ - เชคเซ‡ เชธเชฐเชธ เช›เซ‡.

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

เชชเชฐเชฟเชฃเชพเชฎเซ‹

เชธเชนเชญเชพเช—เซ€เช“เชจเชพ เชจเชฟเชฐเซเชฃเชฏเซ‹ เชตเชฟเชถเซ‡ เชถเซเช‚ เชฐเชฎเซเชœเซ€ เช›เซ‡:

  • เชเช• เชชเซเชฐเชถเซเชจเชพเชตเชฒเซ€เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซเช‚ เชฒเช–เชพเชฃ เชนเชคเซเช‚: โ€œเชเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชฎเชฟเชคเซเชฐเซ‡ เชฎเชจเซ‡ เชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชธเชตเชพเชฒเซ‹ เช•เชฐเซเชฏเชพ เช…เชจเซ‡ เชคเซ‡เชฃเซ‡ เชฎเชจเซ‡ เช•เชนเซเชฏเซเช‚. เชฎเชจเซ‡ เชคเซ‡ เช–เชฐเซ‡เช–เชฐ เช—เชฎเซเชฏเซเช‚, เชนเซเช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฌเชงเชพ เชนเซƒเชฆเชฏเชฅเซ€ เช† เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชฐเซ‚เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชนเชคเชพ, เชชเชฐเช‚เชคเซ เช•เชฎเชจเชธเซ€เชฌเซ‡, เช‰เชฎเซ‡เชฆเชตเชพเชฐเชจเชพ เชฎเชฟเชคเซเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพเชฎเชพเช‚ เช–เซ‚เชฌ เชฎเชฆเชฆเชฐเซ‚เชช เชจ เชนเชคเชพ.
  • เชเช• เช‰เชฎเซ‡เชฆเชตเชพเชฐเซ‡ GitHub เชชเชฐ เชเช• เชฒเชฟเช‚เช• เชฎเซ‹เช•เชฒเซ€, เชœเซเชฏเชพเช‚ RAR เช†เชฐเซเช•เชพเช‡เชต เชธเซเชฅเชฟเชค เชนเชคเซเช‚ - เช†เชจเชพ เชชเชฐ เชŸเชฟเชชเซเชชเชฃเซ€ เช•เชฐเชตเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. ๐Ÿ™‚
  • เช…เชจเซเชฏ เช‰เชฎเซ‡เชฆเชตเชพเชฐเซ‡, solution.js เชซเชพเช‡เชฒเชจเซ€ เชชเซเชฐเชฅเชฎ เชฒเชพเช‡เชจ เชชเชฐเชจเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เชฎเชพเช‚, เชชเซเชฐเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡ เชธเซเชตเซ€เช•เชพเชฐเซเชฏเซเช‚ เช•เซ‡ เชคเซ‡เชฃเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ€ เชจเช•เชฒ เช•เชฐเซ€ เช›เซ‡.

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

เชชเชฐเชฟเชฃเชพเชฎ เช เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชซเชณเชคเชพ เชฆเชฐเชจเซเช‚ เชฐเชธเชชเซเชฐเชฆ เชตเชฟเชคเชฐเชฃ เชนเชคเซเช‚. เชธเชนเชญเชพเช—เซ€เช“เช เชชเซเชฐเชฅเชฎ เช•เชพเชฐเซเชฏ เชธเชฐเซ‡เชฐเชพเชถ 60% เชฆเซเชตเชพเชฐเชพ เชชเซ‚เชฐเซเชฃ เช•เชฐเซเชฏเซเช‚, เชฌเซ€เชœเซเช‚ 50% เชฆเซเชตเชพเชฐเชพ, เช…เชจเซ‡ เชคเซเชฐเซ€เชœเซเช‚ เชธเซŒเชฅเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชจเซเชฏเซเช‚ เช…เชจเซ‡ เชธเชฐเซ‡เชฐเชพเชถ 40% เชฆเซเชตเชพเชฐเชพ เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚.

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

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

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

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

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