рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рджреНрдпрд╛рд▓рдп: рдорд┐рдиреНрд╕реНрдХ рд░ рдорд╛рд╕реНрдХреЛ рдорд╛ рдПрдХ рдирдпрд╛рдБ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реБ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рдЖрдЬ рдирдпрд╛рдБ рднрд░реНрдирд╛ рдЦреБрд▓реНрдпреЛ Yandex рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕ рд╕реНрдХреВрд▓ рдорд╛рд╕реНрдХреЛ рдорд╛ред рдкреНрд░рд╢рд┐рдХреНрд╖рдгрдХреЛ рдкрд╣рд┐рд▓реЛ рдЪрд░рдг рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ рен рджреЗрдЦрд┐ рдЕрдХреНрдЯреЛрдмрд░ реирел рд╕рдореНрдо рд╣реБрдиреЗрдЫред рдЕрдиреНрдп рд╢рд╣рд░рдХрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЯрд╛рдврд╛рдмрд╛рдЯ рд╡рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫрдиреН - рдХрдореНрдкрдиреАрд▓реЗ рд╣реЛрд╕реНрдЯреЗрд▓рдорд╛ рдпрд╛рддреНрд░рд╛ рд░ рдЖрд╡рд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рднреБрдХреНрддрд╛рдиреА рдЧрд░реНрдиреЗрдЫред рджреЛрд╕реНрд░реЛ, рдЕрдиреНрддрд┐рдо рдЪрд░рдг рдкрдирд┐, рдбрд┐рд╕реЗрдореНрдмрд░ 7 рд╕рдореНрдо рд░рд╣рдиреЗрдЫ, рдпреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдорд╛рддреНрд░ рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдореЗрд░реЛ рдирд╛рдо рдпреБрд▓рд┐рдпрд╛ рд╕реЗрд░реЗрдбрд┐рдЪ рд╣реЛ, рд╣рд╛рдореАрд▓реЗ рдпреЛ рдкреЛрд╖реНрдЯ рд╕рд░реНрдЧреЗрдИ рдХрд╛рдЬрд╛рдХреЛрднрд╕рдБрдЧ рд╕рдБрдЧреИ рд▓реЗрдЦреНрдпреМрдВред рд╣рд╛рдореА рджреБрдмреИ рдпрд╛рдиреНрдбреЗрдХреНрд╕рдХреЛ рдорд┐рдиреНрд╕реНрдХ рдЕрдлрд┐рд╕рдорд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рд░ рд╡рд┐рдЧрддрдХрд╛ рд╡рд░реНрд╖рд╣рд░реВрдмрд╛рдЯ рдПрд╕рдЖрд░рдЖрдИрдХрд╛ рд╕реНрдирд╛рддрдХрд╣рд░реВ рд╣реМрдВред

рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рджреНрдпрд╛рд▓рдп: рдорд┐рдиреНрд╕реНрдХ рд░ рдорд╛рд╕реНрдХреЛ рдорд╛ рдПрдХ рдирдпрд╛рдБ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реБ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рдорд╕реНрдХреЛрдорд╛ рджрд░реНрддрд╛рдХреЛ рдЙрджреНрдШрд╛рдЯрдирдХреЛ рдЕрд╡рд╕рд░рдорд╛, рд╣рд╛рдореА рдЕрдШрд┐рд▓реНрд▓реЛ рд╡рд┐рджреНрдпрд╛рд▓рдпрдХреЛ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрджреИрдЫреМрдВ - рдпрд╣рд╛рдБ рдорд┐рдиреНрд╕реНрдХрдорд╛ред

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ SRI рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯрдХреЛ рдЗрддрд┐рд╣рд╛рд╕ рдЯреНрд░реЗрд╕ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рд╡рд░реНрд╖-рд╡рд░реНрд╖ рд╣рд╛рдореАрд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдХрд╛ рд▓рд╛рдЧрд┐ рддреАрдирд╡рдЯрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реАрдкрд╣рд░реВ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдпреМрдВ:

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

рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдорд╛, рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓реНрддреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдмрддрд╛рдЙрдиреЗрдЫреМрдВред

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

рдкрд╣рд┐рд▓реЛ рдХрд╛рд░реНрдп Yandex.Collections рдбрд┐рдЬрд╛рдЗрдирд░ Alexey Cherenkevich, рдЬрд╕рд▓реЗ рд▓реЗрдЖрдЙрдЯ рдХрд╕рд░реА рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдЬрд╛рдиреНрджрдЫрдиреН, рд░ рдЙрдирдХреЛ рд╕реЗрд╡рд╛ рд╕рд╣рдпреЛрдЧреА, рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ Sergey Samsonov рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рд╕рд░реНрдд

рдПрдЙрдЯрд╛ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН: рд╣рд╛рдореАрд▓рд╛рдИ рдЖрдлреНрдиреЛ, рдЖрдлреНрдиреЛ рдХрд╛рдо рд░ рд╡рд┐рджреНрдпрд╛рд▓рдпрдмрд╛рдЯ рдЖрдлреНрдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рд╣рд░реВ рдмрд╛рд░реЗ рдмрддрд╛рдЙрдиреБрд╣реЛрд╕реНред рд╕рд╛рдЗрдЯрд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд░реВрдкрд░реЗрдЦрд╛рд╕рдБрдЧ рд╕рдХреЗрд╕рдореНрдо рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рд╣реБрдиреБрдкрд░реНрдЫ (рд▓реЗрдЖрдЙрдЯрд╣рд░реВрдХреЛ рд▓рд┐рдЩреНрдХ: 1000px, 600px, 320px, рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛)ред рд╣рд╛рдореА рд▓реЗрдЖрдЙрдЯрдорд╛ рдорд╛рддреНрд░ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдЫреМрдВ, рддреНрдпрд╕реИрд▓реЗ рдХреГрдкрдпрд╛ JavaScript рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛ рд╣рд╛рдореА рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдиреЗрдЫреМрдВ:

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

рдлрд╛рдЗрджрд╛ рд╣реБрдиреЗрдЫ:

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

рдХрд╛рд░реНрдп рдПрдХрджрдо рдареВрд▓реЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрд▓реЗ рдХрд╛рдо рдирдЧрд░реНрдиреЗ рдХреБрд░рд╛ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рд╕реНрдХреЛрд░ рдЕрд▓рд┐ рдХрдо рдЧрд░реНрдиреЗрдЫ, рддрд░ рддрдкрд╛рдЗрдБ рдЕрдЭреИ рдкрдирд┐ рддрдкрд╛рдЗрдБрдХреЛ рдЬреНрдЮрд╛рди рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫред рддрдкрд╛рдИрдВрд▓реЗ рд╕рдХрд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓рд╛рдИ рджреБрдИ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реН - рддрдкрд╛рдИрдВрдХреЛ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рд░ GitHub рдорд╛ рд╕реНрд░реЛрдд рдХреЛрдбред

рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯрдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд▓реЗрдЖрдЙрдЯрд╣рд░реВ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгрд╣рд░реВ, рдЯреНрдпрд╛рдмреНрд▓реЗрдЯрд╣рд░реВ рд░ рдбреЗрд╕реНрдХрдЯрдкрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реНрдХреНрд░рд┐рдирд╣рд░реВ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рдерд┐рдПред

рдкрд╣рд┐рд▓реЛ рдХрд╛рд░реНрдп рдЬрд╛рдБрдЪрдХреЛ рдкрд░рд┐рдгрд╛рдордорд╛ рд╕рдХреЗрд╕рдореНрдо рдзреЗрд░реИ рд╡рд╕реНрддреБрдирд┐рд╖реНрдарддрд╛ рд▓реНрдпрд╛рдЙрди, рдпрд╕ рдЬрд╛рдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рдерд┐рдПред

рдорд╛рдкрджрдгреНрдб

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

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

рдЕрдиреБрдХреВрд▓реА рд▓реЗрдЖрдЙрдЯ - рдпреЛ рддрдм рд╣реБрдиреНрдЫ рдЬрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рддреНрд░ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫреИрди рддрд╛рдХрд┐ рддреАрдирд╡рдЯрд╛ рд░рд┐рдЬреЛрд▓реНрдпреБрд╕рдирдорд╛ рд▓реЗрдЖрдЙрдЯрдорд╛ рд╕рдмреИ рдкрд┐рдХреНрд╕реЗрд▓ рджреЗрдЦрд┐ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реБрдиреНрдЫред рдордзреНрдпрд╡рд░реНрддреА рд░рд╛рдЬреНрдпрд╣рд░реВрдорд╛, рд▓реЗрдЖрдЙрдЯ рдкрдирд┐ рдЕрд▓рдЧ рд╣реБрдиреБ рд╣реБрдБрджреИрдиред рдХреЛрд╣реАрд▓реЗ рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЕрдзрд┐рдХрддрдо рдЪреМрдбрд╛рдЗ рд╕реАрдорд┐рдд рдЧрд░реНрди рд░ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ 1920 рдкрд┐рдХреНрд╕реЗрд▓рдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рдмрд┐рд░реНрд╕реЗ, рдХреЗрд╣реАрд▓реЗ рдкреГрд╖реНрдарднреВрдорд┐рдорд╛ рдЧрдбрдмрдб рдЧрд░реЗ, рддрд░ рд╕рдордЧреНрд░рдорд╛ рдЙрдореНрдореЗрджреНрд╡рд╛рд░рд╣рд░реВрд▓реЗ рдпреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╕рд╛рдордирд╛ рдЧрд░реЗред

рд╕рд┐рдореЗрдиреНрдЯрд┐рдХ рд▓реЗрдЖрдЙрдЯред "рдЙрдиреАрд╣рд░реВрд▓реЗ рд╕рдВрд╕рд╛рд░рд▓рд╛рдИ рдХрддрд┐ рдкрдЯрдХ рднрдиреЗрдХрд╛ рдЫрдиреН" рдХрд┐ рд▓рд┐рдЩреНрдХрдХреЛ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫ , рдмрдЯрди - рд░реВрдкрдорд╛ ред рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдзреЗрд░реИ рдЙрдореНрдореЗрджреНрд╡рд╛рд░рд╣рд░реВрд▓реЗ рдпреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдирд┐ рдкреВрд░рд╛ рдЧрд░реЗред рд╕рдмреИрд▓реЗ рдПрд╕рдЖрд░рдЖрдИрдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рд╣рд░реВрдорд╛ рд▓реБрдХреЗрдХреЛ рд╕реВрдЪреА рдкрд╣рд┐рдЪрд╛рди рдЧрд░реЗрдирдиреН, рдпрд╕рд▓рд╛рдИ div рдЯреНрдпрд╛рдЧрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрдирд╛рдЙрдБрджреИ, рддрд░ рдпреЛ рддреНрдпрддрд┐ рдЦрд░рд╛рдм рдЫреИрдиред рддреНрдпрд╣рд╛рдБ рдПрдХ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рдерд┐рдпреЛ рдЬрд╕рд▓реЗ рд╕рдмреИ рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХ рдЯреНрдпрд╛рдЧрд╣рд░реВ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдпреЛ рдЙрд╕рд▓рд╛рдИ рдерд╛рд╣рд╛ рдерд┐рдпреЛ - рдЬрд╣рд╛рдБ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ рд░ рдЬрд╣рд╛рдБ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрдиред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕реВрдЪреАрдХреЛ рд╕рдЯреНрдЯрд╛ - рд░ ред рдЖрдЦрд┐рд░, рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕ - рдпреЛ рддрдкрд╛рдЗрдБрдХреЛ рдкреГрд╖реНрдардХреЛ рд╕рдВрд░рдЪрдирд╛ рд░ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓рдХрдХреЛ рдЙрджреНрджреЗрд╢реНрдп (рдмрд╣реБрд╕рдВрдЦреНрдпрдХрд▓реЗ рдпрд╕рд▓рд╛рдИ рдпрд╣рд╛рдБ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрдХрд╛ рдЫрдиреН), рд╕рд╛рдереИ рдкреВрд░реНрд╡- рд░ / рд╡рд╛ рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ (рдХреЗрд╣реАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдпрд╣рд╛рдБ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрдХрд╛ рдЫрдиреН, рдпрджреНрдпрдкрд┐ рдпреЛ рдмрд┐рдиреНрджреБрд╣рд░реВрдорд╛ рдкрдирд┐ рдерд┐рдпреЛ - рдкреНрд░рд╛рдпрдГ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХрдо рд░ scss рдкреНрд░рдпреЛрдЧ рдЧрд░реЗ)ред

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

рдбреНрд░рдкрдбрд╛рдЙрди рд╕реВрдЪреАрд╣рд░реВред рдпрд╣рд╛рдБ рдкрдирд┐ рдпреЛ рд╕рдмреИ рддрд▓ рдЖрдпреЛ рд░ рд╕рдорд╛рди рдЪрдпрдирдХрд░реНрддрд╛: .accordion-item input:checked ~ .accordion-item__contentред рддрдкрд╛рдИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ.

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

рдПрдирд┐рдореЗрд╕рдирд╣рд░реВред рдпреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рддрддреНрд╡рд╣рд░реВрд╕рдБрдЧ рд╣реБрдиреЗ рд╕рдмреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рд╣рдЬ рдЫрдиреНред рдЬреАрд╡рдирдорд╛ рдХреБрдиреИ рдкрдирд┐ рдХреБрд░рд╛ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рд╣реБрдБрджреИрди, рддреНрдпрд╕реИрд▓реЗ рд╣реЛрднрд░рдорд╛ рдЯреНрд░рд╛рдиреНрдЬрд┐рд╕рди рд╣реБрдиреБ рд░ рд╕рдХреНрд░рд┐рдп рд╣реБрдиреБ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓рд╛рдИ рдЕрдЭ рд░рдорд╛рдЗрд▓реЛ рдмрдирд╛рдЙрди рдкрд░реНрдпрд╛рдкреНрдд рдерд┐рдпреЛред рдЦреИрд░, рд╕реНрд▓рд╛рдЗрдбрд░ рд░ рд╕реВрдЪреАрд╣рд░реВ рдПрдирд┐рдореЗрдЯреЗрдб рдЧрд░реНрдиреЗрд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реБрдиреНрдЫрдиреНред

рдирд╡реАрдирддрдо рдкреНрд░рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред рдзреЗрд░реИ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рдлреНрд▓реЗрдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗ, рддрд░ рдХрд╕реИрд▓реЗ рдЧреНрд░рд┐рдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдЧрд░реЗрдирдиреНред рдпрджрд┐ рдлреНрд▓реЗрдХреНрд╕ рд╕рд╣реА рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рднрдиреЗ рдмрд┐рдиреНрджреБ рдЧрдгрдирд╛ рдЧрд░рд┐рдпреЛред рдпрджрд┐ рдХрддреИ рд▓реЗрдЖрдЙрдЯ рдпреА рдзреЗрд░реИ рдлреНрд▓реЗрдХреНрд╕рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЕрд▓рдЧ рднрдпреЛ рднрдиреЗ, рдЕрдлрд╕реЛрд╕, рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдВрдХрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрднрдПрдиред

рдлрд╛рд░рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдгред рдлрд╛рд░рдордХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯрдорд╛ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдЗрдореЗрд▓ рдлрд┐рд▓реНрдбрд▓рд╛рдИ рдЗрдореЗрд▓рдХреЛ рд░реВрдкрдорд╛ рдорд╛рдиреНрдп рдЧрд░реНрдиреЗрд╣рд░реВрд▓рд╛рдИ рдЕрдВрдХ рдердкреНрдпреМрдВред

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

рдХреНрд░рд╕-рдмреНрд░рд╛рдЙрдЬрд░ рдЕрдиреБрдХреВрд▓рддрд╛ред рд╣рд╛рдореАрд▓реЗ рдЬрд╛рдБрдЪ рдЧрд░реНрдпреМрдВ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдХрд╛ рджреБрдИ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ (IE рдмрд┐рдирд╛ - рд╕рд╣рднрд╛рдЧреАрд╣рд░реВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд┐рдП), рд╕рд╛рдереИ iPhones рдорд╛ Safari рд░ Androids рдорд╛ Chrome рдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рдареАрдХ рдЫред

рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдпрджрд┐ рдХрд╕реИрд▓реЗ JS рд╡рд╛ рдмреБрдЯрд╕реНрдЯреНрд░реНрдпрд╛рдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреЛ рднрдиреЗ рд╣рд╛рдореАрд▓реЗ рдЕрдВрдХрд╣рд░реВ рдХрдЯреМрддреА рдЧрд░реНрдпреМрдВ: рддрд┐рдиреАрд╣рд░реВ рджреБрд╡реИрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреЛ рдЙрджреНрджреЗрд╢реНрдпрд▓рд╛рдИ рдкрд░рд╛рдЬрд┐рдд рдЧрд░реНрдиреЗрдЫрдиреНред рдпрд╕рдмрд╛рд╣реЗрдХ, рдмреБрдЯрд╕реНрдЯреНрд░реНрдпрд╛рдк рднрдПрдХрд╛ рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрд▓реЗ рдорд╛рдЗрдирд╕ рдорд╛рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдирдиреН, рддрд░ рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХрд╛ рддрддреНрд╡рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЕрдВрдХрд╣рд░реВ рдкрдирд┐ рдЧреБрдорд╛рдПред

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

рдкрд╣рд┐рд▓реЛ рдХрд╛рд░реНрдп рдореБрдЦреНрдп рд░реВрдкрдорд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдерд┐рдпреЛред рдЬрд╕рд▓рд╛рдИ рд╣рд╛рдореАрд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реЗрдиреМрдВ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдЕрд╣рд┐рд▓реЗ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдмрд╛рдпреЛрдбрд╛рдЯрд╛ рдЫ - рддрдкрд╛рдИрдВ рдЧрд░реНрд╡рдХрд╛ рд╕рд╛рде рд╕рдмреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд╡рд╛ рддрдкрд╛рдИрдВрдХреЛ gh-рдкреГрд╖реНрдард╣рд░реВрдорд╛ рдкреЛрд╕реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдХрд╛рд░реНрдп реи: рдпрд╛рддрд╛рдпрд╛рдд рдорд╛рд░реНрдЧ

рдХрд╛рд░реНрдп рдХреЛ рд▓реЗрдЦрдХ рдЦреЛрдЬ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╕рдореВрд╣ рдбреЗрдирд┐рд╕ 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/ рдлреЛрд▓реНрдбрд░рдорд╛ рдЫ, рд╕рдорд╛рдзрд╛рди.js рдорд╛ рдЖрдлреНрдиреЛ рд╕рдорд╛рдзрд╛рди рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред

рджреЛрд╕реНрд░реЛ рдХрд╛рд░реНрдпрдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдмреИрднрдиреНрджрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░ рдЙрджреНрджреЗрд╢реНрдп рдерд┐рдпреЛред рдзреЗрд░реИ рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдП рдХрд┐ рдпреЛ Dijkstra рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рдЬрд╕рд▓реЗ рдпрд╕рдХреЛ рд╡рд┐рд╡рд░рдг рдлреЗрд▓рд╛ рдкрд╛рд░реЗ рд░ JS рдорд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд╛рдЧреВ рдЧрд░реЗ рддрд┐рдиреАрд╣рд░реВ рд░рд╛рдореНрд░рд░реА рд╕рдореНрдкрдиреНрди рдЫрдиреНред рдпрджреНрдпрдкрд┐, рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯреИ рддреНрд░реБрдЯрд┐рд╣рд░реВ рднрдПрдХрд╛ рдзреЗрд░реИ рдХрд╛рдЧрдЬрд╣рд░реВ рднреЗрдЯреНрдЯрд╛рдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдХреЛрдбрдХрд╛ рдЯреБрдХреНрд░рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЦреЛрдЬреНрдпреМрдВ рд░ рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реЗрдХреЛ рдПрдЙрдЯрд╛ рд▓реЗрдЦ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдпреМрдВред рдпреЛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЫ рдХрд┐ рдзреЗрд░реИ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓реЗ рд▓реЗрдЦрдмрд╛рдЯ рд▓реЗрдЦрдХрдХреЛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рд╕рд╣рд┐рдд рдХреЛрдб рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реЗред рддреНрдпрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рдХрдо рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗред рд╣рд╛рдореА рдХреБрдиреИ рдкрдирд┐ рд╕реНрд░реЛрддрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдирд┐рд╖реЗрдз рдЧрд░реНрджреИрдиреМрдВ, рддрд░ рд╣рд╛рдореА рдЪрд╛рд╣рдиреНрдЫреМрдВ рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐рд▓реЗ рдЙрд╕рд▓реЗ рд▓реЗрдЦреЗрдХреЛ рдХреБрд░рд╛рдорд╛ рдЧрд╣рд┐рд░реЛрд╕реНред

рдорд╛рдкрджрдгреНрдб

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

рддреНрдпрд╣рд╛рдБ "рдорд╛рдирд╡", рдореНрдпрд╛рдиреБрдЕрд▓ рдорд╛рдкрджрдгреНрдб рдкрдирд┐ рдерд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХрд▓ рдХреЛрдб рд╢реИрд▓реА рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ред рдЦрд╛рд▓реА рдард╛рдЙрдБрдХреЛ рд╕рдЯреНрдЯрд╛ рдЯреНрдпрд╛рдмрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╡рд╛ рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╕реИрд▓реЗ рдЕрдВрдХрд╣рд░реВ рдХрдЯреМрддреА рдЧрд░реЗрдиред рдпреЛ рдЕрд░реНрдХреЛ рдХреБрд░рд╛ рд╣реЛ рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдерд╛рд╣рд╛ рднрдПрдХреЛ рдПрдХ рдирд┐рдпрдо рдЕрдиреБрд╕рд╛рд░ рдбрдмрд▓ рдЙрджреНрдзрд░рдг рд╕рдВрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рдПрдХрд▓ рдЙрджреНрдзрд░рдг, рд░ рдЕрдирд┐рдпрдорд┐рдд рдорд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред

рд╕рдорд╛рдзрд╛рдирдХреЛ рд╕реНрдкрд╖реНрдЯрддрд╛ рд░ рдкрдардиреАрдпрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЗрдПрдХреЛ рдерд┐рдпреЛред рд╕рдВрд╕рд╛рд░рдХрд╛ рд╕рдмреИ рд╕рдореНрдореЗрд▓рдирд╣рд░реВрдорд╛ рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдХреЛ рдХрд╛рдордХреЛ 80% рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐рдХреЛ рдХреЛрдб рдкрдвреНрдиреБ рд╣реЛред рд╕реНрдХреВрд▓рдХрд╛ рдмрдЪреНрдЪрд╛рд╣рд░реВрд▓реЗ рдкрдирд┐ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВ рдкрд╛рд░ рдЧрд░реНрдЫрдиреН - рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдХреНрдпреБрд░реЗрдЯрд░рд╣рд░реВ рд░ рдПрдХрдЕрд░реНрдХрд╛рдмрд╛рдЯред рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдорд╛рдкрджрдгреНрдбрд▓реЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рдЬрди рдмреЛрдХреЗрдХреЛ рдЫред рддреНрдпрд╣рд╛рдБ рдХрд╛рдорд╣рд░реВ рдерд┐рдП рдЬрд╕рдорд╛ рдПрдХ рд╡рд░реНрдг рднрдиреНрджрд╛ рд▓рд╛рдореЛ рдЪрд░рд╣рд░реВ рдерд┐рдПрдирдиреН - рдХреГрдкрдпрд╛ рддреНрдпрд╕реЛ рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрдХрд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдзреЗрд░реИ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рдерд┐рдП - рд╕реНрдЯреЗрд▓рд╛ рдЪрд╛рдЩрдХрд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдмрд╛рд╣реЗрдХред

рдЕрдиреНрддрд┐рдо рдорд╛рдкрджрдгреНрдб autotests рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реЛред рдХреЗрд╡рд▓ рдХреЗрд╣рд┐ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдердкреЗ, рддрд░ рд╕рдмреИрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрд░реНрдордорд╛ рдареВрд▓реЛ рдкреНрд▓рд╕ рднрдпреЛред

рд╕рд╣реА рд╕рдорд╛рдзрд╛рди:

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);
    };
};

рдХрд╛рд░реНрдп рей: рдШрдЯрдирд╛рдХреНрд░рдо рдХреНрдпрд╛рд▓реЗрдиреНрдбрд░

рдпреЛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ Sergey Kazakov рд░ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ Podskrebkin рджреНрд╡рд╛рд░рд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рд╕рд░реНрдд

рдЖрдлреНрдиреЛ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдПрдХ рдорд┐рдиреА рдХреНрдпрд╛рд▓реЗрдиреНрдбрд░ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдордирдкрд░реНрдиреЗ рдХреБрдиреИ рдкрдирд┐ рддрд╛рд▓рд┐рдХрд╛ рд▓рд┐рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, 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 рдмреБрдЭреНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ, рдЬрд╕рдХреЛ рд▓рд┐рдЩреНрдХ рдХрд╛рдордорд╛ рд╕рд╣реА рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗрдХрд╛ рдерд┐рдПрдиреМрдВ рдХрд┐ рдпреЛ рдзрдХреЗрд▓реНрдиреЗ рд╕рдордп рд╣реЛ рдХрд┐ рдЫреИрдиред рдХреБрдиреИ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╡рд┐рдХрд▓реНрдк рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдпреЛ: рд╕реНрдерд╛рдиреАрдп рднрдгреНрдбрд╛рд░рдгрдорд╛ рднрдгреНрдбрд╛рд░рдг, IndexDB рд╡рд╛ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдЖрд╡рдзрд┐рдХ рдорддрджрд╛рдиред рдпреЛ рдПрдХ рдкреБрд╢ рд╕рд░реНрднрд░ рдмрдирд╛рдЙрди рдкрдирд┐ рд╕рдореНрднрд╡ рдерд┐рдпреЛ (рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг), рддрд░ рдпрд╕рд▓реЗ рдЕрдлрд▓рд╛рдЗрди рдХрд╛рдо рдЧрд░реНрджреИрдиред рдкреГрд╖реНрда рдмрдиреНрдж рднрдПрдкрдЫрд┐ - рд░ рдХреЗрд╣рд┐ рд╕рдордп рдкрдЫрд┐ рдЦреЛрд▓рд┐рдП рдкрдЫрд┐ рдзрдХреНрдХрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдорд╛рди рд░реВрдкрдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдерд┐рдпреЛред рдпрджрд┐ рд░рд┐рдорд╛рдЗрдиреНрдбрд░ рдПрдХреИ рд╕рдордпрдорд╛ рдкреГрд╖реНрда рдмрдиреНрдж рднрдПрдХреЛ рдерд┐рдпреЛ рднрдиреЗ, рд╕рдорд╛рдзрд╛рди рдЧрдгрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрдиред рдпреЛ рд░рд╛рдореНрд░реЛ рдЫ рдЬрдм рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рд╕рдореАрдХреНрд╖рдХрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реЛрдЪреЗрдХрд╛ рдерд┐рдП рд░ рдпрд╕рд▓рд╛рдИ рдЕрд╣рд┐рд▓реЗ рдиреИ рдзрдХреНрдХрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдиреБрднрдпреЛ - рддрд╛рдХрд┐ 3 рджрд┐рди рдкрд░реНрдЦрдиреБ рдкрд░реНрджреИрдиред

рдбреЗрд╕реНрдХрдЯрдкрдорд╛ рдкреНрд░рддрд┐рдорд╛ рд░рд╛рдЦреНрдиреЗ рдХреНрд╖рдорддрд╛ (PWA)ред рд╣рд╛рдореАрд▓реЗ рдлрд╛рдЗрд▓рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдпреМрдВ manifest.json рд╕рд╣реА рдЖрдЗрдХрдирд╣рд░реВрдХреЛ рд╕рд╛рдеред рдХреЗрд╣реА рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рдпреЛ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдХрд╛ рдЫрдиреН (рд╡рд╛ рдпрд╕рд▓рд╛рдИ CreateReactApp рдорд╛ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХреЛ рдЫреЛрдбреЗ) - рддрд░ рд╕рд╣реА рдЖрдЗрдХрдирд╣рд░реВ рдердкреЗрдХрд╛ рдЫреИрдирдиреНред рддреНрдпрд╕рдкрдЫрд┐, рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд╛, "рдПрдЙрдЯрд╛ рдлрд░рдХ рдЖрдЗрдХрди рдЖрд╡рд╢реНрдпрдХ рдЫ" рдЬрд╕реНрддреЛ рддреНрд░реБрдЯрд┐ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛред

рдХреЛрдбрд╕реНрдЯрд╛рдЗрд▓ рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ред рджреЛрд╕реНрд░реЛ рдХрд╛рд░реНрдпрдорд╛ рдЬрд╕реНрддреИ, рд╣рд╛рдореАрд▓реЗ рдПрдХрд▓ рдХреЛрдбрд╕реНрдЯрд╛рдЗрд▓рдорд╛ рд╣реЗрд░реНтАНрдпреМрдВ (рдпрджреНрдпрдкрд┐ рдпреЛ рд╣рд╛рдореНрд░реЛрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди)ред рдХреЗрд╣реА рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ linters рдорд╛ рдкреЗрдЪ - рддреНрдпреЛ рд░рд╛рдореНрд░реЛ рдЫред

рдХрдиреНрд╕реЛрд▓ рддреНрд░реБрдЯрд┐рд╣рд░реВред рдпрджрд┐ рдХрдиреНрд╕реЛрд▓рдорд╛ рд╕рд╣реА рд╕рдВрдХреЗрддрдХ рдерд┐рдпреЛ рдХрд┐ рдХреЗрд╣рд┐ рдЧрд▓рдд рдерд┐рдпреЛ, рд░ рд╕рд╣рднрд╛рдЧреАрд▓реЗ рдзреНрдпрд╛рди рджрд┐рдПрдирдиреН, рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрдВрдХрд╣рд░реВ рдХрдЯреМрддреА рдЧрд░реНрдпреМрдВред

рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрдХреЛ рдирд┐рд░реНрдгрдпрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЫ:

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

рд╣рд╛рдореАрд▓реЗ ренрем рдЬрдирд╛ рдЙрдореНрдореЗрджрд╡рд╛рд░рд╣рд░реВрдмрд╛рдЯ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХрд╛ рдЫреМрдВ рд░ реирей рдЬрдирд╛рд▓рд╛рдИ рдЫрдиреЛрдЯ рдЧрд░реЗрдХрд╛ рдЫреМрдВред рд╣рд╛рдореАрд▓рд╛рдИ рдорд┐рдиреНрд╕реНрдХрдмрд╛рдЯ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рдорд╕реНрдХреЛ, рд╕реЗрдиреНрдЯ рдкрд┐рдЯрд░реНрд╕рдмрд░реНрдЧ рд░ рдЯрд╛рдЯрд╛рд░рд╕реНрддрд╛рдирдмрд╛рдЯ рдкрдирд┐ рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдкрдард╛рдЗрдпреЛред рдХреЗрд╣реА рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЙрдиреАрд╣рд░реВрдХреЛ рд╣рд╛рд▓рдХреЛ рдкреЗрд╢рд╛рд╣рд░реВрдмрд╛рдЯ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдкрд╛рд░реЗ: рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдПрдХ рдлреЛрд░реЗрдВрд╕рд┐рдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛ, рд░ рдЕрд░реНрдХреЛ рдПрдХ рдореЗрдбрд┐рдХрд▓ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рд╣реЛред

рдкрд░рд┐рдгрд╛рдо рдХрд╛рд░реНрдпрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдлрд▓рддрд╛ рджрд░рд╣рд░реВрдХреЛ рдПрдХ рд░реЛрдЪрдХ рд╡рд┐рддрд░рдг рдерд┐рдпреЛред рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрд▓реЗ рдкрд╣рд┐рд▓реЛ рдХрд╛рд░реНрдп рдФрд╕рдд 60%, рджреЛрд╕реНрд░реЛ 50%, рд░ рддреЗрд╕реНрд░реЛ рд╕рдмреИрднрдиреНрджрд╛ рдЧрд╛рд╣реНрд░реЛ рднрдпреЛ рд░ 40% рдХреЛ рдФрд╕рдд рджреНрд╡рд╛рд░рд╛ рдкреВрд░рд╛ рднрдпреЛред

рдкрд╣рд┐рд▓реЛ рдирдЬрд░рдорд╛, рдХрд╛рд░реНрдпрд╣рд░реВ рдЬрдЯрд┐рд▓ рд░ рд╕рдордп-рдЙрдкрднреЛрдЧ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рдпрд╕рдХреЛ рдХрд╛рд░рдг рдпреЛ рд╣реЛрдЗрди рдХрд┐ рд╣рд╛рдореА рд╕рдХреЗрд╕рдореНрдо рдзреЗрд░реИ рдЙрдореНрдореЗрджрд╡рд╛рд░рд╣рд░реВрд▓рд╛рдИ рдмрд╛рд╣рд┐рд░ рдирд┐рдХрд╛рд▓реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рдЖрдлреНрдиреЛ рдЕрдзреНрдпрдпрдирдХреЛ рдХреНрд░рдордорд╛, рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╛рдордирд╛ рдЧрд░реНрдЫрдиреН - рдЪреНрдпрд╛рдЯ рдмрдирд╛рдЙрдиреЗ, рдмрдЪреНрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ Yandex.Music рд╡рд╛ рдореМрд╕рдордорд╛ рдирд┐рд░реНрднрд░ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ Yandex.Weatherред рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рд╕реБрд░реБрд╡рд╛рддреА рдЖрдзрд╛рд░ рдЪрд╛рд╣рд┐рдиреНрдЫред

рдорд▓рд╛рдИ рджреБрдИ рд╡рд░реНрд╖рдЕрдШрд┐ рдореЗрд░реЛ рдПрд╕рдЖрд░рдЖрдИ рдкреНрд░рд╡реЗрд╢ рдХрд╛рд░реНрдп рджреЗрдЦреЗрдХреЛ рд░ рдо рдпрд╕рд▓рд╛рдИ рдХрд╣рд┐рд▓реНрдпреИ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдЫреИрди рднрдиреНрдиреЗ рд╕реЛрдЪрд┐рд░рд╣реЗрдХреЛ рдЫреБред рдпрд╕ рдХреНрд╖рдгрдорд╛ рдореБрдЦреНрдп рдХреБрд░рд╛ рднрдиреЗрдХреЛ рдмрд╕реНрдиреБ рд╣реЛ, рдзреНрдпрд╛рдирдкреВрд░реНрд╡рдХ рд╕рд░реНрддрд╣рд░реВ рдкрдвреНрдиреБрд╣реЛрд╕реН рд░ рдпреЛ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ рдХрд┐ рд╕рд░реНрддрд╣рд░реВрд▓реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рдЧрднрдЧ 80% рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддреЗрд╕реНрд░реЛ рдХрд╛рд░реНрдп (рд╕рдмреИрднрдиреНрджрд╛ рдЧрд╛рд╣реНрд░реЛ) рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореАрд▓реЗ MDN рдорд╛ рд╕реЗрд╡рд╛рдХрд░реНрдореА рд░ рд╕реВрдЪрдирд╛ API рдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдердкреЗрдХрд╛ рдЫреМрдВред рд▓рд┐рдЩреНрдХрд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдЕрдзреНрдпрдпрди рдЧрд░реНрдиреЗ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдмрд┐рдирд╛ рдХрдард┐рдирд╛рдИ рдкреВрд░рд╛ рдЧрд░реЗред

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди