Επικοινωνήστε μαζί μας

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

Εισαγωγή στο Groovy

  • Εισαγωγή στην Apache Groovy
  • Ιστορία και εξέλιξη του Groovy
  • Το Groovy και η Μηχανή Εικονικών Java (JVM)
  • Το Groovy ως γλώσσα σεντεζαρίσματος (scripting) και προγραμματισμού
  • Κοινές χρήσεις του Groovy
  • Το Groovy σε έργα βασισμένα σε Java
  • Πλεονεκτήματα χρήσης του Groovy μαζί με το Java
  • Γενική επισκόπηση της δεικτικής εφαρμογής

Επισκόπηση των Χαρακτηριστικών του Groovy

  • Δυναμικός και προαιρετικός στατικός συσχετισμός τύπων (typing)
  • Ικανότητες σεντεζαρίσματος (scripting) του Groovy
  • Συνοπτικός συντακτικός κανόνας και βελτιώσεις γλώσσας
  • Κλείστες (Closures) και λειτουργικός προγραμματισμός
  • Συλλογές Groovy και ενισχυμένα API
  • Περισσολογισμός τελεστών (Operator overloading)
  • Ενσωμάτωση رشتهς (String interpolation)
  • Ασφαλής διαδρομή (Safe navigation) και τελεστής Elvis
  • Ανάπτυξη Γλωσσών Ειδικού Δομικού (DSL)
  • Ικανότητες μετα-προγραμματισμού
  • Εργαλείο Ανάπτυξης Groovy (GDK)

Ρύθμιση Περιβάλλοντος Ανάπτυξης

  • Εγκατάσταση και ρύθμιση του Groovy
  • Εργασία με διανομές Groovy
  • Χρήση του Groovy από τη γραμμή εντολών
  • Εκτέλεση σεναρίων Groovy
  • Ρύθμιση μιας IDE
  • Δημιουργία έργου Groovy
  • Διαχείριση зависимостей (dependencies)
  • Ενσωμάτωση του Groovy με έργα Java
  • Ρύθμιση περιβάλλοντος ανάπτυξης για containers

Συγγραφή της Πρώτης Εφαρμογής σας σε Groovy

  • Δημιουργία βασικού σεναρίου Groovy
  • Κατανόηση της δομής σεναρίου Groovy
  • Εκτέλεση εφαρμογών Groovy
  • Χρήση της εντολής println
  • Εργασία με μεταβλητές
  • Ορισμός μεθόδων
  • Προσθήκη σχολίων και τεκμηρίωσης
  • Δημιουργία μιας απλής δεικτικής εφαρμογής
  • Μεταγλώττιση κώδικα Groovy

Εξοικείωση με τη Συντακτική Γραμματική του Groovy

  • Εντολές και εκφράσεις Groovy
  • Επτά και προαιρετικά συντακτικά στοιχεία
  • Μεταβλητές και σταθερές
  • Δυναμικός και ρητός συσχετισμός τύπων
  • Ρωγμές String και ενσωμάτωση (interpolation)
  • Μονογραμμικές και πολυγραμμικές ρωγμές
  • Τελεστές και εκφράσεις
  • Τελεστές και συντομεύσεις Groovy
  • Χειρισμός null
  • Ασφαλής διαδρομή (Safe navigation)
  • Τελεστής Elvis
  • Πληρωλή πολλαπλής

Χρήση Τύπων Δεδομένων και Συλλογών του Groovy

  • Πρωτογενείς και αντικειμενικοί τύποι
  • Αριθμοί και αριθμητικές πράξεις
  • Ρωγμές και χαρακτήρες
  • Булеаны (Booleans)
  • Ημερομηνίες και τιμές σχετικές με το χρόνο
  • Λίστες
  • Χάρτες (Maps)
  • Σύνολα (Sets)
  • Διαστήματα (Ranges)
  • Επανάληψη σε συλλογές
  • Μεταμορφώσεις συλλογών
  • Φιλτράρισμα και αναζήτηση σε συλλογές
  • Ταξινόμηση και ομαδοποίηση δεδομένων
  • Μέθοδοι συλλογών Groovy

Χρήση Κλειστών (Closures) στο Groovy

  • Κατανόηση των κλειστών (closures)
  • Συntax κλειστών
  • Παράμετροι κλειστών
  • Συνοπτικές παράμετροι κλειστών
  • Κλήση κλειστών
  • Κλείστες ως μεταβλητές
  • Πέρασμα κλειστών σε μεθόδους
  • Επιστροφή κλειστών από μεθόδους
  • Κλείστες και συλλογές
  • Χρήση κλειστών για φιλτράρισμα και μεταμόρφωση
  • Περιοχή ορισμού (Scope) και σύλληψη μεταβλητών
  • Κλείστες για λειτουργικό προγραμματισμό
  • Πρακτικά μοτίβα κλειστών

Έλεγχος Ροής Προγράμματος με Δομές Ελέγχου Groovy

  • Δηλωτικές δηλώσεις (Conditional statements)
  • if και else
  • Νεστωμένες συνθήκες
  • Δηλώσεις switch
  • Βρόχοι και επανάληψη
  • for, while, και do-while
  • Διαστήματα σε βρόχους
  • Χρήση κλειστών για επανάληψη
  • break και continue
  • Χειρισμός εξαιρέσεων
  • try, catch, και finally
  • Ρίψιμο προσαρμοσμένων εξαιρέσεων
  • Ειδικά χαρακτηριστικά ροής προγράμματος του Groovy

Εφαρμογή Αντικειμενοαναπαραστατικού Προγραμματισμού (OOP) στην Εφαρμογή σας

  • Ορισμός κλάσσεων Groovy
  • Ιδιότητες και πεδία
  • Κατασκευαστές (Constructors)
  • Μέθοδοι
  • Καψουλιώση (Encapsulation)
  • Κληρονομικότητα
  • Διεπαφές (Interfaces)
  • Απρόσωπες κλάσεις (Abstract classes)
  • Πολυμορφισμός
  • Προσδιορισμός μεθόδων (Overriding)
  • Περισσολογισμός μεθόδων (Overloading)
  • Getter και Setter του Groovy
  • Χαρακτηριστικά (Traits)
  • Enum
  • Δημιουργία μοντέλων προτύπων (domain models) για τη δεικτική εφαρμογή

Μετα-προγραμματισμός Εκτέλεσης και Μεταγλώττισης

  • Εισαγωγή στον μετα-προγραμματισμό Groovy
  • Δυναμική κλήση μεθόδων
  • Αντικείμενα Expando
  • Χειρισμός μεθόδων και ιδιοτήτων σε χρόνο εκτέλεσης
  • Κατηγορίες και εκτεταμένες λειτουργίες
  • MetaClass
  • Δυναμική προσθήκη μεθόδων
  • Σετράτωση κλήσεων μεθόδων
  • Μετασχηματισμοί χρόνου μεταγλώττισης
  • Κοινοί μετασχηματισμοί AST
  • Ευθύνη μετα-προγραμματισμού
  • Πρακτικά παραδείγματα μετα-προγραμματισμού

Εργασία με Δομικά (Builders)

  • Εισαγωγή στο μοτίβο δομικού (builder pattern)
  • Δομικά Groovy και ο σκοπός τους
  • Δημιουργία ιεραρχικών δομών
  • Δομικά XML
  • Δομικά JSON
  • Δημιουργία HTML και σημασιολογίας
  • Ρύθμιση εξόδου δομικών
  • Χρήση κλειστών με δομικά
  • Δημιουργία προσαρμοσμένων δομικών
  • Εφαρμογή δομικών σε Γλώσσες Ειδικού Δομικού (DSL)

Πρόσβαση σε Βάση Δεδομένων με το Groovy

  • Εννοιες σύνδεσης βάσεων δεδομένων
  • Σύνδεση εφαρμογών Groovy με βάσεις δεδομένων
  • JDBC και API βάσεων δεδομένων Groovy
  • Ρύθμιση συνδέσεων βάσεων δεδομένων
  • Εκτέλεση ερωτήσεων SQL
  • Ανάγνωση αποτελεσμάτων ερωτήσεων
  • Εισαγωγή, ενημέρωση και διαγραφή δεδομένων
  • Παραμετρικές ερωτήσεις
  • Συναλλαγές (Transactions)
  • Χειρισμός εξαιρέσεων βάσης δεδομένων
  • Εργασία με Groovy SQL
  • Δημιουργία λειτουργιών βάσης δεδομένων για τη δεικτική εφαρμογή

Κλήση Java από Groovy

  • Αλληλεπιδράση Groovy και Java
  • Χρήση κλάσσεων Java από το Groovy
  • Κλήση μεθόδων Java
  • Εργασία με βιβλιοθήκες Java
  • Χρήση συλλογών Java
  • Χειρισμός εξαιρέσεων Java
  • Σύγκριση συντακτικής γραμματικής Groovy και Java
  • Κλήση κώδικα Groovy από το Java
  • Μείξη αρχείων πηγής Groovy και Java
  • Ενσωμάτωση Groovy σε υπάρχουσες εφαρμογές Java
  • Καλύτερες πρακτικές αλληλεπίδρασης

Σύνδεση με Υπηρεσίες και Εφαρμογές REST

  • Εισαγωγή στα REST API
  • Εννοιες HTTP για εφαρμογές Groovy
  • Αποστολή αιτημάτων HTTP
  • Χειρισμός λειτουργιών GET, POST, PUT και DELETE
  • Εργασία με παραμέτρους και κεφαλίδες αιτήματος
  • Επεξεργασία αποκρινών JSON
  • Δημιουργία σωμάτων αιτήματος JSON
  • Χειρισμός πεισμών (authentication)
  • Διαχείριση σφαλμάτων HTTP
  • Χρήση εξωτερικών υπηρεσιών REST
  • Ενσωμάτωση λειτουργιών REST στη δεικτική εφαρμογή

Εργασία με το GDK

  • Εισαγωγή στο Εργαλείο Ανάπτυξης Groovy
  • Ενισχυμένα Java API
  • Εργασία με ρωγμές (strings)
  • Ενισχυμένες συλλογές
  • Λειτουργίες αρχείων και καταλόγων
  • Ανάγνωση και γραφή αρχείων
  • Εργασία με streams
  • Επεξεργασία XML
  • Επεξεργασία JSON
  • Εργασία με ημερομηνίες και ώρες
  • Μέθοδοι εργαλείων και API εγχειρίων
  • Επιλογή κατάλληλης λειτουργικότητας GDK

Μονάδες Έλεγχου (Unit Testing) Εφαρμογής Groovy

  • Εισαγωγή στο δοκιμαστικό (testing) προγραμματισμό Groovy
  • Εννοιες ανάπτυξης με βάση τη δοκιμή
  • Συγγραφή μοναδικών δοκιμών
  • Χρήση πλαισίων δοκιμών
  • Δομή κλάσσεων δοκιμών
  • Διαβεβαιώσεις (Assertions)
  • Δοκιμές κλάσσεων και μεθόδων
  • Δοκιμές κλειστών
  • Δοκιμές εξαιρέσεων
  • Μοϊκάρισμα (Mocking) зависимостей
  • Δοκιμές βασισμένες σε δεδομένα
  • Δοκιμές λειτουργιών βάσης δεδομένων
  • Δοκιμές ενσωμάτωσης REST
  • Εκτέλεση και ανάλυση αποτελεσμάτων δοκιμών

Διαχείριση Σφαλμάτων

  • Διάγνωση σφαλμάτων συντακτικής γραμματικής Groovy
  • Συζήτηση σφαλμάτων εκτέλεσης
  • Χειρισμό προβλημάτων μεταγλώττισης
  • Διαχείριση ζητημάτων αλληλεπίδρασης Java
  • Συζήτηση κλειστών και λειτουργιών συλλογών
  • Ερευνήματα προβλημάτων σύνδεσης βάσης δεδομένων
  • Διαχείριση ενσωμάτωσης REST API
  • Συζήτηση συμπεριφοράς μετα-προγραμματισμού
  • Χρήση ημερολογίων και διαγνωστικών εργαλείων
  • Πρακτικές ασκήσεις διαχείρισης σφαλμάτων

Σύνοψη και Συμπέρασμα

  • Αναθεώρηση των βασικών εννοιών της γλώσσας Groovy
  • Αναθεώρηση συντακτικής γραμματικής, τύπων και συλλογών
  • Αναθεώρηση κλειστών και λειτουργικού προγραμματισμού
  • Αναθεώρηση αντικειμενοαναπαραστατικού προγραμματισμού
  • Αναθεώρηση μετα-προγραμματισμού και δομικών
  • Αναθεώρηση ενσωμάτωσης βάσης δεδομένων και REST
  • Αναθεώρηση αλληλεπίδρασης Groovy και Java
  • Αναθεώρηση δυνατοτήτων GDK
  • Αναθεώρηση πρακτικών δοκιμών
  • Καλύτερες πρακτικές ανάπτυξης εφαρμογών Groovy
  • Τελική πρακτική άσκηση
  • Ερωτήσεις και συζήτηση

Απαιτήσεις

  • Εμπειρία προγραμματισμού σε οποιαδήποτε γλώσσα προγραμματισμού
 21 Ώρες

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


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

Σχόλια (1)

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

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