рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрдВрдЦреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреАрдирд┐рдХреНрд╕ рдФрд░ рд░реЗрд▓ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░

рдЬрдм рд╡рд╣ рд╕рд┐рд░реНрдл рдлреАрдирд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдореГрдд рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рддрдм рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реИрдХ рд╣реИрдХ рд╣реБрдЖред

рдЯрд┐рдкреНрдкрдгреА


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


рдореБрдЦреНрдп рдЫрд╛рдк


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


рдПрд░рд▓рд╛рдВрдЧ рдмрдирд╛рдо рд░реВрдмреА


рд░реВрдмрд▓ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдФрд░ рдПрдХ рдЕрдореГрдд рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдЖрдк рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдореГрдд рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдХрд░рддреЗ рдереЗ ... рдпрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд▓реЛрдЧ рдПрд░рд▓рдВрдЧ рдФрд░ рд░реВрдмреА рдорддрднреЗрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рддрд╛рдмреЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдШрд╛рдд рдкрд╛рдЗрдкреЛрдВ рдХреЗ рд╕рд╛рде рд░реЗрд▓ "рд╕реНрдЯреАрдо рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡" рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рдереЗ, рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реЛрдЪ рдХреЗ foldr рд╕рд╛рде (рд▓рд╛рдн inject рдкреБрд░рд╛рдиреЗ рдЕрдиреБрднрд╡ рдФрд░ inject / foldr рд▓рд┐рдП рдПрдХ рд╕рд╛рдЭрд╛ рдкреНрдпрд╛рд░ рдерд╛) рдФрд░, рд╡рд┐рд╖рдп рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдзрд┐рдХ рдХрдбрд╝реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░) , рджреЛрдиреЛрдВ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдЦреНрдд рдЧрддрд┐рд╢реАрд▓ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде)ред


рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕реЗ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдиреА рдЪрд░реНрдЪрд╛ рдХреНрдпреЛрдВ рд╣реБрдИред рдмрд╕ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдХрд░рдгред


рд╕рд╛рдорд╛рдиреНрдп рджрд╛рдпрд░рд╛


рдЕрдореГрдд тАЛтАЛрдореЗрдВ, рд╕рдм рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдХреЛрдИ рд╡реИрд╢реНрд╡рд┐рдХ рдЧреБрдВрдЬрд╛рдЗрд╢ рдирд╣реАрдВред C # рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред


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


рд╕рдВрдХрд▓рд┐рдд


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


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


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


рдкреНрд░рд▓реЗрдЦрди


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


рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛


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


рдкрд╛рд░рджрд░реНрд╢реА рдЕрдиреБрд░реЛрдз рдкрде


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


рдЕрдВрджрд░ рдмрд╛рд╣рд░ рдорд╛рд░реНрдЧ


рд░реЗрд▓ рдореЗрдВ, рдПрдХ рд╕реНрдерд┐рддрд┐ рдЬрд╣рд╛рдВ рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрдИ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ рд╡рд╣ рдЖрджрд░реНрд╢ рд╣реИред рд╡рд╣рд╛рдБ рднреА (.:format) рд╕рд╣реА рдорд╛рд░реНрдЧреЛрдВ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИред рдЕрдореГрдд тАЛтАЛрдореЗрдВ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдЙрдкрд░реЛрдХреНрдд рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рдкреНрд░рд╛рд░реВрдк рдПрдирд╛рд▓реЙрдЧ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЙрд░реНрдореЗрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрдЖрд░рдПрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕реНрд╡рд╕реНрде рд╣реИред


рдореЙрдбрд▓ рдореЗрдВ рд╕рд░реНрдХрд┐рдЯ


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


рдорд╛рдиреНрдпрддрд╛рдУрдВ рдФрд░ рдХреЙрд▓рдмреИрдХ


рдЕрдореГрдд тАЛтАЛрдореЗрдВ рдХреЛрдИ рдХреЙрд▓рдмреИрдХ рдирд╣реАрдВ рд╣реИрдВред рд╡рд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рд╕реАрдзрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИред


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


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


рдПрдХ DB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


ActiveRecord рдХреЗ рдмрдЬрд╛рдп, рдХреБрдЫ Ecto.Repo , Ecto.Query рдФрд░ рдЙрдирдХреЗ рдХрдИ рднрд╛рдИ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рд╕рднреА рдЕрдВрддрд░ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдореБрдЦреНрдп рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╕рдВрд╡реЗрджрдирд╛рдУрдВ рдХреЛ рдХрд╣реВрдВрдЧрд╛ред


рдбрд┐рдмрдЧ рдореЗрдВ AR рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЪреВрдВрдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ, рд▓реЛрдб рдкрде рд╕реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдмрд╕ rails c рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, User.where(email: 'Kane@nod.tb').order(:id).first рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред


рдЕрдореГрдд тАЛтАЛрдореЗрдВ, рд╕рд╛рдВрддреНрд╡рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


  • рдПрдХ sql рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ import Ecto.Query, only: [from: 2] : import Ecto.Query, only: [from: 2] ;
  • рдЕрдкрдиреЗ рдкреВрд░реНрдг рдирд╛рдореЛрдВ рдХреА рд╡рд░реНрддрдиреА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВ:
    • alias MyLongApplicationName.User - alias MyLongApplicationName.User рдмрдЬрд╛рдп User рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП;
    • alias MyLongApplicationName.Repo - рдЗрд╕реА рддрд░рд╣ рдПрдХ рд╡рд░реНрдЧ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ sql рдФрд░ рд╡рд╛рдкрд╕реА рдкрд░рд┐рдгрд╛рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
  • рдФрд░ рдХреЗрд╡рд▓ рдЕрдм рдЖрдк from(u in User, where: u.email == "Kane@nod.tb") |> Repo.one рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ from(u in User, where: u.email == "Kane@nod.tb") |> Repo.one

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


рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо


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


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


рдПрди + рез


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


рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдлреАрдирд┐рдХреНрд╕ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд░реЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред


рд╣рд░ рдЬрдЧрд╣ рдХреЙрди


рдЪреВрдВрдХрд┐ рд░рд╛рдЬреНрдп рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдвреЗрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред ActionController рд╕реЗ request рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХред рдЙрд╕реЗ рдлреАрдирд┐рдХреНрд╕ connection рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реИ: request , flash , session рдФрд░ рд╕рдм рдХреБрдЫред рд╡рд╣ рдЙрди рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреА рдПрдХ рдХреЙрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред


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


рдЖрдВрд╢рд┐рдХ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ


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


рджреГрд╢реНрдп


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


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


 def render("show.json", %{groups: groups}) do %{ groups: groups } end 

рдФрд░ рдЖрдВрд╢рд┐рдХ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


Heplers


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


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


рд╕реНрдерд┐рддрд┐-рд╡рд┐рдЬреНрдЮрд╛рди


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


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


рдПрд╕реЗрдЯ


рдлреАрдирд┐рдХреНрд╕ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ - рдмреНрд░рдВрдЪ ред рдЖрдк рдЗрд╕реЗ рд╡реЗрдмрдкреИрдХ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдЪреНрдЪрд╛ рдордЬрд╛рдХ рд╣реИ рдХрд┐ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡реЗрдмрдкреИрдХ рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдореЗрдВ рдЭреБрдХрддреА рд╣реИрдВред


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, js рдФрд░ css рдХрдореЛрдмреЗрд╢ рдПрдХрддреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕реНрдереИрддрд┐рдХ рдХреЗ рд╕рд╛рде рдмреНрд░рдВрдЪ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдирд╣реАрдВ рд╣реИред рдпрд╛ рддреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╕реАрдзреЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ (рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдмрд┐рд▓реНрдХреБрд▓ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ), рдпрд╛ рдмреИрд╢ рдкрд░ рд╣реБрдХ рд▓рд┐рдЦреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ ред


рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


рдлреАрдирд┐рдХреНрд╕ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рдЫреЛрдЯрд╛ http рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╛рдЙрдмреЙрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд░реВрдмреА рдХреМрдЧрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреАрдерд╣рдм рдкрд░ рднреА рдЙрдирдХреЗ рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдореЗрдВ рднреА рдПрд╕рдПрд╕рдПрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд╣реАрдВ рдорд┐рд▓реАред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде , рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдлрд╛рдЗрд▓ рдФрд░ рдирд┐рдпрдорд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд╡реАрдиреАрдХрд░рдгред рдЗрд╕рд▓рд┐рдП рдПрдХ http рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ - рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди ssl рдХреЗ рд▓рд┐рдП рдореИрдВ Apache / nginx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд▓реЗрддрд╛ рд╣реВрдВред


рддреИрдирд╛рддреА


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


  • рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ mix.exs рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ mix.exs рдмрд┐рдирд╛, рдЕрджреНрднреБрдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ;
  • рдЖрдк рд╕реАрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЙрд╕ рд╕рдордп рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЙрд╕ рд╕рдордп рдирд╣реАрдВ рдЬрдм рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рдЬрдВрдЧрд▓реА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ; рдлрд┐рд░ рдЖрдк RELX_REPLACE_OS_VARS=true рдХреЗ рд╕рд╛рде RELX_REPLACE_OS_VARS=true рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ рдФрд░ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЬрд╛рдиреЗ рджреЗрдВ;
  • рдЖрдк рд╣реИрд░рд╛рди рд╣реИрдВ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдкреИрдХреЗрдЬ рдореЗрдВ рд░реЗрдХ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЗрд╡ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдпрд╛ eDeliver рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬреЛ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд░реЗрдВрдЧреЗ) ред

рдФрд░ рдлрд┐рд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:


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

рдбрд┐рдмрдЧ


рдЕрдореГрдд тАЛтАЛрдореЗрдВ рдкреЗрд░реА рд╣реИ рдФрд░ рдорд╛рдгрд┐рдХ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ rails c рдкреНрд░рддрд┐рд░реВрдк рднреА рд╣реИ рдЬреЛ iex -S mix рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред


рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ mix рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд░реЗрд▓ рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдФрд░ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЖрдк рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЕрдореГрдд рдХрдВрд╕реЛрд▓ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдЧреБрдЧрд▓реА рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд░реЗрд▓ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ: iex --name trace@127.0.0.1 --cookie 'from_env' --remsh 'my_app_name@127.0.0.1' ред


рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ...


рдлреВ, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХреБрдЫ рднреВрд▓ рдЧрдпрд╛ред рдУрд╣ рдареАрдХ рд╣реИред рдЖрдк рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдПрд▓рд┐рдХреНрдЬрд┐рд░ рдкрд░ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

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


All Articles