Λένε ότι ο χρόνος περνάει γρήγορα όταν διασκεδάζεις. Για μένα προσωπικά, το κομμάτι της διασκέδασης είναι ιδιαίτερα σημαντικό στην καθημερινή διαδρομή των νεοφυών επιχειρήσεων και της επιχειρηματικής ανάπτυξης. Με κάνει να διασκεδάζω, ανεξάρτητα από το πόσο πολύ από τους εσωτερικούς μου ενεργειακούς πόρους καταναλώνεται από την εβδομαδιαία δουλειά.
(Στο επόμενο επεισόδιο, θα ασχοληθώ με το θέμα του χιούμορ στον εργασιακό χώρο για να το αναλύσω λίγο περισσότερο, απλά και μόνο επειδή μπορώ. "Γιατί τόσο σοβαρός;").
Μιλώντας για χρόνο, έχουν περάσει 2 εβδομάδες από την τελευταία μου δημοσίευση, επομένως ήρθε η ώρα για το 4ο επεισόδιο του #TheCodestReview σειρά.
Κατάλογος των θεμάτων που καλύπτουμε αυτή την εβδομάδα:
- Εγκλωβισμός στο React
- Όλα όσα θέλατε να ξέρετε για την προσωρινή αποθήκευση προβολής στο Rails
- Ο Διευθυντής Μηχανολογίας ως κύριος υπεύθυνος προσλήψεων
Το σχόλιο σχετικά με την προσωρινή αποθήκευση προβολής που παραδόθηκε από τον προγραμματιστή μας και το podcast του διευθυντή μηχανικής σχολιάστηκε από τον ταπεινό μου εαυτό.
Ως ένας ευρέως γνωστός δάσκαλος της εφαρμογής Paint και θαυμαστής των GIF και των μιμιδιών, τα οποία - όπως οι σοκολάτες Merci - λένε περισσότερα από 1000 λέξεις, αποφάσισα ότι από εδώ και στο εξής θα προσθέτω εδώ μια γεύση από αυτά. Και μαντέψτε τι;
Darth Sidious Νομίζεις ότι μπορείς να με σταματήσεις GIF από το Darthsidious GIFs
Την τελευταία φορά αποφασίσαμε να ρίξουμε λίγο φως στο StimulusReflex που τραβάει την προσοχή της κοινότητας της Ruby ως ένα νέο παιδί στο τετράγωνο, που αποτελεί μια εναλλακτική λύση για τη χρήση σύγχρονων Javascript frameworks σε έργα Rails για να αποφύγετε τις υπερβολές.
Βλέπε: StimulusReflex ή αλλιώς ReactiveRails
Για να γίνει μια μάχη με ίσους όρους, ήθελα να αφήσω τον React να ανταποδώσει την επίθεση στον Stimulus. Δεδομένου ότι είμαι επίσης γνωστός άνθρωπος της τιμής, που πάντα κάνω αυτό που λέω και τηρώ τις υποσχέσεις μου, ορίστε:
Στο επόμενο επεισόδιο έχω τη χαρά και τον ενθουσιασμό να σας ανακοινώσω ότι θα έχουμε ένα guest post από τον μηχανικό React από το Vinted.com. Για όσους από εσάς δεν έχετε ακούσει ποτέ για το Vinted (χαμηλές πιθανότητες, αλλά και πάλι πιθανό), το Vinted είναι μια αγορά μόδας που προέρχεται από το Βίλνιους της Λιθουανίας και έφτασε σε αποτίμηση μονόκερου το 2019. Η πλατφόρμα είναι χτισμένη πάνω σε στέρεα θεμέλια Ruby on Rails που υποστηρίζονται από React στο frontend κομμάτι.
Παρενθετική σημείωση: η σύζυγός μου αγαπάει απόλυτα το Vinted και σχεδόν εντελώς σταμάτησε να χρησιμοποιεί το OLX ως πρωταρχικό προορισμό για την αποσυμφόρηση της ντουλάπας μας και την πώληση μεταχειρισμένων ρούχων (ήταν ένας πραγματικός σκληρός οπαδός) = ΤΟ ΚΆΝΕΤΕ ΣΩΣΤΆ!
Έχω την τιμή να καλωσορίσω έναν πρώτο προσκεκλημένο συνεργάτη στη σειρά μας:
Meryl Streep Ναι GIF από το Merylstreep GIFs
Ugnė Kryževičiūtė - Μηχανικός React από την Vinted
Όταν διάβασα τον τίτλο του πρόσφατου podcast της LadyBug ("Getting Hooked On React"), περίμενα ότι θα αφορούσε κυρίως τα άγκιστρα React. Ωστόσο, ενώ δεν καταδύθηκε βαθιά στα Hooks, το podcast παρείχε μια εξαιρετική εισαγωγή στα βασικά της βιβλιοθήκης React για το JavaScript.
Η Ali και η Emma από το podcast LadyBug συζητούν τα μυστικά της React - από τη γενική διάταξη της βιβλιοθήκης και τα πλεονεκτήματά της μέχρι ζωηρές συζητήσεις για τα εξαρτήματα, το χειρισμό δεδομένων ή τον κύκλο ζωής της React, και όλα αυτά παρουσιάζονται με μια πρέζα προσωπικής εμπειρίας. Αξίζει να το ακούσει κάθε προγραμματιστής front-end που δεν είχε την ευκαιρία να δοκιμάσει τα θαύματα της React.
Η πρώτη μου επαφή με το React έγινε πριν από περίπου τρία χρόνια, όταν ξεκίνησα το ταξίδι μου ως προγραμματιστής. Παρόλο που ο Ali και η Emma προτείνουν ότι το React μπορεί να φαίνεται συγκεχυμένο στην αρχή, από τη δική μου εμπειρία, το βρήκα σχετικά εύκολο να ξεκινήσω και ίσως το πιο εύκολο να προχωρήσω σε σύγκριση με άλλα front-end frameworks. Υπάρχουν πολλά σεμινάρια, άρθρα, βιβλιοθήκες ανοιχτού κώδικα και άλλα είδη εκπαιδευτικού υλικού διαθέσιμα παντού. Ωστόσο, θα πρέπει κανείς να έχει επίγνωση της ενεργής ανάπτυξης του React κατά την εξέταση τέτοιων πηγών. Αυτό το επεισόδιο του podcast της LadyBug δεν αποτελεί εξαίρεση - ορισμένες πτυχές και μέθοδοι που αναφέρονται έχουν ήδη καταργηθεί εδώ και αρκετό καιρό. Έτσι, είναι καλύτερο να ακολουθήσετε τη συμβουλή της ίδιας της Emma και να κοιτάξετε την πιο πρόσφατη τεκμηρίωση.
Το React έχει εξελιχθεί και ωριμάσει πολύ, καθιστώντας κωδικός γράφοντας ακόμα πιο εύκολα με τα Hooks, τα οποία σας επιτρέπουν να χρησιμοποιείτε μεθόδους κατάστασης και κύκλου ζωής χωρίς να γράφετε συστατικά κλάσεων. Αλλά για τους αρχάριους - όπως παρατηρεί με ακρίβεια η Ali - η ποικιλία των τρόπων με τους οποίους θα μπορούσατε να γράψετε React (όπως συστατικά κλάσης/λειτουργικά/αγκίστρια) προσθέτει πρόσθετη πολυπλοκότητα, καθώς μερικές φορές μπορεί να είναι δύσκολο να απεικονίσετε τι συμβαίνει. Επίσης, το να πρέπει να αποστάξετε αυτό που χρειάζεστε και να βρείτε σχετικές πληροφορίες σχετικά με την υλοποίηση του κώδικα μπορεί να είναι πρόκληση.
Ως ένα από τα κύρια πλεονεκτήματα του React, ο Ali επισημαίνει ότι βασίζεται σε συστατικά, επιτρέποντας την αρθρωματοποίηση του κώδικα και διευκολύνοντας τη συνεργασία με άλλους προγραμματιστές. Εκτός αυτού, η δυνατότητα χρήσης του JSX είναι ένα σπουδαίο οπτικό βοήθημα κατά την εργασία με το UI στον κώδικα του JavaScript - δεν χρειάζεται να έχετε ξεχωριστά αρχεία HTML!
Ο Ali και η Emma συνοψίζουν επίσης πολύ ωραία την ευελιξία που προσφέρει ένα σύστημα συστατικών στοιχείων. Ένα εξαιρετικό παράδειγμα από την πράξη είναι η εταιρεία μου Vinted, η οποία γνώρισε ταχεία ανάπτυξη όσον αφορά την προϊόν καθώς και το ομάδες ανάπτυξης εργάζονται πάνω σε αυτό τα τελευταία χρόνια. Το React έχει προσφέρει τεράστια οφέλη - μας επέτρεψε να γράψουμε πολύ πιο καθαρό κώδικα, να χρησιμοποιήσουμε επαναχρησιμοποιήσιμα στοιχεία του UI και έκανε τον κώδικά μας πιο εύκολο στη δοκιμή.
Συνολικά, αυτό το επεισόδιο του podcast LadyBug παρέχει μια ζωντανή και γοητευτική συζήτηση σχετικά με τις κύριες πτυχές του React. Το συνιστώ σε όσους ξεκινούν το ταξίδι τους με το React. Γεμάτο αστεία παραδείγματα και αναλογίες με την πραγματική ζωή, το επεισόδιο "αγκιστρώνει" απρόσκοπτα την προσοχή κάθε ακροατή, συμπεριλαμβανομένης και της δικής μου.
Οι προβολές στο Rails δυστυχώς γίνονται όλο και πιο αργές με το πέρασμα του χρόνου. Αυτό οφείλεται στο γεγονός ότι ο όγκος των αντικειμένων που είναι αποθηκευμένα στη βάση δεδομένων αυξάνεται. Αυτό προκαλεί μεγαλύτερους χρόνους ερωτημάτων και φυσικά μεγαλύτερη διάρκεια επεξεργασίας αν κάνετε κάτι με κάθε ένα από τα αντικείμενα. Όταν συμβαίνει αυτό δεν μένετε χωρίς καμία ελπίδα καθώς υπάρχει η προσωρινή αποθήκευση των προβολών Rails.
Χάρη σ' αυτό μπορείτε να εξοικονομήσετε αρκετό χρόνο φορτώνοντας δεδομένα με μεγάλο βάρος στη βάση δεδομένων από την κρυφή μνήμη (φορτώνοντας ένα μόνο αποθηκευμένο αρχείο τύπου html αντί να κάνετε αναζήτηση στη βάση δεδομένων και να επεξεργάζεστε αντικείμενα). Μπορείτε επίσης να το κάνετε λιγότερο δαπανηρό στην περίπτωση διαφορετικών μερικών στοιχείων και αντικειμένων - φυσικά εάν τα αντικείμενα δεν αλλάζουν πολύ συχνά. Μπορείτε επίσης να προσπαθήσετε να διατηρήσετε τα αποθηκευμένα στην προσωρινή μνήμη αντικείμενα σε ξεχωριστά μέρη - και να γλιτώσετε π.χ. 19 από τις 20 αναρτήσεις που εμφανίζονται (ενδεχομένως με πολλά πεδία).
Από προεπιλογή, η προσωρινή αποθήκευση Rails χρησιμοποιεί το file_store και διατηρεί τα αποθηκευμένα δεδομένα στους φακέλους. Αλλά δεν διαγράφει τις παλιές καταχωρήσεις της κρυφής μνήμης (οι οποίες μπορεί να έχουν λήξει εδώ και πολύ καιρό). Αυτό μπορεί να οδηγήσει σε υπερχείλιση του ποσού των αρχείων ή ακόμα και σε εξάντληση του ελεύθερου χώρου σε έναν διακομιστή. Η άλλη μέθοδος είναι η memory_store, η οποία έχει επίσης κάποια μειονεκτήματα (καθώς η προσωρινή μνήμη cache διατηρείται σε έναν μόνο διακομιστή). Μπορεί επίσης να υπερβεί το ποσό της μνήμης RAM που διατηρείται στον διακομιστή (ή την έλλειψη προσωρινής μνήμης αν θα διαγράφεται συνεχώς). Γι' αυτό το λόγο ο καλύτερος μηχανισμός προσωρινής αποθήκευσης υψηλής κλίμακας είναι η μέθοδος Memcached/Redis. Αυτό σας δίνει την ευκαιρία να χρησιμοποιήσετε ένα ξεχωριστό μηχάνημα που διατηρεί την κρυφή μνήμη που μπορεί να χρησιμοποιηθεί από όλους τους διακομιστές. Χάρη σε αυτό δεν θα υπάρχει πρόβλημα με την έλλειψη προσωρινής μνήμης cache ή με το φινίρισμα του χώρου στο δίσκο ενός διακομιστή.
Η κρυφή μνήμη στο Rails διατηρείται με βάση ένα αναγνωριστικό - το οποίο μπορεί να δοθεί αμέσως ως συμβολοσειρά ή να δημιουργηθεί αυτόματα όταν περνάτε ένα αντικείμενο στη συνάρτηση κρυφής μνήμης. Στην περίπτωση των αντικειμένων είναι συνήθως το χαρακτηριστικό updated_at. Μπορείτε επίσης να δώσετε ένα στατικό κλειδί από παραμέτρους αντικειμένων.
Μια διαφορετική μέθοδος προσωρινής αποθήκευσης είναι η χρήση Javascript για την ενημέρωση ενός πεδίου που αλλάζει μία φορά την ημέρα. Με αυτόν τον τρόπο μπορείτε να έχετε μια έγκυρη ημερομηνία που εμφανίζεται συνεχώς, χωρίς να ανανεώνετε τον ιστότοπο - ο οποίος μπορεί να είναι αρκετά μεγάλος ή αργός στην εκτέλεση.
Για να μην σας χαλάσω πολύ, η συζήτηση στο πάνελ που καλύπτει το θέμα του ρόλου του διευθυντή μηχανολογίας στη διαδικασία πρόσληψης είναι εξαιρετικά πολύτιμη για όλους εσάς που αναρωτιέστε πότε είναι η κατάλληλη στιγμή για τον τεχνολογικό ηγέτη να μπει στον κύκλο των συνεντεύξεων. Στο Codest, κάνουμε πράξη αυτό που κηρύττουν οι ομιλητές και το δικό μας CTO είναι το 1ο σημείο επαφής με τους μηχανικούς που υποβάλλουν αίτηση σε εμάς, ενώ στο επόμενο στάδιο οι συνεντεύξεις πραγματοποιούνται από τους ομάδα διευθυντές με τους οποίους θα συνεργάζονται στενά οι δυνητικοί νέοι υπάλληλοι. Μερικές συμβουλές που μπορείτε να εφαρμόσετε άμεσα για να αναβαθμίσετε το παιχνίδι των προσλήψεων ως διευθυντής μηχανικών:
-
Επανεξετάστε τη διαδικασία και βεβαιωθείτε ότι θα ενταχθείτε στη ροή όσο το δυνατόν νωρίτερα, ιδανικά ως το 1ο σημείο επαφής για τους υποψηφίους, καθώς οι πρώτες εντυπώσεις παίζουν καθοριστικό ρόλο στο πώς βλέπουν την εταιρεία σας τα κορυφαία ταλέντα.
-
Επικοινωνήστε με ιδιαίτερα αποτελεσματικούς υπεύθυνους προσλήψεων στον οργανισμό σας (ίσως αυτόν που σας προσέλαβε τις προηγούμενες ημέρες) και ρωτήστε αν μπορείτε να παρακολουθήσετε κάποιες από τις προγραμματισμένες συνεντεύξεις τους, να ελέγξετε τις τεχνικές τους, να ζητήσετε συμβουλές. Παρακολουθήστε και μάθετε. Μπαίνετε σε κάθε συνέντευξη με γνήσια περιέργεια για τους υποψηφίους.
-
Ψάξτε για δυνατότητες και προσλάβετε για δυνατότητες και ικανότητα γρήγορης ανάπτυξης.
-
Συζητήστε τις αγγελίες εργασίας σας με όλους τους μηχανικούς σας και ρωτήστε τους αν θα έκαναν αίτηση για τη θέση εργασίας. Αν όχι, ρωτήστε τι είναι αυτό που δεν τους αρέσει και εφαρμόστε τα σχόλιά τους στην αγγελία εργασίας 2.0 που πρόκειται να προωθήσετε στους πίνακες ευρέσεως εργασίας.
-
Δείτε την 1η συνέντευξη ως μια ευκαιρία να δημιουργήσετε μια εξαιρετική σχέση με τους πιθανούς μελλοντικούς συναδέλφους σας.
Σας ενθαρρύνω να παρακολουθήσετε ολόκληρο το πάνελ βίντεο, αλλά αν σας αρέσουν τα podcasts και θέλετε να τα ακούτε ενώ οδηγείτε, γυμνάζεστε ή πλένετε τα πιάτα, εδώ έχετε επίσης ένα Spotify σύνδεσμος.
Ευχαριστώ πολύ για την ανάγνωση και αν έχετε φτάσει μέχρι εδώ, εκτιμώ το χρόνο σας και κάθε σχόλιο (είτε είναι καλό είτε με απορρίπτει) είναι περισσότερο από ευπρόσδεκτο στο LinkedIn ή στο email.
Επιστρέφοντας σε σας με το επόμενο επεισόδιο σύντομα (περίπου)!
Yippie IWill See You Soon Dancing GIF από το Yippieiwillseeyousoon GIFs
Διαβάστε περισσότερα:
TheCodestReview #3 - εβδομαδιαίος χυμός μηχανικής λογισμικού
TheCodestReview #2 - εβδομαδιαίος χυμός μηχανικής λογισμικού
TheCodestReview #1 - εβδομαδιαίος χυμός μηχανικής λογισμικού