नमस्ते, मैं ब्लेज़ हूं। कोडिंग सीखने की अपनी यात्रा की शुरुआत में, मैंने खुद से वादा किया था कि मैं धोखा नहीं दूंगा।
किसी भी अभ्यास को हल करते समय, मैंने खुद से वादा किया कि जब तक मेरा अपना कोड काम नहीं करने लगेगा, मैं समाधान नहीं ढूंढूंगा।
मैंने ओडिन प्रोजेक्ट के साथ जाने का निर्णय लिया क्योंकि मैं यूडेमी पाठ्यक्रमों और यूट्यूब वीडियो से थक गया था, जो किसी भी तरह से बुरे नहीं थे, लेकिन मुझे लगा कि वे मुझे कहीं नहीं ले जा रहे थे।
मुझे प्रत्येक वीडियो को देखने के तीन मिनट बाद ही ध्यान केंद्रित करना मुश्किल लगने लगा और मेरे विचार इधर-उधर भटकने लगे। लेकिन यह एक अन्य ब्लॉग पोस्ट का विषय है।
ओडिन प्रोजेक्ट पाठ्यक्रम दस्तावेज पढ़ने और अभ्यास हल करने, परियोजनाएं बनाने, अधिक दस्तावेज पढ़ने, और भी अधिक अभ्यास हल करने, और भी अधिक परियोजनाएं बनाने पर आधारित है, जो कि, जैसा कि आपने अनुमान लगाया है, जैसे-जैसे आप आगे बढ़ते हैं, अधिक कठिन होते जाते हैं।
जब तक मैं इस बिंदु पर नहीं पहुंचा तब तक सब कुछ ठीक था:
मुझे याद है कि यह एक लंबा सप्ताहांत था, और मैंने सभी 4 दिन सब कुछ हल करने की कोशिश में बिताए। पहले कुछ अभ्यास आसानी से हो गए, लेकिन मैं पैलिंड्रोम्स (जिसे मैंने अंततः हल कर लिया) और फिबोनाची पर अटक गया।
अरे हाँ... यह बहुत ही शानदार था। लेकिन आप पूछ सकते हैं, ऊपर दी गई तस्वीर में ऐसे कोई व्यायाम सूचीबद्ध नहीं हैं, है न? हाँ, लेकिन जब आप उल्लेखित संग्रह में जाएँगे, तो आप उन्हें 8वें और 9वें स्थान पर पाएँगे।
पिछले अभ्यासों को हल करने में मुझे इतना समय लगा कि मैं यह भूल गया कि मुझे कहां रुकना है और बस आगे बढ़ता रहा।
मैं चाय पीते हुए बहुत सोच-विचार कर रहा था। जैसे-जैसे समय बीतता गया, मेरे विचार "यह सब आसान है, मैं इसे करूँगा" से बदलकर "शायद कुछ गड़बड़ है, मेरी विचार प्रक्रिया सही लगती है, अभ्यास में ही कुछ गलती होनी चाहिए। शायद मुझे समाधान देखना चाहिए?"
जब मैं अध्ययन करता हूं, तो मैं पोमोडोरो तकनीक का उपयोग करता हूं: 25 मिनट तक ध्यान केंद्रित करने के बाद 5 मिनट का ब्रेक।
पोमोडोरोस पास से गुजर रहे थे, और मैं किसी तरह उस बिंदु तक पहुंचने में कामयाब रहा जहां मैं किसी तरह का फिबोनाची अनुक्रम प्राप्त करने में सक्षम था... लेकिन यह अभी भी सही नहीं लग रहा था।
इस समय, मैंने सोचा, "ठीक है, मैं इस बिंदु पर पहुंच गया हूं, शायद बाद में मैं कुछ सीखूंगा, इसलिए मैं समाधान पर एक नज़र डाल सकता हूं और आगे बढ़ सकता हूं।"
मैंने वैसा ही किया जैसा मैंने सोचा था... बेशक, मैंने सोचा, "ओह हाँ, यह इतना आसान है और तार्किक रूप से सोचा गया है। ठीक है, चलो फिर आगे बढ़ते हैं!"
फिबोनाची के बाद, एक ऑब्जेक्ट अभ्यास हल करना था, और मैं उलझन में था क्योंकि हम अभी तक TOP में उस बिंदु पर ऑब्जेक्ट तक नहीं पहुंचे थे।
और मैं सही था, मैं गलती से कुछ पाठ आगे चला गया...
इससे मुझे केवल यह भरोसा हुआ कि धोखा देना सही बात है, और मैं जल्द ही कुछ नया सीखूंगा जिससे मैं बाद में या अधिक आसानी से इसे हल कर सकूंगा। हाहा!
कुछ पाठ पूरे हो गए, जिन्हें पूरा करने में मुझे लगभग एक सप्ताह लग गया, और मैं फिर से पैलिंड्रोम्स और फिबोनाची पर आ गया। इस बार, हालांकि थोड़ा तनाव था…
पैलिंड्रोम्स आसानी से चले गए, और मैं फिबोनाची करने बैठ गया। मुझे यहाँ यह उल्लेख करना होगा कि जब मैंने अभ्यास के साथ फ़ाइल खोली, तो यह निश्चित रूप से हल हो गया था, इसलिए मैंने कोड को ज़्यादा देखने की कोशिश नहीं की।
मैंने बस सब कुछ चिह्नित कर दिया और उसे हटा दिया। हालाँकि, मुझे याद आया कि पहली पंक्ति थी:
let fib = [];
मैंने इसे हल करना शुरू कर दिया। कुछ भी काम नहीं कर रहा था। मैंने रात का खाना बनाने और टहलने जाने का फैसला किया। हर बार जब मैं कंप्यूटर से दूर होता, तो मेरा दिमाग फिबोनाची की ओर भागता रहता।
मुझे ऐसा लगा जैसे मेरे दिमाग में VSCode चल रहा हो। मैं कसम खाता हूँ, मेरे एयर फ्रायर में चिप्स पकते हुए देखने के बजाय, मैं केवल फिबोनाची कोड की लाइनें देख सकता था (विशेष रूप से वह खूनी लूप और 'अगर' कथन)।
मज़ेदार एहसास यह था कि, किसी समाधान के बारे में सोचते हुए 5 सेकंड बाद ही पता चला कि या तो मैंने पहले ही यह कोशिश कर ली थी या फिर मुझे एहसास हुआ कि जावास्क्रिप्ट इस तरह से काम ही नहीं करती!!!
मैंने खाना खाया और टहलने चला गया। 1 घंटा टहलने का मतलब है 1 घंटा गहन चिंतन। मेरे नोट्स में 3 नए समाधान लिखे थे और मुझे 100% यकीन था कि वे काम करेंगे।
अनुमान लगाइए कि इनमें से कौन सा तरीका कारगर रहा। हाँ, आप सही कह रहे हैं, कोई भी नहीं! मुझे अभी भी वही परिणाम मिल रहे थे। उस समय, मैंने सरणी में कुछ जोड़ने के बारे में सोचा।
मुझे पता था कि मुझे वहाँ कुछ चाहिए। लेकिन मेरे दिमाग की गहराई में, मुझे जवाब मिल रहा था, "जब आपने पहले हल किए गए अभ्यास को हटा दिया था, तो वह सरणी खाली थी।" मैंने बस खुद से झूठ बोला।
मैं फिर से दस्तावेज़ और कुछ लेख पढ़ने लगा, लेकिन मुझे पता था कि मैं इस बार धोखा नहीं दे सकता। मैं पहले ही जान चुका था कि धोखा देने से लंबे समय में कोई फायदा नहीं होता है, और अगर मैंने अभी धोखा दिया तो मुझे बाद में भी यही समस्या होगी।
तीन घंटे बीत गए। अब मैं निराश नहीं था। मैं चाहता था कि यह समस्या हल हो जाए, और मैं समझना चाहता था कि मैं क्या गलत कर रहा था। मुझे यह भी लगा कि मुझे पता है कि यह लूप कैसे काम कर रहा है, और मुझे लगा कि मैंने पहले ही सशर्त कथनों के साथ हर एक कॉन्फ़िगरेशन आज़मा लिया है।
मेरे दिमाग में एकमात्र समाधान यह था कि डिस्कॉर्ड चैनल पर मदद ली जाए।
मैंने इसे हल कर लिया!!!! देखिए, मुझे उस सरणी में मान डालने थे और लूप से पहले कंडीशनल को खींचना था। यही बात मेरा दिमाग मुझे 10 या उससे ज़्यादा घंटे पहले बता रहा था।
लेकिन क्योंकि मैंने समाधान का थोड़ा सा हिस्सा देखा था, इसलिए मैं खुद से झूठ बोलता रहा कि ऐसा न करूं, यह मानते हुए कि यह अलग था। एह।
इस दिन मैंने जो दूसरा सबक सीखा, वह था, बेशक, मदद मांगना। लेकिन मैं दृढ़ता से सभी को प्रोत्साहित करता हूं कि वे दस्तावेज़ों को पढ़ने की प्रक्रिया से गुजरें और अपने दम पर सब कुछ हल करने की कोशिश करें, खासकर जब वे अभी भी सीख रहे हों।
इस प्रक्रिया के दौरान मैंने बहुत कुछ सीखा और मुझे विश्वास है कि मैं यह गलती दोबारा नहीं करूंगा।
अब मैं किसी और अभ्यास के साथ एक और दीवार से टकराने के लिए ज़्यादा तैयार हूँ। अब मैं इस प्रक्रिया से परिचित हूँ!