-
रूबी रेस्क्यू को उन्नत करें: डायनामिक एक्सेप्शन मिलान
जब आप रूबी में एक रेस्क्यू क्लॉज का उपयोग करते हैं, तो आप निर्दिष्ट कर सकते हैं कि आप किस प्रकार के एक्सेप्शन को रेस्क्यू करना चाहते हैं। आपको बस एक्सेप्शन क्लास की एक सूची प्रदान करने की आवश्यकता है जैसे: begin raise RuntimeError rescue RuntimeError, NoMethodError puts rescued! end लेकिन क्या होगा
-
यूनिकॉर्न को Nginx से जोड़ें: रूबी में यूनिक्स सॉकेट के लिए एक व्यावहारिक गाइड
रूबी एप्लिकेशन सर्वर आमतौर पर Nginx जैसे वेब सर्वर के साथ उपयोग किए जाते हैं। जब कोई उपयोगकर्ता आपके रेल्स ऐप से कोई पेज अनुरोध करता है, तो Nginx अनुरोध को एप्लिकेशन सर्वर को सौंप देता है। लेकिन वास्तव में यह कैसे काम करता है? Nginx यूनिकॉर्न से कैसे बात करता है? सबसे कुशल विकल्पों में से एक है यूनि
-
बाईबग और पाउ के साथ रेल्स में रिमोट डीबगिंग: एक चरण-दर-चरण गाइड
यदि आपने पहले बाईबग नहीं देखा है, तो मैं सुझाव देता हूँ कि आप इसे देखें। यह रूबी 2.x के लिए एक बेहतरीन डीबगर है। इसके लेखकों के शब्दों में: बाईबग रूबी 2 के लिए उपयोग में सरल, सुविधा संपन्न डीबगर है। यह निष्पादन नियंत्रण के लिए नए TracePoint API और कॉल स्टैक नेविगेशन के लिए नए डिबग इंस्पेक्टर API का
-
रूबी के केस स्टेटमेंट में महारत हासिल करें: उन्नत तकनीकें और सर्वोत्तम अभ्यास
केस स्टेटमेंट से सरल और अधिक उबाऊ कुछ नहीं हो सकता। यह C से एक होल्डओवर है। आप इसका उपयोग गुच्छा भर ifs को बदलने के लिए करते हैं। केस बंद। या नहीं? वास्तव में, रूबी में केस स्टेटमेंट आपकी कल्पना से कहीं अधिक समृद्ध और जटिल हैं। आइए सिर्फ एक उदाहरण देखें: case Hi there when String puts case statement
-
तेज़ डीबगिंग के लिए रूबी एक्सेप्शन पर लोकल और इंस्टेंस वेरिएबल लॉग करें
क्या आपको कभी ऐसा बग मिला है जिसे आप आसानी से पुन: पेश नहीं कर सके? यह केवल तब होता प्रतीत होता है जब लोग आपके ऐप का कुछ समय से उपयोग कर रहे हों। और एरर मैसेज और बैकट्रेस आश्चर्यजनक रूप से अनुपयोगी होते हैं। ऐसे समय में यह वास्तव में आसान होता अगर आप एक्सेप्शन होने से ठीक पहले ऐप की स्थिति का स्नैपश
-
रूबी में यूनिक्स डेमॉन को समझें: एक सैद्धांतिक गाइड
यूनिक्स डेमॉन वे प्रोग्राम होते हैं जो बैकग्राउंड में चलते हैं। Nginx, Postgres और OpenSSH कुछ उदाहरण हैं। वे अपने प्रोसेस को डिटैच करने के लिए कुछ विशेष तरकीबों का उपयोग करते हैं, और उन्हें किसी भी टर्मिनल से स्वतंत्र रूप से चलने देते हैं। मैं हमेशा से डेमॉन के प्रति थोड़ा आकर्षित रहा हूँ - शायद ना
-
रूबी के एरनो एक्सेप्शन को समझें: उन्हें समझने और संभालने के लिए एक व्यावहारिक गाइड
अगर आपने कभी रूबी के एक्सेप्शन हायरार्की पर नज़र डाली है, तो आपने कुछ अजीब देखा होगा। सामान्य एक्सेप्शन जैसे RuntimeError और NoMethodError के अलावा, वहां Errno::* का एक अजीब सा रेफरेंस होता है। Exception StandardError ... SystemCallError Errno::* ... अगर आपने कभी डिस्क फुल होने पर डिस्क पर लिखने की
-
रूबी एक्सेप्शन को प्रासंगिक डेटा के साथ बढ़ाएं – एक व्यावहारिक गाइड
कभी-कभी मानक बैकट्रेस/एरर मैसेज कॉम्बो पर्याप्त नहीं होता। कभी-कभी आपको एरर के कारण का पता लगाने के लिए अतिरिक्त डेटा की आवश्यकता होती है। सौभाग्य से, रूबी में यह करना बेहद आसान है। एरर मैसेज कस्टमाइज़ करना अपने एरर में प्रासंगिक जानकारी जोड़ने का सबसे सरल तरीका है उसे एक्सेप्शन के मैसेज में शामिल क
-
Fiddle के साथ Ruby से किसी भी C लाइब्रेरी तक पहुंचें: Ruby की छिपी क्षमताओं को अनलॉक करें
Fiddle एक कम ज्ञात मॉड्यूल है जिसे Ruby की मानक लाइब्रेरी में 1.9.x में जोड़ा गया था। यह आपको Ruby से सीधे C लाइब्रेरी के साथ बातचीत करने की अनुमति देता है। यह आपको रनटाइम पर Ruby इंटरप्रेटर का निरीक्षण और परिवर्तन करने भी देता है। यह libffi को रैप करके काम करता है, एक लोकप्रिय C लाइब्रेरी जो एक भाष
-
एक साधारण इमोजी-सक्षम स्क्रिप्ट के साथ सभी Sidekiq कतारों को कुशलतापूर्वक साफ़ करें
यहां Honeybadger पर, हम Sidekiq का बहुत उपयोग करते हैं, और यह बहुत अच्छा है। लेकिन एक समस्या है जिसका मैंने अक्सर सामना किया है। ...आप देखते हैं, मैं आमतौर पर विकास में Sidekiq नहीं चलाता। लेकिन मैन्युअल टेस्टिंग के दौरान, मैं बहुत सारे जॉब्स को एनक्यू करता हूँ। तो अगली बार जब मैं Sidekiq *चलाता हूँ
-
Rails के अंदर: सुंदर अपवाद पेज कैसे काम करता है
Rails के साथ काम करने की अच्छी चीजों में से एक यह है कि जब विकास में कुछ गलत होता है, तो आपको वास्तव में एक अच्छा त्रुटि विवरण पेज मिलता है। आपको एक अच्छा बैकट्रेस मिलता है, जिसमें आपके ऐप के लिए प्रासंगिक भाग हाइलाइट किए गए होते हैं। आप देख सकते हैं कि कौन से पैरामीटर पोस्ट किए गए थे, साथ ही पर्याव
-
किसी भी ऑब्जेक्ट को Ruby अपवाद के रूप में उठाएं: तकनीकें और सर्वोत्तम अभ्यास
Ruby का raise सिंटैक्स आपको उस त्रुटि के प्रकार को निर्दिष्ट करने के लिए कुछ विकल्प देता है जिसे आप उठाना चाहते हैं। नीचे दिए गए कोड में, मैंने RuntimeError उठाने के तीन तरीके दिखाए हैं। raise hello raise RuntimeError, hello raise RuntimeError.new(hello) # ...उपरोक्त सभी का परिणाम RuntimeError: hell
-
प्रदर्शन तुलना: Ruby में अपवाद बनाम ब्रेक और रिटर्न
मेरा हमेशा से दृढ़ता से संदेह रहा है कि अपवाद Ruby में अन्य फ्लो कंट्रोल तंत्र की तुलना में धीमे होंगे। आखिरकार - अपवाद एक साधारण ब्रेक या रिटर्न की तुलना में बहुत अधिक जटिल हैं। लेकिन मैं पहले अपने अनुमानों में गलत रहा हूँ, इसलिए मैंने सोचा कि मैं इसे टेस्ट करूंगा। नीचे दिए गए कोड में मैं लूप से बा
-
Ruby में लेज़ी एन्यूमरेटर में महारत हासिल करें: बड़ी फ़ाइलों को कुशलतापूर्वक प्रोसेस करें
एन्यूमरेटर उस चीज़ के केंद्र में हैं जो Ruby को इतनी शक्तिशाली, डायनामिक भाषा बनाती है। और लेज़ी एन्यूमरेटर इसे एक कदम आगे ले जाते हैं जिससे आप अत्यधिक बड़े संग्रह के साथ कुशलतापूर्वक काम कर सकते हैं। फाइलें - यह पता चला है - लाइनों या कैरेक्टर्स के बड़े संग्रह हैं। इसलिए लेज़ी एन्यूमरेटर उनके साथ क
-
Ruby के एसोसिएटिव सरणियों में महारत हासिल करें: कुंजी-मूल्य लुकअप के लिए Array#assoc और #rassoc का उपयोग करें
क्या आपके पास कभी एक सरणी में बहुत सारा डेटा था, लेकिन हैश की तरह कुंजी/मूल्य लुकअप करने की आवश्यकता थी? सौभाग्य से, Ruby सरणियों को कुंजी-मूल्य संरचनाओं के रूप में व्यवहार करने के लिए एक तंत्र प्रदान करता है। आइए इसे देखें! `Array#assoc` और `Array#rassoc` का परिचय कल्पना करें कि आपको एक जादुई स्टॉक
-
Ruby के DATA और __END__ का उपयोग करके कोड और डेटा को निर्बाध रूप से एम्बेड करें
क्या आप जानते हैं कि Ruby आपके स्क्रिप्ट को अपने स्वयं के स्रोत फ़ाइल को डेटा स्रोत के रूप में उपयोग करने का एक तरीका प्रदान करता है? यह एक साफ-सुथरी ट्रिक है जो वन-ऑफ स्क्रिप्ट और प्रूफ ऑफ कॉन्सेप्ट लिखते समय आपका कुछ समय बचा सकती है। आइए इसे देखें! DATA और END नीचे दिए गए उदाहरण में, मैं `__END__`
-
मजबूत क्रैश हैंडलिंग के लिए रेस्क्यू ब्लॉक्स से परे Ruby अपवादों तक पहुंचें
सबसे हालिया अपवाद प्राप्त करने में सक्षम होना अक्सर उपयोगी होता है, भले ही आपका कोड उस अपवाद के जीवनचक्र को नियंत्रित न करता हो। कल्पना करें कि आप अपने एप्लिकेशन में बेसिक क्रैश डिटेक्शन जोड़ना चाहते हैं। आप किसी अनकॉट अपवाद के परिणामस्वरूप होने वाले किसी भी क्रैश के बारे में अतिरिक्त जानकारी लॉग कर
-
स्प्राउट क्लासेस के साथ लिगेसी Ruby को रीफैक्टर करें
कुछ लिगेसी एप्लिकेशन के साथ काम करने की सबसे मुश्किल चुनौतियों में से एक यह है कि कोड टेस्टेबल होने के लिए नहीं लिखा गया था। इसलिए **सार्थक टेस्ट लिखना मुश्किल या असंभव है**। यह एक चिकन-एंड-एग समस्या है: लिगेसी एप्लिकेशन के लिए टेस्ट लिखने के लिए, आपको कोड बदलना होगा, लेकिन आप पहले टेस्ट लिखे बिना क
-
Rails 4 के साथ AngularJS में महारत हासिल करें: एक शुरुआती गाइड
AngularJS के साथ शुरुआत करना कठिन नहीं है। दस्तावेज़ीकरण वहां से कुछ सर्वश्रेष्ठ में से है और इसके ट्यूटोरियल काफी सरल हैं। लेकिन चीजें मुश्किल हो जाती हैं जब आप प्रौद्योगिकियों को जोड़ना शुरू करते हैं। यदि आप सीधे JavaScript के बजाय CoffeeScript का उपयोग कर रहे हैं, तो आपको प्रीप्रोसेसिंग चिंताओं क
-
Ruby Gems को समझें: वे कैसे काम करते हैं और वे क्यों मायने रखते हैं
Rails के साथ काम करने को इतना अच्छा बनाने वाली चीजों में से एक यह है कि किसी भी सामान्य प्रोग्रामिंग आवश्यकता के लिए---प्राधिकरण, साइट प्रशासन, ईकॉमर्स, आप इसे नाम दें---आपसे ज्यादा चालाक किसी ने शायद आपकी समस्या का समाधान कोड किया है और इसे एक जेम के रूप में पैकेज किया है। आप निश्चित रूप से अपने जे