क्यों कई नामस्थान कॉम के साथ शुरू होते हैं


45

मैंने देखा है कि बहुत सी कंपनियां "रिवर्स डोमेन नाम" नामस्थान का उपयोग करती हैं और मैं उत्सुक हूं कि यह अभ्यास कहां से शुरू हुआ और क्यों जारी है। क्या यह केवल रटे अभ्यास के कारण जारी है, या एक उत्कृष्ट वास्तुकला अवधारणा है जो मैं यहां याद कर रहा हूं?

इस तरह के प्रश्नों पर भी ध्यान दें: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java जो मेरे प्रश्न का उत्तर दें, लेकिन 100 नहीं %

(यदि यह आपको कोई बेहतर महसूस कराता है, तो मैं वास्तव में उत्सुक हूं अगर मुझे इसे अपने जावास्क्रिप्ट नामस्थान प्रयासों के लिए उपयोग करना चाहिए, लेकिन मैं तब और क्यों इसके बारे में अधिक उत्सुक हूं, और मुझे जावास्क्रिप्ट उत्तर पर मार्गदर्शन करने में मदद करनी चाहिए, नोटा bene: "विंडो")

इस अभ्यास का उदाहरण फ़ोल्डर्स और फ़ाइलों तक फैली हुई है: http://imgur.com/jtdXo


1
यह अजीब है, मैंने इसे पहले कभी नहीं देखा है .. अब मैं उत्सुक हूं।
जिमी हॉफ

जवाबों:


54

रिवर्स डोमेन नोटेशन की उत्पत्ति जावा में है, लेकिन इसका उपयोग कई प्लेटफार्मों में किया जाता है, जैसे कि एंड्रॉइड पैकेज, मैक ओएस एक्स पैकेज, जावास्क्रिप्ट, एक्शनस्क्रिप्ट और बहुत कुछ।

यह अभ्यास अत्यंत उपयोगी है क्योंकि यह नामस्थान सॉफ्टवेयर के लिए एक विकेंद्रीकृत प्रणाली प्रदान करता है। नाम के लिए एक केंद्रीकृत एजेंसी पर आवेदन करने की कोई आवश्यकता नहीं है; बस उस डोमेन नाम का उपयोग करें जिसका आप स्वयं (उल्टा) उपयोग करते हैं और उसे अपने संगठन के भीतर प्रबंधित करते हैं। इस तरह से संकुल के नामकरण से, एक लगभग निश्चित हो सकता है कि कोड अन्य संकुल के साथ संघर्ष नहीं करेगा।

ओरेकल के जावा ट्यूटोरियल से :

कंपनियां उदाहरण के लिए अपने पैकेज के नाम को शुरू करने के लिए अपने उलटे इंटरनेट डोमेन नाम का उपयोग करती हैं, com.example.mypackage के लिए पैकेज का नाम mypackage है जो example.com पर एक प्रोग्रामर द्वारा बनाया गया है।

एक कंपनी के भीतर होने वाले नाम टकराव को उस कंपनी के भीतर सम्मेलन द्वारा नियंत्रित किया जाना चाहिए, शायद कंपनी के नाम के बाद क्षेत्र या परियोजना का नाम शामिल है (उदाहरण के लिए, com.example.region.mypackage)।

यह रटे अभ्यास से अधिक है, यह अच्छा अभ्यास है क्योंकि यह एक पूर्ण और पूरी तरह से विशिष्ट नामस्थान है। अगर एक्मे नाम की दो कंपनियां थीं और दोनों ने नाम स्थान चुना acme., तो उनका कोड संघर्ष करेगा। लेकिन उन कंपनियों में से केवल एक ही डोमेन acme.com का मालिक हो सकता है , इसलिए उन्हें com.acme.नामस्थान का उपयोग करने के लिए मिलता है ।

डोमेन नाम को उलटने से टॉप-डाउन आर्किटेक्चर की अनुमति मिलती है। comकंपनियों के लिए कोड होगा (या जो कोई भी .com डोमेन नाम का मालिक है), और उसके नीचे कंपनी (डोमेन) नाम होंगे। फिर, उस संगठन के ढांचे और / या वास्तविक नामस्थान की गहराई होगी। (उदाहरण के लिए, यदि यह internal.acme.com नामक नेटवर्क से कोड होता है , जो इस विभाग को अपना उप-नामस्थान देता है com.acme।) इस शीर्ष-डाउन संरचना का उपयोग सिस्टम प्रशासन सहित कई अनुप्रयोगों में किया जाता है। (यह रिवर्स आईपी एड्रेस लुक्स के समान है।)

व्यक्तिगत रूप से, मैं इसे अपनी कंपनी के लिए लिखने वाले सभी नए जावास्क्रिप्ट कोड के लिए उपयोग करता हूं। यह सुनिश्चित करता है कि कोड कभी भी किसी अन्य कोड के साथ संघर्ष नहीं करेगा, भले ही मैं बाद में किसी अन्य कंपनी के लिए समान कोड लिखूं। यह कोड को बोझिल com.digitalfruition.कर सकता है (टाइपिंग थोड़ी अधिक हो सकती है) लेकिन इसे आसानी से एक क्लोजर और एक स्थानीय चर ( var DF = com.digitalfruition) के साथ काम किया जा सकता है ।


मुझे अपने एंड्रॉइड ऐप के यादृच्छिक पैकेज नाम को बदलने की सोचनी चाहिए ... या उस डोमेन को खरीदना चाहिए। :(
jadkik94

मुझे आश्चर्य है कि अगर किसी को 123ABC.com जैसी संख्या के साथ शुरू होने वाली कंपनी के नाम की समस्या को हल करने का एक तरीका मिल गया, तो आपको इस मामले में किस नामकरण सम्मेलन का उपयोग करना चाहिए, जहां जावा आपको किसी भी वर्ग के नाम के साथ शुरू करने की अनुमति नहीं देगा। एक संख्या?!
सोरिन

1
@ सोरिन - अंडरस्कोर के साथ अपने पैकेज नाम के संबंधित भाग को उपसर्ग करें। जैसे com._123ABC,। Docs.oracle.com/javase/tutorial/java/package/namingpkgs.html पर उदाहरण ।
cxw

13

ऐसा इसलिए है क्योंकि नामस्थान का उपयोग करने से नाम की संभावनाएं बहुत कम हो जाती हैं, और क्योंकि आपके डोमेन नाम (जो पहले से विनियमित हो चुका है) का उपयोग करना वैश्विक नाम स्थान बनाने का एक अच्छा तरीका है ।

नाम स्थान में डोमेन भाग को उल्टा करके, आप इसे क्रमबद्ध बनाते हैं; सभी नाम जो आपके छोटे नाम के नाम ब्रह्मांड के हैं, एक साथ क्रमबद्ध हैं।

और अंतिम लेकिन कम से कम नहीं, TLD .comइंटरनेट पर सबसे लोकप्रिय TLD है, इसलिए इसे किसी भी अन्य TLD की तुलना में अधिक सॉफ़्टवेयर डेवलपर्स द्वारा उपयोग किया जाता है।

किसी भी मामले में, अभ्यास जावा के साथ शुरू हुआ, जहां प्रत्येक और हर वर्ग को अपनी फ़ाइल की आवश्यकता होती है, और एक बड़े पारिस्थितिकी तंत्र में खेलने के लिए वैश्विक नामस्थान योजना शुरू की गई ताकि वर्गों को अर्हता प्राप्त करने में आसानी हो।


क्या इसे सख्ती से लागू किया जाता है? मान लीजिए मैं पैकेज com.xyz बनाने की कोशिश करता हूं लेकिन डोमेन का मालिक नहीं हूं, तो क्या android मुझे ऐसा करने से रोकेगा?
वरुणअग्व

@VarunAgw नहीं, आप गंदे और जबरदस्ती संघर्ष खेल सकते हैं।
मार्टिज़न पीटरर्स

संघर्ष के अलावा, यह OrgName का उपयोग करने के लिए और अधिक समझ में आता है। छोटी परियोजनाओं के लिएroject नाम फिर
वरुणअगव

आप सम्मेलन के चेहरे पर उड़ रहे होंगे, लेकिन यह आपकी कॉल है।
मार्टिजन पीटरर्स

2

endianness

मैं एक जावा विशेषज्ञ नहीं हूं, लेकिन सामान्य पैटर्न के रूप में यह बड़े-एंडियन बनाम लिटिल-एंडियन, रूपक रूप से बोलने का सिर्फ एक और क्रमचय है।

"एंडियननेस" कभी-कभी एक डोमेन नाम के घटकों के क्रम का वर्णन करने के लिए उपयोग किया जाता है, जैसे 'en.wikipedia.org' (सामान्य आधुनिक 'लिटिल-एंडियन' फॉर्म) बनाम रिवर्स 'DNS.wikipedia.en' (आमतौर पर) 'बिग-एंडियन', जिनका इस्तेमाल कंपोनेंट, पैकेज या कंप्यूटर सिस्टम में टाइप करने के लिए किया जाता है, उदाहरण के लिए जावा पैकेज, मैकिनटोश ".plist" फाइल्स इत्यादि)। URL को 'बिग-एंडियन' माना जा सकता है, भले ही होस्ट हिस्सा 'लिटिल-एंडियन' डीएनएस नाम हो।

इस मामले में, प्राकृतिक संस्थागत / पेड़ शाखाओं के लिए अनुमति देने के लिए संगठनात्मक उद्देश्यों के लिए संभवतः। यह उच्च स्तर पर चीजों को सुव्यवस्थित रखता है, और आप अधिक विशिष्ट विवरण के लिए खुदाई करते हैं।

विकल्प बहुत सपाट होगा, और सार्थक / संभावित रूप से उपयोगी समूहीकरण की संरचना के आंतरिक बनाम बनाम व्याख्या की जानी होगी।


7
गोली, कभी नहीं सुना था कि अंत-डोमेन नाम स्थान योजना का उल्लेख करने के लिए उपयोग किया जाता है ..
Martijn Pieters

मैं या तो नहीं था, जब तक कि एक सहकर्मी ने इसे बातचीत में बाहर फेंक दिया और कुछ स्पर्शरेखा चर्चा नहीं की। वह विकिपीडिया (जैसा जुड़ा हुआ है) को परिष्कृत करेगा, तो जाहिर तौर पर यह अनसुना नहीं है। मुझे इस दृष्टिकोण को समायोजित करने के लिए अपने शाब्दिक दिमाग को थोड़ा आराम देना था, लेकिन मैं इसके साथ रह सकता हूं।
एड हेस्टिंग्स

3
हाँ, DNS एंडियननेस की यह चर्चा समय-समय पर होती रहती है। ब्रिटेन में अब लंबे समय से चले आ रहे "जानूस" नेटवर्क का नाम दूसरे-दौर के रूप में था, और उन्होंने हमेशा कहा कि ARPANet भीड़ को चीजें पीछे की तरफ मिलीं।
रॉस पैटरसन

3
@RossPatterson: फाइलसिस्टम, ऑपरेटिंग सिस्टम, फेसिडेटेड क्लासिफिकेशन सिस्टम, लाइब्रेरी फाइलिंग सिस्टम, फोन नंबर, इनमें से अधिकांश बाईं ओर रूट से शुरू होते हैं और फिर अधिक विशिष्ट होते हैं। बिल्ली, यहां तक ​​कि अधिकांश DNS नाम सर्वर कॉन्फ़िगरेशन फ़ाइलें इसे इस तरह से करती हैं। इसलिए, मैं जानूस भीड़ से सहमत हूँ।
जोर्ग डब्ल्यू मित्तग

1
@RossPatterson उनके नाम को देखते हुए, मुझे आश्चर्य है कि जानूस की राय है कि "सही तरीका" के रूप में क्या मायने रखता है।
टीआरआईजी

0

मुझे लगता है कि अन्य उत्तरों में एक मामूली विवरण का उल्लेख नहीं किया गया था: कारण है कि .com TLD सबसे लोकप्रिय एक है, यह है कि वेब के शुरुआती दिनों में, नेटस्केप नेविगेटर जैसे वेब-ब्राउज़र "ऑटो-एपेंडेड" .com यदि यह पते में गायब था (उदाहरण के लिए, यदि नाम-लुकअप विफल हुआ)। इसलिए यदि आपने "शेयरवेयर" टाइप किया है, तो इसका विस्तार " http://shareware.com " (या " http://www.shareware.com " पर होगा; मुझे www डिटेल याद नहीं है)। .com डोमेन अभी भी सबसे लोकप्रिय हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.