MarkLogic рд╕рд░реНрд╡рд░ рдореЗрдВ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдПрдХреНрд╕реЗрд╕

MarkLogic рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП XQuery рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБрдУрдВ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реАрдзреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд┐рдд рдлрд╛рдЗрд▓реЛрдВ рддрдХ рднреА рдкрд╣реБрдБрдЪ рд╕рдХрддрд╛ рд╣реИред
MarkLogic Server рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ API рдЗрддрдирд╛ рд╕рдореГрджреНрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрд▓рдмреНрдз рдЙрдкрдХрд░рдг XQuery рдХреЛрдб рд╕реЗ рд╕реАрдзреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

MarkLogic API рдХреЗ рднреАрддрд░, рдПрдХ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╡рд╕реНрддреБ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реА рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИред

рдЖрдЗрдП рдореМрдЬреВрджрд╛ рдПрдкреАрдЖрдИ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдПрдХреНрд╕реЗрд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ "xdmp" рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред
рдФрд░ рдкрд╣рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрд╛рдЗрдирд░реА () рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
xdmp:external-binary( $path as xs:string, [$starting-location as xs:double], [$length as xs:double] ) as binary() 


$ рдкрде - рдлрд╝рд╛рдЗрд▓ рдкрде
$ рд╢реБрд░реБрдЖрддреА рд╕реНрдерд╛рди - рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ 1. рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 1 рд╣реИ
$ рд▓рдВрдмрд╛рдИ - рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдмрд╛рдЗрдирд░реА () рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдлрдПрд╕ рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЖрдк рд╣рдореЗрд╢рд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдмрд╛рдЗрдирд░реА () рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдВрддрд░рд┐рдХ рдпрд╛ рдмрд╛рд╣рд░реА рд╣реИред
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
marklogic.com/xdmp/privileges/xdmp-external-binary
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ XDMP-MISSINGFILE рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдмрд╛рдЗрдирд░реА () рдлрд╝рд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рджреЗрддрд╛ рд╣реИред
 xdmp:external-binary-path( $source as binary() ) as xs:string? 


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

Xdmp рдлрд╝рдВрдХреНрд╢рди : рдмрд╛рдЗрдирд░реА-рдЗрдЬрд╝-рдПрдХреНрд╕рдЯрд░реНрдирд▓ - рдЪреЗрдХ рдЕрдЧрд░ рдмрд╛рдЗрдирд░реА () рдПрдХ рдмрд╛рд╣рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ (рдлрд╝рд╛рдЗрд▓) рд╣реИ
 xdmp:binary-is-external( $source as binary() ) as xs:boolean 


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 xdmp:filesystem-directory( $pathname as xs:string ) as element(dir:directory) 


$ pathname - рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
marklogic.com/xdmp/privileges/xdmp-filesystem-directory
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛
рдЕрдкрд╡рд╛рдж SVC-DIROPEN рдпрд╛ SVC-FILOPEN рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдлрдПрд╕ рдкрд░ рд╕реНрдерд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЙрджрд╛рд╣рд░рдг
 xdmp:filesystem-directory( "./" ) <dir:directory xsi:schemaLocation="http://marklogic.com/xdmp/directory directory.xsd" xmlns:dir="http://marklogic.com/xdmp/directory" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <dir:entry> <dir:filename>Admin</dir:filename> <dir:pathname>./Admin</dir:pathname> <dir:type>directory</dir:type> <dir:content-length>0</dir:content-length> <dir:last-modified>2013-05-02T13:09:53+04:00</dir:last-modified> </dir:entry> <dir:entry> <dir:filename>LEGALNOTICES.txt</dir:filename> <dir:pathname>./LEGALNOTICES.txt</dir:pathname> <dir:type>file</dir:type> <dir:content-length>28343</dir:content-length> <dir:last-modified>2013-04-19T23:06:32+04:00</dir:last-modified> </dir:entry> ... </dir:directory> 


рдЖрдк рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд╛рда рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 xdmp:filesystem-file( $pathname as xs:string ) as xs:string 


рдЬрд╣рд╛рдВ $ pathname XQuery рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рд╣реИ
рд░реАрдб рдСрдкрд░реЗрд╢рди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЬрдм рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдЧрд╛ рдФрд░ MarkLogic рдбреЗрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рдЙрдЪ рдХрд░реЗрдЧрд╛ред рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, xdmp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ : рдмрд╛рд╣рд░реА-рдмрд╛рдЗрдирд░реА рдлрд╝рдВрдХреНрд╢рдиред
рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
marklogic.com/xdmp/privileges/xdmp-filesystem-file

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрдж рд╣реИред
 xdmp:filesystem-file-exists( $pathname as xs:string ) as xs:boolean 


рдЬрд╣рд╛рдБ $ pathname рдЪреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рдкрде рд╣реИ
рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
marklogic.com/xdmp/privileges/xdmp-filesystem-file-exists

рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ xdmp рдлрд╝рдВрдХреНрд╢рди рд╣реИ : рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо-рдлрд╛рдЗрд▓-рд▓рдВрдмрд╛рдИ
 xdmp:filesystem-file-length( $pathname as xs:string ) as xs:unsignedLong? 


рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЦрд╛рд▓реА рдЕрдиреБрдХреНрд░рдо рджреЗрддрд╛ рд╣реИред
рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
marklogic.com/xdmp/privileges/xdmp-filesystem-file-length

рдЕрдЧрд▓рд╛, рд╕рд╣реЗрдЬреЗрдВ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
 xdmp:save( $path as xs:string, $node as node(), [$options as node()?] ) as empty-sequence() 


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

 let $text := text { "hello world" } return xdmp:save("greeting.txt", $text) 


рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреЛ рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ DB рд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ

 let $pdf := doc("/mydocs/stuff.pdf") return xdmp:save("mystuff.pdf", $pdf) 


рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
marklogic.com/xdmp/privileges/xdmp-save

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

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


All Articles