
рд╢рд╛рдо рд╣реЛ рдЧрдИ рдереА, рдХреБрдЫ рдХрд░рдирд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдкрд╛рдареЛрдВ рдХреЗ рдкреНрд░рдореБрдЦ рдиреЗ рдЖрд░рд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ ... рдпрд╣ рдкрдж рд╡рд┐рд╢реБрджреНрдз рд╢реИрдХреНрд╖рдгрд┐рдХ рд░реБрдЪрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдЬрдм рдЙрдирдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдЧреНрд░рд╛рд╣рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдпрд╣ рдПрдХ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЖрдзрд╛рд░ MySQL рд╣реИред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ (PHP рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ, рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо JSON рдлреЙрд░реНрдо рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк MySQL рдХреЗ рд▓рд┐рдП рдПрдХ DBSlayer рдкреНрд░реЙрдХреНрд╕реА рд╣реИред рдЬреЛ рдХреЛрдИ рднреА рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рдореИрдВ рдЙрд╕реЗ рдирд╣реАрдВ рдмрддрд╛рддрд╛: рдореИрдВ рдиреНрдпреВ рдпреЙрд░реНрдХ рдЯрд╛рдЗрдореНрд╕ рдХреЗ рдмрд╛рдЙрд▓ рдореЗрдВ рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд▓реЛрдб рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк
code.nytimes.com/projects/dbslayer/wiki/WhyUseIt рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред DBSlayer рдПрдХ JSON- рдЖрдзрд╛рд░рд┐рдд API рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ NodeJS рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рднреА рдирд╣реАрдВ рд╣реИред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд BASH рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЦреИрд░, рдореИрдВ рдЗрд╕ рднрдЯрдХрд╛рд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рдФрд░ рдХрд╛рд░реНрдп, рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд╣рд▓ рд╣реИ, рдХреЛрдИ рднрд╛рд░ рдирд╣реАрдВ рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕рдорд╛рдзрд╛рди рдХреЗ рдЕрдиреНрдп рдЦреБрд╢рд┐рдпрд╛рдБред PHP рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдереЛрдбрд╝рд╛ рдердХ рдЧрдпрд╛ рд╣реИ, рдЖрддреНрдорд╛ рдиреЗ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд┐рдзрддрд╛ рдФрд░ рдХреБрдЫ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдореИрдВрдиреЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, BASH рдкрд░ рдПрдХ HTTP рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рд╕рд░рд▓ рдкрд░рдд рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЗрдЯрдХреИрдЯ, рдмреИрд╢ рдкрд░ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ, рдПрдХ WEB рд╕рд░реНрд╡рд░ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╣рдм рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреЛрд╕реНрдЯ рднреА рдереЗред рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓реЗрддреЗ рд╣реБрдП рдФрд░ рдЗрд╕реЗ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрддреЗ рд╣реБрдП, рд╣рдо рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдореЗрдВ рдмреИрд╢
рдШреБрдЯрдиреЗ рдкрд░ рдбреАрдмреАрдПрд╕рд▓реЗрдпрд░ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдПрдирд╛рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╢рдмреНрджреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рддрдХ ...
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо mysql рдХрдВрд╕реЛрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ JSON рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрдиреНрд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреЗрдВрдЧреЗ:
cat ~/bin/mysql2json.sh
рдпрд╣ рдмрд╕ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
mysql -e "SELECT * FROM `mytable`" | ./mysql2json.sh {"fields":["field_1","field_2","field_3"],"data":[["1","2","3"],["4","5","6"],["7","8","9"]]}
рдЕрдм рд╕рд░реНрд╡рд░ рдХреЛрдб рд╣реА, рдЬрд┐рд╕реЗ рд╣рдордиреЗ dbjs.sh рдлрд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рд╣реИ:
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рд╣реАред рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрддреЗ рд╣реИрдВ:
[ bash: ./dbjs.sh listening on [any] 8880 ...
рдЕрдЧрд▓рд╛, рд╣рдо рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рдкрд░, рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддрд╛ рд╣реИ:
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ: рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП: рдХреНрдпреЛрдВ?, рдореИрдВ рддреБрд░рдВрдд рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛: рдкреНрд░рд╢рдВрд╕рдХ рдХреЗ рд▓рд┐рдПред рдЬреАрд╡рди рдореЗрдВ рдЖрдирдВрдж рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдРрд╕реЗ рдЧреИрд░-рдорд╛рдирдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред