इसका क्या मतलब है जब कुछ तकनीक एक "मानक" है?


16

मैंने जावा ईई 7 सीखना शुरू कर दिया है और मैं अक्सर इस शब्द "मानक" पर आ रहा हूं, और मुझे समझ में नहीं आता है कि इसका क्या मतलब है।

इसलिए, उदाहरण के लिए, इस पुस्तक का एक उद्धरण है :

SOAP और WS- * स्टैक के विपरीत, जो W3C मानकों पर भरोसा करते हैं, REST का कोई मानक नहीं है और यह डिजाइन सिद्धांतों के साथ वास्तुकला की एक शैली है। अन्य एप्लिकेशन कई अन्य मानकों पर बहुत भरोसा करते हैं: HTTP, URI, URL ...

मुझे कुछ पता है कि इसका क्या मतलब हो सकता है, लेकिन मुझे यकीन नहीं है।

सबसे अच्छी व्याख्या जो मुझे दी गई है, वह है यहां से परिभाषा ।


7
तकनीकी मानक पर wikipage पढ़ें । लेकिन यह वास्तव में एक चर्चा हो सकती है । मानक आम तौर पर विनिर्देशों हैं: इसलिए C ++ 11 और Posix मानक हैं।
बेसिल स्टारीनेवविच

इसका मतलब यह है कि जिसे भी धक्का दे रहा है, वह आपको इसे खरीदने के लिए मनाने की कोशिश कर रहा है।
bmargulies

जवाबों:


21

प्रोग्रामिंग में "मानक" शब्द अक्सर एक प्रौद्योगिकी / दस्तावेज को संदर्भित करता है जो एक समूह या समुदाय द्वारा शासित होता है। उस समूह के सदस्य अक्सर सामान्य निवेश किए गए लक्ष्यों को साझा करते हैं, उस तकनीक के सक्रिय उपयोगकर्ता होते हैं और यह सुनिश्चित करना चाहते हैं कि प्रौद्योगिकी जारी रहे।

प्रोग्रामिंग में कई "चीजें" हैं जिनके पास एक समुदाय है जो उन्हें नियंत्रित करता है। ये सदस्य प्रोग्रामर से लेकर कॉर्पोरेट प्रतिनिधित्व (यानी Apple, Microsoft, IBM, आदि) तक हो सकते हैं।

W3C एक बहुत बड़ा समूह है जो कई मानकों को परिभाषित करने के लिए एक साथ काम करता है।

यहां सदस्यों की सूची दी गई है।

http://www.w3.org/Consortium/Member/List

REST एक तकनीक का एक उदाहरण है, इसके द्वारा लोकप्रियता का उपयोग कई लोगों द्वारा किया जाता है, लेकिन इसे नियंत्रित करने वाला कोई समूह या समुदाय नहीं है। इसलिए, उंगली को इंगित करने और कहने के लिए कोई जगह नहीं है "यह है कि मानकों का कहना है कि यह कैसे किया जाना चाहिए"

आईबीएम, माइक्रोसॉफ्ट जैसी कंपनियों और अन्य ने आरईएसटी को कैसे लागू किया जाए, इसके दस्तावेज प्रकाशित किए हैं। कोई कह सकता है कि REST को लागू करने का एक "सामान्य तरीका" है। आप एक आधिकारिक स्रोत चुन सकते हैं जो REST के कार्यान्वयन का वर्णन करता है, और उस संदर्भ का पालन करने का दावा करता है। आधिकारिक स्रोतों का उपयोग एक तरीका है जिससे हम वेब ब्राउज़र में संगतता की समस्याओं से निपट रहे हैं।


4
मैं मानकों को खोजने के लिए स्थानों की सूची में आरएफसी को भी

2
@ स्नोमैन ध्यान रखें कि सभी RFC मानक-ट्रैक नहीं हैं ; मेरा मानना है कि सबसे कर रहे हैं नहीं । इसके अलावा, जैसा कि आप अपने लिंक किए गए पृष्ठ के शीर्ष पर देख सकते हैं, आरएफसी 2616 आरएफसी 7230-7235 द्वारा पालन किया जाता है, जिसे इसके बजाय संदर्भित किया जाना चाहिए। संयोग से, वह केवल एक "प्रस्तावित मानक" है, न कि "इंटरनेट मानक" (दोनों मानक-ट्रैक हैं, लेकिन बाद को कहीं अधिक परिपक्व माना जाता है और बदलने की संभावना नहीं है)।
बॉब

@Snowman: आपकी टिप्पणी वास्तव में सबसे महत्वपूर्ण बात दर्शाती है: एक मानक तब है जब लोग सहमत हों कि यह एक मानक है। यदि आप वास्तव में आरआरएफ पृष्ठ को देखते हैं, तो आप देखेंगे कि सैकड़ों आरएफसी हैं, लेकिन वास्तव में केवल 78 मानक हैं। और HTTP, जिसका आपने उल्लेख किया है, वास्तव में एक मानक नहीं है! यह टिप्पणियों के लिए "सिर्फ" एक अनुरोध है, अर्थात कुछ विचार जो किसी के पास थे जिसकी वह चर्चा करना चाहता है। HTTP को एक मानक बनाने वाली बात यह नहीं है कि कुछ शासी निकाय इसे प्रकाशित करते हैं (क्योंकि शासी निकाय प्रश्न में वास्तव में इसे "मानक" नहीं कहता है), लेकिन क्योंकि लोग इसे एक मानते हैं।
जॉर्ग डब्ल्यू मित्तग

@ JörgWMittag मैंने हमेशा एक आधिकारिक स्रोत से प्रकाशित दस्तावेज़ होने के लिए एक मानक लिया है जिसमें कहा गया है कि कुछ कैसे होना चाहिए । समस्या यह है कि लोग इस बात से असहमत हो सकते हैं कि एक आधिकारिक स्रोत क्या है, जबकि अन्य अपनी आधिकारिक शक्तियों का दुरुपयोग करते हैं (यानी माइक्रोसॉफ्ट और ऐप्पल अच्छे उदाहरण हैं)। वे दोनों अक्सर मानकों की अनदेखी या प्रयास करने की कोशिश करते हैं। मानक अक्सर कुछ बड़े शक्तिशाली निगम हो सकते हैं जो उनके लिए लागू नहीं होते हैं।
रिएक्टगुलर

1
@ मैथ्यू "मैंने हमेशा एक आधिकारिक स्रोत से प्रकाशित दस्तावेज़ होने के लिए एक मानक लिया है जिसमें कहा गया है कि कुछ कैसे होना चाहिए।" - मैं आपकी टिप्पणी में इस वाक्य से सहमत हूं, लेकिन वर्तमान में आपका जवाब कहता है कि 'मानक' शब्द ही प्रौद्योगिकी को संदर्भित करता है। (उदाहरण के अनुसार, जावा एक मानक है, जावा ईई 7 युक्ति एक मानक नहीं है।) पिछले संस्करण ने कहा कि ऑरेकल या डब्ल्यू 3 सी जैसे संगठन , 'मानक' थे। आपके उत्तर को अपडेट करने की आवश्यकता है कि आप यहाँ क्या कहते हैं। जैसा लिखा है, आपके उत्तर में गलत सूचना है। :(
डोपेलग्रेनर

10

एक मानक एक तकनीकी दस्तावेज है जो यह निर्दिष्ट करता है कि प्रौद्योगिकी कैसे व्यवहार करती है। (कुछ प्रौद्योगिकियों के लिए, यह कुछ अन्य प्रकार के तकनीकी मानक हो सकते हैं ।) यही सब कुछ है और वे क्यों मौजूद हैं: वे दस्तावेज हैं, और वे प्रौद्योगिकी का वर्णन करते हैं।

इन दस्तावेजों को एक शासी निकाय द्वारा लिखा गया है, जिसके पास अधिकार और विश्वास है कि उनके लिए यह तय करने में सक्षम होना चाहिए कि तकनीक कैसे काम करती है, और लोगों को देखभाल के लिए जब वे एक मानक के रूप में विनिर्देश दस्तावेज जारी करते हैं। एक शासी निकाय विभिन्न तकनीकों या एक प्रौद्योगिकी के विभिन्न संस्करणों के लिए कई मानकों का उत्पादन कर सकता है। शासी निकाय को मानकों के अनुरक्षक, लेखक, संरक्षक आदि के रूप में भी जाना जा सकता है।

(क्या मैथ्यू का वर्णन करने के लिए इसके विपरीत, एक मानक है नहीं शासी निकाय है और न ही प्रौद्योगिकी ही। यह एक दस्तावेज है का वर्णन प्रौद्योगिकी, या यह का एक विशेष संस्करण।)

आपके द्वारा उल्लिखित तकनीकों (और अन्य) के लिए कुछ उदाहरण मानक:

  • सोप मानक, W3C द्वारा बनाए रखा।
  • URI मानक, STD66 में परिभाषित , इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) द्वारा बनाए रखा गया है, जो भी काम करते हैं ...
  • HTTP 1.1 विनिर्देशों , द्वारा लेखक HTTP कार्य समूह । ये रिक्वेस्ट फॉर कमेंट (RFC) हैं, लेकिन फिर भी यह निर्दिष्ट करें कि HTTP कैसे काम करता है। ये मानक वास्तव में बहुत नए हैं , केवल जून 2014 में जारी किए गए थे। HTTP 1.1 को पहले IFCF नेटवर्क वर्किंग ग्रुप द्वारा RFC 2616 में परिभाषित किया गया था ।
  • HTML के विनिर्देशों, HTML लिविंग स्टैंडर्ड में परिभाषित किया गया है । यह वेब हाइपरटेक्स्ट एप्लिकेशन टेक्नोलॉजी वर्किंग ग्रुप (WHATWG) द्वारा लिखित है । W3C इस मानक के विभिन्न संस्करणों को पुन: प्रकाशित करता है और उन्हें अन्य संस्करणों के बीच HTML 4 , XHTML 1.0 और HTML5 के रूप में जारी करता है । WHATWG ऐसा करने से नाखुश है।
  • जावा में एक मानक है, जिसे ओरेकल द्वारा बनाए रखा गया है। इसके विभिन्न संस्करणों के अलग-अलग मानक हैं, और आप स्वयं जावा ईई 7 मानक डाउनलोड कर सकते हैं ।
  • Microsoft पर एक टीम द्वारा लिखित C # भाषा विनिर्देश 5.0 । पिछले संस्करणों के अपने अलग विनिर्देश दस्तावेज हैं।

HTML इस तथ्य का एक अच्छा उदाहरण है कि किसी भाषा के विभिन्न संस्करणों में अक्सर अलग-अलग मानक होंगे। विभिन्न संस्करणों में विभिन्न दस्तावेजों का वर्णन है कि भाषा के विभिन्न संस्करणों को कैसे संभाला जाना चाहिए।

HTTP, इस बीच, समूहों के बीच एक मानक के कई उदाहरणों में से एक है : पहले नेटवर्क वर्किंग ग्रुप द्वारा, फिर HTTP वर्किंग ग्रुप के लिए, हालांकि दोनों ग्रुप IETF का हिस्सा थे। अन्य प्रौद्योगिकियां कंपनियों के बीच स्थानांतरित हो गई हैं, जैसे कि एचटीएमएल (फिर से), संस्करण 2 जिसमें से IFCF द्वारा RFC1866 में लिखा गया था ।

मानक क्यों मौजूद हैं?

वे हमें इस बात की गारंटी देते हैं कि चीजें कैसे काम करेंगी।

एचटीएमएल 5 विनिर्देश मुझे बताता है कि विभिन्न ब्राउज़र मुझे कैसे लिखते हैं और एचटीएमएल 5 मार्कअप को प्रदर्शित करेगा, मानकर कि वे मानक को सही तरीके से लागू करते हैं (जो ऐतिहासिक रूप से एक समस्या रही है)। C ++ 11 मानक मुझे उन चीजों के बारे में बताएगा जो मैं लिखता हूं कि C C 11 कोड क्या है या क्या नहीं करेगा।

इसी तरह, अगर मैं एक ब्राउज़र लिख रहा हूं , तो एचटीएमएल 5 मानक मुझे बताएगा कि मुझे एचटीएमएल 5 मार्कअप के विभिन्न टुकड़ों को संभालने की आवश्यकता है ताकि लोग वे प्राप्त करें जो वे अपेक्षा करते हैं। यदि मैं C ++ 11 संकलक लिख रहा हूं, तो C ++ 11 मानक मुझे बताएगा कि भाषा को सही तरीके से लागू करने के लिए मुझे क्या करने की आवश्यकता है और लोगों के कोड को काम करने के तरीके से काम करने की उम्मीद है।

उदाहरण के लिए, Microsoft लेखक C #। आप अपने लिए C # भाषा विनिर्देश 5.0 डाउनलोड कर सकते हैं । यह दस्तावेज एक वादा है कि आप जिस C # कोड को लिखते हैं, उसे विनिर्देशन में वर्णित किसी भी संकलक के व्यवहार के तरीके से व्यवहार करना चाहिए, जो वास्तव में विनिर्देश को सही तरीके से लागू करता है।

( यदि आप विनिर्देश के बाहर काम करते हैं , तो आप अपरिभाषित क्षेत्र में हैं और जो भी होगा या नहीं होगा, उसके बारे में कोई गारंटी नहीं है।)

ऐतिहासिक रूप से, मानक पेंच थ्रेड्स जैसी चीजों पर वापस जाते हैं , ताकि मुझे कुछ गारंटी मिल सके कि अगर मैं टाइप एक्स के एक स्क्रू का आदेश देता हूं, तो यह मेरे द्वारा ड्रिल किए गए छेद में फिट होगा, और एक्स के अन्य शिकंजा के साथ विनिमेय होगा।

जो हमें "मानक" शब्द की परिभाषा में वापस लाता है :

किसी चीज़ का स्वीकृत या स्वीकृत उदाहरण जिसके विरुद्ध दूसरों को आंका जाता है या मापा जाता है - कोलिन्स डिक्शनरी

मात्रात्मक या गुणात्मक मूल्य के लिए तुलना का एक स्वीकृत उपाय; एक कसौटी। - अमेरिकन हेरिटेज® स्टैडमैन मेडिकल शब्दकोश

यानी आप अपने सामान की तुलना यह सुनिश्चित करने के लिए करते हैं कि आपको वह मिलेगा जो आप उम्मीद करते हैं।


1
ECMA द्वारा प्रकाशित C #, .NET, CLR, और C ++ / CLR के लिए भी एक मानक है, जो तब आईएसओ को फास्ट ट्रैक किया गया था। ISO का HTML के लिए भी एक मानक है, ISO HTML 1.0 W3C HTML 4.01 स्ट्रिक्ट का सबसेट है।
जोर्ग डब्ल्यू मित्तग

4

एक प्रौद्योगिकी मानक एक विनिर्देश है, जिसमें एक ही मानक के दो कार्यान्वयन परस्पर या विनिमेय होने की उम्मीद है। उदाहरण: USB, ब्लूटूथ, जावा EE7, HTTP।

फिर "डी फैक्टो" मानक हैं: कन्वेंशन जो इंटरऑपरेबिलिटी को सक्षम करते हैं, लेकिन एक स्पष्ट सहमति वाले विनिर्देश के बिना। उदाहरण: Microsoft DOC प्रारूप ऐतिहासिक रूप से एक वास्तविक मानक रहा है, क्योंकि कई उत्पाद DOC को पढ़ और लिख सकते थे, लेकिन विहित विनिर्देश उपलब्ध नहीं थे (बहुत बाद तक)। दस्तावेज़ों को अभी भी डीओसी प्रारूप में वितरित किया गया था, इस उम्मीद के साथ कि कोई भी रिसीवर इसे पढ़ सकेगा, इस प्रकार यह एक वास्तविक मानक बन गया था।

अपने विशिष्ट उदाहरण को संबोधित करने के लिए, REST के पास एक स्पष्ट सहमति-विशिष्ट विनिर्देश नहीं है और इसलिए यह एक सच्चा मानक नहीं है, और बमुश्किल एक de facto मानक है क्योंकि इसमें काफी अस्पष्टता है कि इसे कैसे सही ढंग से किया जाना चाहिए, और कोई प्रभावी कार्यान्वयन मौजूद नहीं है इन अस्पष्टताओं को हल करता है। (मैं आरईएसटी के खिलाफ नहीं हूं। यह वेब सेवाओं के निर्माण का एक बहुत अच्छा तरीका है)


1

एक मानक एक मानकीकृत सम्मेलन है - या तो एक औपचारिक विनिर्देश द्वारा, या सिर्फ इसलिए कि एक सामान्य सम्मेलन ने पर्याप्त लोकप्रियता प्राप्त की है।

A de jure standardएक मानक समिति द्वारा प्रकाशित विनिर्देश है। कुछ मानक समितियाँ ISO, ECMA, DIN, ANSI और W3C हैं।

de jure standardsए 4 पेपर आकार (आईएसओ मानक 219), सी # भाषा (ईसीएमए -334), आदि के कुछ उदाहरण हैं।

'डी ज्यूर' शब्द का उपयोग शायद ही कभी किया जाता है, और 'डी ज्यूर मानक' को अक्सर एक मानक कहा जाता है।

एक वास्तविक मानक एक कस्टम, कन्वेंशन, उत्पाद, या प्रणाली है जिसने सार्वजनिक स्वीकृति या बाजार बलों द्वारा एक प्रमुख स्थान हासिल किया है "

(स्रोत: विकिपीडिया - मैं इसे खुद बेहतर नहीं लिख सकता)

एक वास्तविक मानक किसी भी औपचारिक विनिर्देश का पालन नहीं करता है।

जैसा कि इस उत्तर में गुडमुंडुर ऑर्न ने लिखा है , Microsoft Office DOC प्रारूप एक वास्तविक मानक था। इसकी एक प्रमुख स्थिति थी, और आमतौर पर यह माना जाता था कि लोग एमएस वर्ड दस्तावेजों को पढ़ सकते हैं।

JSON एक मज़ेदार जानवर है, क्योंकि यह एक वास्तविक मानक के रूप में शुरू हुआ है। हालाँकि , इसे ECMA-404 के रूप में औपचारिक रूप दिया गया है , इसलिए यह अब 'de jure standard' है।

हालाँकि यह HTTP- आधारित एपीआई (मेरे ज्ञान के साथ) के डेटा का आदान-प्रदान करने के लिए प्रमुख प्रारूप है, इस प्रकार यह इस उद्देश्य को 'वास्तविक मानक' भी बनाता है।


-4

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


3
परिभाषा के अनुसार, एक मानक दोषपूर्ण नहीं हो सकता है। हालांकि, एक मानक को सही ढंग से लागू करने वाला उत्पाद दोषपूर्ण हो सकता है, यह सिर्फ उद्देश्य के लिए फिट नहीं है। इससे कोई फर्क नहीं पड़ता कि आप कितने या कितने मानकों का पालन करते हैं, यदि उत्पाद अपने इच्छित उद्देश्य की आवश्यकताओं को पूरा नहीं करता है, तो यह दोषपूर्ण है।
रेयान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.