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

2015 рдХреЗ рдмрд╛рдж рд╕реЗ, рдореИрдВ рдЦреБрдж рдХреЗ рд▓рд┐рдП (рд╕реНрдирд╛рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдЗрд╖реНрдЯрддрдо рдкреНрд░рд╕реНрддреБрддрд┐ рдкреНрд░рд╛рд░реВрдк рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ рд╕рдлрд▓ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВред рдпрд╣ рд╕рдм PowerPoint рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ, рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред
рдХрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдардВрдбреА рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдорд╛рд░реНрдк , рд░рд┐рд╡реАрд▓ , рд▓реИрдВрдбрд╕реНрд▓рд╛рдЗрдб , рд╣реИрдХрд░-рд╕реНрд▓рд╛рдЗрдб , рд╕реНрд▓рд╛рдЗрдб рдФрд░ рдЕрдиреНрдпред рдХреБрдЫ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ, рдЖрдк рдорд╛рд░реНрдХрдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдПрдХ рдЖрдИрдбреАрдИ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрдкрд╛рджрдХ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рджреЛ рдЗрдВрдЬрди рдЖрдЬрдорд╛рдП рд╣реИрдВред
рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрд▓рд╛рдЗрдб рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╡реАрдбрд┐рдпреЛ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рдЙрдкрд░реНрдпреБрдХреНрдд рджреЛрдиреЛрдВ рдЗрдВрдЬрди рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╕рд╛рджреЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛, рдорд╛рд░реНрдк , рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрдИрдбреАрдИ рдореЗрдВ рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ рдЕрднреА рднреА рдПрдХ рд╕реНрдерд┐рд░ рдкреАрдбреАрдПрдл рд╣реИред рджреВрд╕рд░рд╛, рдЦреБрд▓рд╛рд╕рд╛ , рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ: рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рд╕реНрддреБрддрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЖрдк рдорд╛рд░реНрдХрдбрд╛рдЙрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, HTML рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреА рдкреВрд░реА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ Reveal рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓реВрдВрдЧрд╛ред
рдЖрдк рдореЗрд░реА рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА https://github.com/KvanTTT/Presentations рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╛рда рдХреА рдЫреЛрдЯреА рд░рд╛рд╢рд┐
рдЖрдкрдХреЗ рджрд░реНрд╢рдХ рд╕реНрд▓рд╛рдЗрдб рд╕реЗ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдкрд╛рда рдХреЛ рдирд╣реАрдВ рдкрдврд╝реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╕реНрд▓рд╛рдЗрдб рдкрд░ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдЪреНрдЫреЗрдж рди рдбрд╛рд▓реЗрдВред рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдкрд╛рда рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╕реНрд▓рд╛рдЗрдб рдкрд░ рд░рдЦрд╛ рдЬрд╛рдП рдпрд╛ рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдлреЗрдВрдХ рджреЗрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рд╡рд░рдг рд╕рдордЭрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд░реВрдкрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд▓рдЧреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрд╛рдЧрддреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдлрдиреА рддрд╕реНрд╡реАрд░реЛрдВ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реАрдорд╛рдПрдВ рдЬрд╛рдиреЗрдВ: рдЪреБрдЯрдХреБрд▓реЛрдВ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИред
рдиреНрдпреВрдирддрдорд╡рд╛рдж рдФрд░ рдлреНрд▓реИрдЯ рдбрд┐рдЬрд╛рдЗрди
рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдЬреЛ рдореИрдВрдиреЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдерд╛ред рдпрд╣ рдЕрдм рдЪрд▓рди рдореЗрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рднреА рд╣реИред рдирддреАрдЬрддрди, рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп рдореВрд▓ рд░рдВрдЧреЛрдВ (рддреАрди рд╕реЗ рдкрд╛рдВрдЪ) рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
рдСрдирд▓рд╛рдЗрди рдкрд╣реБрдВрдЪ
рдкреНрд░рд╕реНрддреБрддрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЦреЛрдиреЗ, рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдХреЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдФрд░ рдЕрдиреНрдп рдкреНрд░рддрд┐рдХреВрд▓рддрд╛рдУрдВ рд╕реЗ рдбрд░реЗрдВрдЧреЗ рдирд╣реАрдВред
рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рд░реНрдп
рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдЗрди рдЗрдВрдЧреНрд▓рд┐рд╢
рд▓рд┐рдВрдХ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪ
рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд▓рд┐рдВрдХ
рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдХреА рд▓рд┐рдВрдХ рд╕реЗ https://kvanttt.imtqy.com/Presentations/2018-05-15-Source-code-analyzers-how-generalizable-are-they/English/index.html рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдкрд╖реНрдЯ рд╣реИред
- рд▓реЗрдЦрдХ: рдХрд╛рд╡рдВрдЯреНрдЯ
- рдкреНрд░рдХрд╛рд╢рди рдХреА рддрд┐рдерд┐: 2018-05-15
- рдкреНрд░рд╛рд░реВрдк: рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦ , рдирдореВрдиреЗ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)
- рднрд╛рд╖рд╛: рдЕрдВрдЧреНрд░реЗрдЬреА
- рд╢реАрд░реНрд╖рдХ: Source-code-analyzers-how-generalizable-are-they
- рдЖрдк рдирдВрдмрд░
#/5
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдкреГрд╖реНрда рдкрд░ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдбрд╛рд░реНрдХ рдФрд░ рд▓рд╛рдЗрдЯ рдереАрдо
рдкреНрд░рдХрд╛рд╢ рдпрд╛ рдордиреЛрджрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдПред рдЖрдк рднреА рдЕрдкрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рд╕реНрд▓рд╛рдЗрдб рдХреЗ рдмреАрдЪ рдмрджрд▓рд╛рд╡ рдХреА рд╢реИрд▓реА рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг (Git)
GitHub рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЬрдм рдЖрдк gh-pages
рдпрд╛ imtqy.com
, рддреЛ рд╕рд╛рдЗрдЯ рддреБрд░рдВрдд imtqy.com
рдбреЛрдореЗрди рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЬрд╛рдПред
рдпрд╣рд╛рдБ рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ: https://github.com/KvanTTT/Presentations/tree/master/2018-05-15-Source-code-analyzers-how-generalizable-are-they
рд╕рд╛рджреЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк (рдорд╛рд░реНрдХрдбрд╛рдЙрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
Markdown рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ:
- рд╡рд┐рднрд┐рдиреНрди рдкрд╛рда рд╢реИрд▓рд┐рдпреЛрдВ ( рдЗрдЯреИрд▓рд┐рдХ , рдмреЛрд▓реНрдб ,
рд╕реНрдЯреНрд░рд╛рдЗрдХрдереНрд░реВ , рд▓рд┐рдВрдХ , рдЙрджреНрдзрд░рдг, code snippet
), - рд╢реАрд░реНрд╖рдХреЛрдВ,
- рд╕реВрдЪрд┐рдпрд╛рдБ, рдЖрджреЗрд╢рд┐рдд рдФрд░ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд,
- рдЯреЗрдмрд▓,
- рд╡рд┐рдлрд▓,
- рдЕрддрд┐рд░рд┐рдХреНрдд рддрддреНрд╡ рдЬреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк HTML рдЯреИрдЧ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрд▓рд╛рдЗрдб рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрджрд╛рд╣рд░рдг # я╕П Text fingerprinting with zero-length characters Be cтАЛarefтАЛul whтАЛat yoтАЛu copy <span class="fragment">я╕П [https://diffchecker.com](https://www.diffchecker.com/M2PvqSXw)</span> <span class="fragment"> Be cтАвarefтАвul whтАвat yoтАвu copyтАв </span> <aside class="fragment" align="middle">Detail: [habr.com](https://habr.com/post/352950/) | [Medium](https://medium.com/@umpox/be-careful-what-you-copy-invisibly-inserting-usernames-into-text-with-zero-width-characters-18b4e6f17b66) </span> <br> <aside class="notes"> There is another similar funny story with zero-width characters. FтАЛor examтАЛple, I have insтАЛerted 5 such characters inтАЛto thiтАЛs string, cтАЛan you telтАЛтАЛl? You can check it using the service <https://www.diffchecker.com>. These characters can be used as unique text fingerprints to identify users. Using this method, for example, you can play detective: encode the name of the user in a copied message to understand who leaks some confidential information :) You can find more information about such characters on Habr and Medium. </aside> ---
рд╕реНрд▓рд╛рдЗрдб рдиреЛрдЯ
рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди, рдЖрдк рдПрд╕ рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдиреЛрдЯреНрд╕ рдФрд░ рдЕрдЧрд▓реА рд╕реНрд▓рд╛рдЗрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдмрд╛рдд рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреЛрдЯреНрд╕ рджреВрд╕рд░реЗ рдореЙрдиреАрдЯрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрдореЛрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЗрдореЛрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рджреГрд╢реНрдп рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд▓рд╛рдЗрдб рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡реЗ рдЕрднреА рднреА рд╣реИрдмрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рдКрдкрд░ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдЗрдореЛрдЬреА рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдЬреЗрдкреАрдЬреА
рд╣рд╛рдирд┐рдкреВрд░реНрдг рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдФрд░ рд░рд┐рдЪ рдкреИрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрдЯреЛ рдФрд░ рдЬрдЯрд┐рд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдкрд╛рда рдФрд░ рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ред рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред
рдкреАрдПрдирдЬреА
рджреЛрд╖рд░рд╣рд┐рдд рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк, рдмрдбрд╝реЗ рд╕рдЬрд╛рддреАрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЗ рдПрдХ рд╕реАрдорд┐рдд рдкреИрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред
рдПрд╕рд╡реАрдЬреА
рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдХрдИ рд▓реЛрдЧ рдПрд╕рд╡реАрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдпрджреЗ рд╣реИрдВ:
- рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛;
- Git (рдкрд╛рда рдкреНрд░рд╛рд░реВрдк) рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг;
- рдЖрдк рд╕реАрдзреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдВрдЧ, рдлрд╝реЙрдиреНрдЯ рдФрд░ рдЕрдиреНрдп рддрддреНрд╡ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ;
- рдЫреЛрдЯреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ред
рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд - рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣реЗрдмрд░! рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рд╣реИрдмрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд┐рддреНрд░ рдПрд╕рд╡реАрдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВред

рдпрд╣ рдЗрд╕ рд╕реНрд▓рд╛рдЗрдб рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдПрд╕рд╡реАрдЬреА рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="478pt" height="601pt" viewBox="0.00 0.00 478.13 601.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 597)"> <title>cfg</title> <polygon fill="white" stroke="none" points="-4,4 -4,-597 474.131,-597 474.131,4 -4,4"/> <g id="node1" class="node"> <title>27</title> <ellipse fill="none" stroke="black" cx="310.039" cy="-575" rx="75.2868" ry="18"/> <text text-anchor="middle" x="310.039" y="-571.3" font-family="Times New Roman,serif" font-size="14.00">name == "admin"</text> </g> <g id="node2" class="node"> <title>33</title> <ellipse fill="none" stroke="black" cx="229.039" cy="-488" rx="81.4863" ry="18"/> <text text-anchor="middle" x="229.039" y="-484.3" font-family="Times New Roman,serif" font-size="14.00">key1 == "validkey"</text> </g>
рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб ред рдмрд╛рдИрдВ рдУрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди, рджрд╛рдИрдВ рдУрд░ рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг (рд░реЗрдВрдбрд░)ред рдПрдХ рд╡рд░реНрддрдиреА рдкрд░реАрдХреНрд╖рдХ рдкреНрд▓рдЧрдЗрди рд╣реИ, рд╕рд╛рдордЧреНрд░реА (TOC) рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕, рд╕реНрд╡рд░реВрдкрдг рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдФрд░ рдЕрдиреНрдпред
рдкреНрд░рд╕реНрддреБрддрд┐ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐: рд╢реБрд▓реНрдХ
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ
- рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрд▓рд╛рдЗрдб: рдЖрдк рди рдХреЗрд╡рд▓ рдмрдЧрд╝рд▓ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд▓рдВрдмрд╡рдд рднреАред
- рд╕реНрд▓рд╛рдЗрдб рдбреЙрдЯ рдХреЙрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдЖрд╕рд╛рди рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдХрдИ рд╕реНрд▓рд╛рдЗрдб рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрд▓рд╛рдЗрдб рд╢реЛред
- рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ ред
рдЖрдк рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреА рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рд░рд▓ рдФрд░ рд╢рд╛рдВрдд рд▓рдЧ рд░рд╣реА рд╣реИ
рдХрдорд┐рдпрд╛рдВ
рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ:
- рдкреАрдбреАрдПрдл рдХреЛ рдЕрдирд╛рдбрд╝реА рдирд┐рд░реНрдпрд╛рдд, рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ ред
- PPTX рдХреЛ рдХреЛрдИ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВред
- рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЧреИрд░-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдЧреИрд░-рдлреНрд░рдВрдЯреЗрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ HTML рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
- рд╕рдВрдкрд╛рджрди рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЗрдореЛрдЬреА рдХреЛ рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ рдЗрдореЛрдЬреА рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ)ред
- рдЗрдВрдЬрди рдЕрднреА рднреА рдХрдЪреНрдЪрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреА рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдВ рдЗрд╕ рддрд░рд╣ рд╣реЛрдВрдЧреА: рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред рдЖрдЗрдП рдЗрд╕ рднрд╡рд┐рд╖реНрдп рдХреЛ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ!
рд╡реИрд╕реЗ, Git рдФрд░ Markdown рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдЦ рднреА рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ GitHub рдпрд╛ GitLab рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрдзрд╛рд░ рдпрд╛ рдкрд░рд┐рд╡рд░реНрдзрди рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред рдореИрдВ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рдд: рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛ред
рд▓реЗрдЦ рдХреЗ рд╕реНрд░реЛрдд GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ - рдХреГрдкрдпрд╛ рдХреЛрдИ рдЧрд▓рддреА рдкрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред Habr.com рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдорд╛рд░реНрдХрдХреЛрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред