Monday 13 November 2017

Nodejs stdout बाइनरी विकल्प


एक छवि मैजिक बच्चे की प्रक्रिया से Node. js में डेटा पढ़ने की कोशिश करते समय, यह भ्रष्ट आती है। एक साधारण परीक्षण का मामला निम्नलिखित होगा: मुझे उम्मीद है कि यह कमांड लाइन कन्वर्ट के बराबर होगा.test. jpg - gt test2.jpg जो बाइनरी फ़ाइल को सही ढंग से लिखता है। मूलतः इसमें एक समस्या थी जिसमें अधिकतम बफर विकल्प बहुत छोटा था और जिसके परिणामस्वरूप एक छोटा फ़ाइल हो गया था। उस वृद्धि के बाद, फ़ाइल अपेक्षा से थोड़ी बड़ा दिखाई देती है और अब भी भ्रष्ट हो गई है। एसटीडीआउट से डेटा HTTP पर भेजने के लिए आवश्यक है ImageMagick stdout से इस डेटा को पढ़ने का सही तरीका क्या होगा, 28 मई को 20:09 बजे पूछा गया यदि टाइमआउट 0 से अधिक है, तो यह बाल प्रक्रिया को मार देगा, अगर यह टाइमआउट मिलीसेकंड से अधिक समय तक चलता है। बच्चे की प्रक्रिया को मौत के साथ मार डाला है सिग्नल (डिफ़ॉल्ट: SIGTERM)। maxbuffer stdout या stderr पर अनुमति वाले डेटा की सबसे बड़ी राशि निर्दिष्ट करता है - अगर यह मान पार हो गया है तो बाल प्रक्रिया को मार दिया जाता है। इसलिए यदि आपकी छवि 2001024 बाइट्स के डिफ़ॉल्ट बफ़र आकार से अधिक है, तो आपकी छवि दूषित होने जा रही है जैसा आपने उल्लेख किया है मैं इसे निम्न कोड के साथ काम करने में सक्षम था: यहां मैंने एक स्पैमबल स्टडआउट प्राप्त करने के लिए अंडे का इस्तेमाल किया, फिर मैंने द्विआधारी प्रारूप में डेटा लिखने के लिए एक लिखने योग्य स्ट्रीम का उपयोग किया। बस इसे परीक्षण किया और परिणामस्वरूप test2.jpg छवि को खोलने में सक्षम था। संपादित करें हां, आप इसका उपयोग HTTP पर परिणाम भेजने के लिए कर सकते हैं। मुझे एक उदाहरण कन्वर्ट के साथ एक छवि का आकार घटाने, फिर ग्लोफ़ोटो एपीआई के लिए परिणाम पोस्ट कर रहा है: उत्तर दिया 28 मई 11 को 20:57 धन्यवाद, यह सच है कि मैं पूरी तरह से अधिकतम बफर विकल्प को खो चुका हूं, लेकिन यह भ्रष्टाचार को हल करने के लिए प्रतीत नहीं होता। यदि आप अपने उदाहरण के साथ बढ़ते हैं तो परिणामी फ़ाइल अब बहुत छोटी नहीं है लेकिन अभी भी भ्रष्ट है आपका उदाहरण काम करता है, लेकिन वास्तव में मुझे पाइप की तुलना में डेटा के साथ और अधिक किसी फ़ाइल को सीधे करने की आवश्यकता है। अधिक विशेष रूप से, मुझे उदाहरण के लिए व्यक्त ढांचे का उपयोग करते हुए एक HTTP प्रतिक्रिया में इसे लिखना होगा। ndash डैनियल क्रेमर 22 मई 11 को 22:06 डैनियल, मैंने इसे स्पॉन लाइन को बदलकर इसे करने की कोशिश की। var स्पैन (39convert39, 39test. jpg39, 39-resize39, 395039, 39-39) को बदल देता है और एक कामकाजी जेपीईजी फाइल को 50 से छोटा कर दिया गया है। अपनी पोस्ट को अभी ठीक से अपडेट करने का प्रयास करें। नोड। जेएस पठनीय धाराओं के साथ टेक्स्ट और बायनरी डेटा को पढ़ने के लिए, 28 मई को 22: 11 11 को पढ़िए। यह ट्यूटोरियल नोड। जेएस पठनीय धाराओं के उपयोग और सृजन की व्याख्या करेगा: संस्करण जानकारी लेखक: जेफ बारसेज़वेस्की प्रकाशित: 3 अगस्त 2018 टैग: नोडज, स्ट्रीम स्तर: इंटरमीडिएट पूर्वापेक्षाएँ: क्रिप्टो, इवेंट्स, एनपीएम मॉड्यूल स्थापित करें Node. js v0.10 (इस लेखन के रूप में नवीनतम स्थिर है v0.10.15), लेकिन धाराएं आमतौर पर अपने शुरुआती दिनों से नोड. जे. का एक हिस्सा रही हैं Streams2 एनएमएम मॉड्यूल पठनीय-धारा का इस्तेमाल करते हुए नोड के पुराने संस्करणों के साथ प्रयोग किया जाता है पठनयोग्य धाराओं का उपयोग करना या उपयोग करना एक फ़ाइल को पढ़ना और इसे stdout पर गूंजने का सरल उदाहरण: एक फ़ाइल के sha1 डाइजेस्ट बनाना और परिणाम को stdout (शःसम के समान) के लिए गूंज करना: डाटा इवेंट को डेटा के प्रत्येक भाग के लिए पठनीय स्ट्रीम पर निकाल दिया जाता है, इसलिए आप प्रत्येक भाग के लिए डायजेस्ट को अपडेट करते हैं, फिर अंत में ईवेंट को निकाल दिया जाता है जब स्ट्रीम समाप्त हो जाता है ताकि आप अंतिम परिणाम का उत्पादन कर सकें। ध्यान दें कि हर बार जब आप कॉल करते हैं.on () एक श्रोता को पंजीकृत करने के लिए यह मूल स्ट्रीम को रिटर्न करता है ताकि आप आसानी से चेन तरीकों को निकाल सकें नोड. जेएस 0.10 के साथ धाराओं का उपभोग करने का एक बेहतर तरीका है। पठनीय इंटरफ़ेस धाराओं के साथ काम करना आसान बनाता है, खासकर धाराएं जहां आप धारा बनाने और स्ट्रीम का उपयोग करने के बीच अन्य चीजें करना चाहते हैं। ये नई पठनीय धाराएं उन पुलियां खींचती हैं जहां डेटा को आपके पास धक्का जाने के बजाय डेटा के लिए अनुरोध किया जाता है। इस उदाहरण को समझने की कुंजी यह है कि नई स्ट्रीम 2 पठनीय इंटरफ़ेस के साथ, एक पठनीय घटना उतनी ही उत्सर्जित हो जाएगी जैसे डेटा पढ़ने के लिए उपलब्ध है और आप कॉल कर सकते हैं। एक बार जब कोई और डाटा उपलब्ध न हो तो पढ़ें () रिक्त रिटर्न, लेकिन फिर से एक और पठनीय घटना फिर से निकाल दी जाती है जब डेटा फिर से उपलब्ध होता है यह फ़ाइल के अंत तक जारी रहता है जब अंत की तरह पहले से निकाल दिया जाता है एक पठनीय धारा बनाने के लिए फ़ाइल सिस्टम या स्ट्रीम से धाराओं का उपयोग करने के लिए, आप स्ट्रीम बनाने के लिए कोर एफएस और एचटीटीपी विधियों का उपयोग कर सकते हैं, लेकिन आप अपनी खुद की स्ट्रीम कैसे बना सकते हैं और इसे डेटा से भर सकते हैं यह डाटाबेस से डाटा हो सकता है या किसी भी संख्या में स्रोत से यहां एक पठनीय धारा बनाने का एक उदाहरण है जो यादृच्छिक बाइनरी डेटा से उत्पन्न होता है, फिर इसे पहले की तरह दिखाना है यह परीक्षण के लिए नदियों को बनाने में उपयोगी होगा: नोट: पढ़ने के बाद () को कहा जाता है, हमें तब तक पढ़ना जारी रखना चाहिए जब तक कि हम काम नहीं करते या पुश () तक झूठी लौटाते हैं। पुराने नोड. जेएस संस्करणों के साथ स्ट्रीम 2 का उपयोग करना यदि आप इस कोड को 0.10 से पुराने नोड. जेएस के साथ काम करना चाहते हैं, तो आप अपने पैकेज में पढ़ने योग्य-स्ट्रीम के लिए निर्भरता को शामिल कर सकते हैं और पढ़ने के लिए लाइन 5 बदल सकते हैं: यह मूल का उपयोग करेगा अगर Node. js संस्करण 0.10 है और यदि नहीं, तो यह पठनीय स्ट्रीम है, तो यह पॉलीफिल पठनीय-स्ट्रीम मॉड्यूल को लोड करेगा और वहां से इसका उपयोग करेगा। स्ट्रीम और स्ट्रीम 2 की रोकें रोकें धाराएं कभी-कभी किसी एप्लिकेशन से अधिक तेज़ी से डेटा प्रदान कर सकती हैं, इसलिए स्ट्रीम को रोकने की क्षमता शामिल होती है और स्ट्रीम को पुनरारंभ होने तक डेटा बफर होता है। स्ट्रीम 2 से पहले, आपको सावधानीपूर्वक ध्यान देने की ज़रूरत होगी कि आप पॉज़िंग और फिर से शुरू करने के साथ ही डेटा फिर से शुरू करने तक बफर करने लगे। हालांकि स्ट्रीम 2 (नोड. जेएस 0.10 या पठनीय-स्ट्रीम पैकेज के माध्यम से) से पठनीय है कि आपके और स्ट्रीम के लिए कार्यक्षमता को स्वचालित रूप से तब तक रोका गया है जब तक कि रीड () कहा जाता है। आप पुरानी धाराओं पर नए इंटरफेस को कार्यान्वित करने के लिए एक रीडबल के साथ पुरानी धाराओं को भी लपेट कर सकते हैं: एक अन्य स्थिति में आपको विराम और फिर से शुरू होने के बारे में चिंता करने की जरूरत है अगर आपका उपभोक्ता कोड पुराने पुश शैली इंटरफ़ेस कॉलिंग का उपयोग करता है.on (39data39, श्रोता)। यह स्ट्रीम को पीछे की संगतता मोड में डालता है और आपको कॉल करने की आवश्यकता होगी। रोकें () और. resume () अपने आवेदन में आने वाले डेटा की दर को नियंत्रित करने के लिए। यदि आप अपने कोड में पुराने इंटरफ़ेस का उपयोग कर रहे हैं, तो विवरण के लिए स्ट्रीम API डॉक्स देखें। ऑब्जेक्ट स्ट्रीम शुरू में जब धाराओं को आधिकारिक एपीआई पेश किया गया था, तो यह संकेत मिलता था कि डेटा एकत्रित होने वाला बफ़र बफर या स्ट्रिंग होगा, हालांकि कई प्रयोक्ताओं को यह पता चला कि यह वस्तुएं स्ट्रीम करने में सक्षम होने के लिए बहुत अच्छी थी नोड। जेएस 0.10 में धारा 2 ने औपचारिक रूप से स्पष्ट किया कि यह कैसे काम करना चाहिए। ऑब्जेक्ट मोड में कब पढ़ें (एन) बस अगले ऑब्जेक्ट देता है (एन की अनदेखी) ऑब्जेक्ट मोड में किसी स्ट्रीम को स्विच करने के लिए, ऑब्जेक्टमोड प्रॉपर्टी को अपनी पठनीय स्ट्रीम बनाने के लिए इस्तेमाल किए गए विकल्पों में सही सेट करें ताकि आप बसों में ऑब्जेक्ट्स का इस्तेमाल आसानी से कर सकते हैं, बफ़र्स और स्ट्रिंग्स का इस्तेमाल कर सकते हैं, लेकिन एकमात्र सीमा यह है कि ऑब्जेक्ट्स पास निरर्थक नहीं हो सकता है क्योंकि यह संकेत देगा कि स्ट्रीम समाप्त हो गया है। Node. js पठनीय धाराएं लचीला होती हैं और आसान नोड। जेएस पठनीय धाराओं का इस्तेमाल करना आसान होता है और यहां तक ​​कि निर्माण करने में आसान भी होता है। आप न केवल बाइनरी और स्ट्रिंग डेटा को स्ट्रीम कर सकते हैं बल्कि ऑब्जेक्ट भी कर सकते हैं और फिर भी स्ट्रीम कार्यक्षमता का लाभ उठा सकते हैं। मुझे आशा है कि आप पठनीय धाराओं के इस त्वरित दौरे का आनंद लें, मुझे बताएं कि क्या आपके कोई प्रश्न हैं अतिरिक्त पठन के लिए इस पेज को साझा करें यदि आप थोड़ी देर के लिए नोड। जेएस का प्रयोग कर रहे हैं, तो आप निश्चित रूप से धाराओं में चलेंगे। एचटीटीपी कनेक्शन स्ट्रीम हैं, ओपन फाइल्स धाराएं हैं स्टडीन, स्टडआउट, और स्टेडरर सभी स्ट्रीम हैं। एक धारा नोड्स IO अमूर्त है - अगर आपको लगता है कि आपको अभी भी उन्हें बेहतर समझने की आवश्यकता है, तो आप उनके बारे में और अधिक पढ़ सकते हैं यहां स्ट्रीम काफी सहज अमूर्त के लिए बना है, और आप उनसे बहुत कुछ कर सकते हैं - एक उदाहरण के रूप में, stream. pipe पर एक नज़र, विधि एक पठनीय धारा लेने के लिए और इसे एक लिखने योग्य स्टीम से कनेक्ट करने के लिए प्रयोग किया जाता है। मान लीजिए हम एक नोड बच्चे की प्रक्रिया को अंडे देना चाहते हैं और हमारे स्टडआउट और स्टडिन को उसके संबंधित स्टडआउट और स्टडिन में पाइप करना चाहते हैं। वहां आपके पास है - नोड REPL को एक बाल प्रक्रिया के रूप में पैदा करते हैं, और अपने stdin और stdout को इसके स्टडिन और स्टेडाउट पर पाइप करें। बच्चे को बाहर निकलने की घटना के लिए भी सुनना सुनिश्चित करें, या फिर आपका कार्यक्रम केवल आरपीएल के बाहर निकलते समय लटकाएगा। Stream. pipe के लिए एक अन्य उपयोग फ़ाइल स्ट्रीम है Node. js में, fs. createReadStream और fs. createWriteStream एक खुली फ़ाइल डिस्क्रिप्टर के लिए एक स्ट्रीम बनाने के लिए उपयोग किया जाता है। अब एक फाइल पर लिखने के लिए स्ट्रीम पोप का इस्तेमाल कैसे किया जा सकता है, यह देखें। आप शायद ज्यादातर कोड पहचान लेंगे: उन छोटे जोड़ों के साथ, आपके आरईपीएल से आपके स्टडलाइन और स्टड आउट दोनों को आपके लिखने योग्य फ़ाइल स्ट्रीम में पाइप किया जाएगा जो आपने MyOutput. txt पर खोला है। इसकी सरल - आप जितनी चाहें उतनी जगहों पर पाइप स्ट्रीम कर सकते हैं। Stream. pipe के लिए एक और बहुत महत्वपूर्ण उपयोग का मामला HTTP अनुरोध और प्रतिक्रिया वस्तुओं के साथ है यहां हमारे पास बहुत ही आसान प्रॉक्सी है: लॉग इन करने के लिए, या बाल प्रक्रिया के लिए, या कई अन्य चीजों में से किसी एक को आने वाले अनुरोध भेजने के लिए कोई भी stream. pipe का उपयोग कर सकता है। उम्मीद है कि आपने stream. pipe का इस्तेमाल करने की मूल बातें दिखायी हैं ताकि आपके डेटा स्ट्रीम को आसानी से पार कर सकें। इसकी वास्तव में एक शक्तिशाली छोटी चाल, नोड। जेएस में है, और इसकी उपयोग आप की तलाश में हैं हैप्पी कोडिंग, और अपनी धाराओं को पार करने की कोशिश न करें, बुनियादी, लेकिन कुशल अंतर-प्रक्रिया संचार और बेहतर त्रुटि हैंडलिंग के साथ नोड। जेएस से पायथन स्क्रिप्ट को चलाने के लिए एक आसान तरीका। मज़बूती से एक बच्चे की प्रक्रिया में पायथन स्क्रिप्ट उत्पन्न होती है अंतर्निहित पाठ, जेएसओएन और बाइनरी मोड कस्टम पार्सर और फ़ॉर्मेटर्स stdin और stdout स्ट्रीम्स के माध्यम से सरल और कुशल डेटा स्थानान्तरण विस्तारित स्टैक निशान जब कोई त्रुटि फेंकता है परीक्षण चलाने के लिए: एक पायथन स्क्रिप्ट चलाना: यदि स्क्रिप्ट stderr को लिखता है या एक गैर शून्य कोड के साथ बाहर निकलता है, एक त्रुटि फेंक दिया जाएगा। तर्क और विकल्प के साथ एक पायथन स्क्रिप्ट चलाना: नोड और पायथन के बीच डेटा का आदान-प्रदान: पायथन स्क्रिप्ट के लिए संदेश भेजने के लिए। (संदेश) का उपयोग करें। पायथन स्क्रिप्ट से उत्सर्जित संदेशों को सुनने के लिए संदेश ईवेंट को अटैच करें। जल्दी से सेटअप करने के लिए options. mode का उपयोग करें कि आपके नोड और पायथन अनुप्रयोगों के बीच डेटा कैसे भेजा जाता है और प्राप्त किया जाता है। जेएसओएन टुकड़ों का आदान-प्रदान करने के लिए पाठ का उपयोग करने के लिए जेएसएन मोड का आदान-प्रदान करने के लिए टेक्स्ट मोड का उपयोग करें और कुछ और के लिए बाइनरी मोड का उपयोग करें (डेटा को भेजा और प्राप्त किया गया है) अधिक जानकारी और पायथन स्रोत कोड सहित उदाहरणों के लिए, परीक्षणों पर एक नज़र डालें त्रुटि हैंडलिंग और विस्तारित स्टैक ट्रेस यदि कोई शून्य-शून्य निकास कोड के साथ प्रक्रिया निकलती है या यदि डेटा stderr पर लिखा गया है तो एक त्रुटि फेंक दी जाएगी। इसके अतिरिक्त, अगर stderr में एक स्वरूपित पायथन ट्रेसेबैक होता है, तो त्रुटि को अजगर अपवाद के विवरण के साथ संवर्धित स्टैक ट्रेस सहित बढ़ाया जाता है। ट्रेसबैक के साथ नमूना त्रुटि (testpythonerror. py से): निम्न त्रुटि में परिणाम होगा: और err. stack इस तरह दिखेगा: पायथन शेल (स्क्रिप्ट, विकल्प) कन्स्ट्रक्टर PythonShell का एक उदाहरण बनाता है और पायथन प्रक्रिया स्क्रिप्ट शुरू करता है। विकल्प निष्पादित करने के लिए स्क्रिप्ट का पथ निष्पादन विकल्प, जिनमें शामिल हैं: मोड कॉन्फ़िगर करता है कि डेटा कैसे एक्सचेंज किया जाता है जब डेटा stdin और stdout के माध्यम से बहता है। संभव मूल्य हैं: पाठ डेटा की प्रत्येक पंक्ति (एन के साथ समाप्त होती है) एक संदेश (डिफ़ॉल्ट) जेसन के रूप में उत्सर्जित होती है। डेटा की प्रत्येक पंक्ति (एन के साथ समाप्त होती है) को JSON के रूप में पार्स किया जाता है और संदेश बाइनरी के रूप में उत्सर्जित किया जाता है। डेटा स्टडआउट और एसटीडीआई फॉर्मेटर के माध्यम से होता है। भेजने के लिए प्रत्येक संदेश इस पद्धति का उपयोग करके तब्दील हो जाता है, फिर एन पार्सर के साथ जोड़ा जाता है प्रत्येक पंक्ति की डेटा (एन के साथ समाप्त हो रहा है) इस फ़ंक्शन के साथ पार्स है और उसका परिणाम संदेश एन्कोडिंग के रूप में उत्सर्जित होता है। बाल प्रक्रिया धाराओं (डिफ़ॉल्ट: utf8) पायथनपाथ पर लागू करने के लिए पाठ एन्कोडिंग जिस पथ को एक्जीक्यूटिव अजगर का पता लगाने के लिए डिफ़ॉल्ट: अजगर पैथॉन विकल्प विकल्प का सरणी अजगर स्क्रिप्टपथ को पास करने के लिए स्विच करता है स्क्रिप्ट्स को देखने के लिए डिफ़ॉल्ट पथ डिफ़ॉल्ट वर्तमान कार्यशील निर्देशिका है आर्ग। स्क्रिप्ट को पास करने के लिए तर्कों का सरणी अन्य विकल्प childprocess. spawn को अग्रेषित किए जाते हैं। पायथनशेल के उदाहरणों में निम्न गुण हैं: स्क्रिप्ट आदेश को निष्पादित करने के लिए स्क्रिप्ट का पथ। पूर्ण कमांड आर्गुमेंट्स पायथन एक्जीक्यूटेबल स्टडीन के पास पायथन स्टडिन स्ट्रीम, बाल प्रक्रिया स्टडआउट में डेटा भेजने के लिए प्रयोग किया जाता है। पायथन स्टडआउट स्ट्रीम, जिसका उपयोग बाल प्रक्रिया stderr से डेटा प्राप्त करने के लिए किया जाता है। पायथन स्टडरर स्ट्रीम, जिसका उपयोग त्रुटियों के लिए संचार करने के लिए किया जाता है। प्रक्रिया प्रक्रिया के माध्यम से बालप्रक्रिया। स्पान समाप्त हो गया। बुलियन यह इंगित करता है कि क्या प्रक्रिया exitcode है प्रक्रिया निकास कोड, प्रक्रिया समाप्त होने के बाद उपलब्ध है, PythonShell के सभी नए इंस्टेंसेस के लिए डिफ़ॉल्ट विकल्प कॉन्फ़िगर करता है। रन (स्क्रिप्ट, विकल्प, कॉलबैक) पायथन स्क्रिप्ट को चलाता है और परिणाम के साथ कॉलबैक को आमंत्रित करता है। कॉलबैक में निष्पादन त्रुटि (यदि कोई हो) के साथ ही पायथन स्क्रिप्ट से उत्सर्जित संदेशों की एक सरणी शामिल है। यह विधि पायथनशेल उदाहरण को भी वापस कर रहा है। पायथन स्क्रिप्ट के माध्यम से stdin के माध्यम से एक संदेश भेजता है। डेटा फॉर्मेट को निर्दिष्ट मोड (टेक्स्ट या जेएसओएन) के अनुसार, या कस्टम फ़ंक्शन के द्वारा फॉर्मेट निर्दिष्ट किया जाता है। स्टेडाउट के माध्यम से लिखे गए पायथन स्क्रिप्ट से आने वाले डेटा को पार्स करता है और संदेश ईवेंट का उत्सर्जन करता है इस विधि को स्वचालित रूप से कहा जाता है क्योंकि डेटा stdout से प्राप्त हो रहा है। स्टैंडिन स्ट्रीम को बंद करता है, जिससे पायथन स्क्रिप्ट को समाप्त और बाहर निकल सकते हैं। प्रक्रिया समाप्त होने पर वैकल्पिक कॉलबैक लागू होता है। जब किसी डेटा का एक हिस्सा स्टडआउट स्ट्रीम से प्राप्त विधि के माध्यम से पार्स किया जाता है तब आग होती है। यदि कोई पारसर विधि निर्दिष्ट है, तो इस फ़ंक्शन का परिणाम संदेश मान होगा। यह ईवेंट बाइनरी मोड में उत्सर्जित नहीं है। जब कोई प्रक्रिया समाप्त हो गई है, तो त्रुटि या नहीं। जब कोई प्रक्रिया गैर-शून्य निकास कोड के साथ समाप्त होती है, या यदि डेटा stderr स्ट्रीम पर लिखा जाता है, तो आग लग जाती है। एमआईटी लाइसेंस (एमआईटी) कॉपीराइट (सी) 2018 निकोलस मर्सिएर द्वारा बिना किसी प्रतिबंध के सॉफ्टवेयर में काम करने के लिए, इस सॉफ्टवेयर की एक प्रति प्राप्त करने वाले किसी भी व्यक्ति और संबंधित दस्तावेज़ीकरण फाइल (सॉफ़्टवेयर) को मुफ्त में नि: शुल्क अनुमति दी जाती है सॉफ्टवेयर की प्रतियां उपयोग करने, कॉपी करने, संशोधित करने, मर्ज करने, प्रकाशित करने, वितरित करने, और उप-लाइसेंस देने के लिए, और उन लोगों को अनुमति देने के लिए, जिनके लिए सॉफ़्टवेयर निम्न शर्तों के अधीन है, की अनुमति के लिए सीमाएं: उपरोक्त कॉपीराइट नोटिस और इस अनुमति नोटिस को सभी प्रतियां या सॉफ़्टवेयर के पर्याप्त भाग में शामिल किया जाएगा। सॉफ़्टवेयर प्रदान किया गया है, जैसा कि किसी भी प्रकार की वारंटी के बिना, व्यक्त या निहित है, जिसमें व्यापारिकता की वारंटी, सीमित प्रयोजनों और गैर-उल्लंघन के लिए उपयुक्तता शामिल हैं। किसी भी घटना में अधिकारियों या कॉपीराइट धारकों को किसी भी दावे, क्षति या अन्य देयता के लिए, जो अनुबंध, कार्रवाई या अन्यथा, सॉफ़्टवेयर या उपयोग या अन्य कार्यों के संबंध में या उसके बाद के संबंध में उत्पन्न होने के लिए उत्तरदायी होगा सॉफ्टवेयर।

No comments:

Post a Comment