рд╣рдо рд▓реБрдЖ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреНрдпреЛрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рд╣рд╛рдп, рд╣реИрдмреНрд░ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо IPONWEB рдкрд░ рд╕реБрдВрджрд░ рдирд╛рдо Lua рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

Lua рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реАред рдореЗрдВ рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рджреБрднрд╛рд╖рд┐рдпрд╛ рдФрд░ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рдЗрд╕реЗ рдмреНрд░рд╛рдЬреАрд▓ рдореЗрдВ 1993 рдореЗрдВ рдХреИрдереЛрд▓рд┐рдХ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рд░рд┐рдпреЛ рдбреА рдЬрдиреЗрд░рд┐рдпреЛ рдХреЗ Tecgraf рдбрд┐рд╡реАрдЬрди рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рдХреЗ рдкреВрд░реНрд╡рдЬ DEL (Data-Entry Language) рдФрд░ SOL рдереЗред (рд╕рд┐рдВрдкрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реИрдВрдЧреНрд╡реЗрдЬ) рдкрд╣рд▓реЗ рд╡рд╣рд╛рдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИред рдкреВрд░реНрд╡рдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдПрд╕рдУрдПрд▓ рднрд╛рд╖рд╛, рдиреЗ рдирд╡рдЬрд╛рдд рд╢рд┐рд╢реБ рдХреЗ "рдмрдкрддрд┐рд╕реНрдорд╛" рдореЗрдВ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ - "рд╕реЛрд▓" рдХреЛ рдкреБрд░реНрддрдЧрд╛рд▓реА рд╕реЗ "рд╕реВрд░реНрдп" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдирдИ рднрд╛рд╖рд╛ рдХреЛ "рд▓реВрдЖ", "рдЪрдВрджреНрд░рдорд╛" рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ред

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

рдХреНрдпреЛрдВ рд▓реБрдЖ?


IPONWEB рдСрдирд▓рд╛рдЗрди рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдВрдкрдирд┐рдпреЛрдВ: DSP, SSP, рд╡рд┐рдЬреНрдЮрд╛рдкрди рдПрдЬреЗрдВрд╕рд┐рдпреЛрдВ рдФрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрдирджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рд╣реИред рд╣рдордиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХреАред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ C ++ рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП, рд▓реЗрдХрд┐рди рдЬрд▓реНрджреА рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐, рдФрд░ C ++ рд╡рд┐рдХрд╛рд╕ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдИред рд╣рдордиреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд░реНрд╡рд░ рдХреЛрдб рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рднрд╛рд╖рд╛ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА рдФрд░ рд▓реБрдЖ рдкрд░ рдмрд╕ рдЧрдПред рдпрд╣ 2008 рдореЗрдВ рдерд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдереЗ, рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рдереЗ, рдкрд░реНрд▓, рдкрд╛рдпрдерди рдФрд░ рд░реВрдмреА рдмрд╣реБрдд рдзреАрдореА рдереА рдФрд░ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ред рдФрд░ рд▓реБрдЖ рднрд╛рд╖рд╛ рдереА, рдЬреЛ рдЦреЗрд▓ рджреЗрд╡ рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз, рд▓реЗрдХрд┐рди рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рдереА, рдФрд░ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗ рд╡рд╣ рдЦреЗрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд╕рдорд╛рди рдереА - рд╣рдореЗрдВ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬрд╝ рдЗрдВрдЬрди рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди-рд╕реЗ-рддреЗрдЬрд╝ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рд▓реБрдЖ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рддреЗрдЬ рднрд╛рд╖рд╛ рд╣реИред LuaJIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реГрджреНрдзрд┐ рд╣рд╛рд╕рд┐рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ , Lua 5.1 рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдиреБрд░реЗрдЦрдХ JIT рд╕рдВрдХрд▓рдХ рд╢рд╛рдорд┐рд▓ рд╣реИ (рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛ )ред рдЪреВрдВрдХрд┐ рд╣рдо рдЖрд░рдЯреАрдмреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЧрддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдЖрд░рдЯреАрдмреА рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд╕рддрди 120 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 10-15 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдХреА рд╕рдордп рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рд╕рд╛рдЗрдЯ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЖрдзреЗ рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рднреА рдирдЬрд╝рд░ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рддреЛ рдЖрд░рдЯреАрдмреА рдХреЗ рд▓рд┐рдП рдпреЗ 500 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдЕрд╡рдзрд┐ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛрддреА рд╣реИред рд▓реБрдЖ рдХрд┐рддрдиреА рддреЗрдЬ рд╣реИ, рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд┐рдЦ рд╕рдХреЗрдВ рдФрд░ рдЖрд░рдЯреАрдмреА рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдмрдиреЗ рд░рд╣реЗрдВред рдЕрдЧрд░ рд╣рдордиреЗ рдЬреЛ рднрд╛рд╖рд╛ рдЪреБрдиреА рд╣реИ, рд╡рд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рдереА, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдордВрдЪ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ RTB рдХреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд▓реБрдЖ рдореЗрдВ рдЖрд░рдЯреАрдмреА рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдкрд░ Lua рдХреА рдЧрддрд┐ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдпрд╣ OpenResty рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИ ред

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

рдпрд╣рд╛рдБ рд╡рд┐рдЬреНрдЮрд╛рдкрди рджрд░реНрд╢рдХреЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред

-- deal: ,  ,      --     ( ,    ..) -- imp:   (impression opportunity),  --       local function can_be_shown(deal, imp) local targeting = deal.targeting --    if not targeting then return true end --         -- (,    ,   ): if targeting.media_type then if not passes_targeting(targeting.media_type, imp.details.media_type) then return false end end --        : if targeting.size then if not passes_targeting(targeting.size, imp.details.sizes) then return false end end return true end 

рдФрд░ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реИрдВрдбрд▓рд░ (рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░) рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

 local adm_cache = require 'modules.adm_cache' -- adm = "ad markup" local config = require 'modules.config' local util = require 'modules.util' local AbstractHandler = require 'handlers.abstract' local ImpRenderHandler = AbstractHandler:new({is_server_request = false}) local IMP_RENDER_TEMPLATE = config.get('imp_render_template') local IMP_RENDER_BILLING = {name = 'free', type = 'in'} --   ,  . --   ( ,   ) . --          . function ImpRenderHandler:handle(params) local user_id = self.uuid local cache_id = get_param('id') if not cache_id or cache_id == '' then return self:process_bad_request({reason = '"id" parameter is expected', user_id = user_id}) end local adm = adm_cache.get(cache_id) if not adm then return self:process_bad_request({reason = 'No adm in cache', user_id = user_id}) end update_billing(IMP_RENDER_BILLING) self:log_request('imp_render', {adm = adm, user_id = user_id, cache_id = cache_id}) local content = util.expand_macro(IMP_RENDER_TEMPLATE, {ADM = adm}) return {200, content = content} end return ImpRenderHandler 

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

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

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


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

рдЫрд╡рд┐

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



рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЬрд╛рдВрдЪ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
  2. рдХреЛрд░реБрдЯрд┐рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рдЕрдВрджрд░, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрдИ рдХреЛрд░рдЖрдЙрдЯ рд╣реЛрддреЗ рд╣реИрдВред
  3. рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреЛ рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
    • рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖред
    • Corutin рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрд░рдЖрдЙрдЯ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрдм рддрдХ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдЖрддреА рдпрд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХреЙрд░рдЯреАрди рдХрд╛ рдХрд╛рдо рдирд┐рд▓рдВрдмрд┐рдд рд░рд╣рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕рд░реНрд╡рд░ рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рдирдпрд╛ рдЕрдиреБрд░реЛрдз рдпрд╛ рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдХреНрд░рдо рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред


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

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?


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

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

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


All Articles