-
रूबी में निल (nil) के जाल से बचना: विश्वसनीय कोड के लिए सर्वोत्तम अभ्यास
पिछले छह महीनों से मैं रस्ट में NES एमुलेटर पर काम कर रहा हूँ। जैसा कि आप अनुमान लगा सकते हैं, मैंने रस्ट के बारे में बहुत कुछ सीखा है, और NES के आंतरिक कामकाज के बारे में तो और भी ज्यादा। लेकिन इस अनुभव ने रूबी को देखने का मेरा नजरिया भी बदल दिया है। खासकर, इसने मुझे उन मेथड्स के बारे में बेहद सतर्
-
अस्थिर टेस्ट सूट को खत्म करना: विश्वसनीय API टेस्टिंग के लिए एक व्यावहारिक मार्गदर्शिका
मैं हाल ही में एक टेस्ट सूट पर काम कर रहा था जो अपनी अविश्वसनीयता के कारण उपयोग करने में वास्तव में निराशाजनक था। वह एप्लिकेशन जिसे टेस्ट सूट लक्षित कर रहा था, एक रेल्स API-ओनली एप्लिकेशन था। टेस्ट JavaScript में Chakram नामक एक फ्रेमवर्क का उपयोग करके लिखे गए थे, एक API टेस्टिंग फ्रेमवर्क जिसे JSO
-
Honeybadger Ruby जेम 4.0 जारी: उन्नत त्रुटि अनुकूलन और प्रमुख रीफैक्टर
पिछले हफ्ते हमने honeybadger Ruby जेम का वर्जन 4.0.0 जारी किया। इस रिलीज़ में एक लंबे समय से प्रतीक्षित सुविधा शामिल है जो आपकी त्रुटि रिपोर्ट को Honeybadger को भेजे जाने से पहले अनुकूलित करना और भी आसान बनाती है। हमने कुछ बहुत जरूरी रीफैक्टरिंग भी की, और अच्छे उपाय के लिए कुछ निष्कासन और डिप्रिकेशन
-
कुशल सर्वरलेस फंक्शन्स के लिए AWS Lambda पर Ruby का लाभ उठाना
जब कल AWS Lambda पर Ruby सपोर्ट की घोषणा की गई, तो मैं इसके बारे में इतना उत्साहित था कि मुझे इसे तुरंत आज़माना पड़ा। हम Honeybadger पर कुछ समय से Lambda का उपयोग कर रहे हैं, और मैं लंबे समय से अपने फंक्शन्स को Ruby में लिखने में सक्षम होने की लालसा रखता था। नए Ruby सपोर्ट के साथ कुछ घंटे खेलने के ब
-
Ruby में अनउपयोग की गई क्लासेस को रोकना: क्लीन ऑब्जेक्ट मॉडलिंग के लिए एक गाइड
चूंकि Ruby एक ऑब्जेक्ट-ओरिएंटेड भाषा है, हम दुनिया को ऑब्जेक्ट्स के एक सेट के रूप में मॉडल करते हैं। हम कहते हैं कि दो इंटीजर्स (x और y) एक पॉइंट हैं, और एक लाइन में उनमें से दो हैं। जबकि यह दृष्टिकोण अक्सर उपयोगी होता है, इसकी एक बड़ी समस्या है। यह डेटा की एक व्याख्या को अन्य सभी पर विशेषाधिकार दे
-
UUID बनाम ULID को समझना: यूनिक आइडेंटिफायर्स में एक गहरा गोता
दूसरे दिन HB टीम चैट कर रही थी और बेन, हमारे देव-ऑप्स मास्टर, ने उल्लेख किया कि वह चाहता है कि उसने एक विशेष प्रणाली के लिए UUID के बजाय ULIDs का उपयोग किया होता। किसी भी अनुभवी इंजीनियर की तरह, मेरी प्रतिक्रिया कुछ गैर-प्रतिबद्ध बड़बड़ाना था फिर गूगल पर चुपके से यह पता लगाने के लिए कि आखिर ULID क्
-
टू-फैक्टर ऑथेंटिकेशन पेश करना: अपने अकाउंट की सुरक्षा मजबूत करें
क्या आप अपना महंगा इंटरनेट बिल फेंककर अपने पड़ोसी के असुरक्षित वाईफाई का उपयोग करना चाहते थे? क्या एकमात्र चीज जो आपको रोक रही थी वह थी Honeybadger का सिंगल-फैक्टर ऑथ फ्लो? खैर, मेरे पास आपके लिए खबर है। घोषणा: टू-फैक्टर ऑथेंटिकेशन (2FA) मजाक एक तरफ, हम सुरक्षा को बहुत गंभीरता से लेते हैं। हम अपने
-
ब्रेडक्रंब्स के साथ प्रोडक्शन डीबगिंग को बढ़ाएं
क्या आपने कभी प्रोडक्शन में एक त्रुटि का सामना किया है, और कोई फर्क नहीं पड़ता कि आप क्या कोशिश करते हैं, आप अपने विकास या स्टेजिंग एनवायरनमेंट पर इस मुद्दे को दोहरा नहीं सकते? अक्सर अगला कदम प्रोडक्शन पर एक डिबग लॉग फेंककर अधिक डेटा इकट्ठा करना है। यदि आपके पास रिक्वेस्ट के साथ लॉग को सहसंबंधित करन
-
Ruby का उपयोग करके PostgreSQL पार्टीशन टेबल्स को कुशलतापूर्वक प्रबंधित करना
हम अपने प्राथमिक PostgreSQL डेटाबेस में पार्टीशन टेबल्स का उपयोग पुराने डेटा को कुशलतापूर्वक समाप्त करने के लिए करते हैं, क्योंकि बड़ी टेबल से बहुत सारा डेटा हटाने से डेटाबेस प्रदर्शन प्रभावित हो सकता है। वर्जन 10 से पहले, PostgreSQL में पार्टीशन टेबल्स के लिए मूल समर्थन नहीं था, इसलिए हमने पार्टीशन
-
Ruby में कैरेक्टर एन्कोडिंग में मास्टर करें: यूनिकोड और UTF-8 के लिए एक व्यावहारिक गाइड
यह बहुत संभावना है कि आपने UndefinedConversionError या IncompatibleCharacterEncodings जैसे Ruby एक्सेप्शन देखे हैं। यह कम संभावना है कि आपने समझा हो कि एक्सेप्शन का क्या अर्थ है। यह लेख मदद करेगा। आप सीखेंगे कि कैरेक्टर एन्कोडिंग कैसे काम करती है और Ruby में इसे कैसे लागू किया जाता है। अंत तक, आप इन
-
Ruby में बिग-O नोटेशन में मास्टर करें: एक व्यावहारिक गाइड
एक समय था जब उसके लिए बिग-O नोटेशन क्या है? प्रश्न सुनने से ज्यादा मुझे कुछ भी नहीं डराता था। मुझे स्कूल से यह विषय याद था, लेकिन क्योंकि इसका गणित से लेना-देना था (जो कभी मेरा सबसे मजबूत विषय नहीं था), मैंने इसे ब्लैक आउट कर दिया था। हालांकि, जैसे-जैसे मेरा करियर आगे बढ़ा, मैंने खुद को पाया: परफॉ
-
Ruby कंकरेंसी में मास्टर: टूल्स, तकनीकें और भविष्य की दिशाएं
कंकरेंसी और पैरेललिज़्म Ruby डेवलपर्स के लिए पहले से कहीं अधिक महत्वपूर्ण हैं। वे हमारे एप्लिकेशन को तेज़ बना सकते हैं, उस हार्डवेयर का पूरी क्षमता से उपयोग करके जो उन्हें शक्ति देता है। इस लेख में, हम हर Rubyist के लिए वर्तमान में उपलब्ध टूल्स का पता लगाने जा रहे हैं और यह भी कि Ruby जल्द ही इस विभ
-
Ruby कोड को डिकॉपल करना: डेलीगेशन बनाम डिपेंडेंसी इंजेक्शन
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एक ऑब्जेक्ट अक्सर कार्य करने के लिए दूसरे ऑब्जेक्ट पर निर्भर करेगा। उदाहरण के लिए, यदि मैं फाइनेंस रिपोर्ट चलाने के लिए एक सिंपल क्लास बनाता हूँ: class FinanceReport def net_income FinanceApi.gross_income - FinanceApi.total_costs end end हम कह सकते हैं क
-
Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल
क्या आपने कभी अपने कोड को डीबग करने की कोशिश की है puts स्टेटमेंट टाइप करके और उम्मीद करते हैं कि वे अंततः वहीं दिखाई देंगे जहां उन्हें होना चाहिए? आप जानते हैं कि मेरा क्या मतलब है - आप टाइप करते हैं: puts “This worked!" कोड में और फिर इसे टर्मिनल में चलाते हैं, केवल यह देखने के लिए कि कुछ भी
-
Ruby के बिटवाइज़ टूलबॉक्स में मास्टर: ऑपरेटर्स, एप्लिकेशन्स और चालाक ट्रिक्स
आप शायद अपना पूरा जीवन Rails ऐप्स बनाने में बिता सकते हैं और कभी भी किसी बिटवाइज़ ऑपरेटर का उपयोग करने की आवश्यकता नहीं होगी। यदि आप प्रोग्रामिंग में नए हैं, तो हो सकता है कि आप यह भी न जानते हों कि बिटवाइज़ का क्या अर्थ है। लेकिन जिस क्षण आप उन प्रणालियों में रुचि लेते हैं जहां दक्षता महत्वपूर्ण ह
-
वेब डेवलपर्स को मशीन लर्निंग में मास्टर क्यों होना चाहिए
मेरे अभी बच्चे नहीं हैं, लेकिन जब होंगे, तो मैं चाहता हूं कि वे दो चीजें सीखें: पर्सनल फाइनेंस मशीन लर्निंग चाहे आप मानते हों कि सिंगुलैरिटी निकट है या नहीं, इस बात से इनकार नहीं किया जा सकता कि दुनिया डेटा पर चलती है। यह समझना कि वह डेटा ज्ञान में कैसे बदला जाता है, आजकल उम्र के आने वाले किसी भी
-
AWS Elastic Beanstalk और RDS पर Rails 6 को सहजता से डेप्लॉय करें: एक पूर्ण गाइड
एक एप्लिकेशन लिखते समय, आपको जिन प्रमुख मुद्दों पर विचार करना होता है, उनमें से एक यह है कि एप्लिकेशन को बाकी दुनिया के साथ कैसे साझा किया जाएगा। एक सामान्य दृष्टिकोण Heroku पर लॉन्च करना रहा है। इसे सेट अप करना आसान है और यह पूरी तरह से मैनेज्ड है। लेकिन, टीमों के लिए बाद में Heroku छोड़ना भी आम ह
-
Ruby ARGV का उपयोग क्यों करता है: Ruby में आर्गुमेंट वेक्टर्स को समझना
आप जानते होंगे कि Ruby कमांड-लाइन आर्गुमेंट्स को ARGV नामक एक ग्लोबल ऐरे में डालता है। लेकिन इसका नाम ARGV क्यों है? यह एक दिलचस्प इतिहास का पाठ है जो Ruby की C में जड़ों को उजागर करता है। आर्गुमेंट वेक्टर ARGV का मतलब है आर्गुमेंट वेक्टर। और इस अजीब पुराने ज़माने के उपयोग में वेक्टर का अर्थ है एक-
-
Nginx कैसे आपके Ruby ऐप को HTTP हेडर्स भेजता है: एक स्पष्ट, पेशेवर गाइड
आजकल लगभग सभी वेब डेवलपमेंट फ्रेमवर्क के साथ किया जाता है। चाहे आप Rails, Sinatra, या Lotus का उपयोग करें, आपको वास्तव में यह सोचने की ज़रूरत नहीं है कि कुकीज़ और अन्य हेडर्स Nginx या Apache से एप्लिकेशन सर्वर और फिर आपके ऐप तक कैसे पहुँचते हैं। वे बस पहुँच जाते हैं। HTTP हेडर्स क्या हैं? जब भी कोई
-
Ruby में कमांड-लाइन एप्लिकेशन मास्टर करें: एक व्यावहारिक मार्गदर्शिका
छोटे वन-ऑफ यूटिलिटी स्क्रिप्ट लिखना मजेदार है, लेकिन कभी-कभी आपको एक वास्तविक, ईमानदार कमांड-लाइन एप्लिकेशन लिखने की आवश्यकता होती है। ऐसा जो आर्गुमेंट्स लेता है और इनपुट, आउटपुट, त्रुटि रिपोर्टिंग आदि के लिए यूनिक्स कन्वेंशन्स के साथ अच्छा व्यवहार करता है। सौभाग्य से, Ruby आपको कमांड-लाइन एप्लिकेश