पिछला

ⓘ Menurepository - Wiki ..



Free and no ads
no need to download or install

Pino - logical board game which is based on tactics and strategy. In general this is a remix of chess, checkers and corners. The game develops imagination, concentration, teaches how to solve tasks, plan their own actions and of course to think logically. It does not matter how much pieces you have, the main thing is how they are placement!

online intellectual game →
                                     

ⓘ Menurepository

संस्करण नियंत्रण, एक monorepository है एक सॉफ्टवेयर विकास की रणनीति है, जहां कोड की कई उप में संग्रहीत किया जाता है एक ही भंडार. 2017 तक, कुछ रूपों के विकास अभ्यास कर रहे हैं पहले से ही अधिक से अधिक एक दशक पुराना है, लेकिन मुख्य नाम की इस अवधारणा को हाल ही में दिखाई दिया । कई प्रयास किए गए थे करने के लिए अलग-अलग धारणाओं के अखंड अनुप्रयोगों और अन्य नए रूपों के menurepository.

Google, Facebook, माइक्रोसॉफ्ट और ट्विटर का उपयोग बड़ा monorepositories विभिन्न रणनीतियों के साथ पैमाने पर करने के लिए निर्माण और संस्करण नियंत्रण प्रणाली के साथ की भारी मात्रा में कोड और दैनिक परिवर्तन.

                                     

1. फायदे

वहाँ के एक नंबर रहे हैं संभव के फायदे menurepository पर अलग-अलग खजाने:

आसान कोड का पुन: उपयोग - इसी तरह की कार्यक्षमता या संचार प्रोटोकॉल आवंटित किया जा सकता करने के लिए साझा पुस्तकालयों और सीधे कनेक्ट करने के लिए परियोजनाओं के लिए आवश्यकता के बिना एक पैकेज प्रबंधक से कनेक्ट करने के लिए निर्भरता.

  • सरलीकृत निर्भरता प्रबंधन में - एक बहु-घटक भंडार वातावरण में जहां अलग-अलग परियोजनाओं पर निर्भर तृतीय-पक्ष घटक है, इन घटकों को लोड किया जा सकता है या एम्बेडेड कई बार. में एक monorepository, निर्माण कर सकते हो आसानी से अनुकूलित किया है, के बाद से सभी निर्भर घटकों में स्थित हैं एक ही कोड बेस.
  • बड़े पैमाने पर कोड refactoring - के बाद से डेवलपर्स के लिए उपयोग किया है पूरे अखंड परियोजना, कोड सरलीकरण जोड़तोड़ की गारंटी कर रहे हैं रखने के लिए हर परियोजना के हिस्से के कामकाज के बाद जोड़तोड़ पूरा कर रहे हैं ।
  • सहयोग टीमों के बीच में एक monorepository का उपयोग करता है कि स्रोत कोड निर्भरता, कुछ टीमों कर सकते हैं और अधिक आसानी से सुधार परियोजनाओं है कि अन्य टीमों पर काम किया है. यह करने के लिए सुराग और अधिक लचीला कोड स्वामित्व.
  • परमाणु करता है - जब परियोजनाओं में एक साथ काम कर रहे हैं में निहित अलग खजाने, विज्ञप्ति कि सिंक्रनाइज़ संस्करणों की एक परियोजना के साथ एक और आवश्यक हैं के लिए उन्हें करने के लिए एक साथ काम. में काफी बड़ी परियोजनाओं के लिए संघर्ष की अनुकूलता संस्करण के साथ अलग-अलग निर्भरता में बदल सकते हैं एक निर्भरता नरक.
                                     

2. सीमाएं और कमियां

  • अधिक भंडारण अंतरिक्ष के साथ साझा खजाने के लिए, आप केवल बनाने के लिए संपादन subproject है कि आप में रुचि रखते हैं । के साथ menurepository हो सकता है आप की जरूरत है बनाने के लिए परिवर्तन करने के लिए सभी उप. यह ध्यान दिया जाना चाहिए कि यह एक समस्या नहीं है जब का उपयोग कर SVN अनुमति देता है, जो आप लोड करने के लिए किसी भी भाग के भंडार के रूप में की जरूरत है, यहां तक कि एक एकल निर्देशिका.
  • डेटा हानि के संस्करणों - हालांकि यह वैकल्पिक है, कुछ menurepository का उपयोग कर एकत्र की एक ही विधानसभा संस्करण संख्या पर सभी उप परियोजनाओं में menurepository. इस नुकसान में परिणाम के अलग-अलग संस्करण नंबरिंग के लिए प्रत्येक subproject.
  • विश्वसनीयता की कमी के उप - विभाजन के साथ के खजाने, रिपोजिटरी के लिए उपयोग कर सकते हैं के रूप में दी जा जरूरत है. Menurepository देता है के लिए पठन पहुँच के लिए सभी सॉफ्टवेयर परियोजना में है कि संभावना है का प्रतिनिधित्व करने के लिए एक सुरक्षा खतरा है ।
                                     

3. समस्या के scalability

कंपनियों के साथ परियोजनाओं की एक बड़ी संख्या के साथ समस्याओं का सामना scalability के monorepository, विशेष रूप से उन लोगों से संबंधित करने के लिए विधानसभा उपकरण और संस्करण नियंत्रण प्रणाली है । यह माना जाता है कि गूगल के monorepository है दुनिया में सबसे बड़ा और के वर्गीकरण के अंतर्गत आता अल्ट्रा बड़े पैमाने पर सिस्टम और सेवा करनी चाहिए डेवलपर्स के हजारों हर दिन में एक रिपोजिटरी के 80 से अधिक टेराबाइट्स.

                                     

<मैं> 3.1. की समस्या के scalability स्केलिंग संस्करण नियंत्रण प्रणाली

कंपनियों का उपयोग कर या परिवर्तित करने के लिए मौजूदा संस्करण नियंत्रण प्रणाली है कि पाया सॉफ्टवेयर नहीं कर सकता प्रभावी ढंग से प्रक्रिया डेटा की राशि के लिए आवश्यक विशाल monorepositorials. Facebook और Microsoft का फैसला किया है बनाए रखने के लिए या कांटा मौजूदा चंचल और Git रिपॉजिटरी, क्रमशः, जबकि गूगल अंततः बनाया अपने स्वयं के संस्करण नियंत्रण प्रणाली है ।

के लिए एक दशक से अधिक, गूगल पर भरोसा है ख़ामख़ाह तैनात एक ही मशीन पर. 2005 में, सर्वर के लिए गूगल का निर्माण अवरुद्ध किया जा सकता अप करने के लिए 10 मिनट से एक समय में, और 2010 में 30 सेकंड से 1 मिनट के लिए.

Facebook का सामना करना पड़ा प्रदर्शन के मुद्दों के साथ चंचल संस्करण नियंत्रण प्रणाली और विकास के लिए योगदान दिया है की ग्राहक; जनवरी 2014 में, यह इसे बनाया है की तुलना में तेजी से एक प्रतिस्पर्धा में कार्यान्वयन Git.

मार्च 2014 में, माइक्रोसॉफ्ट की घोषणा करने के लिए संक्रमण का उपयोग Git के लिए अपने स्वयं के monorepository. संक्रमण के दौरान, माइक्रोसॉफ्ट के लिए किए गए महत्वपूर्ण योगदान के विकास के लिए एक Git ग्राहक को हटाने के लिए उपयोग करने के लिए अनावश्यक फ़ाइलों और बेहतर हैंडलिंग के लिए बड़ी फ़ाइलों के माध्यम से एक आभासी फाइल सिस्टम के लिए Git.



                                     

<मैं> 3.2. की समस्या के scalability स्केलिंग निर्माण उपकरण

कुछ के निर्माण उपकरणों में अच्छी तरह से काम menurepository. सिस्टम के आधार पर एक निर्देशित अचक्रीय ग्राफ, इस तरह के रूप में बक, Bazel, पैंट, और कृपया का उपयोग करें, अलग बनाता है और परीक्षण के लिए सक्रिय विकास क्षेत्र है ।

ट्विटर के विकास शुरू कर दिया पैंट 2011 में, के रूप में Facebook के बक और गूगल के Bazel थे दोनों निजी कोड पर समय है. ट्विटर खोला पैंट कोड में 2012 अपाचे 2.0 लाइसेंस के अंतर्गत.

जाने-आधारित कृपया के निर्माण प्रणाली के साथ विकसित किया गया था, 2016 में सोचा द्वारा मशीन से प्रेरित है, गूगल के Bazel और Facebook के असन्तुष्ट बक.

Bazel, हिरन, पैंट, और का उपयोग करें Starlark, पूर्व चकवा, एक अजगर आधारित वस्तु उन्मुख विधानसभा भाषा है ।

कुछ विशेष विधानसभा के लिए उपकरण monorepositories, इस तरह के रूप में Lerna, की समस्या को हल duplicating निर्भरता, लेकिन ऐसा नहीं है क्षमताओं की एक निर्देशित अचक्रीय ग्राफ.

शब्दकोश

अनुवाद
Free and no ads
no need to download or install

Pino - logical board game which is based on tactics and strategy. In general this is a remix of chess, checkers and corners. The game develops imagination, concentration, teaches how to solve tasks, plan their own actions and of course to think logically. It does not matter how much pieces you have, the main thing is how they are placement!

online intellectual game →