Habr ááẠá¡ááœááºážááá¯ááºážá០áááºááá¯á·ááœá²á·á
ááºážáá¯á¶á á¡áá¯ááºá¡ááœá¬ážá¡áá¬ááᯠáááºááá¯á·ááœá²á·á
ááºážáá¯á¶á áááºááœááºáá±ážá
áá
áºááœá²á·á
ááºážáá¯á¶á áááºááá·áºá
á¶ááŸá¯ááºážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯áááºááŸáá·áº á€áá±áá¬ááœáẠáá¯ááºááᯠáá±áá°áá»áá±ážáá¬ážáá¯á¶ááá¯á·ááᯠáá»áœááºá¯áẠá¡ááŒá²áááºáž á
áááºáááºá
á¬ážáá²á·áááºá áá¶áá±á¬ááºážáá±á¬ááºáá
áœá¬á áá»áœááºá¯ááºááẠáááŒá¬áá±ážáá®á habra á¡ááœá²á·ááœáẠáá«áááºáá¬áá±á¬ááŒá±á¬áá·áº ááá¯ááá¯á·áá±á¬á¡ááœáá·áºá¡áá±ážááᯠáá»áœááºá¯ááºááá²á·áááºá ááá¯ááá¯ááºážáá¬ážááŸááºážá áá±ážáááºáá±á¬ ááŒááºáááºááŒááºáááºááŸá¯ááá°áá¬ááᯠá¡áá¯á¶ážááŒá¯á ááŸá±á·ááœáẠá€áá±áá¬ááœáẠá¡áá¯ááºáá¯ááºááááºááŸá¬ á¡áááºáááºážáá°ááá·áº áá±ážááœááºážááᯠáá»áœááºá¯ááºááŒá±ááẠááŒáá¯ážá
á¬ážáá«áááºá á¡á
á®á¡á
ááºááœááº- Habr ááœáẠááá¯ááºáá±ážááá¯ááºáá¬á¡ááœá±á·á¡ááŒá¯á¶á¡ááŒá±á¬ááºáž ááŸááºá
á¯áá»á¬ážá០áá±á¬á·á
áºáá»á¬ážááŒáá·áº Nodeá Vueá Vuex ááŸáá·áº SSRá
ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááœá²á·á¡ááŒá±á¬ááºáž áááºáááá¬ážáááá·áº ááááá¯á¶ážá¡áá»ááºááŸá¬ áá»áœááºá¯ááºááá¯á·áá²á០á¡áááºážáááºáá¬ááŸááááºá ááá¯á¶áá±á¬ááºáá« - áááºážááá¯á·ááẠáá»ááºááŸá¬á á¬áá¯á¶ážáá¯á áá±á¬ááºáá»á±á¬ááŸá áºáá¯ááŸáá·áº Habr - Baxley á¡á¬ážáá¯á¶ážá áááºážááá¬ááá¯ááºáᬠáŠážáá±á¬ááºááŸá¯ááŒá áºáááºá á ááºážáááºáá°á áá®ááá¯ááºáá¬áá áºáŠážá Vadim áá¯á¶ážáŠážá á¡á¶á·ááœááºáá¶ááŒááºá ááºážá á á»á±ážááœááºááŸá¬ááœá±áá±ážáá»áœááºážáá»ááºáá°ááŸáá·áº á¡ááŒá¬áž Bumburums áá»á¬ážáááºáž ááŸááá«áááºá ááá¯á·áá±á¬áº Habr áá¡áááºážá¡ááŒá áºáá»á¬ážááᯠááá¯ááºááá¯ááºáá¶á·ááá¯ážáá±ážáá° ááŒá±á¬ááºáŠážáá¬ááŸááááºá á€á¡áá¬ááẠá¡ááœááºááŸá¬ážáá«ážááẠ- á¡ááŒááºáááºááŸááŒáá·áºááááºááŸá¬ á§áá¬ááá¯ááºáááºážááŒá®ážáá áºáá¯ááŸáá·áºáá°ááá·áº áá±á«áºáá¬áááºážáá±á«ááºážáá»á¬ážá áœá¬áááºáá±á¬ áááááºáááºáá«ááŸááá±á¬ ááá±á¬áá»ááºáá áºáá¯ááŒá áºááŒá®áž áááºááœá±á·ááœáẠá¡ááŒáá·áºááŒá°ážáá¯á¶ážááŒá áºááá¯ááºáá±á¬ á¡ááœá²á·á¡á ááºážááœá²á·á ááºážáá¯á¶ááŒáá·áº ááááºáá¶áá¯ááºáááºážá áááºááá·áºáá¯á¶á á¶ááŸáá·áº ááá¯áá°áá«áááºá
á¡ááŒá¬ážáá±á¬ á¡áá¯ááºáá®áá¯áá¹ááá®áá»á¬ážáá²á·ááá¯á·ááẠHabr ááẠááœááºáááºáá±á¬ á¡ááœá±ážá¡áá±á«áºáá»á¬ážá CI áá»áá·áºáá¯á¶ážáá»á¬áž ááŸáá·áº ááŒáá·áºá á¯á¶áááºá áá«áá±ááá·áº áá»áœááºáá±á¬á·áºáá¶á á¬ážáá»ááºá¡á Habr áᬠáá¯ááºáá¯ááºáá áºáá¯á¡áá±áá²á· á ááºáááºáááŒááºááẠááŸáá¯ááºážááœá±ááá¯ááŒá®áž ááá¯ážáááºáá±áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áááºááá¯ááºááŒá±ážááŒááºážáá»á¬ážá áœá¬á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá áºá á¯á¶áá áºáá¯ááᯠáá¯ááºáá¯ááºáᬠáá®ááá¯ááºážááŸáá·áº ááŒááºáááºáá®ááá¯ááºážáá¯ááºáá¬á áá áºáá¯áá¯ááᯠáá»áá¯ážáá»ááºáᬠááŒá¯ááŒááºáá¬á áááºááŸááºáá»á¬ážááᯠááŒá±ááŸááºážáᬠá¡áá áºáá»á¬ážááᯠáááºáá®ážáá¬á ááœááºáá¯á¶ážáá±á«áºáááºáᬠááŒá±áá±á¬ááºááᯠáá áºáááºááá¯ááºáᬠáá±á¬ááºáá¯á¶ážááœáẠá¡ááºá¹áá«áááºááᯠáá¯ááºááœáŸááºáá±ážáááºá¡ááœááºá áá¯ááºáá¯ááºááŸá¯á ááá¯á·áá±á¬ááºááœáẠá¡áá»áá¯á·áá±á¬ ááááááºáá¯á¶á ááŒááºáááºáááºáá±á¬ááºááŸá¯áá¬áá âá¡áá±ážáááŒá®áž-á¡áá±ážáááŒá®ážááá¯ááºâ áá±ážáá±á¬áá·áºááœááºá¡ááœááºážááŸááá±á¬á¡áá¬ááᯠáá¯ááºáá±á¬ááºááẠá¡áá»áááºáá áºáᯠáá±á¬ááºáá¬áááºá
áááºážááẠá¡á±á¬ááºááœáẠááœá±ážááœá±ážááá·áº ဠ"áá¬áá®ááááº" á¡ááŒá±ážááŒáá¯ááºááœá² á¡ááá¡áá»ááŒá áºáááºá ááá¯áá áºááŒáááºááœáẠáááºážááẠHabr á ááá¯ááá¯ááºážáá¬ážááŸááºážááᯠááŒááºáááºááŒááºáááºááŒááºáž áá«áááºáááºá áá±áá¯áá»á¡á¬ážááŒáá·áºá áá¯áá¹ááá®ááẠáááºážá¡ááœáẠáá»áŸá±á¬áºááá·áºáá»ááºááŒá®ážááŒá®ážáá¬ážáá¬ážááŸáááŒá®áž á¡áá¬áááºááœáẠáááºážááẠHabr á áá°á·áá¬áááá¶áá°ááá·áºáááá á¹áá¬ááºáá¯á¶áá áºáá¯áá¯á¶ážááᯠá¡á á¬ážááá¯ážáᬠuniversal cross-platform ááŒá±ááŸááºážáá»ááºáá áºáᯠááŒá áºáá¬áááºááŒá áºáááºá áá áºáá±á·áá±á·ááœáẠááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬ á¡ááŒááºá¡áááºá PWAá á¡á±á¬á·ááºááá¯ááºážáá¯ááºá á¡áá¯á¶ážááŒá¯áá°á áááºááŒáá¯ááºááŒá¯áá¯ááºááŒááºážááŸáá·áº á¡ááŒá¬ážá áááºáááºá á¬ážááœááºá¡áá¬áá»á¬ážá áœá¬ ááŸááááá·áºáááºá
á¡áá¯ááºáá áºáá¯ááᯠáááºááŸááºááŒáá«á áá¯á·
áá áºáá«á áá¬ááẠáááºáááºáááºáá²á· á¡áá»áááºááŸá¬ ááŸá±á·áá¯á¶ážá áá áºáá±á¬ááºá ááá¯ááá¯ááºážáá¬ážááŸááºážáá²á· ááŸááºáá»ááºá¡á áááºá¡ááá¯ááºážáá²á· áááºáá±á¬ááºáá¯á¶ááá¯ááºáᬠááŒá¿áá¬ááœá±ááᯠááŒá±á¬áá²á·áá«áááºá áá«ááᯠá áááºáá²áá¬ážááŒá®ážá á¡ááœá²á·á áááºáá±á¬áá«áá¯áá¯á¶ážáá¯á¶á á¶áá²á· ááá¯ááºáááá¯á¡á ááºážá¡áá±ážáá áºáá¯ááᯠá á®á ááºáá²á·áááºá áááºáá°áá០áááºáá¯ááºáá®ážáá¯á¶áááœá²ááá¯á· áá°ááá¯ááºážá á á¬ááœááºáá±á«áºááŸá¬ ááŸááºáááºážáááºáá¬ážáááºá ááá¯ááºáá»ááºážá á¬áááºá áá¬ážáááºáááºá ááááºááŸá¬ ááá¯ááá¯ááºážáẠHabr ááẠá¡á±á¬ááºááŒááºááŸá¯áá®ááá¯á· ááŸááºáá»á¬ážááŒá®áž áááºáá²ááŒááºážáááºážáá±á¬ áááºážááŒá±á¬ááºážááŸááá±áá²ááŒá áºááŒá±á¬ááºáž ááŸááºážááŸááºážáááºážáááºážááŒá áºá á±ááá·áº ááŒá¿áᬠ20 áá á¬áááºážááŒá áºáááºá
á¡áááºážá¡ááŒá áºá¡áá¯á¶ážááŒá¯ááŸá¯ááááá±á¬ááºááŸá¯ááŸáá·áºáá»á±á¬ááœá±á·áá±á¬á¡ááºáá¬áá±á·á áºáá¯áá±á«áºáááºááá¯á·ááá¯áá»áœááºá¯ááºá¡áááá áá¯ážááááºáá²á·áááºá áá±á·á ááºá á¡áááºá¡áá¯ááº-á¡áááºá¡ááŒááºáááºážááœááºá áá»áœááºá¯ááºááá¯ááºážáá±á¬ááºážááẠááááºááœáẠáá±á«ááºážá ááºáž 20 ááá¯ááŒáááẠá¡áááºážá¡áááºááŒáá¯ážá á¬ážáá±áááºááᯠááœá±á·áá²á·ááááºá á€á¡áá¬ááẠá€áá²á·ááá¯á· ááŒá áºáááº-
ááŒááºáááºáááŒááºáááºáá® Mobile Habr áá»ááºááŸá¬ááŒááº
áá®ááŸá¬áá¬ááœá±ááŒá áºáá±áá¬áá²? á¡ááá¯áá»á¯ááºá¡á¬ážááŒáá·áºá áá¬áá¬ááẠá¡áá¯á¶ážááŒá¯áá° á¡áá±á¬áá·áºáááºáááºááŒá áºá á±á ááááºáááºááŒá áºá á± áá°ááá¯ááºážááᯠHTML á á¬áá»ááºááŸá¬ááᯠáá°áá®áá±á¬áááºážááŒáá·áº áá±á¬ááºááœááºáá±ážáá«áááºá ááá¯á·áá±á¬áẠclient JS ááᯠáááºááŒá®áž ááá¯á¡ááºáá±á¬áá±áá¬ááᯠáááºáá¶áá±á¬ááºážááá¯áá±á¬áºáááºáž ááœáá·áºááŒá¯áá»ááºá¡ááœáẠááŒááºáááºáá¬ážáááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠáá°áá®áá±á¬á¡áá¯ááºááᯠááŸá áºááŒáááºáá¯ááºáá²á·áááºá á¡ááºáá¬áá±á·á áºááẠááá»ááºáá»ááºáá»ááºáááºááœá¬ážáᬠáá¯á¶ážá áœá²áá°ááẠáá±á¬ááºážáá±á¬ áá®ááá¯ááá¯ááºáá áºáá¬ááᯠáá±á«ááºážáá¯ááºáá¯ááºáá²á·áááºá á¡á á á¡áá¬áᬠá¡áá±ážá áááºááŒáá·áºáá»áŸáẠááá¯ááŒá±á¬ááºá áá¬áá±á¬ááºážáááºá
SSR-CSR á¡á á®á¡á ááºáá±á¬ááºážá Node JS ááẠHTML áá¯ááºáá±ážáá¬ááœáẠá¡áá¯ááºááŸá¯ááºááá±áá² API ááá¯á· proxy áá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá±á¬á¡áá«ááœááºáᬠááœáá·áºááŒá¯áá»ááºááẠC3 ááŸáá·áº C4 á¡ááá·áºáá»á¬ážááœááºáᬠááŒá áºááá¯ááºáááºá
ááá¯á¡áá»áááºá áá»áœááºá¯ááºááá¯á·ááááá¯áá¬áááºáá¬ááᯠHabr á¡áá¯á¶ážááŒá¯áá°áá áºáŠážá០á¡ááœááºáááá»á áœá¬áá±á¬áºááŒáá²á·áááº-
ááá¯ááá¯ááºážáá¬ážááŸááºážá ááá¯ááºáááºá áá«á¡á²ááá¯ááŒá±á¬áá±áá¬á ááŒá±á¬ááºáááºááœááºáá±á¬ááºážáá±á¬ SSR ááŸáá·áº CSR áá±á«ááºážá ááºááŸá¯á
áááºáá±á¬ááºáá² áááºážáááºážáá±áá«á á± áááºáá¶ááááºá
ááœá±ážáá»ááºá áá¬áá»á¬ážááᯠá¡áá²ááŒááºááŒá®áž "ááá±á¬ááºážáá«áá°áž á¡áá¯áá¯ááºáá«á ááŸááºá¡á±á¬ááºáá¯ááºáá«" á¡ááá·áºááŸá¬ áá±á¬áºááŒáá»ááºáá áºáá¯áá²á· Jira ááŸá¬ áááºááŸááºáá áºáá¯ááᯠáááºáá®ážááŒá®áž á¡áá¯ááºáá áºáá¯ááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áº ááŒáá¯ááœá²á á±áá«áááº-
- áá±áá¬ááŒááºáá¯á¶ážá
- ááŒááºáááºáá±ážááœá²ááŸá¯ á¡áá±á¡ááœááºááᯠáááºážáá«ážá¡á±á¬ááºá
- áááºáá±áá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºááŸá¬ážáááºá
- loading áá¯ááºáááºážá ááºááᯠááá¯ááá¯áááºááŸá¬ážá á±áááºá
áá±áá¬ááᯠááŒááºáá¯á¶ážááŒáá·áºáá¡á±á¬ááº
áá®á¡áá¯áá®á¡áá server-side rendering ááẠááŒá¿áᬠááŸá
áºáá¯ááᯠááŒá±ááŸááºážááẠáá®ááá¯ááºážáá¯ááºáááº- ááŸá¬ááœá±áá±ážá¡ááºáá»áẠááá·áºáááºáá»ááºáá»á¬ážááŒá±á¬áá·áº ááá¶á
á¬ážáá
á±áááºá
áááºážááá¬ááœááºážáá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ ááŒá±á¬ááºááŸá áºáá»á±á¬áºááŒá¬áá¬áá²á·áá±á¬áºáááºážá á€á¡áá»áááºá¡ááœááºáž ááŸá±á·áá¯á¶ážááá¹áá¬ááŸá áá¶áá¬ážá¡á±á¬ááºááœáẠáá±á¡áá»á¬ážá¡ááŒá¬áž á á®ážáááºážáá±áá±á¬áºáááºáž developer á¡áá»á¬ážá¡ááŒá¬ážá¡ááœáẠá€á áááºáá°ážááẠáá»áŸáá¯á·ááŸááºáá¬ážáá²ááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá±ážáááºááá±áá² áá¯ááºáá¯ááºáááºá¡ááœáẠSSR áá¶á·ááá¯ážááŸá¯ááŒáá·áº Vue á¡ááºááá®áá±ážááŸááºážááᯠááœáŸáá·áºáááºáá²á·ááŒá®áž á¡áá±ážá áááºá¡áá±ážá áááºá¡áá»ááºáá áºáá»ááºááᯠááœá²áá»á±á¬áºáá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠáááŠážá¡ááŒá±á¡áá±á¡á¬áž áá¯á¶ážá áœá²áá°áᶠááá±ážááá¯á·áá²á·áá«á
á¡áááºááŒá±á¬ááºá·? á€áá±ážááœááºážá¡ááœáẠá¡ááŒá±á¡ááá¡áá»áááŸááá«á áá¬áá¬á០áá¯á¶á·ááŒááºááŸá¯á¡ááœááºá¡á
á¬ážááᯠááá¯ážááŒáŸáá·áºááá¯ááŒááºáž ááá¯á·ááá¯áẠá¡ááŒá¬ážáá±á¬ áááá¯áá¬ááá¯ááºáᬠááŒá¿áá¬áá»á¬ážá
áœá¬ááŒá±á¬áá·áº ááá¯á·ááá¯áẠáááºážááẠááá¯ážááŸááºážá
áœá¬ áááºááá·áºááœá¬ážááŒááºážáááŸááá±á áá
áºáááºážááá¯ááºáá
áºáááºážá¡á¬ážááŒáá·áº á¡ááŒá±á¡áá±ááᯠáááºáá¯ááºááŒá®áž áá¬áá¬áá¯ááºáá²á·ááá»áŸááᯠááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºážááẠá¡ááœááºááá·áºáá»á±á¬áºááŒá®áž á¡áá¯á¶ážáááºáá¯á¶ááááºá á¡áá¯ááºá ááááºáá±á¬á· á¡áá±ážá¡ááœá²áá«áá²á window.__INITIAL_STATE__
.
ááŒá
áºáá±á«áºáá¬ááá·áº ááŒá¿áá¬áá»á¬ážáá²á០áá
áºáá¯ááẠá
ááºáá®ážá
á®ážááá·áº ááœá²á·á
ááºážáá¯á¶áá»á¬ážááᯠJSON á¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²ááá¯ááºá
áœááºáž áááŸáááŒááºáž (
ááá¯á·á¡ááŒááºá UGC á¡ááŒá±á¬ááºážá¡áá¬ááŸáá·áº áááºáá¶áá¬ááœááºá áá±áá¬ááᯠHTML ááᯠááá»ááºá
á®ážá
á±áááºá¡ááœáẠHTML entities ááá¯á· ááŒá±á¬ááºážáá²ááá·áºááŒá±á¬ááºáž ááŸááºáá¬ážáá¬ážááá·áºáááºá á€áááºááœááºáá»ááºáá»á¬ážá¡ááœááºáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áááºá
ááŒááºáááºáá±ážááœá²ááŸá¯áá»á¬ážááᯠáá»áŸá±á¬á·áá»áá«á
á¡áááºáá±á¬áºááŒáá«áá¯á¶ááœáẠáááºááœá±á·ááŒááºááá¯ááºáááºá¡ááá¯ááºážá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá Node JS instance áá áºáá¯ááẠá¡áá¯á¶ážááŒá¯áá°ááœáá·áºááŒá¯áá»ááºáááŸáááá·áº API ááŸá SSR ááŸáá·áº âproxyâ áá¯ááºáá±á¬ááºáá»ááºááŸá áºáá¯ááᯠáá¯ááºáá±á¬ááºáááºá node ááẠsingle-threaded ááŒá áºááŒá®áž SSR function ááẠsynchronous ááŒá áºáá±áá±á¬ááŒá±á¬áá·áº á€á¡ááŒá±á¡áá±ááẠáá¬áá¬áá±á«áºááœáẠJS áá¯ááºááᯠáá¯ááºáá±á¬ááºáá±áá»áááºááœáẠááœáá·áºááŒá¯áááºáááŒá áºááá¯ááºáá«á ááá¯ááá¯áááºááŸá¬á callstack ááẠáá áºáá¯áá¯ááŸáá·áº á¡áá¯ááºááŸá¯ááºáá±áá»áááºááœáẠáá¬áá¬ááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠáá°á·áá¬áá¬áá° áááá¯á·ááá¯ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±á¡áá±á¡á¬áž á¡ááºááááºáá¯ááºáá¬ážááŒá±á¬ááºáž áá±á«áºááœááºáá¬áá±á¬áºáááºáž áá¯á¶ážá áœá²áá°á á ááºááŸááºá¡á¬áž ááá·áºááœááºážá á¡áá¯á¶ážááŒá¯áá°á áá±áá¬ááᯠá¡ááºááááºáá¯ááºááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº á¡ááºáá¬áá±á·á áºááẠáá¯ááºááŸá¯ááºááŒááºážááᯠááááºááá·áºáá²á·áá«á á¡áá¯á¶ážááŒá¯áá°ááááºáá±á¬ááºááŸá¯ááᯠááá·áºááœááºážá ááºážá á¬ážá ááŸááºáááºáá±á¬áá±áá¬ááᯠáááŠážá¡ááŒá±á¡áá±ááœáẠááá·áºááœááºážááẠáá»áœááºá¯ááºááá¯á·áá¡ááºááºáá®áá±ážááŸááºážááᯠáááºááŒá¬ážáá±ážááẠááá¯á¡ááºáá«áááºá
ááŒá¿áá¬á¡ááœáẠááŒá±ááŸááºážáááºáž ááŸá áºáá¯áᬠááŸááá²á·áááºá
- ááœáá·áºááŒá¯áá»ááºáá±áá¬ááᯠáá¬áá¬ááŒááºáá»á±á¬áºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááœáẠáá°ážááœá²áá«ááŸááááºá
- Node JS á¡ááœáŸá¬áá»á¬ážááᯠáá®ážááŒá¬ážá¥ááá¬ááŸá áºáá¯á¡ááŒá Ạááœá²áá«á
áááááŒá±ááŸááºážáá»ááºááẠáá¬áá¬áá±á«áºááœáẠááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááááºážááŸááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºááŒá®áž áá¯áááááẠá¡áá¯ááºááŒá®ážááŒá±á¬ááºááẠáá±á¬ááºáá¯á¶ážáááºááᯠá¡áááºážáá¯á¶ážáá áºáá¡áá ááá¯ážááŒáŸáá·áºáá²á·áááºá
áááºááá¯ááœá±ážáá»ááºáááá²á Habr ááẠáá¯áá¶ááŸá¯á¡áááºážáá¯á¶ážáááºážááŒá±á¬ááºážáá áºáá»áŸá±á¬áẠáááŒá¬áá ááœá±á·áá»á¬ážáááºá á¡ááœááºááá±á¬á¡á¬ážááŒáá·áºá á áááºáá°ážá០ááŸá±á·ááŒá±ážáá¯á¶á á¶á០á¡áááºážáá¯á¶ážá¡áá áá¶ááá¬ááᯠáá»áŸá±á¬á·áá»ááá¯ááá·áº áá±áá¯áá»ááá¹ááá áºáá¯ááŸááááºá áá¯ááºáá¯ááºá¡áá±á«áºáá¬ážááŸááá±á¬ ááá±á¬áá¬ážáá¯á¶á á¶ááẠbooking.com á postulates áá»á¬ážááᯠá¡áááºážáááºá¡á±á¬ááºáá±á·ááŒá®áž Habr ááẠáá¯á¶ážá áœá²áá°ááá¯á¶á·ááŒááºáá»ááºááᯠááá¯ááá¯áá±ážáááºá áœá¬áá¶áá°ááŒá®áž ááá¯ááá¯á·áá±á¬áá¯á¶ážááŒááºáá»ááºáá»á¬ážáá»áááºá¡ááœáẠdeveloper áá áºáŠážá¡áá±ááŒáá·áº ááá·áºá¡á¬áž áá¯á¶ááŒááºááŒá±á¬ááºáž áá áºáá¯áááºážáá±á¬ááœá¬ááŒá¬ážáá»ááºááŸá¬ááŒá áºáááºá
á€áá¯áá¹áááá±áááŸáá·áº ááŒá¿áá¬ááᯠá¡ááŒááºááŒá±ááŸááºážááá¯áá±á¬ áá»áœááºá¯ááºáááá¯ááºááá¯ááºááá¹áááᯠááá¯ááºáá¬ááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááẠááá¹áá¬áá¯á¶ážááá¯ááºáᬠááááºážááŸááºáá»á¬ážááᯠááœá±ážáá»ááºáá²á·áááºá áááŒá¬ááááá¯áááá¯ááŒá
áºáááºáááºá¡ááá¯ááºážá áááºááẠáááºážááá¯á·á¡ááœáẠá¡ááŸá±ážááŸáá·áºá¡ááŒáẠááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠáá±ážáá»á±ááááºááŒá
áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá»ááºáá»ááºážáá®ážáá«áž áá
á¬áá±ážáá»á±áááº- áá»áœááºá¯ááºááá¯á·ááẠá
áá±á ááááºá¹áááœá±ááœáẠá¡áá¯ááºáá¯ááºáá²á·ááŒá®áž á¡áá»áá¯ážáááºáá»á¬ážááᯠááŸááºážáááºážáá±ážáá¬ážáá²á·áááºá
refactoring áááá¡ááá·áºááŒá®ážáá±á¬áẠMobile Habr áá»ááºááŸá¬ááŒááº
á¡áá¯á¶ážá áœááºá¡á¬ážááŒáá·áºá ááá¯ááá¯ááºážáá¬ážááŸááºážá SSR-CSR áááá¯áá¬ááẠá€áá¯á¶ááá¯á· áŠážáááºáááº-
ï¿ŒâááŸá áºáá¯-nodeâ SSR-CSR áá¬ážáá áºá Node JS API ááẠá¡ááŒáá¯ááºá¡ááá¯áẠI/O á¡ááœáẠá¡ááŒá²á¡áááºááá·áºááŸáááŒá®áž SSR áá¯ááºáá±á¬ááºáá»ááºá០ááááºááá¯á·áá¬ážááŒááºáž áááŸááá«áá áá±á¬ááºááá¯ááºážááœáẠáá®ážááŒá¬ážá¥ááá¬áá áºáá¯ááœáẠáááºááŸááá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá Query chain #3 áááá¯á¡ááºáá«á
áááºáá±áá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
ááŒááºááŸááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºááŒá®ážáá±á¬ááºá á á¬áá»ááºááŸá¬á áááŠážáááºáááºááŸá¯ááẠáááºáá°ážááŒááºáá±á¬áá«ááᯠáááŒá áºá á±áá±á¬á·áá«á ááá¯á·áá±á¬áº SPA áá¯ááºááœáẠHabr ááᯠáááºáá¶á¡áá¯á¶ážááŒá¯ááŒááºážááẠááŸá¯ááºááœá±ážááŸá¯áá»á¬ážááŸááá±áá²ááŒá áºáááºá
á¡áá¯á¶ážááŒá¯áá°á á®ážáááºážááŸá¯áá¡ááŒá±áá¶ááẠáá¯á¶á á¶á¡ááŒá±á¬ááºážá¡ááœáŸá±á·áá»á¬ážááŒá áºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áá±á¬ááºážáá«ážáá»á¬ážá á¬áááºáž â áá±á¬ááºážáá«áž â ááŸááºáá»ááºáá»á¬áž á¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áºá á€ááœááºážáááºá á¡áááºážá¡ááŒá áºáá¯á¶ážá áœá²ááŸá¯ááᯠááááá±áá¬ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºááẠá¡áá±ážááŒá®ážáá«áááºá
ááá¯á·á áºááááºááá¯á· ááŒááºááœá¬ážááŒááºážááẠáá±áá¬áá±á¬ááºážááá¯ááŸá¯á¡áá áºááᯠááŸá¯á¶á·áá±á¬áºá á±áááºá
áááºáááºáá²áá²áá°ážááá¯á· áááá¯áá°ážá á¡áááºáá±á¬áºááŒáá« screencast ááœáẠá¡ááá®áá±ážááŸááºážááẠáá±á¬ááºááá¯á·ááœááºááœá²ááá·áºá¡áá« áá±á¬ááºážáá«ážáá»á¬ážá á¬áááºážááᯠááŒááºáááºáá±á¬ááºážááá¯ááŒá®áž áá±á¬ááºážáá«ážáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· áááœá±á·ááá±á¬á·ááŒá±á¬ááºážá ááá¯ááá¯áááºááŸá¬ ááááºáá±áá¬ááẠáá áºáá±áá¬áá¬ááœáẠáá»á±á¬ááºááœááºááœá¬ážáááºááᯠáááºááœá±á·ááŒááºááá¯ááºáá«áááºá áá±á¬ááºážáá«ážá á¬áááºáž á¡á áááºá¡ááá¯ááºážááẠáá±ááá¹ááááŒááºáááºááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž áá»ááºá á®ážááŒááºážááœáẠáá¯á¶ážááŸá¯á¶ážááœá¬ážáá¯á¶ááááºá ááááºáá±á¬á·á á¡ááá®áá±ážááŸááºážááẠááá¹áá¬áá¯á¶ážááá¯ááºáá¬á¡ááŒá±á¡áá±áá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯áá±á¬áºáááºáž Vuex áááá¯áá¬áááºáá¬ááᯠáŠážááááºáá¬ážá áááºáá±á¬ááºáá¬ážáá«áááº- áá±á¬áºáá»á°ážáá»á¬ážááᯠá á¬áá»ááºááŸá¬áá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážááŒá®ážá áááºážááŒá±á¬ááºážáá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážáááºá ááá¯á·á¡ááŒááºá áá±á¬áºáá»á°ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠ"áá áºáá«áá¯á¶áž" ááŒá áºááẠ- á á¬áá»ááºááŸá¬ááá¯á· áá±á¬ááºáááºááœá²áááºáááºááŸá¯ááá¯ááºážááẠmodule áá áºáá¯áá¯á¶ážááᯠááŒááºáááºáá±ážáá¬ážáááº-
ArticlesList: [
{ Article1 },
...
],
PageArticle: { ArticleFull1 },
á á¯á á¯áá±á«ááºážá áá»áœááºá¯ááºááá¯á·ááœáẠmodule áá áºáá¯ááŸááááºá áá±á¬ááºážáá«ážá á¬áááºážá¡áá»áá¯ážá¡á á¬áž á¡áá¬ááá¹áá¯áá»á¬áž áá«áááºáááºá áá±á¬ááºážáá«áž ááŸáá·áº module á á¬áá»ááºááŸá¬áá±á¬ááºážáá«ážá¡áá¬ááá¹áá¯á ááá¯ážáá»á²á·áá¬ážááŸááºážááŒá áºáá²á·áááºá áá±á¬ááºážáá«áž, áá²á·ááá¯á·áá±á¬ áá±á¬ááºážáá«ážá¡ááŒáá·áºá¡á á¯á¶. áá±áá°áá»á¡á¬ážááŒáá·áºá á€á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠáá°á·á¡ááá¯ááᯠááŒá±á¬ááºáááºááœááºáá±á¬ááºážáá±á¬á¡áá¬ááᯠááááºáá±á¬ááºááá¯ááºáá± - áááºážááẠá¡ááœááºááá¯ážááŸááºážáááºá áá°áá¯á¶áá¯ááẠááá¯ááá¯ááºáá±á¬áºáááºáž á¡ááœááºáá¬ážáááºááá¯ááºáááºá áááºážááŒá±á¬ááºážááŒá±á¬ááºážááá¯ááºáž áá±á¬áºáá»á°ážááᯠááŒááºáááºáááºááŸááºáá«áá áááºážááŸáá·áºááẠáá±ááá¯ááºááá¯ááºáááºá ááá¯á·áá±á¬áº á¥ááá¬á¡á¬ážááŒáá·áºá áá±á¬ááºážáá«áž feeds áá»á¬ážá¡ááŒá¬áž ááœá±á·áá»á¬ážááŒááºážá /feed â /alláá»áœááºá¯ááºááá¯á·ááœáẠáá áºáá¯áá¬ááŸááá±á¬ááŒá±á¬áá·áº ááá¯ááºáá±ážááá¯ááºáá¬ááááºááŸáá·áºáááºáááºááá·áº á¡áá¬á¡á¬ážáá¯á¶ážááᯠá áœáá·áºáá áºááẠá¡á¬ááá¶áá«áááºá áá±á¬ááºážáá«ážá á¬áááºážáá±áá¬á¡áá áºááá·áºááẠááá¯á¡ááºáááºá áááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá±á¬ááºážááá¯ááŸá¯áá»á¬áž áááºáá°áááºááŒá áºá á±áááºá
áá±á«ááºážá ááºáá²á· áááºáááºááŒá®áž áá°ážáá±á¬áºááá¯ááºááá»áŸ á á¯áá±á¬ááºážááŒá®áž ááá¯ááºáá¶áá±á¬áº ááœá²á·á ááºážáá¯á¶á¡áá áºááᯠáá±ážááœá²ááŒá®áž áá¯ááºáá±á¬áºááá¯ááºáááºááœá±ááᯠáááºááŒáá²á·áááºá ááœá±ážááœá±ážááŸá¯ááœá±á ááŸááºáá»á¬ážáá±ááá·áº áá±á¬ááºáá¯á¶ážááŸá¬áá±á¬á· áá±á¬ááºáá¶áá²á· ááŒááºážáá¯á¶ááŸá¯ááœá±á áá¶ááááœá±ááᯠá¡ááááẠáá»á¬ážááŒá¬ážá á±ááŒá®áž á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯á· á áááºáá²á·áááºá
á¡ááŒá±áá áºáá¯á áá¯áá¹áááá±áááᯠá¡ááá·áºááŸá áºááá·áºááŒáá·áº á¡áá±á¬ááºážáá¯á¶ážáá±á¬áºááŒáááºá ááááŠážá áœá¬ áá»áœááºá¯ááºááá¯á·ááẠá á¬áá»ááºááŸá¬áá»á¬ážá០Vuex module ááᯠááá¯ááºážááŒááºááŒá®áž áááºážááŒá±á¬ááºážáá»á¬ážááŸáá·áº ááá¯ááºááá¯ááºáá»áááºááẠááŒáá¯ážá á¬ážáááºá áá¯ááºáá²á·á á ááá¯ážááŸá¬ áá±áá¬á¡áááºážáááºááá¯ááŸááááºá ááá°áá°ááœá± áááºážáááºážááá¯ááŸá¯ááºááœá±ážáá¬áááºá áá«áá±ááá·áº áá±á¬ááºážáá«ážááœá±ááᯠááŸá áºááŒáááºáááºááŸá¬ ááá¯ááºáá«áá°ážá ááá¯ááá¯ááºážáá¬ážááŸááºážá¡ááœááºá á€áááºááŸá¬ á¡ááŒááºážáááºáá¯á¶áž ááŒááºážáá¯á¶ááŸá¯ááŒá áºááá¯ááºáááºá áááºážáááºá€áá²á·ááá¯á·áá±á¬áá¯á¶ááááº-
ArticlesList: {
ROUTE_FEED: [
{ Article1 },
...
],
ROUTE_ALL: [
{ Article2 },
...
],
}
ááá¯á·áá±á¬áº áá±á¬ááºážáá«ážá á¬áááºážáá»á¬ážááẠáááºážááŒá±á¬ááºážáá»á¬ážá áœá¬ááŒá¬ážááœáẠáááºáá±ááá¯ááºááŒá®áž á¡áá¬ááá¹áá¯áá±áá¬ááᯠááŒááºáá¯á¶ážááá¯áá«á á¡áááºáááºáž áá±á¬ááºážáá«áž ááá¯á·á áºá á¬áá»ááºááŸá¬ááá¯á· á¡ááœááºááŒá±á¬ááºážáááºá áá±á¬ááºážáá«ážá¡ááŒáá·áºá¡á á¯á¶? á€ááá á¹á ááœááºá ááá¯ááá¯á·áá±á¬ááœá²á·á ááºážáá¯á¶ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠááá¯ááá¯áá¹ááááŸááááá·áºáááº-
ArticlesIds: {
ROUTE_FEED: [ '1', ... ],
ROUTE_ALL: [ '1', '2', ... ],
},
ArticlesList: {
'1': { Article1 },
'2': { Article2 },
...
}
áá±á¬ááºážáá«ážá á¬áááºáž á€ááœáẠáááºážááẠáá±á¬ááºážáá«ážáá»á¬ážá ááá¯ááŸá±á¬ááºááŸá¯ á¡áá»áá¯ážá¡á á¬ážáá áºáá¯áá»áŸáᬠááŒá áºáááºá á¡áá¯á¶ážááŒá¯áá°á ááºááŸááºá¡ááœááºáž áá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬ áá±á¬ááºážáá«ážáá»á¬ážá¡á¬ážáá¯á¶ážááá¯á áá°áá¬ááŒá¬ážááŸá áááºáááá¯á¡ááœááºáž áá¬áá»ááºááŸá¯ááŒá±á¬áá·áº áá±á«ááºážáá¯ááºááœá²áá¶áá¬ážáááá·áº áá¬ááºááŒá±á¬á¡ááœá¬ážá¡áá¬ááŸá¬ áááºážááá¯á·ááᯠá¡á áœááºážáá¯áẠááá¯áá áá¯áẠáá¯ááá±ážáá±á¬ááŒá±á¬áá·áºááŒá áºááŒá®ážá áá°á·ááœáẠááŸáááŒá®ážáá¬ážáá±áá¬áá»á¬ážááᯠáááºááá¯ááºážááŒááºážááŒáá·áº áá¯á¶ážá áœá²áá°á¡á¬áž á€áá¬áá»ááºááŸá¯ááᯠáááºáá¶áááŒá áºá á±ááá¯áá±á¬á·áááºááŸá¬ áá±áá»á¬áá«áááºá áá±á«ááºážáá¯ááºáá¯ááºáá¬ážáááºá á¡áá¬ááá¹áá¯áá áºáᯠáá±á¬ááºážáá«ážáá»á¬áž á¡áá¬ááá¹áá¯áá»á¬ážááŸáá·áº ááá¯ážááŸááºážá áœá¬ ID áá»á¬áž (âlinksâ áá²á·ááá¯á·) array áá áºáá¯ááŒá áºáááºá áá±á¬ááºážáá«áž. á€ááœá²á·á ááºážáá¯á¶ááẠááá·áºá¡á¬áž áááºážááŒá±á¬ááºážáá»á¬ážáá®ááá¯á· áá¯á¶áá±áá¬ááᯠááœá¬ážááŒááºážááŸáá·áº á¡áá¬ááá¹áá¯ááᯠááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºážá០ááŸá±á¬ááºááŒááºááá¯ááºá á±áá«áááºá áá±á¬ááºážáá«áž ááá¯ážáá»á²á·áá±áá¬ááᯠáááºážáá²ááá¯á· áá±á«ááºážá ááºážááŒááºážááŒáá·áº ááá¯á·á áºá á¬áá»ááºááŸá¬áá áºáá¯ááᯠáááºáááºááá·áºá¡áá«á
áá±á¬ááºážáá«ážáá»á¬ážáá á¬áááºážáááœááºááŸáááŸá¯ááŸá¬áááºáž ááá¯ááá¯ááœáá·áºáááºážáá¬áááº- iteration á¡á áááºá¡ááá¯ááºážááẠáá±á¬ááºážáá«áž IDs áá»á¬ážááŒáá·áº array ááŸáááá·áº áááºááá²áá²áá¯ááºáá±á¬ááºáᬠáá±á¬ááºážáá«áž teaser á¡á áááºá¡ááá¯ááºážááᯠááœá²áá¯ááºáᬠId ááᯠprop á¡ááŒá áºááŒááºáááºážáᬠááá±ážá¡á áááºá¡ááá¯ááºážá០ááá¯á¡ááºáá±á¬áá±áá¬áá»á¬ážááᯠááŒááºáááºááá°áááºá áá±á¬ááºážáá«ážá á¬áááºáž. áááºáá¯ááºáá±ááá·áºá á¬áá»ááºááŸá¬ááá¯á·ááœá¬ážáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠááŸáááŒá®ážáá¬ážáááºá áœá²ááᯠáááŸááááºá áá±á¬ááºážáá«ážá á¬áááºážáá»áœááºá¯ááºááá¯á·ááẠáá»á±á¬ááºáá¯á¶ážáá±áá±á¬áá±áá¬ááá¯ááá°ááẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯ááŒá¯áá¯ááºááŒá®áž áááºážááᯠáááºááŸáá¡áá¬ááá¹áá¯ááœáẠááá¯ážááá¯ážááá·áºáá«á
áá®áá»ááºážáááºááŸá¯á áá¬ááŒá±á¬áá·áº ááá¯áá±á¬ááºážáá¬áá²á á¡áááºááœááºáá±ážáá²á·ááá·áºá¡ááá¯ááºážá á€áááºážáááºážááẠáá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬áá±áá¬ááŸáá·áºá ááºáá»ááºážá ááá¯ááá¯áá°ážáá¶á·ááááºááœá±á·ááŒá®áž áááºážááá¯ááŒááºáááºá¡áá¯á¶ážááŒá¯áááºááœáá·áºááŒá¯áááºá ááá¯á·áá±á¬áº áááºážá¡ááŒááºá áááºážááẠááá¯ááá¯á·áá±á¬ áááá¯áá¬ááá¬ááŸáá·áº ááá¯ááºáá®áá±á¬ ááŒá áºááá¯ááºááŒá±á¡áá áºá¡áá»áá¯á·ááᯠáááºážááœáá·áºáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááá¯á·áá±á«áºáá¬ááá·áºá¡ááá¯ááºáž áá±á¬ááºážáá«ážáá»á¬ážááᯠááááºáá²ááá¯á· á á áºáááºážáá±á¬ááºáá°ááŒááºážááŸáá·áº áááºááŒááºážá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáá¯á¶ážáá±á«áºááá¯á·á áºáá»á¬ážááᯠ"ááá¯ááŸá±á¬ááºááŸá¯" ááœáẠááá¯ážááá¯ážááŸááºážááŸááºážáá¬ážááá¯ááºááẠáá±á¬ááºážáá«ážá á¬áááºážID á¡áá áºáá»á¬ážá áá®ážááŒá¬ážá á¬áááºážááᯠááááºážáááºážáá«á áá±á¬ááºážáá«ážáá»á¬áž áááºážá¡ááŒá±á¬ááºážááᯠá¡áá¯á¶ážááŒá¯áá°ááᯠá¡ááŒá±á¬ááºážááŒá¬ážáá«á áá»áœááºá¯ááºááá¯á·ááẠ"áá¯ááºáá±ááŸá¯áá»á¬ážá¡áá áºááá¯ááŒááá«" ááá¯ááºááá¯ááŸáááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠáááºááŸááá±á¬ááºážáá«ážáá»á¬ážá á¬áááºážáá¡áááºážá¡áá»ááºážáá¡á ááœáẠIds á¡áá áºáá»á¬ážááᯠááá¯ážááá¯ážááŸááºážááŸááºážááá·áºááœááºážáá±ážáááºááŒá áºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡á¶á·ááŒááœááºáá±á¬ááºážáá±á¬ááºá¡á±á¬áẠá¡áá¯ááºáá¯ááºáááºááŒá áºáááºá
áá±á«ááºážáá¯ááºááœá²ááŒááºážááᯠááá¯ááá¯ááŸá áºáááºá á±áááºá
ááŒááºáááºááŒá¯ááŒááºááá·áº ááááºáá¯áá·áºáá±á«áºááŸá áá±áá²áá¯á¶ážááẠá¡ááá¯ážá á¯áá»á¬ážá á¡áá°á¡áááŒá áºááŒá®ážá ááŸá±ážááœá±ážáá±á¬ á¡ááºáá¬áááºáá±á«áºááœáẠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºááá·áº áá¯ááºáááºážá ááºááᯠá¡áááºážááẠá ááºáá¯ááºááœá¶ááŸá¬ááœáẠáááºážáá«ážá á±áááºá á€ááá á¹á ááŸáá·áºáááºáááºááŒá®áž ááœá±ážááœá±ážááŸá¯áá»á¬ážáááŸááá²á·áá² á áááºáá°ážá០áá¯á¶ááŒááºážáá®ááá¯á· áááºážááŒá±á¬ááºážááẠá á¬áá¬ážá¡ááá¯ááºáž ááŸá áºáá¬áá®ááŒá¬áááºá áá®ááá¯ááºážááẠáááºááœá±á·áá»áá» áá±ážááœá²áá¬ážááŒá®áž áá±áá¬á á±á¬áá·áºá ááºááœáẠááá¯ážááŸááºážááŒá®áž áá¯ááºáá«áá¯á¶áá»áŸáᬠdiv block áá»á¬ážááᯠáááºáááºááẠáá»áœááºá¯ááºááá¯á·á á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáááºááŒá¬ážáá±ážáá«áááºá áá¯áá¹áááááá¹áá¬ááºá¡á¬ážááŒáá·áºá á€áááºážáááºážááẠá¡áá¯á¶ážááŒá¯áá°áááá¹áá¬ááá¯ááºááŸá á áááºááá á®ážááŸá¯áá±á¬áºáá¯ááºážááá¬áááᯠá¡ááŸááºáááẠáá»áŸá±á¬á·áá»áá±ážáá«áááºá á¡ááá¯ážá á¯áá¯á¶ááá¹áááºááŸá¬ á€áá²á·ááá¯á·ááŒá áºáááº-
Habraloading
áááºááŒááºáá¯á¶ážáááºááŒááºážá
Habré ááŸá¬ ááŒá±á¬ááºááá±á¬áẠá¡áá¯ááºáá¯ááºááŒá®áž áá°áááºáá»ááºážááœá±á áá±ážáá±ážáááºá ááá¯ááŸá¬ áááºááá¯ááŒáá¯ááºáá²? áá±á¬ááºážááŒá®á á¡áááºááŒá±áááºá áá«áá±ááá·áº áá®á¡áá¯ááºááᯠáááŒá¬ážáá°ááœá±áá²á· ááá°á¡á±á¬áẠáá¯ááºáá²á·á¡áá¬áá áºáá¯ááŸááááºá áá»áœááºá¯ááºááẠáááºážááá¯á·ááá¯ááºáá¯ááºááᯠáá¯á¶ážáááá¯áá áá¯ááºáá² áááºážááá¯á·áá¡áá¯á¶ážááŒá¯áá°áá»á¬áž áááºáá°áááºáá«ááŒá áºáááºááᯠááááá¬ážááááºáá±á¬ á¡ááœá²á·áá»á¬ážááœáẠá¡áá¯ááºáá¯ááºáá²á·áááºá áá«áá±ááá·áº áá®ááŸá¬ á¡á¬ážáá¯á¶ážá ááá°áá°ážá áá®áá±áá¬ááŸá¬ áááºážáá¯ááºááá¯ááºáá²á·ááá á¹á á¡ááœáẠáááºážááŸá¬ áá¬áááºááŸááááºááá¯á· áá¶á á¬ážááááºá á¡ááºá¹áá«áááºáá áºáᯠáááºáá®ážááŒááºážáá¯ááºáááºážá ááºááœáẠáááºááẠáá áºá áááºáá áºááá¯ááºáž áááºážáááá¯ááºááŸááºááŒá áºáá¬ááŒá®ážá áááºááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸáá·áºáááºááá¯ááºááá·áº áá¯ááºáá¯ááºá¡á ááºážá¡áá±ážáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáá«áááºáá«á á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááŸáá·áº áááºááá¯ááºááá¯áẠáá¯á¶ážááŒááºáá»ááºáá»á¬ážáá»áá«á áááºáá±á·á ááºáá¯á¶ážáá±áá²á· áá¯ááºáá á¹á ááºážáá áºáá¯ááᯠááá¯ááºááá¯ááºáááºáá®ážááᬠá¡áááºážááá¯ááºáá«áááºá áá«áá±ááá·áº ááá·áºááẠááá¯áá±á¬ááºážáá²á·áá°ááœá±á¡ááœáẠáá¯ááºáá±ážáá¬á ááá¯á¶ááá¯ááºáá±á¬ááºá áᬠáá¶á á¬ážáá»ááºáá áºáá¯áá«áá² (á¡áá±á·á¡áá±á«á·áááŸá)á
á€ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯ááºááŒááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ áá¯á¶á·ááŒááºáá»ááºáá»á¬ážááᯠáááŸááá²á·ááŒá®áž áááºážááẠá¡ááœááºáá±á¬ááºážááœááºáá«áááºá á áááºááŸá¯ááºááŸá¬ážá áá¬áá«á áá»á±ážáá°ážáááºáá«áááº! áá»á¬ážáá»á¬ážáá±ážáá«á
ááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááááºážááŸááºáá»á¬ážááŒá®ážáá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠáááá¯áá¬ááá¬ááá¯ááŒá±á¬ááºážáá²áᬠááá±á¬ááºá
á®á¡ááœáŸá¬ááᯠáá®ážááŒá¬ážá¥ááá¬áá
áºáá¯á¡ááŒá
Ạááœá²áá±áááºááŸááºááẠáá¯á¶ážááŒááºááá¯ááºááá«áááºá âtwo-nodeâ áááá¯áá¬ááẠá¡áá»á¬ážáá°ááŸá¬ áá®áá¬á
ááºážáááºááŸá¯áá¯á¶á
á¶ááŒáá·áº áá¯ááºáá±ááŸá¯ááá¯á· áá±á¬ááºááŸááá±ááŒá®ááŒá
áºáááºá ááᯠáááºáá°áááᯠáááºážááᯠááŒá±á¬ááºážááá¯ááºááŒá®áž ááá¯ááá¯ááºáž Habr ááᯠááá¯áá±á¬ááºážá¡á±á¬áẠáá°áá®áá±ážááá¯ááºáá«áááºá áá®áá±á·á¡ááœáẠáá®áá±á¬ááºáá«áá²á áááºážáá²á·áá±ážááœááºážááœá±á¡á¬ážáá¯á¶ážááᯠcomment ááŸá¬ááŒá±ááá¯á· áá«áá»á±áááºáááºá
source: www.habr.com