рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕реНрдХреВрд▓: рдорд┐рдиреНрд╕реНрдХрд╕рд╛рдареА рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдореЙрд╕реНрдХреЛрдордзреАрд▓ рдирд╡реАрди рд╕реЗрдЯ

рдЖрдЬ рдирд╡реАрди рдирд╛рд╡рдиреЛрдВрджрдгреА рд╕реБрд░реВ рдЭрд╛рд▓реА рдпрд╛рдВрдбреЗрдХреНрд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕реНрдХреВрд▓ рдореЙрд╕реНрдХреЛ рдордзреНрдпреЗ. рдкреНрд░рд╢рд┐рдХреНрд╖рдгрд╛рдЪрд╛ рдкрд╣рд┐рд▓рд╛ рдЯрдкреНрдкрд╛ 7 рд╕рдкреНрдЯреЗрдВрдмрд░ рддреЗ 25 рдСрдХреНрдЯреЛрдмрд░ рдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрдд рд╣реЛрдгрд╛рд░ рдЖрд╣реЗ. рдЗрддрд░ рд╢рд╣рд░рд╛рдВрддреАрд▓ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдпрд╛рдордзреНрдпреЗ рджреВрд░рд╕реНрдердкрдгреЗ рдХрд┐рдВрд╡рд╛ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рд╕рд╣рднрд╛рдЧреА рд╣реЛрдК рд╢рдХрддреАрд▓ - рдХрдВрдкрдиреА рд╡рд╕рддрд┐рдЧреГрд╣рд╛рддреАрд▓ рдкреНрд░рд╡рд╛рд╕ рдЖрдгрд┐ рдирд┐рд╡рд╛рд╕ рдпрд╛рд╕рд╛рдареА рдкреИрд╕реЗ рджреЗрдИрд▓. рджреБрд╕рд░рд╛, рдЕрдВрддрд┐рдо рдЯрдкреНрдкрд╛ 3 рдбрд┐рд╕реЗрдВрдмрд░рдкрд░реНрдпрдВрдд рдЪрд╛рд▓реЗрд▓, рддреЛ рдХреЗрд╡рд│ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдорд╛рдЭреЗ рдирд╛рд╡ рдпреБрд▓рд┐рдпрд╛ рд╕реЗрд░реЗрдбрд┐рдЪ рдЖрд╣реЗ, рдЖрдореНрд╣реА рд╕рд░реНрдЧреЗрдИ рдХрд╛рдЭрд╛рдХреЛрд╡реНрд╣рд╕рд╣ рд╣реЗ рдкреЛрд╕реНрдЯ рд▓рд┐рд╣рд┐рд▓реЗ. рдЖрдореНрд╣реА рджреЛрдШреЗрд╣реА рдпрд╛рдВрдбреЗрдХреНрд╕рдЪреНрдпрд╛ рдорд┐рдиреНрд╕реНрдХ рдХрд╛рд░реНрдпрд╛рд▓рдпрд╛рддреАрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрдгрд┐ рдорд╛рдЧреАрд▓ рд╡рд░реНрд╖рд╛рддреАрд▓ SRI рдЪреЗ рдкрджрд╡реАрдзрд░ рдЖрд╣реЛрдд.

рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕реНрдХреВрд▓: рдорд┐рдиреНрд╕реНрдХрд╕рд╛рдареА рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдореЙрд╕реНрдХреЛрдордзреАрд▓ рдирд╡реАрди рд╕реЗрдЯ

рдореЙрд╕реНрдХреЛрдордзреНрдпреЗ рдиреЛрдВрджрдгреА рд╕реБрд░реВ рдЭрд╛рд▓реНрдпрд╛рдЪреНрдпрд╛ рдирд┐рдорд┐рддреНрддрд╛рдиреЗ, рдЖрдореНрд╣реА рдорд╛рдЧреАрд▓ рд╢рд╛рд│реЗрдЪреНрдпрд╛ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдд рдЖрд╣реЛрдд - рдпреЗрдереЗ рдорд┐рдиреНрд╕реНрдХрдордзреНрдпреЗ.

рдЬрд░ рддреБрдореНрд╣реА рдПрд╕рдЖрд░рдЖрдп рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╢реЛрдзрд▓рд╛рдд, рддрд░ рд╡рд░реНрд╖рд╛рдиреБрд╡рд░реНрд╖реЗ рдЖрдореНрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рддреАрди рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдХреМрд╢рд▓реНрдпрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрддрд▓реА:

  • рдорд╛рдВрдбрдгреА. рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рдорд╛рдВрдбрдгреА рдХрд░рддрд╛ рдЖрд▓реА рдкрд╛рд╣рд┐рдЬреЗ. рдЕрд╕реЗ рд╣реЛрдд рдирд╛рд╣реА рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдВрдХрд▓ рд╕реЗрд░рд┐рдпреЛрдЭрд╛ тАЛтАЛрдЖрд╣реЗрдд рдЬреЗ рд╕рдВрдкреВрд░реНрдг рдЯреАрдорд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХрд░рддрд╛рдд рдЖрдгрд┐ рддреБрдореНрд╣реА рдлрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рддрд╛. рддреНрдпрд╛рдореБрд│реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдиреЗ рдЯрд╛рдЗрдкрд╕реЗрдЯ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рд╣реЗ рддреНрдпрд╛рд▓рд╛ рдХрд╕реЗ рдХрд│рддреЗ рд╣реЗ рджрд╛рдЦрд╡рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
  • JavaScript. рдЬрд░ рд╣реЗ рдкреНрд░рдХрд░рдг рдорд╛рдВрдбрдгреАрдкреБрд░рддреЗ рдорд░реНрдпрд╛рджрд┐рдд рдЕрд╕реЗрд▓ рддрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдЪреА рд╢рд╛рд│рд╛ рдирд╕реВрди рд▓реЗрдЖрдЙрдЯ рдбрд┐рдЭрд╛рдЗрдирд░реНрд╕рдЪреА рд╢рд╛рд│рд╛ рдЖрд╣реЗ. рд╕реБрдВрджрд░ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреБрдирд░реБрдЬреНрдЬреАрд╡рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЬреЗрдПрд╕рд╕рд╛рдареА рдиреЗрд╣рдореАрдЪ рдПрдХ рдХрд╛рд░реНрдп рдЕрд╕рддреЗ, рдкрд░рдВрддреБ рдХрдзреАрдХрдзреА рддреЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╕рд╛рдареА рджреЗрдЦреАрд▓ рдПрдХ рдХрд╛рд░реНрдп рдЕрд╕рддреЗ - рдЖрдореНрд╣рд╛рд▓рд╛ рддреЗ рдЦреВрдк рдЖрд╡рдбрддрд╛рдд.
  • рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ рд╣реЗ рдХрджрд╛рдЪрд┐рдд рд╡рд┐рдХрд╕рдХрд╛рдЪреЗ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдХреМрд╢рд▓реНрдп рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдпреЗрддреЗ рддреЗрд╡реНрд╣рд╛ рдЧреЛрд╖реНрдЯреА рдЦреВрдк рд▓рд╡рдХрд░ рдмрджрд▓рдд рдЕрд╕рддрд╛рдд. рд╣реЗ рд▓реБрдИрд╕ рдХреЕрд░реЛрд▓рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ: "рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдЪ рдард┐рдХрд╛рдгреА рд░рд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рдзрд╛рд╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рджреБрд╕рд░реНтАНрдпрд╛ рдард┐рдХрд╛рдгреА рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рджреБрдкреНрдкрдЯ рд╡реЗрдЧрд╛рдиреЗ рдзрд╛рд╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓." рджрд░рд░реЛрдЬ рдЖрдореНрд╣реА рдирд╡реАрди рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЛ - рдЖрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рддрд┐рд╕рд▒реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдордзреНрдпреЗ, рдЖрдореНрд╣реА рдЕрд╢рд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╕ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рд▓рд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рд╢реА рдирд╡рд╢рд┐рдХреНрдпрд╛ рд╡рд┐рдХрд╕рдХ рд╕рд╣рд╕рд╛ рдкрд░рд┐рдЪрд┐рдд рдирд╕рддрд╛рдд.

рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдордзреНрдпреЗ, рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЗрд╡рд│ рдпреЛрдЧреНрдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдмрджреНрджрд▓рдЪ рдирд╛рд╣реА рддрд░ рд╕рд╛рдорд╛рдиреНрдп рдЪреБрдХрд╛рдВрдмрджреНрджрд▓ рджреЗрдЦреАрд▓ рд╕рд╛рдВрдЧреВ.

рдХрд╛рд░реНрдп 1: рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдУ

рдкрд╣рд┐рд▓реЗ рдХрд╛рдо Yandex.Collections рдЪреЗ рдбрд┐рдЭрд╛рдпрдирд░ Alexey Cherenkevich рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рд▓рд╛ рд▓реЗрдЖрдЙрдЯ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рд╕реЗрд╡рд╛ рд╕рд╣рдХрд╛рд░реА, рдЗрдВрдЯрд░рдлреЗрд╕ рдбреЗрд╡реНрд╣рд▓рдкрд░ рд╕реЗрд░реНрдЧреЗрдИ рд╕реЕрдорд╕реЛрдиреЛрд╡реНрд╣.

рдЕрдЯ

рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдУ рд╡реЗрдмрд╕рд╛рдЗрдЯ рддрдпрд╛рд░ рдХрд░рд╛: рдЖрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛рдмрджреНрджрд▓, рддреБрдордЪреНрдпрд╛ рдХрд╛рдорд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рд╢рд╛рд│реЗрдХрдбреВрди рддреБрдордЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдВрдмрджреНрджрд▓ рд╕рд╛рдВрдЧрд╛. рд╕рд╛рдЗрдЯрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд▓реЗрдЖрдЙрдЯрд╢реА рд╢рдХреНрдп рддрд┐рддрдХреЗ рдЕрдиреБрд░реВрдк рдЕрд╕рд╛рд╡реЗ (рд▓реЗрдЖрдЙрдЯрдЪреЗ рджреБрд╡реЗ: 1000px, 600px, 320px, рддрдкрд╢реАрд▓). рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд▓реЗрдЖрдЙрдЯрдордзреНрдпреЗ рд░рд╕ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдХреГрдкрдпрд╛ JavaScript рд╡рд╛рдкрд░реВ рдирдХрд╛.

рддрдкрд╛рд╕рддрд╛рдирд╛ рдЖрдореНрд╣реА рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдК:

  • рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдЖрдХрд╛рд░, рд░рдВрдЧ рдЕрдЪреВрдХрддрд╛, рдлреЙрдиреНрдЯ рд╢реИрд▓реА, рдлреЙрдиреНрдЯ рдЖрдХрд╛рд░;
  • рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд▓реЗрдЖрдЙрдЯ;
  • рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдЕрд╡рд╕реНрдерд╛рдВрдЪреА рдЙрдкрд╕реНрдерд┐рддреА: рдХрд░реНрд╕рд░ рдлрд┐рд░рд╡рдд рдЕрд╕рддрд╛рдирд╛ рдмрдЯрдгреЗ рдЖрдгрд┐ рджреБрд╡реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреЗ, рд╕рдХреНрд░рд┐рдп рдЗрдирдкреБрдЯ рдлреАрд▓реНрдб рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХрд░рдгреЗ рдЗ.;
  • рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЭрд░ рд╕реБрд╕рдВрдЧрддрддрд╛ (рд▓реЛрдХрдкреНрд░рд┐рдп рдмреНрд░рд╛рдЙрдЭрд░рдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдЪрд╛рдЪрдгреА рдХреЗрд▓реА).

рдлрд╛рдпрджрд╛ рд╣реЛрдИрд▓:

  • рдЖрдзреБрдирд┐рдХ рд╕реАрдПрд╕рдПрд╕ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪрд╛ рд╡рд╛рдкрд░: рдлреНрд▓реЗрдХреНрд╕рдмреЙрдХреНрд╕, рдЧреНрд░рд┐рдб рдЗ.;
  • рдЕрдиреБрдХреВрд▓реА рдорд╛рдВрдбрдгреА;
  • рдкреНрд░реА- рдЖрдгрд┐ (рдХрд┐рдВрд╡рд╛) рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд░рдЪрд╛ рд╡рд╛рдкрд░, рдЕрд╕реЗрдВрдмреНрд▓реА, рдорд┐рдирд┐рдлрд┐рдХреЗрд╢рди, рдЖрдЙрдЯрдкреБрдЯ рдХреЛрдбрдЪреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди;
  • HTML рдлреЙрд░реНрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рд╢реИрд▓реАрдХреГрдд рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдмрдЯрдг.

рдХрд╛рд░реНрдп рдЦреВрдк рдореЛрдареЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЖрдкрдг рдЬреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рддреЗ рд╡рдЧрд│реВ рд╢рдХрддрд╛. рдпрд╛рдореБрд│реЗ рддреБрдордЪрд╛ рд╕реНрдХреЛрдЕрд░ рдХрд┐рдВрдЪрд┐рдд рдХрдореА рд╣реЛрдИрд▓, рдкрд░рдВрддреБ рддрд░реАрд╣реА рддреБрдореНрд╣реА рддреБрдордЪреЗ рдЬреНрдЮрд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВ рд╢рдХрд╛рд▓. рддреБрдореНрд╣реА рдкреВрд░реНрдг рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдореНрд╣рд╛рд▓рд╛ рджреЛрди рд▓рд┐рдВрдХ рдкрд╛рдард╡рд╛ - рддреБрдордЪреНрдпрд╛ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдУрд╡рд░ рдЖрдгрд┐ GitHub рд╡рд░реАрд▓ рд╕реНрддреНрд░реЛрдд рдХреЛрдб.

рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрдордзреНрдпреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдорд╛рдВрдбрдгреА рдХреЗрд╡рд│ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕, рдЯреЕрдмреНрд▓реЗрдЯ рдЖрдгрд┐ рдбреЗрд╕реНрдХрдЯреЙрдкрд╕рд╛рдареА рд╕реНрдХреНрд░реАрдирд╕рд╣ рдирд╡реНрд╣рддреА рддрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╕рд╣ рджреЗрдЦреАрд▓ рд╣реЛрддреА.

рдкрд╣рд┐рд▓реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреАрдЪреНрдпрд╛ рдирд┐рдХрд╛рд▓рд╛рдд рд╢рдХреНрдп рддрд┐рддрдХреА рд╡рд╕реНрддреБрдирд┐рд╖реНрдарддрд╛ рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА, рдпрд╛ рддрдкрд╛рд╕рдгреАрд╕рд╛рдареА рдмрд░реЗрдЪ рдирд┐рдХрд╖ рд╣реЛрддреЗ.

рдирд┐рдХрд╖

рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯ. рд╣реЗ рд╕реНрдкрд╖реНрдЯ рджрд┐рд╕рддреЗ, рдкрд░рдВрддреБ рдХрд╛рд╣реА рд▓реЛрдХрд╛рдВрдиреА рдХрд╛рд╣реА рдмреНрд▓реЙрдХреНрд╕ рдкреВрд░реНрдгрдкрдгреЗ рд╡рдЧрд│рд▓реЗ - рдПрдХрддрд░ рддреНрдпрд╛рдВрдирд╛ рд╡реЗрд│ рд╡рд╛рдЪрд╡рд╛рдпрдЪрд╛ рд╣реЛрддрд╛ рдХрд┐рдВрд╡рд╛ рддреЗ рддреЗ рдХрд░реВ рд╢рдХрд▓реЗ рдирд╛рд╣реАрдд. рдорд╛рдВрдбрдгреА рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдЪрд╛рд░ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрдирдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ: рдЕрд╡рддрд╛рд░ рдЕрд╕рд▓реЗрд▓реА рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди, SRI рдХрдбреВрди рдЕрдкреЗрдХреНрд╖рд╛рдВрдЪреА рдпрд╛рджреА рдЕрд╕рд▓реЗрд▓рд╛ рдмреНрд▓реЙрдХ, рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдУрд╕рд╣ рдмреНрд▓реЙрдХ рдЖрдгрд┐ рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреАрд╕рд╣ рдмреНрд▓реЙрдХ. рддреЗ рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рдлрдХреНрдд divs рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд╕рд░реНрд╡ рдЪрд╛рд░ рдмреНрд▓реЙрдХреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ.

рд▓реЗрдЖрдЙрдЯрд╕рд╣ рд▓реЗрдЖрдЙрдЯрдЪреЗ рдЕрдиреБрдкрд╛рд▓рди. рдбрд┐рдЭрд╛рдпрдирд░рдиреЗ рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдирд╛ рд╕реЛрдкреЗ рдЬрд╛рд╡реЗ рдореНрд╣рдгреВрди рд╡реЗрдЧрд│реЗ рддрдкрд╢реАрд▓ (рд░рдВрдЧ, рдЯрд╛рдпрдкреЛрдЧреНрд░рд╛рдлреА, рдмрдЯрди рд╕реНрдЯреЗрдЯрд╕ рдЗ.) рдмрдирд╡рд▓реЗ. рддрд│рд╛рд╢реА рдкрд╣рд┐рд▓реНрдпрд╛ рд╕реНрдХреНрд░реАрдирдЪреНрдпрд╛ рдЗрдВрдбреЗрдВрдЯреНрд╕ рдЖрдгрд┐ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╡рд░ рдПрдХ рдЗрд╢рд╛рд░рд╛ рд╣реЛрддрд╛. рдорд▓рд╛ рддреНрдпрд╛ рдореБрд▓рд╛рдВрдмрджреНрджрд▓ рдЦреВрдк рдЖрдирдВрдж рдЭрд╛рд▓рд╛ рдЬреНрдпрд╛рдВрдиреА рдбрд┐рдЭрд╛рдЗрдирд░рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЗрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реНрдпрд╛: рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрд╣рд┐рд▓реА рд╕реНрдХреНрд░реАрди рд╡реНрд╣реНрдпреВрдкреЛрд░реНрдЯрдЪреНрдпрд╛ рдЙрдВрдЪреАрдкреЗрдХреНрд╖рд╛ рдХрдореА рдирд╕рд╛рд╡реА.

рдЕрдиреБрдХреВрд▓реА рдорд╛рдВрдбрдгреА - рд╣реЗ рдЕрд╕реЗ рдЖрд╣реЗ рдЬреЗрд╡реНрд╣рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдлрдХреНрдд рдорд╛рдВрдбрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА рдЬреЗрдгреЗрдХрд░реВрди рддреАрди рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирд╡рд░ рд╕рд░реНрд╡рдХрд╛рд╣реА рдкрд┐рдХреНрд╕реЗрд▓ рддреЗ рдкрд┐рдХреНрд╕реЗрд▓ рд▓реЗрдЖрдЙрдЯрдордзреНрдпреЗ рдЕрд╕реЗрд▓. рдордзреНрдпрд╡рд░реНрддреА рд░рд╛рдЬреНрдпрд╛рдВрдордзреНрдпреЗ, рд▓реЗрдЖрдЙрдЯ рджреЗрдЦреАрд▓ рд╡реЗрдЧрд│реЗ рд╣реЛрдК рдирдпреЗ. рдХрд╛рд╣реА рдХрдВрдЯреЗрдирд░рдЪреА рдХрдорд╛рд▓ рд░реБрдВрджреА рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╡рд┐рд╕рд░рд▓реЗ рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА 1920 рдкрд┐рдХреНрд╕реЗрд▓рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ, рдХрд╛рд╣реАрдВрдиреА рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдЧреЛрдВрдзрд│рд▓реА, рдкрд░рдВрддреБ рдПрдХреВрдгрдЪ рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдиреА рдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪрд╛ рдЪрд╛рдВрдЧрд▓рд╛ рд╕рд╛рдордирд╛ рдХреЗрд▓рд╛.

рдЕрд░реНрдердкреВрд░реНрдг рдорд╛рдВрдбрдгреА. тАЬрддреНрдпрд╛рдВрдиреА рдЬрдЧрд╛рд▓рд╛ рдХрд┐рддреА рд╡реЗрд│рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЖрд╣реЗтАЭ рдХреА рд▓рд┐рдВрдХ рдЕрд╢реА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЕрд╕рд╛рд╡реА , рдмрдЯрдг тАУ рдореНрд╣рдгреВрди . рд╕реБрджреИрд╡рд╛рдиреЗ, рдмрд╣реБрддреЗрдХ рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдиреА рд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦреАрд▓ рдкреВрд░реНрдг рдХреЗрд▓реА. рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рдПрд╕рдЖрд░рдЖрдпрдЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдВрдордзреНрдпреЗ рд▓рдкрд╡рд▓реЗрд▓реА рдпрд╛рджреА рдУрд│рдЦрд▓реА рдирд╛рд╣реА, рддреА div рдЯреЕрдЧ рд╡рд╛рдкрд░реВрди рдмрдирд╡рд▓реА рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреА рдЗрддрдХреА рд╡рд╛рдИрдЯ рдирд╛рд╣реА. рдПрдХ рдЙрдореЗрджрд╡рд╛рд░ рд╣реЛрддрд╛ рдЬреНрдпрд╛рдиреЗ рддреНрдпрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЯреЕрдЧ рдШрд╛рддрд▓реЗ - рдХреБрдареЗ рддреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рдЖрдгрд┐ рдХреБрдареЗ рдЖрд╡рд╢реНрдпрдХ рдирд╡реНрд╣рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реВрдЪреАрдРрд╡рдЬреА - рдЖрдгрд┐ . рд╢реЗрд╡рдЯреА, рд╢рдмреНрджрд╛рд░реНрде - рд╣реЗ рдЖрдкрд▓реНрдпрд╛ рдкреГрд╖реНрдард╛рдЪреА рд░рдЪрдирд╛ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХрдЪрд╛ рд╣реЗрддреВ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ (рдмрд╣реБрд╕рдВрдЦреНрдп рд▓реЛрдХрд╛рдВрдиреА рддреЗ рдпреЗрдереЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ), рддрд╕реЗрдЪ рдкреНрд░реА- рдЖрдгрд┐ / рдХрд┐рдВрд╡рд╛ рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд░рдЪрд╛ рд╡рд╛рдкрд░ (рдХрд╛рд╣реАрдВрдиреА рддреЗ рдпреЗрдереЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬрд░реА рд╣реЗ рдкреЙрдЗрдВрдЯреНрд╕рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рд╣реЛрддреЗ - рдмрд╣реБрддреЗрдХрджрд╛ рддреЗ рдХрдореА рдЖрдгрд┐ scss рд╡рд╛рдкрд░рд▓реЗ).

рдХрд╛рд░реНрдпрд░рдд рд╕реНрд▓рд╛рдЗрдбрд░. рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрдордзреНрдпреЗ рдЖрдореНрд╣реА рд▓рд┐рд╣рд┐рд▓реЗ рдХреА JS рд╡рд╛рдкрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА. рдпреЗрдереЗ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рдд рдЖрд▓реА - рдЧреБрдЪреНрдЫ рд╡рд╛рдкрд░реВрди рд╕реНрд▓рд╛рдЗрдбрд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ . рд╕рд░реНрд╡ рдЬрд╛рджреВ рдирд┐рд╡рдбрдХ рд╕реНрддрд░рд╛рд╡рд░ рдШрдбрддреЗ #button-N:рдЪреЗрдХ рдХреЗрд▓реЗрд▓реЗ ~ .slider-inner .slider-slides. рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдПрдХрд╛ рдЗрдирдкреБрдЯ рдЪреЗрдХрдмреЙрдХреНрд╕рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рддреЛ рдЪреЗрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдерд┐рддреАрдд рдЬрд╛рддреЛ. рдЖрдореНтАНрд╣реА рдпрд╛рдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдК рд╢рдХрддреЛ рдЖрдгрд┐ рд╕реНтАНрд▓рд╛рдЗрдбрд╕рд╣ рдХрдВрдЯреЗрдирд░рд▓рд╛ рдЖрд╡рд╢реНтАНрдпрдХ рдЕрд╕рд▓реЗрд▓реЗ рднрд╛рд╖рд╛рдВрддрд░ рдЕрд╕рд╛рдЗрди рдХрд░реВ рд╢рдХрддреЛ: transform: translate(-33%). рддреБрдореНрд╣реА рд╕реНрд▓рд╛рдЗрдбрд░рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдбреНрд░реЙрдкрдбрд╛рдЙрди рд╕реВрдЪреА. рдпреЗрдереЗ рд╣реЗ рд╕рд░реНрд╡ рдЦрд╛рд▓реА рдЖрд▓реЗ рдЖрдгрд┐ рддрддреНрд╕рдо рдирд┐рд╡рдбрдХ: .accordion-item input:checked ~ .accordion-item__content. рдЖрдкрдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

:hover, :active рдЖрдгрд┐ :focu* рд╕реНрдерд┐рддреАрдВрдЪреА рдЙрдкрд▓рдмреНрдзрддрд╛. рдПрдХ рдЕрддрд┐рд╢рдп рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛. рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рджрд░рдореНрдпрд╛рди рдЖрд░рд╛рдо рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХреГрддреАрдВрдмрджреНрджрд▓ рдиреЗрд╣рдореАрдЪ рдЕрднрд┐рдкреНрд░рд╛рдп рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдкреНрд░рд╢реНрдирд╛рд╡рд▓реАрд╕рд╣ рд╕рдВрдкреВрд░реНрдг рд╕рдВрд╡рд╛рджрд╛рдордзреНрдпреЗ рд╣рд╛ рдЖрдпрдЯрдо рддрдкрд╛рд╕рд▓рд╛ рдЧреЗрд▓рд╛. рдЬрд░ рдореА тАЬрдорд▓рд╛ рдХреЙрд▓ рдХрд░рд╛тАЭ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХреЗрд▓реЗ рдЖрдгрд┐ рджреГрд╖реНрдпрджреГрд╖реНрдЯреНрдпрд╛ рдХрд╛рд╣реАрд╣реА рдЭрд╛рд▓реЗ рдирд╛рд╣реА (рдЬрд░реА рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рд┐рд▓реА рдЧреЗрд▓реА рд╣реЛрддреА рддрд░реАрд╣реА), рд╣реЗ рд╡рд╛рдИрдЯ рдЖрд╣реЗ, рдХрд╛рд░рдг рдирдВрддрд░ рдореА рддреНрдпрд╛рд╡рд░ рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрди. рдкрд░рд┐рдгрд╛рдореА, рджрд╣рд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓ рдЖрдгрд┐ рдорд▓рд╛ рджрд╣рд╛ рд╡реЗрд│рд╛ рдкрд░рдд рдмреЛрд▓рд╛рд╡рд▓реЗ рдЬрд╛рдИрд▓. рдЖрдкрдг рд╣реЗ рд╡рд┐рд╕рд░реВ рдирдпреЗ рдХреА рдореЛрдмрд╛рдИрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдордзреНрдпреЗ рдорд╛рдКрд╕ рдирд╛рд╣реА, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрд╡реНрд╣рд░ рдирд╕рд╛рд╡рд╛. рдЖрдгрд┐ рдЖрдгрдЦреА рдПрдХ рдореБрджреНрджрд╛ рдЬреНрдпрд╛рдиреЗ рд╢рдмреНрджрд╛рд░реНрдерд╛рд╡рд┐рд╖рдпреАрдЪрд╛ рдореБрджреНрджрд╛ рдкреВрд░реНрдг рдХреЗрд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдкрд░рд┐рдгрд╛рдо рдЭрд╛рд▓рд╛ рдирд╛рд╣реА. рддреБрдордЪреЗ рдирд┐рдпрдВрддреНрд░рдг рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдШрдЯрдХ рдирд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рддреНрдпрд╛рд╡рд░ рдлрд┐рд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рдХрд░реНрд╕рд░ рдорд╛рдирдХ рд░рд╛рд╣реАрд▓. рдЬрд░реА рдЖрдкрдг рд╣реЛрд╡рд░рд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рд┐рд╣рд┐рд▓реА рдЕрд╕рд▓реА рддрд░реАрд╣реА рддреЗ рдЦреВрдк рдЕрд╕реНрд╡рдЪреНрдЫ рджрд┐рд╕рддреЗ. рдХрд░реНрд╕рд░рд▓рд╛ рдХрдореА рд▓реЗрдЦреВ рдирдХрд╛: рдкреЙрдЗрдВрдЯрд░.

рдЕреЕрдирд┐рдореЗрд╢рди. рдШрдЯрдХрд╛рдВрд╕рд╣ рд╣реЛрдгрд╛рд░реНтАНрдпрд╛ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЧреБрд│рдЧреБрд│реАрдд рдЕрд╕рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. рдЬреАрд╡рдирд╛рдд рдХреЛрдгрддреАрд╣реА рдЧреЛрд╖реНрдЯ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдирд╕рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдзрд┐рдХ рдЖрдирдВрджрджрд╛рдпреА рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЙрд╡рд░ рдЖрдгрд┐ рд╕рдХреНрд░рд┐рдп рд╡рд░ рд╕рдВрдХреНрд░рдордгреЗ рдЕрд╕рдгреЗ рдкреБрд░реЗрд╕реЗ рд╣реЛрддреЗ. рдмрд░рдВ, рдЬреНрдпрд╛рдВрдиреА рд╕реНрд▓рд╛рдпрдбрд░ рдЖрдгрд┐ рдпрд╛рджреНрдпрд╛ рдЕреЕрдирд┐рдореЗрдЯреЗрдб рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рддреЗ рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдЙрддреНрддрдо рдЕрд╕рддрд╛рдд.

рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░. рдЕрдиреЗрдХрд╛рдВрдиреА рдлреНрд▓реЗрдХреНрд╕ рд╡рд╛рдкрд░рд▓реЗ, рдкрдг рдХреЛрдгреАрд╣реА рдЧреНрд░рд┐рдб рд╡рд╛рдкрд░реВрди рдХрд╛рдо рдкреВрд░реНрдг рдХреЗрд▓реЗ рдирд╛рд╣реА. рдлреНрд▓реЗрдХреНрд╕рдЪрд╛ рдпреЛрдЧреНрдп рд╡рд╛рдкрд░ рдХреЗрд▓реНрдпрд╛рд╕ рдкреЙрдЗрдВрдЯ рдореЛрдЬрд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛ рдлреНрд▓реЗрдХреНрд╕рдореБрд│реЗ рдХреБрдареЗрддрд░реА рд▓реЗрдЖрдЙрдЯ рд╡реЗрдЧрд│реЗ рдЭрд╛рд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЕрд░реЗрд░реЗ, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреЗрд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдг рдорд┐рд│рд╛рд▓реЗ рдирд╛рд╣реАрдд.

рдлреЙрд░реНрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг. рдлреЙрд░реНрдордЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯрдордзреНрдпреЗ рдЖрд╡рд╢реНрдпрдХ рдЧреБрдгрдзрд░реНрдо рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рдЬреНрдпрд╛рдВрдиреА рдИрдореЗрд▓ рдлреАрд▓реНрдб рдИрдореЗрд▓ рдореНрд╣рдгреВрди рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрд▓реЗ рддреНрдпрд╛рдВрдирд╛ рдЖрдореНрд╣реА рдЧреБрдг рдЬреЛрдбрд▓реЗ.

рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдмрдЯрдгрд╛рдЪреА рд╢реИрд▓реА рдХрд░рдгреЗ. рдЖрдореНрд╣реА рдЕрд╕реЗ рд╕рдВрдпреЛрдЬрди рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗрд▓реА рдЖрд╣реЗ: рдЖрдгрд┐ рдлрд╛рдЗрд▓ рдирд┐рд╡рдбрд╛ . рдкреБрдвреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЗрдирдкреБрдЯ рд▓рдкрд╡рд┐рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд▓реЗрдмрд▓рдЪреА рд╢реИрд▓реА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрдЦреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рд░реНрдЧ рдЖрд╣реЗ - рдкрд╛рд░рджрд░реНрд╢рдХ рдЗрдирдкреБрдЯ рдмрдирд╡рдгреЗ рдЖрдгрд┐ рддреЗ рдмрдЯрдгрд╛рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдареЗрд╡рдгреЗ. рдкрд░рдВрддреБ рд╕рд░реНрд╡ рдмреНрд░рд╛рдЙрдЭрд░ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧрд▓рд╛ рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реАрдд , рдЖрдгрд┐ рдЕрд╢рд╛ рд╕рдорд╛рдзрд╛рдирд╛рд╕ рдкреВрд░реНрдгрдкрдгреЗ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЭрд░ рдореНрд╣рдЯрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА. рдЖрдгрд┐ рд╢рдмреНрджрд╛рд░реНрдерд╛рдиреЗ рд▓реЗрдмрд▓ рдмрдирд╡рдгреЗ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ.

рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЭрд░ рд╕реБрд╕рдВрдЧрддрддрд╛. рдЖрдореНрд╣реА рддрдкрд╛рд╕рд▓реЗ рдХреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЭрд░рдЪреНрдпрд╛ рджреЛрди рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ (IE рд╢рд┐рд╡рд╛рдп - рд╕рд╣рднрд╛рдЧреА рднрд╛рдЧреНрдпрд╡рд╛рди рд╣реЛрддреЗ), рддрд╕реЗрдЪ iPhones рд╡рд░реАрд▓ Safari рдЖрдгрд┐ Androids рд╡рд░реАрд▓ Chrome рдордзреНрдпреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ.

рдпрд╛рдЙрд▓рдЯ, рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛рдиреЗ рдЬреЗрдПрд╕ рдХрд┐рдВрд╡рд╛ рдмреВрдЯрд╕реНрдЯреНрд░реЕрдк рд╡рд╛рдкрд░рд▓рд╛ рдЕрд╕реЗрд▓ рддрд░ рдЖрдореНрд╣реА рдЧреБрдг рд╡рдЬрд╛ рдХреЗрд▓реЗ: рддреЗ рджреЛрдиреНрд╣реА рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рдирд╖реНрдЯ рдХрд░рддреАрд▓. рд╢рд┐рд╡рд╛рдп, рдмреВрдЯрд╕реНрдЯреНрд░реЕрдкрд╕рд╣ рд╕рд╣рднрд╛рдЧреАрдВрдирд╛ рдХреЗрд╡рд│ рдЙрдгреЗрдЪ рдорд┐рд│рд╛рд▓реЗ рдирд╛рд╣реА, рддрд░ рд╢рдмреНрджрд╛рд░реНрде рдЖрдгрд┐ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рдЕрдиреЗрдХ рдЧреБрдг рдЧрдорд╛рд╡рд▓реЗ.

рдЬреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреА рд╕рд╛рдЗрдЯ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдХреБрдареЗрддрд░реА рд╣реЛрд╕реНрдЯ рдХреЗрд▓реА рддреНрдпрд╛рдВрдирд╛ рдХреЛрдгрддрд╛рд╣реА рд╡рд┐рд╢реЗрд╖ рдлрд╛рдпрджрд╛ рдорд┐рд│рд╛рд▓рд╛ рдирд╛рд╣реА - рдкрд░рдВрддреБ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдирдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЦреВрдк рдЖрдирдВрдж рдЭрд╛рд▓рд╛ рдЬреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдВрдирд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╡реНрд╣рддреА. рдореНрд╣рдгреВрди рд╣реЗ рдХрд░реНрдорд╛рд╕рд╛рдареА рдПрдХ рдкреНрд▓рд╕ рдореНрд╣рдгреВрди рдХрд╛рдо рдХреЗрд▓реЗ.

рдкреНрд░рдердо рдХрд╛рд░реНрдп рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреЗ. рдЬреНрдпрд╛рдВрдирд╛ рдЖрдореНрд╣реА рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдирд╛рд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рдПрдХ рддрдпрд╛рд░ рдмрд╛рдпреЛрдбрд╛рдЯрд╛ рдЖрд╣реЗ - рддреБрдореНрд╣реА рдЕрднрд┐рдорд╛рдирд╛рдиреЗ рддреЗ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдВрдирд╛ рд╕рдВрд▓рдЧреНрди рдХрд░реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ рддреБрдордЪреНрдпрд╛ 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 рдордзреНрдпреЗ рдЯрд╛рдХрд╛.

рджреБрд╕рд▒реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рдкрдбрддрд╛рд│рдгреА рд╕рд░реНрд╡рд╛рдд рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЖрдгрд┐ рд╡рд╕реНрддреБрдирд┐рд╖реНрда рд╣реЛрддреА. рдмрд╣реБрддреЗрдХ рдореБрд▓рд╛рдВрдиреА рдЕрд╕рд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд▓рд╛ рдХреА Dijkstra рдЪреНрдпрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдЪреЗ рд╡рд░реНрдгрди рд╕рд╛рдкрдбрд▓реЗ рдЖрдгрд┐ 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 рджрд┐рд╡рд╕ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВ рдирдпреЗ.

рдбреЗрд╕реНрдХрдЯреЙрдкрд╡рд░ рдЪрд┐рдиреНрд╣ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ (рдкреАрдбрдмреНрд▓реНрдпреВрдП). рдЖрдореНрд╣реА рдлрд╛рдИрд▓рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рддрдкрд╛рд╕рд▓реА рдореЕрдирд┐рдлреЗрд╕реНрдЯ.рдЬреЗрд╕рди рдпреЛрдЧреНрдп рдЪрд┐рдиреНрд╣рд╛рдВрд╕рд╣. рдХрд╛рд╣реА рд▓реЛрдХрд╛рдВрдиреА рд╣реА рдлрд╛рдИрд▓ рдмрдирд╡рд▓реА (рдХрд┐рдВрд╡рд╛ рддреА CreateReactApp рдордзреНрдпреЗ рдЬрдирд░реЗрдЯ рдХреЗрд▓реЗрд▓реА рд╕реЛрдбрд▓реА) - рдкрд░рдВрддреБ рдпреЛрдЧреНрдп рдЪрд┐рдиреНрд╣ рдЬреЛрдбрд▓реЗ рдирд╛рд╣реАрдд. рдирдВрддрд░, рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛рдирд╛, "рд╡реЗрдЧрд│рд╛ рдЪрд┐рдиреНрд╣ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ" рд╕рд╛рд░рдЦреА рддреНрд░реБрдЯреА рдЖрд▓реА.

рдХреЛрдбрд╕реНрдЯрд╛рдЗрд▓ рдЖрдгрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░. рджреБрд╕-рдпрд╛ рдХрд╛рд░реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣реА рдПрдХрд╛рдЪ рдХреЛрдбрд╕реНрдЯрд╛рдИрд▓рдХрдбреЗ рдкрд╛рд╣рд┐рд▓реЗ (рдЬрд░реА рддреЗ рдЖрдордЪреНрдпрд╛рд╢реА рдЬреБрд│рдд рдирд╕рд▓реЗ рддрд░реАрд╣реА). рдХрд╛рд╣реА рдореБрд▓рд╛рдВрдиреА рд▓рд┐рдВрдЯрд░рд╡рд░ рд╕реНрдХреНрд░реВ рдХреЗрд▓реЗ - рддреЗ рдЫрд╛рди рдЖрд╣реЗ.

рдХрдиреНрд╕реЛрд▓ рддреНрд░реБрдЯреА. рдЬрд░ рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рдЪреБрдХреАрдЪреЗ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рд╕реВрдЪрдХ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рд╕рд╣рднрд╛рдЧреАрдиреЗ рддреНрдпрд╛рдХрдбреЗ рд▓рдХреНрд╖ рджрд┐рд▓реЗ рдирд╛рд╣реА рддрд░ рдЖрдореНрд╣реА рдЧреБрдг рд╡рдЬрд╛ рдХреЗрд▓реЗ.

рдкрд░рд┐рдгрд╛рдо

рд╕рд╣рднрд╛рдЧреАрдВрдЪреНрдпрд╛ рдирд┐рд░реНрдгрдпрд╛рдВрдмрджреНрджрд▓ рдХрд╛рдп рдордЬреЗрджрд╛рд░ рдЖрд╣реЗ:

  • рдПрдХрд╛ рдкреНрд░рд╢реНрдирд╛рд╡рд▓реАрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдордЬрдХреВрд░ рд╣реЛрддрд╛: тАЬрдПрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдорд┐рддреНрд░рд╛рдиреЗ рдорд▓рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХреЗрд▓реА. рдореА рддреНрдпрд╛рд▓рд╛ рдХрд╕реЗ рдЖрдгрд┐ рдХрд╛ рдЕрд╢рд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪрд╛ рднрдбрд┐рдорд╛рд░ рдХреЗрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдиреЗ рдорд▓рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ. рдорд▓рд╛ рддреЗ рдЦреВрдк рдЖрд╡рдбрд▓реЗ, рдорд▓рд╛ рддреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ.тАЭ рдЖрдореНрд╣реА рдордирд╛рдкрд╛рд╕реВрди рдпрд╛ рдЕрд░реНрдЬрд╛рд╕рд╛рдареА рд░реБрдЬрдд рд╣реЛрддреЛ, рдкрд░рдВрддреБ рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдЙрдореЗрджрд╡рд╛рд░рд╛рдЪрд╛ рдорд┐рддреНрд░ рдЕрд░реНрдЬ рдХрд╛рд░реНрдпрд╛рдд рдлрд╛рд░рд╕рд╛ рдЙрдкрдпреЛрдЧреА рдкрдбрд▓рд╛ рдирд╛рд╣реА.
  • рдПрдХрд╛ рдЙрдореЗрджрд╡рд╛рд░рд╛рдиреЗ GitHub рд╡рд░ рдПрдХ рд▓рд┐рдВрдХ рдкрд╛рдард╡рд▓реА, рдЬрд┐рдереЗ RAR рд╕рдВрдЧреНрд░рд╣рдг рдЖрд╣реЗ - рдпрд╛рд╡рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ. ЁЯЩВ
  • рджреБрд╕рд░реНтАНрдпрд╛ рдЙрдореЗрджрд╡рд╛рд░рд╛рдиреЗ, solution.js рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдУрд│реАрд╡рд░реАрд▓ рдЯрд┐рдкреНрдкрдгреАрдордзреНрдпреЗ, рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рдХрдмреВрд▓ рдХреЗрд▓реЗ рдХреА рддреНрдпрд╛рдиреЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЙрдкреА рдХреЗрд▓рд╛ рдЖрд╣реЗ.

рдЖрдореНрд╣рд╛рд▓рд╛ 76 рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдХрдбреВрди рдЕрд░реНрдЬ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ рдЖрдгрд┐ 23 рдЬрдгрд╛рдВрдЪреА рдирд┐рд╡рдб рдХреЗрд▓реА. рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЗрд╡рд│ рдорд┐рдиреНрд╕реНрдХрдордзреВрдирдЪ рдирд╡реНрд╣реЗ рддрд░ рдореЙрд╕реНрдХреЛ, рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдЖрдгрд┐ рдЕрдЧрджреА рддрд╛рддрд╛рд░рд╕реНрддрд╛рдирдордзреВрдирд╣реА рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдкрд╛рдард╡рдгреНрдпрд╛рдд рдЖрд▓реА. рдХрд╛рд╣реА рдореБрд▓рд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХреЗрд▓реЗ: рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдлреЙрд░реЗрдиреНрд╕рд┐рдХ рддрдЬреНрдЮ рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░рд╛ рд╡реИрджреНрдпрдХреАрдп рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдЖрд╣реЗ.

рдкрд░рд┐рдгрд╛рдо рдХрд╛рд░реНрдпреЗ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдд рдпрд╢ рджрд░рд╛рдВрдЪреЗ рдордиреЛрд░рдВрдЬрдХ рд╡рд┐рддрд░рдг рд╣реЛрддреЗ. рд╕рд╣рднрд╛рдЧреАрдВрдиреА рдкрд╣рд┐рд▓реЗ рдХрд╛рд░реНрдп рд╕рд░рд╛рд╕рд░реА 60%, рджреБрд╕рд░реЗ 50% рдиреЗ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЖрдгрд┐ рддрд┐рд╕рд░реЗ рд╕рд░реНрд╡рд╛рдд рдХрдареАрдг рдард░рд▓реЗ рдЖрдгрд┐ рддреЗ рд╕рд░рд╛рд╕рд░реА 40% рдиреЗ рдкреВрд░реНрдг рдХреЗрд▓реЗ.

рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд, рдХрд╛рд░реНрдпреЗ рдЬрдЯрд┐рд▓ рдЖрдгрд┐ рд╡реЗрд│ рдШреЗрдгрд╛рд░реА рджрд┐рд╕рддрд╛рдд. рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕реЗ рдирд╛рд╣реА рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдирд╛ рдмрд╛рд╣реЗрд░ рдХрд╛рдврд╛рдпрдЪреЗ рдЖрд╣реЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрднреНрдпрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди, рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирд╛рддреАрд▓ рдХрд╛рд░реНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ - рдЪреЕрдЯ рдХрд░рдгреЗ, рдореБрд▓рд╛рдВрд╕рд╛рдареА Yandex.Music рдХрд┐рдВрд╡рд╛ рд╣рд╡рд╛рдорд╛рдирд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА Yandex.Weather. рдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдзрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдорд▓рд╛ рдЖрдард╡рддреЗ рдХреА рджреЛрди рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдорд╛рдЭреЗ рдПрд╕рдЖрд░рдЖрдп рдкреНрд░рд╡реЗрд╢рд╛рдЪреЗ рдХрд╛рд░реНрдп рдкрд╛рд╣рд┐рд▓реЗ рд╣реЛрддреЗ рдЖрдгрд┐ рдореА рддреЗ рдХрдзреАрдЪ рд╕реЛрдбрд╡рдгрд╛рд░ рдирд╛рд╣реА рдЕрд╕рд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рд╣реЛрддрд╛. рдпрд╛ рдХреНрд╖рдгреА рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдЦрд╛рд▓реА рдмрд╕рдгреЗ, рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдЕрдЯреА рд╡рд╛рдЪрд╛ рдЖрдгрд┐ рддреЗ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░рд╛. рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдкрд░рд┐рд╕реНрдерд┐рддреАрдордзреНрдпреЗ рдЬрд╡рд│рдЬрд╡рд│ 80% рджреНрд░рд╛рд╡рдг рдЕрд╕рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддрд┐рд╕рд▒реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд (рд╕рд░реНрд╡рд╛рдд рдХрдареАрдг), рдЖрдореНрд╣реА MDN рд╡рд░ рд╕реЗрд╡рд╛ рдХрд╛рдордЧрд╛рд░ рдЖрдгрд┐ рд╕реВрдЪрдирд╛ API рдЪреНрдпрд╛ рд▓рд┐рдВрдХ рдЬреЛрдбрд▓реНрдпрд╛. рдЬреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдиреА рд▓рд┐рдВрдХреНрд╕рдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓рд╛ рддреНрдпрд╛рдВрдиреА рддреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрдбрдЪрдгреАрд╢рд┐рд╡рд╛рдп рдкреВрд░реНрдг рдХреЗрд▓реЗ.

рдорд▓рд╛ рдЦрд░реЛрдЦрд░ рд╣рд╛ рд▓реЗрдЦ рдЕрд╢рд╛ рдЙрдореЗрджрд╡рд╛рд░рд╛рдВрдиреА рд╡рд╛рдЪрд╛рдпрд▓рд╛ рдЖрд╡рдбреЗрд▓ рдЬреЗ рднрд╡рд┐рд╖реНрдпрд╛рдд рдПрд╕рдЖрд░рдЖрдпрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЗрдд, рдЬреЗ рдорд┐рдиреНрд╕реНрдХ рд╢рд╛рд│реЗрдд рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрд▓реЗ рдирд╛рд╣реАрдд рдХрд┐рдВрд╡рд╛ рдЬреЗ рдЗрддрд░ рдХреЛрдгрддреЗрд╣реА рдЪрд╛рдЪрдгреА рдХрд╛рд░реНрдп рдХрд░реВ рд▓рд╛рдЧрд▓реЗ рдЖрд╣реЗрдд. рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддрд╛, рддрд╕реЗ рдХрд░рдгреЗ рдЕрдЧрджреА рд╢рдХреНрдп рдЖрд╣реЗ. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдлрдХреНрдд рд╕реНрд╡рддрдГрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд▓реЗрдЦрдХрд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЯрд┐рдкреНрд╕ рдРрдХрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛