рдЖрдзреБрдирд┐рдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдкреНрд░рд╛рд░реВрдк?

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



2015 рдХреЗ рдмрд╛рдж рд╕реЗ, рдореИрдВ рдЦреБрдж рдХреЗ рд▓рд┐рдП (рд╕реНрдирд╛рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдЗрд╖реНрдЯрддрдо рдкреНрд░рд╕реНрддреБрддрд┐ рдкреНрд░рд╛рд░реВрдк рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ рд╕рдлрд▓ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВред рдпрд╣ рд╕рдм PowerPoint рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ, рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред


рдХрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдардВрдбреА рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдорд╛рд░реНрдк , рд░рд┐рд╡реАрд▓ , рд▓реИрдВрдбрд╕реНрд▓рд╛рдЗрдб , рд╣реИрдХрд░-рд╕реНрд▓рд╛рдЗрдб , рд╕реНрд▓рд╛рдЗрдб рдФрд░ рдЕрдиреНрдпред рдХреБрдЫ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ, рдЖрдк рдорд╛рд░реНрдХрдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдПрдХ рдЖрдИрдбреАрдИ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрдкрд╛рджрдХ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рджреЛ рдЗрдВрдЬрди рдЖрдЬрдорд╛рдП рд╣реИрдВред


рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрд▓рд╛рдЗрдб рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╡реАрдбрд┐рдпреЛ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред


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


рдЖрдк рдореЗрд░реА рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА https://github.com/KvanTTT/Presentations рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред





рдкрд╛рда рдХреА рдЫреЛрдЯреА рд░рд╛рд╢рд┐


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


рд░реВрдкрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рд░реВрдкрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд▓рдЧреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрд╛рдЧрддреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдлрдиреА рддрд╕реНрд╡реАрд░реЛрдВ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реАрдорд╛рдПрдВ рдЬрд╛рдиреЗрдВ: рдЪреБрдЯрдХреБрд▓реЛрдВ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИред



рдиреНрдпреВрдирддрдорд╡рд╛рдж рдФрд░ рдлреНрд▓реИрдЯ рдбрд┐рдЬрд╛рдЗрди


рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдЬреЛ рдореИрдВрдиреЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдерд╛ред рдпрд╣ рдЕрдм рдЪрд▓рди рдореЗрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рднреА рд╣реИред рдирддреАрдЬрддрди, рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп рдореВрд▓ рд░рдВрдЧреЛрдВ (рддреАрди рд╕реЗ рдкрд╛рдВрдЪ) рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред


рдСрдирд▓рд╛рдЗрди рдкрд╣реБрдВрдЪ


рдкреНрд░рд╕реНрддреБрддрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЦреЛрдиреЗ, рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдХреЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдФрд░ рдЕрдиреНрдп рдкреНрд░рддрд┐рдХреВрд▓рддрд╛рдУрдВ рд╕реЗ рдбрд░реЗрдВрдЧреЗ рдирд╣реАрдВред


рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рд░реНрдп


рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдЪрд╛рдирдХ рд╣рд╛рдирд┐ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЛ рдЕрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг


рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ , рдореИрдХ , рд▓рд┐рдирдХреНрд╕ , рдПрдВрдбреНрд░реЙрдЗрдб , рдЖрдИрдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╣рд╛рдВ, рдЖрдк рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди рдлреЛрди рдкрд░ рднреА рд╕реНрд▓рд╛рдЗрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреНрд▓рд┐рдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдЗрди рдЗрдВрдЧреНрд▓рд┐рд╢


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


рд╢реНрд░реЛрддрд╛ рдмрд╛рдд рдХреЗ рджреМрд░рд╛рди рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рд╢реАрд░реНрд╖рдХ рд╕реНрд▓рд╛рдЗрдб рдкрд░ рдЖрдк рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд▓рд┐рдВрдХ kvttt.imtqy.com рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рдкреВрд░рд╛ рд▓рд┐рдВрдХ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИред


рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдХреА рд▓рд┐рдВрдХ рд╕реЗ 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)


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 рдЯреИрдЧ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд▓рд╛рдЗрдб рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрджрд╛рд╣рд░рдг
 <!-- .slide: style="text-align: left;" --> # я╕П 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> --- 

рд╕реНрд▓рд╛рдЗрдб рдиреЛрдЯ


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



рдЗрдореЛрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


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



рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЪрд┐рддреНрд░ рдФрд░ рдпреЛрдЬрдирд╛рдПрдБ (JPG, PNG, SVG)


рдЬреЗрдкреАрдЬреА


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


рдкреАрдПрдирдЬреА


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


рдПрд╕рд╡реАрдЬреА


рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдХрдИ рд▓реЛрдЧ рдПрд╕рд╡реАрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдпрджреЗ рд╣реИрдВ:


  • рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛;
  • 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"> <!-- Generated by graphviz version 2.38.0 (20140413.2041) --> <!-- Title: cfg Pages: 1 --> <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"/> <!-- 27 --> <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 == &quot;admin&quot;</text> </g> <!-- 33 --> <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 == &quot;validkey&quot;</text> </g> 

рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


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



рдкреНрд░рд╕реНрддреБрддрд┐ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ


рд╕реНрд▓рд╛рдЗрдб рдФрд░ рдиреЛрдЯреНрд╕ рдХрд╛ рдкрд╛рда рдЖрд╕рд╛рдиреА рд╕реЗ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП)ред рдпрд╣ рдПрдХ рд╕рд╛рджрд╛ рдкрд╛рда рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдиреНрдпреВрдирддрдо рдХрдЪрд░рд╛ рд╣реЛрддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐: рд╢реБрд▓реНрдХ


рд╕рднреА рдЙрдкрдХрд░рдг, рдкреНрд░рд╛рд░реВрдк рдФрд░ рд╕реНрдерд┐рд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ .imtqy.com рдореБрдлреНрдд рд╣реИрдВред рдФрд░ рдпрд╣ рддрд╕реНрд╡реАрд░ рднреА

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ


Rev.js рдЗрдВрдЬрди рдореЗрдВ, рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ

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

рдЖрдк рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреА рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рд░рд▓ рдФрд░ рд╢рд╛рдВрдд рд▓рдЧ рд░рд╣реА рд╣реИ


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

рдХрдорд┐рдпрд╛рдВ


рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ:


  1. рдкреАрдбреАрдПрдл рдХреЛ рдЕрдирд╛рдбрд╝реА рдирд┐рд░реНрдпрд╛рдд, рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ ред
  2. PPTX рдХреЛ рдХреЛрдИ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВред
  3. рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЧреИрд░-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдЧреИрд░-рдлреНрд░рдВрдЯреЗрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ HTML рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
  4. рд╕рдВрдкрд╛рджрди рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  5. рдЗрдореЛрдЬреА рдХреЛ рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ рдЗрдореЛрдЬреА рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ)ред
  6. рдЗрдВрдЬрди рдЕрднреА рднреА рдХрдЪреНрдЪрд╛ рд╣реИред

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


рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреА рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдВ рдЗрд╕ рддрд░рд╣ рд╣реЛрдВрдЧреА: рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред рдЖрдЗрдП рдЗрд╕ рднрд╡рд┐рд╖реНрдп рдХреЛ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ!


рд╡реИрд╕реЗ, Git рдФрд░ Markdown рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдЦ рднреА рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ GitHub рдпрд╛ GitLab рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрдзрд╛рд░ рдпрд╛ рдкрд░рд┐рд╡рд░реНрдзрди рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред рдореИрдВ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рдд: рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛ред



рд▓реЗрдЦ рдХреЗ рд╕реНрд░реЛрдд GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ - рдХреГрдкрдпрд╛ рдХреЛрдИ рдЧрд▓рддреА рдкрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред Habr.com рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдорд╛рд░реНрдХрдХреЛрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред

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


All Articles