ืžืื’ืจื™ื ืžื•ื ื•: ื‘ื‘ืงืฉื”, ื—ื™ื™ื‘

ืžืื’ืจื™ื ืžื•ื ื•: ื‘ื‘ืงืฉื”, ื—ื™ื™ื‘

ืชืจื’ื•ื ื”ืžืืžืจ ืฉื”ื•ื›ืŸ ืœืชืœืžื™ื“ื™ ื”ืงื•ืจืก "ืฉื™ื˜ื•ืช ื•ื›ืœื™ื ืฉืœ DevOps" ื‘ืคืจื•ื™ืงื˜ ื”ื—ื™ื ื•ื›ื™ OTUS.

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

ืœืžื” ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ื–ื”?

ืžืื˜ ืงืœื™ื™ืŸ ื›ืชื‘ ืืช ื”ืžืืžืจ "Monorepos: ื‘ื‘ืงืฉื” ืืœ!"โ€Š (ื”ืขืจืช ื”ืžืชืจื’ื: ืชืจื’ื•ื ืขืœ Habrรฉ "ืžืื’ืจื™ื ืžื•ื ื•: ื‘ื‘ืงืฉื” ืืœ"). ืื ื™ ืื•ื”ื‘ ืืช ืžืื˜, ืื ื™ ื—ื•ืฉื‘ ืฉื”ื•ื ืžืื•ื“ ื—ื›ื ื•ื›ื“ืื™ ืœืงืจื•ื ืืช ื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœื•. ื”ื•ื ืคืจืกื ืืช ื”ืกืงืจ ื‘ืžืงื•ืจ ื‘ื˜ื•ื•ื™ื˜ืจ:

ืžืื’ืจื™ื ืžื•ื ื•: ื‘ื‘ืงืฉื”, ื—ื™ื™ื‘

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

ื”ืชื’ื•ื‘ื” ืฉืœื™ ื”ื™ื™ืชื”, "ืื ื™ ืžืžืฉ ืฉื ื™ ื”ืื ืฉื™ื ื”ืืœื”." ื‘ืžืงื•ื ืœื“ื‘ืจ ืขืœ ืื™ืš ืฉืจืืกื˜ ื”ื•ื ืกื, ื‘ื•ืื• ื ืกืชื›ืœ ืœืžื” ืื ื™ ื—ื•ืฉื‘ ืฉื”ื•ื ื˜ื•ืขื” ืœื’ื‘ื™ ืžืื’ืจื™ื ื—ื“-ืคืขืžื™ื™ื. ืงืฆืช ืขืœ ืขืฆืžืš. ืื ื™ ื”-CTO ืฉืœ Chef Software. ื™ืฉ ืœื ื• ื›-100 ืžื”ื ื“ืกื™ื, ื‘ืกื™ืก ืงื•ื“ ืฉื ืžืฉืš ื›-11-12 ืฉื ื™ื ืื—ื•ืจื”, ื•-4 ืžื•ืฆืจื™ื ืขื™ืงืจื™ื™ื. ื—ืœืง ืžื”ืงื•ื“ ื”ื–ื” ื ืžืฆื ื‘-polyrepository (ืขืžื“ืช ื”ื”ืชื—ืœื” ืฉืœื™), ื—ืœืง ื ืžืฆื ื‘-mononerepository (ื”ืžื™ืงื•ื ื”ื ื•ื›ื—ื™ ืฉืœื™).

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

ืื ื™ ืžืกื›ื™ื ืขื ื”ื—ืœืง ื”ืจืืฉื•ืŸ ืฉืœ ื“ื‘ืจื™ื• ืฉืœ ืžืื˜:

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

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

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

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

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

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

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

ื›ื›ืœ ืฉื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ื”ื•ืคื›ืช ืžื•ืจื›ื‘ืช ื™ื•ืชืจ, ืฆื•ื•ืช ืื—ื“ ื›ื‘ืจ ืœื ื™ื›ื•ืœ ืœื ื”ืœ ืื•ืชื” ืœื‘ื“. ืœืžืขื˜ ืžืื•ื“ ืžื”ื ื“ืกื™ื ื™ืฉ ืืช ื›ืœ ื”ืžืขืจื›ืช ื‘ืจืืฉื. ื ื ื™ื— ืฉืืชื” ืžื ื”ืœ ืจื›ื™ื‘ A ืžืฉื•ืชืฃ ื”ืžืฉืžืฉ ืืช ืฆื•ื•ืชื™ B, C ื•-D. ืฆื•ื•ืช A ืžืฉื—ื–ืจ, ืžืฉืคืจ ืืช ื”-API, ื•ื’ื ืžืฉื ื” ืืช ื”ื™ื™ืฉื•ื ื”ืคื ื™ืžื™. ื›ืชื•ืฆืื” ืžื›ืš, ื”ืฉื™ื ื•ื™ื™ื ืื™ื ื ืชื•ืืžื™ื ืœืื—ื•ืจ. ืื™ื–ื• ืขืฆื” ื™ืฉ ืœืš?

  • ืžืฆื ืืช ื›ืœ ื”ืžืงื•ืžื•ืช ืฉื‘ื”ื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-API ื”ื™ืฉืŸ.
  • ื”ืื ื™ืฉ ืžืงื•ืžื•ืช ืฉื‘ื”ื ืœื ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-API ื”ื—ื“ืฉ?
  • ื”ืื ืืชื” ื™ื›ื•ืœ ืœืชืงืŸ ื•ืœื‘ื“ื•ืง ืจื›ื™ื‘ื™ื ืื—ืจื™ื ื›ื“ื™ ืœื•ื•ื“ื ืฉื”ื ืœื ื ืฉื‘ืจื™ื?
  • ื”ืื ื”ืฆื•ื•ืชื™ื ื”ืืœื” ื™ื›ื•ืœื™ื ืœื‘ื“ื•ืง ืืช ื”ืฉื™ื ื•ื™ื™ื ืฉืœืš ืขื›ืฉื™ื•?

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

ืืฃ ืื—ื“ ืœื ื‘ืืžืช ืจื•ืฆื” ืœืขืฉื•ืช ืืช ื–ื”. ื–ื” ื”ืจื‘ื” ืคื—ื•ืช ื›ื™ืฃ ืžืกืชื ืชื™ืงื•ืŸ ื”-API ื”ืืจื•ืจ. ื”ื›ืœ ืื ื•ืฉื™ ื•ืžื‘ื•ืœื’ืŸ. ื‘-polyrepository, ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื, ืœืชืช ืื•ืชื• ืœืื ืฉื™ื ืฉืขื•ื‘ื“ื™ื ืขืœ ื”ืจื›ื™ื‘ ื”ื–ื” (ื›ื ืจืื” ืœื B, C ืื• D) ืœื‘ื“ื™ืงื”, ื•ืœื”ืžืฉื™ืš ื”ืœืื”. ืฆื•ื•ืชื™ื B, C ื•-D ื™ื›ื•ืœื™ื ืคืฉื•ื˜ ืœื”ื™ืฉืืจ ืขื ื”ื’ืจืกื” ื”ื ื•ื›ื—ื™ืช ืฉืœื”ื ืœืขืช ืขืชื”. ื”ื ื™ืชื—ื“ืฉื• ื›ืฉื”ื ื™ื‘ื™ื ื• ืืช ื”ื’ืื•ื ื•ืช ืฉืœืš!

ื‘ืžืื’ืจ ืžื•ื ื•, ื”ืื—ืจื™ื•ืช ืžื•ืขื‘ืจืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืฆื•ื•ืช A ืžืฉื ื” ืืช ื”ืจื›ื™ื‘ ืฉืœื”ื, ื•ืื ืœื ื–ื”ื™ืจ, ืฉื•ื‘ืจ ืžื™ื“ ืืช B, C ื•-D. ื–ื” ืžื•ื‘ื™ืœ ืœ-B, C ื•-D ืžื•ืคื™ืขื™ื ื‘ื“ืœืช ืฉืœ A, ืชื•ื”ื™ื ืžื“ื•ืข ืฆื•ื•ืช A ืฉื‘ืจ ืืช ื”ืžื›ืœื•ืœ. ื–ื” ืžืœืžื“ ืืช ื' ืฉื”ื ืœื ื™ื›ื•ืœื™ื ืœื“ืœื’ ืขืœ ื”ืจืฉื™ืžื” ืฉืœื™ ืœืžืขืœื”. ื”ื ื—ื™ื™ื‘ื™ื ืœื“ื‘ืจ ืขืœ ืžื” ืฉื”ื ื”ื•ืœื›ื™ื ืœืขืฉื•ืช. ื”ืื B, C ื•-D ื™ื›ื•ืœื™ื ืœื–ื•ื–? ืžื” ืื B ื•-C ื™ื›ื•ืœื™ื, ืื‘ืœ D ื”ื™ื” ืงืฉื•ืจ ืงืฉืจ ื”ื“ื•ืง ืœืชื•ืคืขืช ืœื•ื•ืื™ ืฉืœ ื”ืชื ื”ื’ื•ืช ื”ืืœื’ื•ืจื™ืชื ื”ื™ืฉืŸ?

ืื– ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื“ื‘ืจ ืขืœ ืื™ืš ื ืฆื ืžื”ืžืฆื‘ ื”ื–ื”:

  1. ืชืžื™ื›ื” ื‘ืžืกืคืจ ืžืžืฉืงื™ API ืคื ื™ืžื™ื™ื, ื•ืชืกืžืŸ ืืช ื”ืืœื’ื•ืจื™ืชื ื”ื™ืฉืŸ ื›ืžื•ืฆื ืžืฉื™ืžื•ืฉ ืขื“ ืฉ-D ืชื•ื›ืœ ืœื”ืคืกื™ืง ืœื”ืฉืชืžืฉ ื‘ื•.
  2. ืชืžื™ื›ื” ื‘ืžืกืคืจ ื’ืจืกืื•ืช ืžื”ื“ื•ืจื”, ืื—ืช ืขื ื”ืžืžืฉืง ื”ื™ืฉืŸ, ืื—ืช ืขื ื”ื—ื“ืฉื”.
  3. ื“ื—ื• ืืช ืฉื—ืจื•ืจ ื”ืฉื™ื ื•ื™ื™ื ืฉืœ A ืขื“ ืฉ-B, C ื•-D ื™ื•ื›ืœื• ืœืงื‘ืœ ื–ืืช ื‘ื•-ื–ืžื ื™ืช.

ื ื ื™ื— ืฉื‘ื—ืจื ื• 1, ืžืกืคืจ ืžืžืฉืงื™ API. ื‘ืžืงืจื” ื–ื” ื™ืฉ ืœื ื• ืฉืชื™ ืคื™ืกื•ืช ืงื•ื“. ื™ืฉืŸ ื•ื—ื“ืฉ. ื“ื™ ื ื•ื— ื‘ืžืฆื‘ื™ื ืžืกื•ื™ืžื™ื. ืื ื• ื‘ื•ื“ืงื™ื ืืช ื”ืงื•ื“ ื”ื™ืฉืŸ ื‘ื—ื–ืจื”, ืžืกืžื ื™ื ืื•ืชื• ื›ืžื•ืฆื ืžืฉื™ืžื•ืฉ ื•ืžืกื›ื™ืžื™ื ืขืœ ืœื•ื— ื–ืžื ื™ื ืœื”ืกืจื” ืขื ืฆื•ื•ืช D. ื–ื”ื” ื‘ืขื™ืงืจื• ืขื‘ื•ืจ ืžืื’ืจื™ ืคื•ืœื™ ื•ืžื•ื ื•.

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

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

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

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

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

ืจืง ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืชืฃ ื‘ืกืงืจ. ืœื”ืชื—ื‘ืจื‘ื‘ืงืฉื”.

ืžื™ ื”ื ื”ืคื ืื˜ื™ื ื”ื›ื™ ื’ื“ื•ืœื™ื? ืชื•ืžื›ื™ื:

  • ืžื•ื ื•ืจืคื•

  • ื—ืœื•ื“ื”

  • ืกืงืจ ืœื ื ื›ื•ืŸ / ืฉื ื™ื”ื

33 ืžืฉืชืžืฉื™ื ื”ืฆื‘ื™ืขื•. 13 ืžืฉืชืžืฉื™ื ื ืžื ืขื•.

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

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