рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рджрд▓, рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ

рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╕рдордп, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдкреНрд░рджрд╛рддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ рдЙрдЪреНрдЪрддрдо рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 25 рдШрдВрдЯреЗ рдПрдХ рджрд┐рди, рд╕рдкреНрддрд╛рд╣ рдореЗрдВ 9 рджрд┐рди рдФрд░ рд╡рд░реНрд╖ рдХреЗ рд╕рднреА рджрд┐рдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ - рдпрд╛ рддреЛ рдмрд╛рд╣рд░реА рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд░рд┐рдЬрд░реНрд╡ рдПрдХ рдХреЛ рд╕рдВрдХреНрд░рдордг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ , рддреЛ рдбреАрдЬрд▓ рдИрдВрдзрди рдХреЗ рд╕рд╛рде рдЯреИрдВрдХ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдХрдВрдбреЗрдирд╕реЗрдЯ (рдкрд╛рдиреА) рд╣реЛрдЧрд╛ , рдлрд┐рд░ 29 рдлрд░рд╡рд░реА рдХреЛ "рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ" рдЗрд╕рдХреА рдЧрдгрдирд╛ рдПрдХ рд╡рд░реНрд╖ рдХреА рд╡реГрджреНрдзрд┐ рд╕реЗ рдХреА рдЬрд╛рдПрдЧреА ред

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

рдХрд┐рд╕реЗ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?

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

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



рдпрд╣ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╣рд╛рдБ рд╕реЗ рдЖрдпрд╛? рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд╕реБрдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ 80,500 рдХреЗ рд╕реНрддрд░ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ 100,500 рдкреИрд╕реЗ рд╣реИрдВ?

рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВред рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ рдХрдИ (рдФрд░ рдХрд╛рдлреА рд╕рд╣реА) рдХреЗ рд▓рд┐рдП рддреБрдЪреНрдЫ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдРрд╕реА рдкрд╛рд░рдЧрдорди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рднреА рдирд╣реАрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП ...

рд╕рдмрд╕реЗ рдЖрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЗ рд▓реЛред рдУрдЧреЗрд▓рд┐рд╕ 20 рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдХреЗрд╡рд▓ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд╕реНрдерд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдкрд╕рдВрдж рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред рд╣рдо рдПрдХ рдЦрд╛рд▓реА рдЯреИрдм рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ рд╣рдо рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, github.com GitHub рдореБрдЦреНрдп рдкреГрд╖реНрда рдЦреБрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдкрддрд╛ рдмрд╛рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рддреБрдо рджреЗрдЦреЛ, рдорд╣рд▓ рдФрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреА рдПрдХ рдЫрд╡рд┐ рд╣реИ "GitHub, Inc. (рдпреВрдПрд╕) рдЖрдк рдЗрд╕ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЛ рдорд╛рдЙрд╕ рд╕реЗ рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд░реВрдк рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред



рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рджреЗрдЦреЗрдВ рдмрдЯрдиред



рдЗрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ... EXTREMELY UNEXPECTED ...



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

рдЗрд╕рд▓рд┐рдП, рд╕рдордп рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬреБрд▓рд╛рдИ 2013 рдХреЗ рдЕрдВрдд рддрдХ github.com рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдиреНрдп рд╣реИред рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд▓рдЧрд╛рддрд╛рд░ - рд╣рд░ рджрд┐рди рдФрд░ рдШрдбрд╝реА рдХреЗ рдЖрд╕рдкрд╛рд╕ - рд╕рд╛рджреЗ рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдереАред

рдЕрдм рдкрд╛рдардХ рдкрд╣рд▓реЗ рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ, "рд╣рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╡реИрдзрддрд╛ рдЕрд╡рдзрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреНрдпреЛрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП"ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпреЛрдВ, рдХреНрдпреЛрдВрдХрд┐ "рдпрд╣ рд╣рдорд╛рд░рд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдирд╣реАрдВ рд╣реИ"?

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

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

рддрджрдиреБрд╕рд╛рд░, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рддреАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдпрд╛ рддреЛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХреЗ рд▓рд┐рдП рдЖрд╢рд╛ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ (рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╢рд╛рдпрдж рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдВред

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

рдлрд░рд╡рд░реА рдореЗрдВ рдПрдЬрд╝реНрдпреЛрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдареАрдХ рдпрд╣реА рд╣реБрдЖ рд╣реИред Windows Azure рдкрд░, рдХреБрдЫ рд╕реЗрд╡рд╛рдПрдБ Azure Storage рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдПрдЬрд╝реНрдпреЛрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рди рдХреЗрд╡рд▓ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛рдУрдВ, рдмрд▓реНрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рддреИрдирд╛рддреА рдФрд░ рдирдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХреАред

рддреЛ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдорд╛рд░рд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред

рдЖрдкрдиреЗ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХреНрдпреЛрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред C # рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ 10 рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВ - рдЖрдкрдХреЛ рдПрдХ WebRequest рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд░реНрд╡рд░ рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЕрдиреБрд░реЛрдз рдХреЗ ServicePoint.Certificate рдЧреБрдг рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

var request = (HttpWebRequest)(WebRequest.Create(uri)); using(var response = request.GetResponse()) { } var serverCertificate = request.ServicePoint.Certificate; 

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

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

рдпрд╛ рдЖрдк рдмрд╕ рдкреНрд░рджрд╛рддрд╛ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "рдпрд╣ рдЙрдирдХреА рд╕рднреА рдЧрд▓рддреА рд╣реИред" рдЙрдиреНрд╣реЗрдВ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛?

рджрд┐рдорд┐рддреНрд░реА рдореЗрд╢реНрдЪреЗрд░реАрдХреЛрд╡,
рдбреЗрд╡рд▓рдкрд░ рдЙрддреНрдкрд╛рдж рд╡рд┐рднрд╛рдЧ

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


All Articles