Εξέλιξη Κομματιού
Ημέρα 1 — Αξιόπιστες Βάσεις και Εργαλεία του Python
Σύγχρονες Προσδιορισμένες Δυνατότητες του Python και Τύποι
- Βασικά στοιχεία των τύπων, generics, Protocols και TypeGuard
- Επισκόπηση dataclasses, frozen dataclasses και attrs
- Pattern matching (PEP 634+) και ευφυή χρήση
Ποιότητα Κώδικα και Εργαλεία
- Ερμηνευτές και επεξεργαστές κώδικα: black, isort, flake8, ruff
- Στατική έλεγχος τύπων με MyPy και pyright
- Pre-commit hooks και ροές εργασίας δημιουργών
Διαχείριση Έργων και Πακέτων
- Διαχείριση εξαρτήσεων με Poetry και virtual environments
- Λογισμός πακέτου, σημεία είσοδου και αρχές διαχείρισης έκδοσης
- Κατασκευή και δημοσίευση πακέτων στο PyPI και ιδιωτικά ρεγιστράρια
Ημέρα 2 — Μοτίβα Σχεδιασμού & Αρχιτεκτονικές Πρακτικές
Μοτίβα Σχεδιασμού στο Python
- Δημιουργικά μοτίβα: Factory, Builder, Singleton (πυθωνικές περιστροφές)
- Συνδυαστικά μοτίβα: Adapter, Facade, Decorator, Proxy
- Ηλιθιώδη μοτίβα: Strategy, Observer, Command
Αρχές Αρχιτεκτονικής
- SOLID αρχές εφαρμοσμένες σε κωδικοπληξίες Python
- Hexagonal/Clean Architecture και ορία
- Μοτίβα διαχείρισης εξαρτήσεων και διαχείριση ρυθμίσεων
Επανάληψη και Αναβίωση
- Σχεδιασμός κώδικα βιβλιοθήκης vs εφαρμογής
- APIs, σταθερά διεπαφές και semantikή διαχείριση έκδοσης
- Χειρισμός ρυθμίσεων, secrets και περιβαλλοντικών παραμέτρων
Ημέρα 3 — Συνυπηρέτηση, Async IO και Απόδοση
Συνυπηρέτηση και Παράλληλη Εκτέλεση
- Βασικά στοιχεία threading και επιπλέον επιπέδων GIL
- Παράλληλη εκτέλεση με multiprocessing και process pools για CPU-bound tasks
- Όταν να χρησιμοποιήσετε concurrent.futures vs multiprocessing
Ασυγχρόνη Προγραμματισμός με asyncio
- Async/await patterns, event loop και ακύρωση
- Σχεδιασμός άσυγχρωνων βιβλιοθηκών και συμβατότητα με συγχρόνον κώδικα
- IO-bound patterns, backpressure και rate limiting
Προφίλ και Βελτιστοποίηση
- Εργαλεία προφίλ: cProfile, pyinstrument, perf, memory_profiler
- Βελτιστοποίηση ζωντανών μονοπάτιων και χρήση C-extensions/Numba όπου απαιτείται
- Μέτρηση latency, throughput και χρήση πόρων
Ημέρα 4 — Δοκιμαστικά Πειράματα, CI/CD, Επιβλέψη και Κατάθεση
Στρατηγικές Δοκιμαστικών Πειραμάτων και Αυτομάτων Πειραμάτων
- Unit testing και fixtures με pytest; ταξινόμηση πειραμάτων
- Property-based testing με Hypothesis και contract testing
- Mocking, monkeypatching και δοκιμαστικά άσυγχρωνων πειραμάτων
CI/CD, Δημοσίευση και Μόνιτορινγκ
- Ενσωμάτωση πειραμάτων και πύλων ποιότητας σε GitHub Actions/GitLab CI
- Κατασκευή αναπαραγωγίμενων containers με Docker και multi-stage builds
- Εφαρμογές επιβλέψης: structured logging, Prometheus metrics και tracing
Ασφάλεια, Προστασία και Καλές Πρακτικές
- Επιθεώρηση εξαρτήσεων, βασικά SBOM και scanning των αδυναμιών
- Ασφαλείς πρακτικές προγραμματισμού για επαλήθευση δεδομένων και διαχείριση secrets
- Πρόσθετη προστασία: όρια πόρων, user rights και ασφάλεια containers
Συμπερασματική Εργασία & Εξέταση
- Εργασία τ: σχεδιασμός και εφαρμογή μικρής υπηρεσίας χρησιμοποιώντας παραδείγματα από το μάθημα
- Δοκιμαστικά, type-checking, packaging και CI pipeline για το έργο
- Τελική εξέταση, κριτική κώδικα και δραστηριότητα που παρέχει βελτιωμένο σχέδιο
Περίληψη και Επόμενες Βήματα
Απαιτήσεις
- Έντονη εμπειρία προγραμματισμού σε Python ανάμεσα στο μέσο και το υψηλό επίπεδο
- Πειθαρχημένος με προγραμματισμό αντικειμενοστραφώς και βασική δοκιμασία
- Εμπειρία χρήσης του command line και Git
Συντονισμός
- Υψηλού επιπέδου προγραμματιστές Python
- Software engineers υπεύθυνοι για την ποιότητα κώδικα και την αρχιτεκτονική σε Python
- Τεχνικοί ηγέτες και MLOps/DevOps engineers που εργάζονται με βάσεις δεδομένων Python
Σχόλια (5)
Το γεγονός ότι έχουμε περισσότερα πρακτικά ασκήματα με δεδομένα πιο παρόμοια σε εκείνα που χρησιμοποιούμε στα έργα μας (δορυφορικά εικόνες σε raster format)
Matthieu - CS Group
Κομμάτι - Scaling Data Analysis with Python and Dask
Μηχανική Μετάφραση
Νόμιζα ότι ο εκπαιδευτής ήταν πολύ γνωσιακά εξοπλισμένος και απάντησε στις ερωτήσεις με βεβαιότητα, ώστε να διευκρινίσει την κατανόηση.
Jenna - TCMT
Κομμάτι - Machine Learning with Python – 2 Days
Μηχανική Μετάφραση
Πολύ καλή προετοιμασία και εξειδίκευση του εκπαιδευτή, ολέθρια επικοινωνία στα αγγλικά. Το μάθημα ήταν πρακτικό (ασκήσεις + κοινή χρήση παραδειγμάτων χρήσης)
Monika - Procter & Gamble Polska Sp. z o.o.
Κομμάτι - Developing APIs with Python and FastAPI
Μηχανική Μετάφραση
Η εξήγηση
Wei Yang Teo - Ministry of Defence, Singapore
Κομμάτι - Machine Learning with Python – 4 Days
Μηχανική Μετάφραση
Ο εκπαιδευτής αναπτύσσει την εκπαίδευση βάσει του ρυθμού των συμμετέχontων
Farris Chua
Κομμάτι - Data Analysis in Python using Pandas and Numpy
Μηχανική Μετάφραση