рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдЖрдкрдХрд╛ рдЙрдЪреНрдЪрддрдо рдЧрдгрд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

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



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



рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рдЕрдВрджрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ


рд╕рдВрдкрд╛рджрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЗрд╕реЗ рд▓рд┐рдЦреЗрдВред



рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрдкрд╛рджрдХ рддреИрдпрд╛рд░ рд╣реИред

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

рдЗрд╕ рд╕рдВрдкрд╛рджрдХ рдХреА рд╕рднреА рд╕рд╛рджрдЧреА рдФрд░ рдореВрд░реНрдЦрддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЬреЛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓ рдФрд░ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рддреЗрдЬ рджреЛрдиреЛрдВ рд╣реИред

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

рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:



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

рдмреАрдЪ рдореЗрдВ рдПрдХ рдЪрд░рд┐рддреНрд░ рдбрд╛рд▓рдиреЗ рдХреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ "рдЧреИрдк рдмрдлрд░" рдирд╛рдордХ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред

рдЧреИрдк рдмрдлрд░


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



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



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

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

рдЯреБрдХрдбрд╝рд╛ рдореЗрдЬ


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



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



рдпрд╣рд╛рдВ рд╣рдо рдСрдлрд╕реЗрдЯ 5 рдкрд░ рд╕реНрдерд╛рди рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЯреБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЛ рдирдП рдЯреБрдХрдбрд╝реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: рдПрдХ рдкрд╣рд▓реЗ рдЯреБрдХрдбрд╝реЗ ("рдмрдорд░") рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╕рдВрдкрд╛рджрди ("рднреЗрдбрд╝") рдХреЗ рдмрд╛рдж рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрдирд╕реЗ рдЕрдВрддрд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрди рджреЛ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдерд╛рди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдирдпрд╛ рдкрд╛рда рдорд┐рд▓рддрд╛ рд╣реИ: "рдУрдмреНрд▓реЛрдореЛрд╡реНрддреНрд╕реА"ред рдлрд┐рд░ рд╣рдо рдирдП рдкрд╛рда ("рдУрдмреНрд▓реЛрдореЛрд╡рд┐рдЬрд╝реНрдо рд╕реЗ рдкреАрдбрд╝рд┐рдд") рдХреЛ рдЕрдВрдд рддрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреБрдХрдбрд╝рд╛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЗрд╕ рдирдП рдкрд╛рда рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреЛрдИ рдЖрдВрджреЛрд▓рди рдирд╣реАрдВ рд╣реИ, рд╕рднреА рдкрд╛рда рдЬрдЧрд╣ рдореЗрдВ рдмрдиреЗ рд╣реБрдП рд╣реИрдВред рдмреБрд░реА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреАрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд╕рднреА рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╛рдВрдЯрдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛ред

рдЯреБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ:

  • рдЬрд▓реНрджреА рд╕реЗ рдПрдореНрдмреЗрдб;
  • рдкреВрд░реНрд╡рд╡рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди;
  • рд╕рдВрд▓рдЧреНрди-рдХреЗрд╡рд▓ред

рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ:

  • рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ;
  • рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

NetBeans, Eclipse рдФрд░ Emacs рдЧреИрдк рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛! Vi рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд┐рд░реНрдл рд▓рд╛рдЗрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Word рдЯреБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд░рд╛рдЪреАрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдЖрдк рдХреБрдЫ рд╕рдордЭ рднреА рд╕рдХрддреЗ рд╣реИрдВ)ред

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

Intellij IDEA рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?
рдирд╣реАрдВ, рдЧреИрдк-рдмрдлрд░ рдирд╣реАрдВред рдирд╣реАрдВ, рдЖрдк рднреА рдЧрд▓рдд рд╣реИрдВ, рдПрдХ рдЯреБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рд╛рдВ, рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА, рдЕрдкрдиреА рдмрд╛рдЗрдХред

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

рд╕рдорд╕реНрдпрд╛рдУрдВ


рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХрддрд╛ / рд╕рдВрд╕реНрдХрд░рдг


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



рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдкрд╛рджрдХ рдПрдХ рд╕рд╣рд╛рдпрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ?

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



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

рдХреМрди рдХреНрдпрд╛ рдореБрд╢реНрдХрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрдиреЛрдо рдореЗрдВ, рдЙрдирдХреЗ рдХреБрдЫ рдорд╛рдирдХ рд╡рд┐рдЬреЗрдЯ рд░рд╕реНрд╕реА рдирд╛рдордХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╢реА-рдПрдбрд┐рдЯрд░, рд░рдл рд▓реЗрд╡рд┐рди рдХреЗ рдирдП рд╢рд╛рдирджрд╛рд░ рд╕рдВрдкрд╛рджрдХ, рдкрд░рд╕реЗрдВрдЯ рд░реЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ Intellij IDEA рдЗрд╕ рдЗрдореНрдореБрдЯреЗрдмрд▓ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрди рд╕рднреА рдирд╛рдореЛрдВ рдХреЗ рдкреАрдЫреЗ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдореЛрдмреЗрд╢ рдПрдХ рд╣реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рда рдХрд╛ рд╡реГрдХреНрд╖ рдЬреИрд╕рд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реЛрддрд╛ рд╣реИред рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ GtkTextBuffer Mutable Rope рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рдХрд┐ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЛрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдкреЗрдбрд╝, рдФрд░ Intellij IDEA рдФрд░ Xi-Editor - Immutableред

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



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



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

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

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ ", рдкрд░" рд▓рд╛рдЗрди рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЗрд╕ рд╕рдордп рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИред

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

рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╣рд╛рдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

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

рдмрд╣реБрдд рд╕рд╛рд░реА рд▓рд╛рдЗрдиреЗрдВ? LineSet!


рдПрдХ рдирд┐рдпрдорд┐рдд рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЕрдиреНрдп рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ? рд╕рдмрд╕реЗ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╕реНрдХреНрд░реЙрд▓ рд╣реИ, рдЕрд░реНрдерд╛рдд, рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓реЗ рдЬрд╛рддреЗ рд╕рдордп рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ред



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



рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬрдм рд╣рдореЗрдВ рд▓рд╛рдЗрди рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рда рдореЗрдВ рдЗрд╕рдХреЗ рдСрдлрд╕реЗрдЯ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд╛рда рдореЗрдВ рдСрдлрд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реИред рдЗрд╕реЗ рдЬрд▓реНрджреА рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

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



рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реИред

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



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



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

рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реА рд▓рд╛рдЗрдиреЗрдВ? Foldings!


рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рдмреАрдЪ рдареЛрдХрд░ рдЦрд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд╣ред рдпреЗ рдкрд╛рда рдХреЗ рдЯреБрдХрдбрд╝реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк "рдврд╣" рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдФрд░ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред



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

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

рдмрд╣реБрдд рд▓рдВрдмреА рд▓рд╛рдЗрдиреЗрдВ? рдореБрд▓рд╛рдпрдо рд▓рдкреЗрдЯреЛ!




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

рдмрд╣реБрдд рдХрдо рд╕реМрдВрджрд░реНрдп




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

рддреЛ рдЖрдк рдЕрднреА рднреА рдлреЛрд▓реНрдбрд┐рдВрдЧ, рд╕реЙрдлреНрдЯ-рд░реИрдкреНрд╕ рдФрд░ рд╣рд╛рдЗрд▓рд╛рдЗрдЯреНрд╕ рдХреЛ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ?
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдФрд░ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рд╣реИред

рдмрд╣реБрдд рдХрдо рд╕реМрдВрджрд░реНрдп? рд░реЗрдВрдЬ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░реНрд╕!




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

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВред

рд╕рдорд╕реНрдпрд╛: рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реМрдВрджрд░реНрдп? рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдкреЗрдбрд╝!




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

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

рдЕрднреА рднреА рд╕реМрдВрджрд░реНрдп рдЪрд╛рд╣рддреЗ рд╣реИрдВ? Ligatures!




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

рдмреНрд░реЗрдХ рд▓рдЧрд╛рдирд╛


тАФ , , тАФ , , .



Intellij IDEA , - , , , :

  • , completion popup', completion', , , - ┬лEnter┬╗.
  • , - , Perforce, - .
  • , - , , - .
  • , , , .
  • injected-, , , - .
  • auto popup handler, , , .
  • info , , . selection remove, selection , . selection , .
  • typed handler, , .
  • .
  • undo, virtual space' write action.
  • , .

!

, , . , . , listener , , - . editor view. - listener'.

, , - DocumentListener?

Editor.documentChanged() :

  • error stripe;
  • gutter size, ;
  • editor component size, ;
  • ;
  • soft wrap, ;
  • repaint().

repaint() тАФ Swing, . , Repaint Swing.

- , repaint , :



paint-, , .

, , ?



, , . Intellij IDEA .



, - - , , , . ! , , , - тАФ ! , - . . ┬лZero latency typing┬╗.


тАФ .

? , тАФ , Google Docs - - .

:

  • ;
  • .

, , .

- . , , . . тАФ , ┬лintention preservation┬╗. , - , , , . тАФ . , - , .

Operation transformation




, , ┬лoperation transformation┬╗. . , - : , . Operation transformation . , , , - . , . , - . , , .

, , , . ┬лTP2 puzzle┬╗.



- , , . , Operation transformation , , , (┬л┬╗). (┬л┬╗). , . , Operation transformation, - .

, Google Docs, Google Wave - Etherpad. Operation transformation .

Conflict-free replicated data type


: ┬л , OT!┬╗ , , . , , , , 100% . ┬лCRDT┬╗ (Conflict-free replicated data type).



, , . , , , . , . - ( ), () ( ).



?

рд╣рд╛рдВред , G-counter', , . , . ┬л+1┬╗ , ┬л+1┬╗ , , тАФ ┬л2┬╗. , , . G-counter, , . G-counter, . , , . . тАФ . , CRDT. , .

Conflict-free replicated inserts




, , , . , , .

, , - - , , , , . , , , , . , , , , 2 ┬л┬╗, , ┬л┬╗ ┬л┬╗ ┬л┬╗.

Conflict-free replicated deletes




. , , , - . , , . , , , .
, .

Conflict-free replicated edits


, , CRDT - , , Xi-Editor, Fuchsia. , , .

Zipper


, ┬лZipper┬╗. , , . , , . , ( ┬л┬╗ , , ┬л ┬╗). , - . , - , . Zipper.

, . .



Zipper , (┬л ┬╗). Zipper' . тАФ . (), , . , Zipper, - , . , , , ( ). , ( ). , . , .

, .

? -, , , , . , , . -, , . . рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж

тЖТ
тЖТ

рд╕рдВрджрд░реНрдн


Zipper data structure
CRDT in Xi Editor



, Visual Studio Code editor Piece Table .
, - .

рдЬрд╛рд╡рд╛ 11 рд╕рд╣рд┐рдд рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд░рд┐рдкреЛрд░реНрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ рд╣рдо рдЬреЛрдХрд░ 2018 рдкрд░ рдЖрдкрдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд╡рд░реНрд╖ рдХреЗ рд╡рдХреНрддрд╛: рдЬреЛрд╢ рд▓реЙрдиреНрдЧ, рдЬреЙрди рдореИрдХреНрд▓реАрди, рдорд╛рд░реНрдХрд╕ рд╣рд┐рд░реНрде, рд░реЙрдмрд░реНрдЯ рд╢реЛрд▓реНрдЯреЗ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╢рд╛рдВрдд рд╡рдХреНрддрд╛ред рд╕рдореНрдореЗрд▓рди рд╕реЗ рдкрд╣рд▓реЗ 17 рджрд┐рди рд╢реЗрд╖ рд╣реИрдВред рд╕рд╛рдЗрдЯ рдкрд░ рдЯрд┐рдХрдЯ ред

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


All Articles