Ξεκινήστε να μαθαίνετε προγραμματισμό Ιστού. Προγραμματισμός από την αρχή: από πού να ξεκινήσω; Πώς να ξεκινήσετε να μαθαίνετε προγραμματισμό από την αρχή στην Java

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

Το κείμενο ετοιμάστηκε με βάση ένα διαδικτυακό σεμινάριο με τη συμμετοχή του Mikhail Ovchinnikov από το Badoo.

Ηχογράφηση του διαδικτυακού σεμιναρίου

Εξοικονόμηση χρόνου

Κατάσταση της αγοράς

Λαμβάνοντας υπόψη τη συνολική εικόνα της αγοράς, μπορούμε να επισημάνουμε τους πιο δημοφιλείς τομείς στον τομέα της πληροφορικής:

1. Το Frontend είναι ο πιο δυνατός και ταχύτερα αναπτυσσόμενος κλάδος στον οποίο οι τάσεις αλλάζουν συνεχώς. Βασίζεται στη γλώσσα προγραμματισμού JavaScript και στα πλαίσια της όπως Angular.js, React.js, Vue.js και άλλα, καθώς και στα φύλλα στυλ γλώσσας σήμανσης υπερκειμένου HTML και CSS.

2. Ανάπτυξη Ιστού, συγκεκριμένα ανάπτυξη backend χρησιμοποιώντας διάφορες γλώσσες, για παράδειγμα, PHP, Ruby και Python.

3. Android/iOS-ανάπτυξη - ανάπτυξη για φορητές συσκευές σε Java, Swift, Objective-C, C# (Xamarin), JavaScript (React Native) και άλλα.

4. .NET-ανάπτυξη - ανάπτυξη εφαρμογών επιτραπέζιου υπολογιστή για το λειτουργικό σύστημα Windows σε C#, και προγραμμάτων διακομιστή, συμπεριλαμβανομένων ιστοτόπων, με χρήση τεχνολογίας ASP.NET.

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

6. Ανάπτυξη παιχνιδιών - ανάπτυξη παιχνιδιών για διάφορες πλατφόρμες.

7. UI/UX - σχεδιασμός διεπαφής χρήστη.

8. QA - διασφάλιση και δοκιμή ποιότητας λογισμικού.

9. Ενσωματωμένη ανάπτυξη - ανάπτυξη λογισμικού για υλικό: αυτοκίνητα, οικιακές συσκευές και διάφορες συσκευές που χρησιμοποιούν γλώσσες χαμηλού επιπέδου όπως C και C++ με ένθετα assembler του αντίστοιχου επεξεργαστή.

Γιατί να πάτε στον Ιστό

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

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

Επομένως, εάν είστε νέοι, γεμάτοι ενέργεια, έχετε αίσθηση της γεύσης, ακόμα και αγαπάτε τον προγραμματισμό, η ανάπτυξη ιστού είναι για εσάς.

Πόσα κερδίζει ένας προγραμματιστής ιστού;

Εξετάζοντας τους ιστότοπους αναζήτησης εργασίας, μπορείτε να δείτε το πλήρες φάσμα των μισθών προγραμματιστών ιστού. Ένας αρχάριος με λιγότερο από έξι μήνες εμπειρίας μπορεί να κερδίσει από 30.000 έως 60.000 ρούβλια. Ένας μέσος ειδικός με καλή εμπειρία λαμβάνει 80.000–150.000 ρούβλια. Το εισόδημα ενός επαγγελματία είναι 150.000–250.000 ρούβλια. Επιπλέον, πολλά εξαρτώνται από τη χώρα, την περιοχή, τη γλώσσα που θα επιλεγεί και την εταιρεία που προσφέρει την κενή θέση.

Μισθοί προγραμματιστών Frontend από την υπηρεσία μισθών της εταιρείας "My Circle" στον ιστότοπο habrahabr.ru (τέλη 2017)

Τι πρέπει να γνωρίζει ένας προγραμματιστής ιστού

Υπάρχουν πολλές φήμες και στερεότυπα σχετικά με την ανάπτυξη και τον προγραμματισμό ιστού. Θα μιλήσουμε και για αυτούς.

Τι δεν χρειάζεται ένας προγραμματιστής ιστού:
  • Γνωρίστε μαθηματικά - οι περισσότεροι προγραμματιστές που δημιουργούν επαγγελματικά ιστότοπους και υπηρεσίες web έχουν αρκετές γνώσεις στο επίπεδο της 5ης τάξης.
  • Να έχει βαθιά γνώση της αγγλικής γλώσσας. Πενήντα λέξεις μπορεί να είναι αρκετές.
  • Μελετήστε για αρκετά χρόνια και αποφοιτήστε από το κολέγιο για να κατακτήσετε τη βασική ανάπτυξη Ιστού. Στην πραγματικότητα, το mastering θα χρειαστεί δύο έως τρεις μήνες εκπαίδευσης.
  • Τι θα χρειαστείτε για ένα επιτυχημένο ξεκίνημα:
  • Μελετήστε τις βασικές τεχνολογίες δημιουργίας ιστότοπου - HTML και CSS - και κατανοήστε τις αρχές κατασκευής μιας δομής ιστότοπου. Αυτό θα διαρκέσει αρκετές εβδομάδες.
  • Βασικές σχετικές τεχνολογίες: επεξεργαστές κώδικα ή IDE (ενσωματωμένα περιβάλλοντα ανάπτυξης), για παράδειγμα Notepad++, Sublime Text, Brackets, WebStorm, PHPStorm. Αυτά τα εργαλεία θα επιταχύνουν σημαντικά τη διαδικασία ανάπτυξης.
  • Γνωρίστε την ύπαρξη πλαισίων και έτοιμων λύσεων που απλοποιούν και βελτιώνουν τον κώδικα. Για παράδειγμα, για έναν προγραμματιστή frontend, αυτό είναι το πλαίσιο διάταξης Bootstrap, η βιβλιοθήκη γλώσσας JavaScript - JQuery, με την οποία έχουν γραφτεί πολλές άλλες χρήσιμες και απαραίτητες βιβλιοθήκες και το Simfony - ένα πλαίσιο PHP γενικής χρήσης που διευκολύνει την αλληλεπίδραση με τη βάση δεδομένων και την HTML εργασίες δημιουργίας κώδικα και εργασίες αποδοχής δεδομένων από το αίτημα.
  • Εξίσου σημαντική είναι η ικανότητα σωστής σύνταξης ερωτημάτων αναζήτησης και χρήσης υψηλής ποιότητας και αποδεδειγμένων πηγών πληροφοριών.
  • Δομή ιστοσελίδας

    Αρχικά, ας μάθουμε τι είναι ένας ιστότοπος και από τι αποτελείται.

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

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

    Δομή καταλόγου ιστότοπου

    Όταν εισάγουμε μια διεύθυνση, για παράδειγμα, yandex.ru, στη γραμμή διευθύνσεων του προγράμματος περιήγησης, το πρόγραμμα περιήγησης επικοινωνεί με τον διακομιστή του αντίστοιχου ιστότοπου. Εδώ ξεκινά η αλληλεπίδραση με οποιαδήποτε σελίδα στο Διαδίκτυο.

    Σε απάντηση σε αυτό το αίτημα, οι τεχνολογίες υποστήριξης, για παράδειγμα, PHP και MySQL, αρχίζουν να εργάζονται στον διακομιστή yandex.ru. Κάνουν τη «μαγεία του διακομιστή» τους και ως απάντηση στο αίτημα «δείξε μου την αρχική σελίδα» επιστρέφουν την επιθυμητή σελίδα στο πρόγραμμα περιήγησης με τη μορφή κώδικα HTML, CSS και JavaScript. Το πρόγραμμα περιήγησης είναι σε θέση να αναγνωρίσει αυτόν τον κωδικό και, ως αποτέλεσμα, εμφανίζει ένα όμορφο, λειτουργικό "Home" στο παράθυρό του.

    Πόροι και εργαλεία ανάπτυξης Ιστού

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

    HTML και CSS:
    • htmlbook.ru - ένα σεμινάριο για το HTML4, καθώς και μια εισαγωγή στο HTML5, ένα σεμινάριο για το CSS, μια εισαγωγή στο CSS3.
    • htmlacademy.ru - διαδραστικό μάθημα για HTML5, βασικά CSS, πολλά δωρεάν μαθήματα.
    • webref.ru - Οδηγός HTML, βασικά στοιχεία CSS, μοντέλο μπλοκ CSS, κείμενο σε CSS, τοποθέτηση σε CSS, προηγμένο CSS.
    • "Diving into HTML5" του Mark Pilgrim.
    JavaScript:
    • Learn.javascript.ru - το πιο σύγχρονο σεμινάριο JavaScript.
    • Ντέιβιντ Φλάναγκαν.

    Αφού καταλάβετε αυτές τις τεχνολογίες, συνιστάται να μάθετε επίσης το JQuery, την πιο δημοφιλή βιβλιοθήκη JavaScript. Στο μέλλον, αξίζει να εξοικειωθείτε με χρήσιμες βιβλιοθήκες όπως η Slick, η Owl Carousel, η Magnific Popup, η Velosity.js, η Tree.js και άλλες.

    Για να επιταχύνετε τη σύνταξη κώδικα και να εργαστείτε εύκολα μαζί του, συνιστούμε τη χρήση προγραμμάτων επεξεργασίας κειμένου όπως το Sublime Text με την προσθήκη Emmet, το πρόγραμμα επεξεργασίας Notepad++, τα Brackets, το IDE WEBStorm, το PHPStorm και άλλα χρήσιμα εργαλεία.

    Για να επιταχύνετε τη σύνταξη κώδικα CSS, θα είναι χρήσιμο να μάθετε πώς να εργάζεστε με προεπεξεργαστές CSS, όπως Scss, Sass, Less.

    Δημιουργία απλής ιστοσελίδας

    Όπως έχετε ήδη μάθει, μια ιστοσελίδα είναι ένα αρχείο με επέκταση .html που περιέχει κώδικα HTML. Είναι ένα σύνολο συγκεκριμένων ετικετών που περικλείονται και στις δύο πλευρές σε γωνιακές αγκύλες. Υπάρχουν ετικέτες κλεισίματος και μη.

    Ας χρησιμοποιήσουμε το πρόγραμμα επεξεργασίας κειμένου Sublime Text3 και ας δημιουργήσουμε ένα νέο αρχείο index.html σε αυτό.

    αρχείο index.html

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

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

    Για να προσθέσετε έναν τίτλο, χρησιμοποιήστε την ετικέτα, για να προσθέσετε μια παράγραφο κειμένου, χρησιμοποιήστε την ετικέτα

    Και για το κουμπί - την ετικέτα. Ας τοποθετήσουμε αυτά τα στοιχεία μέσα σε ένα μπλοκ με την ετικέτα.

    Η πρώτη μου σελίδα

    Αυτή είναι η πρώτη μου σελίδα

    Ο προγραμματισμός είναι εύκολος!

    προβολή

    Τώρα ας ανανεώσουμε τη σελίδα. Όπως μπορείτε να δείτε, τα στοιχεία εμφανίστηκαν στο παράθυρο του προγράμματος περιήγησης.

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

    Για να αλλάξετε το στυλ των στοιχείων, πρέπει να εφαρμόσετε κανόνες CSS σε αυτά. Οι κανόνες CSS μπορούν να γραφτούν μέσα σε ένα μπλοκ με την ετικέτα.

    Ο κώδικας που χρειαζόμαστε μοιάζει με αυτό:

    h1 (χρώμα: βιολετί;)

    p (μέγεθος γραμματοσειράς: 30 px; )

    κουμπί (χρώμα φόντου: κίτρινο;)

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

    Εξαιρετική. Τώρα ας ορίσουμε το φόντο και ας κάνουμε το κουμπί πιο ορατό. Ας προσθέσουμε τους ακόλουθους κανόνες για το κουμπί και το φόντο:

    Χρώμα φόντου: πορτοκαλί;

    μέγεθος γραμματοσειράς: 30 px;

    σώμα (χρώμα φόντου: ανοιχτό γκρι;)

    Ήρθε η ώρα να συμπληρώσετε όλο αυτό το μεγαλείο με μια εικόνα. Προσθέστε μια ετικέτα σε υπάρχοντα στοιχεία , το οποίο είναι υπεύθυνο για την εμφάνιση εικόνων στη σελίδα. Περιλαμβάνει ένα χαρακτηριστικό όπως src (από την αγγλική πηγή - πηγή), το οποίο δείχνει τη διαδρομή προς την εικόνα. Η εικόνα μας βρίσκεται στο δίσκο D.

    Με αυτόν τον τρόπο μπορείτε να δημιουργήσετε πολλά στοιχεία σε μια σελίδα και στη συνέχεια να χρησιμοποιήσετε κανόνες CSS για να τους δώσετε την επιθυμητή εμφάνιση και θέση.

    Ας το κάνουμε έτσι ώστε όταν τοποθετείτε το δείκτη του ποντικιού πάνω από το κουμπί, να γίνεται λευκό και το κείμενο μέσα του να γίνεται πορτοκαλί. Η ψευδοκλάση του δείκτη είναι υπεύθυνη για την κατάσταση ενός στοιχείου όταν ο κέρσορας τοποθετείται πάνω του στο CSS. Ας προσθέσουμε μερικούς κανόνες για το κουμπί μας και, στη συνέχεια, ας προσπαθήσουμε να τοποθετήσουμε τον κέρσορα πάνω του.

    κουμπί: αιώρηση (χρώμα φόντου: λευκό, χρώμα: πορτοκαλί;)

    Όλα δούλεψαν! Το κουμπί άλλαξε την εμφάνισή του.

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

    img (ορατότητα: κρυφό;)

    Όπως μπορείτε να δείτε, η εικόνα έχει εξαφανιστεί.

    Ας επιστρέψουμε την εικόνα μας και κάνουμε κλικ στο κουμπί "Εμφάνιση". Δεν έγινε τίποτα? Αυτό συμβαίνει επειδή δεν έχουμε ακόμη προγραμματίσει το κουμπί για να εκτελέσει μια ενέργεια. Εδώ μπορούμε ήδη να εφαρμόσουμε JavaScript.

    Γιατί απαιτείται η JavaScript;

    Τώρα έχουμε μια στατική σελίδα που περιέχει απλό περιεχόμενο. Για να αντιστοιχίσετε κάποιο συμβάν ως αντίδραση για κλικ σε ένα κουμπί, χρειάζεστε τη γλώσσα JavaScript. Γενικά, οποιαδήποτε αλληλεπίδραση στον ιστότοπο, οποιαδήποτε αλληλεπίδραση με τον χρήστη, είναι JavaScript. Ο κώδικας JavaScript, όπως το CSS, γράφεται σε μια συγκεκριμένη ετικέτα - .

    Τυπικά, τα σενάρια, παρεμπιπτόντως, όπως οι κανόνες CSS, τοποθετούνται συνήθως σε ξεχωριστό αρχείο με την επέκταση .js (για CSS - .css) και στη συνέχεια συνδέονται με τη σελίδα. Αλλά στο παράδειγμά μας, θα εισαγάγουμε το σενάριο στην ενότητα, όπως κάναμε με το CSS.

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

    Στη συνέχεια, θα δημιουργήσουμε μια συνάρτηση χρησιμοποιώντας JavaScript που θα επιστρέψει μια εικόνα στην οθόνη και θα της δώσει το όνομα εμφάνιση. Ας επικολλήσουμε αυτό το κομμάτι κώδικα στην ενότητα.

    συνάρτηση show())( document.getElementById("cat").style.visibility="visible";)

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

    προβολή

    Τώρα το έγγραφο κατασκευής.getElementById("cat") έχει πρόσβαση στο στοιχείο από το αναγνωριστικό cat, το οποίο είναι προσαρτημένο στην εικόνα μας. Ας υποδείξουμε ότι έχουμε πρόσβαση στο στυλ του στοιχείου, και συγκεκριμένα στην ιδιότητα ορατότητας, και ορίζουμε την τιμή που είναι ορατή σε εισαγωγικά μέσω του συμβόλου "=".

    Εάν θέλετε το φόντο της σελίδας να αλλάξει όταν κάνετε κλικ στο κουμπί, προσθέστε αυτόν τον κωδικό στη συνάρτηση:

    document.body.style.background = "πράσινο";

    Όπως μπορείτε να δείτε, είναι πολύ απλό.

    Αντί να αλλάξουμε με μη αυτόματο τρόπο τις ιδιότητες των αντικειμένων στον κώδικα, το JavaScript το έκανε για εμάς.

    Πώς αποθηκεύουν δεδομένα οι ιστότοποι

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

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

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

    Υπάρχουν πολλές άλλες γλώσσες για αυτούς τους σκοπούς, αλλά η PHP σε συνδυασμό με τη MySQL - ένα σύστημα διαχείρισης βάσεων δεδομένων (DBMS) - θεωρείται η πιο εύκολη επιλογή για έναν αρχάριο να μάθει.

    Προκειμένου να ενημερώνεται συνεχώς ο ιστότοπος με νέο περιεχόμενο, υπάρχουν συστήματα διαχείρισης περιεχομένου (CMS), ή οι λεγόμενες μηχανές. Παρεμπιπτόντως, ένα από τα πιο δημοφιλή CMS, το Wordpress, είναι γραμμένο σε PHP.

    Συνοψίζοντας, μπορούμε να πούμε ότι για να κάνετε έναν ιστότοπο "ζωντανό", πρέπει να γνωρίζετε τουλάχιστον τις παραπάνω τεχνολογίες.

    συμπέρασμα

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

  • Γνώση γλωσσών.
  • Δυνατότητα χρήσης έτοιμων λύσεων, βιβλιοθηκών και πλαισίων.
  • Αυτοπαρουσίαση και συνεργασία με τον πελάτη.
  • Έχοντας ένα καλό χαρτοφυλάκιο και βιογραφικό.
  • Ικανότητα κατανόησης των απαιτήσεων του πελάτη και του εργοδότη.
  • Και, ίσως, το πιο σημαντικό πράγμα είναι η συνεχής εξάσκηση και η επιθυμία να μάθετε κάτι νέο. Μπορείτε να μάθετε όλα αυτά (και πολλά άλλα) παρακολουθώντας ένα μάθημα που περιλαμβάνει πολλές δοκιμαστικές και πρακτικές εργασίες, μεγάλη επικοινωνία με επαγγελματίες προγραμματιστές, ακόμη και τη δημιουργία του πρώτου σας έργου εργασίας.

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

    Βρείτε έναν σοβαρό σκοπό για τη μελέτη

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

    Αναλύστε τι πρέπει να μάθετε πριν ξεκινήσετε

    Ο "Προγραμματισμός" είναι ένας ευρύς όρος, επομένως ως αρχάριος, θα πρέπει να τον περιορίσετε στην ανάπτυξη ιστού. Πριν ξεκινήσετε, ρίξτε μια ματιά στο infographic:

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

    Επιλέξτε JavaScript, Python ή Ruby ως πρώτη σας γλώσσα

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

    • Η JavaScript είναι σέξι (JavaScript)
    • Ruby on Rails Tutorial από τον Michael Hartl (Ruby on Rails)
    Δημιουργήστε ένα πρόγραμμα σπουδών, χρησιμοποιήστε πολλούς πόρους μάθησης ταυτόχρονα

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

    • Free Code Camp (JavaScript)
    • Bento.io (Python / Flask) ή Lifehacker (Python / Django)
    Βελτιστοποιήστε τη μάθησή σας με ψυχολογικές τεχνικές

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

    Ακολουθούν ορισμένες χρήσιμες πρακτικές:

    - Χρησιμοποιήστε τρόπους εστιασμένης και διάχυτης σκέψης
    — Μοιραστείτε τη γνώση που αποκτήθηκε
    — Αποδεχτείτε τις αποτυχίες με ψυχραιμία και μάθετε από αυτές
    - Χρησιμοποιήστε μεταφορές και αναλογίες

    Ακολουθούν τεχνικές για την καλύτερη αφομοίωση του υλικού:

    • Θυμηθείτε στη μνήμη αντί να ξαναδιαβάσετε
    • Χρησιμοποιήστε επανάληψη σε απόσταση μεταξύ τους
    • Εναλλακτικά μεταξύ διαφορετικών τύπων πρακτικών
    • Απομνημονεύστε λέξεις-κλειδιά και έννοιες που βοηθούν στην επίλυση προβλημάτων αντί να απομνημονεύσετε τη σύνταξη

    Μερικές συμβουλές για να αποφύγετε την αναβλητικότητα:

    • Βρείτε έναν φίλο για να μελετήσετε μαζί του
    • Εστιάστε στη διαδικασία και όχι στο αποτέλεσμα
    • Δοκιμάστε την τεχνική Pomodoro
    • Θέστε κανονικούς στόχους
    Μάθετε προγραμματισμό Ιστού μέσω της πρακτικής

    Η εκμάθηση προγραμματισμού απαιτεί πολλή εξάσκηση. Η παρακολούθηση βίντεο και η επίλυση δοκιμών δεν θα φέρει πολλά οφέλη. Θα πρέπει να αφιερώνετε τον περισσότερο χρόνο σας δημιουργώντας έργα. Εδώ είναι μερικά μέρη για να βρείτε έμπνευση και ιδέες για τα δικά σας έργα:

    • From Zero to Frontend Hero (Μέρος Ι και Μέρος ΙΙ)

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

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

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

    «Αποφάσισα να μάθω προγραμματισμό. Μου αρέσει ο Ιστός, αλλά δεν ξέρω από πού να ξεκινήσω"

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

    Βασικά στοιχεία HTML

    Ο προγραμματιστής συμβουλεύει να ξεκινήσετε με την εκμάθηση των βασικών στοιχείων της HTML. «Ξεκινώντας εδώ, θα κατακτήσετε την ανάπτυξη διεπαφών χρήστη και την αλληλεπίδραση μαζί τους. Επιπλέον, θα δείτε αμέσως το αποτέλεσμα του κωδικού σας», σημειώνει η δασκάλα.

    "Γνωρίζω τα βασικά της HTML" Βασικά στοιχεία JavaScript

    «Η JavaScript είναι η γλώσσα του Ιστού· όλα τα δημοφιλή προγράμματα περιήγησης (Chrome, Firefox, Safari, IE) διαθέτουν ενσωματωμένη υποστήριξη JavaScript. Κάθε ιστότοπος ή εφαρμογή Ιστού που χρησιμοποιείτε έχει πιθανώς πολύ κώδικα JavaScript μέσα του. Επιπλέον: η γλώσσα γίνεται πλέον δημοφιλής σε άλλες πλατφόρμες - όπως διακομιστές, επιτραπέζιους υπολογιστές και συσκευές».

    "Γνωρίζω τα βασικά της JavaScript και της HTML" CSS

    Στη συνέχεια, ο Soror προτείνει να προχωρήσουμε στην εκμάθηση CSS για την προσαρμογή της εμφάνισης των στοιχείων HTML. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το δωρεάν σεμινάριο της Mozilla για να διδάξετε τα βασικά και τον ιστότοπο CSS-Tricks για την επίλυση βασικών προβλημάτων.

    Backend

    «Μέχρι αυτό το σημείο, έχετε αποκτήσει τη γνώση για τη λεγόμενη «ανάπτυξη front-end». Τώρα μπορείτε να μεταβείτε στο "backend". Αυτός είναι ο κώδικας που εκτελείται στον διακομιστή», γράφει ο Soror. - Υπάρχουν πολλές γλώσσες υποστήριξης, αλλά επειδή είστε ήδη εξοικειωμένοι με τη JavaScript, σας προτείνω να μάθετε Node JS (πλατφόρμα λογισμικού - σημείωση συντάκτη). Εκτός από το Node JS, μπορείτε να μάθετε Express και Mongo DB."

    Το Express είναι μια βιβλιοθήκη που διευκολύνει την αλληλεπίδραση του Node JS με έναν διακομιστή ιστού. Το Mongo DB είναι μια βάση δεδομένων για την αποθήκευση και την ανάκτηση πληροφοριών.

    Πλαίσια jQuery JS

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

    React JS

    Το React αναπτύχθηκε από το Facebook και τρέχει στην αρχιτεκτονική Flux. Αυτή είναι μια βιβλιοθήκη JavaScript για τη δημιουργία διεπαφών. Το React ξεπέρασε πρόσφατα σε δημοτικότητα μια άλλη δημοφιλή βιβλιοθήκη, την Angular, οπότε είναι καλύτερα να ξεκινήσετε να μαθαίνετε πλαίσια με αυτήν, σημειώνει ο Soror. Δωρεάν μάθημα για να μάθετε το React.

    Γωνιακή και

    Angular - αναπτύχθηκε από την Google. Το πλαίσιο είναι ακόμα δημοφιλές μεταξύ των προγραμματιστών. Μετά την ανακοίνωση του Angular, η Google αποφάσισε να ξαναγράψει εντελώς το πλαίσιο και κυκλοφόρησε το Angular 2, οπότε υπήρξαν δύο εντελώς διαφορετικές εξελίξεις με το ίδιο όνομα.

    Το πλαίσιο Angular 1 μπορεί να μάθει δωρεάν στο Code School. Μπορείτε να εξοικειωθείτε με το Angular 2 χρησιμοποιώντας δωρεάν βίντεο.

    Ember JS

    Το πλαίσιο δεν είναι τόσο ισχυρό όσο αυτά που αναπτύχθηκαν από την Google και το Facebook, αλλά κερδίζει δημοτικότητα μεταξύ των προγραμματιστών. Επίσημη τεκμηρίωση Ember JS.

    "Θέλω να γίνω προγραμματιστής backend"

    «Υπάρχουν πολλές γλώσσες στην ανάπτυξη backend, καθεμία με τα δικά της πλεονεκτήματα και μειονεκτήματα», γράφει ο δάσκαλος. Δίνει επίσης ένα γράφημα της δημοτικότητάς τους τα τελευταία 10 χρόνια:


    Οι γλώσσες προγραμματισμού που υποδεικνύονται από ένα πράσινο πλαίσιο είναι εκείνες στις οποίες πρέπει να εστιάσετε την προσοχή σας, λέει ο Soror.

    Ιάβα

    Μια πολύ δημοφιλής γλώσσα προγραμματισμού που αναπτύχθηκε από τη Sun Microsystems (σήμερα ανήκει στην Oracle). Η Java χρησιμοποιείται για την ανάπτυξη εφαρμογών Android. Μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία επιτραπέζιων και διαδικτυακών εφαρμογών.

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

    ΝΤΟ#

    Η γλώσσα αναπτύχθηκε από τη Microsoft ως εναλλακτική της Java. Όπως η Java, η C# είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού και μπορεί να χρησιμοποιηθεί όχι μόνο για την ανάπτυξη εφαρμογών Ιστού, αλλά και προγραμμάτων για λειτουργικά συστήματα επιτραπέζιου υπολογιστή. Δωρεάν μάθημα εκμάθησης C# από ​​το Microsoft Virtual Academy.

    Πύθων

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

    Ρουμπίνι

    Υπάρχουν πολλοί οπαδοί της Ruby μεταξύ των προγραμματιστών - διαφημίζουν ενεργά και θαυμάζουν αυτή τη γλώσσα, γράφει ο Soror. Ωστόσο, η δημοτικότητά του αυξάνεται με αργό ρυθμό. Ουσιαστικά η γλώσσα είναι ένα μείγμα λειτουργικού και επιτακτικού προγραμματισμού.

    Το καλύτερο μέρος για να μάθετε το Ruby είναι το RubyMonk, λέει ο προγραμματιστής.

    Πρακτική

    Πριν εκτελέσετε πρακτικές εργασίες, ο Soror συνιστά να δημιουργήσετε αμέσως ένα προφίλ στον ιστότοπο GitHub - ένα διαδικτυακό αποθετήριο για την αποθήκευση, τη διαχείριση και τη δημοσίευση κώδικα. Μπορείτε να αρχίσετε να εξοικειωθείτε με την πλατφόρμα με τις οδηγίες «Hello World» ή ένα διαδραστικό μάθημα.

    Μπορείτε να ξεκινήσετε την ανάπτυξη δημιουργώντας το δικό σας blog (οδηγίες για τον προγραμματισμό ενός ιστολογίου στο React και στο Node) ή ένα ημερολόγιο (οδηγίες για τον προγραμματισμό ενός ημερολογίου σε C# και .Net).

    Δωρεάν μαθήματα μπορείτε επίσης να βρείτε στο Free Code Camp:

    • Pomodoro timer (frontend).
    • Trading club (πλήρης στοίβα).

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

    Επιλογές Σπουδών

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

  • Εξειδικευμένα μαθήματα. Το κόστος τους είναι πολύ μικρότερο από τα μαθήματα από έναν προσωπικό δάσκαλο. Αξίζει να σημειωθεί ότι πολλοί εργοδότες ανταποκρίνονται θετικά στη διαθεσιμότητα ποικίλων πιστοποιητικών ολοκλήρωσης εκπαίδευσης σε ακαδημίες πληροφορικής. Προσοχή στα μαθήματα των παγκοσμίου φήμης εταιρειών Microsoft και Cisco.
  • Δωρεάν μαθήματα εξ αποστάσεως. Υπάρχει ένας πολύ μεγάλος αριθμός υπηρεσιών στο Διαδίκτυο με τις οποίες μπορείτε να δείτε μαθήματα διαλέξεων από την Οξφόρδη, το Χάρβαρντ και άλλα διάσημα εκπαιδευτικά ιδρύματα στον κόσμο. Υπάρχουν επίσης ειδικές πλατφόρμες για την εκπαίδευση πρακτικών δεξιοτήτων προγραμματισμού. Διαβάστε περισσότερα σχετικά με την εξ αποστάσεως εκπαίδευση και τις χρήσιμες υπηρεσίες Διαδικτύου περαιτέρω στο άρθρο.
  • Αυτομάθηση. Πού να ξεκινήσετε να μαθαίνετε προγραμματισμό από την αρχή εάν δεν σκοπεύετε να εγγραφείτε σε μαθήματα και να ξοδέψετε χρήματα; Σε αυτή την περίπτωση, ο ευκολότερος τρόπος είναι να εκπαιδεύσετε τον εαυτό σας. Θα πρέπει να ξεκινήσετε να μελετάτε διαβάζοντας τα βασικά, μην εμβαθύνετε στη θεωρία, ξεκινήστε αμέσως την εξάσκηση, γιατί μόνο στη διαδικασία δημιουργίας ενός προγράμματος θα αποκτήσετε τις απαραίτητες δεξιότητες.
  • Αφού επιλέξετε την επιλογή εκπαίδευσης που σας ταιριάζει, θα πρέπει να αποφασίσετε για τη θεματική περιοχή, επειδή ο προγραμματισμός έχει ένα αρκετά ευρύ φάσμα διαφορετικών κλάδων.

    Πώς να επιλέξετε τη σωστή κατεύθυνση;

    Εξαρτάται άμεσα από τον τύπο του λογισμικού που θα δημιουργήσετε στο μέλλον:

    Εάν ο μισθός είναι ο πιο σημαντικός παράγοντας για εσάς, στρέψτε την προσοχή σας στην αγορά εργασίας. Σήμερα, η μεγαλύτερη ζήτηση είναι προγραμματιστές που ειδικεύονται στις γλώσσες Java, C#, ASP.NET, C++.

    Γλώσσες χαμηλού και υψηλού επιπέδου. Διαφορά και Εφαρμογές

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

    Οι γλώσσες υψηλού επιπέδου είναι πολύ πιο εύχρηστες επειδή χρησιμοποιούν ενσωματωμένες βιβλιοθήκες για την απλοποίηση και την οπτικοποίηση του κώδικα. Τα περισσότερα σύγχρονα λογισμικά είναι γραμμένα χρησιμοποιώντας γλώσσες υψηλού επιπέδου.

    Προγραμματισμός από την αρχή: από πού να ξεκινήσω τις εφαρμογές;

    Η διαδικασία δημιουργίας προγραμμάτων για κινητά επιτρέπει στους προγραμματιστές να εργάζονται με τα πιο πρόσφατα εργαλεία και, ως αποτέλεσμα, να κερδίζουν ένα αξιοπρεπές χρηματικό ποσό μέσω της δημιουργίας εσόδων. Πρώτα πρέπει να επιλέξετε τον ιστότοπο όπου θα εργαστείτε:

  • Google Play. Κατάστημα εφαρμογών για χρήστες του λειτουργικού συστήματος Android. Αυτό το λειτουργικό σύστημα έχει το μεγαλύτερο μερίδιο χρηστών στην αγορά. Οι γλώσσες Java και C/C++ χρησιμοποιούνται για την ανάπτυξη εφαρμογών και παιχνιδιών. Οι πιο δημοφιλείς είναι οι εφαρμογές messenger, οι πελάτες κοινωνικών δικτύων, η αποθήκευση cloud και τα παιχνίδια.
  • Κατάστημα Windows Mobile. Αυτό το κατάστημα κερδίζει γρήγορα δημοτικότητα μαζί με τα smartphone της Microsoft. Στις χώρες της ΚΑΚ, οι περισσότεροι χρήστες προτιμούν tablet που βασίζονται στην πλατφόρμα Windows Phone. Ο προγραμματισμός εφαρμογών για ένα τέτοιο κατάστημα σάς βοηθά να κερδίσετε περισσότερα χρήματα από τη δημιουργία εσόδων, επειδή, σε αντίθεση με το Android, σχεδόν όλα τα προγράμματα στο κατάστημα των Windows διανέμονται επί πληρωμή.
  • App Store. Άλλη μια κερδοφόρα πλατφόρμα ανάπτυξης (γλώσσα - Objective-C). Η διαδικασία δημιουργίας προγραμμάτων για συσκευές Apple απαιτεί ένα προεγκατεστημένο περιβάλλον ανάπτυξης που ονομάζεται Xcode. Το επόμενο βήμα είναι να μάθετε τον προγραμματισμό Objective-C από την αρχή. Το βιβλίο του David Mark "Learning C for Mac" θα σας πει από πού να ξεκινήσετε να γράφετε κώδικα. Δεύτερη έκδοση."
  • Γλώσσα Java

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

    Η Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού υψηλού επιπέδου που απαιτείται για την ανάπτυξη των περισσότερων σύγχρονων εφαρμογών και παιχνιδιών Ιστού. Η διαδικασία μεταγλώττισης (μετατροπή γραπτού κώδικα σε γλώσσα που μπορεί να κατανοήσει μια συσκευή) μετατρέπει τον κώδικα σε μια ακολουθία byte, έτσι ώστε το πρόγραμμα να μπορεί εύκολα να δοκιμαστεί σε οποιαδήποτε εικονική μηχανή Java.

    Προγραμματισμός από την αρχή. Από πού να ξεκινήσω με την Java και την κωδικοποίηση Web;

    Η γλώσσα Java χρησιμοποιείται ευρέως στην ανάπτυξη Ιστού. Πριν ξεκινήσετε την πλήρη διαδικασία προγραμματισμού, θα πρέπει να μάθετε Java, PHP, MySQL, HTML, CSS. Μια πιο λεπτομερής εξήγηση αυτών των εννοιών δίνεται παρακάτω:

  • Java - χρησιμοποιείται για τη σύνταξη βοηθητικών προγραμμάτων για ιστότοπους και τη σύνταξη της λογικής της λειτουργικότητας της ιστοσελίδας.
  • Η PHP είναι μια γλώσσα για τη δημιουργία προσωπικών σελίδων ιστότοπου. Έχει δομή σεναρίου. Η κορυφαία γλώσσα στη δημιουργία δυναμικών ιστοσελίδων που είναι δημοφιλείς σήμερα. Η PHP είναι απαραίτητη για την κατανόηση του σεναρίου και του προγραμματισμού από την αρχή. Από πού να ξεκινήσω; Από την ανάγνωση του βιβλίου του Josh Lockhat "PHP: The Right Way".
  • Η MySQL είναι ένα σύστημα διαχείρισης των βασικών δεδομένων. Χρησιμοποιείται ευρέως στη δημιουργία ιστοσελίδων που απαιτούν αποθήκευση μεγάλων ποσοτήτων ομαδοποιημένων δεδομένων.
  • Η HTML δεν είναι γλώσσα προγραμματισμού. Αυτή είναι μια γλώσσα σήμανσης που χρησιμοποιείται για τη σύνταξη της βάσης μιας ιστοσελίδας (δομικά στοιχεία, διανομή κειμένου και παραγράφων κ.λπ.).
  • CSS - Cascading Style Sheet. Χρησιμοποιείται μόνο σε συνδυασμό με HTML για να δώσει στυλ και εμφάνιση στη γλώσσα σήμανσης.
  • Μόνο μαθαίνοντας τις βασικές έννοιες των ορόσημων αυτών των τεχνολογιών μπορείτε να αρχίσετε να δημιουργείτε επαγγελματικούς δυναμικούς ιστότοπους που έχουν μεγάλη ζήτηση σήμερα.

    Προγραμματισμός Ιστού. Συνάφεια και χαρακτηριστικά

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

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

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

    Δημιουργία εφαρμογών για το λειτουργικό σύστημα Windows

    Για να αναπτύξετε τέτοια προγράμματα, θα χρειαστείτε γνώση της γλώσσας C#. Μια δωρεάν υπηρεσία από τη Microsoft που ονομάζεται Virtual Academy θα σας επιτρέψει να μάθετε όλες τις δυνατότητες αυτής της γλώσσας και να εξασκηθείτε στη σύνταξη απλών εφαρμογών.

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

    Η οικογένεια γλωσσών C (C, C++, C#). Ιδιαιτερότητες

    Προγραμματισμός από την αρχή - από πού να ξεκινήσετε την επιλογή μιας γλώσσας; Η απάντηση σε αυτό το ερώτημα μπορεί να ληφθεί με περισσότερες λεπτομέρειες στους τύπους τεχνολογιών δημιουργίας εφαρμογών. Θα πρέπει επίσης να λαμβάνεται υπόψη η συνάφεια μιας συγκεκριμένης γλώσσας.

    Οι γλώσσες C, C++, C# έχουν ένα κοινό χαρακτηριστικό - την παρουσία λειτουργιών OOP (αντικειμενοστραφής προγραμματισμός). Αυτή η τεχνολογία σάς επιτρέπει να απλοποιήσετε σημαντικά τη διαδικασία σύνταξης κώδικα προγράμματος. Κάθε αντικείμενο λογισμικού περιγράφεται σε μια συγκεκριμένη κλάση και έχει τις δικές του παραμέτρους, μεθόδους και ιδιότητες. Έτσι, ο προγραμματιστής δεν χρειάζεται να γράφει τεράστια κομμάτια κώδικα κάθε φορά, εάν το ίδιο αντικείμενο χρειάζεται να χρησιμοποιηθεί πολλές φορές.

    Χρήσιμες υπηρεσίες Διαδικτύου για την εκμάθηση των βασικών αρχών προγραμματισμού και της δομής κώδικα κάθε εφαρμογής

    Στο πρώτο στάδιο της εκπαίδευσης, σχεδόν κάθε διαδικτυακή υπηρεσία θα σας προσφέρει να δοκιμάσετε τις δυνατότητές της χρησιμοποιώντας την Pascal, την απλούστερη από τις γλώσσες υψηλού επιπέδου. Χρησιμοποιείται για εκπαιδευτικούς σκοπούς και διδάσκεται σε σχολεία και ΤΕΙ ώστε οι μαθητές να κατανοούν τον προγραμματισμό από την αρχή. Από πού να ξεκινήσω με την κωδικοποίηση Pascal; Πρώτα απ 'όλα, πρέπει να κάνετε λήψη του περιβάλλοντος ανάπτυξης στον υπολογιστή σας. Αυτό είναι ένα μικρό εκτελέσιμο αρχείο στο οποίο θα γραφτεί ο κώδικας του προγράμματος. Χρησιμοποιήστε TurboPascal, γιατί είναι το πιο δημοφιλές περιβάλλον για την εκμάθηση αυτής της γλώσσας προγραμματισμού.

    Το HourOfCode είναι μια υπηρεσία web από τη Microsoft. Σκοπός του είναι να δείξει ξεκάθαρα στους μαθητές τι είναι ένας κύκλος, η μεταβλητή, η τάξη και οι συνθήκες. Η διαδικασία μάθησης είναι σαν παιχνίδι.

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

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

    Απόκτηση αρχικής εμπειρίας. ΕΛΕΥΘΕΡΟ επαγγελμα

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

    Συμπέρασμα

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

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

    Υπάρχουν πολλές γλώσσες προγραμματισμού εδώ, εδώ είναι οι πιο συνηθισμένες:

    Php
    Δίχτυ Asp
    Ιάβα
    Πύθων
    Ρουμπίνι
    Κόμβος js

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

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

    Μαντείο
    MSSQL
    MYSQL
    Postgres

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

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

    Το Frontend Frontend είναι το τμήμα που εκτελείται στο πρόγραμμα περιήγησης με το οποίο ο χρήστης αλληλεπιδρά άμεσα. Πρόκειται για δυναμικές διεπαφές, μενού, συμβάντα που βασίζονται στη δράση του χρήστη, ανταλλαγή δεδομένων με το τμήμα διακομιστή, γενικά, τι συμβαίνει στον πελάτη.

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

    Η JavaScript έχει επί του παρόντος δύο πρότυπα που χρησιμοποιούνται ευρέως: ECMAScript 5 και ECMAScript 6. Η διαφορά μεταξύ τους είναι ότι το ECMAScript 5 δεν διαθέτει πλήρες OPP. Το ECMAScript 6 το έχει, αλλά δεδομένου ότι αυτό το πρότυπο εμφανίστηκε σχετικά πρόσφατα, οι περισσότερες εφαρμογές είναι ήδη γραμμένες στο ECMAScript 5, ως αποτέλεσμα του οποίου θα είναι απαραίτητο να κυριαρχήσετε και τα δύο πρότυπα και, ως αποτέλεσμα, δύο διαφορετικές προσεγγίσεις ανάπτυξης.

    Ένα άλλο σημείο που πρέπει να ληφθεί υπόψη είναι ότι ο ίδιος κώδικας γραμμένος σε javascript μπορεί να λειτουργήσει διαφορετικά σε διαφορετικά προγράμματα περιήγησης και σε διαφορετικά λειτουργικά συστήματα. Με τις τρέχουσες απαιτήσεις για τις εφαρμογές, θα είναι απαραίτητο να γράψετε τον λεγόμενο κώδικα cross-browser, δηλαδή κώδικα του οποίου η εκτέλεση θα δώσει το ίδιο αποτέλεσμα παντού. Δεν υπάρχει συγκεκριμένο εγχειρίδιο για τη σύνταξη τέτοιου κώδικα· σε αυτήν την περίπτωση, τα φόρουμ και η ok Google μπορούν να σας βοηθήσουν.

    Τα προβληματικά ζητήματα που περιέγραψα έχουν επιλυθεί σε σύγχρονα πλαίσια js (για παράδειγμα, Angular και React). Αλλά σε έργα που γράφονται χωρίς τη χρήση πλαισίων, αυτά τα θέματα παραμένουν.

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

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

    Κάποτε, για να αποφασίσω, διάβασα το βιβλίο «Creating Dynamic Websites», συγγραφέας «Robin Nixon». Το βιβλίο είναι μικρό, μόνο 500 σελίδες, αλλά χάρη σε αυτό πήρα μια γενική ιδέα για την ανάπτυξη ιστού και έκανα με τόλμη μια επιλογή προς το backend, για το οποίο ακόμα δεν μετανιώνω. Έδωσα αυτό το βιβλίο ως παράδειγμα, μπορείτε να πάρετε οποιοδήποτε άλλο βιβλίο, δεν πειράζει.