# शुरुआती डेटा साइंस में योगदान करें डेटा साइंस फॉर बिगिनर्स पाठ्यक्रम में योगदान करने में आपकी रुचि के लिए धन्यवाद! हम समुदाय से योगदान का स्वागत करते हैं। ## सामग्री की सूची - [आचार संहिता](../..) - [मैं कैसे योगदान कर सकता हूं?](../..) - [शुरुआत करना](../..) - [योगदान दिशानिर्देश](../..) - [पुल अनुरोध प्रक्रिया](../..) - [शैली दिशानिर्देश](../..) - [योगदानकर्ता लाइसेंस समझौता](../..) ## आचार संहिता इस प्रोजेक्ट ने [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) को अपनाया है। अधिक जानकारी के लिए [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) देखें या किसी भी अतिरिक्त प्रश्न या टिप्पणी के लिए [opencode@microsoft.com](mailto:opencode@microsoft.com) पर संपर्क करें। ## मैं कैसे योगदान कर सकता हूं? ### बग रिपोर्ट करना बग रिपोर्ट बनाने से पहले, कृपया मौजूदा मुद्दों की जांच करें ताकि डुप्लिकेट से बचा जा सके। जब आप बग रिपोर्ट बनाते हैं, तो जितना संभव हो उतना विवरण शामिल करें: - **स्पष्ट और वर्णनात्मक शीर्षक का उपयोग करें** - **समस्या को पुन: उत्पन्न करने के सटीक चरणों का वर्णन करें** - **विशिष्ट उदाहरण प्रदान करें** (कोड स्निपेट, स्क्रीनशॉट) - **आपने जो व्यवहार देखा और जो अपेक्षित था उसका वर्णन करें** - **अपने वातावरण का विवरण शामिल करें** (OS, Python संस्करण, ब्राउज़र) ### सुधार सुझाव देना सुधार सुझावों का स्वागत है! सुधार का सुझाव देते समय: - **स्पष्ट और वर्णनात्मक शीर्षक का उपयोग करें** - **सुझाए गए सुधार का विस्तृत विवरण प्रदान करें** - **समझाएं कि यह सुधार क्यों उपयोगी होगा** - **अन्य प्रोजेक्ट्स में समान सुविधाओं की सूची बनाएं, यदि लागू हो** ### दस्तावेज़ में योगदान दस्तावेज़ सुधार हमेशा सराहनीय हैं: - **टाइपो और व्याकरण संबंधी त्रुटियों को ठीक करें** - **स्पष्टीकरण की स्पष्टता में सुधार करें** - **गुम दस्तावेज़ जोड़ें** - **पुरानी जानकारी को अपडेट करें** - **उदाहरण या उपयोग के मामले जोड़ें** ### कोड में योगदान हम कोड योगदान का स्वागत करते हैं, जिसमें शामिल हैं: - **नए पाठ या अभ्यास** - **बग फिक्स** - **मौजूदा नोटबुक में सुधार** - **नए डेटा सेट या उदाहरण** - **क्विज़ एप्लिकेशन में सुधार** ## शुरुआत करना ### आवश्यकताएँ योगदान करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं: 1. एक GitHub खाता 2. आपके सिस्टम पर Git इंस्टॉल किया हुआ है 3. Python 3.7+ और Jupyter इंस्टॉल किया हुआ है 4. Node.js और npm (क्विज़ ऐप योगदान के लिए) 5. पाठ्यक्रम संरचना की जानकारी विस्तृत सेटअप निर्देशों के लिए [INSTALLATION.md](INSTALLATION.md) देखें। ### फोर्क और क्लोन करें 1. GitHub पर **रिपॉजिटरी को फोर्क करें** 2. **अपने फोर्क को लोकल पर क्लोन करें**: ```bash git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners ``` 3. **अपस्ट्रीम रिमोट जोड़ें**: ```bash git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git ``` ### ब्रांच बनाएं अपने काम के लिए एक नई ब्रांच बनाएं: ```bash git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix ``` ब्रांच नामकरण परंपराएँ: - `feature/` - नई सुविधाएँ या पाठ - `fix/` - बग फिक्स - `docs/` - दस्तावेज़ में बदलाव - `refactor/` - कोड पुनर्गठन ## योगदान दिशानिर्देश ### पाठ सामग्री के लिए पाठ जोड़ते समय या मौजूदा पाठ को संशोधित करते समय: 1. **मौजूदा संरचना का पालन करें**: - README.md में पाठ सामग्री - Jupyter नोटबुक में अभ्यास - असाइनमेंट (यदि लागू हो) - प्री और पोस्ट क्विज़ के लिंक 2. **इन तत्वों को शामिल करें**: - स्पष्ट सीखने के उद्देश्य - चरण-दर-चरण स्पष्टीकरण - टिप्पणियों के साथ कोड उदाहरण - अभ्यास के लिए प्रश्न - अतिरिक्त संसाधनों के लिंक 3. **सुलभता सुनिश्चित करें**: - स्पष्ट, सरल भाषा का उपयोग करें - छवियों के लिए alt टेक्स्ट प्रदान करें - कोड टिप्पणियाँ शामिल करें - विभिन्न सीखने की शैलियों पर विचार करें ### Jupyter नोटबुक के लिए 1. **सभी आउटपुट को साफ करें** कमिट करने से पहले: ```bash jupyter nbconvert --clear-output --inplace notebook.ipynb ``` 2. **मार्कडाउन सेल्स शामिल करें** स्पष्टीकरण के साथ 3. **सुसंगत स्वरूपण का उपयोग करें**: ```python # Import libraries at the top import pandas as pd import numpy as np import matplotlib.pyplot as plt # Use meaningful variable names # Add comments for complex operations # Follow PEP 8 style guidelines ``` 4. **अपनी नोटबुक को पूरी तरह से टेस्ट करें** सबमिट करने से पहले ### Python कोड के लिए [PEP 8](https://www.python.org/dev/peps/pep-0008/) शैली दिशानिर्देशों का पालन करें: ```python # Good practices import pandas as pd def calculate_mean(data): """Calculate the mean of a dataset. Args: data (list): List of numerical values Returns: float: Mean of the dataset """ return sum(data) / len(data) ``` ### क्विज़ ऐप योगदान के लिए क्विज़ ऐप को संशोधित करते समय: 1. **लोकल पर टेस्ट करें**: ```bash cd quiz-app npm install npm run serve ``` 2. **लिंटर चलाएं**: ```bash npm run lint ``` 3. **सफलतापूर्वक बिल्ड करें**: ```bash npm run build ``` 4. **Vue.js शैली गाइड** और मौजूदा पैटर्न का पालन करें ### अनुवाद के लिए अनुवाद जोड़ते या अपडेट करते समय: 1. `translations/` फ़ोल्डर में संरचना का पालन करें 2. भाषा कोड को फ़ोल्डर नाम के रूप में उपयोग करें (जैसे, `fr` फ्रेंच के लिए) 3. अंग्रेजी संस्करण के समान फ़ाइल संरचना बनाए रखें 4. क्विज़ लिंक को भाषा पैरामीटर के साथ अपडेट करें: `?loc=fr` 5. सभी लिंक और स्वरूपण का परीक्षण करें ## पुल अनुरोध प्रक्रिया ### सबमिट करने से पहले 1. **अपनी ब्रांच को नवीनतम परिवर्तनों के साथ अपडेट करें**: ```bash git fetch upstream git rebase upstream/main ``` 2. **अपने परिवर्तनों का परीक्षण करें**: - सभी संशोधित नोटबुक चलाएं - यदि संशोधित किया गया हो तो क्विज़ ऐप का परीक्षण करें - सभी लिंक काम कर रहे हैं यह सुनिश्चित करें - वर्तनी और व्याकरण की त्रुटियों की जांच करें 3. **अपने परिवर्तनों को कमिट करें**: ```bash git add . git commit -m "Brief description of changes" ``` स्पष्ट कमिट संदेश लिखें: - वर्तमान काल का उपयोग करें ("Add feature" न कि "Added feature") - आदेशात्मक स्वर का उपयोग करें ("Move cursor to..." न कि "Moves cursor to...") - पहली पंक्ति को 72 वर्णों तक सीमित रखें - मुद्दों और पुल अनुरोधों का संदर्भ दें जब प्रासंगिक हो 4. **अपने फोर्क पर पुश करें**: ```bash git push origin feature/your-feature-name ``` ### पुल अनुरोध बनाना 1. [रिपॉजिटरी](https://github.com/microsoft/Data-Science-For-Beginners) पर जाएं 2. "Pull requests" → "New pull request" पर क्लिक करें 3. "compare across forks" पर क्लिक करें 4. अपना फोर्क और ब्रांच चुनें 5. "Create pull request" पर क्लिक करें ### PR शीर्षक प्रारूप स्पष्ट, वर्णनात्मक शीर्षक का उपयोग करें, निम्न प्रारूप का पालन करें: ``` [Component] Brief description ``` उदाहरण: - `[Lesson 7] Fix Python notebook import error` - `[Quiz App] Add German translation` - `[Docs] Update README with new prerequisites` - `[Fix] Correct data path in visualization lesson` ### PR विवरण अपने PR विवरण में शामिल करें: - **क्या**: आपने क्या बदलाव किए? - **क्यों**: ये बदलाव क्यों आवश्यक हैं? - **कैसे**: आपने इन बदलावों को कैसे लागू किया? - **परीक्षण**: आपने इन बदलावों का परीक्षण कैसे किया? - **स्क्रीनशॉट**: दृश्य परिवर्तनों के लिए स्क्रीनशॉट शामिल करें - **संबंधित मुद्दे**: संबंधित मुद्दों का लिंक दें (जैसे, "Fixes #123") ### समीक्षा प्रक्रिया 1. **स्वचालित जांच** आपके PR पर चलेंगी 2. **रखरखावकर्ता आपके योगदान की समीक्षा करेंगे** 3. **प्रतिक्रिया का समाधान करें** अतिरिक्त कमिट्स बनाकर 4. एक बार स्वीकृत होने पर, **रखरखावकर्ता आपके PR को मर्ज करेंगे** ### आपके PR के मर्ज होने के बाद 1. अपनी ब्रांच हटाएं: ```bash git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name ``` 2. अपने फोर्क को अपडेट करें: ```bash git checkout main git pull upstream main git push origin main ``` ## शैली दिशानिर्देश ### मार्कडाउन - सुसंगत शीर्षक स्तरों का उपयोग करें - अनुभागों के बीच खाली पंक्तियाँ शामिल करें - भाषा निर्दिष्ट करने वाले कोड ब्लॉक का उपयोग करें: ````markdown ```python import pandas as pd ``` ```` - छवियों में alt टेक्स्ट जोड़ें: `![Alt text](../../translated_images/hi/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)` - पंक्ति की लंबाई उचित रखें (लगभग 80-100 वर्ण) ### Python - PEP 8 शैली गाइड का पालन करें - सार्थक वेरिएबल नामों का उपयोग करें - फ़ंक्शन्स में डॉकस्ट्रिंग जोड़ें - जहाँ उपयुक्त हो, टाइप हिंट्स शामिल करें: ```python def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df ``` ### JavaScript/Vue.js - Vue.js 2 शैली गाइड का पालन करें - प्रदान की गई ESLint कॉन्फ़िगरेशन का उपयोग करें - मॉड्यूलर, पुन: उपयोग योग्य घटक लिखें - जटिल तर्क के लिए टिप्पणियाँ जोड़ें ### फ़ाइल संगठन - संबंधित फ़ाइलों को एक साथ रखें - वर्णनात्मक फ़ाइल नामों का उपयोग करें - मौजूदा निर्देशिका संरचना का पालन करें - अनावश्यक फ़ाइलें कमिट न करें (.DS_Store, .pyc, node_modules, आदि) ## योगदानकर्ता लाइसेंस समझौता यह प्रोजेक्ट योगदान और सुझावों का स्वागत करता है। अधिकांश योगदानों के लिए आपको एक योगदानकर्ता लाइसेंस समझौते (CLA) से सहमत होना आवश्यक है, जिसमें यह घोषणा की जाती है कि आपके पास हमारे योगदान का उपयोग करने का अधिकार है। विवरण के लिए, https://cla.microsoft.com पर जाएं। जब आप एक पुल अनुरोध सबमिट करते हैं, तो एक CLA-बॉट स्वचालित रूप से निर्धारित करेगा कि क्या आपको CLA प्रदान करने की आवश्यकता है और PR को उपयुक्त रूप से सजाएगा (जैसे, लेबल, टिप्पणी)। बस बॉट द्वारा प्रदान किए गए निर्देशों का पालन करें। आपको यह केवल एक बार करना होगा हमारे CLA का उपयोग करने वाले सभी रिपॉजिटरी में। ## प्रश्न? - हमारे [Discord चैनल #data-science-for-beginners](https://aka.ms/ds4beginners/discord) की जांच करें - हमारे [Discord समुदाय](https://aka.ms/ds4beginners/discord) में शामिल हों - मौजूदा [issues](https://github.com/microsoft/Data-Science-For-Beginners/issues) और [pull requests](https://github.com/microsoft/Data-Science-For-Beginners/pulls) की समीक्षा करें ## धन्यवाद! आपके योगदान इस पाठ्यक्रम को सभी के लिए बेहतर बनाते हैं। योगदान करने के लिए समय निकालने के लिए धन्यवाद! --- **अस्वीकरण**: यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।