рджрд╢рдХреЛрдВ рд╕реЗ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдерд╛ред рдЖрдЬ рд╕реНрдерд┐рддрд┐ рд╡рд┐рдкрд░реАрдд рд╣реИ: рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд░ рджрд┐рди рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдпрдВ рд▓рдЧрднрдЧ рдЕрд╕реНрдкрд╖реНрдЯ рд░рд╣рддреА рд╣реИред
рдореЗрд░реЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдореЗрдВ
Google рдХреА рдЖрдВрддрд░рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рджрд╢рдХ рд╢рд╛рдорд┐рд▓
рд╣реИ , рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде
рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд
рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ ред
рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЧрдВрднреАрд░ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдХреНрд╕рд░ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд░рд▓ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдЗрддрдиреА рдЬрд▓реНрджреА рд╣реБрдЖ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЕрднреА рддрдХ рдкреНрд░рднрд╛рд╡реА рдЪрдпрди рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХрдм рдЙрдЪрд┐рдд рд╣реИрдВ рдФрд░ рдХрдм рдирд╣реАрдВред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЬреЛрдЦрд┐рдореЛрдВ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рд╣реИред
рдирд╢рд╛ рдХреНрдпрд╛ рд╣реИ?
рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ,
рдирд┐рд░реНрднрд░рддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреЛрдб рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдХрд╛рдИ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛, рд▓рд┐рдЦрдирд╛, рдкрд░реАрдХреНрд╖рдг, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рдирд╛ред рд╣рдо рдХреЛрдб рдХреА рдЗрд╕ рдЗрдХрд╛рдИ рдХреЛ рдПрдХ
рдкреИрдХреЗрдЬ рдХрд╣рддреЗ рд╣реИрдВ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЕрдиреНрдп рд╢рд░реНрддреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдореЙрдбреНрдпреВрд▓, рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдПрдХ рдкреБрд░рд╛рдиреА рдкреНрд░рдерд╛ рд╣реИ: рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛, рдЪрд╛рд╣реЗ рд╡рд╣ рд╕реА рд╕реЗ рдкреАрд╕реАрдЖрд░ рдпрд╛ рдЬрд╝реНрд▓рд┐рдм рд╣реЛ, рд╕реА ++ рд╕реЗ рдмреВрд╕реНрдЯ рдпрд╛ рдХреНрдпреВрдЯреА, рдЬрд╛рд╡рд╛ рд╕реЗ рдЬреЛрдбрд╛рдЗрдо рдпрд╛ рдЬреБрдирд┐рдЯред рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рдбреАрдмрдЧ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдиреБрднрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдРрд╕реЗ рдкреИрдХреЗрдЬ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рдЕрдЧреНрд░рд┐рдо рд▓рд╛рдЧрдд рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдиреБрдЕрд▓ рдкреБрди: рдЙрдкрдпреЛрдЧ рдорд╣рдВрдЧрд╛ рд╣реИ: рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬ рдЦреБрдж рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ (рдХрднреА-рдХрднреА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдирд┐рд░реНрднрд░рддрд╛ рдкреИрдХреЗрдЬреЛрдВ рдХреА рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд▓рд╛рдЧрдд рдХрдо рдХрд░рдиреЗ рд╕реЗ рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдлрд╛рдпрддреА рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдирдкреАрдПрдо рдирд╛рдордХ рдПрдХ Node.js рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ 750,000 рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ,
escape-string-regexp
рдореЗрдВ рдПрдХ рдПрдХрд▓ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рд╕реЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдСрдкрд░реЗрдЯрд░реЛрдВ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; module.exports = function (str) { if (typeof str !== 'string') { throw new TypeError('Expected a string'); } return str.replace(matchOperatorsRe, '\\$&'); };
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдиреЗ рджрд┐рдЦрд╛рдИ, рдЖрда-рд▓рд╛рдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛: рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрд░рд┐ рдФрд░ рдмрд╣реБрдд рдХрдо рд▓рд╛рднред рд▓реЗрдХрд┐рди рдПрдирдкреАрдПрдо рдиреЗ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рдЧрднрдЧ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреИрдХ рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдирд╡рд░реА 2019 рдХреЗ рдЕрдВрдд рдореЗрдВ,
escape-string-regexp
рдирд┐рд░реНрднрд░рддрд╛ рд▓рдЧрднрдЧ рдПрдХ рд╣рдЬрд╛рд░ рдЕрдиреНрдп рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрди рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд▓рдЧрднрдЧ рд╣рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВред рдорд╛рд╡реЗрди рд╕реЗрдВрдЯреНрд░рд▓ (рдЬрд╛рд╡рд╛), рдиреБрдЧреЗрдЯ (.NET), рдкреИрдХрдЧрд┐рд╕реНрдЯ (PHP), PyPI (рдЕрдЬрдЧрд░) рдФрд░ RubyGems (рд░реВрдмреА) - рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 100,000 рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╣реИрдВред рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдРрд╕реЗ рд╡реНрдпрд╛рдкрдХ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд╛ рдЖрдЧрдорди рдкрд┐рдЫрд▓реЗ рджреЛ рджрд╢рдХреЛрдВ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдо рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рди рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрдВрдЧреАред
рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдПрдХ рдкреИрдХреЗрдЬ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рд╣реИред рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдирд╛ рдЗрд╕ рдХреЛрдб рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╕реМрдВрдкрддрд╛ рд╣реИ - рдбрд┐рдЬрд╛рдЗрди, рд▓реЗрдЦрди, рдкрд░реАрдХреНрд╖рдг, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╕рдорд░реНрдерди - рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЬрд┐рд╕реЗ рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рднреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЕрдм рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдХрд┐рд╕реА рдЕрдЬрдирдмреА рдХреЗ рдХреЛрдб рдкрд░
рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд▓рдЧрддрд╛ рд╣реИред рдХреЛрдИ рднреА рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛?
рд╣рдо рд╕рд╣рдордд рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рднреА рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рджрд┐рдпреЛрдВ рдкреБрд░рд╛рдиреА рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░рдерд╛ рдХреА рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рджрд╢рдХреЛрдВ рдкрд╣рд▓реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд┐рди рдкрд░ рд╡реЗ рдирд┐рд░реНрднрд░ рдереЗ, рдЬреИрд╕реЗ рдХрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ред рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╕рд┐рджреНрдз рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдХреНрд╕рд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд░реНрдерди рд╕рдордЭреМрддреЗ рдХреЗ рд╕рд╛рдеред рдЕрднреА рднреА
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдПрдХрдореБрд╢реНрдд wrecking рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реИ ред рд▓реЗрдХрд┐рди рд╣рдо рдХрдо рд╕реЗ рдХрдо рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рд╣рдо рдХрд┐рд╕рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗ рдФрд░ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкреНрд░рднрд╛рд╡ рдХреЗ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдпрд╛ рдХрд╛рдиреВрдиреА рдЙрдкрд╛рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рдереЗред
рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдШрдЯрдирд╛, рдЬрд┐рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдирд┐: рд╢реБрд▓реНрдХ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЦрд░реАрджрдиреЗ рдХреА рдкреБрд░рд╛рдиреА рдкреНрд░рдерд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЬрдм рдкреБрди: рдЙрдкрдпреЛрдЧ рдЕрднреА рднреА рдореБрд╢реНрдХрд┐рд▓ рдерд╛, рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЗрд╢ рдХреАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕реЛрдВ рдиреЗ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП "рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдореВрд▓реНрдп рдФрд░ рдЙрдкрдпреБрдХреНрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА" рдХреЛ рдорд╛рдл рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдиреЗ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдмрдирд╛рдИред рдЕрдкрдиреЗ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЗрд╕ рдкреНрд░рддрд┐рд╖реНрдард╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рд╣реИред рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдФрд░ рдХрд╛рдиреВрдиреА рд╣рд╕реНрддрдХреНрд╖реЗрдкреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╕рдорд░реНрдерди рдЖрдпрд╛ред рдЙрд╕ рдпреБрдЧ рдХреЗ рдХрдИ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдХреЗрдЬ рдЕрднреА рднреА рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдХрд╛ рдЖрдирдВрдж рд▓реЗрддреЗ рд╣реИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, BLAS (1979 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд), рдиреЗрдЯрд▓рд┐рдм (1987), libjpeg (1991), LAPACK (1992), HP STL (1994), рдФрд░ zlib (1995)ред
рдмреИрдЪ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдиреЗ рдХреЛрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдореЙрдбрд▓ рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рд╕рд░рд▓рддрд╛ рдореЗрдВ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ: рдЕрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рджрд░реНрдЬрдиреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдорд╣рд╛рди рддрдХрдиреАрдХреА рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИред рдЕрдирдЧрд┐рдирдд рдкреИрдХреЗрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдФрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ, рдХрд╛рдиреВрдиреА рдпрд╛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХреЛрдб рдЯреНрд░рд╕реНрдЯ рддрдВрддреНрд░ рдЕрддреАрдд рдХреА рдмрд╛рдд рд╣реИред рд╣рдо рдЕрдзрд┐рдХ рдХреЛрдб рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рдХрдо рдХрд╛рд░рдг рд╣реИрдВред
рдПрдХ рдмреБрд░реА рд▓рдд рдмрдирд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ (рдЬреЛрдЦрд┐рдо) рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдмреБрд░реЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдХреАрдордд рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдмреБрд░реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЦрд░рд╛рдм рдкрд░рд┐рдгрд╛рдо рдХреА рдХреАрдордд рдЙрд╕ рд╕рдВрджрд░реНрдн рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рдПрдХ рдЫреЛрд░ рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢реМрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЦрд░рд╛рдм рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдХреАрдордд рд╢реВрдиреНрдп рдХреЗ рдХрд░реАрдм рд╣реИ: рдЖрдк рдмрд╕ рдордЬрд╝реЗ рдХрд░рддреЗ рд╣реИрдВ, рдЧрд▓рддрд┐рдпреЛрдВ рдХрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рд╕рд┐рд╡рд╛рдп рдереЛрдбрд╝реЗ рд╕рдордп рдХреЗ рдЦрд░реНрдЪ рдХреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рднреА рдордЬрд╝реЗрджрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬреЛрдЦрд┐рдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд▓рдЧрднрдЧ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ: рдЗрд╕реЗ рд╢реВрдиреНрдп рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░ рдЙрддреНрдкрд╛рджрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд░реНрд╖реЛрдВ рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ, рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд▓рд╛рдЧрдд рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ: рд╕рд░реНрд╡рд░ рдЧрд┐рд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЧреЛрдкрдиреАрдп рдбреЗрдЯрд╛ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЧреНрд░рд╛рд╣рдХ рдкреАрдбрд╝рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдВрдкрдирд┐рдпрд╛рдВ рджрд┐рд╡рд╛рд▓рд┐рдпрд╛ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдЧрдВрднреАрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдЬреЛрдЦрд┐рдо рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдХрдо рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЕрдкреЗрдХреНрд╖рд┐рдд рдореВрд▓реНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдореЛрдВ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдЗрди рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рдЕрднреА рддрдХ рдЙрдиреНрд╣реЛрдВрдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдБрдЪ
рдЖрдк рдПрдХ рдРрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд╛рдо рдкрд░ рдирд╣реАрдВ рд░рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реЛ рдФрд░ рди рд╣реА рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реЛрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реАрдЦреЗрдВрдЧреЗ: рд▓рд┐рдВрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрдкрдХреЛ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реАрдЦрдирд╛ рднреА рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╣реИред
рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдВрдЪ рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдПрдХ рд╡рд┐рдЪрд╛рд░ рджреЗ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдЙрдкрд╛рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЪреЗрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреИрдХреЗрдЬ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкреНрд░рдпреЛрдЬреНрдп рдпрд╛ рд╕рдорд░реНрдерди рдХреА рдЧрд╛рд░рдВрдЯреА рдХреЗ рдмрд┐рдирд╛ред рдЙрддреНрдкрд╛рджрди рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЗ рдКрдкрд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ
GNU рдЬрдирд░рд▓ рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдиреЗ рдЪреЗрддрд╛рд╡рдиреА рджреА рдереА, "рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдЬреЛрдЦрд┐рдо рдЖрдкрдХреЗ рд╕рд╛рде рд╣реИрдВред рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рджреЛрд╖рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд░рдЦрд░рдЦрд╛рд╡, рдорд░рдореНрдордд рдпрд╛ рд╕реБрдзрд╛рд░ рдХреА рд▓рд╛рдЧрдд рд╡рд╣рди рдХрд░рддреЗ рд╣реИрдВред "
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреИрдХреЗрдЬ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдбрд┐рдЬрд╝рд╛рдЗрди
рдХреНрдпрд╛ рдкреИрдХреЗрдЬ рдкреНрд░рд▓реЗрдЦрди рд╕реНрдкрд╖реНрдЯ рд╣реИ? рдХреНрдпрд╛ рдПрдкреАрдЖрдИ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдбрд┐рдЬрд╛рдЗрди рд╣реИ? рдпрджрд┐ рд▓реЗрдЦрдХ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдкреАрдЖрдИ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реИрдВред рдПрдХ рд╕реНрдкрд╖реНрдЯ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕рд░рд▓, рддреЗрдЬрд╝ рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрдо рддреНрд░реБрдЯрд┐ рд╡рд╛рд▓рд╛ рд╣реИред рдХреНрдпрд╛ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдВрдЧреЗ? (рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ
C ++ рдФрд░
рдЧреЛ рд╕рдВрдЧрддрддрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред
рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛
рдХреНрдпрд╛ рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ? рдХреБрдЫ рд╕реНрдирд┐рдкреЗрдЯ рдкрдврд╝реЗрдВред рдХреНрдпрд╛ рд▓реЗрдЦрдХ рд╕рд╛рд╡рдзрд╛рди, рдХрд░реНрддрд╡реНрдпрдирд┐рд╖реНрда рдФрд░ рд╕реБрд╕рдВрдЧрдд рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рдЙрд╕ рдХреЛрдб рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдбреАрдмрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рддрд░реАрдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред рдХреБрдЫ рд╕рд░рд▓, рдЬреИрд╕реЗ рдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде C рдпрд╛ C ++ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
-Wall
), рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╣рд╛рд▓ рдХреА рднрд╛рд╖рд╛рдПрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЧреЛ, рдЬрдВрдЧ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ, рдХреЛрдб рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
unsafe
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИ; рджреЗрдЦреЛ рдХрд┐рддрдирд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рд╣реИред рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЯреВрд▓ рдЬреИрд╕реЗ рдХрд┐
рдЗрдирдлреЗрд░ рдпрд╛
рд╕реНрдкреЙрдЯрдмрдЧреНрд╕ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рд▓рд┐рдВрдЯрд░реНрд╕ рдХрдо рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ: рдЖрдкрдХреЛ рдХреЛрд╖реНрдардХ рд╢реИрд▓реА рдЬреИрд╕реЗ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдорд╛рдирдХ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрди рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рд┐рдП рдЬрд┐рдирд╕реЗ рдЖрдк рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SQLite рдкреБрд╕реНрддрдХрд╛рд▓рдп 200,000 рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ 11,000 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рд╣реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдкред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рддреБрд░рдВрдд рд▓рд╛рд▓ рдЭрдВрдбрд╛ рдЙрдард╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЧрд╣рди рд╢реЛрдз рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реЛрдЧрд╛: рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА рдЬрд┐рд╕рдореЗрдВ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрд░реЛрдд рд╕реА рдлрд╛рдЗрд▓реЗрдВ, рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рдорд░реНрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдореВрд▓ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрд╣ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЖрд╢реНрд░рд┐рдд рдкреНрд░рдмрдВрдзрдХ рдирд╣реАрдВ рд╣реИрдВред (рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рднреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд▓реНрдк рджреЗрдЦрддрд╛ рд╣реИ)ред
рдкрд░реАрдХреНрд╖рдг
рдХреНрдпрд╛ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╡реЗ рдкрд╛рд╕ рд╣реЛ рдЧрдП? рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рд╣реА рд╣реИ, рдФрд░ рд╕рдВрдХреЗрдд рджреЗрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдЗрд╕реЗ рд░рдЦрдиреЗ рдХреА рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SQLite рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреЗрдбрд╝ рдореЗрдВ 30,000 рд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддреГрдд рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рд╣реЛрддрд╛ рд╣реИред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд░рдгрдиреАрддрд┐ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛
рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ ред рджреВрд╕рд░реА рдУрд░, рдЕрдЧрд░ рдХреБрдЫ рдпрд╛ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рд▓рд╛рд▓ рдЭрдВрдбрд╛ рд╣реИ: рдкреИрдХреЗрдЬ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рдЙрди рдкреНрд░рддрд┐рдЧрдордиреЛрдВ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб (рджрд╛рдПрдВ?) рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рджреВрд╕рд░реЛрдВ рдХреЛ рджреЗрддреЗ рд╣реИрдВред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореМрдЬреВрдж рд╣реИрдВ, рдЪрд▓рд╛рдПрдВ рдФрд░ рдкрд╛рд╕ рдХрд░реЗрдВ, рдЖрдк рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ,
рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ , рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рд╕реНрдореГрддрд┐ рд▓реАрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдЪрд▓рд╛рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбрд┐рдмрдЧрд┐рдВрдЧ
рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдмрдЧ рдЯреНрд░реИрдХрд░ рдЦреЛрдЬреЗрдВред рдХреНрдпрд╛ рдХрдИ рдЦреБрд▓реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИрдВ? рд╡реЗ рдХрдм рд╕реЗ рдЦреБрд▓реЗ рд╣реИрдВ? рдХрд┐рддрдиреЗ рдХреАрдбрд╝реЗ рддрдп рд╣реЛ рдЧрдП рд╣реИрдВ? рдХреНрдпрд╛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдХреАрдбрд╝реЗ рддрдп рдХрд┐рдП рдЧрдП рд╣реИрдВ? рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдЦреБрд▓реЗ рдкреНрд░рд╢реНрди рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрдВрдж рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╕рдВрдХреЗрдд рд╣реИред рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреБрд░реНрд▓рдн рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред
рд╕рдорд░реНрдерди
рдХрдорд┐рдЯреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджреЗрдЦреЗрдВред рдХреЛрдб рдХреЛ рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдЕрдм рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ? рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдкреИрдХреЗрдЬ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХрдИ рдкреИрдХреЗрдЬ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП рдмрдирд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдп рднреБрдЧрддрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдШрдВрдЯреЗ рдХреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрдХреЗрдЬ рдЖрдорддреМрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рд▓рдЧрд╛рддрд╛рд░ рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╡реЗ рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рджреВрд╕рд░реА рдУрд░, рдХреБрдЫ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рд╕рд╣реА" рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдирдкреАрдПрдо рд╕реЗ
escape-string-regexp
рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдХреЗ рдЙрдкрдпреЛрдЧ
рдЗрд╕ рдХреЛрдб рдкрд░ рдХрд┐рддрдиреЗ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ? рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдЕрдХреНрд╕рд░ рдРрд╕реЗ рдЖрдВрдХрдбрд╝реЗ рджреЗрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд┐рддрдиреА рдмрд╛рд░ рдЗрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдорддрд▓рдм рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рддрдереНрдп рд╕реЗ рд╣реИ рдХрд┐ рдХрдИ рдХреЛрдб рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рднреА рдирд┐рд░рдВрддрд░ рд╕реЗрд╡рд╛ рдХреА рдПрдХ рдЖрдВрд╢рд┐рдХ рдЧрд╛рд░рдВрдЯреА рд╣реИ: рдпрджрд┐ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреИрдХреЗрдЬ рдЕрдкрдиреЗ рдЕрдиреБрдЪрд░ рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдЗрдЪреНрдЫреБрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PCRE, Boost рдпрд╛ JUnit рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ - рдХрд┐ рдЬрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЖрдкрдХреЛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ, рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрдп рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ред
рд╕реБрд░рдХреНрд╖рд╛
рдХреНрдпрд╛ рдпрд╣ рдкреИрдХреЗрдЬ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдпрд╣ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдкреНрд░рддрд┐рд░реЛрдзреА рд╣реИ? рдХреНрдпрд╛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрдЧреНрд╕ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ
рд░рд╛рд╖реНрдЯреНрд░реАрдп рднреЗрджреНрдпрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ (рдПрдирд╡реАрдбреА) рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм 2006 рдореЗрдВ рдЬреЗрдл рдбреАрди рдФрд░ рдореИрдВрдиреЗ
Google рдХреЛрдб рд╕рд░реНрдЪ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреЛрдб рдЖрдзрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП
grep
) рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреАрд╕реАрдЖрд░рдИ рд╕реНрдкрд╖реНрдЯ рдкрд╕рдВрдж рдкреНрд░рддреАрдд рд╣реБрдИред рд╣рд╛рд▓рд╛рдБрдХрд┐, Google рд╕реБрд░рдХреНрд╖рд╛ рдЯреАрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдореЗрдВ, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ PCRE рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕рд░ рдореЗрдВред рд╣рдо рдЦреБрдж рдПрдирд╡реАрдбреА рдореЗрдВ рдкреАрд╕реАрдЖрд░рдИ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдереЗред рдЗрд╕ рдЦреЛрдЬ рдиреЗ рд╣рдореЗрдВ рддреБрд░рдВрдд PCRE рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдмрд▓реНрдХрд┐ рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЕрд▓рдЧрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред
рд▓рд╛рдЗрд╕реЗрдВрд╕
рдХреНрдпрд╛ рдХреЛрдб рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ? рдХреНрдпрд╛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд▓рд╛рдЗрд╕реЗрдВрд╕ рднреА рд╣реИ? рдХреНрдпрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ? GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдПрдХ рдЕрджреНрднреБрдд рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдХрдВрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Google AGPL (рдмрд╣реБрдд рддрдВрдЧ) рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ WTFPL (рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ) рдЬреИрд╕реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдХреЛрдб
рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░
рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ ред
рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рдХреНрдпрд╛ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреА рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ? рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдХрдореА рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдиреБрдХрд╕рд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реИрдВред рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреА рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЗрд╕ рдЦрдВрдб рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдИ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрд╣реБрдд рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрднреА рднреА рдЕрдкрдиреЗ рдХреЛрдб рдХреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рд░реНрдЪ 2016 рдореЗрдВ, рдПрдирдкреАрдПрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореБрджрд╛рдп рдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ - рдЬрд┐рд╕рдореЗрдВ рдмрд╛рдмреЗрд▓, рдПрдореНрдмрд░ рдФрд░ рд░рд┐рдПрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ 8-рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ
left-pad
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдЬрдм
left-pad
рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдПрдирдкреАрдПрдо рд╕реЗ рдкреИрдХреЗрдЬ рд╣рдЯрд╛ рджрд┐рдпрд╛,
рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ Node.js рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ
рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ ред рдФрд░ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ
left-pad
рд╢рд╛рдпрдж рд╣реА рдЕрд╕рд╛рдзрд╛рд░рдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдирдкреАрдПрдо рдореЗрдВ 750,000 рдкреИрдХреЗрдЯ рдореЗрдВ рд╕реЗ 30% рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ - рдХрдо рд╕реЗ рдХрдо рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ -
escape-string-regexp
ред рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓реЗрд╕реНрд▓реА рд▓рд╛рдордкреЛрд░реНрдЯ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ, рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдкреИрдХреЗрдЬ рд╡рд┐рдлрд▓рддрд╛, рдЬрд┐рд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЛ рдЖрдк рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдереЗ, рдЕрдкрдирд╛ рдХреЛрдб рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд▓рдд рдХреА рдЬрд╛рдБрдЪ
рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреИрдХреЗрдЬ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдкреИрдХреЗрдЬ рдиреЗ рдкрд░реАрдХреНрд╖рд╛ рдкрд╛рд╕ рдХрд░ рд▓реА рд╣реИ рдФрд░ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓рд╛ рдХрджрдо рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЗрдВрджреНрд░рд┐рдд рдирдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рдкрд░реАрдХреНрд╖рдг рдЕрдХреНрд╕рд░ рдЫреЛрдЯреЗ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдЖрдк рдкреИрдХреЗрдЬ рдПрдкреАрдЖрдИ рдХреЛ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рд╕рдордЭ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рддреБрд░рдВрдд рд░реЛрдХреЗрдВ!)ред рдлрд┐рд░ рдЗрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬреЛ рдкреИрдХреЗрдЬ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдлрд╝рд┐рдХреНрд╕ рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд┐рдХреНрд╕ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред
рдЖрдзрд╛рд░рднреВрдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдХреЛрдб рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ PCRE рдХреЛ рдХрднреА-рдХрднреА рдХреБрдЫ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдпреЛрдЬрдирд╛ "рд╕рд░рд▓" рдФрд░ "рдЬрдЯрд┐рд▓" рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдб рдкреВрд▓ рдмрдирд╛рдиреЗ рдХреА рдереАред рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдерд╛
pcregrep
рдХрдИ рдЕрдиреНрдп
grep
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде
pcregrep
рдХреА рддреБрд▓рдирд╛ рдХреАред рдЬрдм рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐
pcregrep
рдПрдХ рдореВрд▓ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬрд╝
grep
рд╕реЗ 70 рдЧреБрдирд╛ рдзреАрдорд╛ рдерд╛, рддреЛ рд╣рдордиреЗ PCRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдпреЛрдЬрдирд╛ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рдордиреЗ рдЕрдВрддрддрдГ рдкреАрд╕реАрдЖрд░рдИ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдЖрдЬ рд╣рдорд╛рд░реЗ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдирд┐рд░реНрднрд░рддрд╛ рдЕрдореВрд░реНрддрддрд╛
рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдЕрдкрдбреЗрдЯ рдкреИрдХреЗрдЬ рдХреЛ рдПрдХ рдирдИ рджрд┐рд╢рд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВрдЧреЗред рдЧрдВрднреАрд░ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЗрди рд╕рднреА рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рд╡рд╛рд╕рди рдХреЛ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдкреИрдХреЗрдЬ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЕрдЧрд░ рдкреИрдХреЗрдЬ рдХреЛ рдЖрдкрдХреА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд▓рд╛рдЧрддреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдкрддрд▓реА рдЖрд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд░реИрдкрд░ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рди рдХрд┐ рд╕рдм рдХреБрдЫ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрд╣ рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ рдПрдХ рдФрд░, рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЖрд╡рд░рдг рдХреЛ рдмрджрд▓рдХрд░редрдирдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреНрд░рд╡рд╛рд╕рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЖрд╡рд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рднреА рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИредрдХреЛрдб рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╕рд╛рд░ рд╡рд░реНрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ Regexp
рдХрд┐рд╕реА рднреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрдВрдЬрди рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдЦреЛрдЬ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рддрдм рдЙрдиреНрд╣реЛрдВрдиреЗ PCRE рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдкрддрд▓рд╛ рдЖрд╡рд░рдг рд▓рд┐рдЦрд╛ рдЬреЛ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдкреАрд╕реАрдЖрд░рдИ рдШрдЯрдХреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рдЖрдХрд╕реНрдорд┐рдХ рдкрд░рд┐рдЪрдп рдХреЛ рд╕реНрд░реЛрдд рдХреЗ рдмрд╛рдХреА рдкреЗрдбрд╝ рдореЗрдВ рд░реЛрдХ рджрд┐рдпрд╛ред рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рджреВрд╕рд░реЗ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛редрдирд┐рд░реНрднрд░рддрд╛ рдЕрд▓рдЧрд╛рд╡
рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдиреБрдХрд╕рд╛рди рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рди рдЯрд╛рдЗрдо рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рднреА рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Google Chrome рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдм рдХреНрд░реЛрдо рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ 2008 рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝рдВрдХреНрд╢рди (рдЕрдм рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рдорд╛рдирдХ) рдкреЗрд╢ рдХрд┐рдпрд╛ ред рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╢реЛрд╖рдг рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╕рднреА рдореЗрдореЛрд░реА рддрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рдереАрдФрд░ рдЕрдиреБрдЪрд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдХреЛрдб рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рд╣рдордиреЗ PCRE рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЧрд┐рд░рд╛рдпрд╛, рддрдм рддрдХ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдорд╛рди рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ PCRE рдкрд╛рд░реНрд╕рд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдереАред рдЖрдЬ, рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣рд▓реНрдХрд╛ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ рдХрд┐ рдЬреАрд╡реАрдЬрд╝рд░ ред рдирд┐рд░реНрднрд░рддрд╛ рдЕрд▓рдЧрд╛рд╡ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЬреБрдбрд╝реЗ рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИредрдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рдЕрдиреНрдп рддреИрдпрд╛рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде, рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдЪреНрдЪрд╛ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдмрд┐рдирд╛ рдХреЛрдб рдХреЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрдореЛрд░реА-рд╕реБрд░рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпреЗ рди рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдЬреИрд╕реЗ рдХрд┐ C рдФрд░ C ++, рдмрд▓реНрдХрд┐ рдЙрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рднреА рдЬрдЯрд┐рд▓ рд╣реИрдВ рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкрд░рд┐рдЪрд╛рд▓рди рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЬрд╛рд╡рд╛ рдЬрдм JNI рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ Go, Rust рдФрд░ Swiftред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реА рд╕реНрдореГрддрд┐-рд╕реБрд░рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛ рдореЗрдВ, рдХреЛрдб рдХреА рдЕрдХреНрд╕рд░ рдЬрд░реВрд░рдд рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред рдирд╡рдВрдмрд░ 2018 рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ npm рдкреИрдХреЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг event-stream
(рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ) рдореЗрдВ рднреНрд░рд╛рдордХ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВрдврд╛рдИ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдХреЛрдб рдиреЗ рдХреЛрдкрд╛рдП рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдмрд┐рдЯрдХреЙрдЗрди рд╡реЙрд▓реЗрдЯ рдПрдХрддреНрд░ рдХрд┐рдП, рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА, рдЬреЛ рдХрд┐ рдИрд╡реЗрдВрдЯ рдлрд╝реНрд▓реЛ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рд╡ рдХреЗ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмреЗрд╣рддрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЕрд▓рдЧрд╛рд╡ рд╣реЛрдЧрд╛редрд╡реНрдпрд╕рди рдХрд╛ рддреНрдпрд╛рдЧ
рдпрджрд┐ рдирд╢рд╛ рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рд╕рдмрд╕реЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рднрд╛рдЧреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдордиреЗ PCRE рдХреЗ рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛, рддреЛ Google рдХреЛрдб рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ "PCRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдзреЗ PCRE рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрджрд▓ рдЧрдИ", "PCRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╕реИрдВрдбрд░ рдХреЛ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рд░рдЦреЗрдВ", рдлрд┐рд░ "рдПрдХ рдирдпрд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦреЗрдВ, рд▓реЗрдХрд┐рди PCRE рдЗрдВрдЬрди рдХреЛ рд╕рд╣реЗрдЬреЗрдВ", рдлрд┐рд░ "рдПрдХ рдирдпрд╛ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ, рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рдЗрдВрдЬрди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред" рдмрд╛рдж рдореЗрдВ, рдЬреЗрдл рдбреАрди рдФрд░ рдореИрдВрдиреЗ рдЗрдВрдЬрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдмрдЪреА рдереА, рдФрд░ рд╣рдордиреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЦреЛрдЬ рдХреА: RE2 редрдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдФрд░ рдЕрдиреНрдп рдХрд╛рдиреВрдиреА рдиреЛрдЯрд┐рд╕реЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП)ред рдЖрдк рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░, рд░рдЦрд░рдЦрд╛рд╡ рдЖрджрд┐ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд▓реЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдмрдбрд╝реЗ рдЬреЛрдЦрд┐рдореЛрдВ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЕрд▓рдЧ-рдерд▓рдЧ рд╣реИрдВред рдЧреЛ рдбреЗрд╡рд▓рдкрд░ рд╕рдореБрджрд╛рдп рдореЗрдВ рдПрдХ рдХрд╣рд╛рд╡рдд рд╣реИ: "рдереЛрдбрд╝реА рд╕реА рдирдХрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИред"рдирд┐рд░реНрднрд░рддрд╛ рдЕрджреНрдпрддрди
рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рдЬреНрдЮрд╛рди рдерд╛: "рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рд╕реНрдкрд░реНрд╢ рди рдХрд░реЗрдВред" рдЕрджреНрдпрддрди рдХрд░рдиреЗ рд╕реЗ рдирдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИ; рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЗрдирд╛рдо рдХреЗ - рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬреЛрдЦрд┐рдо рдХреНрдпреЛрдВ рд▓реЗрдВ? рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЛ рдкрд╣рд▓реБрдУрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдХреНрд░рдорд┐рдХ рдЙрдиреНрдирдпрди рдХреА рд▓рд╛рдЧрддред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд░реИрдЦрд┐рдХ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ: рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмрдбрд╝реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджрд╕ рдЫреЛрдЯреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрдо рдХрд╛рдо рдФрд░ рдЖрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХрдард┐рдирд╛рдИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЬрд╣рд╛рдВ рдЬреНрдЮрд╛рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд░ рджрд┐рди рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрди рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдорд▓рд╛рд╡рд░ рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдореЗрдВ рдмрдЧ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдХреА 2017 рдХреА рдХрд╣рд╛рдиреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдХрд╛рдВрдЧреНрд░реЗрд╕ рдХреЗ рд╕рд╛рдордиреЗ рдЧрд╡рд╛рд╣реА рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдпрд╛ рдерд╛ред 7 рдорд╛рд░реНрдЪ рдХреЛ, Apache Struts рдореЗрдВ рдПрдХ рдирдИ рднреЗрджреНрдпрддрд╛ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ рдФрд░ рдПрдХ рдкреИрдЪ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ред 8 рдорд╛рд░реНрдЪ рдХреЛ, рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдиреЗ рдЕрдкрд╛рдЪреЗ рд╕реНрдЯреНрд░рдЯреНрд╕ рдХреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдпреВрдПрд╕-рд╕реАрдИрдЖрд░рдЯреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХреАред рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдиреЗ рдХреНрд░рдорд╢рдГ 9 рдФрд░ 15 рдорд╛рд░реНрдЪ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдПрдХ рд╕реНрдХреИрди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛; рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рднреА рд╕реНрдХреИрди рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ред 13 рдордИ рдХреЛ, рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рдРрд╕реЗ рд╕рд░реНрд╡рд░ рдорд┐рд▓реЗ рдЬреЛ рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓реЗред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдкрд╛рдХреНрд╕реИрдХреНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рд╕реНрдЯреНрд░рдЯреНрд╕ рдХреА рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдЕрдЧрд▓реЗ рджреЛ рдорд╣реАрдиреЛрдВ рдореЗрдВ 148 рдорд┐рд▓рд┐рдпрди рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рд╡реНрдпрдХреНрддрд┐рдЧрдд рдФрд░ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА рдЪреБрд░рд╛рдИред рдЖрдЦрд┐рд░рдХрд╛рд░, 29 рдЬреБрд▓рд╛рдИ рдХреЛ рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдиреЗ рдПрдХ рд╣реИрдХ рдХреЛ рджреЗрдЦрд╛ рдФрд░ 4 рд╕рд┐рддрдВрдмрд░ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдХреАред рд╕рд┐рддрдВрдмрд░ рдХреЗ рдЕрдВрдд рддрдХ, рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдХреЗ рд╕реАрдИрдУ, рд╕рд╛рде рд╣реА рд╕реАрдЖрдИрдУ рдФрд░ рд╕реАрдПрд╕рдУ рдиреЗ рдЗрд╕реНрддреАрдлрд╛ рджреЗ рджрд┐рдпрд╛ рдерд╛, рдФрд░ рдХрд╛рдВрдЧреНрд░реЗрд╕ рдореЗрдВ рдЬрд╛рдВрдЪ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рдереАредрдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдХрд╛ рдЕрдиреБрднрд╡ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рд╡реЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рддрдВрддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЧреЛ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдирд░реА рдореЗрдВ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рд╕рд╣рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рд╕реНрдХреИрди рдХрд░ рд╕рдХреЗрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧреЛ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд░рди рдЯрд╛рдЗрдо рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЬреНрдЮрд╛рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИредрдПрдХ рддреНрд╡рд░рд┐рдд рдЕрджреНрдпрддрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдЕрджреНрдпрддрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирдпрд╛ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рдЬреЛрдЦрд┐рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдо рд╕реЗ рдХрдо, рдЖрдк рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдВрддрд░реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рдЕрджреНрдпрддрди рдХреЛрдб рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдкрдврд╝реЗрдВред рдпрджрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрддрд░ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдпрд╣ рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЕрджреНрдпрддрди рдкреИрдХреЗрдЬ рдХрдо рд╕реЗ рдХрдо рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрд╣ рднреА рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдкреИрдХреЗрдЬ рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрджрд┐ рдкреИрдХреЗрдЬ рдХреА рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреИрдХреЗрдЬ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ (рдкреБрд░рд╛рдиреЗ рдпрд╛ рдирдП) рдХреЗ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреИрдХреЗрдЬ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рд╣реИрдВредрдлрд┐рд░ рд╕реЗ, рдЕрдкрдбреЗрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ , рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡реЗ рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ редрдпрджрд┐ рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХреАрдХрд░рдг рдФрд░ рдпреЛрдЧреНрдпрддрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдореЗрдВ рджреЗрд░реА рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдкрдбреЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИредрдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЫреЛрдЯреА рд╣реИред рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рдХреЗ рд╣реИрдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдлреЛрд░реЗрдВрд╕рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдЯреАрдореЛрдВ рдХреЛ рд╕рдмреВрдд рдорд┐рд▓реЗ рдХрд┐ рд╣рдорд▓рд╛рд╡рд░реЛрдВ (рд╕рдВрднрд╡рддрдГ рдЕрд▓рдЧ) рдиреЗ 10 рдорд╛рд░реНрдЪ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЕрдкрд╛рдЪреЗ рд╕реНрдЯреНрд░рдЯреНрд╕ рдХреА рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдлрд╛рдпрджрд╛ рдЙрдард╛рдпрд╛, рдЗрд╕рдХреЗ рддреАрди рджрд┐рди рдмрд╛рдж рд╣реА рдЗрд╕рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдЯреАрдо рдХреЛ рд╡рд╣рд╛рдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ whoami
редрдЕрдкрдиреЗ рд╡реНрдпрд╕рдиреЛрдВ рдХреЛ рджреЗрдЦреЛ
рдЗрддрдирд╛ рд╕рдм рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХрд╛рдо рдЦрддреНрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПредрд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдЕрдм рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬ рдХреЗ рджрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╣реИрд╢ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкреИрдХреЗрдЬ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдЗрд╕ рд╣реИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб рдЙрд╕реА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪреЗрдХ рдиреЗ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рд░реЛрдХрд╛event-stream
, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рд░реА рд╕рдВрд╕реНрдХрд░рдг 3.3.5 рдореЗрдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.3.6 рдмрдирд╛рдирд╛ рдерд╛ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдзреНрдпрд╛рди рд╕реЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛)редрдирдИ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдЙрджреНрднрд╡ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдЕрдкрдбреЗрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ рдирдП рдкреИрдХреЗрдЬ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдЕрдм рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдлрд▓рддрд╛ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рд╡реЗ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рдпреЛрдЧреНрдп рднреА рд╣реИрдВред рдорд╛рдорд▓реЗ рдореЗрдВ, event-stream
рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛ flatMap-stream
, рдЬрд┐рд╕реЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ event-stream
рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛редрд░реЗрдВрдЧрдиреЗ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред Google Sawzall рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рдирд▓реЙрдЧ рдХреА JIT- рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рднрд╛рд╖рд╛ - рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореБрдЦреНрдп рджреБрднрд╛рд╖рд┐рдпрд╛ рдмрд╛рдЗрдирд░реА рдореЗрдВ рди рдХреЗрд╡рд▓ рдЬреЗрдЖрдИрдЯреА рд╕реЙрдЬреЙрд▓ рд╣реИ, рдмрд▓реНрдХрд┐ (рдЕрдкреНрд░рдпреБрдХреНрдд) рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдП рднреА рд╣реИрдВред рд╣рд░ рдмрд╛рд░, рдЕрдкрд░рд╛рдзреА рдХреБрдЫ рд╕рдЬрд╝рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рдЕрдкреНрд░рдпреБрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд▓рд╛, рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ Google рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрдкреНрд░рдпреБрдХреНрдд рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЧреЛ рд╕рдВрдХрд▓рдХ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИредрдмрджрд▓рддреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдирд┐рд░реНрдгрдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд░рдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╕рдордп рд╣реИред рдХрд┐рд╕реА рднреА рд▓рдд рдХреА рд╕рдордп-рд╕рдордп рдкрд░ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреЛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИрдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рдпрд╛ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ? рдХреНрдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИредрдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕реБрд░рдХреНрд╖рд╛ рд▓реЙрдЧ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрд╛рдЪреЗ рд╕реНрдЯреНрд░рдЯреНрд╕ рдиреЗ 2016, 2017 рдФрд░ 2018 рдореЗрдВ рд░рд┐рдореЛрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдЧрдВрднреАрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рд╕рд░реНрд╡рд░ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреНрд░реИрдХ рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИредрдирд┐рд╖реНрдХрд░реНрд╖
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд╛ рдпреБрдЧ рдЕрдВрдд рдореЗрдВ рдЖ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд▓рд╛рдн рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛: рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреНрдпрдВрдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдордиреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрдкрдирд╛рдпрд╛ред рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдкреВрд░реНрд╡ рдХрд╛рд░рдг рдЙрд╕реА рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрддреА рд╣реИредрд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рдпрдо рдХреЗ рдмрдЬрд╛рдп рдЕрдкрд╡рд╛рдж рдмрдирд╛ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд░ рд╕рдВрднрд╡ рдирдИ рд▓рдд рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ред рдореВрд▓ рд░реВрдк рд╕реЗ, рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдирд┐рдореНрди рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ: "рджреЗрдЦрддреЗ рд╣реИрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред" рдмрд╣реБрдд рдмрд╛рд░, рдХреБрдЫ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рд▓рдЧрддрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдХреЛрдкреЗ рдФрд░ рдЗрдХреНрд╡рд┐рдлреИрдХреНрд╕ рд╣рдорд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕реНрдкрд╖реНрдЯ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ рдХрд┐ рдЖрдЬ рд╣рдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рддреАрди рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред- . , , , . , .
- . , , . , , . , , , .
- . . . , . , , . , , API. .
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЪреНрдЫреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИрдВред рдЪрд▓реЛ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред