ืชืจืืื ืืืืืจ ืฉืืืื ืืชืืืืื ืืงืืจืก
ืืืื ืืืืืจ ืืืืืจ ืืื ื ืืืืืื ืฉืืืชื ืืืืช ืฉืืื ืืงืื ืืฆืืืชืื ืฉืื ืืื ืฉืงืืคืืช ืืืืจืืืช ืืฉืืชืคืช, ืืืืืื ืืฉืืฆืืืชืื ืืืืื. ืื ืื ืื, ืชืฆืืจื ืืืฉืงืืข ืืืื ืขืืืื, ืืื ืชืืื ืขืืืฃ ืื ืืชื ืืืืช ืืจืืจืช ืืืืื ืืื ืืืชื ืืืืช ืฉืืชื ืจืืฆื ืืคืงืืืืช ืฉืื.
ืืื ืื ืื ื ืืืืจืื ืขื ืื?
ืืื ืงืืืื ืืชื ืืช ืืืืืจ
ืชืจืืื:
ืืืื ืืฉื ื ืืืืฉื ืืื, ืื ื ืืืื ืืืชืืืื ืขื ืืื ืืืืืืื ืืืืจืื ืืื ื. 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 ืืื ืงืฉืืจ ืงืฉืจ ืืืืง ืืชืืคืขืช ืืืืื ืฉื ืืชื ืืืืช ืืืืืืจืืชื ืืืฉื?
ืื ืื ืื ื ืฆืจืืืื ืืืืจ ืขื ืืื ื ืฆื ืืืืฆื ืืื:
- ืชืืืื ืืืกืคืจ ืืืฉืงื API ืคื ืืืืื, ืืชืกืื ืืช ืืืืืืจืืชื ืืืฉื ืืืืฆื ืืฉืืืืฉ ืขื ืฉ-D ืชืืื ืืืคืกืืง ืืืฉืชืืฉ ืื.
- ืชืืืื ืืืกืคืจ ืืจืกืืืช ืืืืืจื, ืืืช ืขื ืืืืฉืง ืืืฉื, ืืืช ืขื ืืืืฉื.
- ืืื ืืช ืฉืืจืืจ ืืฉืื ืืืื ืฉื 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