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

रेल डीप डाइव कब लें

क्या आपको कभी कोई रेल विषय मिला है जिससे आपको कोई मतलब नहीं है?

जैसे, आपने सोचा था कि आप इसे जानते हैं, इसलिए आपने कुछ कोड लिखा, और कुछ बिल्कुल अलग हुआ?

या आप जानते हैं आप समझ नहीं पाते हैं, लेकिन आप पर्याप्त जानते हैं, सिवाय इसके कि आप किनारे के मामलों से लड़ने में इतना समय व्यतीत करते हैं कि जब तक आप कर रहे थे तब तक आप इसमें एक विशेषज्ञ हो सकते थे?

अच्छा, क्या हुआ अगर ऐसा नहीं होना चाहिए था? क्या केवल जानना . के लिए बेहतर नहीं होगा चीजें कैसे काम करती हैं? समस्या का एक ठोस मानसिक मॉडल आपके सामने रखना है? ताकि आप सही निर्णय ले सकें और सही कोड लिख सकें?

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

जल्द ही, मुझे एहसास हुआ कि मुझे असल में . के लिए समय निकालना होगा समझें कि सत्रों ने कैसे काम किया। उन्हें रहस्योद्घाटन करने के लिए, उन्हें डरावना या अजीब नहीं बनाने के लिए। और अंत में, यह अनुमान लगाने में सक्षम होने के लिए कि वे कैसे व्यवहार करेंगे - और सही होने के लिए।

"सत्र" एकमात्र ऐसा विषय नहीं है जिस पर मैंने गहरा गोता लगाया है। डेटा मॉडलिंग, कैशिंग, मेटाप्रोग्रामिंग, ये सभी भ्रमित करने वाली चीजें हैं जो वास्तव में प्रकार तक पहुंचना आसान है काम। लेकिन अगर आप उन्हें नहीं समझते हैं तो आप हमेशा के लिए कठिन डिबगिंग समस्याओं में भाग लेंगे।

प्रैक्टिसिंग रेल में , मैंने टी-शेप्ड लर्निंग . के बारे में लिखा है :जब आपके पास आधारभूत ज्ञान अच्छा हो, लेकिन विशिष्ट विषयों में बहुत आगे बढ़ें, जैसा आपको चाहिए। वे पुश डीप डाइव हैं, और वे आपके प्रोग्रामिंग करियर के दौरान बड़ी समस्याओं को हल करने में आपकी सहायता करेंगे।

आपको डीप डाइव कब करनी चाहिए?

तो आपको कैसे पता चलेगा कि गहरे गोता लगाने का समय आ गया है?

सबसे पहले, एक गहरा गोता लगाने के लिए, आपको यह जानना होगा कि आप किसमें गोता लगा रहे हैं।

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

इसके बाद, आपको दो स्थितियों में से एक में गहरी डुबकी लगानी चाहिए:

  1. आप सोचते हैं आप जानते हैं कि आप क्या कर रहे हैं, लेकिन कुछ पूरी तरह से अप्रत्याशित होता है। आप अपने दिल में जानते हैं कि हरे बटन को दबाने से दालान की रोशनी चालू हो जाती है, लेकिन आप उसे धक्का देते हैं और कमरा ढह जाता है।

  2. आप जानते हैं आप वास्तव में कुछ नहीं समझते हैं, और यह ठीक है… लेकिन अब, आप एक बग को ठीक कर रहे हैं, और आप जो कुछ भी करने की कोशिश करते हैं, वह आपके द्वारा हल किए जाने की तुलना में अधिक समस्याओं का कारण बनता है, जितनी जल्दी आप पुराने को ठीक कर रहे हैं, उतनी ही जल्दी नए बग बना रहे हैं।

इन स्थितियों में कुछ समान है:आपने अभी नोटिस करना शुरू किया है कि आप गलत दिशा में जा रहे हैं। और भले ही आप उम्मीद आप चीजों को बदल देंगे, आपको एहसास होने लगेगा कि आप संघर्ष करने में बहुत समय बर्बाद करेंगे।

ये दोनों ही तरीके आपको शुरुआती दौर में यह समझने में मदद करते हैं कि आप जिस तरह से काम कर रहे हैं वह काम नहीं कर रहा है।

इसलिए, अगली बार जब आप मंडलियों में दौड़ते हैं, किसी बग को ठीक करने के लिए किनारे के मामलों से जूझते हैं, या अगली बार जब आप कोड से प्रभावित होते हैं, तो आपने अपनी अपेक्षा से पूरी तरह से अलग कुछ करते हुए लिखा है, तो अपनी भावना को याद रखें। इसके प्रति संवेदनशील हो जाओ। यही भावना आपको बताएगी कि यह रुकने का समय है। अपने आप को इकट्ठा करने के लिए। और गहराई से जानने के लिए, वह चीज़ जिसे अब आप जानते हैं, आप नहीं समझते हैं।

लेकिन अब जब आपने तय कर लिया है कि आपको गहरे गोता लगाने की ज़रूरत है, तो आप इसे कैसे करेंगे?


  1. एडब्ल्यूएस लैम्ब्डा के लिए रेल की तैनाती

    सर्वर रहित कंप्यूटिंग एक क्लाउड प्रदाता को सर्वर के प्रबंधन और प्रावधान के काम को उतारने में मदद करती है और तेजी से अधिकांश प्रौद्योगिकी टीमों के लिए एक चीज बन रही है। AWS लैम्ब्डा एक प्रकार की सर्वर रहित तकनीक है जिसका उपयोग कई तकनीकी टीमों द्वारा किया जाता है। AWS लैम्ब्डा NodeJS, Java, Python और

  1. रेल के साथ कोणीय का उपयोग करना 5

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

  1. अपने रेल ऐप्स के प्रदर्शन को समझने का एक नया तरीका

    क्या आपका रेल ऐप धीमा है? जब एक साधारण दृश्य लोड होने में कुछ सेकंड लगते हैं, तो आपको एक समस्या का पता चलता है। आपके पास बहुत अधिक डेटाबेस कॉल या कुछ धीमी विधियाँ हो सकती हैं। या हो सकता है कि यह स्पीडअप लूप है जिसे किसी ने आपके कोड में डाल दिया और भूल गए। आपको यह पता लगाने में मदद करने के लिए ब