เป‚เบฎเบ‡เบฎเบฝเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš: เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบš Minsk เปเบฅเบฐเบŠเบธเบ”เปƒเบซเบกเปˆเปƒเบ™ Moscow

เบกเบทเป‰เบ™เบตเป‰เป€เบ›เบตเบ”เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเปเปˆเปเบฅเป‰เบง เป‚เบฎเบ‡เบฎเบฝเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Yandex เปƒเบ™ Moscow. เบเบฒเบ™โ€‹เบเบถเบโ€‹เบญเบปเบšโ€‹เบฎเบปเบกโ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ—เบณโ€‹เบญเบดเบ”โ€‹เบˆเบฐโ€‹เบ”เบณโ€‹เป€เบ™เบตเบ™โ€‹เปเบ•เปˆโ€‹เบงเบฑเบ™โ€‹เบ—เบต 7/25 เบซเบฒโ€‹เบงเบฑเบ™โ€‹เบ—เบต 3/XNUMX. เบ™เบฑเบเบชเบถเบเบชเบฒเบˆเบฒเบเป€เบกเบทเบญเบ‡เบญเบทเปˆเบ™เป†เบˆเบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบกเบฑเบ™เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบซเบผเบทเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡ - เบšเปเบฅเบดเบชเบฑเบ”เบˆเบฐเบˆเปˆเบฒเบเบ„เปˆเบฒเป€เบ”เบตเบ™เบ—เบฒเบ‡เปเบฅเบฐเบ—เบตเปˆเบžเบฑเบเปƒเบ™ hostel. เบ—เบตเบชเบญเบ‡, เบเบฑเบ‡เป€เบ›เบฑเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบชเบธเบ”เบ—เป‰เบฒเบ, เบˆเบฐเปเบเปˆเบเบฒเบงเป€เบ–เบดเบ‡เบงเบฑเบ™เบ—เบต XNUMX เบ—เบฑเบ™เบงเบฒ, เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เบ„เบปเบ™.

เบ‚เป‰เบญเบเบŠเบทเปˆ Yulia Seredich, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบšเบปเบ”เบ™เบตเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบเบฑเบš Sergei Kazakov. เบžเบงเบเป€เบฎเบปเบฒเบ—เบฑเบ‡เบชเบญเบ‡เป€เบ›เบฑเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบเบฒเบ™ Minsk เบ‚เบญเบ‡ Yandex เปเบฅเบฐเบœเบนเป‰เบฎเบฝเบ™เบˆเบปเบš SRI เบˆเบฒเบเบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ.

เป‚เบฎเบ‡เบฎเบฝเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš: เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบš Minsk เปเบฅเบฐเบŠเบธเบ”เปƒเบซเบกเปˆเปƒเบ™ Moscow

เปƒเบ™เป‚เบญเบเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเบ™เบกเบญเบ”เป‚เบ, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบœเบตเบเปเบœเปˆเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบ™เบฐเบ™เปเบฒเบเบฑเบšเป‚เบฎเบ‡เบฎเบฝเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ - เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปƒเบ™ Minsk.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ›เบฐเบซเบงเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ SRI, เปƒเบ™เปเบ•เปˆเบฅเบฐเบ›เบตเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ—เบปเบ”เบชเบญเบšเบชเบฒเบกเบ—เบฑเบเบชเบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก:

  • เปเบœเบ™เบœเบฑเบ‡. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบธเบเบ„เบปเบ™เบ„เบงเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เป„เบ”เป‰. เบกเบฑเบ™เบšเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบธเบ‡ Seryozha เบœเบนเป‰เบ—เบตเปˆเบญเบญเบเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ‚เบฝเบ™เบชเบฐเบ„เบดเบš. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ™เบฑเบเบฎเบฝเบ™เบ—เบธเบเบ„เบปเบ™เบ•เป‰เบญเบ‡เบชเบฐเปเบ”เบ‡เบงเบดเบ—เบตเบ—เบตเปˆเบฅเบฒเบงเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบžเบดเบก.
  • JavaScript. เบ–เป‰เบฒเป€เบฅเบทเปˆเบญเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบกเบตเป‚เบฎเบ‡เบฎเบฝเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เปเบ•เปˆเป‚เบฎเบ‡เบฎเบฝเบ™เบ™เบฑเบเบญเบญเบเปเบšเบšเป‚เบ„เบ‡เบฎเปˆเบฒเบ‡. เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบ—เบตเปˆเบชเบงเบเบ‡เบฒเบกเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบน. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบตเบงเบฝเบเบ‡เบฒเบ™เบชเบฐเป€เบซเบกเบตเบชเปเบฒเบฅเบฑเบš JS, เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบš algorithms - เบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบเบžเบงเบเป€เบ‚เบปเบฒเบซเบผเบฒเบ.
  • เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบšเบฒเบ‡เบ—เบตเบ—เบฑเบเบชเบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ. เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เบกเบฒเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ. เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Lewis Carroll: "เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เปเบฅเปˆเบ™เป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบขเบนเปˆเบšเปˆเบญเบ™เบ”เบฝเบงเบเบฑเบ™, เปเบฅเบฐเป„เบ›เบšเปˆเบญเบ™เบญเบทเปˆเบ™, เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เปเบฅเปˆเบ™เป„เบงเบเบงเปˆเบฒเบชเบญเบ‡เป€เบ—เบปเปˆเบฒ." เบ—เบธเบเป†เบกเบทเป‰เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเปƒเบซเบกเปˆ - เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบญเบปเบฒเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบšเบฑเบ™เบŠเบตเปเบฅเบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบงเบเบกเบฑเบ™เป„เบ”เป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเบชเบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบ—เบตเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบปเบงเบกเบฑเบเบˆเบฐเบšเปเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบš.

เปƒเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบงเบฝเบเบ‡เบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเบญเบเบ—เปˆเบฒเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบ•เปˆเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›.

เบงเบฝเบเบ—เบตเปˆ 1: เบซเบผเบฑเบเบŠเบฑเบš

เบงเบฝเบเบ‡เบฒเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบœเบนเป‰เบญเบญเบเปเบšเบš Yandex.Collections Alexey Cherenkevich, เบœเบนเป‰เบ—เบตเปˆเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡, เปเบฅเบฐเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบฅเบฒเบง, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Sergey Samsonov.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เบชเป‰เบฒเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบซเบผเบฑเบเบŠเบฑเบš: เบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡, เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบˆเบฒเบเป‚เบฎเบ‡เบฎเบฝเบ™. เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ„เบงเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ (เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡: 1000px, 600px, 320px, เบชเบฐเป€เบžเบฒเบฐ). เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฐเบฅเบธเบ™เบฒเบขเปˆเบฒเปƒเบŠเป‰ JavaScript.

เป€เบกเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ:

  • เบ‚เบฐเปœเบฒเบ”เบซเบเปเป‰เปœเป‰เบฒ, เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบชเบต, เบฎเบนเบšเปเบšเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบ‚เบฐเปœเบฒเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™;
  • เบฎเบนเบšเปเบšเบš semantic;
  • เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš: เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ›เบธเปˆเบกเปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ™เบ•เบปเบงเบเบฐเบžเบดเบš, เป€เบ™เบฑเป‰เบ™เปƒเบชเปˆเบŠเปˆเบญเบ‡เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เปเบฅเบฐเบญเบทเปˆเบ™เป†;
  • เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เป‰เบฒเบก (เบ—เบปเบ”เบชเบญเบšเปƒเบ™เป€เบงเบตเบŠเบฑเบ™เบซเบผเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบตเปˆเบ™เบดเบเบปเบก).

เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเป€เบ›เบฑเบ™:

  • เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เปเบเป‰เป„เบ‚ CSS เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก: flexbox, grid, เปเบฅเบฐเบญเบทเปˆเบ™เป†;
  • เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฑเบšเบ•เบปเบง;
  • เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ pre- เปเบฅเบฐ (เบซเบผเบท) post-processors, เบเบฒเบ™เบ›เบฐเบเบญเบš, minification, optimization เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ”;
  • เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบšเบšเบŸเบญเบก HTML, เบ›เบธเปˆเบกเบญเบฑเบšเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒเปเบšเบšเบชเบฐเป„เบ•เบฅเปŒ.

เบงเบฝเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡ voluminous, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒเบกเบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบฐเปเบ™เบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ, เปเบ•เปˆเบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เปเบฅเป‰เบง, เบชเบปเปˆเบ‡เบชเบญเบ‡เบฅเบดเป‰เบ‡เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒ - เป„เบ›เบซเบฒเบซเบผเบฑเบเบŠเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปƒเบ™ GitHub.

เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบกเบตเบซเบ™เป‰เบฒเบˆเปเบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบกเบทเบ–เบท, เปเบ—เบฑเบšเป€เบฅเบฑเบ”เปเบฅเบฐ desktop, เปเบ•เปˆเบเบฑเบ‡เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบชเบฐเป€เบžเบฒเบฐ.

เป€เบžเบทเปˆเบญเบ™เปเบฒเป€เบญเบปเบฒเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเปƒเบ™เบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เปเบฒเบญเบดเบ”, เบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบš. เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบˆเบฐเปเบˆเป‰เบ‡, เปเบ•เปˆเบœเบนเป‰เบŠเบฒเบเบšเบฒเบ‡เบ„เบปเบ™เบ‚เป‰เบฒเบกเบšเบฒเบ‡เบ—เปˆเบญเบ™เป„เบกเป‰เบ—เบฑเบ‡เบซเบกเบปเบ” - เบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบซเบเบฑเบ”เป€เบงเบฅเบฒ, เบซเบผเบทเบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบšเปเปˆเป„เบ”เป‰. เบฎเบนเบšเปเบšเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบชเบตเปˆเบซเบ™เป‰เบฒเบˆเปเบ•เบปเป‰เบ™เบ•เป: เบซเบ™เป‰เบฒเบˆเปเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบกเบตเบฎเบนเบšเบชเบฑเบ™เบเบฒเบฅเบฑเบ, เบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเบฅเบฒเบเบŠเบทเปˆเบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡เบˆเบฒเบ SRI, เบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเบซเบผเบฑเบเบŠเบฑเบšเปเบฅเบฐเบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ•เบดเบ”เบ•เปเปˆ. เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ•เปˆเบฒเบ‡เป†เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰ divs, เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบตเปˆเบ•เบฑเบ™เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบกเบตเบฎเบนเบšเปเบšเบš. เบœเบนเป‰เบญเบญเบเปเบšเบšเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบชเบฐเป€เบžเบฒเบฐเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ (เบฅเบงเบกเบ—เบฑเบ‡เบชเบต, typography, เบฅเบฑเบ”เบ›เบธเปˆเบก, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบชเบฐเบซเบกเบฑเบ. เบขเบนเปˆเบ—เบฒเบ‡เบฅเบธเปˆเบกเบกเบตเบ‚เปเป‰เปเบ™เบฐเบ™เบณเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบซเบเปเป‰เปœเป‰เบฒ เปเบฅเบฐเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เปœเป‰เบฒเบˆเปเบ—เบณเบญเบดเบ”. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบกเบตเบ„เบงเบฒเบกเบเบดเบ™เบ”เบตเบซเบผเบฒเบเบเบฑเบšเบœเบนเป‰เบŠเบฒเบเบ—เบตเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบ›เบฒเบ”เบ–เบฐเบซเบ™เบฒเบ‚เบญเบ‡เบœเบนเป‰เบญเบญเบเปเบšเบšเบ—เบฑเบ‡เบซเบกเบปเบ”: เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เป‰เบฒเบˆเปเบ—เปเบฒเบญเบดเบ”เบ„เบงเบ™เบˆเบฐเบšเปเปˆเบซเบ™เป‰เบญเบเบเบงเปˆเบฒเบ„เบงเบฒเบกเบชเบนเบ‡เบ‚เบญเบ‡ viewport.

เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฑเบšเบ•เบปเบง - เบ™เบตเป‰เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เบชเบฒเบกเบขเปˆเบฒเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™ pixel เบเบฑเบš pixels เบฅเบงเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบš. เบขเบนเปˆเปƒเบ™เบฅเบฑเบ”เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡, เบฎเบนเบšเปเบšเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบ„เบงเบ™เปเบ•เบเปเบเบ. เบšเบฒเบ‡เบ„เบปเบ™เบฅเบทเบกเบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ–เบฑเบ‡เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™ 1920 pixels, เบšเบฒเบ‡เบญเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบทเป‰เบ™เบซเบฅเบฑเบ‡ messed, เปเบ•เปˆเป‚เบ”เบเบฅเบงเบกเบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบกเบทเบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เป„เบ”เป‰เบ”เบต.

เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เปเบšเบš semantic. "เบžเบงเบเป€เบ‚เบปเบฒเบšเบญเบเป‚เบฅเบเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”" เบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบญเบญเบเปเบšเบšเป€เบ›เบฑเบ™ , เบ›เบธเปˆเบก - เป€เบ›เบฑเบ™ . เป‚เบŠเบเบ”เบต, เบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบชเปˆเบงเบ™เปƒเบซเบเปˆเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ™เบตเป‰เป€เบŠเบฑเปˆเบ™เบเบฑเบ™. เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบ„เบปเบ™เบฎเบฑเบšเบฎเบนเป‰เบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เปƒเบ™เบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡เบ‚เบญเบ‡ SRI, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เปƒเบŠเป‰ div tags, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ”เบต. เบกเบตเบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเปƒเบชเปˆ tags semantic เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฒเบงเบฎเบนเป‰ - เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ - เปเบฅเบฐ . เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, semantics - เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ•เบฑเบ™ (เบชเปˆเบงเบ™เปƒเบซเบเปˆเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบกเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ pre- เปเบฅเบฐ / เบซเบผเบท post-processors (เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบˆเบฑเบ”เบเบฒเบ™เบกเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ™เบตเป‰. เบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบˆเบธเบ” - เบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบเบˆเบฐเปƒเบŠเป‰เบซเบ™เป‰เบญเบเปเบฅเบฐ scss).

เบ•เบปเบงเป€เบฅเบทเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เปƒเบ™เบงเบฝเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบงเปˆเบฒ JS เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบš - slider เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบŠเปเปˆ เปเบฅเบฐ . เบกเบฐเบซเบฑเบ”เบชเบฐเบˆเบฑเบ™เบ—เบฑเบ‡เปเบปเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ—เบตเปˆเบฅเบฐเบ”เบฑเบšเบ•เบปเบงเป€เบฅเบทเบญเบ #button-N:checked ~ .slider-inner .slider-slides. เป€เบกเบทเปˆเบญโ€‹เป€เบฎเบปเบฒโ€‹เบ„เบฅเบดเบโ€‹เปƒเบชเปˆโ€‹เบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹เบ›เปˆเบญเบ‡โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เบ›เป‰เบญเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹, เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เป„เบ”เป‰โ€‹. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบŠเป‰โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เปเบฅเบฐโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบเบฑเบšโ€‹เบžเบฒโ€‹เบŠเบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆโ€‹เบกเบต slides เป„เบ”เป‰โ€‹: transformโ€‹: translate(-33โ€‹%โ€‹)โ€‹. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ slider เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบฅเบฒเบเบŠเบทเปˆเปเบšเบšเป€เบฅเบทเปˆเบญเบ™เบฅเบปเบ‡. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเบฑเบ‡เบฅเบปเบ‡เบกเบฒ เปเบฅเบฐเบ•เบปเบงเป€เบฅเบทเบญเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™: .accordion-item input:checked ~ .accordion-item__content. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบกเบต :hover, :active เปเบฅเบฐ :focu* states. เบˆเบธเบ”เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบ. เบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบกเบฑเบ™. เบœเบนเป‰เปƒเบŠเป‰เบ„เบงเบ™เป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบ„เบถเบ”เบ„เปเบฒเป€เบซเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบเบฐเบ—เปเบฒเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเบฐเป€เบซเบกเบต. เบฅเบฒเบเบเบฒเบ™เบ™เบตเป‰เบ–เบทเบเบเบงเบ”เบชเบญเบšเบ•เบฐเบซเบผเบญเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเปเบšเบšเบชเบญเบšเบ–เบฒเบก. เบ–เป‰เบฒเบ‚เป‰เบญเบเบ„เบฅเบดเบเปƒเบชเปˆเบ›เบธเปˆเบก "เป‚เบ—เบซเบฒเบ‚เป‰เบญเบ" เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบšเปเปˆเป€เบซเบฑเบ™เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™ (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ–เบทเบเบชเบปเปˆเบ‡), เบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบ”เบต, เป€เบžเบฒเบฐเบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบฐเบ„เบฅเบดเบเบกเบฑเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบญเบตเบเบ„เบฑเป‰เบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบดเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เปเบฅเบฐเบ‚เป‰เบญเบเบˆเบฐเบ–เบทเบเป€เบญเบตเป‰เบ™เบ„เบทเบ™เบชเบดเบšเป€เบ—เบทเปˆเบญ. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบšเปเปˆเบฅเบทเบกเบงเปˆเบฒเบญเบธเบ›เบฐเบเบญเบ™เบกเบทเบ–เบทเบšเปเปˆเบกเบตเบซเบ™เบน, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบšเปเปˆเบ„เบงเบ™เบกเบต hover. เปเบฅเบฐเบญเบตเบเบˆเบธเบ”เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบœเบนเป‰เบ—เบตเปˆเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบˆเบธเบ”เบเปˆเบฝเบงเบเบฑเบš semantics. เบ–เป‰เบฒเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบšเปเปˆเปเบกเปˆเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเปเบšเบšเป‚เบ•เป‰เบ•เบญเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบฅเบทเปˆเบญเบ™เปƒเบชเปˆเบ•เบปเบงเบเบฐเบžเบดเบšเบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡ untidy เบซเบผเบฒเบ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบ‚เบฝเบ™เบ•เบดเบเบดเบฃเบดเบเบฒเบ—เบตเปˆเบˆเบฐ hover. เบขเปˆเบฒเบ›เบฐเป€เบกเบตเบ™เบ„เปˆเบฒเป€เบ„เบตเป€เบŠเบต: เบ•เบปเบงเบŠเบตเป‰.

เบžเบฒเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบเบดเบฅเบดเบเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเปเบกเปˆเบ™เบเป‰เบฝเบ‡. เบšเปเปˆโ€‹เบกเบตโ€‹เบซเบเบฑเบ‡โ€‹เปƒเบ™โ€‹เบŠเบตโ€‹เบงเบดเบ”โ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹เบ—เบฑเบ™โ€‹เปƒเบ”โ€‹, เบชเบฐโ€‹เบ™เบฑเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™ hover เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เป„เบซเบงโ€‹เปเบกเปˆเบ™โ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เป€เบ›เบฑเบ™โ€‹เบชเบธเบโ€‹เบซเบผเบฒเบโ€‹. เบ”เบต, เบœเบนเป‰เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง slider เปเบฅเบฐเบฅเบฒเบเบŠเบทเปˆเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบกเปˆเบ™เบ”เบตเบซเบผเบฒเบ.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบŠเบตเบซเบฅเป‰เบฒเบชเบธเบ”. เบซเบผเบฒเบเบ„เบปเบ™เปƒเบŠเป‰ flex, เปเบ•เปˆเบšเปเปˆเบกเบตเปƒเบœเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบซเบ™เป‰เบฒเบงเบฝเบเป‚เบ”เบเปƒเบŠเป‰เบ•เบฒเบ‚เปˆเบฒเบเป„เบŸเบŸเป‰เบฒ. เบˆเบธเบ”เบ–เบทเบเบ™เบฑเบšเบ–เป‰เบฒ flex เบ–เบทเบเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบ–เป‰เบฒเบšเบฒเบ‡เบšเปˆเบญเบ™เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เปเบ•เบเปเบเบเบเบฑเบ™เบเป‰เบญเบ™เบเบฒเบ™เป€เปœเบฑเบ‡เบ•เบตเบ‡เบซเบผเบฒเบ, เบญเบฐเบ™เบดเบˆเบฒ, เป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบธเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบšเบšเบŸเบญเบก. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐเบงเบฑเบ”เบชเบฐเบ”เบธเบ›เป‰เบญเบ™เบ‚เบญเบ‡เปเบšเบšเบŸเบญเบก. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เป€เบžเบตเปˆเบกโ€‹เบˆเบธเบ”โ€‹เปƒเบซเป‰โ€‹เบœเบนเป‰โ€‹เบ—เบตเปˆโ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบžเบฒเบโ€‹เบชเบฐโ€‹เบซเบ™เบฒเบกโ€‹เบญเบตโ€‹เป€เบกเบงโ€‹เป€เบ›เบฑเบ™โ€‹เบญเบตโ€‹เป€เบกเบฅโ€‹เปŒโ€‹.

เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบ›เบธเปˆเบกเบญเบฑเบšเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒ. เบžเบงเบเป€เบฎเบปเบฒเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเป€เบซเบฑเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบŠเบฑเปˆเบ™: เปเบฅเบฐ เป€เบฅเบทเบญเบเป„เบŸเบฅเปŒ . เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบŠเบทเปˆเบญเบ‡เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบชเบฐเป„เบ•เบฅเปŒเบ›เป‰เบฒเบเบŠเบทเปˆ. เบกเบตเบงเบดเบ—เบตเบ—เบปเปˆเบงเป„เบ›เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡ - เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ›เปˆเบ‡เปƒเบชเปเบฅเบฐเปƒเบชเปˆเบกเบฑเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ›เบธเปˆเบก. เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบˆเบฑเบ”เบฎเบนเบšเปเบšเบš , เปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เป‰เบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”. เปเบฅเบฐเบกเบฑเบ™เป€เบ›เบฑเบ™ semantic เบซเบผเบฒเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เป‰เบฒเบเบŠเบทเปˆ.

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบตเบขเบนเปˆเปƒเบ™เบชเบญเบ‡เบชเบฐเบšเบฑเบšเบซเบฅเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก (เป‚เบ”เบเบšเปเปˆเบกเบต IE - เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปเบกเปˆเบ™เป‚เบŠเบเบ”เบต), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปƒเบ™ Safari เปƒเบ™ iPhones เปเบฅเบฐ Chrome เปƒเบ™ Androids.

เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบซเบฑเบเบˆเบธเบ”เบ–เป‰เบฒเบœเบนเป‰เปƒเบ”เบœเบนเป‰เบ™เบถเปˆเบ‡เปƒเบŠเป‰ JS เบซเบผเบท Bootstrap: เบ—เบฑเบ‡เบชเบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบ—เปเบฒเบฅเบฒเบเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ—เบตเปˆเบกเบต Bootstrap เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป„เบ”เป‰เบฎเบฑเบšเบฅเบปเบš, เปเบ•เปˆเบเบฑเบ‡เบชเบนเบ™เป€เบชเบเบซเบผเบฒเบเบˆเบธเบ”เบชเปเบฒเบฅเบฑเบš semantics เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”.

เบœเบนเป‰เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ - เปเบ•เปˆเบ™เบฑเบเบ—เบปเบšเบ—เบงเบ™เบ”เบตเปƒเบˆเบซเบผเบฒเบเป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เบฒเบงเป‚เบซเบฅเบ” repositories เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเบดเปˆเบ‡เบ™เบตเป‰เป„เบ”เป‰เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเป€เบ›เบฑเบ™เบšเบงเบเบชเปเบฒเบฅเบฑเบš karma.

เบงเบฝเบเบ‡เบฒเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบฎเบฝเบ™. เบœเบนเป‰เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบเบญเบกเบฎเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบตเบŠเบตเบงเบฐเบ›เบฐเบซเบงเบฑเบ”เบ—เบตเปˆเบเบฝเบกเป„เบงเป‰ - เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบกเบฑเบ™เบเบฑเบšเบ„เปเบฒเบ•เบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบซเบผเบทเบ›เบฐเบเบฒเบ”เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒ gh เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบงเบฝเบเบ‡เบฒเบ™เบ—เบต 2: เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡

เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบซเบปเบงเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบเบธเปˆเบกเบ„เบปเป‰เบ™เบซเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Denis Balyko.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เป€เบˆเบปเป‰เบฒเบกเบตเปเบœเบ™เบ—เบตเปˆเบ”เบฒเบงเบšเป? เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เบŠเบทเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ”เบฒเบง, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป„เบฅเบเบฐเบซเปˆเบฒเบ‡เบˆเบฒเบเบกเบฑเบ™เป„เบ›เบซเบฒเบ”เบฒเบงเบญเบทเปˆเบ™เป†เปƒเบ™เบงเบดเบ™เบฒเบ—เบตเปเบชเบ‡เบชเบฐเบซเบงเปˆเบฒเบ‡. เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบเบฒเบ™เปเบเป‰เป„เบ‚, เป€เบŠเบดเปˆเบ‡เบ„เบงเบ™เปƒเบŠเป‰เบชเบฒเบกเบ‚เปเป‰เป‚เบ•เป‰เปเบเป‰เบ‡: เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบเบฐเปเบˆเปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ”เบงเบ‡เบ”เบฒเบง, เปเบฅเบฐเบ„เปˆเบฒเปเบกเปˆเบ™เป„เบฅเบเบฐเบซเปˆเบฒเบ‡เบ‚เบญเบ‡เบ”เบงเบ‡เบ”เบฒเบง (เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฒเบ‡เบ”เบฝเบงเปƒเบ™เบญเบฒเบงเบฐเบเบฒเบ”), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบŠเบทเปˆเบ‚เบญเบ‡. เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ - เป€เบฅเบตเปˆเบกเปเบฅเบฐเบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบŸเบฑเบ‡เบŠเบฑเบ™เบ„เบงเบ™เบเบฑเบšเบ„เบทเบ™เป„เบฅเบเบฐเบ—เบฒเบ‡เบ—เบตเปˆเบชเบฑเป‰เบ™เบ—เบตเปˆเบชเบธเบ”เบˆเบฒเบเบ”เบฒเบงเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ›เบซเบฒเบ”เบฒเบงเบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบšเปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก.

เบฅเบฒเบเป€เบŠเบฑเบ™เบŸเบฑเบ‡เบŠเบฑเบ™:

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/ folder, เป€เบญเบปเบฒโ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เปƒเบ™ solution.js.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบตเปˆเบชเบธเบ”. เบœเบนเป‰เบŠเบฒเบเบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบ”เบปเบฒเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบญเบ‡ Dijkstra. เบœเบนเป‰เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ” algorithm เปƒเบ™ JS เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เบ”เบต. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป€เบกเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเป€เบญเบเบฐเบชเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ”เบฝเบงเบเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบ„เบปเป‰เบ™เบซเบฒเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบชเปเบฒเบฅเบฑเบšเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบžเบปเบšเป€เบซเบฑเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเป„เบ”เป‰เบ„เบฑเบ”เบฅเบญเบเบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ. เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ•เบฐเบซเบฅเบปเบเบ—เบตเปˆเบซเบผเบฒเบเบ„เบปเบ™เบ„เบฑเบ”เบฅเบญเบเบฅเบฐเบซเบฑเบ”เบˆเบฒเบเบšเบปเบ”เบ„เบงเบฒเบกเบžเป‰เบญเบกเบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™เบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฝเบ™. เบงเบฝเบเบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบฎเบฑเบšเบ„เบฐเปเบ™เบ™เบ•เปเปˆเบฒ. เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบซเป‰เบฒเบกเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบšเบธเบเบ„เบปเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบฅเบฒเบงเบ‚เบฝเบ™.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เบˆเบธเบ”เบ•เบปเป‰เบ™เบ•เปเป„เบ”เป‰เบฎเบฑเบšเบฎเบฒเบ‡เบงเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบœเบนเป‰เบŠเบฒเบเบเปเบฒเบฅเบฑเบ‡เบชเบฑเบšเบชเบปเบ™เบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเป‚เบŸเบ™เป€เบ”เบต, เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบงเบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบ›เบตเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบŠเปˆเบงเบเบ„เบปเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบซเป‰เบเบฑเบšเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เปเบ•เปˆเปƒเบ™เบ›เบตเบซเบ™เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฐเบเบงเบ”, เปเบฅเบฐเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เปƒเบซเป‰เบญเบฐเป„เบžเบญเบตเบเบ•เปเปˆเป„เบ›.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰เบเบฑเบ‡เบกเบต "เบกเบฐเบ™เบธเบ”", เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ„เบนเปˆเบกเบท. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบฅเบฐเบซเบฑเบ”เบ”เบฝเบง. เบšเปเปˆเบกเบตเปƒเบœเบซเบฑเบเบˆเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบ–เบšเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบซเบผเบทเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบญเบทเปˆเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฐเบซเบผเบฑเบšเบงเบปเบ‡เบขเบทเบกเบ”เบฝเบงเบเบฑเบšเบงเบปเบ‡เบขเบทเบกเบ„เบนเปˆเบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบšเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบฎเบนเป‰เบˆเบฑเบ, เปเบฅเบฐเบงเบฒเบ‡ semicolons random.

เบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™เปเบฅเบฐเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป‚เบฅเบเบžเบงเบเป€เบ‚เบปเบฒเป€เบงเบปเป‰เบฒเบงเปˆเบฒ 80% เบ‚เบญเบ‡เบงเบฝเบเบ‚เบญเบ‡เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบญเปˆเบฒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™. เปเบกเปˆเบ™เปเบ•เปˆเบ™เบฑเบเบฎเบฝเบ™เปƒเบ™เป‚เบฎเบ‡เบฎเบฝเบ™เบเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบฅเบฐเบซเบฑเบ” - เบˆเบฒเบ curators เปเบฅเบฐเบˆเบฒเบเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฒเบ”เบ–เบฒเบ™เบ™เบตเป‰เบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เป„เบ”เป‰เบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเปเบ›เบ—เบตเปˆเบเบฒเบงเบเบงเปˆเบฒเปœเบถเปˆเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ - เบเบฐเบฅเบธเบ™เบฒเบขเปˆเบฒเป€เบฎเบฑเบ”เปเบ™เบงเบ™เบฑเป‰เบ™. เบ„เปเบฒเป€เบซเบฑเบ™เบˆเบฒเบเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปเบกเปˆเบ™เปƒเบซเป‰เบเปเบฒเบฅเบฑเบ‡เปƒเบˆเบซเบผเบฒเบ - เบเบปเบเป€เบงเบฑเป‰เบ™เบ„เปเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™เบ‚เบญเบ‡ Stella Chang.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบชเบฒเบกเบ„เบปเบ™เป€เบžเบตเปˆเบกเบžเบงเบเบกเบฑเบ™, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบ„เบปเบ™, เบกเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบšเบงเบเบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เปƒเบ™ karma เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡โ€‹:

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: เบ›เบฐเบ•เบดเบ—เบดเบ™เป€เบซเบ”เบเบฒเบ™

เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเป‚เบ”เบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Sergey Kazakov เปเบฅเบฐ Alexander Podskrebkin.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เบ‚เบฝเบ™เบ›เบฐเบ•เบดเบ—เบดเบ™เบ™เป‰เบญเบเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบเบญเบ‡เบ›เบฐเบŠเบธเบก frontend เปƒเบ™เบ›เบต 2019.

เบ›เบฐเบ•เบดเบ—เบดเบ™เบ„เบงเบ™เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบ›เบฑเบ™เบฅเบฒเบเบเบฒเบ™. เบšเปเปˆเบกเบตเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบญเบญเบเปเบšเบšเบญเบทเปˆเบ™เป†. เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เป€เบซเบ”เบเบฒเบ™ 3, 7 เปเบฅเบฐ 14 เบกเบทเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ”เบฒเบงโ€‹เป‚เบซเบผเบ”โ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹เบˆเบฒเบโ€‹เบญเบดเบ™โ€‹เป€เบ•เบตโ€‹เป€เบ™เบฑเบ”โ€‹, เบ›เบฐโ€‹เบ•เบดโ€‹เบ—เบดเบ™โ€‹เบ„เบงเบ™โ€‹เบˆเบฐโ€‹เป€เบ›เบตเบ”โ€‹เปเบฅเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบ offlineโ€‹.

เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบญเบ‡เบ›เบฐเบŠเบธเบก Frontend:
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 เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก (เปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ fetch เบซเบผเบทเปƒเบŠเป‰ XMLHttpRequest). เบ–เป‰เบฒเบšเบธเบเบ„เบปเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เป€เบžเบตเปˆเบก polyfill เบชเปเบฒเบฅเบฑเบš fetch เปเบฅเบฐเบซเบกเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบฅเบฒเบงเปƒเบ™ readme, เบ™เบตเป‰เบˆเบฐเบ–เบทเบเบ™เบฑเบšเป€เบ›เบฑเบ™เบšเบงเบ.

เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบŸเป„เบฅเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เบ—เปเบฒเบญเบดเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡ เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ caching เปƒเบ™ boot เบ—เปเบฒเบญเบดเบ”. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ (เบเบธเบ”เบ—เบฐเบชเบฒเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ, เป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบŸเป„เบฅ) เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰เบ—เบตเปˆเบ™เบตเป‰.

เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เป€เบ•เบทเบญเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบปเบงเบˆเบดเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบ 3, 7, 14 เบกเบทเป‰. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆ API เบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบญเบฑเบ™เปƒเบ” เปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ„เบฒเบ”โ€‹เบซเบงเบฑเบ‡โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เป€เบžเบทเปˆเบญโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เป€เบšเบดเปˆเบ‡โ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เป€เบ–เบดเบ‡โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบŠเบธเบโ€‹เบเบนเป‰โ€‹. เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบญเบกโ€‹เบฎเบฑเบšโ€‹: เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เปƒเบ™ localStorageโ€‹, IndexDB เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบซเบผเบงเบ”โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบฅโ€‹เบเบฐโ€‹เป‚เบ”เบโ€‹เบžเบฐโ€‹เบ™เบฑเบโ€‹เบ‡เบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบŠเบธเบเบเบนเป‰ (เบ—เบตเปˆเบ™เบตเป‰ เบ•เบปเบงเบขเปˆเบฒเบ‡), เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบŸเป„เบฅ. เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบซเบ™เป‰เบฒเบ–เบทเบเบ›เบดเบ” - เปเบฅเบฐเป€เบ›เบตเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบงเบฅเบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡. เบ–เป‰เบฒเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบ•เบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ–เบทเบเบ›เบดเบ”, เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เบฑเบš. เบกเบฑเบ™เป€เบขเบฑเบ™เบ”เบตเป€เบกเบทเปˆเบญเบžเบงเบเบœเบนเป‰เบŠเบฒเบเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เบ—เบปเบšเบ—เบงเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ - เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบฅเปเบ–เป‰เบฒ 3 เบกเบทเป‰.

เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบงเบฒเบ‡ icon เปƒเบ™ desktop เป„เบ”เป‰ (เบ›เบ›เบช). เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เป„เบŸเบฅเปŒ manifest.json เบกเบตเป„เบญเบ„เบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เบœเบนเป‰เบŠเบฒเบเบšเบฒเบ‡เบ„เบปเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบ™เบตเป‰ (เบซเบผเบทเบ›เบฐเป„เบงเป‰เบกเบฑเบ™เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™ CreateReactApp) - เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เป€เบžเบตเปˆเบกเป„เบญเบ„เบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบžเบฐเบเบฒเบเบฒเบกเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบŠเบฑเปˆเบ™ "เบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบญเบ„เบญเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™" เป€เบเบตเบ”เบ‚เบทเป‰เบ™.

Codestyle เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเบชเบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™ codestyle เบ”เบฝเบง (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบเบปเบ‡เบเบฑเบ™เบเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ). เบœเบนเป‰เบŠเบฒเบเบšเบฒเบ‡เบ„เบปเบ™ screwed เบชเบธเบ” linters - เบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆ.

เบ„เบญเบ™เป‚เบŠเบ™เบœเบดเบ”เบžเบฒเบ”. เบ–เป‰เบฒเบกเบตเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™ console เบงเปˆเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบšเปเปˆเป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบกเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบซเบฑเบเบˆเบธเบ”.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เบฐเบซเบฅเบปเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก:

  • เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบซเบ™เบถเปˆเบ‡เบกเบตเบ‚เปเป‰เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰: โ€œเป€เบžเบทเปˆเบญเบ™เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเป„เบ”เป‰เบŠเปˆเบงเบเบ‚เป‰เบญเบเป€เบญเบปเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ React เบฎเปˆเบงเบกเบเบฑเบ™. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบดเป‰เบกเบฅเบฐเป€เบšเบตเบ”เปƒเบชเปˆเบฅเบฒเบงเบ”เป‰เบงเบเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡, เปเบฅเบฐเบฅเบฒเบงเบšเบญเบเบ‚เป‰เบญเบ. เบ‚เป‰เบญเบเบกเบฑเบเบกเบฑเบ™เบซเบผเบฒเบ, เบ‚เป‰เบญเบเบขเบฒเบเบฎเบนเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™.โ€ เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบปเปˆเบ‡เบฎเบฒเบเบญเบญเบเบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ™เบตเป‰เบ”เป‰เบงเบเบซเบปเบงเปƒเบˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบซเบกเบนเปˆเป€เบžเบทเปˆเบญเบ™เบ‚เบญเบ‡เบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบšเปเปˆเป„เบ”เป‰เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบฎเบฑเบ”เบงเบฝเบ.
  • เบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบ„เบปเบ™เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบชเบปเปˆเบ‡เบฅเบดเป‰เบ‡เป„เบ›เบซเบฒ GitHub, เบšเปˆเบญเบ™เบ—เบตเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ RAR เบ•เบฑเป‰เบ‡เบขเบนเปˆ - เบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰. ๐Ÿ™‚
  • เบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบ„เบปเบ™เบญเบทเปˆเบ™, เปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเปเบ–เบงเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒ solution.js, เบเบญเบกเบฎเบฑเบšเบขเปˆเบฒเบ‡เบŠเบทเปˆเบชเบฑเบ”เบงเปˆเบฒเบฅเบฒเบงเป„เบ”เป‰เบ„เบฑเบ”เบฅเบญเบ algorithm.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเปƒเบšเบชเบฐเปเบฑเบเบˆเบฒเบเบœเบนเป‰เบชเบฐเปเบฑเบเบ—เบฑเบ‡เปเบปเบ” 76 เบ—เปˆเบฒเบ™ เปเบฅเบฐ เป€เบฅเบทเบญเบเป€เบญเบปเบฒ 23 เบ„เบปเบ™. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบˆเบฒเบ Minsk, เปเบ•เปˆเบเบฑเบ‡เบกเบฒเบˆเบฒเบ Moscow, St. Petersburg เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ Tatarstan. เบœเบนเป‰เบŠเบฒเบเบšเบฒเบ‡เบ„เบปเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบซเบฅเบฒเบ”เปƒเบˆเบเบฑเบšเบญเบฒเบŠเบตเบšเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ: เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™ forensic, เปเบฅเบฐเบญเบตเบเบ„เบปเบ™เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบ™เบฑเบเบชเบถเบเบชเบฒเปเบžเบ”.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบญเบฑเบ”เบ•เบฒเบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™. เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเป„เบ”เป‰เบชเปเบฒเป€เบฅเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบ—เบต 60 เบชเบฐเป€เบฅเปˆเบ 50%, เบ„เบฑเป‰เบ‡เบ—เบต 40 เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰ XNUMX%, เปเบฅเบฐ เบญเบฑเบ™เบ”เบฑเบšเบ—เบต XNUMX เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐ เบชเปเบฒเป€เบฅเบฑเบ”เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบ XNUMX%.

เบขเบนเปˆ glance เบ—เปเบฒเบญเบดเบ”, เบงเบฝเบเบ‡เบฒเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบชเบฑเบšเบชเบปเบ™เปเบฅเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบ. เป€เบซเบ”เบœเบปเบ™เบšเปเปˆเปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบเปเบฒเบˆเบฑเบ”เบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเบถเบเบชเบฒเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ, เบ™เบฑเบเบชเบถเบเบชเบฒเบเปเบฒเบฅเบฑเบ‡เบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ - เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ, Yandex.Music เบชเปเบฒเบฅเบฑเบšเป€เบ”เบฑเบเบ™เป‰เบญเบเบซเบผเบท Yandex.Weather เบชเปเบฒเบฅเบฑเบšเบ›เบฐเบŠเบฒเบŠเบปเบ™เบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเบญเบฒเบเบฒเบ”. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ‚เป‰เบญเบเบˆเบทเปˆเป„เบ”เป‰เบงเปˆเบฒเป€เบซเบฑเบ™เบงเบฝเบเป€เบ‚เบปเป‰เบฒ SRI เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบกเบทเปˆเบญเบชเบญเบ‡เบ›เบตเบเปˆเบญเบ™เปเบฅเบฐเบ„เบดเบ”เบงเปˆเบฒเบ‚เป‰เบญเบเบšเปเปˆเป€เบ„เบตเบเปเบเป‰เป„เบ‚เบกเบฑเบ™. เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ™เบฑเปˆเบ‡เบฅเบปเบ‡, เบญเปˆเบฒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบฎเบฑเบ”เบกเบฑเบ™. เบกเบฑเบ™ turns เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹เป€เบเบทเบญเบš 80โ€‹% เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เป„เบ”เป‰โ€‹. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเบชเบฒเบก (เบเบฒเบเบ—เบตเปˆเบชเบธเบ”), เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐ Notifications API เปƒเบ™ MDN. เบ™เบฑเบเบชเบถเบเบชเบฒเบœเบนเป‰เบ—เบตเปˆเป„เบ”เป‰เบชเบถเบเบชเบฒเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเปเบฒเป€เบฅเบฑเบ”เบกเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบ.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเปเปˆเบขเบฒเบเปƒเบซเป‰เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ–เบทเบเบญเปˆเบฒเบ™เป‚เบ”เบเบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒ SRI เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบœเบนเป‰เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป‚เบฎเบ‡เบฎเบฝเบ™ Minsk, เบซเบผเบทเบœเบนเป‰เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบทเปˆเบ™เป†. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเบ™เบฑเป‰เบ™. เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเปƒเบ™เบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡เปเบฅเบฐเบŸเบฑเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบเบœเบนเป‰เบ‚เบฝเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™