рдореИрдЪреЛрдВ рдкрд░ рдмрдЪрдд, рдпрд╛ рдорд╛рдпрд╛рд╡реА рдЬреЛ рд░рд┐рдЯрд░реНрди рджреЗрддрд╛ рд╣реИ

рдпрд╣ рдЖрд▓реЗрдЦ рдореВрд▓ рдпрд╛ рдирдпрд╛ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рд╣реАрди рдЕрдиреБрдХреВрд▓рди рдорд╢реАрди рдореЗрдВ рд╣реБрдб рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИред

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рдХреЙрдорд░реЗрдб рдкрд╛рд╡рд▓рд┐рдирдХреНрд╕ рдХреЗ рдПрдХ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдмрд╣реБрдд рдЕрдВрддрд░реНрдЧреНрд░рд╣реА рд╣реЛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд▓ рд░рд╛рдд рд╣реА рдореИрдВрдиреЗ рд░реАрдбрд╣реЗрдб рдХреА рдЦреЛрдЬ рдХреА рдФрд░, рдирд▓ рдХреЛ рдШреБрдорд╛рддреЗ рд╣реБрдП, рдирд┐рд░рд░реНрдердХ рдХреИрд╢рд┐рдВрдЧ (рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ) рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреАред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВ рдЗрдВрдЯреЗрд▓ рдПрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдорд╛рдореВрд▓реА рдЯрд╛рдЗрдкрд░рд╛рдЗрдЯрд░ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдирд┐рдЪреЛрдбрд╝ рдирд╣реАрдВ?
рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐, ssh рдФрд░ рдЯреЗрд▓рдиреЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдореИрдВ рдЕрдХреНрд╕рд░ рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЬреВрдБ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реВрдВрдЧрд╛ред рдЖрдЗрдП рд╣рдо "рдХреМрди рд╕рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ" рдкрд░ рдкрд╡рд┐рддреНрд░ рдпреБрджреНрдзреЛрдВ рдХреЛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ: рдЖрдЬ Google Chrome 29.0.1547.62 (r219432) рдЪрд╛рдХреВ рдХреЗ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред

рдЯреНрд░реЗрдирд┐рдВрдЧ


рдЪреВрдБрдХрд┐ рдЖрдкрдХрд╛ рд╡рд┐рдирдореНрд░ рд╕реЗрд╡рдХ рдПрдХ рд╕реНрддрд░ рдХрд╛ 1 рдкрдЯрдХрдерд╛ рд▓реЗрдЦрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛:
trace_google_chrome
#!/bin/bash ENV_EXCLUDE=('^SUDO_' '^GREP_' '^LS_' '^KONSOLE_' '^_$') ENV_PERSIST=('^PATH$' '^LOGNAME$' '^USER' '^HOME$') sudo true || return 1 T0=$(mktemp) sudo -E env | cut -d'=' -f1 | tee ${T0} &>/dev/null T1=$(mktemp) for i in ${ENV_EXCLUDE[@]}; do egrep -e "$i" < ${T0} >> ${T1}; done T2=$(mktemp) for i in ${ENV_PERSIST[@]}; do egrep -e "$i" < ${T0} >> ${T2}; done rm ${T0} STRACE_ARGS='' while read L; do STRACE_ARGS=${STRACE_ARGS}" -E $L" done < ${T1}; rm ${T1} while read L; do declare -p $L &>/dev/null || continue V=$(env | egrep -e ^$L) STRACE_ARGS=${STRACE_ARGS}" -E $V" done < ${T2}; rm ${T2} U=$(whoami) date --rfc-3339=ns >d.begin sudo -E strace -ff -o zzz -v -s 256 -T \ -u ${U} -E USERNAME=${U} ${STRACE_ARGS} \ -e trace=file,signal,ipc google-chrome date --rfc-3339=ns >d.end 
рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд░ рдФрд░ рдкрд╢реНрдЪрд╛рддрд╛рдк рдкрд░ рд░рд╛рдЦ рдЫрд┐рдбрд╝рдХрддрд╛ рд╣реВрдВ, рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВред
рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

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

 $ find .cache/google-chrome/ -mindepth 1 -delete $ sync $ sudo sysctl -w vm.drop_caches=3 vm.drop_caches = 3 


рдкрд░реАрдХреНрд╖рдг


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

 $ trace_google_chrome Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated. [19883:19883:0904/013557:ERROR:profile_sync_service.cc(1240)] History Delete Directives, Sync Error: Delete directives not supported with encryption. Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated. [19883:19909:0904/013606:ERROR:native_backend_kwallet_x.cc(848)] Error obtaining KWallet handle ATTENTION: default value of option force_s3tc_enable overridden by environment. [WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED [WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED ATTENTION: default value of option force_s3tc_enable overridden by environment. ATTENTION: default value of option force_s3tc_enable overridden by environment. 


рдХреБрдЫ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рддрд╕реНрд╡реАрд░, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рддрдирд╛рд╡ рд╣реИред



рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдл рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдШрдВрдЯреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдирд┐рдХрд▓рд╛ - рдореИрдВ рдЕрдм рдЗрд╕реЗ рд╕рд╣рди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛), рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:
 $ egrep -He^ d.* d.begin:2013-09-04 01:35:39.040184387+04:00 d.end:2013-09-04 02:57:34.084098826+04:00 $ du -ch zzz.* | tail -n 1 34M  

рд╕рднреА рдЯреНрд░реЗрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдореЗрдВ рдорд┐рд▓рд╛рдПрдВ рдФрд░ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ:
 $ cat zzz.* > z $ sort < z > z.sorted $ wc -l < z.sorted 243048 

рд╣рдо рдЙрди рдЖрдЙрдЯрдкреБрдЯ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХреЙрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ ("+++ 0 + +++ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗ)"
 $ egrep -ve '^\+' < z.sorted > z.clean $ wc -l < z.clean 242474 

рдХреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рд╣рдо рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЗрд╡рд▓ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ ( рдкреЗрд╡рд▓рд┐рдирдХреНрд╕ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж):
 $ fgrep -e ' = -' < z.clean > z.fail $ wc -l < z.fail 39810 

рд╡рд┐рдлрд▓ рдХреЙрд▓ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд 16.418% рд╣реИред
рдмрд╣реБрдд рдХреБрдЫ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдЬрд╛рдиреЗрдВ:
 $ cut -d'(' -f1 < z.fail | uniq > z.fail.names $ cat z.fail.names | > while read SYSCALL; do > echo -n "${SYSCALL}:" > egrep -ce "^${SYSCALL}\(" z.fail > done access:16807 chmod:2 execve:56 faccessat:6 fstatat64:46 lstat64:91 mkdir:8 openat:155 open:7812 readlinkat:4909 readlink:86 rt_sigaction:59 rt_sigreturn:8 shmctl:1 sigreturn:47 stat64:9658 statfs64:39 unlink:20 

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрд╕рдлрд▓ рдУрдкрди рдФрд░ рд╕реНрдЯреЗрдЯ64 рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХреНрд╕реЗрд╕ рдФрд░ рд░реАрдбрд▓рд┐рдВрдХ рднреА рд╣реИред

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

 $ sed -nre '/^.* <([0-9\.]+)>$/{s##\1#;p}' < z.fail > z.fail.timing 


рдЕрдм рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рд▓рдЧрднрдЧ 40 рд╣рдЬрд╛рд░ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛ рдФрд░ рдпрд╣рд╛рдБ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХреЛрдб рд▓реЗ рдЧрдпрд╛:

 #include <stdio.h> #include <stdlib.h> int main(void) { ssize_t read; char *line = NULL; size_t len = 0; double sum = 0.0; while (read = getline(&line, &len, stdin) != -1) { sum += atof(line); } printf("%f\n", sum); return 0; } 

рдпрд╣ рдХреЛрдб рдЪрд▓рд╛рдПрдБ:
 $ gcc sum.c -o sum; ./sum < z.fail.timing 4.173705 


рдкрд░рд┐рдгрд╛рдо рдереЛрдбрд╝рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ: рдЙрдиреНрд╣реЛрдВрдиреЗ Google Chrome рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдФрд░ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ 4 рд╕реЗрдХрдВрдб рдмрд┐рддрд╛рдПред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реАрдб рдХрд╛ рд╕рдордп 1 рдШрдВрдЯрд╛ 11 рдорд┐рдирдЯ рдФрд░ 55 рд╕реЗрдХрдВрдб рдпрд╛ 4315 рд╕реЗрдХрдВрдб рд╣реИред
"рдЦреЛ" рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рд╢рдд: 4/4315 = ~ 0.093%ред рдПрдХ рдкреНрд░рддрд┐рд╢рдд рднреА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЦрд┐рдВрдЪрд╛рд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдкреАрдПрдоред

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


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

рдЕрдВрддрднрд╛рд╖рдг


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

рдкреБрдирд╢реНрдЪ: рдЙрди 4.17 рд╕реЗрдХрдВрдб рдмрд╣реБрдд рдорд╛рдпрд╛рд╡реА рдЬреЛ рд╣реИрдВред

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


All Articles