এতগুলি নেমস্পেস কেন কম দিয়ে শুরু হয়


45

আমি লক্ষ্য করেছি যে প্রচুর সংস্থাগুলি "বিপরীত ডোমেন নেম" নেমস্পেস ব্যবহার করে এবং আমি আগ্রহী যেখানে এই অনুশীলনের সূচনা হয়েছিল এবং কেন এটি অব্যাহত রয়েছে। এটি কি কেবল রট অনুশীলনের কারণে অব্যাহত রয়েছে, বা এখানে কোনও অনুপস্থিত আর্কিটেকচার ধারণাটি আমি মিস করছি?

এছাড়াও প্রশ্নগুলি নোট করুন: https://stackoverflow.com/questions/189209/do-you-really-use-your-revers-domain-for-package-naming-in-java আমার প্রশ্নের এই ধরণের উত্তর কিন্তু 100 নয় %

(যদি এটি আপনাকে আরও ভাল বোধ করে, আমি যদি আমার জাভাস্ক্রিপ্ট নেমস্পেসিংয়ের প্রচেষ্টার জন্য এটি ব্যবহার করি তবে আমি সত্যিই কৌতুহল বোধ করি, তবে কখন এবং কেন আমি সে সম্পর্কে আরও আগ্রহী এবং এটি জাভাস্ক্রিপ্ট উত্তরে আমাকে গাইড করতে সহায়তা করবে, নোটা নীচে: "উইন্ডো")

ফোল্ডার এবং ফাইলগুলিতে প্রসারিত এই অনুশীলনের উদাহরণ: http://imgur.com/jtdXo


1
এটি আশ্চর্যজনক, আমি এটি আগে কখনও দেখিনি .. এখন আমি কৌতূহলী।
জিমি হোফা

উত্তর:


54

বিপরীত ডোমেন নোটেশনের জাভাতে এর উত্স রয়েছে তবে অ্যান্ড্রয়েড প্যাকেজগুলি, ম্যাক ওএস এক্স প্যাকেজগুলি, জাভাস্ক্রিপ্ট, অ্যাকশনস্ক্রিপ্ট এবং আরও অনেক কিছুতে প্ল্যাটফর্মগুলিতে এটি ব্যাপকভাবে ব্যবহৃত হয়।

অনুশীলনটি অত্যন্ত কার্যকর কারণ এটি নাম স্পেসিং সফ্টওয়্যারটির জন্য একটি বিকেন্দ্রিত সিস্টেম সরবরাহ করে। নেমস্পেসের জন্য কোনও কেন্দ্রীভূত এজেন্সিতে আবেদন করার দরকার নেই; কেবলমাত্র আপনার নিজের ডোমেন নামটি (বিপরীত) ব্যবহার করুন এবং এটি আপনার নিজের প্রতিষ্ঠানের মধ্যে পরিচালনা করুন। এই জাতীয় প্যাকেজ নামকরণ করে, একটি প্রায় নিশ্চিত হতে পারে যে কোড অন্যান্য প্যাকেজগুলির সাথে বিরোধ করবে না।

ওরাকল এর জাভা টিউটোরিয়াল থেকে :

সংস্থাগুলি তাদের প্যাকেজ নামগুলি শুরু করতে তাদের বিপরীত ইন্টারনেট ডোমেন নাম ব্যবহার করে উদাহরণস্বরূপ, প্রোগ্রামার দ্বারা তৈরি মাইপ্যাকেজ নামের একটি প্যাকেজের জন্য com.example.mypackage।

একটি সংস্থার মধ্যে সংঘটিত নামের সংঘর্ষগুলি সেই সংস্থার মধ্যে কনভেনশন দ্বারা পরিচালনা করা প্রয়োজন, সম্ভবত অঞ্চল বা প্রকল্পের নাম সংস্থার নামের পরে (উদাহরণস্বরূপ, com.example.region.mypackage) অন্তর্ভুক্ত করে।

এটি একটি রোট অনুশীলনের চেয়ে বেশি, এটি ভাল অনুশীলন কারণ এটি একটি সম্পূর্ণ এবং সম্পূর্ণ নির্দিষ্ট নামের জায়গা। যদি অ্যাকমে নামের দুটি সংস্থা থাকত এবং দু'জনেই নাম স্থানটি বেছে নিয়েছিল acme., তবে তাদের কোডের বিরোধ হবে। তবে সেই সংস্থাগুলির মধ্যে একটিরই acme.com ডোমেনটির মালিকানা থাকতে পারে , তাই তারা নাম স্থানটি ব্যবহার করতে পারে com.acme.

ডোমেন নামটির বিপরীতকরণ একটি শীর্ষ-ডাউন স্থাপত্যের অনুমতি দেয়। comসংস্থাগুলির (বা যারাই একটি .com ডোমেন নামের নিজস্ব মালিক) এর কোড এবং এর নীচে সংস্থার (ডোমেন) নাম থাকবে contain তারপরে, এর মধ্যে আরও গভীরতর হবে সংস্থার কাঠামো এবং / বা প্রকৃত নাম স্থান। (উদাহরণস্বরূপ, যদি এটি অভ্যন্তরীণ.একএম.কম নামে পরিচিত কোনও নেটওয়ার্কের কোড ছিল , যা এই বিভাগটিকে তাদের নিজস্ব উপ-নামস্থান দেয় 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

এর কারণ নেমস্পেসগুলি ব্যবহার করে নাম বিরোধের সম্ভাবনাগুলি ব্যাপকভাবে হ্রাস করে এবং আপনার ডোমেন নামটি (যা ইতিমধ্যে নিয়ন্ত্রিত হয়েছে) ব্যবহার করা একটি বিশ্বব্যাপী নেমস্পেস তৈরি করার একটি ভাল উপায় ।

নেমস্পেসের ডোমেন অংশটি উল্টিয়ে আপনি এটিকে বাছাইযোগ্য করে তোলেন; নাম স্থান মহাবিশ্বের আপনার সামান্য অংশের সাথে সম্পর্কিত সমস্ত নাম এক সাথে সাজানো হয়েছে।

এবং সর্বশেষে তবে সর্বনিম্ন নয়, টিএলডি .comহ'ল ইন্টারনেটের সর্বাধিক জনপ্রিয় টিএলডি, তাই এটি অন্য কোনও টিএলডির চেয়ে বেশি সফ্টওয়্যার বিকাশকারীরা ব্যবহার করেন।

যাই হোক না কেন, অনুশীলনটি জাভা দিয়ে শুরু হয়েছিল, যেখানে প্রতিটি শ্রেণীর নিজস্ব ফাইল থাকা দরকার এবং বৃহত্তর বাস্তুতন্ত্রে খেলতে ক্লাসগুলি যোগ্যতা অর্জনে সহজ রাখতে সহায়তা করার জন্য গ্লোবাল নেমস্পেস স্কিমটি চালু করা হয়েছিল।


এটি কি কঠোরভাবে প্রয়োগ করা হয়? ধরুন আমি প্যাকেজ com.xyz তৈরি করার চেষ্টা করেছি তবে ডোমেনটির মালিকানা নেই, অ্যান্ড্রয়েড কি আমাকে এটি করতে বাধা দেবে?
বরুণআগউ

@ ভারুনআগ ডাব্লু না, আপনি নোংরা খেলতে পারেন এবং দ্বন্দ্ব জোর করতে পারেন।
মার্টিজন পিটার্স

দ্বন্দ্ব ব্যতীত, ছোট প্রকল্পগুলির জন্য অর্গনাম.প্রজেক্টনামটি ব্যবহার করা আরও তাত্পর্যপূর্ণ হয়
বরুণআগউ

আপনি সম্মেলনের মুখোমুখি হয়ে উড়ে যাবেন, তবে এটি আপনার ডাক।
মার্তিজান পিটারস

2

Endianness

আমি জাভা বিশেষজ্ঞ নই, তবে সাধারণ প্যাটার্ন হিসাবে এটি বিগ-এন্ডিয়ান বনাম লিটল-এন্ডিয়ানের রূপকভাবে বলতে গেলে কেবল অন্য এক অনুমান।

"এন্ডিয়ানেশন" কখনও কখনও কোনও ডোমেন নামের উপাদানগুলির ক্রম বর্ণনার জন্য ব্যবহৃত হয়, যেমন 'এন.ইউইকপিডিয়াআর.আর.ইউ' (সাধারণ আধুনিক 'লিটল-এন্ডিয়ান' ফর্ম) বনাম বিপরীত-ডিএনএস 'org.wikedia.en' ( 'বিগ-এন্ডিয়ান', কম্পিউটার সিস্টেমে উপাদান, প্যাকেজগুলি বা প্রকারের নামকরণের জন্য ব্যবহৃত হয়, উদাহরণস্বরূপ জাভা প্যাকেজ, ম্যাকিনটোস ".পুলিস্ট" ফাইল, ইত্যাদি)। হোস্ট অংশটি 'ছোট-এন্ডিয়ান' ডিএনএস নাম হতে পারে, যদিও ইউআরএলগুলিকে 'বিগ-এন্ডিয়ান' হিসাবে বিবেচনা করা যেতে পারে।

এই ক্ষেত্রে, সম্ভবত এটি সাংগঠনিক উদ্দেশ্যে প্রাকৃতিক দলবদ্ধকরণ / গাছের শাখা প্রশাখার অনুমতি দেয়। এটি একটি উচ্চ স্তরে জিনিসগুলি পরিষ্কার রাখে এবং আপনি আরও নির্দিষ্ট বিশদ জন্য খনন করেন।

বিকল্পটি খুব সমতল হবে, এবং অর্থবহ / সম্ভাব্য উপকারী গ্রুপিংয়ের কাঠামোর অভ্যন্তরীণ হয়ে ব্যাখ্যা করতে হবে।


7
গলি, বিপরীত-ডোমেন নেমস্পেস স্কিমের কথা বলতে কখনও কখনও শুনেনি ..
মার্টিজন পিটার

আমি তখনও ছিলাম না, যতক্ষণ না কোনও সহকর্মী একটি কথোপকথনে এটিকে ছুঁড়ে ফেলে কিছুটা স্পর্শকাতর আলোচনার জন্ম দেয়। তিনি উইকিপিডিয়াটিকে প্রত্যাখাত করবেন (যেমন সংযুক্ত), তাই সম্ভবত এটি শোনা যায় না। এই দৃষ্টিকোণটি সামঞ্জস্য করার জন্য আমাকে আমার আক্ষরিক মনকে কিছুটা শিথিল করতে হয়েছিল, তবে আমি এটির সাথে বাঁচতে পারি।
এড

3
হ্যাঁ, ডিএনএস অন্তিমতার এই আলোচনাটি প্রায়শই প্রায়শই আসে। ইউকে-তে দীর্ঘ -কালীন "জানুস" নেটওয়ার্কটির নামগুলি ছিল অন্য দিকের রাউন্ডে এবং তারা সর্বদা বলেছিল যে আরপানেট জনতা জিনিস পেছনের দিকে পেয়েছে।
রস প্যাটারসন

3
@ রোসপ্যাটারসন: ফাইল সিস্টেমস, অপারেটিং সিস্টেমস, ফেসটেড ক্লাসিফিকেশন সিস্টেমস, লাইব্রেরি ফাইলিং সিস্টেমস, ফোন নম্বরগুলি, তাদের বেশিরভাগই বাম দিকের মূল দিয়ে শুরু করে এবং আরও নির্দিষ্ট করে পান। মুরগি, এমনকি বেশিরভাগ ডিএনএস নামের সার্ভার কনফিগারেশন ফাইলগুলি সেভাবে করে। সুতরাং, আমি জানুস জনতার সাথে একমত হই।
Jörg ডব্লু মিট্টাগ

1
@ রোসপ্যাটারসন তাদের নাম দিয়েছিলেন, আমি অবাক হয়েছি যে "আশেপাশের সঠিক উপায়" হিসাবে গণনা সম্পর্কে জেনাসের একটি মতামত রয়েছে।
ট্রিগ

0

আমি মনে করি অন্যান্য উত্তরগুলিতে একটি ছোট্ট বিস্তারিত উল্লেখ করা হয়নি: ডাব্লিউএম টিএলডি সর্বাধিক জনপ্রিয় একটি কারণ, এটি ওয়েবের প্রথম দিনগুলিতে নেটস্কেপ নেভিগেটরের মতো ওয়েব ব্রাউজারগুলি "স্বয়ংক্রিয়ভাবে সংযুক্ত" ছিল। এটি ঠিকানায় অনুপস্থিত ছিল (উদাহরণস্বরূপ, যদি নাম অনুসন্ধান ব্যর্থ হয়)। সুতরাং আপনি যদি "শেয়ারওয়ার" টাইপ করেন তবে এটি " http://shareware.com " এ প্রসারিত হবে (বা " http://www.shareware.com "; আমি www বিস্তারিত মনে করি না)। .com ডোমেনগুলি সম্ভবত এখনও সবচেয়ে জনপ্রিয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.