Εξέλιξη Κομματιού
Ημέρα 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)
Το πλήθος των χρηστών είναι σωστό. Ο καθηγητής παρέδωσε τις πληροφορίες με ζήλο.
Alberto Rivas - SEG AUTOMOTIVE SPAIN, S.A.U.
Κομμάτι - Python Programming - 4 days
Μηχανική Μετάφραση
Το γεγονός ότι έχουμε περισσότερα πρακτικά ασκήματα με δεδομένα πιο παρόμοια σε εκείνα που χρησιμοποιούμε στα έργα μας (δορυφορικά εικόνες σε 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
Μηχανική Μετάφραση