Επικοινωνήστε μαζί μας
 Διάρκεια 28 Ώρες

Εξέλιξη Κομματιού

Ημέρα 1 — Σοβαρές Βάσεις Python & Εργαλεία

Σύγχρονες Λειτουργίες Python και Ορισμός Τύπων

  • Βασικές αρχές ορισμού τύπων, γενικά (generics), Protocols και TypeGuard
  • Dataclasses, σταθερά dataclasses και επισκόπηση της βιβλιοθήκης attrs
  • Συλλογισμός μοτίβων (pattern matching, PEP 634+) και ιδιωματική χρήση

Ποιότητα Κώδικα και Εργαλεία

  • Διαμορφωτές και linters κώδικα: black, isort, flake8, ruff
  • Στατικός έλεγχος τύπων με MyPy και pyright
  • Pre-commit hooks και ροές εργασίας προγραμματιστών

Διαχείριση Έργων και Συσκευασία (Packaging)

  • Διαχείριση εξαρτήσεων με Poetry και εικονικά περιβάλλοντα
  • Διάταξη πακέτων, σημεία εισόδου (entry points) και καλύτερες πρακτικές εκδόσεων
  • Δημιουργία και δημοσίευση πακέτων σε PyPI και ιδιωτικά μητρώα

Ημέρα 2 — Σχέδια Σχεδιασμού & Αρχιτεκτονικές Πρακτικές

Σχέδια Σχεδιασμού στο Python

  • Μορφωτικά μοτίβα: Factory, Builder, Singleton (ιδιωματικές εκδοχές Python)
  • Δομικά μοτίβα: Adapter, Facade, Decorator, Proxy
  • Συμπεριφορικά μοτίβα: Strategy, Observer, Command

Αρχιτεκτονικές Αρχές

  • Αρχές SOLID εφαρμοσμένες σε κώδικα βάσεων Python
  • Εξαγωνική/Καθαρή Αρχιτεκτονική (Hexagonal/Clean Architecture) και σύνορα
  • Μοτίβα εγχύσης εξαρτήσεων (dependency injection) και διαχείριση ρυθμίσεων

Μαθητικότητα και Επανάχρηση

  • Σχεδιασμός κώδικα βιβλιοθήκης έναντι κώδικα εφαρμογής
  • APIs, σταθερές συσχετίσεις και σημασιολογικός αριθμός έκδοσης (semantic versioning)
  • Χειρισμός ρυθμίσεων, μυστικών (secrets) και περιβαλλομετρικών παραμέτρων

Ημέρα 3 — Ταυτόχρονη Εκτέλεση, Async IO και Απόδοση

Παράλληλη Εκτέλεση και Ταυτόχρονη Εκτέλεση

  • Βασικές αρχές νημάτων (threading) και οι επιπτώσεις του GIL
  • Πολυεπεξεργασία (multiprocessing) και συλλογές διεργασιών (process pools) για εργασίες που βασίζονται σε CPU
  • Πότε να χρησιμοποιείται concurrent.futures έναντι multiprocessing

Async Προγραμματισμός με asyncio

  • Μοτίβα async/await, vòngλος γεγονότων (event loop) και ακύρωση
  • Σχεδιασμός βιβλιοθηκών async και συμβατότητα με συγχρονισμένο κώδικα
  • Μοτίβα βασισμένα σε IO, πίεση επιστροφής (backpressure) και περιορισμός ρυθμού (rate limiting)

Προfil και Βελτιστοποίηση

  • Εργαλεία προfil: cProfile, pyinstrument, perf, memory_profiler
  • Βελτιστοποίηση κρίσιμων μονοπατιών (hot paths) και χρήση επεκτάσεων C/Numba όπου κατάλληλο
  • Μέτρηση καθυστέρησης, ροής (throughput) και εκμετάλλευσης πόρων

Ημέρα 4 — Δοκιμές, CI/CD, Παρατηρησιμότητα και Ανάπτυξη

Στρατηγικές Δοκιμών και Αυτόματη Επεξεργασία

  • Δοκιμές μονάδας και fixtures με pytest; οργάνωση δοκιμών
  • Δοκιμές βασισμένες σε ιδιότητες με Hypothesis και δοκιμές συμβάσεων (contract testing)
  • Mocking, monkeypatching και δοκιμή ασύγχρονου κώδικα

CI/CD, Εκδόσεις και Παρακολούθηση

  • Ενσωμάτωση δοκιμών και πορταλών ποιότητας σε GitHub Actions/GitLab CI
  • Δημιουργία αναπαραγώγιμων containers με Docker και πολυσταδιακές κατασκευές (multi-stage builds)
  • Παρατηρησιμότητα εφαρμογών: δομημένη ημερομηνίωση, μετρικές Prometheus και ίχνη (tracing)

Ασφάλεια, Ενίσχυση και Καλύτερες Πρακτικές

  • Προσκόμιση εξαρτήσεων, βασικές αρχές SBOM και σάρωση ευρωπαιτήσεων
  • Ασφαλής πρακτικές προγραμματισμού για έλεγχο εισόδου και διαχείριση μυστικών
  • Ενίσχυση εκτέλεσης: όρια πόρων, δικαιώματα χρήστη και ασφάλεια container

Τελικό Έργο & Ανασκόπηση

  • Ομαδικό εργαστήριο: σχεδίαση και υλοποίηση μικρής υπηρεσίας χρησιμοποιώντας μοτίβα από το μάθημα
  • Δοκιμές, έλεγχος τύπων, συσκευασία και γραμμή CI για το έργο
  • Τελική ανασκόπηση, κριτική κώδικα και σχέδιο βελτίωσης

Συνοπτική Περίληψη και Ενδεχόμενα Επόμενα Βήματα

Απαιτήσεις

  • Ισχυρή εμπειρία προγραμματισμού Python ενδιάμεσου επιπέδου
  • Οικειότητα με προγραμματισμό προσανατολισμένο σε αντικείμενα και βασικές δοκιμές
  • Εμπειρία χρήσης γραμμής εντολών και Git

Κοινό Στόχο

  • Σύγχρονοι προγραμματιστές Python
  • Μηχανικοί λογισμικού υπεύθυνοι για τη ποιότητα και την αρχιτεκτονική του κώδικα Python
  • Τεχνικοί ηγέτες και μηχανικοί MLOps/DevOps που εργάζονται με κώδικα βάσεων Python

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Σχόλια (2)

Εφεξής Μαθήματα

Σχετικές Κατηγορίες