एस्बेस्टस लोंगजोन दान करना ...
कल पैकट प्रकाशन के साथ मेरा शीर्षक, जावास्क्रिप्ट के साथ प्रतिक्रियाशील प्रोग्रामिंग । यह वास्तव में एक नोड.जेएस-केंद्रित शीर्षक नहीं है; प्रारंभिक अध्याय सिद्धांत को कवर करने के लिए हैं, और बाद में कोड-भारी अध्याय अभ्यास को कवर करते हैं। क्योंकि मैंने वास्तव में नहीं सोचा था कि पाठकों को एक वेबसर्वर देने में विफल रहने के लिए उपयुक्त होगा, Node.js अभी तक स्पष्ट विकल्प से लग रहा था । मामला खुलने से पहले ही बंद हो गया था।
मैं Node.js. के साथ अपने अनुभव का एक बहुत ही शानदार दृश्य दे सकता था इसके बजाय मैं अच्छे अंकों और खराब अंकों के बारे में ईमानदार था, जिनका मैंने सामना किया।
मुझे कुछ उद्धरण शामिल हैं जो यहां प्रासंगिक हैं:
चेतावनी: Node.js और इसका पारिस्थितिकी तंत्र आपको बुरी तरह से जलाने के लिए पर्याप्त गर्म है !
जब मैं गणित में एक शिक्षक के सहायक था, तो मुझे जो गैर-स्पष्ट सुझाव दिए गए थे, उनमें से एक छात्र को यह बताने के लिए नहीं था कि कुछ आसान था। " रेट्रोस्पेक्ट में कारण कुछ हद तक स्पष्ट था: यदि आप लोगों को बताते हैं कि कुछ आसान है, तो कोई ऐसा व्यक्ति जो कोई समाधान नहीं देखता है, वह (और भी) बेवकूफ महसूस कर सकता है, क्योंकि न केवल वे समस्या को हल करने के लिए प्राप्त नहीं करते हैं, बल्कि समस्या वे समझने में बहुत मूर्ख हैं कि एक आसान है!
ऐसे गोचा हैं जो केवल पायथन / Django से आने वाले लोगों को नाराज नहीं करते हैं, जो यदि आप कुछ भी बदलते हैं तो तुरंत स्रोत को फिर से लोड करते हैं। Node.js के साथ, डिफ़ॉल्ट व्यवहार यह है कि यदि आप एक परिवर्तन करते हैं, तो पुराना संस्करण सक्रिय रहता है जब तक कि समय समाप्त होने तक या जब तक आप मैन्युअल रूप से बंद न करें और सर्वर को पुनरारंभ करें। यह अनुचित व्यवहार सिर्फ पायथनस्टस को नाराज नहीं करता है; यह उन देशी Node.js उपयोगकर्ताओं को भी परेशान करता है जो विभिन्न वर्कअराउंड प्रदान करते हैं। StackOverflow सवाल "Node.js में फ़ाइलों का ऑटो-रीलोड" है, इस लेखन के समय, 200 से अधिक upvotes और 19 उत्तर; एक उपयोगकर्ता http://tinyurl.com/reactjs-node-supervisor पर होमपेज के साथ एक नानी स्क्रिप्ट, नोड-पर्यवेक्षक के लिए उपयोगकर्ता को निर्देशित करता है। यह समस्या नए उपयोगकर्ताओं को बेवकूफ महसूस करने के लिए बड़े अवसर के साथ देती है क्योंकि उन्हें लगा कि उन्होंने समस्या को ठीक कर लिया है, लेकिन पुराने, छोटी गाड़ी का व्यवहार पूरी तरह से बदल गया है। और सर्वर को उछालना भूल जाना आसान है; मैंने कई बार ऐसा किया है। और मैं जो संदेश देना चाहूंगा, वह है, '' नहीं, तुम मूर्ख नहीं हो क्योंकि नाद का यह व्यवहार तुम्हारी पीठ थपथपाता है; यह सिर्फ इतना है कि Node.js के डिजाइनरों ने यहां उचित व्यवहार प्रदान करने का कोई कारण नहीं देखा। इसके साथ सामना करने की कोशिश करो, शायद नोड-पर्यवेक्षक या किसी अन्य समाधान से थोड़ी मदद लें, लेकिन कृपया यह महसूस न करें कि आप बेवकूफ हैं। आप समस्या के साथ एक नहीं हो; समस्या Node.js के डिफ़ॉल्ट व्यवहार में है। "
यह खंड, कुछ बहस के बाद, वास्तव में छोड़ दिया गया था, क्योंकि मैं "यह आसान है" का आभास नहीं देना चाहता। मैं काम करने के लिए चीजों को प्राप्त करते समय अपने हाथों को बार-बार काटता हूं, और मैं मुश्किलों को आसान नहीं करना चाहता हूं और आपको विश्वास दिलाता हूं कि Node.js और इसके पारिस्थितिकी तंत्र को अच्छी तरह से काम करने के लिए प्राप्त करना एक सीधा मामला है और अगर यह आपके लिए भी सीधा नहीं है। , आप नहीं जानते कि आप क्या कर रहे हैं। यदि आप Node.js का उपयोग करके अप्रिय कठिनाइयों में नहीं चलते हैं, तो यह अद्भुत है। यदि आप ऐसा करते हैं, तो मुझे उम्मीद है कि आप यह महसूस नहीं करेंगे कि "मैं बेवकूफ हूं-मेरे साथ कुछ गलत होना चाहिए।" यदि आप Node.js. के साथ बुरा आश्चर्य अनुभव करते हैं तो आप बेवकूफ नहीं हैं वो आप नहीं हैं! यह Node.js और इसका पारिस्थितिकी तंत्र है!
परिशिष्ट, जो मैं वास्तव में पिछले अध्यायों और बढ़ते निष्कर्षों के बाद नहीं चाहता था, इस बारे में बात करता है कि मैं पारिस्थितिकी तंत्र में क्या खोजने में सक्षम था, और नैतिक साहित्यिकता के लिए एक समाधान प्रदान किया:
एक अन्य डेटाबेस जो एक परिपूर्ण फिट की तरह लग रहा था, और अभी तक रिडीमेबल हो सकता है, HTML5 कुंजी-मूल्य स्टोर का एक सर्वर-साइड कार्यान्वयन है। इस दृष्टिकोण में एक एपीआई का कार्डिनल लाभ है जो अधिकांश अच्छे फ्रंट-एंड डेवलपर्स पर्याप्त रूप से समझते हैं। उस मामले के लिए, यह भी एक एपीआई है जो अधिकांश नहीं-तो-अच्छे फ्रंट-एंड डेवलपर्स अच्छी तरह से समझते हैं। लेकिन नोड-लोकलस्टोरेज पैकेज के साथ, जबकि डिक्शनरी-सिंटैक्स एक्सेस की पेशकश नहीं की जाती है (आप लोकलस्टोरीजेटसेट (कुंजी, मूल्य) या लोकलस्टोरीजेटगेटम (कुंजी) का उपयोग करना चाहते हैं, लोकलस्टोरेज [की]) नहीं), पूरा लोकलस्टोरेज शब्दार्थ लागू किया गया है) सहित एक डिफ़ॉल्ट 5MB कोटा- क्यों? क्या सर्वर-साइड जावास्क्रिप्ट डेवलपर्स को खुद से सुरक्षित करने की आवश्यकता है?
क्लाइंट-साइड डेटाबेस क्षमताओं के लिए, प्रति वेबसाइट 5MB कोटा वास्तव में डेवलपर्स के साथ काम करने के लिए सांस लेने की एक उदार और उपयोगी राशि है। आप बहुत कम कोटा निर्धारित कर सकते हैं और फिर भी डेवलपर्स को कुकी प्रबंधन के साथ-साथ लंगड़ा करने के लिए एक अथाह सुधार प्रदान कर सकते हैं। 5MB की सीमा खुद को बिग डेटा क्लाइंट-साइड प्रोसेसिंग के लिए बहुत जल्दी उधार नहीं देती है, लेकिन वास्तव में काफी उदार भत्ता है जो संसाधन डेवलपर्स बहुत कुछ करने के लिए उपयोग कर सकते हैं। लेकिन दूसरी ओर, 5MB हाल ही में खरीदे गए अधिकांश डिस्क का एक विशेष रूप से बड़ा हिस्सा नहीं है, जिसका अर्थ है कि यदि आप और एक वेबसाइट डिस्क स्पेस के उचित उपयोग के बारे में असहमत हैं, या कुछ साइट बस बेहद अजीब है, तो यह वास्तव में खर्च नहीं होता है जब तक आपकी हार्ड ड्राइव पहले से ही भरी नहीं थी, तब तक आप और आप कड़ी मेहनत वाली हार्ड ड्राइव के खतरे में नहीं हैं।
हालाँकि, यह धीरे से बताया जा सकता है कि जब आप अपने सर्वर के लिए एक लेखन कोड होते हैं, तो आपको अपने डेटाबेस को एक सहनीय 5MB से अधिक आकार में बनाने से किसी अतिरिक्त सुरक्षा की आवश्यकता नहीं होती है। अधिकांश डेवलपर्स को नानी के रूप में काम करने वाले उपकरणों की न तो आवश्यकता होगी और न ही उन्हें 5MB से अधिक सर्वर-साइड डेटा को स्टोर करने से बचाने की। और 5MB कोटा जो क्लाइंट-साइड पर गोल्डन बैलेंसिंग एक्ट है, बल्कि Node.js सर्वर पर थोड़ा सा मूर्खतापूर्ण है। (और, कई उपयोगकर्ताओं के लिए एक डेटाबेस के लिए जैसे कि इस परिशिष्ट में शामिल किया गया है, यह थोड़ा दर्दनाक रूप से इंगित किया जा सकता है, कि प्रति उपयोगकर्ता खाते में 5 एमबी नहीं है जब तक कि आप प्रत्येक उपयोगकर्ता खाते के लिए डिस्क पर एक अलग डेटाबेस नहीं बनाते हैं; सभी उपयोगकर्ता एक साथ खाते हैं। यह दर्दनाक हो सकता हैयदि आप वायरल जाते हैं!) प्रलेखन में कहा गया है कि कोटा अनुकूलन योग्य है, लेकिन डेवलपर को एक सप्ताह पहले एक ईमेल पूछ रहा है कि कोटा को कैसे बदलना है, अनुत्तरित है, जैसा कि स्टैकऑवरफ्लो प्रश्न एक ही पूछ रहा था। एकमात्र उत्तर जो मुझे मिल पाया है, वह जीथब कॉफ़ीस्क्रिप्ट स्रोत में है, जहाँ यह एक निर्माणकर्ता के लिए वैकल्पिक दूसरे पूर्णांक तर्क के रूप में सूचीबद्ध है। तो यह काफी आसान है, और आप एक डिस्क या विभाजन आकार के बराबर कोटा निर्दिष्ट कर सकते हैं। लेकिन एक ऐसी सुविधा को पोर्ट करने के अलावा, जिसका अर्थ यह नहीं है कि टूल का लेखक किसी वैरिएबल या फ़ंक्शन के लिए 0 के रूप में अर्थ "असीमित" की व्याख्या करने के लिए एक मानक मानक का पालन करने में पूरी तरह से विफल हो गया है जहां एक पूर्णांक कुछ संसाधन उपयोग के लिए अधिकतम सीमा निर्दिष्ट करना है। इस मिसफिट के साथ सबसे अच्छी बात शायद यह बताना है कि कोटा इन्फिनिटी है:
if (typeof localStorage === 'undefined' || localStorage === null)
{
var LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage(__dirname + '/localStorage',
Infinity);
}
क्रम में दो टिप्पणियों की अदला-बदली:
लोगों ने अनावश्यक रूप से पूरी तरह से जावास्क्रिप्ट का उपयोग करते हुए खुद को लगातार पैर में गोली मार ली, और जावास्क्रिप्ट का एक हिस्सा सम्मानजनक भाषा बनाया जा रहा था सार में एक डगलस क्रॉकफोर्ड कह रहा था, “भाषा के रूप में जावास्क्रिप्ट में कुछ बहुत अच्छे हिस्से हैं और कुछ वास्तव में खराब हिस्से हैं। यहाँ अच्छे हिस्से हैं। बस भूल जाओ कि कुछ और भी है। ” शायद हॉट Node.js का इकोसिस्टम अपना "डगलस क्रॉकफ़ोर्ड" उगाएगा, जो कहेगा, "Node.js का इकोसिस्टम एक कोडिंग वाइल्ड वेस्ट है, लेकिन इसमें कुछ असली रत्न पाए जाते हैं। यहाँ एक रोडमैप है। यहां लगभग किसी भी कीमत पर बचने के लिए क्षेत्र हैं। यहां किसी भी भाषा या परिवेश में पाए जाने वाले सबसे अमीर paydirt वाले क्षेत्र हैं। ”
शायद कोई और उन शब्दों को एक चुनौती के रूप में ले सकता है, और क्रॉकफोर्ड के नेतृत्व का पालन कर सकता है और "अच्छे भागों" और / या "बेहतर भागों" को Node.js और उसके पारिस्थितिकी तंत्र के लिए लिख सकता है। मैं एक प्रति खरीदूंगा!
और सभी परियोजनाओं पर उत्साह और सरासर काम के घंटे की डिग्री को देखते हुए, इस लेखन के समय में किए गए अपरिपक्व पारिस्थितिकी तंत्र के बारे में किसी भी टिप्पणी को तेज करने के लिए एक या दो या तीन साल में वारंट किया जा सकता है। यह कहने में वास्तव में पाँच साल लग सकते हैं, '' 2015 के Node.js के पारिस्थितिकी तंत्र में कई खान-पान थे। 2020 Node.js पारिस्थितिकी तंत्र में कई विरोधाभास हैं। "