# AGENTS.md ## ప్రాజెక్ట్ అవలోకనం డేటా సైన్స్ ఫర్ బిగినర్స్ అనేది Microsoft Azure క్లౌడ్ అడ్వకేట్స్ రూపొందించిన సమగ్ర 10 వారాల, 20 పాఠాల పాఠ్యక్రమం. ఈ రిపోజిటరీ ప్రాజెక్ట్-ఆధారిత పాఠాల ద్వారా ప్రాథమిక డేటా సైన్స్ కాన్సెప్ట్‌లను నేర్పే ఒక అభ్యాస వనరు, ఇందులో Jupyter నోట్బుక్స్, ఇంటరాక్టివ్ క్విజ్‌లు మరియు హ్యాండ్స్-ఆన్ అసైన్‌మెంట్‌లు ఉన్నాయి. **ప్రధాన సాంకేతికతలు:** - **Jupyter నోట్బుక్స్**: Python 3 ఉపయోగించి ప్రాథమిక అభ్యాస మాధ్యమం - **Python లైబ్రరీలు**: pandas, numpy, matplotlib డేటా విశ్లేషణ మరియు విజువలైజేషన్ కోసం - **Vue.js 2**: క్విజ్ అప్లికేషన్ (quiz-app ఫోల్డర్) - **Docsify**: ఆఫ్‌లైన్ యాక్సెస్ కోసం డాక్యుమెంటేషన్ సైట్ జనరేటర్ - **Node.js/npm**: జావాస్క్రిప్ట్ భాగాల కోసం ప్యాకేజ్ నిర్వహణ - **Markdown**: అన్ని పాఠాల కంటెంట్ మరియు డాక్యుమెంటేషన్ **ఆర్కిటెక్చర్:** - విస్తృత అనువాదాలతో బహుభాషా విద్యా రిపోజిటరీ - పాఠ మాడ్యూల్స్‌గా నిర్మించబడింది (1-Introduction నుండి 6-Data-Science-In-Wild వరకు) - ప్రతి పాఠం README, నోట్బుక్స్, అసైన్‌మెంట్‌లు మరియు క్విజ్‌లను కలిగి ఉంటుంది - పాఠం ముందు/తర్వాత అంచనాలకు స్వతంత్ర Vue.js క్విజ్ అప్లికేషన్ - GitHub Codespaces మరియు VS Code డెవ్ కంటైనర్లు మద్దతు ## సెటప్ కమాండ్లు ### రిపోజిటరీ సెటప్ ```bash # రిపోజిటరీని క్లోన్ చేయండి (ఇప్పటికే క్లోన్ చేయబడకపోతే) git clone https://github.com/microsoft/Data-Science-For-Beginners.git cd Data-Science-For-Beginners ``` ### Python ఎన్విరాన్‌మెంట్ సెటప్ ```bash # వర్చువల్ ఎన్విరాన్‌మెంట్ సృష్టించండి (సిఫార్సు చేయబడింది) python -m venv venv source venv/bin/activate # విండోస్‌లో: venv\Scripts\activate # సాధారణ డేటా సైన్స్ లైబ్రరీలను ఇన్‌స్టాల్ చేయండి (requirements.txt లేదు) pip install jupyter pandas numpy matplotlib seaborn scikit-learn ``` ### క్విజ్ అప్లికేషన్ సెటప్ ```bash # క్విజ్ యాప్‌కు నావిగేట్ చేయండి cd quiz-app # డిపెండెన్సీలను ఇన్‌స్టాల్ చేయండి npm install # డెవలప్‌మెంట్ సర్వర్‌ను ప్రారంభించండి npm run serve # ఉత్పత్తి కోసం బిల్డ్ చేయండి npm run build # ఫైళ్లను లింట్ చేసి సరిచేయండి npm run lint ``` ### Docsify డాక్యుమెంటేషన్ సర్వర్ ```bash # Docsifyని గ్లోబల్‌గా ఇన్‌స్టాల్ చేయండి npm install -g docsify-cli # డాక్యుమెంటేషన్‌ను లోకల్‌గా సర్వ్ చేయండి docsify serve # డాక్యుమెంటేషన్ localhost:3000 వద్ద అందుబాటులో ఉంటుంది ``` ### విజువలైజేషన్ ప్రాజెక్ట్‌లు సెటప్ meaningful-visualizations (పాఠం 13) వంటి విజువలైజేషన్ ప్రాజెక్ట్‌ల కోసం: ```bash # స్టార్టర్ లేదా సొల్యూషన్ ఫోల్డర్‌కు నావిగేట్ చేయండి cd 3-Data-Visualization/13-meaningful-visualizations/starter # డిపెండెన్సీలను ఇన్‌స్టాల్ చేయండి npm install # డెవలప్‌మెంట్ సర్వర్‌ను ప్రారంభించండి npm run serve # ప్రొడక్షన్ కోసం బిల్డ్ చేయండి npm run build # ఫైళ్లను లింట్ చేయండి npm run lint ``` ## అభివృద్ధి వర్క్‌ఫ్లో ### Jupyter నోట్బుక్స్‌తో పని చేయడం 1. రిపోజిటరీ రూట్‌లో Jupyter ప్రారంభించండి: `jupyter notebook` 2. కావలసిన పాఠం ఫోల్డర్‌కు వెళ్లండి 3. వ్యాయామాలు చేయడానికి `.ipynb` ఫైళ్లను తెరవండి 4. నోట్బుక్స్ స్వీయ-సంపూర్ణంగా ఉంటాయి, వివరణలు మరియు కోడ్ సెల్స్‌తో 5. ఎక్కువ నోట్బుక్స్ pandas, numpy, matplotlib ఉపయోగిస్తాయి - వీటిని ఇన్‌స్టాల్ చేసుకున్నారా అని నిర్ధారించుకోండి ### పాఠ నిర్మాణం ప్రతి పాఠం సాధారణంగా కలిగి ఉంటుంది: - `README.md` - సిద్ధాంతం మరియు ఉదాహరణలతో ప్రధాన పాఠ కంటెంట్ - `notebook.ipynb` - హ్యాండ్స్-ఆన్ Jupyter నోట్బుక్ వ్యాయామాలు - `assignment.ipynb` లేదా `assignment.md` - ప్రాక్టీస్ అసైన్‌మెంట్‌లు - `solution/` ఫోల్డర్ - పరిష్కార నోట్బుక్స్ మరియు కోడ్ - `images/` ఫోల్డర్ - మద్దతు విజువల్ మెటీరియల్స్ ### క్విజ్ అప్లికేషన్ అభివృద్ధి - అభివృద్ధి సమయంలో హాట్-రిలోడ్‌తో Vue.js 2 అప్లికేషన్ - క్విజ్‌లు `quiz-app/src/assets/translations/` లో నిల్వ ఉంటాయి - ప్రతి భాషకు తన స్వంత అనువాద ఫోల్డర్ ఉంటుంది (en, fr, es, మొదలైనవి) - క్విజ్ సంఖ్య 0 నుండి 39 వరకు ఉంటుంది (మొత్తం 40 క్విజ్‌లు) ### అనువాదాలు జోడించడం - అనువాదాలు రిపోజిటరీ రూట్‌లోని `translations/` ఫోల్డర్‌లో ఉంటాయి - ప్రతి భాషకు ఇంగ్లీష్ నుండి పూర్తి పాఠ నిర్మాణం ప్రతిబింబిస్తుంది - GitHub Actions ద్వారా ఆటోమేటెడ్ అనువాదం (co-op-translator.yml) ## పరీక్షా సూచనలు ### క్విజ్ అప్లికేషన్ పరీక్ష ```bash cd quiz-app # లింట్ తనిఖీలు నిర్వహించండి npm run lint # బిల్డ్ ప్రక్రియను పరీక్షించండి npm run build # మాన్యువల్ పరీక్ష: డెవ్ సర్వర్ ప్రారంభించి క్విజ్ ఫంక్షనాలిటీని ధృవీకరించండి npm run serve ``` ### నోట్బుక్ పరీక్ష - నోట్బుక్స్ కోసం ఆటోమేటెడ్ టెస్ట్ ఫ్రేమ్‌వర్క్ లేదు - మాన్యువల్ ధృవీకరణ: అన్ని సెల్స్‌ను వరుసగా నడపండి, ఎలాంటి లోపాలు లేవని నిర్ధారించండి - డేటా ఫైళ్లు అందుబాటులో ఉన్నాయా మరియు అవుట్‌పుట్‌లు సరిగ్గా ఉత్పత్తి అవుతున్నాయా అని తనిఖీ చేయండి - విజువలైజేషన్లు సరిగ్గా ప్రదర్శించబడుతున్నాయా అని చూడండి ### డాక్యుమెంటేషన్ పరీక్ష ```bash # Docsify సరిగా ప్రదర్శించబడుతున్నదని నిర్ధారించండి docsify serve # కంటెంట్ ద్వారా నావిగేట్ చేసి చేతితో బ్రోకెన్ లింకులను తనిఖీ చేయండి # ప్రదర్శించబడిన డాక్యుమెంటేషన్‌లో అన్ని పాఠం లింకులు పనిచేస్తున్నాయో లేదో నిర్ధారించండి ``` ### కోడ్ నాణ్యత తనిఖీలు ```bash # Vue.js ప్రాజెక్టులు (quiz-app మరియు విజువలైజేషన్ ప్రాజెక్టులు) cd quiz-app # లేదా విజువలైజేషన్ ప్రాజెక్ట్ ఫోల్డర్ npm run lint # Python నోట్‌బుక్స్ - మాన్యువల్ ధృవీకరణ సిఫార్సు చేయబడింది # దిగుమతులు పనిచేస్తున్నాయో మరియు సెల్స్ లోపాలు లేకుండా అమలు అవుతున్నాయో నిర్ధారించుకోండి ``` ## కోడ్ శైలి మార్గదర్శకాలు ### Python (Jupyter నోట్బుక్స్) - Python కోడ్ కోసం PEP 8 శైలి మార్గదర్శకాలను అనుసరించండి - విశ్లేషిస్తున్న డేటాను వివరించే స్పష్టమైన వేరియబుల్ పేర్లను ఉపయోగించండి - కోడ్ సెల్స్ ముందు వివరణలతో markdown సెల్స్ చేర్చండి - కోడ్ సెల్స్‌ను ఒక్కో కాన్సెప్ట్ లేదా ఆపరేషన్‌పై కేంద్రీకరించండి - డేటా మానిప్యులేషన్ కోసం pandas, విజువలైజేషన్ కోసం matplotlib ఉపయోగించండి - సాధారణ ఇంపోర్ట్ నమూనా: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt ``` ### JavaScript/Vue.js - Vue.js 2 శైలి గైడ్ మరియు ఉత్తమ పద్ధతులను అనుసరించండి - `quiz-app/package.json` లో ESLint కాన్ఫిగరేషన్ - Vue సింగిల్-ఫైల్ కంపోనెంట్స్ (.vue ఫైళ్లు) ఉపయోగించండి - కంపోనెంట్-ఆధారిత ఆర్కిటెక్చర్‌ను నిర్వహించండి - మార్పులు కమిట్ చేయడానికి ముందు `npm run lint` నడపండి ### Markdown డాక్యుమెంటేషన్ - స్పష్టమైన హెడ్డింగ్స్ హైరార్కీ ఉపయోగించండి (# ## ### మొదలైనవి) - భాష స్పెసిఫైయర్లతో కోడ్ బ్లాక్స్ చేర్చండి - చిత్రాలకు alt టెక్స్ట్ జోడించండి - సంబంధిత పాఠాలు మరియు వనరులకు లింక్ చేయండి - చదవడానికి సౌకర్యంగా ఉండేలా లైన్ పొడవులు పరిమితం చేయండి ### ఫైల్ ఆర్గనైజేషన్ - పాఠ కంటెంట్ సంఖ్యల ఫోల్డర్లలో (01-defining-data-science, మొదలైనవి) - పరిష్కారాలు ప్రత్యేక `solution/` సబ్‌ఫోల్డర్లలో - అనువాదాలు ఇంగ్లీష్ నిర్మాణాన్ని `translations/` ఫోల్డర్‌లో ప్రతిబింబిస్తాయి - డేటా ఫైళ్లు `data/` లేదా పాఠ-స్పెసిఫిక్ ఫోల్డర్లలో ఉంచండి ## బిల్డ్ మరియు డిప్లాయ్‌మెంట్ ### క్విజ్ అప్లికేషన్ డిప్లాయ్‌మెంట్ ```bash cd quiz-app # ఉత్పత్తి సంస్కరణను నిర్మించండి npm run build # అవుట్పుట్ dist/ ఫోల్డర్‌లో ఉంటుంది # dist/ ఫోల్డర్‌ను స్థిర హోస్టింగ్‌కు (Azure Static Web Apps, Netlify, మొదలైనవి) పంపండి ``` ### Azure Static Web Apps డిప్లాయ్‌మెంట్ quiz-app ను Azure Static Web Apps కు డిప్లాయ్ చేయవచ్చు: 1. Azure Static Web App వనరు సృష్టించండి 2. GitHub రిపోజిటరీకి కనెక్ట్ అవ్వండి 3. బిల్డ్ సెట్టింగ్స్ కాన్ఫిగర్ చేయండి: - యాప్ లొకేషన్: `quiz-app` - అవుట్‌పుట్ లొకేషన్: `dist` 4. GitHub Actions వర్క్‌ఫ్లో పుష్ చేసినప్పుడు ఆటోమేటిక్ డిప్లాయ్ చేస్తుంది ### డాక్యుమెంటేషన్ సైట్ ```bash # Docsify నుండి PDF నిర్మించండి (ఐచ్ఛికం) npm run convert # Docsify డాక్యుమెంటేషన్ నేరుగా మార్క్డౌన్ ఫైళ్ల నుండి అందించబడుతుంది # డిప్లాయ్‌మెంట్ కోసం ఎలాంటి బిల్డ్ దశ అవసరం లేదు # Docsify తో రిపాజిటరీని స్థిర హోస్టింగ్‌కు డిప్లాయ్ చేయండి ``` ### GitHub Codespaces - రిపోజిటరీ డెవ్ కంటైనర్ కాన్ఫిగరేషన్‌ను కలిగి ఉంటుంది - Codespaces ఆటోమేటిక్‌గా Python మరియు Node.js ఎన్విరాన్‌మెంట్ సెట్ చేస్తుంది - GitHub UI ద్వారా Codespace లో రిపోజిటరీని ఓపెన్ చేయండి - అన్ని డిపెండెన్సీలు ఆటోమేటిక్‌గా ఇన్‌స్టాల్ అవుతాయి ## పుల్ రిక్వెస్ట్ మార్గదర్శకాలు ### సమర్పించే ముందు ```bash # quiz-app లో Vue.js మార్పుల కోసం cd quiz-app npm run lint npm run build # మార్పులను స్థానికంగా పరీక్షించండి npm run serve ``` ### PR టైటిల్ ఫార్మాట్ - స్పష్టమైన, వివరణాత్మక శీర్షికలు ఉపయోగించండి - ఫార్మాట్: `[Component] సంక్షిప్త వివరణ` - ఉదాహరణలు: - `[Lesson 7] Python నోట్బుక్ ఇంపోర్ట్ లోపం సరిచేయండి` - `[Quiz App] జర్మన్ అనువాదం జోడించండి` - `[Docs] READMEని కొత్త ప్రీరిక్విజిట్స్‌తో నవీకరించండి` ### అవసరమైన తనిఖీలు - అన్ని కోడ్ లోపాలు లేకుండా నడవాలి - నోట్బుక్స్ పూర్తిగా ఎగ్జిక్యూట్ అవ్వాలి - Vue.js అప్లికేషన్లు విజయవంతంగా బిల్డ్ అవ్వాలి - డాక్యుమెంటేషన్ లింకులు పనిచేయాలి - క్విజ్ అప్లికేషన్ మార్చినట్లయితే పరీక్షించాలి - అనువాదాలు సరిగా నిర్మాణాన్ని కాపాడుతున్నాయా అని ధృవీకరించండి ### సహకార మార్గదర్శకాలు - ఉన్న కోడ్ శైలి మరియు నమూనాలను అనుసరించండి - క్లిష్టమైన లాజిక్ కోసం వివరణాత్మక వ్యాఖ్యలు జోడించండి - సంబంధిత డాక్యుమెంటేషన్‌ను నవీకరించండి - అవసరమైతే వివిధ పాఠ మాడ్యూల్స్‌లో మార్పులను పరీక్షించండి - CONTRIBUTING.md ఫైల్‌ను సమీక్షించండి ## అదనపు గమనికలు ### సాధారణంగా ఉపయోగించే లైబ్రరీలు - **pandas**: డేటా మానిప్యులేషన్ మరియు విశ్లేషణ - **numpy**: సంఖ్యాత్మక కంప్యూటింగ్ - **matplotlib**: డేటా విజువలైజేషన్ మరియు ప్లాటింగ్ - **seaborn**: గణాంక డేటా విజువలైజేషన్ (కొన్ని పాఠాలు) - **scikit-learn**: మెషీన్ లెర్నింగ్ (అధిక స్థాయి పాఠాలు) ### డేటా ఫైళ్లతో పని చేయడం - డేటా ఫైళ్లు `data/` ఫోల్డర్ లేదా పాఠ-స్పెసిఫిక్ డైరెక్టరీలలో ఉంటాయి - ఎక్కువ నోట్బుక్స్ డేటా ఫైళ్లను రిలేటివ్ పాత్‌లలో ఆశిస్తాయి - CSV ఫైళ్లు ప్రాథమిక డేటా ఫార్మాట్ - కొన్ని పాఠాలు JSON ను నాన్-రిలేషనల్ డేటా ఉదాహరణల కోసం ఉపయోగిస్తాయి ### బహుభాషా మద్దతు - 40+ భాషల అనువాదాలు ఆటోమేటెడ్ GitHub Actions ద్వారా - అనువాద వర్క్‌ఫ్లో `.github/workflows/co-op-translator.yml` లో ఉంది - అనువాదాలు `translations/` ఫోల్డర్‌లో భాషా కోడ్స్‌తో - క్విజ్ అనువాదాలు `quiz-app/src/assets/translations/` లో ### అభివృద్ధి వాతావరణ ఎంపికలు 1. **లోకల్ అభివృద్ధి**: Python, Jupyter, Node.js స్థానికంగా ఇన్‌స్టాల్ చేయండి 2. **GitHub Codespaces**: క్లౌడ్ ఆధారిత తక్షణ అభివృద్ధి వాతావరణం 3. **VS Code డెవ్ కంటైనర్లు**: స్థానిక కంటైనర్ ఆధారిత అభివృద్ధి 4. **Binder**: నోట్బుక్స్‌ను క్లౌడ్‌లో ప్రారంభించండి (కాన్ఫిగర్ చేసినట్లయితే) ### పాఠ కంటెంట్ మార్గదర్శకాలు - ప్రతి పాఠం స్వతంత్రంగా ఉంటుంది కానీ గత కాన్సెప్ట్‌లపై ఆధారపడి ఉంటుంది - పాఠం ముందు క్విజ్‌లు ముందస్తు జ్ఞానాన్ని పరీక్షిస్తాయి - పాఠం తర్వాత క్విజ్‌లు అభ్యాసాన్ని బలోపేతం చేస్తాయి - అసైన్‌మెంట్‌లు హ్యాండ్స్-ఆన్ ప్రాక్టీస్ అందిస్తాయి - స్కెచ్‌నోట్‌లు విజువల్ సారాంశాలను అందిస్తాయి ### సాధారణ సమస్యల పరిష్కారం **Jupyter కర్నెల్ సమస్యలు:** ```bash # సరైన కర్నెల్ ఇన్‌స్టాల్ చేయబడిందని నిర్ధారించుకోండి python -m ipykernel install --user --name=datascience ``` **npm ఇన్‌స్టాల్ విఫలమవడం:** ```bash # npm క్యాష్‌ను క్లియర్ చేసి మళ్లీ ప్రయత్నించండి npm cache clean --force rm -rf node_modules package-lock.json npm install ``` **నోట్బుక్స్‌లో ఇంపోర్ట్ లోపాలు:** - అవసరమైన అన్ని లైబ్రరీలు ఇన్‌స్టాల్ అయ్యాయా అని తనిఖీ చేయండి - Python వెర్షన్ అనుకూలత (Python 3.7+ సిఫార్సు) - వర్చువల్ ఎన్విరాన్‌మెంట్ యాక్టివేట్ అయిందా అని నిర్ధారించుకోండి **Docsify లోడ్ అవ్వడం లేదు:** - మీరు రిపోజిటరీ రూట్ నుండి సర్వ్ చేస్తున్నారా అని తనిఖీ చేయండి - `index.html` ఉందా అని చూడండి - సరైన నెట్‌వర్క్ యాక్సెస్ (పోర్ట్ 3000) ఉందా అని నిర్ధారించండి ### పనితీరు పరిగణనలు - పెద్ద డేటాసెట్‌లు నోట్బుక్స్‌లో లోడ్ అవ్వడానికి సమయం తీసుకోవచ్చు - క్లిష్టమైన ప్లాట్ల కోసం విజువలైజేషన్ రేండరింగ్ మెల్లగా ఉండవచ్చు - Vue.js డెవ్ సర్వర్ వేగవంతమైన పునఃప్రారంభానికి హాట్-రిలోడ్‌ను అందిస్తుంది - ప్రొడక్షన్ బిల్డ్లు ఆప్టిమైజ్ చేయబడి మినిఫై చేయబడ్డాయి ### భద్రత గమనికలు - ఎలాంటి సున్నితమైన డేటా లేదా క్రెడెన్షియల్స్ కమిట్ చేయకూడదు - క్లౌడ్ పాఠాలలో ఏ API కీలు ఉంటే ఎన్విరాన్‌మెంట్ వేరియబుల్స్ ఉపయోగించండి - Azure సంబంధిత పాఠాలకు Azure ఖాతా క్రెడెన్షియల్స్ అవసరం కావచ్చు - భద్రత ప్యాచుల కోసం డిపెండెన్సీలను నవీకరించండి ## అనువాదాలకు సహకారం - ఆటోమేటెడ్ అనువాదాలు GitHub Actions ద్వారా నిర్వహించబడతాయి - అనువాద ఖచ్చితత్వం కోసం మాన్యువల్ సవరణలు స్వాగతం - ఉన్న అనువాద ఫోల్డర్ నిర్మాణాన్ని అనుసరించండి - క్విజ్ లింక్‌లను భాషా పారామీటర్‌తో నవీకరించండి: `?loc=fr` - అనువదించిన పాఠాలు సరిగా ప్రదర్శించబడుతున్నాయా అని పరీక్షించండి ## సంబంధిత వనరులు - ప్రధాన పాఠ్యక్రమం: https://aka.ms/datascience-beginners - Microsoft Learn: https://docs.microsoft.com/learn/ - స్టూడెంట్ హబ్: https://docs.microsoft.com/learn/student-hub - చర్చా ఫోరం: https://github.com/microsoft/Data-Science-For-Beginners/discussions - ఇతర Microsoft పాఠ్యక్రమాలు: ML for Beginners, AI for Beginners, Web Dev for Beginners ## ప్రాజెక్ట్ నిర్వహణ - కంటెంట్‌ను తాజా ఉంచడానికి నియమిత నవీకరణలు - కమ్యూనిటీ సహకారాలు స్వాగతం - GitHub లో ఇష్యూలు ట్రాక్ చేయబడతాయి - పీఆర్‌లు పాఠ్యక్రమ నిర్వహకులు సమీక్షిస్తారు - నెలవారీ కంటెంట్ సమీక్షలు మరియు నవీకరణలు --- **అస్పష్టత**: ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. అసలు పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారులు కోసం మేము బాధ్యత వహించము.