Τα μαθήματα Todo μπορεί να είναι διασκεδαστικά - αλλά εδώ μπορείτε να δημιουργήσετε τα δικά σας έργα από το μηδέν

Υπάρχουν πολλά σπουδαία μαθήματα που σας καθοδηγούν στη δημιουργία εφαρμογών, από απλές λίστες εκκρεμών εργασιών έως πλήρως λειτουργικές εφαρμογές ιστού. Αλλά πώς ξεκινάτε τα δικά σας έργα από το μηδέν; Χωρίς το δίχτυ ασφαλείας ενός σεμιναρίου, μπορεί να αισθανθείτε λίγο χαμένοι από το τι να χτίσετε ή ακόμα και πώς να ξεκινήσετε.

Αυτά είναι τα βήματα που ακολούθησα που με βοήθησαν να δημιουργήσω τα δικά μου έργα όταν ήμουν νέος προγραμματιστής - και επίσης με έκαναν τις δεξιότητες που χρειαζόμουν για να γίνω επικεφαλής ομάδας λογισμικού. Αλλά πρώτα…

Γιατί να δημιουργήσω τα δικά μου έργα όταν μπορώ να παρακολουθήσω μαθήματα;

Καλή ερώτηση, περίεργος αναγνώστης! Τα σεμινάρια είναι εξαιρετικά έως ένα σημείο, αλλά η δημιουργία των δικών σας έργων προσφέρει πάρα πολλά άλλα οφέλη:

Σας κάνει να σκεφτείτε

Όταν κάθεστε και ξεκινάτε το δικό σας έργο, υπάρχουν πολλά πράγματα που πρέπει να σκεφτείτε.

  • Πώς ξεκινώ;
  • Πώς θα μοιάζει;
  • Τι τεχνολογίες χρειάζομαι;

Και άλλα πράγματα όπως αυτό (θα μιλήσουμε για το πώς να ξεκινήσετε σε ένα λεπτό). Αυτό ακριβώς θα συνεπάγεται η δουλειά σας ως προγραμματιστής - σχεδιασμός μιας λύσης και προβολή της μέχρι το τέλος. Η δημιουργία των δικών σας έργων σας επιτρέπει να εξασκήσετε αυτές τις δεξιότητες και θα σας προετοιμάσει για την αρχή της καριέρας σας.

Θα συναντήσετε προβλήματα που δεν ξέρατε ότι υπήρχαν

Συχνά όταν ακολουθείτε ένα σεμινάριο, εκτίθεστε στο χαρούμενο μονοπάτι - το οποίο είναι βασικά.

«Εντάξει χτίζουμε ένα πράγμα, εδώ είναι τα βήματα για να λειτουργήσει το πράγμα, λειτουργεί! Χέρεϊ! Το τέλος"

Ποιο είναι υπέροχο αν μαθαίνετε μια νέα τεχνολογία - επιπλέον θα ήταν ένα πολύ φοβερό σεμινάριο εάν το πράγμα που χτίζετε δεν λειτουργούσε στο τέλος.

Δυστυχώς, οι ζωές του web developer δεν είναι τόσο απλές. Όταν γράφετε κώδικα, θα αντιμετωπίσετε κάποια ζητήματα κάποια στιγμή. Απλούστατο.

Δημιουργώντας τα δικά σας έργα, θα αντιμετωπίσετε φυσικά προβλήματα και σας δίνει την ευκαιρία να εξασκηθείτε να τα ξεπεράσετε. Αυτό που κάνουν οι προγραμματιστές κάθε μέρα και εξασκούνται θα το κάνουν πολύ πιο εύκολο.

Είναι διασκεδαστικό και θα μάθετε πάντα κάτι

Είμαστε τυχεροί, εμείς προγραμματιστές. Μπορούμε να καθίσουμε σε ένα φορητό υπολογιστή και να φτιάξουμε ό, τι θέλουμε, χρησιμοποιώντας όποια τεχνολογία θέλουμε. Μπορούμε επίσης να το κάνουμε περισσότερο ή λιγότερο δωρεάν. Αμφιβάλλω ότι ο μηχανικός του Bill the Aerospace θα λάβει μια καλή απάντηση από το αφεντικό του εάν ρωτούσε, «να δανειστεί το Boeing 747 για το Σαββατοκύριακο επειδή θέλει να δοκιμάσει έναν νέο κινητήρα τζετ που έκανε στο σπίτι του».

Είναι διασκεδαστικό να φτιάξετε τα δικά σας έργα. Κάτι που μπορείτε να χρησιμοποιήσετε, να επιδείξετε σε φίλους και συγγενείς ή να μάθετε από. Και είναι ένα αρκετά ασφαλές χόμπι. Μπορεί να λειτουργήσει, ίσως όχι. Μπορεί να σας αρέσει, μπορεί να το κάνετε. Αλλά δεν είναι μεγάλη υπόθεση, απλώς ρίξτε τα αρχεία του έργου στον εικονικό κάδο απορριμμάτων και ξεκινήστε ξανά. Ανετα!

Προς τα καλά πράγματα…

Εντάξει! Τώρα είμαστε ευτυχείς που η δημιουργία του δικού μας έργου είναι ένας πολύ καλός τρόπος για να μάθουμε και να διασκεδάσουμε. Ας δούμε πώς να ξεκινήσετε να δημιουργείτε τα δικά σας έργα.

Αναπτύξτε τα προγράμματα εκμάθησης

Υπάρχει κάτι εκφοβιστικό για την έναρξη ενός ολοκαίνουργιου έργου. Θα καθίσετε σε ένα νέο αρχείο και θα σκεφτείτε, "τι πρέπει να κάνω πρώτα;" Ο καλύτερος τρόπος για να ξεκινήσετε να δημιουργείτε τα δικά σας έργα είναι να βασιστείτε στις υπάρχουσες εκπαιδευτικές εφαρμογές και ασκήσεις κωδικοποίησης. Αυτό σας δίνει λίγο προβάδισμα, αντί να ξεκινάτε από μια κενή πλάκα.

Έτσι, εάν έχετε ολοκληρώσει ένα σεμινάριο εφαρμογών todo (αν δεν το έχετε κάνει, πού ήσασταν ;!), θα μπορούσατε να το αναπτύξετε με όποιον τρόπο θέλετε. Για παράδειγμα, θα μπορούσατε:

  • Επιτρέψτε την αποθήκευση της λίστας εκκρεμών εργασιών (σε μια βάση δεδομένων, localStorage κ.λπ.), ώστε ο χρήστης να μπορεί να την επιστρέψει αργότερα
  • Δώστε στον χρήστη κάποιες επιλογές προσαρμογής (αλλάξτε το χρώμα των στοιχείων που πρέπει να κάνετε)
  • Προσθέστε δυνατότητα σύνδεσης

Παίρνετε την ιδέα - βασικά, χρησιμοποιήστε τη φαντασία σας! Οι δυνατότητες είναι ατελείωτες, οπότε ρίξτε προσοχή στον άνεμο και χτίστε ό, τι θέλετε!

Δημιουργήστε πράγματα που θα χρησιμοποιήσετε

Ο καθένας έχει τις δικές του ιδέες για μια εφαρμογή ιστού. Χρησιμοποιήστε τις νέες σας ικανότητες ανάπτυξης ιστού για να δημιουργήσετε τις δικές σας! Γράψτε μερικές ιδέες για μια εφαρμογή που είχατε τα χρόνια, ειδικά αυτές που θα χρησιμοποιούσατε πραγματικά. Δεν πρέπει να είναι μια πολύ περίπλοκη εφαρμογή και μπορεί να είναι τόσο απλή όσο μια λίστα υποχρεώσεων.

Δημιουργώντας μια εφαρμογή που θα χρησιμοποιήσετε, θα σας κρατήσει αρκετά ενδιαφερόμενο για να δείτε το έργο μέχρι την ολοκλήρωσή του. Επίσης, χρησιμοποιώντας την εφαρμογή μόλις τελειώσει, φυσικά θα βρείτε τρόπους για να την βελτιώσετε, κάτι που σας δίνει ένα άλλο έργο για ολοκλήρωση - και τον κύκλο των (κωδικοποίησης) επαναλήψεων της ζωής!

Μια άλλη παρόμοια προσέγγιση, είναι να αναπαραγάγετε μια δημοφιλή εφαρμογή που χρησιμοποιείτε. Δεν χρειάζεται να μπείτε στο ίδιο επίπεδο λεπτομέρειας με την εφαρμογή που αναπαράγετε, αλλά δείτε αν μπορείτε να λειτουργήσετε τη βασική λειτουργικότητα. Για παράδειγμα:

  • Χρησιμοποιήστε το GitHub API για να δημιουργήσετε τον δικό σας πίνακα ελέγχου GitHub
  • Χρησιμοποιήστε το API Twitter και δημιουργήστε τη δική σας ροή Twitter
  • Μια εφαρμογή ιστού που σας επιτρέπει να διαχειρίζεστε τον προϋπολογισμό σας

Ξεκινήστε το μικρό

Ένας σίγουρος τρόπος για να ξεφορτωθείτε όταν ξεκινάτε τα δικά σας έργα είναι να βγείτε έξω και να προσπαθήσετε να δημιουργήσετε τεράστια έργα. Ενώ η φιλοδοξία είναι καλή, μπορεί να βρεθείτε κολλημένοι και απογοητευμένοι από την πρόοδό σας.

Ξεκινήστε το μικρό για τα πρώτα σας έργα. Αντί να φτιάξετε μια πλήρως επιστημονική αριθμομηχανή, δημιουργήστε μια βασική που θα κάνει απλές προσθήκες και αφαιρέσεις, για παράδειγμα. Στη συνέχεια, καθώς γίνεστε πιο άνετοι, προσθέστε νέες δυνατότητες. Πριν το καταλάβετε, το μικρό σας έργο θα έχει μετατραπεί σε μια ολοκληρωμένη εφαρμογή.

Αυτό σας δίνει επίσης το πρόσθετο πλεονέκτημα της εξάσκησης του τρόπου κατασκευής του λογισμικού στον πραγματικό κόσμο. Μικρές δυνατότητες συχνά θα αναπτυχθούν, θα δοκιμαστούν και θα αναπτυχθούν σε βήματα. Αυτό ονομάζεται συνήθως Agile Development (έχετε ένα αδιάκριτο στο freeCodeCamp.orgγια περισσότερες πληροφορίες σχετικά με αυτό).

Έχετε έναν στόχο στο μυαλό σας

Υπάρχει ένα δημοφιλές απόσπασμα του Λεονάρντο ντα Βίντσι:

Η τέχνη δεν τελειώνει ποτέ, εγκαταλείπεται μόνο.

Το ίδιο μπορεί να ειπωθεί και για λογισμικό. Αφού ξεκινήσετε το δικό σας έργο, μπορεί συχνά να είναι δύσκολο να γνωρίζετε πότε να συνεχίσετε και πότε να σταματήσετε και να προχωρήσετε στο επόμενο. Εάν ξεκινήσετε με έναν στόχο στο μυαλό, θα σας δώσει κάτι να στοχεύσετε, σε αντίθεση με το να αισθάνεστε σαν να περιπλανηθείτε άσκοπα στην έρημο.

Τι εννοώ λοιπόν από έναν στόχο; Ένας στόχος υπό αυτήν την έννοια είναι βασικά αυτό που θέλετε να επιτύχετε με το έργο σας. Αντί απλώς να στοχεύσετε στη δημιουργία ενός πίνακα εργαλείων GitHub, θα μπορούσατε να πείτε:

"Πρόκειται να δημιουργήσω έναν πίνακα ελέγχου που δείχνει πόσες δεσμεύσεις έχω κάνει στα αποθετήρια μου τον περασμένο μήνα."

Αυτό σας δίνει μια σαφή κατεύθυνση για να εργαστείτε. Μόλις επιτύχετε αυτόν τον στόχο, θα μπορούσατε να προσθέσετε περισσότερες δυνατότητες ή να μεταβείτε σε άλλο έργο. Ένας στόχος μπορεί να είναι οτιδήποτε θέλετε:

  • «Θέλω να μάθω πώς να γράφω καθαρό κώδικα»
  • «Θέλω να μάθω CSS Grid»
  • "Θέλω να μπορώ να καλέσω ένα API χρησιμοποιώντας το React"
  • «Θέλω να μάθω πώς να γράφω τεστ στο Python»

ΣΥΜΒΟΥΛΗ BONUS - θυμηθείτε να βάλετε τα πάντα στο δικό σας αποθετήριο GitHub και να δηλώσετε τον στόχο στην περιγραφή (θα πρέπει επίσης να βάλετε έργα στο βιογραφικό σας / Βιογραφικό!). Αυτό θα δείξει στους εργοδότες ότι είστε παθιασμένοι με τη μάθηση, και θα είναι επίσης καλό κίνητρο για τον εαυτό σας όταν κοιτάτε πίσω σε παλιά έργα!

Παραδείγματα έργων για δοκιμή

Ακολουθούν ορισμένα παραδείγματα έργων για να ξεκινήσει η δημιουργική ροή σας.

(Γρήγορη σημείωση: Θα δημιουργήσω αυτά τα έργα μόνοι μου, μαζί με άρθρα για το πώς έκανα το καθένα, πώς / γιατί πήρα τις αποφάσεις που έκανα και τη γενική μου διαδικασία σκέψης. Επίσης, καθώς και ολοκληρωμένος κώδικας. Βεβαιωθείτε ότι εγγραφείτε στο ιστολόγιό μου για να ενημερωθείτε όταν αυτά τα άρθρα είναι διαθέσιμα!)

Εφαρμογή ιστού αριθμομηχανής

Δημιουργήστε μια αριθμομηχανή που επιτρέπει στο χρήστη να εκτελεί βασικές λειτουργίες: Προσθήκη, αφαίρεση, πολλαπλασιασμός και διαίρεση. Όταν φτάσετε τόσο μακριά, μπορείτε να το αναπτύξετε:

  • Προσθέστε περισσότερους επιστημονικούς υπολογισμούς (μέτρο κ.λπ.)
  • Βελτιώστε τη διεπαφή χρήστη (ΥΠΟΔΕΙΞΗ: Το CSS Grid θα είναι ο φίλος σας εδώ)
  • Δημιουργήστε τη λειτουργία "αναίρεση" (ΥΠΟΔΕΙΞΗ: το σεμινάριο αντίδρασης έχει ένα καλό παράδειγμα αυτού)

Πίνακας ελέγχου GitHub

Χρησιμοποιήστε το GitHub API για να δημιουργήσετε τον δικό σας πίνακα ελέγχου. Αυτός ο πίνακας εργαλείων μπορεί να είναι οτιδήποτε θέλετε. Ένα πιθανό σημείο εκκίνησης θα ήταν να εμφανίσετε πληροφορίες σχετικά με τον δικό σας λογαριασμό GitHub.

  • Σύνολο δεσμεύσεων τον τελευταίο μήνα
  • Συνολικός αριθμός αποθετηρίων
  • Εμφανίζει την πιο χρησιμοποιημένη / αγαπημένη σας γλώσσα

ΣΥΜΒΟΥΛΗ: Ακόμα κι αν πρόκειται για ένα πρόγραμμα πελάτη, θα πρέπει να αλληλεπιδράσετε με ένα API. Χρησιμοποιήστε τον Ταχυδρόμο ή παρόμοιο για να αποκτήσετε μια αίσθηση για το πώς λειτουργεί το API, τον τρόπο ελέγχου ταυτότητας αιτημάτων και άλλων πραγμάτων.

Μια εφαρμογή κουίζ

Δημιουργήστε μια εφαρμογή κουίζ που εμφανίζει τυχαία μια ερώτηση με πολλαπλές επιλογές απαντήσεων στον χρήστη. Εάν ο χρήστης πάρει τη σωστή απάντηση, εμφανίστε ένα "hurray!" μήνυμα, ενημερώστε τη βαθμολογία τους, παίρνετε την ιδέα. Μου αρέσει αυτή η εφαρμογή, καθώς οι δυνατότητες είναι ατελείωτες όσον αφορά την επέκτασή της:

  • Προσθήκη κατηγοριών
  • Προσθέστε υψηλές βαθμολογίες
  • Προσθέστε μια αντίστροφη μέτρηση
  • Να επιτρέπονται πολλοί παίκτες (ΥΠΟΔΕΙΞΗ: Θα μπορούσατε να προχωρήσετε πραγματικά και να χρησιμοποιήσετε το Socket.io για να επιτρέψετε το διαδικτυακό παιχνίδι!)

ΥΠΟΔΕΙΞΗ: Θυμηθείτε να μην υπερβείτε την αρχή! Ορίστε τον στόχο σας για το αρχικό έργο και φτάστε πρώτα σε αυτό το σημείο. Στη συνέχεια, δείτε εάν θέλετε να προσθέσετε περισσότερα πράγματα ή να μετακινηθείτε σε κάτι άλλο.

Μια εφαρμογή καιρού σε πραγματικό χρόνο

Χρησιμοποιήστε κάτι όπως το Open Weather Map για να δημιουργήσετε μια εφαρμογή που εμφανίζει τον πιο πρόσφατο καιρό για μια συγκεκριμένη τοποθεσία σε πραγματικό χρόνο.

ΥΠΟΔΕΙΞΗ: Προσπαθήστε να μην αναβάλλετε τον όρο σε πραγματικό χρόνο. Στο απλούστερο επίπεδο, αυτό θα μπορούσε να γράφει κάποια λογική που καλεί το api κάθε 5 δευτερόλεπτα και εμφανίζει τα δεδομένα.

Όλοι γνωρίζουμε πώς λειτουργούν τα καλάθια αγορών, αλλά μπορείτε να δημιουργήσετε ένα; Εμφανίστε μια λίστα προϊόντων στον χρήστη και αφήστε τον να το προσθέσει στο καλάθι του. Ως σημείο εκκίνησης, θα μπορούσατε να δημιουργήσετε λειτουργικότητα που:

  • Ας προσθέσουμε ένα στοιχείο από τη σελίδα του προϊόντος στο καλάθι αγορών του
  • Εμφανίζει τα αντικείμενα στο καλάθι
  • Εμφάνιση είναι το συνολικό κόστος των αντικειμένων στο καλάθι

ΣΥΜΒΟΥΛΗ - Μπορείτε απλά να κωδικοποιήσετε τα προϊόντα που εμφανίζονται στη σελίδα του προϊόντος ως πρώτο βήμα για να ξεκινήσετε.

Περισσότερα έργα!

Εάν ψάχνετε να πάρετε τα χέρια σας σε περισσότερα έργα, ρίξτε μια ματιά σε αυτό το repo του GitHub. Υπάρχουν έργα για διαφορετικά επίπεδα που θα σας κρατήσουν απασχολημένους για λίγο!

Ευχαριστώ για την ανάγνωση!

Για να λάβετε τους πιο πρόσφατους οδηγούς, συμβουλές και μαθήματα για νέους προγραμματιστές απευθείας στα εισερχόμενά σας (καθώς και ορισμένα αποκλειστικά πράγματα!), Φροντίστε να εγγραφείτε στη λίστα αλληλογραφίας στη διεύθυνση www.chrisblakely.dev!

Αρχικά δημοσιεύτηκε στο www.chrisblakely.dev στις 7 Απριλίου 2019.