# डेटा सायन्स फॉर बिगिनर्ससाठी योगदान डेटा सायन्स फॉर बिगिनर्स अभ्यासक्रमात योगदान देण्याची तुमची इच्छा असल्याबद्दल धन्यवाद! आम्ही समुदायाकडून योगदानाचे स्वागत करतो. ## विषय सूची - [आचारसंहिता](../..) - [मी कसे योगदान देऊ शकतो?](../..) - [सुरुवात कशी करावी](../..) - [योगदान मार्गदर्शक तत्त्वे](../..) - [पुल रिक्वेस्ट प्रक्रिया](../..) - [शैली मार्गदर्शक तत्त्वे](../..) - [योगदानकर्ता परवाना करार](../..) ## आचारसंहिता या प्रकल्पाने [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 - सुसंगत शीर्षक स्तर वापरा - विभागांमध्ये रिक्त ओळी समाविष्ट करा - भाषा निर्दिष्ट करणाऱ्या कोड ब्लॉक्स वापरा: ````markdown ```python import pandas as pd ``` ```` - प्रतिमांसाठी alt टेक्स्ट जोडा: `![Alt text](../../translated_images/mr/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 Channel #data-science-for-beginners](https://aka.ms/ds4beginners/discord) तपासा - आमच्या [Discord community](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) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.