
рдХреБрдЫ рдлрд╝рд┐рджреЛрд╢рдирд┐рдХреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд░ рджрд┐рди рдПрдХ рд╣реА рд╕рдВрджреЗрд╢ (рдПрдХ рд╣реА рдкрд╛рда рдлрд╝рд╛рдЗрд▓) рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд┐рдбреЛрдиреЗрдЯ рдЗрдХреЛрдХрдВрдлрд╝реНрд░реЗрдВрд╕ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдордзреНрдпрд╕реНрде (рдпрд╛ рдПрдХ рдордзреНрдпрд╕реНрде, рдЙрдирдХреЗ рдХрд░реНрддрд╡реНрдпреЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ) рдХреЛ рдЙрд╕рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ
рдПрдХ рдпрд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреЗ рдЗрдХреЛ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ (рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╕рдорд╛рди) рдЙрджрд╛рд╣рд░рдг рдЙрди рдлрд┐рджреЛрд╢рдирд┐рдХреЛрдВ рдХрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЦреБрдж рдХреЛ рдХреБрдЫ рдПрдлрдПрдХреНрдпреВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдпрд╛ рдХрдИ рд╡рд┐рд╖рдпрдЧрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЧреВрдВрдЬ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИред (Fidonet.History рдХреА рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ рдореЗрдВ, рдЗрд╕рдХреЗ FAQ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдП рдЧрдП Fidonet рдХрд╛ рдПрдХ рдЕрдЬреАрдм рдЗрддрд┐рд╣рд╛рд╕ рд╣реИред SU.IP.Point рдХреА рдЧреВрдВрдЬ рдореЗрдВ
- рдирдП рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХреА
рдПрдХ рд╕реВрдЪреА,
SU.idoTech рдореЗрдВ - рдХрдИ рддрдХрдиреАрдХреА рддрдХрдиреАрдХреЛрдВ рдХреЗ рддрдХрдиреАрдХреА рд╢рдмреНрджреЛрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА
рдПрдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ред рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдЗрдХреЛрдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдореЗрдВ, рдПрдлрдПрдХреНрдпреВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЗрд╕реА рддрд░рд╣ред)
рдпрджрд┐ рдиреЛрдб (рдпрд╛ рдмрд┐рдВрджреБ) рдПрдХ рд╣реА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рд╕рд░рд▓, рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдлрд╝рд╛рдЗрд▓ рдХреЛ
рдХреНрд░реЛрди рдбреЗрдореЙрди (UNIX- рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░) рдпрд╛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЗрд╕рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреЗ
рд▓рд┐рдП рдХрд╛рд░реНрдп рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред
рдпрджрд┐ Fidonet рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╣реА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЖрдЦрд┐рд░рдХрд╛рд░, рдРрд╕реЗ fidotniks рд╣реИрдВ, рдЬреЛ рдПрдХ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдПрдХ рдбрд┐рд╕реНрдХреЗрдЯ рдкрд░ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреЗ рд╕рд╛рде Fidonet рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рдХреЗ рд╕рдордп рдореЗрдВ рд╡реЗ рдЗрд╕реЗ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ) рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдлрд┐рджреЛрд╢рдирд┐рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдордп-рд╕рдордп рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╡рд╣ рдлрд╝реАрдб рднреЗрдЬрдиреЗ, рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ), рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рдирд┐рдпрдорд┐рддрддрд╛ рдЕрдиреНрдпрдерд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ - рдПрдХ рд╕реЗрд╡рд╛ (рдбреЗрдореЙрди) рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЗрддрдиреЗ рджрд┐рди рдмреАрдд рдЧрдПред рдкрд┐рдЫрд▓реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордп vdrugoryad рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реИ рдХреА рдЬрд░реВрд░рдд рддреИрдирд╛рдд рдереЗред
рдЖрдЬ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ
рдХрд┐ Node.js рдЗрдВрдЬрди рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЪреБрдХрд╛ рд╣реИред
рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕
рд╣рд╕реНрдХреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реБрдЗрдЯ рд╕реЗ
HPT рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ
hpt рдкреЛрд╕реНрдЯ рдХрдорд╛рдВрдб рджреЗрдВред (рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЖрджреЗрд╢ рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рдлрд╝рд┐рдбреЛрдиреЗрдЯ рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред)
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдХреЛ рдмрдЪрд╛рдиреЗ (рдпрд╛рдж рд░рдЦрдиреЗ) рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ
рдЯрдЪ рдХрдорд╛рдВрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрд╕рдХреЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд╛рд░реАрдЦ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
UNIX- рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдХрдорд╛рдВрдб рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдлреЙрд░реНрдо рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ
рд╕реЛрд░реНрд╕рдлреЙрд░реНрдЧ рдкрд░
unxutils рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЯреАрдо рдХреА рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рд╡рд┐рдкрд░реАрдд рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ - рдпрд╣ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдореНрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рджрд┐рдиреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдпреБ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рднреА рдХрд░реЗрдЧрд╛ред рдФрд░ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рд╣рдо
Node.js рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
:var fs = require('fs'); var clog = console.log; if (process.argv.length < 3) { clog('Usage:'); clog(' node agedays "filename" [N]'); clog(''); clog('Parameters:'); clog(' filename -- name of the file which age (in days) is checked'); clog(' N (optional) -- if file is N days old (or older),'); clog(' errorlevel 1 is set'); } else if (process.argv.length == 3) { try { var msec = (new Date()).getTime() - fs.statSync(process.argv[2]).mtime.getTime(); var days = msec / 1000 / 60 / 60 / 24; clog('File "' + process.argv[2] + '" is ' + days + ' days old.'); } catch(e) { clog('File "' + process.argv[2] + '" cannot be opened.'); } } else { try { var msec = (new Date()).getTime() - fs.statSync(process.argv[2]).mtime.getTime(); var days = msec / 1000 / 60 / 60 / 24; if( days > (+process.argv[3]) ) { process.exit(1); } else { process.exit(0); } } catch(e) { clog('File "' + process.argv[2] + '" cannot be opened.'); process.exit(2); } }
рдЗрд╕ рд▓рд┐рдкрд┐ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдЗрд╕реЗ
рд╡реГрджреНрдз рдирд╛рдо рджреЗрдиреЗ рдХреЗ рдмрд╛рджред
Js , рд╣рдореЗрдВ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрдпреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЖрдпреБ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ
рдкрд░ рдРрд╕реА рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдлрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓:![[рд╡реГрджреНрдз рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ]](https://habrastorage.org/storage2/4db/d95/7ba/4dbd957ba9e9497b0e40ac4f0064eb2b.png)
рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рджреЛ (рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░
рдФрд░ рдЯрдЪ ) рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЯреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░
, рд╣рдореЗрдВ рдЕрдВрддрддрдГ рдПрдХ
рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ (рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓) рдХреА рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╝рд┐рдбреЛрдиреЗрдЯ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдБ рдЙрд╕ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рддрд╣рдд рдореЗрд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ:
@echo off :checkmonth node agedays NodePost\monthly._flag 30 if errorlevel 1 goto monthly goto checkweek :monthly \utils\unxutils\touch NodePost\monthly._flag hpt post -nf "Mithgol's Wishlist Robot" -s " " -e "Ru.GoldEd" -z "Mithgol's NodePost" -o "FGHI Global Headlight Ignited" -f loc NodePost\GED_Wish.txt goto checkweek :checkweek node agedays NodePost\weekly._flag 7 if errorlevel 1 goto weekly goto end :weekly \utils\unxutils\touch NodePost\weekly._flag hpt post -nf "Moderator of Ru.Fidonet.Yo" -s "*** Rules" -e "Ru.Fidonet.Yo" -z "Mithgol's NodePost" -o "FGHI Global Headlight Ignited" -f loc NodePost\YoRulez.txt hpt post -nf "Moderator of Ru.Russophobia" -s "*** Rules" -e "Ru.Russophobia" -z "Mithgol's NodePost" -o "FGHI Global Headlight Ignited" -f loc NodePost\PhobRule.txt hpt post -nf "Moderator of Ru.Russian.1916" -s "*** Rules" -e "Ru.Russian.1916" -z "Mithgol's NodePost" -o "FGHI Global Headlight Ignited" -f loc NodePost\rule1916.txt goto end :end
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ (рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЗрд╕реЗ
NodePost.cmd рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
) рдХреЛ рдПрдЪрдкреАрдЯреА рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрдЧрд╣ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдЪрд▓рд╛рдПрдВ: рдпрд╣ рдПрдЪрдкреАрдЯреА
рдкреЛрд╕реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдЪрдкреАрдЯреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ NodePost рдирд╛рдордХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрд╛рд▓рд╛;
рдЭрдВрдбреЗ рдХреА рдлрд╛рдЗрд▓реЗрдВ рднреА рд╡рд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИрдВ
, рдЙрдирдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп
рдЯрдЪ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛
рд╕реНрдкрд░реНрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдФрд░
рд╡реГрджреНрдз рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
редрдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ Ru.GoldED рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рд╕рд┐рдХ (рд╣рд░ рддреАрд╕ рджрд┐рди) рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ (рд╣рд░ рд╕рд╛рдд рджрд┐рди рдореЗрдВ) рддреАрди рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рддрд░рдг рдореЙрдбрд░реЗрдЯрд░ рдХреА рдУрд░ рд╕реЗ рддреАрди рдлрд╝рд┐рдбреЛрдиреЗрдЯ рдЗрдХреЛ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
(" рдХреЗ рдореЙрдбрд░реЗрдЯрд░ ... ")ред"Hpt post" рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЬрдм рд╡реЗ Habrahabr рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВ рддреЛ рд╕рдВрднрд╡рддрдГ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдкрдЯреЗрдЧреА, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реА рдХрдорд╛рдВрдб рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред (рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рдмрд╛рдж рдкрдбрд╝реЛрд╕реА рдЯреАрдореЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдп рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ
"hpt рдкреЛрд╕реНрдЯ" рдХрдорд╛рдВрдб рдХреЗ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдПрдХ рдЦрд╛рд▓реА рд▓рд╛рдЗрди рдЬреЛрдбрд╝реА
ред) "-nf" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рдж , рдкреНрд░реЗрд╖рдХ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдлрд╛рдЗрд▓ рдЧреВрдВрдЬ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рднреЗрдЬреА рдЬрд╛рдПрдЧреАред , рдФрд░
"-рдИ" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рдж - рдЗрд╕ рдЧреВрдВрдЬ рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЗрдХреЛ рдЯреИрдЧред рдкреИрд░рд╛рдореАрдЯрд░
"-s", "-z" рдФрд░ "-рдУ" рдХреЗ рдмрд╛рдж , рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрджреЗрд╢ рд╣реЗрдбрд░, рдЗрд╕рдХреА рдЖрдВрд╕реВ рдФрд░ рдЙрддреНрдкрддреНрддрд┐ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрджреЗрд╢ рдХреЛ "рд╕реНрдерд╛рдиреАрдп" рдорд╛рдирд╛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП "-рдл рд▓реЛрдХрд▓
" рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рддрд╛рдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЗрд╕ рдлрд┐рдбреЛрдиреЗрдЯ рд╕реНрдЯреЗрд╢рди рдкрд░ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреНрдп рдлрд┐рдбреЛрдиреЗрдЯ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдирд╛рдо рд╣реИред
(рдпрджрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдЪрдкреАрдЯреА рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдлрд╝рд┐рдбреЛрдиреЗрдЯ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдм рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЛ
"hpt рдкреЛрд╕реНрдЯ" рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред)
рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди (Node.js рдЗрдВрдЬрди, рд╡реГрджреНрдз рд▓рд┐рдкрд┐, рдЯрдЪ рдХрдорд╛рдВрдб, HPT рдЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░) рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рддрддреНрд╡ рднреА
рдорд▓реНрдЯреА-рд╕рд┐рд╕реНрдЯрдо (рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо) рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рджреВрд╕рд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдПрдХ рдореБрдлреНрдд MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд
Github рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рд╡реГрджреНрдзреЛрдВ рдХреА рд╕реВрдЪреА рдкреЛрд╕реНрдЯ рдХреА, рдФрд░ рдпрд╣ рдореЗрд░реА рдХрд╣рд╛рдиреА
рдХрд╛ рдЕрдВрдд рд╣реИ ред