рдЕрд▓рд╡рд┐рджрд╛ XML- рдмрд┐рд▓реНрдб ... рд╣реИрд▓реЛ рд░реЗрдХ!

рдкрд░рд┐рдЪрдп



рдЖрдЬ ( рд╕реЛрдорд╡рд╛рд░, 26 рдЕрдкреНрд░реИрд▓, 2010 рдХреЛ рд╕реБрдмрд╣ 8:54 рдмрдЬреЗ; рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред ) рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЯреНрд╡реАрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ XML- рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рдерд╛ред рд╣рд╛рдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдирдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИред рд╣рд╛рдВ, рд╡реЗ рдЙрд╕ рд╕рдордп рдЕрдЪреНрдЫреЗ рдереЗред рдФрд░ рд╣рд╛рдБ, рдореИрдВ рдЕрднреА рднреА рд╣рд░ рджрд┐рди рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдм рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╣реИрдВред рдореЗрд░реЗ рдЯреНрд╡реАрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереА: "рдареАрдХ рд╣реИ, рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд╡рд┐рдХрд▓реНрдк?" рдЬреАрд╡рди рдХреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛ рдореБрдЭреЗ рд╕рд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрдм рддрдХ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ рдмрджрд▓реЗ рдореЗрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рди рд╣реЛред рддреЛ рдпрд╣рд╛рдБ рдФрд░ рдЕрдм рдореИрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░реЗрдВрдЧреЗ ...

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



рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрд╕реЗ рдПрдХ рдкреНрд░рд╢реНрди рдкреВрдЫрддрд╛ рд╣реВрдВ ... рдбреЗрд╡рд▓рдкрд░реНрд╕ ( рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред ) рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗрдВ ? рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдЙрддреНрддрд░ рджреВрдВрдЧрд╛: рдХреЛрдб рд▓рд┐рдЦреЗрдВ ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ "рдмрд╣реБ-рдкрддреНрд░" рдХреЛ рд░рд╛рдХреНрд╖рд╕реА рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдзрдХреЗрд▓рдХрд░ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреЛ рдореЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рд╣рдо рд╕рд┐рд░реНрдл рдХреЛрдб рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ? рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ XML- рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд▓реЗрдЦрди рдЯреВрд▓ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ рд╡реЗ рдПрдХ рдРрд╕реЗ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЙрдкрдХрд░рдг рдЗрддрдирд╛ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдЬрд▓реНрдж рд╣реА XML рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╣рд┐рд╕реНрдЯреАрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдЕрд╡рд╢реЗрд╖ рд╣реИ, рдЬреЛ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣реБрдЖ рдерд╛ред рдЬреЛ рд▓реЛрдЧ рдХрдИ рд╕рд╛рд▓реЛрдВ рд╕реЗ рдРрд╕реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рд╡реЗ рдордЬрд╛рдХрд┐рдпрд╛ рдФрд░ рдЧреВрдВрдЧреЗ рджрд┐рдЦ рд░рд╣реЗ рдереЗред
XML рдХреЗ рдорд╣рд┐рдорд╛рдордВрдбрди рд╕реЗ рд▓реЛрдЧ рдЗрддрдиреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдпрд╣ рдмрддрд╛рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ XML рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд╣рдо рдХреНрдпрд╛ рдЪреВрдХ рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдЙрджреНрдпреЛрдЧ рдиреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИред рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдкрд╛рджрдХреЛрдВ, рдбрд┐рдмрдЧрд░реНрд╕, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рдорд╛рдореВрд▓реА рдлрд╛рдпрджреЗ XML рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд╣рд░ рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, XML рдлрд╝рд╛рдЗрд▓реЗрдВ рдЗрд╕рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрднреА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВ рдЬреЛ XML рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред
рддреЛ XML рдХреЗ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИрдВ? рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд▓реЗрдХрд┐рди рдЖрдк рдХрд▓реЗрдХреНрдЯрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рдмрд╛рд░ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ? рдЖрдк рдмрд╕ XML рдХреЙрдиреНрдлрд┐рдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ NAnt рдлрд╝реАрдб рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЦреБрдж рдХреБрдЫ рднреА рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рд╕рдВрдХрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдареАрдХ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдкрд╣рд▓рд╛ рддрд░реНрдХ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рд╣рдореЗрдВ рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ ... рдЖрджрд┐ред "рдЪрд┐рдХрди, рд╕рдВрддреБрд╖реНрдЯрд┐ рдХрд╛ рдПрдХ рдЕрдВрдбрд╛" (рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрд╡рд╛рдж "рдЪрд┐рдХрди <-> рдЕрдВрдбрд╛" рд╕реЗ Translate.google.com, рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджред ) рд╕реЗ рдЦреБрд╢ рд╣реИрдВред рдЦреИрд░, рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реАрдорд╛ рд╣реИред рдЙрд╕ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рд╕реЗ рд╕рдВрдХрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕реЗ NAnt рдФрд░ MSBuild рдХреЗ рд╕рдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдЧрдП рдПрдХ рдХреЛ рд▓рд┐рдВрдХ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ? рдЖрдк рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХрдИ рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдиреЗрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓ рд░рд╣реА рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рд░реВрдмреА рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ ( рдФрд░ рдореИрдВ, рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред )ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, рдореИрдВ рдЗрд╕ рднрд╛рд╖рд╛ рдХреА рд╕рд╛рджрдЧреА рдФрд░ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдореЗрдВ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрдХрд▓рди рд░реВрдмреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рднреА рдорд╣рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВред рд╡реИрд╕реЗ, рд▓реЛрдЧ рдФрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ .рдиреЗрдЯ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдо рднреНрд░рд╛рдВрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ! Ufff! рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ ... рд╕реА # рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдЬрдм рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдХрд▓рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рднреА рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИред рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛ рдЕрдХреНрд╕рд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ, рд╡рд┐рддрд░рдг рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬ рдХрд░рдиреЗ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╢рд┐рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рдХрд▓реЗрдХреНрдЯрд░ рд╡рд╣ рдЪрдЯреНрдЯрд╛рди рд╣реИ рдЬрд┐рд╕ рдкрд░ рдПрдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред
рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реВрдмреА рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, IronRuby 1.0 (рдЕрдиреБрд╡рд╛рдж рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг 1.1 рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ)ред рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд▓реЗрдХреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реИ! рддреЛ? рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗред

IronRuby рд╕реНрдерд╛рдкрдирд╛ рдЕрд╡рд▓реЛрдХрди


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ http://ironruby.net/ рд╕реЗ рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╡рд╣рд╛рдВ рдЖрдк .Net 2.0 рдФрд░ .Net 4.0 рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ ...
*** рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ:
рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдЧрд╛; рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрднрд╛рд╖рд┐рдпрд╛ рдФрд░ / рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред


рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ (рдХрдорд╛рдВрдб "ir") рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░реВрдмреА рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
puts "CodeThinked.com is awesome!!" 


рд░реЗрдХ рдЪрд▓рд╛рдПрдВ


рд░реЗрдХ рд╕рд┐рд░реНрдл рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИред рдпрд╣ XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдпрджрд┐ рдЖрдк рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдмрд┐рд▓реНрдб рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕рд┐рд░реНрдл рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдпрд░рдирд░рдмреА рд░реЗрдХ рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ "рд░реЗрдХ" рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдПрдХ рднреА рд░реЗрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реАред рдЕрдм рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд░реЗрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред
рдкрд╣рд▓реА рдмрд╛рдд рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдКрдВрдЧрд╛ (рдЗрд╕реЗ c: \ development \ RakeTest рд╣реЛрдиреЗ рджреЗрдВ)ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ Rakefile.rb рдмрдирд╛рдПрдБред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЦреЛрд▓реЗрдВ ( рдЙрджрд╛ред рдиреЛрдЯрдкреИрдб ++, рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджред ) рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдЗрд╕рдореЗрдВ рдбрд╛рд▓реЗрдВ:
 require 'rake' task :default => [:congratulate_me] desc "Tells you that you are awesome" task :congratulate_me do puts "Congrats, you have rake running. Wasn't that easy?" end 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдмрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ тАЬрд░реЗрдХтАЭ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрд╡рд╛рдм рдореЗрдВ, рдЖрдкрдХреЛ "рдмрдзрд╛рдИ, рдЖрдкрдХреЛ рд░реЗрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ" рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛? тАЭ
рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИ? рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдХрд▓реЗрдХреНрдЯрд░ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ, рдЖрдк рд░реЗрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, "congratulate_me" рдЯрд╛рд╕реНрдХ рд▓реЙрдиреНрдЪ рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рдкрдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╣реА рдХрд╛рд░реНрдп рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдиреИрдиреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реЗрдЬрд╣реЙрдЧ рдХреИрдЯ, рд╣рдордиреЗ рдХреЛрдб рд▓рд┐рдЦрд╛ рдерд╛ред
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдп рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ:
 task :congratulate_team do puts "Congrats to the team!" end task :congratulate_everyone => [:congratulate_me,:congratulate_team] do puts "Phew, that was a lot of congrats" end 

рдЖрдк рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдЪреАрдЬреЗрдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдИрдВред рд╣рдорд╛рд░рд╛ рдПрдХ рдХрд╛рдо рд╣реИ рдХрд┐ рдмрд╕ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреЙрдк рдХрд░реЗрдВ, рдФрд░ рдПрдХ рдФрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд╛рдо рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд░рдгреА рд╣реИред рдпрд╣ NAnt рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреВрд╕рд░реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдм рдпрджрд┐ рд╣рдо Rakefile.rb рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдп рдирд╛рдо рдХреЛ "congratulate_everyone" рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЬрдм рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдиреНрдп рджреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж congratulate_everyone рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рд╣рдо, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рд╣рдо рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЛ рдЙрд╕рдХреЗ рдирд╛рдо рд╕реЗ рдкреБрдХрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "рд░реЗрдХ рдмрдзрд╛рдИ рд╣реЛ_рдЯреАрдоред"
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ NAnt рдпрд╛ MSBuild рдЪреМрдЦрдЯреЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдЪреМрдЦрдЯреЗ рдмрд╕ рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рдХреНрд░рдо рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдмрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╣рдо рдЬрд╣рд╛рдВ рдЪрд╛рд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЕрдиреНрдп рд░реВрдмреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ, рдХреЛрдб рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдЬреЛ рдПрдХреНрд╕рдПрдордПрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдлреНрдд рдореЗрдВред
рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдмрдЪреА рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ, рдареАрдХ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ, рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ, рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЯреИрдк рдХрд░рдиреЗ, рдХреЙрдкреА рдФрд░ рдЬрд╝рд┐рдк рдХрд░рдиреЗ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдлрд╝рдЯреАрдкреА рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдЖрджрд┐ рдХрд╛ рдЕрд╡рд╕рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рд╣рдо рдХреБрдЫ рдпрд╛рдж рдХрд┐рдпрд╛? рддреЛ рдХреНрдпрд╛ рд╣рдо MSbuild рдФрд░ NAnt рдХреЛ рдкрдХрдбрд╝ рдкрд╛рдПрдВрдЧреЗ? рдЦреИрд░ рдЙрд╕ рдиреЗ рдкреВрдЫрд╛ред

рджреЛрд╕реНрддреЛ рд░реЗрдХ рдФрд░ .Net


рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ: рддреЛ рдореИрдВ рдЗрди рд╕рднреА рд╕реНрдХреНрд░реАрдкреНрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд░реВрдБ? рд╕рдВрдпреЛрдЧ рд╕реЗ, рдХреНрдпрд╛ рдореБрдЭреЗ рдЙрди рд╕рднреА рдХреЛ рд╣рд╛рде рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдФрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛! рдмреЗрд╢рдХ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЪреБрдХреА рд╣реИред рд╕рд┐рд░рджрд░реНрдж рдХреА рджрд╡рд╛ рдХреЛ " рдЕрд▓реНрдмрд╛рдХреЛрд░ " рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ GitHub рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рдЗрд╕реЗ рдЕрднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдордд рдХрд░реЛред рдореИрдВ рдЕрдм рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдЧреНрдо рдЯреВрд▓ (рдПрдордЖрд░рдЖрдИ рд░реВрдмреА рдореЗрдВ рд░рддреНрди рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ) рдХреЛ рдЖрдпрд░рдирд░рдмреА рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдпрд░рдирдЖрд░рдпреВрдмреА рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдХрд░рдг рд╕реНрд╡рдпрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдорд╢реАрди рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИред рддреЛ рдПрдХ igem рд╕реНрдерд╛рдкрд┐рдд рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд░реЗрдХ-рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 require 'albacore' 

рдЕрдм рдореИрдВ рдХрдВрд╕реЛрд▓ .Net рдПрдкреНрд▓реАрдХреЗрд╢рди тАЬRakeTestAppтАЭ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдореИрдВ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЬреЛрдбрд╝рдХрд░ рд╢реБрд░реВ рдХрд░реВрдБрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "AutomatedRelease", рдФрд░ рдлрд┐рд░ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореИрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ "../build_output" рдореЗрдВ рдмрджрд▓ рджреВрдВрдЧрд╛ред рдЗрд╕ рддрд░рд╣, рдореИрдВ рд╡рд┐рд╢реЗрд╖ рдПрдордПрд╕рдмрд┐рд▓реНрдЯ рдХрд╛рд░реНрдп рдХреЛ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдПрд▓реНрдмрдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рд╣рдорд╛рд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдПрд╕рдПрд▓рдПрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдКрдБрдЧрд╛, рдЬреЛ рдмрд╛рдХреА рдХреЗ рд╕рднреА рдХреНрд░рдореЛрдВ рдореЗрдВ рдХрд░реЗрдЧрд╛:
 task :full => [:clean,:build_release,:run_tests] 

рдлрд┐рд░ рдореИрдВ рдПрдХ рдХрд╛рд░реНрдп рдмрдирд╛рдКрдВрдЧрд╛ рдЬреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "build_output" рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдЕрд░реНрдерд╛рддреНред рд╕рдлрд╛рдИ рдХрд░реЗрдВрдЧреЗред
 task :clean do FileUtils.rm_rf 'build_output' end 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ рд░реВрдмреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред рдЕрдм рдореИрдВ рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХрд╛рд░реНрдп рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдКрдВрдЧрд╛ред рдпрд╣ рдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛:
 msbuild :build_release do |msb| msb.properties :configuration => :AutomatedRelease msb.targets :Build msb.solution = "RakeTestApp/RakeTestApp.sln" end 

рдЗрд╕рд▓рд┐рдП, "рдХрд╛рд░реНрдп" рдХреЗ рдмрдЬрд╛рдп рд╣рдордиреЗ "msbuild" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ "build_release" рдирд╛рдо рджрд┐рдпрд╛ред рдпрд╣ рдХрд╛рд░реНрдп рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдпрд╣рд╛рдВ рд╣рдо "рдСрдЯреЛрдореЗрдЯреНрд░рд┐рдбреЗрд▓реЗрдЬрд╝" рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдорд╛рдзрд╛рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рд▓рдХреНрд╖реНрдп рдФрд░ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХреЗ NUnit рдХрд╛рд░реНрдп рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
 nunit :run_tests do |nunit| nunit.path_to_command = "tools/nunit/nunit-console.exe" nunit.assemblies "build_output/RakeTestAppTests.dll" end 

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

рдЕрдм рд╕рдм рдПрдХ рд╕рд╛рде


 require 'rake' require 'albacore' task :default => [:full] task :full => [:clean,:build_release,:run_tests] task :clean do FileUtils.rm_rf 'build_output' end msbuild :build_release do |msb| msb.properties :configuration => :AutomatedRelease msb.targets :Build msb.solution = "RakeTestApp/RakeTestApp.sln" end nunit :run_tests do |nunit| nunit.path_to_command = "tools/nunit/nunit-console.exe" nunit.assemblies "build_output/RakeTestAppTests.dll" end 


рд╡рд╣ рд╕рдм рд╣реИ! рд╣рдордиреЗ IronRuby, Rake, рдФрд░ Albacore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдмрд┐рд▓реНрдб рдЯреВрд▓ рдмрдирд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рдЕрдВрд╢ рд╣реИред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдореИрдВ ndepend, ncover, sftp, sql рдХрдорд╛рдВрдб, zip рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ, ssh, unzip рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрди рд╕рднреА рд▓реЗрдЧреЛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрд▓реНрдмрд╛рдХреЛрд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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


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

рдпрд╣рд╛рдБ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдбрд╝реА рд╣реИред

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


All Articles