सितंबर 2021 की शुरुआत में अंततः Exercism v3 लॉन्च हुआ। Angelika Tyborska उन प्रमुख मेंटेनर में से एक हैं जिनकी मदद से हम यह काम पूरा कर पाए। Angelika Elixir के लर्निंग एक्सरसाइज़ और सिलेबस की सह-निर्माता भी हैं। साथ ही v3 के पूरे विकास में उनकी अहम भूमिका रही, और बनने की पूरी प्रक्रिया के दौरान उन्होंने नए विचार तथा गहरी समझ दी। वह Exercism की एक प्रमुख योगदानकर्ता हैं।
इस वीडियो प्रस्तुति में Angelika बताती हैं कि v3 को किन समस्याओं को हल करने के लिए बनाया गया था, प्लेटफॉर्म में कौन-कौन से खास जुड़ाव हुए, और सब कुछ आपस में कैसे जुड़ता है। साथ ही वह एनालाइज़र, रिप्रेज़ेंटर और नए लर्निंग एक्सरसाइज़ को भी समझाती हैं।
ट्रांसक्रिप्ट
Exercism का इतिहास
Exercism काफी समय से मौजूद है। इसे सबसे पहले 2013 में Katrina Owen ने अपने विद्यार्थियों के लिए एक टूल के रूप में बनाया था। v1 में यह सिर्फ दिलचस्प प्रैक्टिस एक्सरसाइज़ का एक संग्रह था। v2 में यह मुफ्त कोड मेंटरशिप के लिए एक प्लेटफॉर्म बन गया।
v3 🚀 01.09.2021
1 सितंबर को Exercism का वर्शन 3 जारी हुआ।
इस वीडियो में मैं आपको v3 में हुए बदलावों के बारे में बताऊँगी, यह भी समझाऊँगी कि ये बदलाव क्यों किए गए, और ये Exercism पर आपके अनुभव को कैसे बेहतर बनाएँगे।
मेरे बारे में
यह मैं हूँ [0:38 पर दिखाया गया फोटो]। मैं Angelika हूँ। मैंने अपने सह-मेंटेनर Tim के साथ मिलकर Exercism v3 के लिए Elixir ट्रैक की टूलिंग और 30 से ज़्यादा लर्निंग एक्सरसाइज़ बनाईं। मेरा मानना है कि अपने नए रूप में Exercism में नई प्रोग्रामिंग भाषाएँ सीखने का सबसे अच्छा टूल बनने की क्षमता है।
v3 में नया क्या है?
Exercism v3 में नया क्या है? छोटा जवाब: बहुत कुछ।
v3 में किए गए सभी बड़े बदलाव v2 में लोगों के सामने आई सबसे बड़ी समस्याओं को हल करने के लिए हैं।
v2 की समस्याएँ
v3 तीन मुख्य समस्याओं को हल करता है।
पहली: शुरुआती सेटअप का मुश्किल होना, दूसरी: सीखे बिना कोड का अभ्यास, तीसरी: मेंटर के जवाब देने में लंबा समय।
समस्या 1. शुरुआती सेटअप मुश्किल है
पहली समस्या: शुरुआती सेटअप मुश्किल होना। Exercism शुरू करने के लिए आपको Exercism CLI इंस्टॉल करना होता है, जो प्रोग्रामिंग भाषा आज़मानी है उसे भी इंस्टॉल करना होता है, और टर्मिनल में आपको सहज होना पड़ता है। आपको अपने एडिटर में नई भाषा के लिए सिंटैक्स कलरिंग सेट करनी पड़ती है, वगैरह। अनुभवी डेवलपर के लिए यह पूरा सेटअप समय की बर्बादी भर है। लेकिन शुरुआती लोगों के लिए यह एक ऐसी रुकावट बन सकता है जिसे पार करना असंभव हो।
समाधान: लोगों को ब्राउज़र में ही कोड करने दिया जाए। किसी शुरुआती सेटअप की ज़रूरत नहीं।
इसे आसान बनाने के लिए अब Exercism पर एक वेब एडिटर है, और हर प्रोग्रामिंग भाषा का अपना टेस्ट रनर है जो Exercism के अभ्यासों के टेस्ट चलाने के लिए बनाया गया है।
वेब एडिटर
यह वेब एडिटर है [2:25 पर दिखाया गया स्क्रीनशॉट]। इसमें दो पैनल हैं, बाईं ओर सोर्स कोड और दाईं ओर निर्देश तथा टेस्ट सूट।
इसमें कोई खास सुविधाएँ नहीं हैं, क्योंकि इसका उद्देश्य आपके पसंदीदा टूल की जगह लेना नहीं है। इसका उद्देश्य यह है कि आप सारे ज़रूरी टूल और डिपेंडेंसी इंस्टॉल करने का काम तब तक टाल सकें, जब तक आप नई प्रोग्रामिंग भाषा में सहज न हो जाएँ और आपको यह तय हो जाए कि आप इसके साथ आगे काम करना चाहते हैं।
वेब एडिटर पूरी तरह से वैकल्पिक है। आप CLI इस्तेमाल करते रह सकते हैं और अपने ही कंप्यूटर पर अपने पसंदीदा टूल के साथ काम कर सकते हैं।
टेस्ट रनर
वेब एडिटर के काम लायक होने के लिए यह ज़रूरी है कि ब्राउज़र में आप जो हल लिखते हैं, उस पर टेस्ट चलाने का कोई तरीका हो। यही टेस्ट रनर का काम है।
Exercism की हर भाषा का अपना टेस्ट रनर होता है। टेस्ट रनर टेस्ट के नतीजे बताने का काम करता है, लेकिन यह सब कुछ नहीं है। इसे टेस्ट का बॉडी हिस्सा भी निकालना होता है, ताकि आप जान सकें कि कौन सा कोड चल रहा है और फेलियर मैसेज का अर्थ समझ सकें। साथ ही इसे टेस्ट का आउटपुट भी पकड़ना होता है, ताकि आप ब्राउज़र में अपने कोड को puts, print, console.log या अपनी भाषा के किसी भी प्रिंट फंक्शन की मदद से डीबग कर सकें।
ब्राउज़र में अभ्यास हल करने के लिए टेस्ट रनर बहुत ज़रूरी हैं, लेकिन CLI से जमा किए गए हलों पर भी इनका इस्तेमाल होगा। किसी अभ्यास के समुदाय के हल देखते समय या किसी विद्यार्थी को मेंटर करते समय, आप बिना हल डाउनलोड किए और अपने कंप्यूटर पर चलाए देख सकते हैं कि वह हल टेस्ट पास करता है या नहीं।
समस्या 2. सीखे बिना कोड का अभ्यास
दूसरी समस्या: Exercism कोड के अभ्यास का प्लेटफॉर्म है, लेकिन यह किसी भाषा को शुरू से सीखने के लिए कोई संसाधन नहीं देता था। वह काम आपको पहले कहीं और करना पड़ता था।
Exercism के अभ्यास दिलचस्प और चुनौतीपूर्ण बनाए गए थे। लेकिन कभी-कभी सबसे आसान अभ्यास भी किसी नई प्रोग्रामिंग भाषा की शुरुआत करने के लिए बहुत मुश्किल होते हैं। यह खास तौर पर तब सच है जब आप ऐसी भाषा सीख रहे हों जिसका सिंटैक्स बिल्कुल अलग हो, या जो अलग प्रोग्रामिंग पैराडाइम पर चलती हो।
समाधान: अभ्यास के साथ-साथ सीखने का मौका देना।
सिलेबस और लर्निंग एक्सरसाइज़ जुड़ने के बाद अब Exercism किसी नई प्रोग्रामिंग भाषा में सीधे उतर जाने का बढ़िया टूल बन गया है।
सिलेबस
सिलेबस क्या है? सिलेबस उन कॉन्सेप्ट का एक पेड़ है जिनसे हर प्रोग्रामिंग भाषा बनी होती है। Exercism पर हर ट्रैक का सिलेबस अलग होता है, क्योंकि हर प्रोग्रामिंग भाषा अलग है और उसके कॉन्सेप्ट भी अलग हैं।
कॉन्सेप्ट एक-दूसरे पर निर्भर करते हैं और मिलकर पेड़ की कई शाखाएँ बनाते हैं। किसी शाखा में अगला कॉन्सेप्ट खोलने के लिए आपको उससे पहले वाला कॉन्सेप्ट सीखना पड़ता है।
उदाहरण के लिए, यह Elixir सिलेबस की शुरुआत है [5:10 पर दिखाया गया स्क्रीनशॉट]। यह "basics" नाम के कॉन्सेप्ट से शुरू होता है, जिसमें ये बातें आती हैं: मॉड्यूल कैसे बनाया जाए, नाम वाला फंक्शन कैसे बनाया जाए, और स्टैंडर्ड लाइब्रेरी का डॉक्युमेंटेशन कहाँ मिलेगा। यह जानकारी Exercism के हर अभ्यास के लिए ज़रूरी है। कोई भी दूसरा कॉन्सेप्ट खोलने के लिए आपको basics सीखना पड़ता है। उदाहरण के लिए आप बूलियन सीख सकते हैं, और बूलियन आ जाने के बाद आप cond एक्सप्रेशन सीख सकते हैं, वगैरह।
समझने के लिए देखिए, यह पूरा Elixir सिलेबस है [6:16 पर दिखाया गया स्क्रीनशॉट]। अभी इसमें 50 से ज़्यादा कॉन्सेप्ट हैं, लेकिन इसे अभी और बढ़ाना बाकी है।
सबसे ऊपर आपको ऐसे कॉन्सेप्ट मिलेंगे: स्ट्रिंग, ऐरे, मैप और टपल। बीच में हैं: Enum मॉड्यूल, रेगुलर एक्सप्रेशन, स्ट्रक्ट, और टाइपस्पेक लिखना। और अंत में हैं: प्रोटोकॉल, प्रोसेस और टास्क।
लर्निंग एक्सरसाइज़
आप सिलेबस के कॉन्सेप्ट लर्निंग एक्सरसाइज़ हल करके सीखते हैं। लर्निंग एक्सरसाइज़ प्रैक्टिस एक्सरसाइज़ से अलग होते हैं। ये ऐसे विद्यार्थियों को प्रोग्रामिंग के कॉन्सेप्ट सिखाने के लिए बनाए गए हैं जिन्हें वह खास प्रोग्रामिंग भाषा बिल्कुल नहीं आती, लेकिन कम से कम एक दूसरी भाषा और प्रोग्रामिंग के बुनियादी कॉन्सेप्ट आते हैं।
परिचय
हर लर्निंग एक्सरसाइज़ एक परिचय से शुरू होता है। परिचय उन कॉन्सेप्ट की बुनियादी जानकारी देता है जो यह अभ्यास सिखाता है। ज़्यादातर लर्निंग एक्सरसाइज़ एक ही कॉन्सेप्ट सिखाते हैं, लेकिन कुछ अपवाद भी हैं।
यह उदाहरण Elixir के मैप पर एक परिचय दिखाता है [7:12 पर दिखाया गया स्क्रीनशॉट]। इसमें समझाया गया है कि मैप क्या होते हैं, मैप कैसे बनाया जाता है, मैप में किसी वैल्यू तक कैसे पहुँचा जाता है, वगैरह। इसमें नया सिंटैक्स दिखाने के लिए कुछ कोड उदाहरण हैं, लेकिन इतने ज़्यादा नहीं हैं कि आप परिचय को कॉपी-पेस्ट करके ही अभ्यास हल कर लें।
निर्देश
इसके बाद निर्देश आते हैं। लर्निंग एक्सरसाइज़ के निर्देश छोटे-छोटे कामों में बाँटे गए हैं। इन कामों का उद्देश्य विद्यार्थी को इस तरफ बढ़ाना है कि वह दिए गए कॉन्सेप्ट के सबसे ज़रूरी हिस्से इस्तेमाल करे।
उदाहरण के लिए, मैप सिखाने वाले लर्निंग एक्सरसाइज़ में विद्यार्थी पहले एक मैप बनाता है, फिर मैप से एक वैल्यू पढ़ता है, फिर मैप में एक वैल्यू बदलता है, फिर मैप से सारे की निकालता है, वगैरह।
हर लर्निंग एक्सरसाइज़ की एक कहानी होती है, लेकिन कहानी उतनी ज़रूरी नहीं होती। यह इसलिए होती है ताकि आपको "foo bar" और "1 2 3" जैसी बेतुकी वैल्यू इस्तेमाल न करनी पड़ें। लेकिन प्रैक्टिस एक्सरसाइज़ की तरह इस अभ्यास में कहानी की बड़ी भूमिका नहीं होती।
संकेत
हर काम के साथ संकेतों की एक छोटी सूची होती है, ताकि विद्यार्थी अटक जाए तो उसे मदद मिले। संकेत अक्सर बताते हैं कि किस काम में कौन सा खास फंक्शन इस्तेमाल करना है, और आपको उस फंक्शन के डॉक्युमेंटेशन तक पहुँचाते हैं।
कॉन्सेप्ट का अभ्यास
लेकिन किसी कॉन्सेप्ट को सचमुच अच्छी तरह सीखने के लिए सिर्फ एक लर्निंग एक्सरसाइज़ हल करना काफी नहीं है। आपको उसका अभ्यास भी करना पड़ता है। इसीलिए हमने v2 में पहले से मौजूद सारे प्रैक्टिस एक्सरसाइज़ देखे और उनमें से कुछ चुने जिन्हें हर कॉन्सेप्ट का अभ्यास करने के लिए इस्तेमाल किया जा सकता है।
पेड़ में एक कॉन्सेप्ट ऐसा दिखता है [9:01 पर दिखाया गया स्क्रीनशॉट]। बिंदु अभ्यासों को दिखाते हैं। बल्ब वाले आइकन वाला पहला बिंदु एक लर्निंग एक्सरसाइज़ है, और बाकी बिंदु प्रैक्टिस एक्सरसाइज़ हैं।
कुछ अभ्यास हल करने के बाद एक कॉन्सेप्ट ऐसा दिखता है [9:37 पर दिखाया गया स्क्रीनशॉट]। ध्यान दीजिए कि इस कॉन्सेप्ट के कुछ प्रैक्टिस एक्सरसाइज़ अब भी बंद हैं, भले ही लर्निंग एक्सरसाइज़ पूरा हो चुका हो। इसका कारण यह है कि प्रैक्टिस एक्सरसाइज़ सिर्फ एक कॉन्सेप्ट का अभ्यास कराने तक सीमित नहीं हैं। उन अभ्यासों के खुलने से पहले आपको सिर्फ एटम से ज़्यादा कॉन्सेप्ट सीखने पड़ सकते हैं [स्क्रीनशॉट में दिखाया गया कॉन्सेप्ट]।
जो लोग किसी भाषा में पहले से ही सहज हैं, उनके लिए लर्निंग एक्सरसाइज़ बहुत आसान माने गए हैं। लेकिन चिंता न कीजिए, ये पूरी तरह वैकल्पिक हैं। आप लर्निंग मोड से प्रैक्टिस मोड पर जा सकते हैं। इससे आपको सिलेबस पहले पूरा किए बिना ही सारे दिलचस्प प्रैक्टिस एक्सरसाइज़ तुरंत मिल जाएँगे।
सिलेबस = बहुत बड़ा काम
आपकी अपेक्षाएँ सही रखने के लिए एक ज़रूरी बात बता देना चाहती हूँ: सिलेबस बनाना बहुत ही बड़ा काम है। हर ट्रैक में इतने सक्रिय मेंटेनर नहीं हैं कि वह अभी तुरंत सिलेबस तैयार कर सके।
जब मैं यह वीडियो रिकॉर्ड कर रही हूँ [4 सितंबर, 2021], तब लर्निंग एक्सरसाइज़ सिर्फ इनमें उपलब्ध हैं: Common Lisp, C#, Elm, Elixir, F#, Go, Java, JavaScript, Python, Ruby, Rust और Swift। Julia ट्रैक अपना सिलेबस जल्द ही लॉन्च करेगा।
समस्या 3. मेंटर के जवाब देने में लंबा समय
तीसरी समस्या: मेंटर के जवाब देने में लंबा समय। हर ट्रैक में ज़रूरी मेंटर नहीं होते। कुछ ट्रैक में इतने कम मेंटर होते हैं कि मेंटरिंग का इंतज़ार महीने भर तक चल सकता है। यह विद्यार्थियों के लिए हमेशा बहुत निराशाजनक रहा है। यह Exercism के लिए इतनी बुनियादी समस्या है कि इसे तीन अलग-अलग तरफ से हल किया जा रहा है।
ऑटोमेटेड फीडबैक
समाधान नंबर 1 है ऑटोमेटेड फीडबैक देना। मेंटर जो फीडबैक विद्यार्थियों को लिखते हैं, उसमें बहुत कुछ बार-बार दोहराया जाता है। आम गलतियों को खुद-ब-खुद पकड़कर सीधे विद्यार्थी को बताना एक बड़ा बदलाव है।
आम गलतियों पर ऑटोमेटेड फीडबैक मिलने से विद्यार्थी मेंटरिंग माँगने से पहले ही अपना हल बेहतर बना सकेगा। इससे मेंटर का काम भी आसान हो जाएगा। इससे मेंटर को snake_case बनाम camelCase जैसी उबाऊ बातें बताने की ज़रूरत नहीं रहेगी, और वे हल के मूल विचार पर ध्यान दे सकेंगे। कुछ मामलों में ऑटोमेटेड फीडबैक विद्यार्थी के लिए इतना काफी होगा कि वे मेंटरिंग माँगेंगे ही नहीं।
v3 में ऑटोमेटेड फीडबैक के लिए दो तरह के टूल हैं: एनालाइज़र और रिप्रेज़ेंटर।
एनालाइज़र
एनालाइज़र एक ऐसा टूल है जो किसी हल में खास बातें ढूँढता है, और जो उसे मिलता है उसके बारे में पहले से तय टिप्पणियों की सूची विद्यार्थी को देता है। कौन सी बातें, यह पूरी तरह भाषा और उस खास अभ्यास पर निर्भर करता है।
उदाहरण के लिए, Elixir में फंक्शन और वेरिएबल के नाम रखने का एक खास तरीका है। Elixir एनालाइज़र हर अभ्यास में जो जाँचें करता है, उनमें से एक है सारे वेरिएबल नाम और फंक्शन नाम देखना। अगर उसे कोई ऐसा नाम मिलता है जो snake_case में नहीं लिखा है, तो वह विद्यार्थी को नाम रखने के तरीके की याद दिलाता है।
Elixir एनालाइज़र एक और जाँच भी कर सकता है: किसी खास मॉड्यूल का इस्तेमाल पकड़ना। उदाहरण के लिए, Enum मॉड्यूल इस्तेमाल न करने की यह जाँच [13:20 पर दिखाया गया स्क्रीनशॉट] रिकर्शन वाले लर्निंग एक्सरसाइज़ के लिए खास है। Enum मॉड्यूल इस्तेमाल करने से लर्निंग एक्सरसाइज़ का उद्देश्य ही समाप्त हो जाता है, इसलिए एनालाइज़र विद्यार्थी को याद दिलाएगा कि ऐसा न करें और इसकी जगह रिकर्शन इस्तेमाल करें।
रिप्रेज़ेंटर
Exercism पर ऑटोमेटेड फीडबैक देने में हमारी मदद करने वाला दूसरा टूल रिप्रेज़ेंटर है। रिप्रेज़ेंटर हल लेता है और उसमें से गैर-ज़रूरी हिस्से हटा देता है। यह फॉर्मैटिंग को एक जैसा बनाता है, कमेंट और डॉक्युमेंटेशन हटा देता है, और फंक्शन तथा वेरिएबल के नाम की जगह प्लेसहोल्डर डाल देता है।
रिप्रेज़ेंटर के आउटपुट को रिप्रेज़ेंटेशन कहते हैं। Exercism पर जमा किया गया हर हल रिप्रेज़ेंटर तक भेजा जाएगा और उसका रिप्रेज़ेंटेशन हल के साथ प्लेटफॉर्म पर संग्रहीत किया जाएगा।
इसके बाद मेंटर के पास एक इंटरफ़ेस होगा जहाँ वे जमा किए गए हलों के रिप्रेज़ेंटेशन देख सकेंगे। हर अलग रिप्रेज़ेंटेशन पर मेंटर फीडबैक छोड़ सकते हैं। फिर वही फीडबैक हर उस विद्यार्थी को दिखाया जाएगा जो ऐसा मिलता-जुलता हल जमा करता है जिसका रिप्रेज़ेंटेशन वही हो। मेंटर को फीडबैक सिर्फ एक बार लिखना पड़ता है और वह फीडबैक हर उस व्यक्ति तक पहुँच जाता है जिसे उसकी ज़रूरत है।
कुछ भाषाओं के लिए रिप्रेज़ेंटर खुद बन चुके हैं और डिप्लॉय हो चुके हैं, लेकिन जब मैं यह वीडियो रिकॉर्ड कर रही हूँ [4 सितंबर, 2021], तब मेंटर के लिए इंटरफ़ेस प्लेटफॉर्म पर अब भी नहीं है, इसलिए यह फीचर पूरी तरह उपलब्ध होने तक थोड़ा इंतज़ार करना पड़ेगा।
न चाही गई मेंटरिंग से बचना
लंबी मेंटरिंग कतारों का एक और समाधान है न चाही गई मेंटरिंग से बचना। v2 में कोर एक्सरसाइज़ के लिए मेंटरिंग ज़रूरी थी। कोर एक्सरसाइज़ जमा करने का अर्थ था कि आपने अपने आप मेंटरिंग माँग ली, और मेंटर की स्वीकृति के बिना आप अगली कोर एक्सरसाइज़ तक नहीं बढ़ सकते थे। बहुत से विद्यार्थी कोर एक्सरसाइज़ करते-करते भाषा सीखते थे, इसलिए उन्हें सीखने की पूरी प्रक्रिया में मार्गदर्शन के लिए मेंटरिंग चाहिए होती थी।
अब ऐसा नहीं है। कोर एक्सरसाइज़ की सिखाने वाली भूमिका और मेंटर की स्वीकृति, दोनों की जगह अब लर्निंग एक्सरसाइज़ और एनालाइज़र ने ले ली है। v3 में मेंटरिंग हमेशा वैकल्पिक है और इसे खुद माँगना पड़ता है।
मेंटरिंग का अनुरोध
मेंटरिंग माँगने के लिए आपको 2 सवालों के जवाब देने होते हैं: आप इस ट्रैक से क्या सीखने की उम्मीद रखते हैं?, और: कोई मेंटर आपके हल में आपकी कैसे मदद कर सकता है?
मेंटरिंग सेशन से विद्यार्थी की क्या अपेक्षाएँ हैं, यह पहले से जान लेने पर मेंटर वे अनुरोध चुन सकते हैं जो उनकी जानकारी और मेंटरिंग के तरीके से सबसे ज़्यादा मेल खाते हों। इससे यह संभावना बढ़ जाती है कि दोनों पक्ष मेंटरिंग सेशन से संतुष्ट होकर निकलें।
मेंटरिंग कतार और पसंदीदा
नई मेंटरिंग कतार में मेंटर विद्यार्थी के मेंटरिंग इतिहास से जुड़े आँकड़े देख सकते हैं। वे देख सकते हैं कि किस विद्यार्थी को पहले कभी मेंटरिंग नहीं मिली और शायद उसे ज़्यादा ध्यान से देखने की ज़रूरत है, और किस विद्यार्थी ने कई बार मेंटरिंग करवा ली है और उसे यह समझ आ चुका है कि यह कैसे काम करती है।
अब मेंटर उन विद्यार्थियों को भी ढूँढ सकते हैं जिन्हें उन्होंने पहले मेंटर किया था, और उनसे अच्छे रिश्ते बना सकते हैं। मेंटर विद्यार्थियों को पसंदीदा में जोड़ भी सकते हैं और उसका इस्तेमाल उन विद्यार्थियों को पहले मेंटर करने के लिए कर सकते हैं जिनके साथ पहले अच्छा अनुभव रहा हो।
ब्लॉक सूचियाँ
हर मेंटरिंग सेशन के बाद विद्यार्थी और मेंटर, दोनों के पास दूसरे व्यक्ति को ब्लॉक करने का विकल्प होता है। दो ब्लॉक सूचियाँ होती हैं: ब्लॉक किए गए विद्यार्थी और ब्लॉक किए गए मेंटर। अगर मैं एक मेंटर के तौर पर आपको विद्यार्थी के तौर पर ब्लॉक कर दूँ, तो हो सकता है कि आगे चलकर आप मुझे मेंटर करें। और दूसरे व्यक्ति को तो पता ही नहीं चलेगा कि उसे ब्लॉक किया गया है, इसलिए वह आपके खिलाफ कोई पलटवार नहीं कर सकेगा।
आप किसी को भी किसी भी कारण से ब्लॉक कर सकते हैं, लेकिन अगर वह आचार संहिता तोड़ रहा है, तो कृपया उसे स्पष्ट रूप से रिपोर्ट भी ज़रूर कीजिए, ताकि दूसरे उपयोगकर्ता सुरक्षित रहें।
लंबे इंतज़ार के नुकसान कम करना
अंत में, लंबे इंतज़ार की समस्या से निपटने का अंतिम कदम यह है कि कभी-कभी इंतज़ार करना पड़े तो पड़े, लेकिन इंतज़ार के नुकसान कम से कम हों। v3 में मेंटरिंग के इंतज़ार की वजह से आप दूसरे अभ्यास हल करने से नहीं रुकते। आप ट्रैक में आगे बढ़ते रह सकते हैं।
मेंटरिंग सेशन किसी भी पक्ष से समाप्त किया जा सकता है। अगर आप विद्यार्थी हैं और आपको किसी खास मेंटर का तरीका पसंद नहीं आ रहा, तो आप हमेशा किसी दूसरे तरीके के लिए कह सकते हैं, या सेशन छोड़ सकते हैं। मेंटरिंग सेशन चाहे किसी भी तरह समाप्त हो, विद्यार्थी उसी हल के लिए किसी दूसरे मेंटर से नई मेंटरिंग माँग सकता है।
मेंटरिंग स्लॉट
हर ट्रैक में आपके पास 1 से 4 मेंटरिंग स्लॉट हो सकते हैं। कई मेंटरिंग स्लॉट होने से तब मदद मिलती है जब आप किसी ऐसे मुश्किल अभ्यास के लिए मेंटरिंग माँगना चाहते हैं जिस पर जल्दी मेंटर मिलने की संभावना कम है, और साथ ही दूसरे अभ्यासों पर भी मेंटरिंग मिलती रहे।
मेंटरिंग स्लॉट रेपुटेशन कमाकर खोले जा सकते हैं। रेपुटेशन आपको अपने हल सबके देखने के लिए प्रकाशित करने पर, विद्यार्थियों को मेंटर करने पर, और Exercism की किसी भी रिपॉज़िटरी में योगदान देने पर मिलता है। इसका अर्थ है कि जो विद्यार्थी प्लेटफॉर्म में ज़्यादा योगदान देते हैं, उन्हें ज़्यादा मेंटरिंग मिल सकती है।
सारांश
ये कुछ बड़े बदलाव हैं जो 1 सितंबर 2021 को Exercism में आए।
हमने लर्निंग एक्सरसाइज़ जोड़े ताकि आप प्लेटफॉर्म छोड़े बिना सीख सकें। एक वेब एडिटर जोड़ा ताकि आप बिना कुछ इंस्टॉल किए कोड कर सकें। और एनालाइज़र तथा रिप्रेज़ेंटर जोड़े ताकि आपको तुरंत ऑटोमेटेड फीडबैक मिल सके। हमने मेंटरिंग की प्रक्रिया से बहुत-सी चिढ़ पैदा करने वाली रुकावटें भी हटा दीं।
और भी बहुत कुछ नया है जो आप देख सकते हैं: हमारा कंट्रिब्यूटिंग सेक्शन, बैज, नई प्रोफाइल, आपका पूरा Exercism इतिहास दिखाने वाला जर्नी पेज, और बहुत कुछ।
exercism.org पर आइए और इसे आज़माकर देखिए।
धन्यवाद।