Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

एपीआई का उपयोग करते समय बहुत गलत हो जाता है

एपीआई दस्तावेज़ आपको बताएंगे कि एपीआई का उपयोग कैसे करें। लेकिन जब चीजें गलत हो जाती हैं, तो आपको अपने दम पर छोड़ा जा सकता है। त्रुटि संदेश अक्सर अधूरे, भ्रामक या अनुपयोगी होते हैं। और आपको NoMethodError: undefined method '[]' for nil:NilClass के साथ क्या करना चाहिए? , वैसे भी?

जब आप कोई एपीआई, ढांचा, या पुस्तकालय सीखते हैं, तो आप यह नहीं सीख सकते कि चीजें ठीक होने पर इसका उपयोग कैसे करें। आपको यह भी पता लगाना होगा कि जब कोई त्रुटि वापस आती है तो क्या करना चाहिए।

आप कोड कैसे तोड़ते हैं?

यह जानने का एक आसान तरीका है कि जब आप जिस API का उपयोग कर रहे हैं, उसके ब्रेक होने पर क्या करना है। इसे स्वयं तोड़ें!

उदाहरण के लिए, मैं:

  • गलत प्रकार का डेटा पास करें। आप एक स्ट्रिंग के बजाय एक प्रतीक, एक ऐरे के बजाय एक स्ट्रिंग, एक ऐरे के बजाय एक हैश, जैसी चीजें पास कर सकते हैं।

  • अपूर्ण डेटा पास करें। आप nil पास कर सकते हैं , हैश बिना कुछ फ़ील्ड भरे हुए हैं, और ऑब्जेक्ट जिन्हें अभी आरंभ किया गया है।

  • यदि एपीआई को नेटवर्क पहुंच की आवश्यकता है, तो वाईफाई से डिस्कनेक्ट करें या नेटवर्क केबल खींचें। क्या यह समय समाप्त हो गया है, या यह आपको बताता है कि यह किस सेवा तक नहीं पहुंच सका?

  • यदि API आपको किसी ब्लॉक में पास करने की अनुमति देता है, ब्लॉक के अंदर अपवाद फेंकें, या गलत प्रकार का डेटा लौटाएं

एक महान एपीआई आपको बताएगा कि आपने क्या गलत किया। एक उत्कृष्ट एपीआई आपको बताएगा कि इसे कैसे ठीक किया जाए। लेकिन अक्सर, आप एक रूबी में भाग लेंगे NoMethodError , अनपेक्षित nil s, या, इससे भी बदतर, पूरी तरह से विचित्र वापसी मान वापस प्राप्त करना।

कोड क्यों तोड़ें?

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

एक बार जब आपको पता चल जाए कि NoMethodError . कहां है से आ रहा है, आप एक कदम आगे जा सकते हैं। आप अगले व्यक्ति के लिए इस समस्या में वास्तविक रूप से भाग लेने के लिए त्रुटि संदेश को ठीक कर सकते हैं! थोड़ा त्रुटि संदेश समाधान महान ओपन-सोर्स योगदान और आसान पुल अनुरोध करता है। और वे पूरे रूबी पारिस्थितिकी तंत्र को बाकी सभी के लिए थोड़ा बेहतर बनाते हैं।

भले ही यह एक क्लोज-सोर्स आरईएसटी एपीआई है, फिर भी आप इस अभ्यास से कुछ प्राप्त कर सकते हैं। आपको API से मिलने वाली विभिन्न त्रुटियां देखने के बाद, जब आप वास्तविक रूप से किसी त्रुटि का सामना करते हैं, तो आपको समस्या को ठीक करने में आसानी होगी।

एक बार जब आप अपने आस-पास के कोड में त्रुटियों को देखने और ठीक करने में अधिक सहज हो जाते हैं, तो आप टूटे हुए कोड को हल करने के लिए एक पहेली के रूप में देखेंगे। जब आप एक अपवाद और बैकट्रेस को स्क्रीन पर डंप करते हुए देखते हैं, तो आप स्वचालित रूप से पीछे नहीं हटेंगे। इसके बजाय, आप उन्हें उस प्रणाली के बारे में अधिक जानने के अवसर के रूप में देखेंगे जिसके साथ आप काम कर रहे हैं।

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


  1. नेटफ्लिक्स के डाउन होने पर करने के लिए 5 बेहतर चीजें

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

  1. Windows बैकअप का उपयोग करते समय त्रुटि 0x81000036 का समस्या निवारण करें

    कुछ विंडोज़ उपयोगकर्ता हमेशा 0x81000036 . का सामना कर रहे हैं Windows बैकअप का उपयोग करके OS स्थिति को पिछले समय में पुनर्स्थापित करने का प्रयास करते समय त्रुटि। यह विशेष समस्या Windows 10 के लिए विशिष्ट प्रतीत होती है। इस विशेष त्रुटि कोड की जांच करने के बाद, यह पता चलता है कि कई अलग-अलग अंतर्निह

  1. Windows फ़ायरवॉल का उपयोग करते समय आपके सामने आने वाली 3 समस्याएं

    विंडोज फ़ायरवॉल विंडोज ऑपरेटिंग सिस्टम में शामिल एक शक्तिशाली सुरक्षा सेवा है। यह सिस्टम में प्रवेश करने से खतरों को खोजने और रोकने के लिए बनाया गया है। यह सिस्टम के सभी बंदरगाहों की रक्षा करता है और अन्य नेटवर्क में किसी भी पोर्ट आउट को जानकारी भेजने से चल रहे अनुप्रयोगों को रोकता है। विंडोज फ़ायरव