Matplotlib प्रोजेक्ट

इस पेज पर Google Docs के सीज़न के लिए स्वीकार किए गए एक तकनीकी लेखन प्रोजेक्ट की जानकारी है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
मैटप्लोटलिब
तकनीकी लेखक:
जेरोमेव
प्रोजेक्ट का नाम:
Matplotlib एंट्री पाथ डेवलप करना
प्रोजेक्ट की अवधि:
मानक अवधि (तीन महीने)

प्रोजेक्ट का विवरण

शुरुआती जानकारी

इस साल के Google सीज़न के दस्तावेज़ के लिए, Matplotlib का प्रोजेक्ट सुझाव, ऐसे कॉन्टेंट को तैयार करने में शामिल है जिससे नए उपयोगकर्ताओं को Matplotlib का परिचय कराने में मदद मिलती है. Matplotlib Entry पाथ बनाने के लिए, मैं मौजूदा दस्तावेज़ के तौर पर एक वैकल्पिक तरीका पेश करने का सुझाव देता हूं. मैं इस इंडस्ट्री में नया तकनीकी लेखक हूं. हालांकि, मैंने शिक्षा और शिक्षा से जुड़े अन्य क्षेत्रों में काम किया है. तकनीकी लेखन और शिक्षा में समानताएं हैं, जो ऐसे कॉन्टेंट पर फ़ोकस करती हैं जो लोगों को संसाधन उपलब्ध कराता है और उन्हें अपने टास्क पूरा करने में मदद करता है.

इस संदर्भ में, नए उपयोगकर्ताओं से सहानुभूति रखने में सुधार करने के लिए Matplotlib दस्तावेज़ को फ़ायदा मिलेगा. इस समय ज़्यादातर कॉन्टेंट में बिना किसी क्रम का डेटा और बिना लेबल वाले विज़ुअल शामिल हैं. Matplotlib के विज़ुअल और उसकी सुविधाओं को तेज़ी से दिखाने के लिए, ये बहुत बढ़िया हैं. हालांकि, Matplotlib का इस्तेमाल करने के लिए किसी नए व्यक्ति के इस्तेमाल के लिए, डेटा के विज़ुअल में बदलाव करना चुनौती भरा होता है.

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

किसी उपयोगकर्ता का एक ही मकसद होता है. उदाहरण के लिए, जूते बनाने वाली किसी कंपनी के डेटा साइंटिस्ट को किसी टीम को ग्राहक से जुड़ा डेटा दिखाना चाहिए, ताकि वह समय के साथ खरीदारी के रुझानों को दिखा सके. ऐसी स्थिति में, उपयोगकर्ता को Matplotlib पर नेविगेट करना सीखना होगा और लाइब्रेरी में मौजूद टूल का इस्तेमाल करना होगा.

दस्तावेज़ को बेहतर तरीके से दिखाने में मदद करने के लिए, नया उपयोगकर्ता इस विषय के बारे में बेहतर तरीके से जान सकता है. उपयोगकर्ता का मकसद, दस्तावेज़ में मौजूद जानकारी से मेल खाता है. मुझे उम्मीद है कि मैं उस विज़न को पूरा करना चाहता हूं जिसके बारे में लीड डेवलपर टॉम कैसवेल ने साल 2017 में एक इंटरव्यू में चर्चा की थी. उस विज़न के बारे में हम बात कर रहे हैं, "एक ऐसा व्यक्ति जो असल में लिख सके और लोगों के साथ सहानुभूति जताता हो. मुझे 200 पेजों वाली 'Matplotlib का परिचय' किताब लिखने का मौका मिलेगा. साथ ही, दस्तावेज़ों के लिए यह मुख्य एंट्री होगी.”

एक्सपोज़ीट्री राइटिंग का वैकल्पिक तरीका

मौजूदा दस्तावेज़ में Matplotlib की सुविधाओं के बारे में बताया गया है, जैसे कि वे चीज़ें जिन्हें लोग लाइब्रेरी से कर पाते हैं. उदाहरण के लिए, ट्यूटोरियल अक्सर ऐसे पैटर्न को फ़ॉलो करता है जिसमें बताए गए तरीके की जानकारी नहीं होती.

{what the method does} -> {parameters} -> {returns} -> {related links} -> {examples}

आम तौर पर, प्रोग्रामिंग से जुड़े दस्तावेज़ों और सहायता की मदद से, उपयोगकर्ता को यह सुझाव दिया जाता है कि वह खुद से कोड चलाएं, ताकि वह समझ सके कि कोड जनरेट होने पर क्या होता है. प्रोग्रामिंग से जुड़ी मानसिकता से लोगों को विषय के बारे में बेहतर जानकारी मिलती है. हालांकि, ट्रांसफ़ॉर्मेशन के लिए लर्निंग की प्रोसेस में, इस विषय पर बहुत कम मदद करने वाला कॉन्टेंट होता है. यह एक मुश्किल चुनौती हो सकती है, क्योंकि दस्तावेज़ सीमित हैं.

अतिरिक्त डायग्राम, इमेज या अन्य विज़ुअल उपलब्ध कराने से, सीखने के नए अवसर पैदा होंगे. यहां दिया गया स्ट्रक्चर, नए कॉन्टेंट के लिए टेंप्लेट की तरह भी काम करेगा. साथ ही, बिना टेक्स्ट वाली इमेज या ग्राफ़िक जोड़ने से, कॉलआउट और कोचमार्क जैसी सुविधाओं का फ़ायदा मिल सकता है. कई बार इमेज को नेविगेट करना मुश्किल हो जाता है, लेकिन यह नहीं बताया जाता कि कोड को आउटपुट में कैसे और कहां बदला गया है. मुझे लगता है कि विषयों की बेहतर समझ बढ़ाने के लिए, इसमें विज़ुअल एलिमेंट की कमी है.

{method explanation} -> {expository use case/scenario} -> {sample code} -> {parameters} -> {returns} -> {additional examples} -> {informational topic/subject affinity links}

दस्तावेज़ बनाने के लिए, डेटा स्टोर करने की जगह (एक्सपोज़िटरी) राइटिंग का इस्तेमाल करने के इस वैकल्पिक तरीके की काफ़ी संभावना है. उपयोगकर्ताओं को बदलावों के लिए कई तरह के कॉन्सेप्ट देखने से, वे डेटा के लिए विज़ुअलाइज़ेशन डेवलप करने की बुनियादी रणनीतियों की बेहतर तरीके से पहचान कर पाएंगे. इस जानकारी की मदद से, लोग नई सुविधाओं के बारे में जान सकते हैं और उनका फ़ायदा ले सकते हैं. ये सुविधाएं, असल इस्तेमाल के उदाहरणों के ज़रिए बताई जाती हैं.

जैसे-जैसे Matplotlib की लोकप्रियता बढ़ रही है, वैसे-वैसे इस्तेमाल में आसान और आसानी से उपलब्ध होने की वजह से, इस लाइब्रेरी की छवि का पता चलता है. ये विशेषताएं, पैटर्न और सामान्य रणनीतियों को दिखाने के लिए मददगार होती हैं. ये रणनीतियां न सिर्फ़ कोड में, बल्कि दस्तावेज़ में भी दिख सकती हैं. अगर Matplotlib ऐप्लिकेशन को प्रोग्राम करने के लिए आसान और स्टैंडर्ड है, जैसा कि इसके बढ़ते इस्तेमाल और बढ़ते संसाधनों से साफ़ तौर पर पता चलता है, तो तकनीकी दस्तावेज़ के लिए भी ऐसा करना आसान हो सकता है.

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

इसमें संगठन के सिस्टम में, बॉटम-अप आर्किटेक्चर शामिल है. Matplotlib में हर विषय के लिए, विषय अफ़िनिटी के साथ-साथ सूचना देने वाले विषयों के लिंक का एक बेहतरीन नेटवर्क एक मज़बूत नेटवर्क बनाने में मदद करेगा. इस पूरे नेटवर्क में, उपयोगकर्ताओं के उस विषय पर नेविगेट करने और उस विषय से जुड़ी ज़्यादा से ज़्यादा जानकारी एक्सप्लोर करने के दौरान, दस्तावेज़ का इस्तेमाल जारी रखने की संभावना ज़्यादा होती है.

बाधाएं

किसी प्रोजेक्ट में हमेशा ऐसी चुनौतियां होती हैं जिनमें पूरी जानकारी होती है और पूरी जानकारी दी जाती है. इस इंडस्ट्री में नया तकनीकी लेखक होने के नाते, मेरे पास दस्तावेज़ लिखने के लिए,Sphinx और ReST का इस्तेमाल करने का सीमित अनुभव है. Matplotlib और Git के मामले में भी मैं एक नौसिखिया हूं. इन चार सिस्टम को मैनेज करने और मिलकर काम करने और रिसर्च के लिए इनका इस्तेमाल करने में समय लगेगा. कम्यूनिटी से जुड़ने के दौरान और उससे पहले मुझे समय देना होगा, ताकि चैनल को आगे बढ़ाने के लिए ज़रूरी आधार तैयार किया जा सके. इस दौरान, अगर मुझे कॉन्सेप्ट और बुनियादी बातों से जुड़ी कोई समस्या आती है, तो मुझे मदद के लिए कम्यूनिटी से संपर्क करना होगा.

अलग-अलग टाइम ज़ोन और ऑनलाइन प्लैटफ़ॉर्म पर, साथ मिलकर काम करने में भी कुछ बदलाव करने होंगे. पूरी इंडस्ट्री में लोग, बातचीत के कई तरीकों का इस्तेमाल करते हैं. इसलिए, यह पक्का करना ज़रूरी है कि मैं हर तरह से लोगों तक पहुंच सकूं और उन्हें आसानी से समझ आ सकूं. हर समय अलग-अलग उम्मीदों को लेकर, मैं अपनी प्राथमिकता में पारदर्शी करूंगी. हालांकि, मैंने इंडस्ट्री में इस तरह का काम करना अभी-अभी शुरू किया है, लेकिन इस मामले में मेरी ज़िम्मेदारी है कि मैं खुद को ज़िम्मेदार बनाने के साथ-साथ सुझाव, शिकायत या राय के लिए तैयार रहूं. मुझे लगता है कि हर फ़ील्ड में ये खूबियां अहम हैं.

इसके अलावा, उपयोगिता की जांच को बढ़ाना, दस्तावेज़ का एक ऐसा सेक्शन है जिससे मेरे हिसाब से Matplotlib के एंट्री पाथ को फ़ायदा होगा. कॉन्टेंट के बारे में उपयोगिता के लिए सर्वे कराने के मकसद से, लोगों की प्रोफ़ाइल उपलब्ध कराई जाती है, जैसे कि पर्सोना. उपयोगकर्ता का अनुभव, उनके उद्योग, और समस्या हल करने के इतिहास जैसी जानकारी अहम होती है. इन हिस्सों से प्रक्रिया के पीछे की भाषा तय होती है. जब लेखन, पाठकों से उनके स्तर पर मेल खाता है, तब कॉन्टेंट ज़्यादा बेहतर होता जाता है. इसके अलावा, वह सिर्फ़ निर्देश देने की तरह भी काम नहीं करता.

उपयोगिता की जांच करने का तरीका लगातार अपडेट करने में अक्सर बड़ी मुश्किलें आती हैं. कॉन्टेंट डेवलपमेंट के दौरान, एक ही बार टेस्टिंग का अनुरोध करना बहुत आम बात है. समय-समय पर उपयोगिता की जांच करते रहने से कॉन्टेंट की कहानी को बेहतर बनाने में मदद मिलती है. मुझे उम्मीद है कि मैं कोई शेड्यूल सेट अप करूं या Matplotlib समुदाय के साथ बार-बार उपयोगिता परीक्षण करवाऊं.

नतीजा

मेरे पास खाली समय में Python और Matplotlib का इस्तेमाल करने का थोड़ा-बहुत अनुभव है. पिछले कुछ महीनों में, मैंने जो कुछ सीखा वह मौजूदा दस्तावेज़ों में मदद करने और खुद की जिज्ञासा से मिला. उस समय मेरे साथ कुछ वीडियो और मेंटॉर भी थे. मैं प्रोग्रामिंग का अपना पाठ्यक्रम खुद बनाता हूं जिसमें मेरी दिलचस्पी है. इसलिए, मुझे अब भी बहुत कुछ सीखना है. साथ ही, इसे बेहतर बनाने के लिए मुझे काफ़ी जगह भी मिली है.

जीएसओडी के लिए मैटप्लोटलिब और समुदाय के विचार देखने के बाद, मुझे लगता है कि तकनीकी लेखक के तौर पर, मेरा कौशल बढ़ाने और पर्दे के पीछे के लोगों से ज़्यादा जानने का मौका मिलने पर मुझे लगता है कि यह काफ़ी बेहतर अनुभव होगा. मुझे लगता है कि Matplotlib प्रोजेक्ट काम का है और विचारधारा में मेरी दिलचस्पी भी है.

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