рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдПрдкреАрдЖрдИ

рдпрд╣ рд▓реЗрдЦ 21 рдЬрдирд╡рд░реА 2014 рдХреЛ HTML5Rocks рдХреЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдПрд▓реЗрдХреНрд╕ рдбреИрдирд┐рд▓реЛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╣реИрдмреЗ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореИрдВ рдЗрд╕реЗ рддреБрд░рдВрдд рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред рдореВрд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ ред

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


рдЬреЛ рдирд╛рдкрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рдЙрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ


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

рдЙрдЪреНрдЪ рд╕рдВрдХрд▓реНрдк рд╕рдордп рдФрд░ рд╡рд┐рдзрд┐ рдЕрдм ()


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

рдЖрд╡реЗрджрди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдм () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред

var myTime = window.performance.now(); 

рдкреНрд░рджрд░реНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕рд┐рдВрдЧ рдирд╛рдордХ рдПрдХ рдЕрдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдордп рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдм () рд╡рд┐рдзрд┐ рдиреЗрд╡рд┐рдЧреЗрд╢рдирдЯрд╛рд░реНрдЯ рдХреЗ рдмрд╛рдж рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рддреА рд╣реИред

DOMHighResTimeStamp рдЯрд╛рдЗрдк рдХрд░реЗрдВ


рдкрд╣рд▓реЗ, рд╡рд░реНрддрдорд╛рди рдЖрд╡реЗрджрди рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Date.now () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ DOMTimeStamp рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ ред DOMTimeStamp рдиреЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд▓реМрдЯрд╛рдпрд╛ред рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдордп рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, DOMHighResTimeStamp рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдмрд┐рдВрджреБ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рднреА рд╕рдордп рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдПрдХ рдЧреИрд░-рдкреВрд░реНрдгрд╛рдВрдХ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рдордп рдореЗрдВ рдЖрдВрд╢рд┐рдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рд╣рдЬрд╛рд░рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдпреВрдЬрд░ рдЯрд╛рдЗрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕


рдЪреВрдВрдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдЪреНрдЪ-рд╕рдЯреАрдХ рд╕рдордп рд╣реИ, рдЖрдк рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣рдореЗрдВ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЪрд┐рд╣реНрди () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


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

рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдирд┐рд╢рд╛рди () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд▓ рдХреЗ рдмреАрдЪ рдХрд┐рддрдирд╛ рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИред

рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдиреЗ рдорд╛рдирдХ рд▓реЗрдмрд▓ рдирд╛рдо рдкреНрд░рджрд╛рди рдХрд┐рдП рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: 'mark_fully_loaded', 'mark_fully_vanish', 'mark_above_the_fold', рдЖрджрд┐ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдирд┐рд╢рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрд╡реЗрджрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реЛ:

 window.performance.mark('mark_fully_loaded'); 

рдкреВрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирд╛рдорд┐рдд рд▓реЗрдмрд▓ рд╕реЗрдЯ рдХрд░рдХреЗ, рд╣рдо рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡реЗрджрди рдкрд░ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдФрд░ рдХрдм рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЕрд╡рдХрд╛рд╢ рдкрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред

рдорд╛рдк рдФрд░ рдорд╛рдк () рд╡рд┐рдзрд┐


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

 window.performance.measure('measure_load_from_dom', 'domComplete', 'mark_fully_loaded'); 

рдиреЛрдЯ: рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдЯрд╛рдЗрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЖрд░рдХреНрд╖рд┐рдд рдирд╛рдо 'рдбреЛрдордХрдВрдкреНрд▓реАрдЯ' рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

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

рдХреНрд▓реАрдпрд░рдорд╛рд░реНрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдВрдХ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ ()


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

рдХреНрд▓реАрдпрд░рдорд╛рд░реНрдХреНрд╕ () рдХрд╣рдХрд░ рд╕реЗрдЯ рдорд╛рд░реНрдХреНрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред

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

 window.performance.clearMarks(); 

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

 window.peformance.clearMarks('mark_fully_loaded'); 

рдпрд╣ рдХреЛрдб рдКрдкрд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рдирд┐рд╢рд╛рди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рднреА рдирд┐рд╢рд╛рди рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдорд╛рдкреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рднреА рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХреНрд▓реАрдпрд░рдорд╛рдЗрдЬрд╝рд░ () рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рдХреНрд▓рд┐рдпрд░рдорд╛рд░реНрдХреНрд╕ () рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 window.performance.clearMeasures('measure_load_from_dom'); 

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

рд╕рдордп рдбреЗрдЯрд╛ рдХреА рдмрдЪрдд


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

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

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб:

 var items = window.performance.getEntriesByType('mark'); 

рдЗрд╕ рдХреЛрдб рдореЗрдВ, рдЬрдмрдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╕рднреА рдирд┐рд╢рд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

 var items = window.performance.getEntriesByType('measure'); 

рдХрд┐рдП рдЧрдП рд╕рднреА рдорд╛рдк рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЖрдк рдЙрди рдирд╛рдореЛрдВ рдХреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реМрдВрдкрд╛ рдерд╛:

 var items = window.performance.getEntriesByName('mark_fully_loaded'); 

рдЯрд╛рдЗрдорд╕реНрдЯреИрдВрдк рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬреЛ startTime рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ 'mark_fully_loaded' рд╣реИред

XHR рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдордп рдЧрдгрдирд╛


рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдПрдкреАрдЖрдИ рдХреА рдПрдХ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА XHR рдЕрдиреБрд░реЛрдз рдХрд┐рддрдиреЗ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЙрди рд╕рднреА рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рднреЗрдЬрдиреЗ () рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдХреЙрд▓рдмреИрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднреА рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдирд┐рд╢рд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдФрд░ рдЕрдиреБрд░реЛрдз рдХреА рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рд╕рдордп рдХреЛ рднреА рдорд╛рдкреЗрдВред

рдЖрдорддреМрд░ рдкрд░, рдПрдХ рд╕рд╛рдзрд╛рд░рдг XHR рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 var myReq = new XMLHttpRequest(); myReq.open('GET', url, true); myReq.onload = function(e) { do_something(e.responseText); } myReq.send(); 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рдЙрдВрдЯрд░ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдорд╛рдк рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 var reqCount = 0; var myReq = new XMLHttpRequest(); myReq.open('GET', url, true); myReq.onload = function(e) { window.performance.mark('mark_end_xhr'); reqCnt++; window.performance.measure('measure_xhr_' + reqCnt, 'mark_start_xhr', 'mark_end_xhr'); do_something(e.responseText); } window.performance.mark('mark_start_xhr'); myReq.send(); 

рдпрд╣ рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХ XHR рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдпрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рднреЗрдЬрддреЗ рд╣реИрдВред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрд░реЗрд▓реВ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВред

рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрдИ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 var items = window.performance.getEntriesByType('measure'); for (var i = 0; i < items.length(); ++i) { var req = items[i]; console.log('XHR ' + req.name + ' took ' + req.duration + 'ms'); } 

рдирд┐рд╖реНрдХрд░реНрд╖


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

Source: https://habr.com/ru/post/In210748/


All Articles