Εξέλιξη Κομματιού
Ημέρα 1
Ενότητα 1: Εισαγωγή στην Python για Χρήστες Unix
Θέματα
Γιατί Python για scripting και αυτοματοποίηση
• πλεονεκτήματα της Python για scripting
• χρήση της Python στη διαχείριση συστημάτων και στο DevOps
Σύγκριση Bash με Python
• μεταβλητές
• ροή ελέγχου (if, βρόχοι)
• εργασία με αρχεία
• εκτέλεση εντολών συστήματος
Δομή ενός σεναρίου Python
• εκτέλεση σεναρίων Python
• χρήση του διερμηνέα
• ορίσματα γραμμής εντολών
• εισαγωγή στο argparse
Ασκήσεις
Άσκηση 1 – Μετατροπή ενός απλού σεναρίου Bash σε Python
Σενάριο Bash που:
• καταγράφει αρχεία από έναν κατάλογο
• φιλτράρει κατά επέκταση
• εμφανίζει στατιστικά στοιχεία
Οι συμμετέχοντες θα ξαναγράψουν το σενάριο σε Python.
Άσκηση 2 – Σενάριο Python με ορίσματα CLI
Δημιουργία ενός σεναρίου Python που:
• λαμβάνει παραμέτρους από τη γραμμή εντολών
• επεξεργάζεται αρχεία
• εμφανίζει δομημένα αποτελέσματα
Ενότητα 2: Διαχείριση Αρχείων και Καταλόγων
Θέματα
Εργασία με το σύστημα αρχείων στην Python
• ανάγνωση και εγγραφή αρχείων
• πλοήγηση σε καταλόγους
• διαχείριση διαδρομών
Χρήση του module pathlib
• διαχείριση διαδρομών
• λειτουργίες αρχείων
Αντικατάσταση βοηθητικών προγραμμάτων Unix
• grep
• find
• sed
• awk
με υλοποιήσεις Python
Ασκήσεις
Άσκηση 1 – Σάρωση συστήματος αρχείων
Σενάριο Python που:
• αναζητά μεγάλα αρχεία
• εντοπίζει παλιά αρχεία
• δημιουργεί μια αναφορά
Άσκηση 2 – Επεξεργασία αρχείων ρυθμίσεων
Σενάριο Python που:
• διαβάζει αρχεία κειμένου
• εξάγει σχετικές πληροφορίες
• δημιουργεί στατιστικά στοιχεία
Ημέρα 2
Ενότητα 3: Επεξεργασία Αρχείων Καταγραφής και Χειρισμός Κειμένου
Θέματα
Εργασία με κείμενο στην Python
• λειτουργίες συμβολοσειρών
• φιλτράρισμα και μετασχηματισμός δεδομένων
Κανονικές εκφράσεις (regex)
• αναγνώριση προτύπων
• ανάλυση αρχείων καταγραφής (log parsing)
Αντικατάσταση pipelines του shell
Παράδειγμα:
grep | awk | sed | sort
υλοποιημένο σε Python
Ασκήσεις
Άσκηση 1 – Ανάλυση αρχείων καταγραφής
Σενάριο Python που:
• διαβάζει αρχεία καταγραφής συστήματος
• εντοπίζει σφάλματα
• υπολογίζει τη συχνότητα σφαλμάτων
Άσκηση 2 – Μετατροπή ενός pipeline shell σε Python
Πολύπλοκο pipeline Bash μετασχηματισμένο σε σενάριο Python
Ενότητα 4: Αυτοματοποίηση Εντολών Συστήματος
Θέματα
Εκτέλεση εντολών shell από Python
• module subprocess
• λήψη εξόδου
• διαχείριση σφαλμάτων
Αυτοματοποίηση διαχειριστικών εργασιών
• εκτέλεση εντολών συστήματος
• ενσωμάτωση με cron jobs
• δημιουργία σεναρίων για επαναλαμβανόμενες εργασίες
Διαχείριση διεργασιών
• παρακολούθηση διεργασιών
• απλή παράλληλη εκτέλεση
Ασκήσεις
Άσκηση 1 – Σενάριο Python που εκτελεί εντολές συστήματος
Σενάριο που:
• εκτελεί εντολές Unix
• καταγράφει την έξοδο
• δημιουργεί αναφορές
Άσκηση 2 – Παρακολούθηση υπηρεσίας
Σενάριο Python που:
• ελέγχει την κατάσταση μιας υπηρεσίας
• συλλέγει πληροφορίες
• εμφανίζει αποτελέσματα
Ημέρα 3
Ενότητα 5: Προηγμένη Αυτοματοποίηση και Αλληλεπίδραση με Εξωτερικές Υπηρεσίες
Θέματα
Εργασία με APIs στην Python
• εισαγωγή στα HTTP requests
• πιστοποίηση και tokens
• επεξεργασία αποκρίσεων JSON
Python για αυτοματοποίηση DevOps
• συλλογή δεδομένων από εξωτερικές υπηρεσίες
• ενσωμάτωση με υπάρχοντα εργαλεία
• scripting υποδομών
Ασκήσεις
Άσκηση 1 – Σενάριο Python που καταναλώνει ένα API
Σενάριο που:
• συλλέγει δεδομένα από ένα API
• επεξεργάζεται τις πληροφορίες
• δημιουργεί μια αναφορά
Άσκηση 2 – Αυτοματοποίηση συλλογής δεδομένων
Σενάριο Python που:
• συλλέγει πληροφορίες συστήματος
• δημιουργεί αναφορά JSON ή CSV
Ενότητα 6: Δημιουργία εργαλείου CLI για διαχείριση
Θέματα
Δόμηση ενός έργου Python
• οργάνωση κώδικα
• επαναχρησιμοποίηση συναρτήσεων
• modules και πακέτα
Δημιουργία ενός εργαλείου CLI
• ορίσματα γραμμής εντολών
• δομημένη έξοδος
• διαχείριση σφαλμάτων
Τελική άσκηση
Οι συμμετέχοντες θα δημιουργήσουν ένα εργαλείο αυτοματοποίησης CLI σε Python που:
• αναλύει αρχεία καταγραφής
• εντοπίζει σφάλματα
• δημιουργεί στατιστικά στοιχεία
• μπορεί να εκτελεστεί από τη γραμμή εντολών
Αποτελέσματα Μαθήματος
Με την ολοκλήρωση του μαθήματος οι συμμετέχοντες θα είναι σε θέση να:
• μετατρέπουν σενάρια shell σε σενάρια Python
• χρησιμοποιούν την Python για αυτοματοποίηση εργασιών συστήματος
• επεξεργάζονται αρχεία καταγραφής και πολύπλοκα δεδομένα
• κατασκευάζουν εργαλεία CLI για διαχείριση συστημάτων Unix
Απαιτήσεις
Προαπαιτούμενα
- Βασική γνώση λειτουργικών συστημάτων Unix/Linux
- Εξοικείωση με τη χρήση γραμμής εντολών (shell/Bash)
- Εμπειρία στη συγγραφή απλών σεναρίων shell (π.χ. βρόχοι, συνθήκες, λειτουργίες αρχείων)
- Γενική κατανόηση των εννοιών διαχείρισης συστήματος είναι επωφελής
- Δεν απαιτείται προηγούμενη εμπειρία στην Python
Κοινό-στόχος
- Διαχειριστές συστημάτων που εργάζονται σε περιβάλλοντα Unix/Linux
- Μηχανικοί DevOps που επιθυμούν να βελτιώσουν τις δυνατότητες αυτοματοποίησης
- Μηχανικοί και τεχνικοί ειδικοί που χρησιμοποιούν shell scripting για καθημερινές εργασίες
- Επαγγελματίες IT που ενδιαφέρονται για τη μετάβαση από το Bash στην Python
- Προγραμματιστές που εργάζονται σε περιβάλλοντα Unix και επιθυμούν να αυτοματοποιήσουν ροές εργασίας πιο αποτελεσματικά
Σχόλια (2)
τα πάντα ήταν τέλεια
Florin Vrincianu
Κομμάτι - Python Programming Fundamentals
Μηχανική Μετάφραση
Η πρακτική εξάσκηση σχετικά με το υλικό βοηθά πραγματικά να κατανοήσουμε περισσότερα για κάθε θέμα. Επιπλέον, ο τρόπος ξεκινήσης των μαθημάτων με διδασκαλία και συνέχεια με πρακτική εξάσκηση είναι καλός και χρήσιμος για να συνδεθεί με τη διδασκαλία που παρουσιάστηκε αρχικά.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Κομμάτι - Introduction to Data Science and AI using Python
Μηχανική Μετάφραση