рд╡рд░реНрд▓реНрдбрд╕реНрдХрд┐рд▓реНрд╕: рдУрд▓рдВрдкрд┐рдпрд╛рдб рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧреА рд╕реЗ рд╕рдореАрдХреНрд╖рд╛


рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЛ рдкрдВрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдХрдВрдкрдиреА рдпреЛрдЧреНрдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рдУрд▓рдВрдкрд┐рдпрд╛рдб рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдпрд╣ рд▓реЗрдЦ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред

рдкреАрдЫреЗ рд╣рдЯрдирд╛


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

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рд╡рд░реНрд▓реНрдбрд╕реНрдХрд┐рд▓ рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрд╕реНрдерд╛ рд╡рд░реНрд▓реНрдбрд╕реНрдХрд┐рд▓реНрд╕ рдЗрдВрдЯрд░рдиреЗрд╢рдирд▓ (рдбрдмреНрд▓реНрдпреВрдПрд╕рдЖрдИ) рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЬрдбрд╝реЗрдВ рдЬрдорд╛рддреА рд╣реИред

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдирд╛ рдирд┐рдГрд╢реБрд▓реНрдХ рд╣реИред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рдЖрдпреБ 18 рд╕реЗ 28 рд╡рд░реНрд╖ рдХреА рдЖрдпреБ, рдХреЙрд▓реЗрдЬреЛрдВ рдпрд╛ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЫрд╛рддреНрд░реЛрдВ рд╕реЗ рд╣реИред

рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ 5 рджрд┐рдиреЛрдВ рддрдХ рдЪрд▓рддреА рд╣реИ: рдкрд╣рд▓реЗ рджрд┐рди, рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдФрд░ рд╕рддреНрдпрд╛рдкрди, рдлрд┐рд░ рдЕрдВрддрд┐рдо рджрд┐рди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рддреАрди рджрд┐рди - рд╕рдВрдХреНрд╖реЗрдк рдФрд░ рд╕рдорд╛рдкрдиред

рдпреЛрдЧреНрдпрддрд╛ рдЪрдпрди рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


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

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

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

рдЕрдм рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рджрд┐рди рдпрд╛ "рд╕реА -1"


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

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд╛ рджреВрд╕рд░рд╛ рджрд┐рди рдпрд╛ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рд╢реБрд░реБрдЖрдд


рдХреНрдпрд╛ рдерд╛ рдУрд▓рдВрдкрд┐рдХ?

рд╣рдорд╛рд░реА рдпреЛрдЧреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, 2 рджрд┐рдиреЛрдВ рдореЗрдВ (рдЕрдиреНрдп рджрдХреНрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддреАрди), 6 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде C # / Java рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ "рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд╣реИ," рдЪреВрдВрдХрд┐ рдУрд▓рдВрдкрд┐рдпрд╛рдб рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ "рдЖрдк рдЬреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред"

рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдорд╛рдирджрдВрдб рдХрдИ рджрд╕рд┐рдпреЛрдВ A4 рдкреГрд╖реНрда рдереЗред рдорд╛рдирджрдВрдб рд╕рддреНрд░ рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ред

рджреВрд╕рд░реЗ рджрд┐рди рдХреА рдШрдЯрдирд╛рдУрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛:

  • рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдИрдЖрд░-рдЖрд░реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВ
  • рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП 4 рд╕реНрдХреНрд░реАрди рдмрдирд╛рдПрдВ

рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкрд╛рдВрдЪ рд╕реНрдХреНрд░реАрди рдмрдирд╛рддреЗ рд╣реИрдВред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдХрд╕реНрдЯрдо рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рднреА рдХрд╛рд░реНрдп рд╣рд▓ рдХрд┐рдП рдЧрдП рдереЗред

рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:




рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрдкрдХреЛ рдирд╛рдо (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░), рд╕реАрдЬрд╝рди рдФрд░ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕реА рдЫрд╡рд┐ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрд▓реА рдЬрд╛рддреА рд╣реИред рдЕрдм рдореИрдВ DataGridViewImageColumn рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛ред




рдореИрдВрдиреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд╣реЗрдЬрд╛
private void download_Click(object sender, EventArgs e) { SaveFileDialog saveFile = new SaveFileDialog(); saveFile.DefaultExt = ".jpg"; saveFile.AddExtension = true; //   - / saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures); saveFile.Filter = "Bitmap files (*.bmp)|*.bmp|Image files (*.jpg;*.png)|*.jpg;*.png"; if (saveFile.ShowDialog() == DialogResult.OK) { if (!saveFile.FileName.Equals("")) { String[] arr = saveFile.FileName.Split('.'); //       "\"  String filepath = arr[0].Substring(0, arr[0].LastIndexOf('\\') + 1); for (int i = 1; i <= imageList1.Images.Count; i++) { Image image = Image.FromFile("..\\Pictures\\" + (i + offset) + ".jpg"); image.Save(filepath + i + "." + arr[1]); } } } } 


рдЕрдзрд┐рдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, рдкрд╛рда рдФрд░ рдХреЛрдб



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

рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
 private int countImages() { sqlConnection = new SqlConnection(connectionString); using (sqlConnection) { sqlConnection.Open(); String sqlcomm = "SELECT Count(*) FROM [Pictures$]"; SqlCommand command = new SqlCommand(sqlcomm, sqlConnection); int result = (int)command.ExecuteScalar(); return result; } } private void loadPage() { sqlConnection = new SqlConnection(connectionString); using (sqlConnection) { sqlConnection.Open(); String sqlcomm = "SELECT [Img] , [CreateTime] FROM [Pictures] P" + " Order By P.CreateTime Desc" + " Offset @click Rows FETCH NEXT @svm ROWS ONLY"; SqlCommand cmd = new SqlCommand(sqlcomm, sqlConnection); cmd.Parameters.AddWithValue("@click", click); cmd.Parameters.AddWithValue("@svm", svm); dataAdapter.SelectCommand = cmd; DataSet data = new DataSet(); dataAdapter.Fill(data); imageList1.Images.Clear(); listView1.Clear(); for (int i = 0; i < data.Tables[0].Rows.Count; i++) { imageList1.Images.Add(Image.FromFile("..\\Pictures\\" + data.Tables[0].Rows[i].ItemArray[0].ToString())); } listView1.LargeImageList = imageList1; for (int i = 0; i < imageList1.Images.Count; i++) listView1.Items.Add("").ImageIndex = i; } } private void left_Click(object sender, EventArgs e) { if (click > 0) { if (!right.Enabled) { right.Enabled = true; } click -= svm; loadPage(); } else { left.Enabled = false; } } private void right_Click(object sender, EventArgs e) { if (click + svm < totalPhotos) { if (!left.Enabled) { left.Enabled = true; } click += svm; loadPage(); } else { right.Enabled = false; } } 





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

рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
  private int checkData(string jobnumber, string password) { //  SQL-Injection     String sqlchecked = "if (Isnull((Select RoleId From Admin$ Where Jobnumber like(@Jobnumber) and Passwords like(@Password)) , 0) = 0)" + " Select 0 " + " else " + " Select RoleId From Admin$ Where Jobnumber like(@Jobnumber) and Passwords like(@Password)"; sqlConnection = new SqlConnection(connectionString); int result = 0; using (sqlConnection) { sqlConnection.Open(); SqlCommand command = new SqlCommand(sqlchecked, sqlConnection); //     command.Parameters.AddWithValue("@Jobnumber", jobnumber); command.Parameters.AddWithValue("@Password", password); //        result = (int)command.ExecuteScalar(); } return result; } 


рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред




рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдЕрдзреВрд░рд╛ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлреЙрд░реНрдо рдкрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ C # рдореЗрдВ рдРрд╕реА рдХрд╕реНрдЯрдо рд▓рд┐рд╕реНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдП?




рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдХрдард┐рди рд╕реНрдХреНрд░реАрди, рдЪреВрдВрдХрд┐ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдерд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рддреИрдпрд╛рд░реА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд╛ рддреАрд╕рд░рд╛ рджрд┐рди рдпрд╛ Android рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмреИрдардХ


рдкрд┐рдЫрд▓реЗ рджрд┐рди рдХреЛ рддреАрд╕рд░реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд╛рд░реНрдо-рдЕрдк рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 3 рд╕рддреНрд░реЛрдВ рдореЗрдВ, рдЕрдиреНрдп 8 рд╕реНрдХреНрд░реАрди рдХреЛ рд╢реНрд░реЗрдп рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдФрд░ рдЕрдВрддрд┐рдо рд╕рддреНрд░ рдореЗрдВ, рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реБрдЖ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдЙрддреНрдкрд╛рдж рдкрд░ рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдмрдЬрд╛рдп, рд╣рдордиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЕрд░реНрдерд╛рддреН, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рд╡рд╛рд▓реА рдПрдХ рдЧреИрд▓рд░реАред рдЕрдм рдпрд╣ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдХреНрд╖рдг рдореБрдЭреЗ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рд╕рддреНрд░ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП 15 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 3 рдШрдВрдЯреЛрдВ рдореЗрдВ, ImageView рдХреЗ рд░реВрдк рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ GridView рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдИрдбреА рдЪрд┐рддреНрд░реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреА рдЧрдИ рдереА, рдФрд░ рдПрдХ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП OnItemClickListener рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреБрдЫ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:




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

| | |

рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреМрд╢рд▓ рдХреЗ рдмрд┐рдирд╛ 3 рдШрдВрдЯреЗ рдореЗрдВ рдореЗрд░реА "рдкрд░рд┐рдкреВрд░реНрдг" рдЧреИрд▓рд░реАред

рдЕрдзрд┐рдХ рдЪрд┐рддреНрд░, рдкрд╛рда рдФрд░ рдХреЛрдбред
рдЬрдм рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЧреИрд▓рд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) // id  var images = ArrayList<Int>() images.add(R.drawable.a1) //... images.add(R.drawable.a12) listView.adapter = CustomAdapter(images.toTypedArray()) listView.onItemClickListener = AdapterView.OnItemClickListener { _: AdapterView<*>, _: View, i: Int, _: Long -> var intent = Intent(this, FullscreenActivity::class.java) // id ,    intent.putExtra("id",images[i]) startActivity(intent) } } } class CustomAdapter internal constructor(var images: Array<Int>) : BaseAdapter() { override fun getCount(): Int { return images.size } //    override fun getItem(position: Int): Int { return images[position] } // id   override fun getItemId(position: Int): Long { return position.toLong() } //   override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { //    var view: View? = convertView // ,   if (view == null) { val inflater = LayoutInflater.from(parent.context) view = inflater.inflate(R.layout.item, parent, false) } view!!.findViewById<ImageView>(R.id.imageView).setImageResource(images[position]) return view } } class FullscreenActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_fullscreen) // id  var id = intent.getIntExtra("id",-1) imageView2.setImageResource(id) } } 





рдПрдХ рд╕реАрдЬрд╝рди (рд░рд╛рдЗрдЯ рдЯреЗрдмрд▓) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╕рднреА рдореИрдЪреЛрдВ рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдЦреБрд▓рддреА рд╣реИред




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

рдореИрдВрдиреЗ рдПрдХреНрд╕реЗрд▓ рдХреЛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛
 private void exportExcel_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Excel (*.xls)|*.xls|All files (*.*)|*.*"; saveFileDialog.DefaultExt = ".xls"; if (saveFileDialog.ShowDialog() != DialogResult.OK) return; if (saveFileDialog.FileName.Equals("")) return; DataTable dt = (DataTable)dataGridView2.DataSource; //  StreamWriter wr = new StreamWriter(saveFileDialog.FileName); try { for (int i = 0; i < dt.Columns.Count; i++) { wr.Write(dt.Columns[i].ToString().ToUpper() + "\t"); } wr.WriteLine(); //    Excel for (int i = 0; i < (dt.Rows.Count); i++) { for (int j = 0; j < dt.Columns.Count; j++) { if (dt.Rows[i][j] != null) { wr.Write(Convert.ToString(dt.Rows[i][j]) + "\t"); } else { wr.Write("\t"); } } //    wr.WriteLine(); } //  wr.Close(); } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 



рд╕рдВрдХреНрд╖реЗрдк


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

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


рддреИрдпрд╛рд░реА рдХреЗ рдорд╣реАрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ DDL рдФрд░ DML SQL рдЯреАрдореЛрдВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА, рдЬрд┐рд╕рдиреЗ рддреАрд╕рд░реЗ рд╡рд░реНрд╖ рдореЗрдВ DB рдЬреЛрдбрд╝реЗ рдкрд░ рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд┐рдпрд╛ред C # рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдо рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдХреБрдЫ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдереАред

рдЗрд╕ рд╡рд░реНрд╖ рдореИрдВрдиреЗ рд╡рд░реНрд▓реНрдбрд╕реНрдХрд┐рд▓реНрд╕ рдУрд▓рдВрдкрд┐рдпрд╛рдб рдореЗрдВ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд▓рд┐рдпрд╛ рдФрд░ рдкреНрд░рдердо рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдоред

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


All Articles