Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃ

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃ

ืชืžื™ื“ ื”ืชืขื ื™ื™ื ืชื™ ืื™ืš Habr ื‘ื ื•ื™ ืžื‘ืคื ื™ื, ืื™ืš ื‘ื ื•ื™ื” ื–ืจื™ืžืช ื”ืขื‘ื•ื“ื”, ืื™ืš ื‘ื ื•ื™ื” ืชืงืฉื•ืจืช, ื‘ืื™ืœื• ืกื˜ื ื“ืจื˜ื™ื ืžืฉืชืžืฉื™ื ื•ืื™ืš ืงื•ื“ ื ื›ืชื‘ ื›ืืŸ ื‘ื“ืจืš ื›ืœืœ. ืœืžืจื‘ื” ื”ืžื–ืœ, ืงื™ื‘ืœืชื™ ื”ื–ื“ืžื ื•ืช ื›ื–ื•, ื›ื™ ืœืื—ืจื•ื ื” ื”ืคื›ืชื™ ืœื—ืœืง ืžืฆื•ื•ืช ื”ื—ื‘ืจื”. ื‘ืขื–ืจืช ื”ื“ื•ื’ืžื” ืฉืœ ืฉื—ื–ื•ืจ ืงื˜ืŸ ืฉืœ ื”ื’ืจืกื” ื”ื ื™ื™ื“ืช, ืื ืกื” ืœืขื ื•ืช ืขืœ ื”ืฉืืœื”: ืื™ืš ื–ื” ืœืขื‘ื•ื“ ื›ืืŸ ื‘ื—ื–ื™ืช. ื‘ืชื•ื›ื ื™ืช: Node, Vue, Vuex ื•-SSR ืขื ืจื•ื˜ื‘ ืžืชื•ืš ื”ืขืจื•ืช ืขืœ ื ื™ืกื™ื•ืŸ ืื™ืฉื™ ื‘-Habr.

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืืชื” ืฆืจื™ืš ืœื“ืขืช ืขืœ ืฆื•ื•ืช ื”ืคื™ืชื•ื— ื”ื•ื ืฉืื ื—ื ื• ืžืขื˜ื™ื. ืœื ืžืกืคื™ืง - ืžื“ื•ื‘ืจ ื‘ืฉืœื•ืฉื” ืงื“ืžื™ื™ื, ืฉื ื™ ืื—ื•ืจื™ื™ื ื•ื”ื”ื•ื‘ืœื” ื”ื˜ื›ื ื™ืช ืฉืœ ื›ืœ ื”ืื‘ืจ - ื‘ืงืกืœื™. ื™ืฉ ื›ืžื•ื‘ืŸ ื’ื ื‘ื•ื“ืง, ืžืขืฆื‘, ืฉืœื•ืฉื” ื•ืื“ื™ื, ืžื˜ืื˜ื ื ืก, ืžื•ืžื—ื” ืฉื™ื•ื•ืง ื•ืขื•ื“ ื‘ื•ืžื‘ื•ืจื™ื. ืื‘ืœ ื™ืฉ ืจืง ืฉื™ืฉื” ืชื•ืจืžื™ื ื™ืฉื™ืจื™ื ืœืžืงื•ืจื•ืชื™ื• ืฉืœ ื”ื‘ืจ. ื–ื” ื“ื™ ื ื“ื™ืจ - ืคืจื•ื™ืงื˜ ืขื ืงื”ืœ ืฉืœ ืžื™ืœื™ื•ื ื™ ื“ื•ืœืจื™ื, ืฉืžื‘ื—ื•ืฅ ื ืจืื” ื›ืžื• ืžืคืขืœ ืขื ืง, ื‘ืžืฆื™ืื•ืช ื ืจืื” ื™ื•ืชืจ ื›ืžื• ืกื˜ืืจื˜ืืค ื ืขื™ื ืขื ื”ืžื‘ื ื” ื”ืืจื’ื•ื ื™ ื”ืฉื˜ื•ื— ื‘ื™ื•ืชืจ ืฉืืคืฉืจ.

ื‘ื“ื•ืžื” ืœื—ื‘ืจื•ืช IT ืจื‘ื•ืช ืื—ืจื•ืช, ื”ืื‘ืจ ืžืชืขืงืฉ ืขืœ ืจืขื™ื•ื ื•ืช ื–ืจื™ื–ื™ื, ืฉื™ื˜ื•ืช CI, ื•ื–ื” ื”ื›ืœ. ืื‘ืœ ืœืคื™ ื”ืชื—ื•ืฉื•ืช ืฉืœื™, ื”ืื‘ืจ ื›ืžื•ืฆืจ ืžืชืคืชื— ื™ื•ืชืจ ื‘ื’ืœื™ื ืžืืฉืจ ื‘ืจืฆื™ืคื•ืช. ืื–, ื‘ืžืฉืš ืžืกืคืจ ืกืคืจื™ื ื˜ื™ื ื‘ืจืฆื™ืคื•ืช, ืื ื• ืžืงื•ื“ื“ื™ื ื‘ืฉืงื™ื“ื” ืžืฉื”ื•, ืžืขืฆื‘ื™ื ื•ืžืขืฆื‘ื™ื ืžื—ื“ืฉ, ืฉื•ื‘ืจื™ื ืžืฉื”ื• ื•ืžืชืงื ื™ื ืื•ืชื•, ืคื•ืชืจื™ื ื›ืจื˜ื™ืกื™ื ื•ื™ื•ืฆืจื™ื ื—ื“ืฉื™ื, ืขื•ืœื™ื ืขืœ ืžื’ืจืคื” ื•ื™ื•ืจื™ื ืœืขืฆืžื ื• ื‘ืจื’ืœื™ื™ื, ื›ื“ื™ ืกื•ืฃ ืกื•ืฃ ืœืฉื—ืจืจ ืืช ื”ืคื™ืฆ'ืจ ืœืชื•ืš ื”ืคืงื”. ื•ืื– ืžื’ื™ืขื” ืจื’ื™ืขื” ืžืกื•ื™ืžืช, ืชืงื•ืคื” ืฉืœ ืคื™ืชื•ื— ืžื—ื“ืฉ, ื–ืžืŸ ืœืขืฉื•ืช ืืช ืžื” ืฉื ืžืฆื ื‘ืจื‘ื™ืข "ื—ืฉื•ื‘-ืœื ื“ื—ื•ืฃ".

ื–ื” ื‘ื“ื™ื•ืง ื”ืกืคืจื™ื ื˜ ื”"ืžื—ื•ืฅ ืœืขื•ื ื”" ืฉื™ื™ื“ื•ืŸ ื‘ื”ืžืฉืš. ื”ืคืขื ื–ื” ื›ืœืœ ืฉื—ื–ื•ืจ ืฉืœ ื’ืจืกืช ื”ื ื™ื™ื“ ืฉืœ Habr. ื‘ืื•ืคืŸ ื›ืœืœื™, ื”ื—ื‘ืจื” ืชื•ืœื” ื‘ื• ืชืงื•ื•ืช ื’ื“ื•ืœื•ืช, ื•ื‘ืขืชื™ื“ ื”ื™ื ืืžื•ืจื” ืœื”ื—ืœื™ืฃ ืืช ื›ืœ ื’ืŸ ื”ื—ื™ื•ืช ืฉืœ ื’ืœื’ื•ืœื™ื• ืฉืœ ื”ื‘ืจ ื•ืœื”ืคื•ืš ืœืคืชืจื•ืŸ ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช ืื•ื ื™ื‘ืจืกืœื™. ืžืชื™ืฉื”ื• ืชื”ื™ื” ืคืจื™ืกื” ืื“ืคื˜ื™ื‘ื™ืช, PWA, ืžืฆื‘ ืœื ืžืงื•ื•ืŸ, ื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ืžืฉืชืžืฉ ื•ืขื•ื“ ื”ืจื‘ื” ื“ื‘ืจื™ื ืžืขื ื™ื™ื ื™ื.

ื‘ื•ืื• ื ืงื‘ืข ืืช ื”ืžืฉื™ืžื”

ืคืขื ืื—ืช, ื‘ืกื˜ื ื“-ืืค ืจื’ื™ืœ, ืื—ื“ ืžื”ื—ื–ื™ืชื•ืช ื“ื™ื‘ืจ ืขืœ ื‘ืขื™ื•ืช ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ืจื›ื™ื‘ ื”ื”ืขืจื•ืช ืฉืœ ื’ืจืกืช ื”ื ื™ื™ื“. ืžืชื•ืš ืžื—ืฉื‘ื” ืขืœ ื›ืš, ืืจื’ื ื• ืžืคื’ืฉ ืžื™ืงืจื• ื‘ืžืชื›ื•ื ืช ืฉืœ ืคืกื™ื›ื•ืชืจืคื™ื” ืงื‘ื•ืฆืชื™ืช. ื›ื•ืœื ืืžืจื• ื‘ืชื•ืจื• ืื™ืคื” ื›ื•ืื‘, ื”ืงืœื™ื˜ื• ื”ื›ืœ ืขืœ ื”ื ื™ื™ืจ, ืื”ื“ื•, ื”ื‘ื™ื ื•, ื—ื•ืฅ ืžื–ื” ืฉืืฃ ืื—ื“ ืœื ืžื—ื ื›ืคื™ื™ื. ื”ืชื•ืฆืื” ื”ื™ื™ืชื” ืจืฉื™ืžื” ืฉืœ 20 ื‘ืขื™ื•ืช, ืฉื”ื‘ื”ื™ืจื” ื›ื™ ืœ-Habr ื”ื ื™ื™ื“ ืขื“ื™ื™ืŸ ื™ืฉ ื“ืจืš ืืจื•ื›ื” ื•ืงื•ืฆื ื™ืช ืœื”ืฆืœื—ื”.

ื“ืื’ืชื™ ื‘ืขื™ืงืจ ืœื™ืขื™ืœื•ืช ืžืฉืื‘ื™ื ื•ืžื” ืฉื ืงืจื ืžืžืฉืง ื—ืœืง. ื‘ื›ืœ ื™ื•ื, ื‘ืžืกืœื•ืœ ื‘ื™ืช-ืขื‘ื•ื“ื”-ื‘ื™ืช, ืจืื™ืชื™ ืืช ื”ื˜ืœืคื•ืŸ ื”ื™ืฉืŸ ืฉืœื™ ืžื ืกื” ื ื•ืืฉื•ืช ืœื”ืฆื™ื’ 20 ื›ื•ืชืจื•ืช ื‘ืคื™ื“. ื–ื” ื ืจืื” ื‘ืขืจืš ื›ืš:

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃืžืžืฉืง Mobile Habr ืœืคื ื™ ืขื™ื‘ื•ื“ ืžื—ื“ืฉ

ืžื” ืงื•ืจื” ืคื”? ื‘ืงื™ืฆื•ืจ, ื”ืฉืจืช ืฉื™ืจืช ืืช ื“ืฃ ื”-HTML ืœื›ื•ืœื ื‘ืื•ืชื• ืื•ืคืŸ, ืœืœื ืงืฉืจ ืื ื”ืžืฉืชืžืฉ ื”ื™ื” ืžื—ื•ื‘ืจ ืื• ืœื. ืœืื—ืจ ืžื›ืŸ, ื”ืœืงื•ื— JS ื ื˜ืขืŸ ื•ืžื‘ืงืฉ ืฉื•ื‘ ืืช ื”ื ืชื•ื ื™ื ื”ื“ืจื•ืฉื™ื, ืืš ืžื•ืชืื ืœื”ืจืฉืื”. ื›ืœื•ืžืจ, ืœืžืขืฉื” ืขืฉื™ื ื• ืืช ืื•ืชื” ื”ืขื‘ื•ื“ื” ืคืขืžื™ื™ื. ื”ืžืžืฉืง ื”ื‘ื”ื‘, ื•ื”ืžืฉืชืžืฉ ื”ื•ืจื™ื“ ืžืื” ืงื™ืœื•-ื‘ื™ื™ื˜ ื ื•ืกืคื™ื. ื‘ืคื™ืจื•ื˜ ื”ื›ืœ ื ืจืื” ืืคื™ืœื• ื™ื•ืชืจ ืžืฆืžืจืจ.

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃืกื›ื™ืžืช SSR-CSR ื™ืฉื ื”. ื”ืจืฉืื” ืืคืฉืจื™ืช ืจืง ื‘ืฉืœื‘ื™ื C3 ื•-C4, ื›ืืฉืจ Node JS ืื™ื ื• ืขืกื•ืง ื‘ื™ืฆื™ืจืช HTML ื•ื™ื›ื•ืœ ื‘ืงืฉื•ืช ืคืจื•ืงืกื™ ืœ-API.

ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœื ื• ืฉืœ ืื•ืชื” ืชืงื•ืคื” ืชื•ืืจื” ื‘ืฆื•ืจื” ืžื“ื•ื™ืงืช ืžืื•ื“ ืขืœ ื™ื“ื™ ืื—ื“ ืžืžืฉืชืžืฉื™ Habr:

ื”ื’ืจืกื” ืœื ื™ื™ื“ ื”ื™ื ื—ืจื. ืื ื™ ืžืกืคืจ ืืช ื–ื” ื›ืžื• ืฉื–ื”. ืฉื™ืœื•ื‘ ื ื•ืจื ืฉืœ SSR ื•-CSR.

ื”ื™ื™ื ื• ื—ื™ื™ื‘ื™ื ืœื”ื•ื“ื•ืช ื‘ื–ื”, ืœื ืžืฉื ื” ื›ืžื” ื–ื” ื”ื™ื” ืขืฆื•ื‘.

ื”ืขืจื›ืชื™ ืืช ื”ืืคืฉืจื•ื™ื•ืช, ื™ืฆืจืชื™ ื›ืจื˜ื™ืก ื‘ื’'ื™ืจื” ืขื ืชื™ืื•ืจ ื‘ืจืžื” ืฉืœ "ื–ื” ืจืข ืขื›ืฉื™ื•, ืชืขืฉื” ืืช ื–ื” ื ื›ื•ืŸ" ื•ืคื™ืจืงืชื™ ืืช ื”ืžืฉื™ืžื” ื‘ืงื•ื•ื™ื ื›ืœืœื™ื™ื:

  • ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื ืชื•ื ื™ื,
  • ืœืžื–ืขืจ ืืช ืžืกืคืจ ื”ืฉืจื˜ื•ื˜ื™ื ืžื—ื“ืฉ,
  • ืœื—ืกืœ ื‘ืงืฉื•ืช ื›ืคื•ืœื•ืช,
  • ืœื”ืคื•ืš ืืช ืชื”ืœื™ืš ื”ื˜ืขื™ื ื” ื‘ืจื•ืจ ื™ื•ืชืจ.

ื‘ื•ืื• ื ืขืฉื” ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื ืชื•ื ื™ื

ื‘ืชื™ืื•ืจื™ื”, ืขื™ื‘ื•ื“ ื‘ืฆื“ ื”ืฉืจืช ื ื•ืขื“ ืœืคืชื•ืจ ืฉืชื™ ื‘ืขื™ื•ืช: ืœื ืœืกื‘ื•ืœ ืžืžื’ื‘ืœื•ืช ืฉืœ ืžื ื•ืขื™ ื”ื—ื™ืคื•ืฉ ืžื‘ื—ื™ื ืช ืื™ื ื“ืงืก SPA ื•ืœืฉืคืจ ืืช ื”ืžื“ื“ FMP (ื‘ื”ื›ืจื— ืžื—ืžื™ืจ TTI). ื‘ืชืจื—ื™ืฉ ืงืœืืกื™ ืฉืกื•ืฃ ืกื•ืฃ ื’ื•ื‘ืฉ ื‘-Airbnb ื‘-2013 ืฉื ื” (ืขื“ื™ื™ืŸ ื‘-Backbone.js), SSR ื”ื•ื ืื•ืชื• ื™ื™ืฉื•ื JS ืื™ื–ื•ืžื•ืจืคื™ ื”ืคื•ืขืœ ื‘ืกื‘ื™ื‘ืช ื”-Node. ื”ืฉืจืช ืคืฉื•ื˜ ืฉื•ืœื— ืืช ื”ืคืจื™ืกื” ืฉื ื•ืฆืจื” ื›ืชื’ื•ื‘ื” ืœื‘ืงืฉื”. ืœืื—ืจ ืžื›ืŸ ืžืชืจื—ืฉืช rehydration ื‘ืฆื“ ื”ืœืงื•ื—, ื•ืื– ื”ื›ืœ ืขื•ื‘ื“ ืœืœื ื˜ืขื™ื ื•ืช ืžื—ื“ืฉ ืฉืœ ื”ื“ืคื™ื. ืขื‘ื•ืจ Habr, ื›ืžื• ืขื‘ื•ืจ ืžืฉืื‘ื™ื ืจื‘ื™ื ืื—ืจื™ื ืขื ืชื•ื›ืŸ ื˜ืงืกื˜, ืขื™ื‘ื•ื“ ืฉืจืชื™ื ื”ื•ื ืžืจื›ื™ื‘ ืงืจื™ื˜ื™ ื‘ื‘ื ื™ื™ืช ื™ื—ืกื™ื ื™ื“ื™ื“ื•ืชื™ื™ื ืขื ืžื ื•ืขื™ ื—ื™ืคื•ืฉ.

ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื—ืœืคื• ื™ื•ืชืจ ืžืฉืฉ ืฉื ื™ื ืžืื– ื”ื•ืคืขืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื”, ื•ื‘ื–ืžืŸ ื”ื–ื” ื”ืจื‘ื” ืžื™ื ื‘ืืžืช ื–ืจืžื• ืžืชื—ืช ืœื’ืฉืจ ื‘ืขื•ืœื ื”ื—ื–ื™ืชื™, ืขื‘ื•ืจ ืžืคืชื—ื™ื ืจื‘ื™ื ื”ืจืขื™ื•ืŸ ื”ื–ื” ืขื“ื™ื™ืŸ ืืคื•ืฃ ืกื•ื“ื™ื•ืช. ืœื ืขืžื“ื ื• ืžื”ืฆื“ ื•ืคืจืกื ื• ื™ื™ืฉื•ื Vue ืขื ืชืžื™ื›ื” ื‘-SSR ืœื™ื™ืฆื•ืจ, ื—ืกืจ ืœื ื• ืคืจื˜ ืื—ื“ ืงื˜ืŸ: ืœื ืฉืœื—ื ื• ืืช ื”ืžืฆื‘ ื”ืจืืฉื•ื ื™ ืœืœืงื•ื—.

ืœืžื”? ืื™ืŸ ืชืฉื•ื‘ื” ืžื“ื•ื™ืงืช ืœืฉืืœื” ื–ื•. ืื• ืฉื”ื ืœื ืจืฆื• ืœื”ื’ื“ื™ืœ ืืช ื’ื•ื“ืœ ื”ืชื’ื•ื‘ื” ืžื”ืฉืจืช, ืื• ื‘ื’ืœืœ ืฉืœืœ ื‘ืขื™ื•ืช ืืจื›ื™ื˜ืงื˜ื•ื ื™ื•ืช ืื—ืจื•ืช, ืื• ืฉื–ื” ืคืฉื•ื˜ ืœื ื”ืžืจื™ื. ื›ืš ืื• ืื—ืจืช, ื–ืจื™ืงืช ืžืฆื‘ ื•ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื›ืœ ืžื” ืฉื”ืฉืจืช ืขืฉื” ื ืจืื” ืžืชืื™ื ื•ืฉื™ืžื•ืฉื™ ืœืžื“ื™. ื”ืžืฉื™ืžื” ื”ื™ื ืœืžืขืฉื” ื˜ืจื™ื•ื•ื™ืืœื™ืช - ื”ืžื“ื™ื ื” ืคืฉื•ื˜ ืžื•ื–ืจืง ืœืชื•ืš ื”ืงืฉืจ ื”ื‘ื™ืฆื•ืข, ื•-Vue ืžื•ืกื™ืฃ ืื•ืชื• ืื•ื˜ื•ืžื˜ื™ืช ืœืคืจื™ืกื” ืฉื ื•ืฆืจื” ื›ืžืฉืชื ื” ื’ืœื•ื‘ืœื™: window.__INITIAL_STATE__.

ืื—ืช ื”ื‘ืขื™ื•ืช ืฉื ื•ืฆืจื• ื”ื™ื ื—ื•ืกืจ ื”ื™ื›ื•ืœืช ืœื”ืžื™ืจ ืžื‘ื ื™ื ืžื—ื–ื•ืจื™ื™ื ืœ-JSON (ื”ืชื™ื™ื—ืกื•ืช ืžืขื’ืœื™ืช); ื ืคืชืจื” ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ื”ื—ืœืคืช ืžื‘ื ื™ื ื›ืืœื” ื‘ืขืžื™ืชื™ื”ื ื”ืฉื˜ื•ื—ื™ื.

ื‘ื ื•ืกืฃ, ื›ืืฉืจ ืขื•ืกืงื™ื ื‘ืชื•ื›ืŸ UGC, ื™ืฉ ืœื–ื›ื•ืจ ืฉื™ืฉ ืœื”ืžื™ืจ ืืช ื”ื ืชื•ื ื™ื ืœื™ืฉื•ื™ื•ืช HTML ื›ื“ื™ ืœื ืœืฉื‘ื•ืจ ืืช ื”-HTML. ืœืžื˜ืจื•ืช ืืœื• ืื ื• ืžืฉืชืžืฉื™ื he.

ืฆืžืฆื•ื ืฉืจื˜ื•ื˜ื™ื ืžื—ื“ืฉ

ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ืชืจืฉื™ื ืฉืœืžืขืœื”, ื‘ืžืงืจื” ืฉืœื ื•, ืžื•ืคืข ืื—ื“ ืฉืœ Node JS ืžื‘ืฆืข ืฉืชื™ ืคื•ื ืงืฆื™ื•ืช: SSR ื•-"proxy" ื‘-API, ืฉื‘ื• ืžืชืจื—ืฉืช ื”ืจืฉืืช ืžืฉืชืžืฉ. ื ืกื™ื‘ื•ืช ืืœื” ืœื ืžืืคืฉืจื•ืช ื”ืจืฉืื” ื‘ื–ืžืŸ ืฉืงื•ื“ ื”-JS ืคื•ืขืœ ื‘ืฉืจืช, ืžื›ื™ื•ื•ืŸ ืฉื”ืฆื•ืžืช ื”ื•ื ื—ื•ื˜ ื™ื—ื™ื“, ื•ืคื•ื ืงืฆื™ื™ืช SSR ื”ื™ื ืกื™ื ื›ืจื•ื ื™ืช. ื›ืœื•ืžืจ, ื”ืฉืจืช ืคืฉื•ื˜ ืœื ื™ื›ื•ืœ ืœืฉืœื•ื— ื‘ืงืฉื•ืช ืœืขืฆืžื• ื‘ื–ืžืŸ ืฉื”-callstack ืขืกื•ืง ื‘ืžืฉื”ื•. ื”ืชื‘ืจืจ ืฉืขื“ื›ื ื• ืืช ื”ืžืฆื‘, ืื‘ืœ ื”ืžืžืฉืง ืœื ื”ืคืกื™ืง ืœื”ืชืขื•ื•ืช, ืžืื—ืจ ื•ื”ื ืชื•ื ื™ื ืขืœ ื”ืœืงื•ื— ื”ื™ื• ืฆืจื™ื›ื™ื ืœื”ืชืขื“ื›ืŸ ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ืกืฉืŸ ื”ืžืฉืชืžืฉ. ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœืœืžื“ ืืช ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ืœืฉื™ื ืืช ื”ื ืชื•ื ื™ื ื”ื ื›ื•ื ื™ื ื‘ืžืฆื‘ ื”ื”ืชื—ืœืชื™, ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ื›ื ื™ืกื” ืฉืœ ื”ืžืฉืชืžืฉ.

ื”ื™ื• ืจืง ืฉื ื™ ืคืชืจื•ื ื•ืช ืœื‘ืขื™ื”:

  • ืฆื™ืจื•ืฃ ื ืชื•ื ื™ ื”ืจืฉืื” ืœื‘ืงืฉื•ืช ื—ื•ืฆื•ืช ืฉืจืชื™ื;
  • ืœืคืฆืœ ืฉื›ื‘ื•ืช Node JS ืœืฉื ื™ ืžื•ืคืขื™ื ื ืคืจื“ื™ื.

ื”ืคืชืจื•ืŸ ื”ืจืืฉื•ืŸ ื“ืจืฉ ืฉื™ืžื•ืฉ ื‘ืžืฉืชื ื™ื ื’ืœื•ื‘ืœื™ื™ื ื‘ืฉืจืช, ื•ื”ืฉื ื™ ื”ืืจื™ืš ืืช ื”ืžื•ืขื“ ื”ืื—ืจื•ืŸ ืœื‘ื™ืฆื•ืข ื”ืžืฉื™ืžื” ื‘ื—ื•ื“ืฉ ืœืคื—ื•ืช.

ืื™ืš ืœืขืฉื•ืช ื‘ื—ื™ืจื”? ื”ืื‘ืจ ื ืข ื‘ื“ืจืš ื›ืœืœ ื‘ื ืชื™ื‘ ื”ื”ืชื ื’ื“ื•ืช ื”ื›ื™ ืคื—ื•ืช. ื‘ืื•ืคืŸ ืœื ืจืฉืžื™, ื™ืฉ ืจืฆื•ืŸ ื›ืœืœื™ ืœืฆืžืฆื ืืช ื”ืžื—ื–ื•ืจ ืžืจืขื™ื•ืŸ ืœืื‘ ื˜ื™ืคื•ืก ืœืžื™ื ื™ืžื•ื. ืžื•ื“ืœ ื”ื™ื—ืก ืœืžื•ืฆืจ ืžื–ื›ื™ืจ ืงืฆืช ืืช ื”ื”ื ื—ื•ืช ืฉืœ booking.com, ื›ืฉื”ื”ื‘ื“ืœ ื”ื™ื—ื™ื“ ื”ื•ื ืฉื”ื‘ืจ ืœื•ืงื— ืืช ืžืฉื•ื‘ ื”ืžืฉืชืžืฉื™ื ื‘ืจืฆื™ื ื•ืช ื”ืจื‘ื” ื™ื•ืชืจ ื•ืกื•ืžื›ืช ืขืœื™ืš, ื›ืžืคืชื—, ืฉืชืงื‘ืœ ื”ื—ืœื˜ื•ืช ื›ืืœื”.

ื‘ืขืงื‘ื•ืช ื”ื”ื™ื’ื™ื•ืŸ ื”ื–ื” ื•ื”ืจืฆื•ืŸ ืฉืœื™ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื‘ืžื”ื™ืจื•ืช, ื‘ื—ืจืชื™ ื‘ืžืฉืชื ื™ื ื’ืœื•ื‘ืœื™ื™ื. ื•ื›ืคื™ ืฉืงื•ืจื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช, ืืชื” ืฆืจื™ืš ืœืฉืœื ืขื‘ื•ืจื ื‘ืžื•ืงื“ื ืื• ื‘ืžืื•ื—ืจ. ืฉื™ืœืžื ื• ื›ืžืขื˜ ืžื™ื“: ืขื‘ื“ื ื• ื‘ืกื•ืฃ ื”ืฉื‘ื•ืข, ื‘ื™ืจืจื ื• ืืช ื”ื”ืฉืœื›ื•ืช, ื›ืชื‘ื ื• ืึทื—ึฒืจึตื™ ืžึทื•ึตืช ื•ื”ืชื—ื™ืœ ืœื—ืœืง ืืช ื”ืฉืจืช ืœืฉื ื™ ื—ืœืงื™ื. ื”ืฉื’ื™ืื” ื”ื™ื™ืชื” ืžืื•ื“ ืžื˜ื•ืคืฉืช, ื•ื”ื‘ืื’ ืฉื”ื™ื” ืžืขื•ืจื‘ ื‘ื” ืœื ื”ื™ื” ืงืœ ืœืฉื—ื–ืจ. ื•ื›ืŸ, ื—ื‘ืœ ืขืœ ื–ื”, ืื‘ืœ ื›ืš ืื• ื›ืš, ืžื•ืขื“ ื•ื’ื•ื ื—, ื”-PoC ืฉืœื™ ืขื ืžืฉืชื ื™ื ื’ืœื•ื‘ืœื™ื™ื ื‘ื›ืœ ื–ืืช ื ื›ื ืก ืœื™ื™ืฆื•ืจ ื•ืขื•ื‘ื“ ื“ื™ ื‘ื”ืฆืœื—ื” ื‘ื–ืžืŸ ื”ื”ืžืชื ื” ืœืžืขื‘ืจ ืœืืจื›ื™ื˜ืงื˜ื•ืจืช "ืฉื ื™ ืฆืžืชื™ื" ื—ื“ืฉื”. ื–ื” ื”ื™ื” ืฆืขื“ ื—ืฉื•ื‘, ื›ื™ ื‘ืื•ืคืŸ ืคื•ืจืžืœื™ ื”ืžื˜ืจื” ื”ื•ืฉื’ื” - SSR ืœืžื“ื” ืœื”ืขื‘ื™ืจ ื“ืฃ ืžื•ื›ืŸ ืœื—ืœื•ื˜ื™ืŸ ืœืฉื™ืžื•ืฉ, ื•ื”ืžืžืฉืง UI ื ืขืฉื” ื”ืจื‘ื” ื™ื•ืชืจ ืจื’ื•ืข.

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃืžืžืฉืง Mobile Habr ืœืื—ืจ ื”ืฉืœื‘ ื”ืจืืฉื•ืŸ ืฉืœ refactoring

ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ืืจื›ื™ื˜ืงื˜ื•ืจืช SSR-CSR ืฉืœ ื’ืจืกืช ื”ื ื™ื™ื“ ืžื•ื‘ื™ืœื” ืœืชืžื•ื ื” ื–ื•:

๏ฟผHabr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃืžืขื’ืœ SSR-CSR "ืฉื ื™ ืฆืžืชื™ื". ื”-API ืฉืœ Node JS ืžื•ื›ืŸ ืชืžื™ื“ ืœ-I/O ืืกื™ื ื›ืจื•ื ื™ ื•ืื™ื ื• ื ื—ืกื ืขืœ ื™ื“ื™ ืคื•ื ืงืฆื™ื™ืช SSR, ืžื›ื™ื•ื•ืŸ ืฉื–ื• ื”ืื—ืจื•ื ื” ืžืžื•ืงืžืช ื‘ืžื•ืคืข ื ืคืจื“. ืื™ืŸ ืฆื•ืจืš ื‘ืฉืจืฉืจืช ืฉืื™ืœืชื•ืช ืžืก' 3.

ื‘ื™ื˜ื•ืœ ื‘ืงืฉื•ืช ื›ืคื•ืœื•ืช

ืœืื—ืจ ื‘ื™ืฆื•ืข ื”ืžื ื™ืคื•ืœืฆื™ื•ืช, ื”ืขื™ื‘ื•ื“ ื”ืจืืฉื•ื ื™ ืฉืœ ื”ื“ืฃ ืœื ืขื•ืจืจ ืขื•ื“ ืืคื™ืœืคืกื™ื”. ืื‘ืœ ื”ืฉื™ืžื•ืฉ ื”ื ื•ืกืฃ ื‘-Habr ื‘ืžืฆื‘ SPA ืขื“ื™ื™ืŸ ื’ืจื ืœื‘ืœื‘ื•ืœ.

ืžืื– ื”ื‘ืกื™ืก ืฉืœ ื–ืจื™ืžืช ื”ืžืฉืชืžืฉ ื”ื•ื ืžืขื‘ืจื™ื ืฉืœ ื”ื˜ื•ืคืก ืจืฉื™ืžืช ืžืืžืจื™ื โ†’ ืžืืžืจ โ†’ ื”ืขืจื•ืช ื•ืœื”ื™ืคืš, ื”ื™ื” ื—ืฉื•ื‘ ืœื™ื™ืขืœ ืืช ืฆืจื™ื›ืช ื”ืžืฉืื‘ื™ื ืฉืœ ื”ืจืฉืช ื”ื–ื• ืžืœื›ืชื—ื™ืœื”.

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃื—ื–ืจื” ืœืขื“ื›ื•ืŸ ื”ืคื•ืกื˜ื™ื ืžืขื•ืจืจืช ื‘ืงืฉืช ื ืชื•ื ื™ื ื—ื“ืฉื”

ืœื ื”ื™ื” ืฆื•ืจืš ืœื—ืคื•ืจ ืœืขื•ืžืง. ื‘ืžืกืš ื”ืžืกืš ืœืžืขืœื” ื ื™ืชืŸ ืœืจืื•ืช ืฉื”ืืคืœื™ืงืฆื™ื” ืžื‘ืงืฉืช ืžื—ื“ืฉ ืืช ืจืฉื™ืžืช ื”ืžืืžืจื™ื ื‘ืขืช ื”ื—ืœืงื” ืื—ื•ืจื”, ื•ื‘ืžื”ืœืš ื”ื‘ืงืฉื” ืื™ื ื ื• ืจื•ืื™ื ืืช ื”ืžืืžืจื™ื, ืžื” ืฉืื•ืžืจ ืฉื”ื ืชื•ื ื™ื ื”ืงื•ื“ืžื™ื ื ืขืœืžื™ื ืื™ืคืฉื”ื•. ื ืจืื” ืฉืจื›ื™ื‘ ืจืฉื™ืžืช ื”ืžืืžืจื™ื ืžืฉืชืžืฉ ื‘ืžื“ื™ื ื” ืžืงื•ืžื™ืช ื•ืžืื‘ื“ ืื•ืชื• ื‘ืขืช ื”ืจืก. ืœืžืขืฉื”, ื”ืืคืœื™ืงืฆื™ื” ื”ืฉืชืžืฉื” ื‘ืžืฆื‘ ื’ืœื•ื‘ืœื™, ืื‘ืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช Vuex ื ื‘ื ืชื” ื—ื–ื™ืชื™ืช: ืžื•ื“ื•ืœื™ื ืงืฉื•ืจื™ื ืœื“ืคื™ื, ืฉื‘ืชื•ืจื ืงืฉื•ืจื™ื ืœืžืกืœื•ืœื™ื. ื™ืชืจ ืขืœ ื›ืŸ, ื›ืœ ื”ืžื•ื“ื•ืœื™ื ื”ื "ื—ื“ ืคืขืžื™ื™ื" - ื›ืœ ื‘ื™ืงื•ืจ ืขื•ืงื‘ ื‘ื“ืฃ ืฉื›ืชื‘ ืืช ื”ืžื•ื“ื•ืœ ื›ื•ืœื•:

ArticlesList: [
  { Article1 },
  ...
],
PageArticle: { ArticleFull1 },

ื‘ืกืš ื”ื›ืœ ื”ื™ื” ืœื ื• ืžื•ื“ื•ืœ ืจืฉื™ืžืช ืžืืžืจื™ื, ื”ืžื›ื™ืœ ืื•ื‘ื™ื™ืงื˜ื™ื ืžืกื•ื’ ืกืขื™ืฃ ื•ืžื•ื“ื•ืœ ืžืืžืจ ืขืžื•ื“, ืฉื”ื™ื™ืชื” ื’ืจืกื” ืžื•ืจื—ื‘ืช ืฉืœ ื”ืื•ื‘ื™ื™ืงื˜ ืกืขื™ืฃ, ืกื•ื’ ืฉืœ ืžืืžืจ ืžืœื. ื‘ื’ื“ื•ืœ, ื”ื™ื™ืฉื•ื ื”ื–ื” ืœื ื ื•ืฉื ืฉื•ื ื“ื‘ืจ ื ื•ืจื ื‘ืคื ื™ ืขืฆืžื• - ื”ื•ื ืคืฉื•ื˜ ืžืื•ื“, ืืคืฉืจ ืืคื™ืœื• ืœื•ืžืจ ื ืื™ื‘ื™, ืื‘ืœ ืžื•ื‘ืŸ ื‘ื™ื•ืชืจ. ืื ืืชื” ืžืืคืก ืืช ื”ืžื•ื“ื•ืœ ื‘ื›ืœ ืคืขื ืฉืืชื” ืžืฉื ื” ืืช ื”ืžืกืœื•ืœ, ืืชื” ืืคื™ืœื• ื™ื›ื•ืœ ืœื—ื™ื•ืช ืขื ื–ื”. ืขื ื–ืืช, ืžืขื‘ืจ ื‘ื™ืŸ ืขื“ื›ื•ื ื™ ืžืืžืจื™ื, ืœืžืฉืœ /feed โ†’ /all, ืžื•ื‘ื˜ื— ืœื–ืจื•ืง ืืช ื›ืœ ืžื” ืฉืงืฉื•ืจ ืœืคื™ื“ ื”ืื™ืฉื™, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ืจืง ืื—ื“ ืจืฉื™ืžืช ืžืืžืจื™ื, ืฉื‘ื• ืืชื” ืฆืจื™ืš ืœื”ื›ื ื™ืก ื ืชื•ื ื™ื ื—ื“ืฉื™ื. ื–ื” ืฉื•ื‘ ืžื•ื‘ื™ืœ ืื•ืชื ื• ืœื›ืคื™ืœื•ืช ืฉืœ ื‘ืงืฉื•ืช.

ืœืื—ืจ ืฉืืกืคืชื™ ืืช ื›ืœ ืžื” ืฉื”ืฆืœื—ืชื™ ืœื—ืคื•ืจ ื‘ื ื•ืฉื, ื’ื™ื‘ืฉืชื™ ืžื‘ื ื” ืžื“ื™ื ื” ื—ื“ืฉ ื•ื”ืฆื’ืชื™ ืื•ืชื• ืœืขืžื™ืชื™ื™. ื”ื“ื™ื•ื ื™ื ื”ื™ื• ืืจื•ื›ื™ื, ืื‘ืœ ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ื”ื˜ื™ืขื•ื ื™ื ื‘ืขื“ ื’ื‘ืจื• ืขืœ ื”ืกืคืงื•ืช, ื•ื”ืชื—ืœืชื™ ืœื™ื™ืฉื.

ื”ื”ื™ื’ื™ื•ืŸ ืฉืœ ืคืชืจื•ืŸ ืžืชื’ืœื” ื‘ืฆื•ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื‘ืฉื ื™ ืฉืœื‘ื™ื. ืจืืฉื™ืช ืื ื• ืžื ืกื™ื ืœื ืชืง ืืช ืžื•ื“ื•ืœ Vuex ืžื“ืคื™ื ื•ืœื”ื™ืงืฉืจ ื™ืฉื™ืจื•ืช ืœืžืกืœื•ืœื™ื. ื›ืŸ, ื™ื”ื™ื• ืงืฆืช ื™ื•ืชืจ ื ืชื•ื ื™ื ื‘ื—ื ื•ืช, ื”ื’ื˜ืจื™ื ื™ื”ืคื›ื• ืงืฆืช ื™ื•ืชืจ ืžื•ืจื›ื‘ื™ื, ืื‘ืœ ืœื ื ื˜ืขืŸ ืžืืžืจื™ื ืคืขืžื™ื™ื. ืขื‘ื•ืจ ื”ื’ืจืกื” ื”ื ื™ื™ื“ืช, ื–ื” ืื•ืœื™ ื”ื˜ื™ืขื•ืŸ ื”ื—ื–ืง ื‘ื™ื•ืชืจ. ื–ื” ื™ื™ืจืื” ื‘ืขืจืš ื›ืš:

ArticlesList: {
  ROUTE_FEED: [ 
    { Article1 },
    ...
  ],
  ROUTE_ALL: [ 
    { Article2 },
    ...
  ],
}

ืื‘ืœ ืžื” ืื ืจืฉื™ืžื•ืช ืžืืžืจื™ื ื™ื›ื•ืœื•ืช ืœื—ืคื•ืฃ ื‘ื™ืŸ ืžืกืคืจ ืžืกืœื•ืœื™ื ื•ืžื” ืื ื ืจืฆื” ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื ืชื•ื ื™ ืื•ื‘ื™ื™ืงื˜ ืกืขื™ืฃ ื›ื“ื™ ืœืขื‘ื“ ืืช ื“ืฃ ื”ืคื•ืกื˜, ืœื”ืคื•ืš ืื•ืชื• ืœ ืžืืžืจ ืžืœื? ื‘ืžืงืจื” ื–ื”, ื–ื” ื™ื”ื™ื” ื”ื’ื™ื•ื ื™ ื™ื•ืชืจ ืœื”ืฉืชืžืฉ ื‘ืžื‘ื ื” ื›ื–ื”:

ArticlesIds: {
  ROUTE_FEED: [ '1', ... ],
  ROUTE_ALL: [ '1', '2', ... ],
},
ArticlesList: {
  '1': { Article1 }, 
  '2': { Article2 },
  ...
}

ืจืฉื™ืžืช ืžืืžืจื™ื ื›ืืŸ ื–ื” ืจืง ืกื•ื’ ืฉืœ ืžืื’ืจ ืžืืžืจื™ื. ื›ืœ ื”ืžืืžืจื™ื ืฉื”ื•ืจื“ื• ื‘ืžื”ืœืš ื”ืคืขืœืช ื”ืžืฉืชืžืฉ. ืื ื—ื ื• ืžื˜ืคืœื™ื ื‘ื”ื ื‘ื–ื”ื™ืจื•ืช ืžืจื‘ื™ืช, ื›ื™ ืžื“ื•ื‘ืจ ื‘ืชืขื‘ื•ืจื” ืฉืื•ืœื™ ื”ื•ืจื“ื” ื“ืจืš ื›ืื‘ ืื™ืคืฉื”ื• ื‘ืžื˜ืจื• ื‘ื™ืŸ ืชื—ื ื•ืช, ื•ืื ื—ื ื• ื‘ื”ื—ืœื˜ ืœื ืจื•ืฆื™ื ืœื’ืจื•ื ืœืžืฉืชืžืฉ ืืช ื”ื›ืื‘ ื”ื–ื” ืฉื•ื‘ ืขืœ ื™ื“ื™ ืื™ืœื•ืฅ ืื•ืชื• ืœื˜ืขื•ืŸ ื ืชื•ื ื™ื ืฉื›ื‘ืจ ื™ืฉ ืœื•. ื”ื•ืจื“. ื—ืคืฅ ืžื–ื”ื™ ืžืืžืจื™ื ื”ื•ื ืคืฉื•ื˜ ืžืขืจืš ืฉืœ ืžื–ื”ื™ื (ื›ืื™ืœื• "ืžืงืฉืจื™ื") ืœืื•ื‘ื™ื™ืงื˜ื™ื ืกืขื™ืฃ. ืžื‘ื ื” ื–ื” ืžืืคืฉืจ ืœืš ืœื”ื™ืžื ืข ืžืฉื›ืคื•ืœ ื ืชื•ื ื™ื ืžืฉื•ืชืคื™ื ืœืžืกืœื•ืœื™ื ื•ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืื•ื‘ื™ื™ืงื˜ ืกืขื™ืฃ ื‘ืขืช ืขื™ื‘ื•ื“ ื“ืฃ ืคื•ืกื˜ ืขืœ ื™ื“ื™ ืžื™ื–ื•ื’ ื ืชื•ื ื™ื ืžื•ืจื—ื‘ื™ื ืœืชื•ื›ื•.

ื”ืคืœื˜ ืฉืœ ืจืฉื™ืžืช ื”ืžืืžืจื™ื ื”ืคืš ื’ื ื”ื•ื ืฉืงื•ืฃ ื™ื•ืชืจ: ืจื›ื™ื‘ ื”ืื™ื˜ืจื˜ื•ืจ ื—ื•ื–ืจ ื“ืจืš ื”ืžืขืจืš ืขื ืžื–ื”ื™ ืžืืžืจื™ื ื•ืžืฆื™ื™ืจ ืืช ืจื›ื™ื‘ ื”ื˜ื™ื–ืจ ืฉืœ ื”ืžืืžืจื™ื, ืžืขื‘ื™ืจ ืืช ื”-ID ื›ืื‘ื™ื–ืจ, ื•ืจื›ื™ื‘ ื”ื™ืœื“, ื‘ืชื•ืจื•, ืฉื•ืื‘ ืืช ื”ื ืชื•ื ื™ื ื”ื“ืจื•ืฉื™ื ืž ืจืฉื™ืžืช ืžืืžืจื™ื. ื›ืืฉืจ ืืชื” ืขื•ื‘ืจ ืœื“ืฃ ื”ืคืจืกื•ื, ืื ื• ืžืงื‘ืœื™ื ืืช ื”ืชืืจื™ืš ื”ืงื™ื™ื ื›ื‘ืจ ืž ืจืฉื™ืžืช ืžืืžืจื™ื, ืื ื• ืžื‘ืงืฉื™ื ืœืงื‘ืœ ืืช ื”ื ืชื•ื ื™ื ื”ื—ืกืจื™ื ื•ืคืฉื•ื˜ ืžื•ืกื™ืคื™ื ืื•ืชื ืœืื•ื‘ื™ื™ืงื˜ ื”ืงื™ื™ื.

ืžื“ื•ืข ื’ื™ืฉื” ื–ื• ืขื“ื™ืคื”? ื›ืคื™ ืฉื›ืชื‘ืชื™ ืœืžืขืœื”, ื’ื™ืฉื” ื–ื• ืขื“ื™ื ื” ื™ื•ืชืจ ื‘ื™ื—ืก ืœื ืชื•ื ื™ื ืฉื”ื•ืจื“ื• ื•ืžืืคืฉืจืช ืœืš ืœืขืฉื•ืช ื‘ื”ื ืฉื™ืžื•ืฉ ื—ื•ื–ืจ. ืื‘ืœ ื—ื•ืฅ ืžื–ื”, ื–ื” ืคื•ืชื— ืืช ื”ื“ืจืš ืœื›ืžื” ืืคืฉืจื•ื™ื•ืช ื—ื“ืฉื•ืช ืฉืžืชืื™ืžื•ืช ื‘ืฆื•ืจื” ืžื•ืฉืœืžืช ืœืืจื›ื™ื˜ืงื˜ื•ืจื” ื›ื–ื•. ืœื“ื•ื’ืžื”, ืกืงืจื™ื ื•ื˜ืขื™ื ืช ืžืืžืจื™ื ืœืคื™ื“ ื›ืคื™ ืฉื”ื ืžื•ืคื™ืขื™ื. ืื ื—ื ื• ื™ื›ื•ืœื™ื ืคืฉื•ื˜ ืœืฉื™ื ืืช ื”ืคื•ืกื˜ื™ื ื”ืื—ืจื•ื ื™ื ื‘"ืื—ืกื•ืŸ" ืจืฉื™ืžืช ืžืืžืจื™ื, ืฉืžื•ืจ ืจืฉื™ืžื” ื ืคืจื“ืช ืฉืœ ืžื–ื”ื™ื ื—ื“ืฉื™ื ื‘ ืžื–ื”ื™ ืžืืžืจื™ื ื•ืœื”ื•ื“ื™ืข โ€‹โ€‹ืขืœ ื›ืš ืœืžืฉืชืžืฉ. ื›ืฉื ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ "ื”ืฆื’ ืคืจืกื•ืžื™ื ื—ื“ืฉื™ื", ืคืฉื•ื˜ ื ื›ื ื™ืก ืžื–ื”ื™ื ื—ื“ืฉื™ื ืœืชื—ื™ืœืช ื”ืžืขืจืš ืฉืœ ืจืฉื™ืžืช ื”ืžืืžืจื™ื ื”ื ื•ื›ื—ื™ืช ื•ื”ื›ืœ ื™ืขื‘ื•ื“ ื›ืžืขื˜ ื‘ืงืกื.

ื”ื•ืคืš ืืช ื”ื”ื•ืจื“ื” ืœืžื”ื ื” ื™ื•ืชืจ

ื”ื“ื•ื‘ื“ื‘ืŸ ืฉื‘ืงืฆืคืช ืžื—ื“ืฉ ื”ื•ื ื”ืžื•ืฉื’ ืฉืœื“ื™ื, ืฉื”ื•ืคืš ืืช ืชื”ืœื™ืš ื”ื•ืจื“ืช ื”ืชื•ื›ืŸ ื‘ืื™ื ื˜ืจื ื˜ ืื™ื˜ื™ ืœืงืฆืช ืคื—ื•ืช ืžื’ืขื™ืœ. ืœื ื”ื™ื• ื“ื™ื•ื ื™ื ื‘ืขื ื™ื™ืŸ ื”ื–ื”; ื”ื“ืจืš ืžืจืขื™ื•ืŸ ืœืื‘-ื˜ื™ืคื•ืก ืืจื›ื” ืžืžืฉ ืฉืขืชื™ื™ื. ื”ืขื™ืฆื•ื‘ ื›ืžืขื˜ ืฆื™ื™ืจ ืืช ืขืฆืžื•, ื•ืœืžื“ื ื• ืืช ื”ืจื›ื™ื‘ื™ื ืฉืœื ื• ืœืขื‘ื“ ื‘ืœื•ืงื™ื div ืคืฉื•ื˜ื™ื, ื‘ืงื•ืฉื™ ืžื”ื‘ื”ื‘ื™ื, ื‘ื–ืžืŸ ื”ื”ืžืชื ื” ืœื ืชื•ื ื™ื. ื‘ืื•ืคืŸ ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™, ื’ื™ืฉื” ื–ื• ืœื˜ืขื™ื ื” ืœืžืขืฉื” ืžืคื—ื™ืชื” ืืช ื›ืžื•ืช ื”ื•ืจืžื•ื ื™ ื”ืœื—ืฅ ื‘ื’ื•ืฃ ื”ืžืฉืชืžืฉ. ื”ืฉืœื“ ื ืจืื” ื›ืš:

Habr ื™ื•ืžื ื™ ืžืคืชื—ื™ื ื—ื–ื™ืชื™ื™ื: ืจื™ืคืงื˜ื•ืจ ื•ืฉื™ืงื•ืฃ
ื”ื‘ืจืœืื•ื“ื™ื ื’

ืžืฉืงืฃ

ืื ื™ ืขื•ื‘ื“ ื‘ื”ื‘ืจื” ื›ื‘ืจ ืฉื™ืฉื” ื—ื•ื“ืฉื™ื ื•ื”ื—ื‘ืจื™ื ืฉืœื™ ืขื“ื™ื™ืŸ ืฉื•ืืœื™ื: ื˜ื•ื‘, ืื™ืš ืืชื” ืื•ื”ื‘ ืืช ื–ื” ืฉื? ื‘ืกื“ืจ, ื ื•ื— - ื›ืŸ. ืื‘ืœ ื™ืฉ ืžืฉื”ื• ืฉืขื•ืฉื” ืืช ื”ืขื‘ื•ื“ื” ื”ื–ื• ืฉื•ื ื” ืžืื—ืจื•ืช. ืขื‘ื“ืชื™ ื‘ืฆื•ื•ืชื™ื ืฉื”ื™ื• ืื“ื™ืฉื™ื ืœื—ืœื•ื˜ื™ืŸ ืœืžื•ืฆืจ ืฉืœื”ื, ืœื ื™ื“ืขื• ืื• ื”ื‘ื™ื ื• ืžื™ ื”ื ื”ืžืฉืชืžืฉื™ื ืฉืœื”ื. ืื‘ืœ ื›ืืŸ ื”ื›ืœ ืฉื•ื ื”. ื›ืืŸ ืืชื” ืžืจื’ื™ืฉ ืื—ืจื™ื•ืช ืœืžื” ืฉืืชื” ืขื•ืฉื”. ื‘ืชื”ืœื™ืš ืฉืœ ืคื™ืชื•ื— ืคื™ืฆ'ืจ, ืืชื” ื”ื•ืคืš ื—ืœืงื™ืช ืœื‘ืขืœื™ื ืฉืœื•, ืœื•ืงื— ื—ืœืง ื‘ื›ืœ ืคื’ื™ืฉื•ืช ื”ืžื•ืฆืจ ื”ืงืฉื•ืจื•ืช ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœืš, ืžืฆื™ืข ื”ืฆืขื•ืช ื•ืžืงื‘ืœ ื”ื—ืœื˜ื•ืช ื‘ืขืฆืžืš. ืœื”ื›ื™ืŸ ืžื•ืฆืจ ืฉืืชื” ืžืฉืชืžืฉ ื‘ื• ื›ืœ ื™ื•ื ื‘ืขืฆืžืš ื–ื” ืžืื•ื“ ืžื’ื ื™ื‘, ืื‘ืœ ืœื›ืชื•ื‘ ืงื•ื“ ืœืื ืฉื™ื ืฉื›ื ืจืื” ื™ื•ืชืจ ื˜ื•ื‘ื™ื ื‘ื–ื” ืžืžืš ื–ื• ืคืฉื•ื˜ ื”ืจื’ืฉื” ืžื“ื”ื™ืžื” (ื‘ืœื™ ืกืจืงื–ื).

ืœืื—ืจ ืคืจืกื•ื ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ื”ืœืœื•, ืงื™ื‘ืœื ื• ืžืฉื•ื‘ ื—ื™ื•ื‘ื™, ื•ื–ื” ื”ื™ื” ืžืื•ื“ ืžืื•ื“ ื ื—ืžื“. ื–ื” ืžืขื•ืจืจ ื”ืฉืจืื”. ืชื•ื“ื”! ืชื›ืชื•ื‘ ื™ื•ืชืจ.

ื”ืจืฉื• ืœื™ ืœื”ื–ื›ื™ืจ ืœื›ื ืฉืœืื—ืจ ืžืฉืชื ื™ื ื’ืœื•ื‘ืœื™ื™ื ื”ื—ืœื˜ื ื• ืœืฉื ื•ืช ืืช ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ื•ืœื”ืงืฆื•ืช ืืช ืฉื›ื‘ืช ื”-proxy ืœืžื•ืคืข ื ืคืจื“. ืืจื›ื™ื˜ืงื˜ื•ืจืช "ืฉื ื™ ื”ืฆืžืชื™ื" ื›ื‘ืจ ื”ื’ื™ืขื” ืœืฉื—ืจื•ืจ ื‘ืฆื•ืจื” ืฉืœ ื‘ื“ื™ืงื•ืช ื‘ื˜ื ืฆื™ื‘ื•ืจื™ื•ืช. ื›ืขืช ื›ืœ ืื—ื“ ื™ื›ื•ืœ ืœืขื‘ื•ืจ ืืœื™ื• ื•ืœืขื–ื•ืจ ืœื ื• ืœื”ืคื•ืš ืืช Habr ืœื ื™ื™ื“ ื˜ื•ื‘ ื™ื•ืชืจ. ื–ื” ื”ื›ืœ ืœื”ื™ื•ื. ืืฉืžื— ืœืขื ื•ืช ืขืœ ื›ืœ ืฉืืœื•ืชื™ื›ื ื‘ืชื’ื•ื‘ื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”