Ανάπτυξη στο Go - πορεία 130.000 τρίψτε. από GeekBrains, εκπαίδευση 15 μηνών, Ημερομηνία: 10 Ιουνίου 2023.
μικροαντικείμενα / / November 29, 2023
Για αρχάριους
Η Golang είναι εξαιρετική ως πρώτη γλώσσα προγραμματισμού. Έχει απλή σύνταξη και σύντομη τεκμηρίωση. Δεν χρειάζεστε τεχνικό υπόβαθρο για να το κατακτήσετε.
Προγραμματιστές με εμπειρία
Πολλές εταιρείες μεταβαίνουν στο Go και αναζητούν δίγλωσσους επαγγελματίες. Εάν γνωρίζετε PHP, C/C++, JavaScript, Ruby ή άλλες γλώσσες, μπορείτε να κερδίσετε περισσότερα.
Βασικά στοιχεία προγραμματισμού
Πρόγραμμα, μεταβλητές και τύποι δεδομένων
• Διαγράμματα ροής και κλάδοι
• Κύκλοι
• Λειτουργίες
• Πίνακες
HTML/CSS. Διαδραστικό μάθημα
- Εξοικειωθείτε με τις τεχνολογίες web και δημιουργήστε μια απλή ιστοσελίδα.
Βασικές έννοιες στην ανάπτυξη Ιστού
• Βασικά στοιχεία της γλώσσας σήμανσης εγγράφων HTML
• Βασικά στοιχεία της γλώσσας styling εγγράφων CSS
• Ψευτοτάξεις και ψευδοστοιχεία, διάταξη πίνακα
• Σχηματισμός μοντέλου μπλοκ, διάταξη μπλοκ
• Εργαστείτε με σχεδίαση mockup σε μορφή PSD
• Σήμανση ιστότοπου και εισαγωγή στο Bootstrap
• Πρότυπα Web και εργαλεία υποστήριξης
Βασικό μάθημα βίντεο για το Git
- Εξοικειωθείτε με το Git, ένα σύστημα ελέγχου εκδόσεων που οι προγραμματιστές χρησιμοποιούν ενεργά σε εκπαιδευτικά και εμπορικά έργα.
Εισαγωγή στο Git
• Εγκατάσταση και διαμόρφωση του Git
• Βασικές εντολές τερματικού
• Εργασία με αποθετήρια
• Διαχείριση αρχείων αποθετηρίου
• Ιστορικό αλλαγών
• Εργασία με υποκαταστήματα αποθετηρίου
• Δημοσίευση αποθετηρίου
• Συγχωνεύσεις υποκαταστημάτων
• Διαχείριση έκδοσης
• Δημιουργήστε ένα αίτημα έλξης
• Σύνθετες λειτουργίες
• Εργασία με αποθετήρια Fork
Βασικό μάθημα Javascript
- Μάθετε προγραμματισμό JavaScript για τη δημιουργία απλών ιστοσελίδων.
Βασικά στοιχεία γλώσσας JavaScript
• Βασικοί τελεστές
• Βρόχοι, πίνακες, δομές δεδομένων
• Αντικείμενα
• Εισαγωγή στο DOM
• Χειρισμός εκδηλώσεων
• Μάθημα εργαστηρίου
• Ανώνυμες λειτουργίες, κλεισίματα
Linux. Σταθμός εργασίας
- Οι εφαρμογές Backend Go συχνά αναπτύσσονται σε Linux. Θα εξοικειωθείτε με τις δυνατότητες του Linux και θα μπορέσετε να αναπτυχθείτε πιο αποτελεσματικά.
Εγκατάσταση του λειτουργικού συστήματος Linux
• Προσαρμογή της διεπαφής της γραμμής εντολών
• Διαχείριση χρηστών και ομάδων
• Διαδικασίες, φόρτωση λειτουργικού συστήματος
• Συσκευή συστήματος αρχείων. Αρχείο και κατάλογος
• Εισαγωγή στα σενάρια bash. crontab και σε προγραμματιστές εργασιών
• Διαχείριση πακέτων και αποθετηρίων. Βασικά στοιχεία για την ασφάλεια δικτύου
• Εισαγωγή στο docker
Πηγαίνω. Επίπεδο 1
- Εξοικειωθείτε με τα βασικά εργαλεία και τους κύριους τύπους δεδομένων του Go και μάθετε πώς να δημιουργείτε απλές εφαρμογές κονσόλας.
Χαρακτηριστικά και ιστορία της γλώσσας Go. Εργασία με την παιδική χαρά και τις βασικές αλυσίδες εργαλείων.
• Βασικοί τύποι δεδομένων. Βασικά στοιχεία εργασίας με το υποσύστημα I/O του λειτουργικού συστήματος. Βασικά στοιχεία δόμησης εφαρμογών Go
• Χειριστές και δομές ελέγχου, βασικές λειτουργίες
• Σύνθετοι τύποι δεδομένων: πίνακες, φέτες και χάρτες
• Πολύπλοκοι τύποι δεδομένων: δομές, συναρτήσεις και μέθοδοι
• Σύνθετοι τύποι δεδομένων: δείκτες
• Διεπαφές. Σφάλματα. Βασικά στοιχεία χειρισμού σφαλμάτων
• Βασικά στοιχεία ρύθμισης παραμέτρων εφαρμογής
• Εργασία με το σύστημα αρχείων
• Βασικές αρχές της δοκιμής εφαρμογής Go
• Τελική διαβούλευση για το μάθημα. Απαντήσεις σε ερωτήσεις
Πηγαίνω. Επίπεδο 2
- Εξοικειωθείτε με επιλογές υλοποίησης παράλληλων υπολογιστών σε ανταγωνιστικό μοντέλο, μάθετε πώς να διαχειρίζεστε εξαρτήσεις και γράφετε απλές ασύγχρονες εφαρμογές.
Προηγμένη δημιουργία και χειρισμός σφαλμάτων και εργασία με πανικό. Αναβαλλόμενες κλήσεις συναρτήσεων
• Διασταυρούμενη μεταγλώττιση στο Go and the deeper dive into the toolchain
• Εργασία με εξωτερικές εξαρτήσεις
• Concurrency, part 1. Γορουτίνες και κανάλια
• Concurrency, part 2. Βασικά στοιχεία τύπων δεδομένων από το πακέτο συγχρονισμού
• Concurrency, part 3. Προγραμματισμός ορουτίνας, κατάσταση αγώνα και έλεγχος για την παρουσία του
• Αντανάκλαση και δημιουργία κώδικα στη γλώσσα Go.
• Βασικά στοιχεία εργασίας με την τυπική βιβλιοθήκη Go. Προετοιμασία για το έργο του μαθήματος
Βέλτιστες πρακτικές για την ανάπτυξη εφαρμογών Go
- Εξοικειωθείτε με τις σύγχρονες πρακτικές ανάπτυξης στο Go και μάθετε πώς να τις εφαρμόζετε στα έργα σας. Είναι χρήσιμα για την ανάπτυξη οποιασδήποτε εφαρμογής: από απλά βοηθητικά προγράμματα έως υπηρεσίες υψηλής φόρτωσης.
Χειρισμός σφαλμάτων από υπηρεσίες τρίτων και σήματα λειτουργικού συστήματος
• Καταγραφή
• Προηγμένες πρακτικές δοκιμών
• Διαβούλευση
• Αρχές για τη δόμηση των εφαρμογών Go
• Linters: προηγμένο επίπεδο
• Δημιουργήστε εφαρμογές και αυτοματοποιήστε επαναλαμβανόμενες ενέργειες
Ανάπτυξη backend. Επίπεδο 1
- Μάθετε να αναπτύσσετε εφαρμογές στο Go, να σχεδιάζετε και να υποστηρίζετε το backend τους. Στο τέλος του μαθήματος, δημιουργήστε ένα έργο - μια συντόμευση συνδέσμων.
Βασικά Δικτύωση
• Σχεδίαση HTTP και RESTful API
• Υλοποίηση και δοκιμή HTTP handlers
• Επιλογή δρομολογητή και βιβλιοθηκών. Middleware. Αίτημα περιβάλλοντος.
• Εξάσκηση, μέρος 1. Υλοποίηση διακομιστή
• Εξάσκηση, μέρος 2. Υλοποίηση διαδικτυακής εφαρμογής
• Δυνατότητες dockerization των εφαρμογών Go.
• Δημιουργία και ανάπτυξη της εφαρμογής. CI/CD
Βάση δεδομένων
- Θα μάθετε πώς λειτουργούν οι σχεσιακές βάσεις δεδομένων, θα μπορείτε να δημιουργήσετε τις δικές σας, να τροποποιήσετε τη δομή τους και να διαχειριστείτε δεδομένα χρησιμοποιώντας SQL.
Εισαγωγή στη Θεωρία Σχεσιακών Βάσεων Δεδομένων
• Βασικές έννοιες της δομής της βάσης δεδομένων
• Ορισμός δεδομένων, βασικές λειτουργίες δεδομένων
• Δειγματοληψία δεδομένων, συγκέντρωση δεδομένων
• Ένθετα ερωτήματα και UNION
• ΣΥΜΜΕΤΟΧΗ
• Προηγμένες δυνατότητες SQL
• Λειτουργίες παραθύρου, ευρετήρια, εργασία σε πρόγραμμα-πελάτη γραφικών
Postgres για Go Developers
- Δοκιμάστε τον εαυτό σας ως διαχειριστή βάσης δεδομένων, μάθετε πώς να εργάζεστε με το σύστημα διαχείρισης PostgreSQL και να το εφαρμόζετε στα έργα σας.
Ξεκινώντας με το PostgreSQL: βασικά εργαλεία, σύγκριση με άλλα DBMS
• Εργασία με δομή βάσης δεδομένων, CTE, ανάλυση απαιτήσεων κατά την αναζήτηση δεδομένων
• Ανάλυση εκτέλεσης ερωτημάτων και ευρετηρίαση δεδομένων
• Χρήση PostgreSQL από μια εφαρμογή Go
• Δομή εφαρμογής, δοκιμές, μεταναστεύσεις, ORM
• Επίπεδα απομόνωσης, συγχρονισμός, καθαρισμός, αναπαραγωγή
Παρατηρησιμότητα και βελτιστοποίηση
- Μάθετε πώς να αναλύετε την απόδοση του προγράμματος και να τα βελτιστοποιείτε χρησιμοποιώντας τη δημιουργία προφίλ, την ανίχνευση και την προσωρινή αποθήκευση.
Παρακολούθηση + ειδοποίηση
• Καταγραφή + Διαχείριση σφαλμάτων
• Προφίλ και ανίχνευση
• Βελτιστοποίηση και προσωρινή αποθήκευση
Ανάπτυξη backend. Επίπεδο 2
- Μάθετε να αναπτύσσετε και να διαχειρίζεστε εφαρμογές στο Kubernetes, εξοικειωθείτε με διάφορα πρωτόκολλα API και αρχές σχεδιασμού microservice.
Αρχές αλληλεπίδρασης μεταξύ μικροϋπηρεσιών
• JSON-RPC και gRPC
• GraphQL
• Εκτέλεση εφαρμογών Go στο Kubernetes. Διαμόρφωση Παρακολούθηση. Εντοπισμός σφαλμάτων.
• Σύμπλεγμα Kubernetes
• Ουρές
• Λειτουργικός έλεγχος/BDD
• Go Application Security Basics
Προετοιμασία για μια συνέντευξη προγραμματιστή Go
- Δημιουργήστε ένα ελκυστικό βιογραφικό και προετοιμαστείτε για μια τεχνική συνέντευξη. Μπορείτε να δημιουργήσετε το δικό σας χαρτοφυλάκιο GitHub των έργων σας.
Δημιουργία χαρτοφυλακίου GitHub
• Soft skills ενός προγραμματιστή Go
• Μετάβαση σε τεχνική συνέντευξη
• Διαβούλευση χαρτοφυλακίου
Ομαδική ανάπτυξη έργου microservice
- Θα μάθετε πώς να πραγματοποιείτε ανάπτυξη σε ένα ταχέως μεταβαλλόμενο περιβάλλον: μάθετε να εργάζεστε με μεγάλες εργασίες από πελάτες, να τις αποσυναρμολογείτε σε μέρη και να δίνετε σωστή προτεραιότητα. Εφαρμόστε τις δικές σας μικροϋπηρεσίες στην ομαδική εργασία.
Συνεργαστείτε στο σχεδιασμό υπηρεσιών. RFC και έγγραφα σχεδιασμού
• Πρακτικές συνεργασίας με το Git. Αναθεώρηση κώδικα
• Κοινή δοκιμή και ανάπτυξη υπηρεσιών
• Ευθύνη του προγραμματιστή. Λίστες ελέγχου ετοιμότητας παραγωγής
• Άσκηση εφημερίας. Περιστατικά και νεκροτομές
• Τρεις διαβουλεύσεις για το έργο σας
Σεργκέι Γκοντσάρ
16.07.2022 ΣΟΛ.
Τώρα μελετώ για να γίνω προγραμματιστής Go - συνολικά δεν είναι κακό. Μέχρι στιγμής δεν μετανιώνω που αγόρασα τα μαθήματα τους. Τα προγράμματα είναι ενδιαφέροντα και χρήσιμα, αλλά τα διαδικτυακά σεμινάρια διάρκειας 2 ωρών δεν είναι κάτι πολύ ευχάριστο. Θα προτιμούσα προηχογραφημένα βίντεο 20-30 λεπτών με εργασίες. Μερικές φορές σε ορισμένα μαθήματα μπορεί να νιώσετε μια απότομη αύξηση στη δυσκολία των θεμάτων και των εργασιών. Περνάς τα μαθήματα, κάνεις την εργασία, όλα φαίνονται ξεκάθαρα...