рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдбрд░реНрдмреА.рдЬреЗрдПрд╕


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




рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдЧреНрд░рджреВрдд



рдкреЛрд╕реНрдЯ рдХреЛ Habr├й рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд░реНрдмреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдмрдирд╛рдпрд╛ рд╣реИ ред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдпрд╣рд╛рдБ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирдореВрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ ред рдпрд╣рд╛рдБ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рд╛рдорд╛рдиреНрдп, рдореБрд╢реНрдХрд┐рд▓ рдмрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг Coffeescript рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ js рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд▓реЛрдЧ рд╣реА рдЗрд╕рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ 12341243 рдлреЙрд░реНрдо рдореЗрдВ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реЛрдЧрд╛ред

рдбрд░реНрдмреА рдРрдк



рдкреНрд░рддреНрдпреЗрдХ рдбрд░реНрдмреА рдЖрд╡реЗрджрди рдПрдХ рдмрдврд╝рд╛рдпрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЖрд╡реЗрджрди рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдк connect.js, рд╕рд░реНрд╡рд░ рдорд╛рд░реНрдЧреЛрдВ рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдбрд░реНрдмреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдПрдХреНрд╕рдкреНрд░реЗрд╕) рдФрд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдкрд╣рд▓рд╛ рдирд┐рд╡реЗрджрди



рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░, рд╡рд╛рдВрдЫрд┐рдд рдорд╛рд░реНрдЧ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрдиреНрди HTML рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд░реНрдмреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЯреЗрдореНрдкрд▓реЗрдЯ, рдореЙрдбрд▓, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд░, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╣рд▓реЗ html рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдЧрд▓реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, url рдмрджрд▓рддреЗ рд╕рдордп, рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ html рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ js рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рд░реВрдЯ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ HTML рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рдХреА рддрд░рд╣ред

рдорд╛рд░реНрдЧреЛрдВ



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

рдПрдЪрдЯреАрдПрдордПрд▓



рдбрд░реНрдмреА рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рд╣реИ - рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реИрдВрдбрд▓рдмрд╛рд░ ред рдЬреЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИред

рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдбрд╛рдпрдирд╛рдорд┐рдХ (HTML рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди)
<input type="text" value="{_page.name}" />, <h2>{users.12431243.age}</h2> 

рд╕реНрдерд┐рд░ (рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдФрд░ рднреВрд▓ рдЧрдпрд╛)
 <input type="text" value="{{_page.name}}" />, <h2>{{users.12431243.age}}</h2> 


рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЕрдиреБрднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: Tille, Head, Body, Footer, Scripts, рдЖрджрд┐ред рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЖрдЙрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╣реЗрдб рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рд╡реЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВ), рдФрд░ рдЕрдиреНрдп рдореЗрдВ рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖рдХ рдФрд░ рдмреЙрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдЖрджрд░реНрд╢



рдореЙрдбрд▓ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╣реИред рд╕рднреА рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдореЙрдбрд▓ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рджреЛрдиреЛрдВ рдкрд░ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░ рдХрдИ рдореЙрдбрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдПрдХред
рд╕рд░реНрд╡рд░ рдкрд░ рдореЙрдбрд▓ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
 model = req.getModel() 

рдпрд╛ рд╕реНрдЯреЛрд░ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛
 model = store.createModel() 

рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рдореЙрдбрд▓ рд╣рдореЗрд╢рд╛ рдпрд╣рд╛рдБ рд╣реИ:
 model = require('derby').app.model 


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

рдкрде



рд╕рднреА рдбреЗрдЯрд╛ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрдЧреНрд░рд╣, рдЖрдИрдбреА рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 user = model.get 'users.12341234' userName = model.get 'users.12341243.name' model.set 'customers.12341234.properties.isIdiot', true model.set 'customers.12341243.properties', {justMadeOrderForBillionDollars: true, isIdiot: false} 


рд▓рд╛рдпреЗрдВ, рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ



рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╕рдордп, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
 emptyObject = model.get() 

рдЗрд╕реЗ рд▓рд╛рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред
рд▓рд╛рдиреЗ - рдмрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЙрдбрд▓ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред
 model.fetch 'product.12341243', 'users', -> console.log '        ' 

рд╕рджрд╕реНрдпрддрд╛ - рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдмрд╛рдВрдзрддрд╛ рд╣реИ
 model.subscribe 'products', -> console.log '  ' 

рдЕрдм рдЕрдЧрд░ рд╣рдо рдореЙрдбрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдмрджрд▓рддреЗ рд╣реИрдВ
 model.add 'products', {name: 'Awesome brand new product'} 

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

рдкреНрд░рд╢реНрдиреЛрдВ



рдЖрдкрдХреЛ рдкреВрд░реЗ рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрдпрди рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
 ids = model.get '_page.ids' $customersWithSomeIdQuery = model.query 'customers', {'id' => { "$in" => ids}} model.subscribe $customersWithSomeIdQuery, -> myCustomers = model.get $customersWithSomeIdQuery 


рдкреНрд░рддреНрдпреЗрдХ db рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдЧреЛ рдкреНрд░рд╢реНрдиред

рджреБрдХрд╛рди



рдПрдХрд▓ рдХреЙрдкреА рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рд╕реЗ рд╕рднреА рдореЙрдбрд▓ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЬрд╛рджреВ рд╣реЛрддрд╛ рд╣реИред
рд╕реНрдЯреЛрд░ рд╕рднреА рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░рдЪреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗрдм рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреЗ рдЖрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдУрдЯреА рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред Gmail рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░рдЪреИрди "Google рд╕реЗ socket.io" рд╣реИред
Share.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдСрдкрд░реЗрд╢рдирд▓ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЧреНрд░рд╛рд╣рдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдСрдлрд╝рд▓рд╛рдЗрди рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдореЙрдбрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдирдХрд╛ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЕрдиреНрдп рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдпрд╣ рдПрдХ рд╕рдордп рдореЗрдВ Google рд╡реЗрд╡реНрд╕ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (OT рдореЗрдВ share.js рдФрд░ Google Waves рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЗ рд╕рдорд╛рди рд╣реИред

рд▓рд╛рдЗрд╡ рдбреА.рдмреА.



рд▓рд╛рдЗрд╡-рдбреАрдмреА рд╢реЗрдпрд░.рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╣реИред рджреЛ рднрд╛рдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирддрд╛ рд╣реИ:
1) рд░реЗрдбрд┐рд╕ - рдЖрд╡рд╢реНрдпрдХред Share.js рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдкрдм-рдЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЛрдВрдЧреЛ рдореЗрдВ рдкрдм-рдЙрдк рдореЗрдВ рдХрдИ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ (рд╕рдВрдЧреНрд░рд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) , рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдЧрддрд┐ рдФрд░ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреА рдХрдореА рдХреЗ рд╕рд╛рде рд░реЗрдбрд┐рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред рд░реЗрдбрд┐рд╕ рдореЗрдВ рднреА рд╣рд╛рд▓ рдХреЗ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХрд╛ рдПрдХ рдХреИрд╢ рд╣реИ (рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рддрдирд╛)ред рдпрд╣ рдХреИрд╢ рдЖрдкрдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдСрдлрд╝рд▓рд╛рдЗрди рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
2) рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗрд╡рд▓ Mongo DB рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рд╣реИред рдПрдбреЗрдкреНрдЯрд░ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рд╕рднреА рдСрдкрд░реЗрд╢рди рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░



рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░:
рд▓рд╛рдЗрд╡-рдбреАрдмреА рдПрдХ рдЗрд╡реЗрдВрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдФрд░ рдореЛрдВрдЧреЛ рдкрд░ рдПрдХ рдЖрд╡рд░рдг рд╣реИред
share.js рд▓рд╛рдЗрд╡-рдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдУрдЯреА рд╣реИ
рд░реЗрд╕рд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ: рд╕реНрдЯреЛрд░, рдореЙрдбрд▓ред Share.js рдХреЗ рдЖрдзрд╛рд░ рдкрд░
рдбрд░реНрдмреА рдорд╛рд░реНрдЧ (рдЯреНрд░реИрдХ), рдЯреЗрдореНрдкрд▓реЗрдЯ, рджреГрд╢реНрдп рд╣реИрдВред

рдЖрдк рд▓рд╛рдЗрд╡-рдбреАрдмреА, рд╢реЗрдпрд░.рдЬреЗрдПрд╕, рд░реЗрд╕рд░, рдЯреНрд░реИрдХреНрд╕, рдЖрджрд┐ рднрд╛рдЧреЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд░реЗрд╕рд░ рдХреЛ share.js, рдпрд╛ share.js рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд▓рд╛рдЗрд╡-рдбреАрдмреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рд░реЗрдмреАрд░ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдбрд░реНрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдбрд░реНрдмреА рд░реЗрд╕рд░ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред

рд╕реНрдХреЗрд▓рд┐рдВрдЧ



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

рдЕрдиреНрдп рдХреНрдпрд╛ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реИрдВ?

Derby.js рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдордЧреНрд░реА

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


All Articles