You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/el/AGENTS.md

19 KiB

AGENTS.md

Επισκόπηση Έργου

Το "Data Science for Beginners" είναι ένα ολοκληρωμένο πρόγραμμα σπουδών διάρκειας 10 εβδομάδων και 20 μαθημάτων, που δημιουργήθηκε από τους Microsoft Azure Cloud Advocates. Το αποθετήριο αποτελεί εκπαιδευτικό πόρο που διδάσκει βασικές έννοιες της επιστήμης δεδομένων μέσω μαθημάτων βασισμένων σε έργα, περιλαμβάνοντας Jupyter notebooks, διαδραστικά κουίζ και πρακτικές ασκήσεις.

Κύριες Τεχνολογίες:

  • Jupyter Notebooks: Κύριο μέσο εκμάθησης με χρήση Python 3
  • Βιβλιοθήκες Python: pandas, numpy, matplotlib για ανάλυση και οπτικοποίηση δεδομένων
  • Vue.js 2: Εφαρμογή κουίζ (φάκελος quiz-app)
  • Docsify: Γεννήτρια ιστότοπου τεκμηρίωσης για offline πρόσβαση
  • Node.js/npm: Διαχείριση πακέτων για JavaScript components
  • Markdown: Όλο το περιεχόμενο μαθημάτων και η τεκμηρίωση

Αρχιτεκτονική:

  • Εκπαιδευτικό αποθετήριο πολλών γλωσσών με εκτεταμένες μεταφράσεις
  • Δομημένο σε ενότητες μαθημάτων (1-Introduction έως 6-Data-Science-In-Wild)
  • Κάθε μάθημα περιλαμβάνει README, notebooks, ασκήσεις και κουίζ
  • Αυτόνομη εφαρμογή κουίζ Vue.js για αξιολογήσεις πριν/μετά το μάθημα
  • Υποστήριξη GitHub Codespaces και VS Code dev containers

Εντολές Ρύθμισης

Ρύθμιση Αποθετηρίου

# Clone the repository (if not already cloned)
git clone https://github.com/microsoft/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners

Ρύθμιση Περιβάλλοντος Python

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install common data science libraries (no requirements.txt exists)
pip install jupyter pandas numpy matplotlib seaborn scikit-learn

Ρύθμιση Εφαρμογής Κουίζ

# Navigate to quiz app
cd quiz-app

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint and fix files
npm run lint

Διακομιστής Τεκμηρίωσης Docsify

# Install Docsify globally
npm install -g docsify-cli

# Serve documentation locally
docsify serve

# Documentation will be available at localhost:3000

Ρύθμιση Έργων Οπτικοποίησης

Για έργα οπτικοποίησης όπως meaningful-visualizations (μάθημα 13):

# Navigate to starter or solution folder
cd 3-Data-Visualization/13-meaningful-visualizations/starter

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint files
npm run lint

Ροή Εργασίας Ανάπτυξης

Εργασία με Jupyter Notebooks

  1. Ξεκινήστε το Jupyter από τη ρίζα του αποθετηρίου: jupyter notebook
  2. Μεταβείτε στον φάκελο του επιθυμητού μαθήματος
  3. Ανοίξτε αρχεία .ipynb για να εργαστείτε στις ασκήσεις
  4. Τα notebooks είναι αυτοτελή με εξηγήσεις και κελιά κώδικα
  5. Τα περισσότερα notebooks χρησιμοποιούν pandas, numpy και matplotlib - βεβαιωθείτε ότι είναι εγκατεστημένα

Δομή Μαθήματος

Κάθε μάθημα περιλαμβάνει συνήθως:

  • README.md - Κύριο περιεχόμενο μαθήματος με θεωρία και παραδείγματα
  • notebook.ipynb - Πρακτικές ασκήσεις σε Jupyter notebook
  • assignment.ipynb ή assignment.md - Ασκήσεις πρακτικής
  • Φάκελος solution/ - Notebooks λύσεων και κώδικας
  • Φάκελος images/ - Υποστηρικτικό οπτικό υλικό

Ανάπτυξη Εφαρμογής Κουίζ

  • Εφαρμογή Vue.js 2 με δυνατότητα hot-reload κατά την ανάπτυξη
  • Τα κουίζ αποθηκεύονται στο quiz-app/src/assets/translations/
  • Κάθε γλώσσα έχει τον δικό της φάκελο μετάφρασης (en, fr, es, κ.λπ.)
  • Η αρίθμηση των κουίζ ξεκινά από το 0 και φτάνει έως το 39 (40 κουίζ συνολικά)

Προσθήκη Μεταφράσεων

  • Οι μεταφράσεις τοποθετούνται στον φάκελο translations/ στη ρίζα του αποθετηρίου
  • Κάθε γλώσσα έχει πλήρη δομή μαθήματος που αντικατοπτρίζει την αγγλική
  • Αυτοματοποιημένη μετάφραση μέσω GitHub Actions (co-op-translator.yml)

Οδηγίες Δοκιμών

Δοκιμή Εφαρμογής Κουίζ

cd quiz-app

# Run lint checks
npm run lint

# Test build process
npm run build

# Manual testing: Start dev server and verify quiz functionality
npm run serve

Δοκιμή Notebooks

  • Δεν υπάρχει αυτοματοποιημένο πλαίσιο δοκιμών για notebooks
  • Χειροκίνητη επικύρωση: Εκτελέστε όλα τα κελιά με τη σειρά για να βεβαιωθείτε ότι δεν υπάρχουν σφάλματα
  • Επαληθεύστε ότι τα αρχεία δεδομένων είναι προσβάσιμα και ότι τα αποτελέσματα δημιουργούνται σωστά
  • Ελέγξτε ότι οι οπτικοποιήσεις αποδίδονται σωστά

Δοκιμή Τεκμηρίωσης

# Verify Docsify renders correctly
docsify serve

# Check for broken links manually by navigating through content
# Verify all lesson links work in the rendered documentation

Έλεγχοι Ποιότητας Κώδικα

# Vue.js projects (quiz-app and visualization projects)
cd quiz-app  # or visualization project folder
npm run lint

# Python notebooks - manual verification recommended
# Ensure imports work and cells execute without errors

Οδηγίες Στυλ Κώδικα

Python (Jupyter Notebooks)

  • Ακολουθήστε τις οδηγίες στυλ PEP 8 για κώδικα Python
  • Χρησιμοποιήστε σαφή ονόματα μεταβλητών που εξηγούν τα δεδομένα που αναλύονται
  • Συμπεριλάβετε κελιά markdown με εξηγήσεις πριν από τα κελιά κώδικα
  • Κρατήστε τα κελιά κώδικα επικεντρωμένα σε μία έννοια ή λειτουργία
  • Χρησιμοποιήστε pandas για χειρισμό δεδομένων, matplotlib για οπτικοποίηση
  • Κοινό μοτίβο εισαγωγής:
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    

JavaScript/Vue.js

  • Ακολουθήστε τον οδηγό στυλ Vue.js 2 και τις βέλτιστες πρακτικές
  • Ρύθμιση ESLint στο quiz-app/package.json
  • Χρησιμοποιήστε Vue single-file components (.vue αρχεία)
  • Διατηρήστε αρχιτεκτονική βασισμένη σε components
  • Εκτελέστε npm run lint πριν από την υποβολή αλλαγών

Τεκμηρίωση Markdown

  • Χρησιμοποιήστε σαφή ιεραρχία επικεφαλίδων (# ## ### κ.λπ.)
  • Συμπεριλάβετε μπλοκ κώδικα με καθορισμό γλώσσας
  • Προσθέστε alt text για εικόνες
  • Συνδέστε με σχετικά μαθήματα και πόρους
  • Διατηρήστε λογικά μήκη γραμμών για ευανάγνωστο κείμενο

Οργάνωση Αρχείων

  • Περιεχόμενο μαθημάτων σε αριθμημένους φακέλους (01-defining-data-science, κ.λπ.)
  • Λύσεις σε ειδικούς υποφακέλους solution/
  • Οι μεταφράσεις αντικατοπτρίζουν τη δομή της αγγλικής στον φάκελο translations/
  • Κρατήστε αρχεία δεδομένων στον φάκελο data/ ή σε φακέλους συγκεκριμένων μαθημάτων

Δημιουργία και Ανάπτυξη

Ανάπτυξη Εφαρμογής Κουίζ

cd quiz-app

# Build production version
npm run build

# Output is in dist/ folder
# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)

Ανάπτυξη Azure Static Web Apps

Η εφαρμογή κουίζ μπορεί να αναπτυχθεί σε Azure Static Web Apps:

  1. Δημιουργήστε πόρο Azure Static Web App
  2. Συνδέστε το αποθετήριο GitHub
  3. Ρυθμίστε τις παραμέτρους δημιουργίας:
    • Τοποθεσία εφαρμογής: quiz-app
    • Τοποθεσία εξόδου: dist
  4. Το GitHub Actions workflow θα αναπτύξει αυτόματα τις αλλαγές

Ιστότοπος Τεκμηρίωσης

# Build PDF from Docsify (optional)
npm run convert

# Docsify documentation is served directly from markdown files
# No build step required for deployment
# Deploy repository to static hosting with Docsify

GitHub Codespaces

  • Το αποθετήριο περιλαμβάνει ρύθμιση dev container
  • Το Codespaces ρυθμίζει αυτόματα το περιβάλλον Python και Node.js
  • Ανοίξτε το αποθετήριο στο Codespace μέσω του UI του GitHub
  • Όλες οι εξαρτήσεις εγκαθίστανται αυτόματα

Οδηγίες Pull Request

Πριν την Υποβολή

# For Vue.js changes in quiz-app
cd quiz-app
npm run lint
npm run build

# Test changes locally
npm run serve

Μορφή Τίτλου PR

  • Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους
  • Μορφή: [Component] Σύντομη περιγραφή
  • Παραδείγματα:
    • [Lesson 7] Διόρθωση σφάλματος εισαγωγής Python notebook
    • [Quiz App] Προσθήκη γερμανικής μετάφρασης
    • [Docs] Ενημέρωση README με νέες προϋποθέσεις

Απαιτούμενοι Έλεγχοι

  • Βεβαιωθείτε ότι όλος ο κώδικας εκτελείται χωρίς σφάλματα
  • Επαληθεύστε ότι τα notebooks εκτελούνται πλήρως
  • Επιβεβαιώστε ότι οι εφαρμογές Vue.js δημιουργούνται επιτυχώς
  • Ελέγξτε ότι οι σύνδεσμοι τεκμηρίωσης λειτουργούν
  • Δοκιμάστε την εφαρμογή κουίζ αν έχει τροποποιηθεί
  • Επαληθεύστε ότι οι μεταφράσεις διατηρούν συνεπή δομή

Οδηγίες Συνεισφοράς

  • Ακολουθήστε το υπάρχον στυλ και τα μοτίβα κώδικα
  • Προσθέστε επεξηγηματικά σχόλια για σύνθετη λογική
  • Ενημερώστε τη σχετική τεκμηρίωση
  • Δοκιμάστε τις αλλαγές σε διαφορετικές ενότητες μαθημάτων αν είναι απαραίτητο
  • Ανατρέξτε στο αρχείο CONTRIBUTING.md

Πρόσθετες Σημειώσεις

Κοινές Βιβλιοθήκες που Χρησιμοποιούνται

  • pandas: Χειρισμός και ανάλυση δεδομένων
  • numpy: Υπολογιστική αριθμητική
  • matplotlib: Οπτικοποίηση και σχεδίαση δεδομένων
  • seaborn: Στατιστική οπτικοποίηση δεδομένων (σε ορισμένα μαθήματα)
  • scikit-learn: Μηχανική μάθηση (προχωρημένα μαθήματα)

Εργασία με Αρχεία Δεδομένων

  • Τα αρχεία δεδομένων βρίσκονται στον φάκελο data/ ή σε φακέλους συγκεκριμένων μαθημάτων
  • Τα περισσότερα notebooks αναμένουν αρχεία δεδομένων σε σχετικές διαδρομές
  • Τα αρχεία 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: Περιβάλλον ανάπτυξης στο cloud
  3. VS Code Dev Containers: Τοπική ανάπτυξη με containers
  4. Binder: Εκκίνηση notebooks στο cloud (αν έχει ρυθμιστεί)

Οδηγίες Περιεχομένου Μαθημάτων

  • Κάθε μάθημα είναι αυτοτελές αλλά βασίζεται σε προηγούμενες έννοιες
  • Τα κουίζ πριν το μάθημα ελέγχουν τις προηγούμενες γνώσεις
  • Τα κουίζ μετά το μάθημα ενισχύουν τη μάθηση
  • Οι ασκήσεις παρέχουν πρακτική εξάσκηση
  • Τα sketchnotes παρέχουν οπτικές περιλήψεις

Επίλυση Συνηθισμένων Προβλημάτων

Προβλήματα Kernel στο Jupyter:

# Ensure correct kernel is installed
python -m ipykernel install --user --name=datascience

Αποτυχίες Εγκατάστασης npm:

# Clear npm cache and retry
npm cache clean --force
rm -rf node_modules package-lock.json
npm install

Σφάλματα Εισαγωγής στα Notebooks:

  • Επαληθεύστε ότι όλες οι απαιτούμενες βιβλιοθήκες είναι εγκατεστημένες
  • Ελέγξτε τη συμβατότητα έκδοσης Python (συνιστάται Python 3.7+)
  • Βεβαιωθείτε ότι το εικονικό περιβάλλον είναι ενεργοποιημένο

Το Docsify δεν Φορτώνει:

  • Επαληθεύστε ότι εξυπηρετείτε από τη ρίζα του αποθετηρίου
  • Ελέγξτε ότι υπάρχει το index.html
  • Βεβαιωθείτε για σωστή πρόσβαση δικτύου (port 3000)

Σημειώσεις Απόδοσης

  • Τα μεγάλα σύνολα δεδομένων μπορεί να χρειαστούν χρόνο για φόρτωση στα notebooks
  • Η απόδοση οπτικοποιήσεων μπορεί να είναι αργή για σύνθετα γραφήματα
  • Ο dev server του Vue.js επιτρέπει γρήγορη επανάληψη με hot-reload
  • Οι παραγωγικές εκδόσεις είναι βελτιστοποιημένες και συμπιεσμένες

Σημειώσεις Ασφαλείας

  • Δεν πρέπει να δεσμεύονται ευαίσθητα δεδομένα ή διαπιστευτήρια
  • Χρησιμοποιήστε μεταβλητές περιβάλλοντος για οποιαδήποτε API keys σε μαθήματα cloud
  • Τα μαθήματα που σχετίζονται με Azure μπορεί να απαιτούν διαπιστευτήρια λογαριασμού Azure
  • Διατηρήστε ενημερωμένες τις εξαρτήσεις για επιδιορθώσεις ασφαλείας

Συνεισφορά στις Μεταφράσεις

  • Οι αυτοματοποιημένες μεταφράσεις διαχειρίζονται μέσω GitHub Actions
  • Γίνονται δεκτές χειροκίνητες διορθώσεις για ακρίβεια μετάφρασης
  • Ακολουθήστε την υπάρχουσα δομή φακέλου μεταφράσεων
  • Ενημερώστε τους συνδέσμους κουίζ ώστε να περιλαμβάνουν παράμετρο γλώσσας: ?loc=fr
  • Δοκιμάστε τα μεταφρασμένα μαθήματα για σωστή απόδοση

Σχετικοί Πόροι

Συντήρηση Έργου

  • Τακτικές ενημερώσεις για διατήρηση του περιεχομένου επίκαιρου
  • Καλωσορίζονται συνεισφορές από την κοινότητα
  • Τα ζητήματα παρακολουθούνται στο GitHub
  • Οι PRs εξετάζονται από τους συντηρητές του προγράμματος σπουδών
  • Μηνιαίες αναθεωρήσεις και ενημερώσεις περιεχομένου

Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.