Tip:
Highlight text to annotate it
X
>> ΟΜΙΛΗΤΗΣ 1: Όλα, το δικαίωμα να καλωσορίσω πίσω.
Αυτό είναι CS50.
Και αυτή είναι η αρχή της εβδομάδας εννέα.
Και αυτή είναι η αρχή της υπόλοιπης το χρόνο σας σε CS50, στην οποία
μετάβαση τώρα, τέλος, στο διαδίκτυο πτυχή του μαθήματος, όπου θα
διαπιστώσετε ότι πολλές από τις βασικές αρχές που έχουμε εξάγει για εβδομάδες
εξακολουθούν να έρχονται πίσω για να επισκεφθείτε, ή στέκι μας,.
Αλλά τώρα, θα διαπιστώσετε ότι είναι μια τάξη μεγέθους πιο εύκολο να
εκτελέσει ορισμένα καθήκοντα και επίλυση ορισμένων προβλημάτων -
τόσο πολύ έτσι ώστε ακόμα κι αν νομίζατε ορισμένα σύνολα πρόβλημα ήταν διασκέδαση τους
το δικό του τρόπο, νομίζω ότι θα βρείτε ότι το σύνολο P 7, σ. σετ 8, και στη συνέχεια,
Τελικά, το τελικό σχέδιο θα είναι ακόμη πιο ευχάριστο γιατί θα
ανακαλύπτουμε ότι έχουμε αρχίσει να θεωρούμε δεδομένο τώρα τα πράγματα όπως η διαχείριση μνήμης, και
δείκτες, και τι συμβαίνει για κάτω από το καπό.
Και πάλι, θεματικές, σε όλη τη διάρκεια της το εξάμηνο έχει αυτό το layering
και layering.
Και τώρα είμαστε ταξινόμησης έως εδώ, στέκεται στο
ώμους των προηγούμενων εβδομάδων.
>> Τώρα, ανάκληση από την τελευταία φορά που μίλησε για το πώς το Διαδίκτυο λειτούργησε.
Και αυτό ήταν ίσως υπεραπλούστευση, αλλά να θυμάστε ότι
κάθε υπολογιστή στον κόσμο, έχει μια διεύθυνση IP αντιμετώπιση, αν και αυτό είναι ένα κομμάτι από ένα
υπεραπλούστευση ακόμα.
Και αυτές οι διευθύνσεις που χρησιμοποιούνται για τη μοναδική εντοπίσει μηχανές, έτσι ώστε
όταν στέλνετε πληροφορίες ή πακέτα, να το πω έτσι, μπορούν να έχουν καταγωγή
τη διεύθυνση και μια διεύθυνση προορισμού.
Και οι ίδιες οι διευθύνσεις IP μπορεί να χρησιμοποιηθεί τόσο για το καλό όσο και για κακό,
να σας εντοπίσει, για παράδειγμα.
Στην πραγματικότητα, κάθε ένας από εσάς με ένα laptop ανοίξτε τώρα, ή ένα τηλέφωνο σας
τσέπη, έχει μια διεύθυνση IP στο δίκτυο του Χάρβαρντ.
Και δεν είναι όλοι ότι είναι δύσκολο να συσχετίζονται ότι για το ποιος και πού θα
είναι αυτές τις μέρες.
Αλλά περισσότερα για αυτό ίσως στο μέλλον.
>> Τώρα σκέφτηκα να φέρει πίσω κάποια μνήμες [; ενίσχυση;] και να σας δώσει
ένα άλλο clip από μια εκπομπή που μπορεί να βρει οικεία.
Αν μπορούσαμε χαμηλώστε τα φώτα για λίγα δευτερόλεπτα.
Οι Numb3rs show.
>> ΟΜΙΛΗΤΗΣ 2: Είναι ένα 32-bit διεύθυνση IPP4.
>> ΟΜΙΛΗΤΗΣ 3: ΟΠΠ, όπως το internet;
>> ΟΜΙΛΗΤΗΣ 2: Ιδιωτικό δίκτυο.
Στο ιδιόκτητο δίκτυο της Amita.
Είναι τόσο καταπληκτικό.
>> ΟΜΙΛΗΤΗΣ 3: Έλα, Τσάρλι.
>> ΟΜΙΛΗΤΗΣ 2: Είναι.
Μια διεύθυνση IP καθρέφτη.
Έχει να μας παρακολουθήσουν τι αυτή κάνει σε πραγματικό χρόνο.
>> ΟΜΙΛΗΤΗΣ 1: Εντάξει, μερικά πράγματα λάθος με αυτήν την εικόνα.
Έτσι, το ένα, και αυτό είναι αποδεκτό, Αυτό είναι στην πραγματικότητα
δεν είναι έγκυρη διεύθυνση IP.
Μια έγκυρη διεύθυνση IP πρέπει να είναι αριθμοί της μορφής w.x.y.z, όπου κάθε ένα από
τα έγγραφα αυτά είναι από 0 έως 255.
Αλλά αυτό είναι εντάξει, επειδή ακριβώς όπως το ταινίες που ψεύτικο αριθμό τηλεφώνου,
πλαστογραφούν διευθύνσεις IP.
Δεν χτύπησε πραγματικά πραγματικά servers.
>> Αλλά το μυαλό σας, αυτό είναι ένα πρόγραμμα περιήγησης.
Και browsers μην αρχίσετε έξοδο κώδικα υπολογιστή σαν αυτό.
Και αν κοιτάξουμε λίγο πιο βαθιά, παρατηρήστε ότι η γλώσσα που βλέπουμε
στην οθόνη είναι μια γλώσσα που ονομάζεται Στόχος C, η οποία είναι η γλώσσα στην
οποία είναι γραμμένα apps iPhone, ιδιαίτερα αυτές που αφορούν
κραγιόνια, όπως μπορείτε να δείτε από τον πηγαίο κώδικα εδώ.
>> Εντάξει, σκέφτηκα ότι αυτό ήταν αστείο.
Έτσι, αυτό το απόσπασμα του κώδικα δεν έχει απολύτως τίποτα να κάνει με ό, τι αυτό
συγκεκριμένο επεισόδιο ήταν περίπου.
Έτσι, το αστείο είναι είδος για τους λαούς λαμβάνοντας γι 'αυτό το δεδομένο.
Αλλά αυτό δεν είναι όλα αυτά σκληρά για να πάρει αυτές οι τεχνικές λεπτομέρειες.
Και θα ήθελα να σας ενθαρρύνω.
Και στην πραγματικότητα, 50 θα μπορούσε κάλλιστα να χαλάσει πολλές τηλεοπτικές εκπομπές και ταινίες ή μπορείτε
γιατί θα διαπιστώσετε ότι είναι ακριβώς Δεν είναι δυνατόν αυτό που είσαι
κάνει στην οθόνη.
Αλλά, πράγματι, αυτός είναι ο κώδικας που θα μπορούσε να το δει σε μια εφαρμογή iPhone
ή Mac OS εφαρμογή.
Δεν έχει καμία σχέση σε όλα να κάνει με την ασφάλεια.
Έτσι κρατήστε ένα μάτι έξω για περισσότερα τέτοια διασκεδαστικά πράγματα όπως αυτό.
>> Σήμερα, όμως, αρχίζουμε να βουτήξει σε πραγματικά βαθιά σε ένα ολόκληρο φάσμα των γλωσσών.
Ένας μάλιστα, ένας από τους πρωταρχικούς takeaways από αυτό το τμήμα του
Φυσικά δεν είναι να μάθετε πώς να προγραμματίσετε σε PHP, για να μην μάθουν SQL per se, δεν
να μάθουν JavaScript per se, αλλά μάλλον να σας διδάξει πώς να διδάξουν
τον εαυτό σας νέες γλώσσες, διότι, πράγματι, αρχίζουμε να λάβει τώρα η
βοηθητικές ρόδες off έτσι ώστε μετά τέλος μαθήματος, δεν μπορείτε να περιμένετε 20
προδιαγραφή σελίδα για να σας πω πώς να εφαρμόσει κάποιο πρόγραμμα.
Έχετε αρκετά συστατικά σας νου, και αρκετά εργαλεία στο εργαλείο σας
kit, με την οποία να αρχίσει η δημιουργία λύσεις σε προβλήματα που παρουσιάζουν ενδιαφέρον για
σας για κάποια ομάδα μαθητών, για ορισμένες ερευνητικό έργο, ή τίποτα
που σας ενδιαφέρουν.
>> Έτσι, προς το σκοπό αυτό, υπενθυμίζουν ότι αυτή ήταν Η εικόνα που επέστησε την τελευταία φορά.
Και αυτό είναι δύο υπολογιστές, ο πελάτης και κόβω, μιλάμε ο ένας στον άλλο.
Και το πρωτόκολλο, η γλώσσα, έτσι ώστε να μιλήσει, ότι αυτές οι δύο υπολογιστές να συμβεί
να μιλάει ονομάζεται HTTP.
Και αυτό είναι μόνο το πρωτόκολλο που χρησιμοποιείται από ηλεκτρονικών υπολογιστών για τη μεταφορά πληροφοριών πάνω
το World Wide Web.
Το διαδίκτυο, βέβαια, είναι μόνο μία υπηρεσία που τρέχει στην κορυφή του
λεγόμενη internet.
Τι είναι μια άλλη υπηρεσία διατίθεται για πάνω από το internet αυτές τις μέρες;
Κάποια άλλα πρωτόκολλο ή - τι είναι αυτό;
>> Κοινό: FTP.
>> ΟΜΙΛΗΤΗΣ 1: FTP.
Έτσι, πρωτόκολλο μεταφοράς αρχείων είναι ένα άλλο.
Οι περισσότεροι από εσάς ίσως δεν την έχετε χρησιμοποιήσει.
Αλλά οι περισσότεροι από εσάς ίσως έχετε χρησιμοποιήσει πράγματα όπως Gchat, ή σε άμεσο
μηνυμάτων γενικότερα, Σίγουρα email.
Και εκείνοι, επίσης, είναι οι υπηρεσίες που τρέχουν σε πάνω από το διαδίκτυο, διότι, κατά το
τέλος της ημέρας, το ίδιο το διαδίκτυο πραγματικά να πάρει μόνο τα δεδομένα από το σημείο Α στο
σημείο Β. Και χρησιμοποιεί μια σειρά από ίδια σωματίδια, ένα από αυτά ή δύο
από τους πιο γενικά ονομάζεται TCP / IP, που είναι να πω ότι ένας υπολογιστής για
το Διαδίκτυο μπορεί πραγματικά να κάνει διαφορετικά πράγματα, email,
και ιστοσελίδων, και ούτω καθεξής.
Google κάνει πολλά για αυτό.
Λοιπόν, πώς είναι οι υπηρεσίες μοναδικά εντοπιστεί, δεν λέμε, σε έναν υπολογιστή
που θα μπορούσε πραγματικά να κάνει πολλαπλές πράγματα;
>> Ο αριθμός θύρας.
Και αυτά είναι μόνο αυθαίρετη ανθρώπινη συμβάσεις, όπως είναι το web 80, 443 είναι
κρυπτογραφημένα web, 25 είναι το email.
Και υπάρχει μια δέσμες των άλλων.
Και αυτοί οι αριθμοί απλώς να συμπεριληφθούν στην οι εν λόγω πακέτα πληροφοριών, οι εν λόγω
εικονικό φάκελο, ότι στην πραγματικότητα περιείχε ένα αίτημα ή μια απάντηση.
>> Έτσι, όταν μπορείτε να πάρετε πίσω μια απάντηση από το web, συνήθως, δεν μπορείτε να δείτε οποιοδήποτε
αριθμοί απολύτως την άποψη της κωδικό κατάστασης της απόκρισης.
Δεν μπορείτε να δείτε στην πραγματικότητα η ενδότερα του
πακέτα που έρχονται πίσω.
Αλλά 200 όντως σημαίνει OK.
Και αυτό σημαίνει ότι όλα είναι καλά.
Μπορεί να έχετε δει ένα σωρό από αυτά.
Ποια είναι ίσως η πιο κοινή έχετε δει στο διαδίκτυο;
>> 404.
Σημαίνει απλά δεν βρέθηκε το αρχείο.
Αυτό σημαίνει ότι κάποιος σκάτωσε.
Μπορείτε έκανε με mistyping το URL, ή κάποιος άλλος δεν το έκανε δίνοντας σας μια
άκυρο URL, ή διαγράφεται η αρχείου και η διεύθυνση URL είναι ακόμα
που χρησιμοποιείται από τους ανθρώπους.
Έτσι, οποιοσδήποτε αριθμός λόγων μπορεί να εξηγήσει Γιατί ένα αρχείο δεν βρέθηκε.
Και θα δείτε, κατά τις επόμενες εβδομάδες να έρθει, αυτοί οι άλλοι κωδικοί σφάλματος, και θα
να επωφεληθούν από μερικές από αυτές.
Το χειρότερο είναι 500.
Αν πάρετε ένα 500 σφάλμα στον κώδικα που έχετε γραπτή, σκεφτείτε ότι ως ένα είδος της
ανάλογο της διαχωρίζονται από βλάβες στο κόσμο του web προγραμματισμό.
Δεν είναι τόσο τρομερή.
Αλλά αυτό σημαίνει απλώς ότι, κάπου, τα έκανες μαντάρα.
Έτσι, προσβλέπουμε σε αυτές.
>> Αλλά ας δούμε αν μπορούμε να δείτε αυτά στο πλαίσιο.
Επιτρέψτε μου να πάω σε ένα πρόγραμμα περιήγησης εδώ και να κάνουμε το εξής.
Έτσι, αυτό είναι το Chrome, η οποία συμβαίνει να να εγκατασταθεί στη συσκευή.
Αλλά οι περισσότεροι κάθε μηχανή αναζήτησης αυτές τις μέρες έχει κάποια ισοδύναμη λειτουργικότητα.
Πάω να πάει μέχρι το μενού του Chrome, και πηγαίνετε στο Tools, και είμαι πρόκειται να πάει
Εργαλεία για προγραμματιστές.
Και θα δείτε ότι αυτό το μικρό πίνακα ανοίγει στο κάτω μέρος του παραθύρου.
Μια άλλη συντόμευση, για να είμαι ειλικρινής, ότι χρησιμοποιούν συνήθως τον εαυτό μου είναι να κάντε δεξί κλικ
ή Control κάντε κλικ οπουδήποτε στο διαδίκτυο σελίδα και μόλις πάει να επιθεωρήσει Element.
Και αυτό όχι μόνο θα ανοίξει Αυτό έχει για σας.
Επίσης, θα ανοίξει, συγκεκριμένα, το τμήμα Στοιχεία για
η αριστερή πλευρά.
>> Έτσι είμαστε, φυσικά, βλέπουμε Google.
Θα αλλάξει το λογότυπό τους σήμερα.
Αλλά αν μετακινηθείτε προς τα κάτω μέχρι εδώ, παρατηρήστε ότι, σύμφωνα με στοιχεία, θα δείτε
ό, τι λέγεται HTML, HyperText Markup Γλώσσα, και αυτή είναι η γλώσσα
ότι αυτή και όλες οι σελίδες web, Πραγματικά, είναι γραμμένα μέσα
Αλλά στην πραγματικότητα διαμορφωμένη για μας πολύ πιο ευανάγνωστα
ό, τι είναι κανονικά.
Στην πραγματικότητα, αν σμίκρυνση, και αντ 'αυτού Απλά κάντε δεξί κλικ ή Control Κάντε κλικ
κάντε κλικ στη σελίδα και, στη συνέχεια, πηγαίνετε στο View Πηγή σελίδας, αυτό είναι κυριολεκτικά ό, τι
Google έστειλε κάτω στον browser μου.
>> Έτσι, κάποιο πρόσωπο ή τα πρόσωπα που έγραψε Google.com χρήση αυτού του πηγαίου κώδικα.
Τα περισσότερα από αυτά δεν είναι HTML.
Είναι πραγματικά μια γλώσσα που ονομάζεται JavaScript, τα οποία
θα έρθει την Τετάρτη.
Αλλά τι Chrome, και αυτό που κάθε πρόγραμμα περιήγησης μπορεί να κάνει για μας, είναι το είδος της δείτε
παρελθόν όλες τις αποσπάσεις της προσοχής του τρελό σύνταξη και επανατοποθετήστε λευκό κενό
για μας, ακόμη και τονίζουν σύνταξη, ή να χρωματίσετε τα πράγματα για εμάς.
Έτσι, θα διαπιστώσετε ότι αυτές οι λεγόμενες εργαλεία για προγραμματιστές χτισμένο σε browsers
θα κάνουν τη ζωή σας, τόσο πολύ ευκολότερη επειδή μπορείτε να εξερευνήσετε, μέσω αυτού του μενού
interface, ακριβώς ό, τι η υποκείμενη πηγαίο κώδικα είναι
οποιαδήποτε σελίδα στο διαδίκτυο.
Και πράγματι, αυτό είναι ένα από τα πιο αποτελεσματικούς τρόπους για να μάθετε πώς να το κάνουμε
κάτι νέο, τουλάχιστον αν η σελίδα δεν είναι τόσο περίπλοκο όπως να συντρίψει, είναι
για να ξεκινήσει σπρώχνει γύρω από αυτό είναι HTML, κοιτάξτε στο λεγόμενο CSS, η οποία θα έρθει
σε ένα κομμάτι, καθώς, για να πάρετε μια η κατανόηση του τρόπου με τον προγραμματιστή ότι
εφαρμοστεί κάποια συγκεκριμένη χαρακτηριστικό της σελίδας.
>> Αλλά το πιο ενδιαφέρον τεχνικά δικαίωμα τώρα πρόκειται να είναι αυτό.
Αν πάω στην καρτέλα Network, ας ξεκαθαρίσουμε τώρα αυτό.
Πάω να κάνετε κλικ στο μικρό σύμβολο του σταυρού εδώ, και στη συνέχεια
μεταβείτε σε μια άλλη ιστοσελίδα.
Και είμαι απλώς πρόκειται να πληκτρολογήσετε στο Facebook.com.
Δεν HTTP, HTTPS όχι, δεν WWW.
Ας δούμε πραγματικά τι συμβαίνει εδώ.
>> Enter.
Τώρα παρατηρήσετε ένα σωρό πράγματα απλά εμφανίστηκε σε αυτόν τον πίνακα κάτω, στο
Εκτός από την ιστοσελίδα εμφανίζεται στην κορυφή.
Πάω να μετακινηθείτε προς τα πίσω στον Στην καρτέλα Network εδώ, και είμαι πρόκειται να
κάντε κλικ στην πρώτη γραμμή.
Τι αυτό το εργαλείο πρόκειται να αποκαλύψει σε μας είναι κάθε ένα από τα αιτήματα HTTP
ότι γρήγορα μόλις πήγε πίσω και εμπρός μεταξύ του browser μου
και server του Facebook.
Και έτσι κάθε μία από αυτές τις γραμμές αντιπροσωπεύει ένα τέτοιο αίτημα ή
απόκρισης, μία ή περισσότερες από Αυτά τα εικονικά φάκελο.
Ή πιο άνετα, είναι σαν ένα πρόσωπο σαν ένα πρόσωπο, ένας πελάτης σε ένα
εστιατόριο, ζητώντας κάτι ξανά, και ξανά, και ξανά.
Και ο σερβιτόρος κρατά φέρνοντας πίσω ένα κάθε φορά.
>> Έτσι τώρα, αν κάνετε ζουμ σε αυτό, παρατηρήστε και αυτό θα είναι το είδος του πράγματος
ότι είστε ευπρόσδεκτοι και ενθαρρύνονται να παίξει με τη δική σας, γιατί
δεν θα περάσουν από όλα με μεγάλη λεπτομέρεια.
Να σημειωθεί όμως ότι υπάρχει μια μερικά επιμέρους καρτέλες εδώ -
Κεφαλίδες, Preview, Response, Cookies, και το χρονοδιάγραμμα.
Είμαι ακριβώς πρόκειται να δούμε κεφαλίδες για τώρα, διότι αυτά είναι μικρά
συστατικά στο εσωτερικό του περιβλήματος που στοιχεία βοηθούν πάρει από και προς χώρους.
>> Έτσι, η πρώτη, επιτρέψτε μου να κάντε κλικ σε αυτό, Θέα Πηγή δίπλα στο κεφαλίδες αιτημάτων.
Υπάρχει το αίτημα ότι ο φυλλομετρητής μου, Chrome, στην περίπτωση αυτή, αποστέλλεται στο εσωτερικό της
ότι η εικονική φάκελο.
Θα θυμάστε την περασμένη εβδομάδα δακτυλογραφημένα αυτό, ενώ
προσποιείται ότι είναι ένα πρόγραμμα περιήγησης.
Στη συνέχεια υπενθύμισε το διακομιστή που είναι αναζητούν ονομάζεται ξενιστή
Facebook.com.
Και τότε υπάρχει μια λίγο πιο απόκρυφες πληροφορίες που θα κυματίσει
τα χέρια μας τώρα.
>> Αλλά αν αρχίσω να μετακινηθείτε προς τα κάτω τώρα αυτό το παράθυρο, επιτρέψτε μου να φτάσουμε στην
κεφαλίδες απόκρισης.
Αυτό ήταν ό, τι υπάρχει στον εικονικό φάκελο που επέστρεψαν από
Facebook.com.
Και αν κάνω κλικ στην επιλογή Προβολή προέλευσης μόνο για να δείτε τις πρώτες κείμενο αυτό,
παρατηρήσετε μερικά πράγματα.
Ένα, Facebook μιλά επίσης το ίδιο πρωτόκολλο, έκδοση 1.1 αυτής.
Έτσι, αυτό είναι ωραίο.
Αλλά κωδικό κατάστασης 301, μετακόμισε μόνιμα.
>> Λοιπόν, πού στο καλό έκανε Facebook πάτε;
Τι είναι αυτό που προσπαθεί να μας μεταφέρει;
Λοιπόν, παρατηρούμε εδώ κάτω υπάρχει ένα άλλο επικεφαλίδα που ονομάζεται Location.
Γιατί λοιπόν Facebook μου λέει ότι μετακόμισε μόνιμα στην εν λόγω διεύθυνση URL
δίπλα στην τοποθεσία?
Ξέχασα το www.
>> Έτσι, αυτό ήταν επιλογή μου.
Στην πραγματικότητα, οι περισσότεροι από εμάς σπάνια, κατά πάσα πιθανότητα, πληκτρολογήστε www.whatever.com αυτές τις μέρες.
Αλλά αποδεικνύεται ένα διαχειριστή του συστήματος, όπως το Facebook, μπορεί να
ρυθμίσετε τους διακομιστές τους με τέτοιο τρόπο ότι είτε Facebook.com λειτουργεί, ή
www.Facebook.com λειτουργεί, ή, πραγματικά, οποιαδήποτε τέτοια πρόθεμα μπροστά από τους
domain name.
Έτσι το έχουν κάνει αυτό για εμάς.
Και αυτά μας ανακατεύθυνση, κατά πάσα πιθανότητα για κάποια τεχνική,
μερικοί λόγους marketing.
Θέλουν μόνο να canonicalize στο www.Facebook.com.
>> Αλλά αυτό δεν είναι αρκετά αυτό.
Αν διαβάσω εδώ κάτω, ας δούμε τι θα συμβεί.
Αυτό λέει ότι μου μετακόμισε μόνιμα στην
http://www.Facebook.com.
Έτσι, ας δούμε το δεύτερο αίτημα ότι ο φυλλομετρητής μου στέλνει.
Δυστυχώς, μοιάζει Facebook έχει μετακινηθεί και πάλι, επειδή το δεύτερο
αίτηση, επιλέγοντας αυτήν τη διεύθυνση URL αντ 'αυτού, λέει ότι, επίσης, κινήθηκε
μόνιμα.
Και επιτρέψτε μου να μετακινηθείτε προς τα κάτω εδώ στις κεφαλίδες απόκρισης.
Σε περίπτωση που έχει Facebook φύγει τώρα;
>> Έτσι HTTPS.
Μέχρι τώρα το Facebook έχει αρχίσει, ιδίως υπό το πρίσμα της τρέχουσας
τα γεγονότα των τελευταίων μηνών, ειδικά και Επίσης, τα τελευταία δύο χρόνια
να υποχρεώσει όλους τους χρήστες τους, σε μια καλή τρόπο, για να χρησιμοποιήσεις HTTPS, το οποίο είναι πιο
εξασφαλίσει, αν και δεν είναι απόλυτα ασφαλής.
Και έτσι τώρα μου σελίδα, ο browser μου είναι πρόκειται να ζητήσει από το τρίτο URL.
Και τώρα, επιτέλους, θα έχουμε το διαφορετικά αόρατο 200 OK.
>> Έτσι, ό, τι στον κόσμο ή το σύνολο των αυτές οι άλλες σειρές εδώ κάτω.
Έχω πληκτρολογήσει κυριολεκτικά ένα πράγμα, και μου περιήγησης φαίνεται να έχει ζητήσει όπως
20 μερικά περίεργα πράγματα.
Τι είναι αυτό;
>> ΚΟΙΝΟ: Scripts;
>> ΟΜΙΛΗΤΗΣ 1: Σενάρια, έτσι ώστε άλλα αρχεία γραμμένο σε μια γλώσσα που ονομάζεται
JavaScript, τα οποία, και πάλι, εμείς θα δείτε ένα κομμάτι από την Τετάρτη.
Τι άλλο;
Τα φύλλα στυλ.
Έτσι, κάτι που ονομάζεται γλώσσα CSS, που θα δούμε σε λίγο.
Gifs, και JPEG, και PNGs, και εικόνες, και τα αρχεία ταινιών - ανεξάρτητα από μια ιστοσελίδα
έχει είναι πιο πιθανό να συμβεί σε τη μορφή ενός αρχείου.
Και έτσι αυτό που βλέπουμε στα αριστερά πλευρά υπάρχει όλα τα αρχεία
ότι το Chrome έπρεπε να κατεβάσετε, αναδρομικά, αν θέλετε, προκειμένου να
συνθέτουν το σύνολο της σελίδας.
>> Έτσι, αυτό που είδαμε πριν από λίγο με την Google, αν κάνω κλικ στα στοιχεία
καρτέλα, αυτό, σίγουρα, είναι η HTML, η γλώσσα που συνθέτει αυτή τη σελίδα.
Αλλά υπάρχει τσαμπιά από άλλα πράγματα.
Υπάρχει ένα λογότυπο.
Υπάρχουν εκείνοι μπλε-ish εικονίδια εκεί.
Και υπάρχουν και άλλα στοιχεία ακόμα η σελίδα που οι ίδιοι θα μπορούσε να είναι
ξεχωριστά αρχεία.
>> Έτσι, τι είναι καλό για ένα πρόγραμμα περιήγησης είναι ότι φαίνεται αυτή τη γλώσσα θα πάμε
να αρχίσετε να γράφετε, ή έχετε ήδη Ξεκίνησα να γράφω στο σύνολο P 7, στοιχεία
από πού αυτά τα αρχεία ζουν, και πάει και αρπάζει τους, καθώς και.
Και δεν μπορώ να τονίσω αρκετά, ακόμα και αν και ορισμένες από αυτές μπορεί να μοιάζει λίγο
απόκρυφες ή συντριπτική με την πρώτη ματιά, μαθαίνοντας πώς να προγραμματίσετε
εφαρμογές για το web, είναι ανεκτίμητη για να καταλάβουμε πώς αυτά τα
μικρά εργαλεία εργασία.
Αυτά είναι περίπου όπως GDB, όπως εργαλεία, αλλά πολύ πιο απλή, τελικά, να χρησιμοποιούν -
και πραγματικά δίνει τα μάτια σας σε ό, τι έχουμε ήδη λάβει ως δεδομένο για
εδώ και αρκετό καιρό τώρα.
>> Τι μπορούμε λοιπόν να κάνουμε τώρα με αυτή η πληροφορία;
Λοιπόν, ας ρίξουμε μια ματιά στην πραγματικότητα σε οι έννοιες στις οποίες βασίζονται HTML.
Και θα αναβάλει, όπως έχουμε ήδη, να τμήματα αυτή την εβδομάδα, για το πρόβλημα
Σετ 7 προδιαγραφές, σε μερικά από τα πιο στοιχεία αυτών των γλωσσών.
Αλλά ας δούμε αν δεν μπορούμε να ζωγραφίσει ένα εικόνα για το τι θα πρέπει να καταλάβουν
συνολικά εδώ.
>> Έτσι, HTML, Hypertext Markup Language, δεν είναι μια γλώσσα προγραμματισμού.
Τι πραγματικά σημαίνει;
Έτσι HTML μοιάζει με αυτό.
Και κάποιοι από εσάς γνωρίζετε ήδη αυτό.
Κάποιοι από εσάς έχουν κάνει αυτό για κάποιο χρονικό διάστημα.
Αλλά ας δούμε αν δεν μπορεί να γεμίσει σε ορισμένες κενά καθώς και.
Έτσι παρατηρήσετε μερικά πράγματα εδώ.
Ένα, είναι μόνο κείμενο.
Έτσι είναι ακριβώς όπως το πηγαίο κώδικα C, ή κάποια άλλη γλώσσα.
>> Παρατηρήστε ότι φαίνεται να υπάρχει να είναι ένα μοτίβο εδώ.
Δεν υπάρχει εσοχή, αλλά τεχνικά η εσοχή είναι απλά ανθρώπινο
σύμβαση.
Μια browsers δεν ενδιαφέρεται αν υπάρχει νέα γραμμές και τις καρτέλες όπως βλέπουμε εκεί.
Αλλά παρατηρήσετε ότι υπάρχει συμμετρίες εδώ.
Δεν υπάρχει αυτό που θα καλέσει, στην κορυφή του αυτό το αρχείο, η ανοικτή ετικέτα, ή η αρχή
tag, που ονομάζεται HTML.
Και τότε, κάτω, τέλεια επένδυση up, όπως και το κάνουμε με άγκιστρα,
βλέπουμε ανοικτή βραχίονα προς τα εμπρός slash, HTML, κλείσιμο παρένθεσης.
Έτσι, αυτό είναι το αντίστοιχο κλείσιμο ετικέτα, ή στο τέλος tag, για αυτό το πράγμα.
>> Μαζί, όλα μέσα από το λεγόμενη ανοικτή ετικέτα και ετικέτα κλεισίματος
συνθέτουν αυτό που θα ονομάζουμε ένα στοιχείο.
Και θα δούμε, ακριβώς σε μια στιγμή, είναι πραγματικά σαν ένα κόμβο σε δέντρα.
Γιατί αν σκεφτούμε τώρα το εσοχή που είναι υπονοείται εδώ,
είδος πρέπει, όπως, ένα παππού και γιαγιά κόμβο που ονομάζεται HTML.
Πόσα παιδιά θα μπορούσαν να σας πω, με βάση σε αυτή την εικόνα, η HTML στοιχείο έχει;
>> Έτσι, ίσως δύο.
Ένα είναι το στοιχείο κεφαλής, προφανώς.
Και το ένα είναι το στοιχείο του σώματος.
Και γιατί δύο παιδιά;
Λοιπόν, είμαι ακριβώς το είδος της συμπεραίνοντας ότι εάν Έχω μια ανοικτή ετικέτα κεφάλι και στη συνέχεια μια
στενή ετικέτα κεφάλι, αυτό είναι ένα στοιχείο.
Και τότε, αν υπάρχει μια άλλη ανοιχτή καρότσα tag και ένα tag κλεισίματος του σώματος, αυτό είναι σαν να
ένα άλλο στοιχείο.
Έτσι, με την έννοια ότι αν το είδος της περιστροφής η εικόνα από την πλευρά της, είναι
σαν να έχεις ένα HTML tag, και στη συνέχεια μια ετικέτα κεφάλι, και στη συνέχεια μια ετικέττα του σώματος, και
τότε κάποιο κείμενο, hello world, κρέμονται μακριά από την ετικέτα ίδιο το σώμα.
>> Έτσι, μπορούμε να βγάλουμε μια εικόνα που να μοιάζει με αυτό.
Τα σχήματα είναι αυθαίρετα.
Αλλά παρατηρήσετε ότι έχω χρησιμοποιήσει ένα είδος Έλλειψη στην κορυφή για να εκπροσωπεί την
ίδιο το έγγραφο.
Αποδεικνύεται ότι μπορεί να υπάρχουν άλλα πράγματα μέσα από μια ιστοσελίδα που δεν έχω
θυμίσουμε εδώ.
Έτσι θα πάμε για να κρεμάσετε ακόμη και το HTML off κόμβο ενός λεγόμενου κόμβο εγγράφου.
Και μετά έχουμε το κεφάλι και το σώμα και τον τίτλο, ανακοίνωση,
το οποίο είναι ένθετο περαιτέρω.
Δεν έκαναν τον κόπο βάζοντας επιπλέον γραμμή διαλείμματα στο εσωτερικό της ετικέτας τίτλου.
Απλά αισθάνθηκε σαν να είχε πάρει λίγο πολύ φλύαρο.
Γι 'αυτό και το άφησε σε μία γραμμή εκεί, με ανοιχτή τίτλο, hello world, κοντά τίτλο.
Και τότε έχουμε κάποιο κείμενο κρέμονται μακριά από εδώ.
>> Έτσι, αυτή η εικόνα θα επανέλθει στο μας όταν βουτήξει JavaScript.
Και η κατανόηση ότι όταν γράψετε HTML, όπως αυτό, τι
είναι ένα πρόγραμμα περιήγησης κάνει;
Λοιπόν, δεν χρειάζεται να ανησυχείτε για πώς θα το κάνει αυτό, ή με ό, τι
αλγόριθμο, αλλά στο τέλος της ημέρας, όταν ο browser δέχεται HTML, όπως
ότι, από το Facebook ή το Google, που αναλύει αυτό, να το πω έτσι, να διαβάζει,
με κάτι σαν fread, πάνω προς τα κάτω, αριστερά προς τα δεξιά, και καθώς
συνειδητοποιεί, oh, ανοιχτό tag, και στη συνέχεια κλείστε tag, αρχίζει να malloc, να το πω έτσι,
ένας κόμβος σε ένα δέντρο.
Και όταν συναντά, όπως έχουμε σιωπηρή εδώ με την εσοχή, ένας
κόμβο παιδί, mallocs έναν κόμβο για να και ότι συνδέεται με το δέντρο.
>> Έτσι, οι δομές δέντρων, δυαδικά δέντρα, δέντρα τριμερή, και μεγαλύτερα δέντρα, ότι
έχουμε μια ματιά σε μια εβδομάδα ή δύο χρόνια πριν, ανακοίνωση ότι η ίδια αρχή είναι
έρχονται πίσω σε μας.
Και όποιος εφαρμοστεί, Chrome, τιδήποτε Η ομάδα έκανε αυτό, προφανώς είχε
να εφαρμόσουν κάποιο είδος της δομής δέντρου κάτω από το καπό.
Και ότι η ίδια είναι πιθανώς σε γλώσσα όπως C, C + +, ή ένα κατώτερο
γλώσσα υψηλού επιπέδου που θα χρησιμοποιούν σήμερα στην κορυφή του ιστού.
>> Έτσι τώρα, ίσως, αυτό θα να έχει περισσότερο νόημα.
Πραγματική τατουάζ από κάποιον τύπο που θα μπορούσαν να μετανιώσουμε για αυτό, τελικά το είδος του.
Εντάξει, εντάξει, έτσι, ένα πολύ χιούμορ web.
Δεν είναι πραγματικά συμβαίνει πάνω τόσο καλά σήμερα.
Έτσι θα προχωρήσουμε.
Εντάξει.
>> Έτσι, ας ρίξουμε μια ματιά τώρα σε μερικά παραδείγματα.
Το απλούστερο δυνατό πράγμα που θα μπορούσε να είναι αυτό.
Πάω να πάει μπροστά και να ανοίξει το gedit ένα αρχείο που ονομάζεται hello.php.
Και μέσα από εδώ, θα πάω γρήγορα απλά να το κάνετε αυτό, printf, παραθέτω
unquote, "hello world."
>> Έτσι προειδοποίηση, και θα κάνω backslash ν μου, Δεν έχω μπει στον κόπο να κηρύξει.
Αποδεικνύεται, σε php, και πολλά γλώσσες, δεν χρειάζεται ένα κύριο
λειτουργία per se.
Μπορείτε απλά να αρχίσετε να γράφετε το πρόγραμμά σας.
Τώρα, όταν θα αποθηκεύσετε αυτό το αρχείο, παρατηρούμε ότι είμαι θα πρέπει να κάνετε τα εξής.
Είμαι δεν πρόκειται να χρησιμοποιήσετε κάνουν, και δεν είμαι πρόκειται να χρησιμοποιήσετε κλαγγή, επειδή η PHP, σε αντίθεση με
C, δεν είναι ένα καταρτίζονται γλώσσας.
Είναι αυτό που ονομάζεται ερμηνεύεται γλώσσας, πράγμα που σημαίνει ότι μπορείτε να εκτελέσετε
ως εισροή μέσω άλλου προγράμματος ονομάζεται διερμηνέα.
Και αυτό το πρόγραμμα διαβάζει, πάνω προς τα κάτω, αριστερά προς τα δεξιά, και δεν
ό, τι σας πει να το κάνει.
>> Έτσι, στην περίπτωση αυτή, εδώ έχω μια γραμμή που λέει printf.
Έτσι, όταν τρέχω αυτού του πηγαίου κώδικα, hello.php, αν και ένα πρόγραμμα που
συμβαίνει, βολικά, να ονομάζεται PHP, ότι η PHP πρόγραμμα πρόκειται να διαβάσετε
αυτό το αρχείο, πάνω προς τα κάτω, αριστερά προς τα δεξιά, και πρόκειται να κάνω ό, τι
πει να το κάνει - την εκτέλεση κώδικα, και αν δεν αναγνωρίζει κάτι, απλά
φτύσιμο.
Έτσι, Πάω να προχωρήσει και τρέξει PHP της hello.php.
Enter.
>> Και αυτό δεν είναι ακριβώς αυτό που προορίζεται.
Λοιπόν, γιατί συμβαίνει αυτό;
Λοιπόν, PHP είναι μια γλώσσα που είναι πραγματικά σχεδιαστεί ώστε να είναι αρκετά
συνυφασμένη με το διαδίκτυο.
Όταν λήψης ιστοσελίδων με αυτή τη γλώσσα PHP, όπως θα δούμε σύντομα, θα
θέλουν να κάνουν κάτι, όπως εκτύπωση τις γραμμές, όπως αυτό.
>> Έτσι, Πάω να το κάνουμε αυτό.
Open βραχίονα, ερωτηματικό, PHP, και τώρα είμαι απλώς πρόκειται περίπτωση, μόνο για να κρατήσει
ωραία πράγματα.
Και τώρα θα πάω να κάνω μια ερώτηση σηματοδοτήσει κλείσιμο παρένθεσης.
Έτσι, υπάρχει ένα κομμάτι της ασυμμετρίας εδώ.
Δεν χρειάζεται να το κάνετε αυτό.
Και δεν μπορείτε να κάνετε μια κάθετο, έτσι ώστε PHP είναι λίγο διαφορετική.
>> Αλλά τώρα, αν επαναληφθεί αυτό το πρόγραμμα, PHP hello.php, τώρα
πραγματικά να πάρει Hello World.
Και θα δούμε γιατί αυτό είναι πολύτιμο.
Ένα, μου επιτρέπει να ορίσετε, super ρητά, αυτό είναι
κώδικα, εκτελέστε αυτό.
Και αυτό είναι πράγματι ό, τι αυτά ειδικές ετικέτες συνεπάγονται εδώ.
>> Αλλά αυτό σημαίνει επίσης ότι αν εγώ απλά κάνω κάτι σαν Στόχος μου είναι εδώ, ότι
σημαίνει ότι, στην κυριολεξία, που απλά θα να εκτυπωθούν χωρίς την ανάγκη να
στην πραγματικότητα έκκληση printf, ή εκτύπωσης, ή οποιαδήποτε παρόμοια λειτουργία.
Γι 'αυτό θα επανέλθω στο θέμα αυτό ακριβώς σε μια στιγμή.
>> Πρώτον, ας το κάνουμε.
Στο εσωτερικό της συσκευής, έχουμε μια κατάλογο που ονομάζεται vhosts, για εικονικές
οικοδεσπότες, κάθετος τοπικό κεντρικό υπολογιστή, περικόψουν τις δημόσιες.
Γι 'αυτό είναι λίγο φλύαρη, αλλά μεγάλη ιστορία ολίγοις, η συσκευή έχει σχεδιαστεί ώστε να μην
μόνο για την υποστήριξη C. Είναι επίσης σχεδιαστεί για να υποστηρίζει PHP.
Αλλά είναι επίσης σχεδιαστεί για να είναι ένα web server, καθώς και μια βάση δεδομένων διακομιστή.
Και έχει σχεδιαστεί, και πραγματικά έχει ρυθμιστεί, για να θυμίζει οποιαδήποτε
εμπορική εταιρεία web hosting που μπορείτε να πληρώσετε $ 5 το μήνα για,
100 δολάρια το μήνα για.
Όποια και αν είναι η υπηρεσία είναι, έχει διαμορφωθεί να είναι πολύ παρόμοια με ένα
πραγματικό διακομιστή παγκόσμιας παραγωγής.
>> Και τι σημαίνει αυτό είναι ότι λειτουργεί με η συσκευή είναι το λογισμικό διακομιστή Web.
Συμβαίνει να ονομάζεται Apache.
Είναι απλά δωρεάν και ανοιχτού κώδικα, και πολύ δημοφιλής.
Και έχουμε ρυθμίσει Apache να ξέρετε ότι αν επισκεφθείτε μια συγκεκριμένη διεύθυνση URL, με
Chrome ή οποιοδήποτε πρόγραμμα περιήγησης στο εσωτερικό του συσκευής, να εξετάσει αυτόν τον κατάλογο
για τα αρχεία ότι η χρήστης ζητά.
>> Με άλλα λόγια, επιτρέψτε μου να να προχωρήσει και να το κάνουμε αυτό.
Στο εσωτερικό του δημόσιου καταλόγου μου, Πάω να προχωρήσει και να δημιουργήσει ένα αρχείο
ονομάζεται index.html.
Αυτό μου δίνει την καρτέλα εδώ.
Και Πάω να πάει πολύ γρήγορα και να προχωρήσει και να κτυπήσει έξω
αυτό το πρόγραμμα εδώ.
DOCTYPE HTML, η οποία προς το παρόν, μόνο υποθέσουμε ότι έχετε να πληκτρολογήσετε.
Είναι απλά μια απόκρυφη tag, αυτό δεν είναι πραγματικά μια ετικέτα HTML, η οποία ορίζει ότι
εδώ έρχεται κάποια HTML.
>> Πάω να πάει μπροστά και να αναδημιουργήσει αυτό που είδαμε πριν από λίγο.
Εδώ είναι ο επικεφαλής της σελίδας.
Μέσα από το κεφάλι ήταν η -
έτσι τον τίτλο.
Γι 'αυτό και θα πω γεια, κόσμο.
Και τότε εδώ κάτω ήταν η ετικέτα του σώματος.
Επιτρέψτε μου να κλείσω την ετικέτα του σώματος.
Και στη συνέχεια, εδώ εγώ θα πω επίσης, μόνο για λόγους σαφήνειας, hello world.
>> Έτσι, αυτό είναι, αναμφισβήτητα, το πιο απλό δυνατόν ιστοσελίδα σας
μπορεί να κάνει ότι είναι έγκυρο.
Είναι συντακτικά έγκυρο.
Ό, τι ανοίγει κλείνει.
Όλα είναι όμορφα σε στυλ και εσοχή.
Ας δούμε τώρα πώς θα να αποκτήσετε πρόσβαση σε αυτό το αρχείο.
>> Λοιπόν, επιτρέψτε μου να πάω στο Chrome εδώ.
Και επιτρέψτε μου να πάει στο http://localhost/index.html.
Έτσι τι είναι τοπικό κεντρικό υπολογιστή;
Λοιπόν, οι περισσότεροι κάθε υπολογιστή στον κόσμο, Linux, Mac OS, Windows, έχει ένα ψευδώνυμο
ονομάζεται τοπική υποδοχής.
Έτσι, αν ποτέ θέλουν να μιλήσουν στον υπολογιστή σας -
αν και, παραδόξως αντανακλαστικά -
αποκαλείτε τον εαυτό σας τοπικό κεντρικό υπολογιστή.
Δεν έχει σημασία τι πραγματικά ο υπολογιστής σας είναι ονομάζεται, είτε πρόκειται για MacBook Δαβίδ
Air, ή κάτι περισσότερο φλύαρη έτσι.
>> Έτσι, αυτή η διεύθυνση URL είναι προφανώς πρόκειται να χρησιμοποιήσετε το HTTP για να μιλήσετε με τον τοπικό κεντρικό υπολογιστή,
το ίδιο υπολογιστή, η συσκευή, και πρόκειται να ζητήσει, απλά ρίξτε μια
Μάλλον, αυτό το αρχείο;
Index.html.
Έτσι, η συσκευή έχει ρυθμιστεί σε εκ των προτέρων να γνωρίζουν ότι αν ρωτάω
για κάτι σαν index.html, αναζητήστε σε ένα φάκελο που ονομάζεται vhosts, σε
φάκελο που ονομάζεται localhost, σε ένα φάκελο σ 'αυτό που ονομάζεται δημόσια.
Αυτός είναι όπου το σύνολο των δημόσιων μου αρχεία πρόκειται να είναι.
Έτσι είμαι τώρα πρόκειται να πατήσετε Enter.
>> Και βλασφημία, είναι εκεί που απαγορευμένο μήνυμα, αλλιώς γνωστή ως 403, η
αριθμητικό κωδικό για αυτό.
Έτσι τι συμβαίνει εδώ;
Λοιπόν, αυτό δεν είναι αρκετό απλά να θέσει το αρχείο στο εσωτερικό του φακέλου μου.
Θα πρέπει να κάνουμε πραγματικότητα το εξής.
>> Επιτρέψτε μου να πάω σε vhosts κατάλογο μου, σε localhost, στο κοινό, και αφήστε
κάνω ls l παύλα.
Και υπάρχουν μερικά άλλα πράγματα εδώ για τους σκοπούς του σήμερα.
Αλλά προκήρυξη για την αριστερή πλευρά, δίπλα να index.html, βλέπουμε μόνο ένα RW.
Και στο παρελθόν, τι έχει RW στάθηκε για;
>> Απλά διαβάσει ή να γράψει.
Το γεγονός ότι λέει RW στο αριστερό σημαίνει ότι, ο ιδιοκτήτης αυτού του αρχείου, μπορεί να
διαβάσει ή να γράψει.
Αλλά πρέπει να αφήσουμε όλοι οι άνθρωποι στην κόσμο να διαβάσετε αυτό, δεν γράφουν αυτό όμως.
Έτσι, Πάω να αλλάξετε τη λειτουργία της αρχείο, chmod, συν όλα τα r για να δώσει
ο καθένας να διαβάσετε την άδεια για την αρχείο με όνομα index.html.
>> Και αν τώρα ξαναπληκτρολόγησέ ls παύλα l, ανακοίνωση ότι, εδώ, λίγο περισσότερο
Του R έχουν σκάσει επάνω.
Και προς το παρόν, το spec πηγαίνει σε περισσότερες λεπτομέρειες.
Για P σύνολο 7, που σημαίνει απλά ο καθένας μπορεί πλέον να διαβάζει αυτό το αρχείο.
Αν πάω πίσω στο πρόγραμμα περιήγησής μου τώρα και να φορτώσετε εκ νέου, voila.
Γεια σας κόσμο.
>> Και μπορώ να ανοίξω ακόμη Chrome εργαλεία μου και να δούμε, όπως ακριβώς και με την Google και
Facebook ότι δεν υπάρχει HTML μου, διαμορφωθεί λίγο
με διαφορετικό τρόπο και να χρωματιστούν.
Αν πάω στην καρτέλα δικτύου και τοποθετήστε η σελίδα, παρατηρήσετε ότι υπάρχει το πάρει
ζητήσει το Chrome είναι η αποστολή στη συσκευή.
Υπάρχει το 200 για να συγκεκριμένο αρχείο.
Έτσι, με λίγα λόγια, αυτό είναι το πώς όλα αυτά διάφορα κομμάτια έρχονται μαζί.
Είναι ακριβώς έτσι συμβαίνει ότι ο web server είμαστε χρησιμοποιώντας αυτή τη στιγμή δεν είναι απομακρυσμένη,
όπως το Facebook.
Είναι κυριολεκτικά στον ίδιο υπολογιστή, η οποία είναι απολύτως εντάξει.
>> Έτσι, ό, τι περισσότερο μπορούμε να κάνουμε σε μια ιστοσελίδα;
Λοιπόν, απλά, ας αεράκι μέσα ένα ζευγάρι από αυτά τα πράγματα.
Αλλά επιτρέψτε μου να πάω μπροστά και να ανοίξει εκ νέου Gedit με index.html.
Και επιτρέψτε μου να προχωρήσει και να πω γεια CS50, αποθηκεύσετε αυτό το αρχείο, πηγαίνετε πίσω στο
περιήγησης, πραγματικά ανυπόφορο αλλαγή.
>> Αλλά τι γίνεται αν θέλουμε πραγματικά να σύνδεση με κάτι τώρα;
Έτσι αποδεικνύεται ότι μπορούμε να έχουμε το συνδέσεις σε HTML που είναι ακριβώς ετικέτες
οι ίδιοι.
Συμβαίνει να ονομάζεται ετικέτα αγκύρωσης. a href ισούται
https://www.cs50.net, www.cs50.net Κλείσιμο απόσπασμα, κλείσιμο παρένθεσης.
Και τώρα ας δούμε τι άλλο έρχεται το επόμενο.
>> Έχω ανοίξει την ετικέτα.
Τώρα πρέπει να το δώσει μια φράση όπως CS50.
Επιτρέψτε μου να κλείσω την ετικέτα.
Και παρατηρήσετε μερικά πράγματα.
Ακόμα κι αν υπάρχει αυτό το πράγμα αινιγματική εδώ, δεν έχω να επαναληφθεί όταν
κλείστε την ετικέτα.
Μπορείτε απλά κλείστε την ετικέτα με το όνομά του και μόνο.
Και αυτό είναι αυτό που είναι γνωστό ως ένα χαρακτηριστικό με μια τιμή.
Χαρακτηριστικά μόνο να τροποποιήσει τη συμπεριφορά από κάποια ετικέτα στο εσωτερικό μιας σελίδας.
>> Έτσι, αυτό διευκρινίζοντας ότι η υπερ- αναφοράς, το φανταχτερό τρόπο λέγοντας ότι η
URL για αυτή την άγκυρα, γι 'αυτό σύνδεση, θα πρέπει να CS50.net.
Και το κείμενο που θέλουμε να δείξουμε το Ο χρήστης δεν είναι ότι οι πρώτες URL, αλλά μάλλον
η CS50 λέξη.
>> Έτσι, αν τώρα reload, επιτρέψτε μου να zoom in για σαφήνειας, επιτρέψτε μου να επαναλάβετε τη φόρτωση της σελίδας,
παρατηρήσετε ότι έχουμε αυτό το παλιό σχολείο υπογραμμισμένο μπλε σύνδεσμο.
Και αν αιωρούνται από πάνω του, και πρόκειται να είναι δύσκολο να δούμε, στο κάτω αριστερά
γωνία της οθόνης, παρατηρήστε που λέει ότι η διεύθυνση URL στην οποία
Πάω να πάει.
Και αν κάνω κλικ εκεί, voila, τώρα είμαι λήψης ιστοσελίδων.
Και έχουμε τους εαυτούς μας οδήγησε στην αρχική σελίδα.
>> Αλλά παρατηρήσετε τι δυνατότητες Αυτό μας προσφέρει.
Η ασφάλεια είναι πολύ στη μόδα αυτές τις μέρες.
Τι θα συμβεί αν, αντί να πω κάτι σαν αυτό, και αντί να πάει στο, ας πούμε, ας
βλ., fakeCS50.net.
Ανανέωση αυτής της σελίδας.
>> Εντάξει, έτσι παρατηρήσετε ότι φαίνεται ακόμα σαν να είμαι πρόκειται να CS50, εκτός αν μια έξυπνη μάτι
θα παρατηρήσετε Πάω να ψεύτικο CS50.
Υποθέτω ότι ο τομέας αυτός δεν έχει ληφθεί.
Εντάξει, έτσι δεν είναι πλέον διαθέσιμο.
Έτσι, αυτό είναι καλό.
Κανείς δεν έχει πραγματικά αυτόν τον τομέα.
>> Αλλά ας είμαστε λίγο πιο κακόβουλο γιατί αυτό είναι χαζό.
Τι θα συμβεί αν αλλάξουμε αυτό Paypal.
Και τι γίνεται αν λέμε αυτό, όπως, www.paypal.badguy.com,
ό, τι το domain είναι.
Αυτό υπάρχει κατά πάσα πιθανότητα.
Έτσι, τώρα επιτρέψτε μου να επαναλάβετε τη φόρτωση της σελίδας.
Και εδώ έχουμε ένα είδος phishing επίθεση, Ρ-Η-Ι-S-H-Ι-Ν-G, η οποία είναι η
ανόητη λέξη που δίνεται για μια επίθεση που προσπαθεί να πληροφοριών ψάρι, ή, καλύτερα
ακόμα, τα χρήματα, από ανθρώπους από την εξαπάτηση τους σε παροχή πληροφοριών που
που διαφορετικά δεν θα κάνουμε.
Αυτό φαίνεται εντελώς legit, έτσι δεν είναι;
Πρέπει να έχω ένα σύνδεσμο εδώ για να Paypal.com.
Για να είμαστε δίκαιοι, αν μπορώ να sexed με κάποια γραφικά, μπορούμε να φανεί
περισσότερο σαν PayPal.
Σωστά;
Γιατί θα μπορούσε, ως ένα μέρος, Θα μπορούσα να πάω στο Paypal.com.
Και έχουμε μόλις δει πώς μπορώ δείτε όλα τα HTML τους.
Θα μπορούσατε να αντιγράψετε απλά και να αναδημιουργήσει το αισθητική του Paypal παρά να πάει
παλιό σχολείο εδώ.
Να σημειωθεί όμως, φυσικά, και είναι λίγο μικρή ακόμα, μόνο στο κάτω μέρος
αριστερή γωνία, σε σαν ένα σημείο 10 γραμματοσειρά, μπορείτε να δείτε τι URL είστε
στην πραγματικότητα πρόκειται να οδηγήσει σε.
>> Και έτσι αν έχετε πάρει ποτέ το spam λέγοντας προχωρήσει, και είστε λογαριασμό
έχει παραβιαστεί.
Παρακαλώ κάντε κλικ σε αυτό το σύνδεσμο και ενημερώστε μας κωδικό σας, ώστε να μπορούμε να διασφαλίσουμε ότι είστε
σας, δεν κάνει ποτέ κάτι τέτοιο.
Αυτά τα πράγματα πρέπει να είναι αυτονόητο.
Αλλά είναι θαυμάσια διασκεδαστικό, και τραγική, πως κάθε χρόνο αυτή φαίνεται να
συμβεί σε κάποια μη μηδενική αριθμό των ατόμων.
>> Και αυτή είναι η ομορφιά των επιθέσεων phishing.
Μπορείτε να στείλετε ένα εκατομμύριο e-mail.
Και ακόμα κι αν 0,01% των ανθρώπων που πραγματικά κάντε κλικ στο Paypal και να σας δώσει σας
κωδικό πρόσβασης, αυτό είναι ακόμα ένα μη μηδενικό αριθμό των ανθρώπων που μόλις δίνοντας
χρήματα τους.
Και την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου, φυσικά, είναι αρκετά εύκολη και, κυρίως, χωρίς
αυτές τις μέρες.
>> Έτσι, τα πολυλογώ, υπέροχα όμορφη ιδέα, έτσι δεν είναι;
Πριν από χρόνια, αυτή ήταν η πρώτη web, επιτρέποντας μια ιστοσελίδα του
hyperlinks στους πόρους.
Αλλά τόσο γρήγορα θα μπορούσε να είναι χρησιμοποιούνται για την κακή έννοια.
Και email, αρκεί να πούμε, αυτά ημέρες, έχουν HTML ενσωματωμένα μέσα.
>> Λοιπόν, επιτρέψτε μου μόνο ένα άλλο πράγμα.
Και θα αναβάλει μεγάλο βαθμό στην ενότητα του το πρόβλημα που επτά για να σας επιτρέψει να
διερευνήσει τα στοιχεία.
Αλλά επιτρέψτε μου να πάω μπροστά και κάνει μερικά πράγματα εδώ.
Πάω να πάει και να κηρύξει αυτό που ονομάζεται div, ή
διαίρεση, μέρος της σελίδας.
Επιτρέψτε μου να κλείσω την ετικέτα div.
>> Και Πάω να πω μέχρι εδώ κορυφή της σελίδας.
Και στη συνέχεια κάτω από αυτό, είμαι πρόκειται να κάνει κάτι σαν ένα άλλο div, κλείστε αυτό
ετικέτα, και να κάνει κάτω μέρος της σελίδας.
Και ας τη σώσουμε.
>> Έτσι τώρα ας πάμε πίσω στο αρχείο μου.
Πολύ απογοητευτικό.
Αλλά τι διαίρεση χρησιμοποιείται για την, κάτω από την κουκούλα, είναι στην πραγματικότητα
ένα ωραίο δομικό στοιχείο.
Δεν έχει καμία αισθητική καθόσον μπορούμε να δούμε, εκτός, προφανώς,
να βάλουμε τα πράγματα σε νέες γραμμές.
>> Αλλά προσέξτε, ως μέρος, απλά το χτύπημα Εισάγετε δεν το κόβουμε σε HTML, όπως αυτό
δεν σε C. Μπορείτε να σκεφτείτε ότι αυτό είναι πρόκειται να θέσει ένα ωραίο μεγάλο χάσμα μεταξύ
το πάνω και κάτω μέρος της σελίδας.
Αλλά αυτό είναι αγνοείται.
Λευκή χώρος είναι ουσιαστικά αγνοήθηκε στην ιστοσελίδων άλλο εκτός από την πρώτη κιόλας
διάστημα χαρακτήρα bar, ή μεταφορά μετ 'επιστροφής, ότι θα χτυπήσει στο πληκτρολόγιο.
Αν θέλετε περισσότερες αλλαγές γραμμής, που Πρέπει να καθορίσετε μόνοι σας.
>> Έτσι, Πάω να κάνω μερικά πράγματα εδώ για να δείτε τι συμβαίνει.
Πάω να προσθέσετε ένα χαρακτηριστικό που υπάρχει και πάλι, ο τρόπος που μπορείτε να μάθετε
Τι αποδίδει υπάρχουν, ποιες ετικέτες υπάρχουν, Πραγματικά, είναι σε απευθείας σύνδεση αναφορές.
HTML είναι το είδος της γλώσσας - είναι δεν είναι μια γλώσσα προγραμματισμού.
Είναι μια γλώσσα σήμανσης - ότι μετά από μια καλή μισή ώρα, ίσως, μια ώρα με
αυτό, σίγουρα θα γίνει αντιληπτό, οι περισσότεροι πιθανό, η βασική ιδέα.
Και τότε μια αναζήτηση στο Google είναι μακριά όλα τις πιθανές λέξεις-κλειδιά που μπορεί να σας
ενδιαφέρει
Και σύμφωνα με το spec, που είναι αρκετά ευπρόσδεκτη και ενθαρρύνεται εδώ.
>> Έτσι, τώρα επιτρέψτε μου να προχωρήσει και να κάνει κάτι τέτοιο.
Χρώμα φόντου.
Και τώρα, θα πάω να κάνω κάτι όπως το κόκκινο, το ερωτηματικό.
Και μπορείτε να το κάνετε αυτό σε μερικοί διαφορετικοί τρόποι.
Είμαι ακριβώς το είδος της δακτυλογράφησης ως super ρητά δυνατόν.
>> Αλλά αποδεικνύεται ότι η τιμή αυτή είναι εδώ ό, τι λέγεται CSS, Cascading Style
Φύλλα, τα οποία είναι μια άλλη γλώσσα εντελώς.
CSS έχει τίποτα να κάνει με ανοίξετε ετικέτες και στενούς tags.
Έχει να κάνει με τις ιδιότητες.
>> Και ιδιότητες είναι απλά βασική αξία ζεύγη, πράγμα που σημαίνει απλά κάποια λέξη,
του παχέος εντέρου, και στη συνέχεια κάποια άλλη λέξη.
Και αν έχετε πολλούς φίλους, ή απλά κανείς εδώ, μπορείτε να καταλήξετε με ένα
ερωτηματικό, μόνο για λόγους σαφήνειας.
Αλλά αυτό, επίσης, θα λειτουργήσει εδώ.
>> Τώρα τι είναι αυτό πρόκειται να κάνει;
Μπορείτε να μαντέψετε.
Επιτρέψτε μου να προχωρήσει και ανανεώστε αυτή τη σελίδα.
Και τώρα είναι πραγματικά έρχονται μαζί.
Έτσι κορυφή της σελίδας μου είναι κόκκινο.
Αλλά τι είναι το κλειδί εδώ είναι ότι, ανέφερα Νωρίτερα, η div δίνει
ένα τμήμα της σελίδας.
Και αυτό είναι όντως αυτό που κάνει.
Είναι ουσιαστικά χωρίζει τη σελίδα σε ένα ορθογώνιο παραλληλόγραμμο που μπορείτε στη συνέχεια
χειραγωγήσουν.
>> Και αυτή η έννοια των ορθογωνίων είναι το είδος της συναρπαστικό το ότι, αν νομίζετε ότι από
πιο οποιαδήποτε ιστοσελίδα, υπάρχει πιθανώς κάποια δομή σε αυτό.
Οι περισσότεροι από εσάς έχετε μάλλον σπάνια Αρχική σελίδα του Facebook αν είστε συνδεδεμένοι
σε όλη την ώρα.
>> Όμως, στην αρχική σελίδα του Facebook, δεν υπάρχει κάποιο είδος div κατά μήκος της κορυφής.
Και μπορεί να μην είναι τόσο απλό ως ένα div, αλλά υπάρχει ένα
ορθογώνια περιοχή εκεί.
Το υπόλοιπο της σελίδας είναι σαν ένα τεράστιο div, όπως ένα πολύ
μεγαλύτερα ορθογώνια περιοχή.
Έτσι, τα πολυλογώ, μόνο από την κατοχή αυτά τα μικρά δομικά στοιχεία, τα
ικανότητα πράγματα μοντέλο ως ορθογώνια, είτε ευρεία ή στενή, μπορείτε επίσης να
κάνει στήλες ενδεχομένως, σας επιτρέπει να lay out σελίδες, πραγματικά, ωστόσο θα
θα ήθελα.
Είμαστε πραγματικά ακριβώς το ξύσιμο η επιφάνεια εδώ.
>> Πράγματι, αν κάνω ένα άλλο, επιτρέψτε μου να πάει μπροστά και να κάνουμε το στυλ,
χρώμα φόντου, θα κάνουμε κάτι όπως το μπλε, κοντά εισαγωγικά.
Ας Ανανέωση της.
Έτσι τώρα είναι να πάρει ακόμη πιο άσχημο.
Αλλά τώρα μπορώ να το είδος των αναδείξουν P μου έθεσε πέντε δεξιότητες, έτσι δεν είναι;
Red.
Μου θυμίζει RGB, Red Green Blue τρίκλινα.
Λοιπόν, αποδεικνύεται στον προγραμματισμό web, ή web design, το οποίο είναι αυτό, έχουμε
δεν έχει προγραμματιστεί ακόμα τίποτα per se, μπορείτε πραγματικά
έχουν δεκαεξαδικός κωδικός.
Έτσι, κάτι κάτι, κάτι κάτι, κάτι κάτι.
Έτσι μπορείτε να έχετε έξι δεκαεξαδικό χαρακτήρες, ή τρία, σε ορισμένες περιπτώσεις,
και καθένα από αυτά τα ερωτηματικά πρέπει να είναι μια δεκαεξαδικά ψηφία,
μηδέν έως f.
>> Αν θέλω να έχω μια πολύ κόκκινο, και Δεν πράσινο και όχι μπλε, ποια είναι η
απέναντι από το μηδέν, όταν χρησιμοποιεί το εξάγωνο;
Είναι στ.
Έτσι, μπορώ να κάνω ff, μηδέν μηδέν, μηδέν μηδέν, αποθηκεύσετε αυτό, και τώρα έρχονται εδώ κάτω.
Και δεν βλέπω πραγματικά μια αλλαγή.
Έτσι απόσπασμα unquote "κόκκινο" είναι προφανώς συνώνυμο για όλα τα κόκκινο,
υπάρχει πράσινο, όχι μπλε.
Εν τω μεταξύ, ας σκόπιμα αλλάζουν αυτό να είναι κάτι
τυχαία, όπως ABCDF.
>> Ας δούμε τι είναι αυτό.
Είναι ένα πολύ ωραίο μπλε, στην πραγματικότητα, το μωρό μπλε.
Εντάξει, αυτά είναι μόλις τώρα κάπως τυχαίους συνδυασμούς
χαρακτήρων.
Γι 'αυτό και δεν θα κολλήσουμε εδώ.
Αλλά και πάλι, αυτό μιλάει για την ακρίβεια ότι μπορείτε να αρχίσετε να
εφαρμογή - ακόμα κι αν είστε πολύ συγκλονισμένοι από την αισθητική.
Στην πραγματικότητα, εάν θέλετε πραγματικά να εντυπωσίασε, επιτρέψτε μου να προχωρήσει και να αλλάξει
το μέγεθος της γραμματοσειράς, για παράδειγμα.
Και παρατηρήσετε το ερωτηματικό, το οποίο είναι απαραίτητη εκεί.
>> Μέγεθος γραμματοσειράς, μπορούμε να είμαστε απλώς γελοίο εδώ, το σημείο 96.
Αποθήκευση αυτό.
Πω πω, αυτό είναι ένα μεγάλο μέγεθος γραμματοσειράς.
Εντάξει, έτσι είναι πολύ εύκολο.
Και στην πραγματικότητα, είστε ουσιαστικά βλέπουμε η πρώτη ιστοσελίδα που έκανα
χρόνια πριν, όταν για πρώτη φορά μάθει αυτά τα πράγματα.
Είναι πολύ εύκολο να κάνει πολύ ειδεχθή πράγματα γρήγορα.
>> Και αν είστε εξοικειωμένοι με το Wayback Μηχάνημα archive.org, σας
μπορείτε να βρείτε όλα τα ειδεχθή μου φοιτητής ιστοσελίδων.
Ένας είχε Κέρμιτ ο Βάτραχος στο μπροστινό μέρος.
Πήγα από μια φάση όπου νόμιζα ήταν δροσερό για να πάρει το φόντο
μια κόκκινη κουρτίνα, όταν έμαθα πώς θα μπορεί εικόνων πλακιδίων και πάλι, και πάλι, και
και πάλι, για να γεμίσει μια σελίδα με ένα μεγάλο κολλώδες κόκκινη κουρτίνα.
Και τότε, πάνω από αυτό, ήταν μια εικόνα ότι θα έπρεπε να κάνετε κλικ για να εισέλθουν στο σπίτι μου
σελίδα, επειδή αυτό ήταν πάρα πολύ στη μόδα.
>> Και τότε η πρώτη μου πρόγραμμα έγραψα ποτέ δεν ήταν σε PHP, αλλά σε μια γλώσσα
ονομάζεται Pearl, έγραψε ένα βιβλίο επισκεπτών, τα οποία είναι ένα πραγματικά δροσερό πράγμα που ένα
Πολλοί άνθρωποι που περιμένουν να έχουν σε μια σελίδα.
Όταν φτάσετε στη σελίδα, σας θέλουν να συνδεθείτε και να πω ποιος είσαι,
και γιατί είστε εκεί.
Αυτό είναι πολύ δεκαετίας του 1990 web design στυλ.
>> Αλλά αυτές τις μέρες, σίγουρα, έχουμε έρχονται πολύ μακρύτερα.
Και θα δείτε, στην ενότητα, ακόμη και το πρόβλημα που επτά, από
μόχλευση βιβλιοθήκες αυτές τις μέρες, Είναι πολύ πιο εύκολο να κάνει
πιο όμορφη πράγματα γρήγορα.
Πραγματικά εδώ, είμαστε ακριβώς το ξύσιμο η επιφάνεια του τι μπορείτε να κάνετε
στυλιστικά.
>> Και στην πραγματικότητα, ήδη, επιτρέψτε μου να τονίσω ότι αυτό έχει ήδη πάρει άσχημο, δεν
μόνο αισθητικά, αλλά από την άποψη του στυλ μου κώδικα, ή
σχεδιασμός του κωδικού μου.
Έχω comingled σήμερα HTML, η οποία είναι το πρασινωπό ανοιχτό ετικέτες εκεί, με
CSS ιδιότητες, οι οποίες είναι εντελώς legit.
Αυτό είναι πραγματικά όπου η γλώσσα έχει τις ρίζες της.
>> Όμως, προς το συμφέρον της καθαρό σχεδιασμό, σαν αρχίσαμε πράγματα factoring
Από C αρχεία σε αρχεία. h, αφήστε Θέλω να ασκήσουν πραγματικά αυτό το είδος της
αρχή και να αρχίσει να κάνει αυτό αντ 'αυτού.
Επιτρέψτε μου να θέσω μια ετικέτα στυλ εδώ, η οποία υπάρχει και σε HTML, και επιτρέψτε μου να
καθορίσετε την ακόλουθη.
Επιτρέψτε μου να διαγραφεί.
Χρώμα φόντου θα είναι κόκκινο.
Πάω να διαγραφεί εξ ολοκλήρου.
Πάω να απαλλαγούμε από το στυλ αποδίδουν, και πάω για τη μοναδική
προσδιορίσει αυτό div με μια λέξη -
αυθαίρετα, αλλά λογικά, απόσπασμα unquote "κορυφή". Και id είναι μια ειδική
χαρακτηριστικό που προσδιορίζει μοναδικά ένα συγκεκριμένο στοιχείο HTML
ότι έχει τέτοιο id.
>> Αν τώρα θέλετε να στυλιζαρισμένη αυτό, εδώ στο ο επικεφαλής της σελίδας μου, μέσα από την
ετικέτα στυλ, παρατηρούμε ότι Μπορώ να κάνω hash κορυφή.
Και τότε μπορώ να βάλω ένα ζευγάρι των σγουρά τιράντες, που θυμίζει C, και στη συνέχεια αφήστε
με επικόλληση σε αυτό το στυλιζάρισμα.
Και επιτρέψτε μου να προχωρήσει εδώ και την πρόβλεψη πού θα πάω με αυτό.
Επιτρέψτε μου επίσης να δημιουργήσετε ένα για το div κάτω.
Επιτρέψτε μου να αρπάξει αυτή την ειδεχθή κώδικα από κάτω εδώ, να το θέσω εδώ, και θα είμαι
λίγο πιο πρωκτικό τώρα και τυποποιημένο αυτό από απλά βάζοντας τα πράγματα από μόνα τους
γραμμή, τελειώνει με ερωτηματικά.
Επιτρέψτε μου να απαλλαγούμε από την ετικέτα στυλ.
>> Είμαι, όμως, δεν έχει γίνει ακόμα.
Πρέπει να κάνω κάτι άλλο.
Ναι, id ισούται με παράθεση unquote, "κάτω", ή ο, τιδήποτε id θέλω να
δώσει αυτό το στοιχείο.
Τώρα, επιτρέψτε μου να επιστρέψω εδώ.
Και αυτό είναι άθλιες.
Δεν μπορώ να ασχοληθεί με το σημείο 96.
Ας κάνουμε το σημείο 24.
Ή θα μπορούσε να είναι πιο ακριβής.
Μπορείτε να χρησιμοποιήσετε πραγματικά pixels, px, οπότε ότι μπορείτε να πάρετε πραγματικά σιτηρών λεπτότερα
ελέγχουν πάνω από τη σελίδα σας.
>> Παρεμπιπτόντως, αυτό δεν είναι κατ 'ανάγκην το καλύτερο πράγμα εάν οι χρήστες, για
λόγους προσβασιμότητας, θέλουμε να να είναι σε θέση να αυξήσει τα μεγέθη.
Έτσι, συνειδητοποιούν ότι υπάρχουν τρόποι για να γίνει πράγματα που δεν είναι απαραίτητα
σκληρό πάντα κώδικα.
>> Εντάξει, έτσι ώστε να είναι μεγαλύτερο, 24 σημείο, από ό, τι η προεπιλογή είναι.
Αλλά τώρα είναι λίγο καθαρότερα.
Και επιτρέψτε μου να πάρει αυτό το ένα βήμα παραπέρα.
Ακριβώς όπως και η ιδέα της αρχεία κεφαλίδας, παρατηρήσετε ότι είμαστε ένα βήμα πιο κοντά σε αυτό.
Έχω υπολογιστεί έξω, αλλά ακόμα αριστερά, μέσα από τη σελίδα μου, οι κανόνες CSS.
Γιατί να θέλω να πάρω ένα βήμα περαιτέρω, αφαιρέστε αυτό το εντελώς, και
το βάζουμε σε ένα ξεχωριστό αρχείο;
>> Έτσι μπορώ να το χρησιμοποιήσετε ξανά, σωστά;
Αυτό είναι ακριβώς το είδος της διαίσθησης τώρα.
Πριν, έχω ισχυρίστηκε ότι ήταν απλά να πάρει άσχημο έχει το στυλ
χαρακτηριστικά στο εσωτερικό του DiVS οι ίδιοι.
Αλλά ακριβώς το είδος του πιστεύω ότι μέσα.
Δεδομένου ότι η σελίδα σας παίρνει όλο και περισσότερο, αν βάζετε εδώ, και εδώ, και
εδώ, και εδώ, όλα αυτά τα διαφορετικά χρώματα, και μεγέθη γραμματοσειράς, και άλλα τέτοια
χαρακτηριστικά, η σελίδα σας είναι πολύ γρήγορα πρόκειται να γίνει ανεξέλεγκτη για σας.
>> Αν κάποιος έρχεται σε σας και λέει, OH, ξέρετε τι;
Θα ήθελα πραγματικά να αλλάξετε το μέγεθος της γραμματοσειράς με δύο επιπλέον σημεία, θα
μπορεί να χρειαστεί να πάει και να βρει και να αντικαταστήσετε ένας τεράστιος αριθμός γραμμών κώδικα.
Είναι πολύ πιο συναρπαστικό να συγκεντρώσει όλες αυτές αισθητική εδώ.
Αλλά αν θέλετε να χρησιμοποιήσετε ξανά αυτές αισθητικής σε πολλαπλές ιστοσελίδες, όλες οι
το πιο συναρπαστικό για, για παράδειγμα, να δημιουργήσετε ένα αρχείο
κάλεσε με εκείνο το περιεχόμενο.
>> Και επιτρέψτε μου να κάνω αυτό.
Αποθηκεύστε αυτό το αρχείο.
Το λέω styles.css, αυθαίρετη, αλλά και τα συμβατικά.
Θα το βάλω στο σπίτι John Χάρβαρντ φάκελος τώρα για την απλότητα.
Και τι μπορώ να κάνω στην ιστοσελίδα μου είναι να πάρετε Απαλλαγείτε από το ύφος ετικέτα συνολικά,
και κάπως unintuitively, χρησιμοποιήστε μια σύνδεση ετικέτα, η οποία δεν σας δώσει μια σύνδεση στο
η υπερ-σύνδεση, μπορείτε να κάνετε κλικ έννοια, αλλά όταν λέω σύνδεσμο, href ισούται
styles.css.
Και η σχέση ότι αυτό το στοιχείο έχει με την ιστοσελίδα είναι να χρησιμεύσει ως
φύλλο στυλ του.
>> Λοιπόν, πώς το ξέρω αυτό;
One, μπορείτε να διαβάσετε μόνο το εγχειρίδιο, ή το Google γύρω σου και
εξετάσουμε διάφορους πόρους.
Θέλω να πω, ότι πραγματικά είναι το πώς θα πάρει τεχνικές όπως αυτό, και, συνεπή
με αυτή την ιδέα της διδασκαλίας εαυτό νέων γλώσσες, και πάλι, θα διαπιστώσετε ότι
υπάρχει μόνο ένας πεπερασμένος αριθμός πραγμάτων σε οποιαδήποτε γλώσσα, τη στιγμή που θα πάρετε
τους, θα διαπιστώσετε ότι παίρνει όλο και πιο γρήγορα για να γράψει.
Πράγματι, η εκμάθηση μιας νέας προγραμματικής γλώσσα είναι τόσο πολύ πιο γρήγορα από ό, τι ένα νέο
ομιλούμενη γλώσσα, επειδή αυτά τα πράγματα είναι πολύ μικρότερα και πολύ πιο
καθοριστεί με ακρίβεια.
>> Αλλά έχω υπογράμμισε λίγο από μια ανωμαλία εδώ.
Γιατί μου το επεσήμαναν κάθετο εδώ;
Επειδή έχω να κλείσει την ετικέτα.
Θα πρέπει να κλείσετε την ετικέτα.
Και θα βρείτε αμέτρητες πόρους σε απευθείας σύνδεση που δεν
υποχρεωτικά στενή tags.
Και ρεαλιστικά, δεν είναι αυστηρά αναγκαίο για την τεχνική και υπάρχουν
λόγους της πραγματικότητας, τα προγράμματα περιήγησης είναι μόνο αρκετά ανεκτική από λάθη στην ιστοσελίδα
σελίδες, προς το καλύτερο ή προς το χειρότερο, αλλά κυρίως χειρότερα.
>> Έτσι, αυτό εδώ είναι μόνο ένα καθαρότερο τρόπο λέγοντας κάτι ηλίθιο, όπως αυτό,
όπου κι αν θέλετε να ανοίξετε την ετικέτα συνδέσμου αλλά κοντά είναι, πραγματικά δεν υπάρχει η έννοια
του περιεχομένου για μια ετικέτα συνδέσμου.
Σημαίνει απλώς το φορτώσετε αρχείο και το βάζουμε εδώ.
Είναι σαν απότομη περιλαμβάνουν σε C. Μπορείτε να ανοίξετε και να κλείσετε μια ετικέτα όλα με τη μία
εντός της ίδιας ετικέτας.
Και υπάρχουν και άλλα παραδείγματα.
Αυτό δεν είναι ο τρόπος για να γίνει αυτό, αλλά το br ετικέτα, για αλλαγές γραμμής, αν μου
ήθελε πραγματικά να επιτευχθεί αυτό που ήταν προσπαθώντας να πριν από το χτύπημα Εισάγετε, εάν
Έχω δηλώσει ρητά αλλαγή γραμμής, αλλαγή γραμμής, αλλαγή γραμμής, αλλαγή γραμμής, και
τότε ανανέωσε αυτή τη σελίδα, τώρα θα παρατηρήσετε ότι το κάτω μέρος της σελίδας είναι,
Πράγματι, πολύ πιο κάτω στην στο κάτω μέρος της σελίδας.
Αλλά ακόμα και που μπορεί να γίνει πολύ πιο καθαρά με CSS, και με περιθώρια,
καθώς και με άλλα τέτοια αισθητική τεχνικές.
>> Έτσι, για τώρα, τα φαστ φουντ είναι αυτό.
Στην HTML, έχουμε αυτά τα πράγματα που ονομάζονται ετικέτες.
Στην CSS, έχουμε αυτά τα πράγματα ονομάζονται ιδιότητες.
Μπορούμε να comingle αυτές τις δύο γλώσσες, είτε χρησιμοποιώντας το χαρακτηριστικό στυλ,
ή η ετικέτα στυλ, ή ακόμη καλύτερα, factoring με απόλυτο τρόπο, όπως κάνουμε
στο πρόβλημα που έχει 7.
Οι ερωτήσεις, στη συνέχεια, σχετικά με το εννοιολογική βασικά εδώ;
>> ΚΟΙΝΟ: Έχω μια ερώτηση.
>> ΟΜΙΛΗΤΗΣ 1: Αχ, συγγνώμη.
>> ΚΟΙΝΟ: Γιατί δεν ήταν χρωματισμένα -
>> ΟΜΙΛΗΤΗΣ 1: Αχ, στην άλλη καρτέλα;
Αυτό εδώ;
>> ΚΟΙΝΟ: Όχι, είναι σαν το -
>> ΟΜΙΛΗΤΗΣ 1: Αχ, αυτό συμβαίνει επειδή Ήμουν ατημέλητη.
Έβαλα το αρχείο στο λάθος μέρος.
Έτσι, αν έβαλα πραγματικά εδώ, και εγώ chmod αυτό, όλα τα + R για styles.css, και
τώρα φόρτωση της σελίδας, τώρα να πάρει το στυλιζάρισμα πίσω.
Και επειδή τα μεγέθη γραμματοσειράς διαφορετικά, δεν βλέπουμε τόσο πολύ
λευκό κενό.
Εμείς αντί να δούμε ποια είναι η προεπιλογή είναι αντ 'αυτού.
Καλή ερώτηση.
Ναι;
>> ΚΟΙΝΟ: Γιατί είναι ο σύνδεσμος tag μέσα στο header;
>> ΟΜΙΛΗΤΗΣ 1: Γιατί είναι οι συνδέσεις μέσα στο tag του header -
σύντομη απάντηση, μόνο και μόνο επειδή.
Αυτό είναι ό, τι αποφασίστηκε.
Αυτό είναι όπου οι ετικέτες συνδέσμου πάει όταν έχετε αυτό που ονομάζεται
εξωτερικό φύλλο στυλ.
Άλλες ερωτήσεις;
>> Εντάξει, αλλά ας το κάνουμε.
Έχουμε τόσο πολλή διασκέδαση που έχουμε μπροστά μας σήμερα.
Αυτό είναι ακριβώς το ξύσιμο η επιφάνεια του CSS.
Ας το κάνουμε αυτό.
Ας ρίξουμε μια πεντάλεπτο διάλειμμα εδώ διότι, ανά e-mail μου, ας κολλήσει
εκεί μέχρι το 2:30-ish σήμερα.
Αλλά αν έχετε να φύγει, ότι το πρόστιμο.
Αλλά εμείς θα προχωρήσουμε μετά πέντε λεπτά διάλειμμα.
Και θα μάθουμε λίγο κάτι για την PHP, MySQL, και πολλά άλλα.
>> Εντάξει, οπότε ας προσπαθήσουμε, τώρα, να συνδέσει ένα μερικές από αυτές τις ιδέες μαζί και να κάνουν,
ας πούμε, τη δική του μηχανή αναζήτησης μας.
Παρατήρησα, μάλλον περιέργως, η ακόλουθη.
Όταν είστε στο Google.com, είστε συνήθως σε μια διεύθυνση URL, όπως αυτό εδώ
με τίποτα μετά το dot com.
Αλλά αν μπορώ να ψάξω κάτι ηλίθιο, όπως γάτες, και να πατήσετε το Enter, θα πάρει - δεν
ηλίθιο, αλλά ξέρετε.
>> ΕΝΤΑΞΕΙ, έτσι παρατηρήσετε, στο πάνω μέρος της σελίδας, τώρα, η διεύθυνση URL έχει, φυσικά, άλλαξε.
Και αυτό δεν είναι τίποτα νέα για όλους μας.
Κάνετε κλικ σε συνδέσμους και τα πράγματα συμβαίνει στο διαδίκτυο.
Αλλά αυτό που είναι ενδιαφέρον εδώ είναι η ακόλουθη.
Υπάρχει μια ολόκληρη πολλή ακαταστασία, αλλά ας Θέλω να πετάμε πράγματα που εγώ δεν κάνω
καταλαβαίνω ή δεν εξετάσουμε πραγματικά σημασία.
>> Επιτρέψτε μου να απαλλαγούμε από αυτό.
Επιτρέψτε μου να απαλλαγούμε από αυτό.
Και επιτρέψτε μου απλά να απαλλαγούμε από όλα αυτά.
Και τώρα παρατηρήσετε ότι οι γάτες είναι στη διεύθυνση URL, που ακολουθείται με ένα Q, τότε μια ίση
υπογράψει μπροστά του.
Έτσι αποδεικνύεται αυτό είναι το πώς η τρόπο λειτουργίας, όταν πρόκειται
στην είσοδο και την έξοδο.
>> Έχουμε καιρό μίλησε για μαύρα κουτιά, έτσι δεν είναι;
Έτσι, αν αυτό είναι μια συνάρτηση εφαρμοστεί εδώ ως ένα μαύρο κουτί, παίρνει στοιχεία
και παράγει έξοδο, καλά, τα μέσα με την οποία σας παρέχει είσοδο σε ένα
ιστοσελίδα με τρόπο, συχνά, των διευθύνσεων URL του.
Βάζετε απλά ένα ερωτηματικό και στη συνέχεια ένα κλειδί ισούται με την αξία.
Και τότε ίσως ένα σύμβολο, και στη συνέχεια Ένα άλλο βασικό ισούται με την αξία, τότε ίσως
άλλο εμπορικό και, βασικά ισούται με την αξία.
Αυτό είναι το πώς θα περάσει τα πλήκτρα και τις αξίες, τα ζεύγη των εισροών.
>> Έτσι, αν πατήσω το enter τώρα, τι είναι ενδιαφέρον για το Google είναι ότι όλα
ότι η ακαταστασία Διέγραψα δεν φαίνεται να είναι απολύτως αναγκαία.
Το μόνο που πρέπει να στείλετε στην Google είναι ζήτημα σήμα q ισούται με τις γάτες για να πάρει
πίσω μερικές γάτες.
Λοιπόν, η επίπτωση της ότι, στη συνέχεια, είναι αν θα σηκώσει gedit, έχω αρχίσει
κάνοντας τη δική του μηχανή αναζήτησης μου εδώ σε ένα αρχείο που ονομάζεται seach0.html.
>> Και επιτρέψτε μου να πάει μπροστά και να διαγράψετε μία ακόμη γραμμή που
δεν έπρεπε να δει.
Και τώρα, επιτρέψτε μου να πάει σε δικό του browser μου, έτσι ώστε να μην Google, και να πάει στο
http://localhost.
Και αυτό πρόκειται να πάρει με τον τρόπο.
Έτσι θα πάμε να πρέπει να πω αντίο ότι προς το παρόν, να μετακινήσετε αυτό εδώ,
Ω, τώρα θα πάμε να πρέπει να να πω αντίο σε αυτό το αρχείο.
>> Κάθε φορά που έχετε ένα αρχείο με το όνομα index.html index.php ή σε ένα
κατάλογο, αν ο web server είναι ρυθμιστεί με αυτόν τον τρόπο, τι θα
δείτε, από προεπιλογή, είναι το περιεχόμενο του εν λόγω αρχείου αντί για μια λίστα των
καταλόγου, όπως ήθελα εδώ.
Περισσότερα για αυτό το spec.
Δεν το είδες.
>> Έτσι, αυτό είναι αυτό που πραγματικά ήθελε.
Όμως, πριν από λίγο, υπήρξε μια αρχείο σε αυτόν το φάκελο που ονομάζεται
index.html και index.php.
Και έτσι ο web server ήταν δείχνοντάς μου τα αρχεία.
Αντ 'αυτού, θέλω αυτόν τον κατάλογο Προσθήκη στο εδώ.
>> Έτσι, Πάω να μπω σε CSS και πηγαίνετε στο search0.
Και εγώ ισχυρίζομαι ότι αυτό είναι αυτό πρόκειται να είναι η αρχή της τη δική της ανταγωνιστική μου
μηχανή αναζήτησης.
Και για να γίνει αυτό, είμαι πρόκειται να πάει εδώ, σε CSS, και να ανοίξει με
gedit, αναζήτηση 0.
Αλλά, δυστυχώς, δεν υπάρχει δεν είναι πολύ συμβαίνει εδώ.
Το μόνο που έκανε ήταν να χρησιμοποιήσει μια επικεφαλίδα tag, το οποίο Συμβαίνει να ονομάζεται h1, το οποίο
ουσιαστικά σημαίνει το μεγάλο και τολμηρή, και αυτό είναι όλο.
Αλλά τα μέσα με τα οποία μπορούμε να παρέχουν εισόδους είναι μέσω αυτών
πράγματα που ονομάζονται μορφές.
>> Έτσι, επιτρέψτε μου να πάει μπροστά και να ανοίξει και να κλείσει, προληπτικά, μια ετικέτα μορφή εκεί.
Και επιτρέψτε μου να πάει μπροστά και να κάνουμε κάτι σαν αυτό.
Εισόδου, τον τύπο ισούται με το κείμενο.
Και τότε ας κλείσει το tag μέσα τα στηρίγματα τους.
Δεν χρειάζεται να ξεκινήσετε ένα πεδίο κειμένου και να σταματήσει ένα πεδίο κειμένου.
Είναι ακριβώς πρόκειται να είναι εκεί ή όχι.
>> Και στη συνέχεια κάτω από αυτό, ας κάνουμε Τύπος εισόδου ισούται υποβάλει.
Αποθήκευση αυτής.
Και τώρα ας κάνουμε μια γρήγορη λογική έλεγχο.
Ας reload.
>> Εντάξει, γι 'αυτό δεν είναι κακό.
Δεν είναι το στυλ της Google, αλλά είναι αρκετά κοντά.
Υπάρχει ένα πεδίο κειμένου.
Μπορώ να πληκτρολογήσετε κάποια πράγματα, πατήστε Enter, αλλά δεν συμβαίνει τίποτα ακόμα.
Και αυτό συμβαίνει γιατί δεν έχουν διευκρινίσει μια ενέργεια για αυτή τη μορφή, να το πω έτσι.
Έτσι, αν πάω πίσω στο στοιχείο της φόρμας, αποδεικνύεται, και γνωρίζω ότι αυτό μόνο
από το να έχουν διαβάσει την τεκμηρίωση, ότι η ετικέτα μορφή παίρνει ένα χαρακτηριστικό
που ονομάζεται ενέργεια που είναι η διεύθυνση URL της ιστοσελίδας, στο οποίο μπορείτε
θέλετε να στείλετε το έντυπο.
>> Πραγματικά, δεν νομίζω ότι έχουμε χρόνο για να εφαρμογή του συνόλου του πίσω τέλος για ένα
Αναζητήστε σήμερα κινητήρα.
Έτσι, είμαστε ακριβώς πρόκειται να πω, ε, πηγαίνετε στο google.com / search.
Και τώρα επιτρέψτε μου να κλείσω εισαγωγικά μου.
Και επιτρέψτε μου επίσης να ορίζει ότι η μέθοδος που θα χρησιμοποιηθεί θα
να κληθεί να πάρει.
>> Μεγάλη ιστορία σύντομη, υπάρχουν δύο τρόποι, σε τουλάχιστον, που μπορείτε να υποβάλουν πληροφορίες
από το πρόγραμμα περιήγησης στο διακομιστή.
Το ένα είναι να πάρει, και, για τους σκοπούς του σήμερα, Αυτό σημαίνει απλά στη διεύθυνση URL.
Μπορείτε να δείτε ακριβώς τα ερωτηματικά, τα ισούται με πινακίδες, και συμπλεκτικά σύμβολα που
είδαμε νωρίτερα.
Ή υπάρχει μια εναλλακτική λύση που ονομάζεται μετά.
Προς το παρόν, γνωρίζουμε ότι μετά χρησιμοποιείται συχνά όταν θέλετε να ανεβάσετε τα αρχεία, όπως
εικόνες και ούτω καθεξής, ή όταν θέλετε να υποβάλουν τα στοιχεία της πιστωτικής κάρτας, ή
κωδικούς πρόσβασης, κάτι που δεν το κάνει έχει πραγματικά νόημα, εννοιολογικά, ή
ασφάλεια σοφός, για να καταλήξει στη διεύθυνση URL της πρόγραμμα περιήγησής σας, όπου οι γονείς υποκλοπή,
ή συγκατοίκους, ή κάποιος με πρόσβαση στον υπολογιστή σας μπορεί να δει.
>> Ας σώσει ότι εδώ.
Και πρέπει να κάνω και κάτι άλλο.
Δεν αρκεί μόνο η πω να μου δώσει ένα πεδίο κειμένου.
Πρέπει να δώσουμε αυτό το πεδίο της Η αξία του ονόματος.
Έτσι, επιτρέψτε μου να δανειστώ την επιλογή της Google ονόματα, q, και να καθορίσετε τη δεύτερη
αποδίδουν εγώ δεν ενδιαφέρονται πραγματικά για το το όνομα του κουμπιού Υποβολή.
Το μόνο που με νοιάζει είναι να υποβάλλει τι πληκτρολογεί ο χρήστης μέσα
>> Και τώρα αυτό είναι το είδος άσχημο.
Λέει απλά υποβάλετε.
Αποδεικνύεται, και γνωρίζω ότι αυτό από το τεκμηρίωση, μπορώ πραγματικά να πω
τιμή ισούται με παράθεση unquote "CS50 Αναζήτησης, "στενή απόσπασμα.
Τότε ας φορτώσετε ξανά.
Γι 'αυτό και κρατήσει το χτύπημα Command-R, ή Έλεγχος-R στο πληκτρολόγιό μου για να φορτώσετε εκ νέου.
>> Τώρα έχουμε μια πιο ενδιαφέρουσα μηχανή αναζήτησης.
Αυτό δεν είναι αρκετά μοιάζει Google ακόμα, όμως.
Οπότε ας προχωρήσει εδώ και κάνουμε μια μικρή αλλαγή γραμμής.
>> ΕΝΤΑΞΕΙ, έτσι τώρα έχουμε Google.
Εμείς στην πραγματικότητα σχεδόν έχετε το Google.
Και τώρα τι πρόκειται να συμβεί;
Πάω να πληκτρολογήσετε κάτι όπως οι γάτες.
Και το πρόγραμμα περιήγησης πρόκειται να αναλύσει ότι η μορφή που ορίζεται.
Και πρόκειται για την αποστολή ο χρήστης σε αυτό το URL.
Έτσι, αυτή τη στιγμή, για κάποιο περίεργο λόγο, Πήρα περισσότερες πληροφορίες σχετικά με τα αποθέματα
από ό, τι για τις πραγματικές γάτες.
Αλλά αυτό είναι εντάξει, επειδή παρατηρούμε ακόμα κατέληξα εδώ, q ισούται με γάτες.
>> Έτσι, τα πολυλογώ, φαίνεται αρκετά ασήμαντο για να πάρετε είσοδο από το χρήστη.
Και για να είμαστε δίκαιοι, υπάρχει τσαμπιά των άλλων τύπων των πεδίων της φόρμας.
Υπάρχει πλαίσια ελέγχου, και λίγο αμοιβαία αποκλειστικά κουμπιά, και
drop down μενού, και πολλά άλλα.
Αλλά όλα αυτά είναι σχετικά, όπως εύκολα να εφαρμοστεί ως
αυτό το πεδίο κειμένου ήταν.
Και, τελικά, εμείς απλά πρέπει να κάνει ότι κάποιος ακούει από την άλλη
τέλος της γραμμής, προκειμένου να πάρει ότι πληροφορίες που υποβάλλονται σε επεξεργασία, κατά κάποιο τρόπο, και
να μας δώσει πίσω τις γάτες μας.
>> Ας ρίξουμε μια ματιά σε μια ελαφρώς συμμετέχουν περισσότερο παράδειγμα.
Επιτρέψτε μου να πάω σε κατάλογο vhost μου, στην τοπική υποδοχής, δημόσια, και όπου
θέσει τον πηγαίο κώδικα του σήμερα.
Όλα αυτά θα είναι για την πορεία της Ιστοσελίδα για να μπορείτε να πειραματιζόμαστε με.
Και αν πάω σε froshims, επιτρέψτε μου να ανοίξει μέχρι αυτό το αρχείο τώρα, froshim0.php.
Αυτό και μόνο είναι λίγο πιο φλύαρη, έτσι δεν θα γράψω αυτό από την αρχή.
Αλλά ακριβώς παρατηρήσετε τώρα μερικά κάπως γνωστά χαρακτηριστικά.
>> Ένα, tag μορφή, διαφορετική ενέργεια.
Δεν είναι ένα πλήρες URL.
Τώρα, είναι προφανώς να καταθέσει ονομάζεται register0.php διότι, σε μια στιγμή,
Πάω να διδάξει τον εαυτό μου λίγο κάτι για PHP, ένας προγραμματισμός
γλώσσα, επειδή η PHP μπορεί να χρησιμοποιηθεί για εφαρμόσει ό, τι Google υλοποιείται ως
το πίσω άκρο των μηχανών αναζήτησης τους.
>> Google, στην πραγματικότητα, χρησιμοποιεί πιθανώς κάποια Python, κάποια C + +, και
τσαμπιά από άλλες γλώσσες.
Αλλά θα μπορούσαμε να εφαρμόσουμε σίγουρα αναζήτησης αποτελέσματα χρησιμοποιώντας PHP αν θέλαμε.
Αλλά για τώρα, θα το κρατήσουμε απλό.
Και αυτό είναι πραγματικά θυμίζει ένα από τις άλλες πρώτες ιστοσελίδες που
έκανε χρόνια πριν.
>> Πίσω στην ημέρα μου, έχετε εγγραφεί για εντός των τειχών αθλήματα ως πρωτοετής από
συμπληρώνοντας ένα κομμάτι χαρτί, το περπάτημα σε όλη την αυλή, και πτώση των
το γραμματοκιβώτιο ενός Proctor σε Wigglesworth, και αυτό ήταν το πώς θα
καταχωρηθεί.
Και έτσι το έργο μου λίγο μετά CS50, ήταν να τεθεί αυτό, το οποίο το καθιστά ιδανικό
έννοια, στο διαδίκτυο, το οποίο δεν ήταν όπως στη μόδα, στη συνέχεια, όπως είναι τώρα.
Αλλά το μόνο που είχαμε να κάνουμε ήταν να δημιουργήσουμε, κατ 'ουσίαν, μια φόρμα HTML.
>> Και ότι η μορφή κοίταξε περίπου σαν αυτό.
Είχα μια είσοδο για το Όνομα καινούριος του.
Είχα ένα άλλο πλαίσιο ελέγχου για το κατά πόσον ή δεν ήθελαν να είναι ο αρχηγός, ό, τι
φύλο τους, και Τι κοιτώνα τους ήταν.
Και τότε σκληρά κωδικοποιούνται τα πράγματα όπως Apley Δικαστήριο, και Canaday,
Grays, και ούτω καθεξής.
>> Έτσι και πάλι, νέες ετικέτες.
Δεν έχω δει αυτά πριν, νέα χαρακτηριστικά, αλλά είναι αρκετά προσιτές.
Μόλις δείτε ένα παράδειγμα, μπορείτε να το είδος δανειοθαλάμου αυτή την ιδέα και να κάνει μια σταγόνα
down μενού για σχεδόν οτιδήποτε.
Αλλά αυτό που είναι βασικό είναι ότι κάθε ένα από αυτά τα πράγματα έχουν ονόματα.
Και στο κάτω μέρος αυτής της μορφής, δεν υπάρχει ένα κουμπί submit η ετικέτα της οποίας,
ή της αξίας, είναι να εγγραφείτε.
>> Οπότε ας πάμε σε αυτή τη σελίδα.
Επιτρέψτε μου να πάω πίσω στο λίστα καταλόγου.
Επιτρέψτε μου να μπω σε froshims, και πηγαίνετε στο froshim0.php.
Γι 'αυτό είναι φρικτή, για να είμαστε δίκαιοι.
Έτσι θα μπορούσα να στυλιζαρίσματος σίγουρα αυτό με κάποια CSS, θα μπορούσα να κάνω κάποια
γραφικών, προσθέστε ίσως κάποια χρώματα, και να κάνουν αυτό πιο όμορφη.
Αλλά λειτουργικά, θα έλεγα ότι αυτή η είναι στην πραγματικότητα αρκετά πλήρης.
>> Δυστυχώς, όταν συμπληρώσετε αυτό έξω, David, ο καπετάνιος, αρσενικό, θα επιλέξει,
ας πούμε Matthews, Εγγραφή, το μόνο που συμβαίνει είναι το εξής.
Αλλά παρατηρήσετε ένα ζευγάρι των φαστ φουντ.
Ένα, ποιο αρχείο επέστρεψε εκείνες αποτελέσματα, προφανώς;
Έτσι είναι, πράγματι, register0.php.
Έτσι, το γεγονός ότι είδαμε ότι η δράση αξίας πριν από λίγο για register0, αυτό
επιβεβαιώνει ότι όντως τελείωσε επάνω σε το συγκεκριμένο αρχείο.
>> Τώρα αυτό είναι μόνο άσχημο κείμενο.
Αλλά παρατηρήσετε ότι το κείμενο αυτό είναι προέρχονται από την τοπική υποδοχής,
το οποίο είναι από τη συσκευή.
Σκεφτείτε τη συσκευή τώρα, όπως ακριβώς ένα web server που θα μπορούσε να είναι η
Science Center.
Θα μπορούσε να είναι σχετικά με την πραγματική ιστό.
Έτσι είναι προσβάσιμη στο κοινό.
>> Έτσι, σαφώς, υπάρχει κάποιος τρόπος να περάσεις συνιστούν εισροές τομέα σε ένα διακομιστή
Έτσι ώστε να μπορεί να κάνει κάτι με αυτά.
Δυστυχώς, register0 είναι αρκετά ηλίθιος.
Το μόνο που κάνει είναι να εκτυπώσετε μια σειρά που μοιάζει με αυτό.
Και δεν είναι μια σειρά στην έννοια ότι το ξέρουμε.
Βγάζει ότι η PHP, και πολλά γλώσσες, δεν έχουν μόνο αριθμητικά
αναπροσαρμόζονται πίνακες, των οποίων πρώτος δείκτης είναι μηδέν, τότε ένα, τότε δύο, τότε τελεία,
τελεία, τελεία, n μείον 1.
>> Αυτό είναι αυτό που ονομάζεται associative array.
Μια associative array είναι ένα στο οποίο μπορείτε να αποθηκεύσετε ζεύγη κλειδιών αξίας, όπου
το κλειδί δεν είναι απαραίτητα μια σειρά.
Θα μπορούσε στην πραγματικότητα να είναι ένα string, μια λέξη.
Και έτσι αυτό μπορεί να εφαρμοστεί, κάτω από την κουκούλα, αποδεικνύεται,
χρησιμοποιώντας μια δομή δεδομένων γνωστή ως;
Σκέψη κάτι δραματικό επρόκειτο να συμβεί -
hash πίνακα.
>> Έτσι, ένα πίνακα κατακερματισμού, ανάκληση, όσοι από εσάς ποιος το έκανε για σειρά P 6, ή ακόμη και ανάκληση
αυτό, τουλάχιστον ακόμα κι αν κάνατε μια δοκιμή, ένα hash πίνακα, στη χρήση μας, χρησιμοποιήθηκε για να
αποθηκεύουν μόνο λόγια.
Αλλά πραγματικά, θα ήταν αποθήκευση κλειδιών και τιμών.
Εάν εφαρμοστεί ένα πίνακα κατακερματισμού για την P σετ 6 λεξικό, τα κλειδιά ήταν η
οι ίδιες οι λέξεις, και οι τιμές ήταν ουσιαστικά αληθείς ή ψευδείς.
Ναι, εδώ, είτε σιωπηρά, Όχι, δεν είναι εδώ.
>> Λοιπόν, μπορούμε να γενικεύσουμε αυτή την ιδέα.
Και θα μπορούσαμε να χρησιμοποιήσουμε μια πολύ παρόμοια στοιχεία δομή για την αποθήκευση δεν είναι το string
το πρόβλημα μόνη της σε πίνακα κατακερματισμού σας, αλλά ας υποθέσουμε ότι σε κάθε μία από τις hash σας
κόμβους πίνακα.
Και θα μπορούσατε να κάνετε ακόμα και αυτό σε μια προσπάθεια αντί να έχουν μόνο ένα bool.
Θα μπορούσατε να έχετε κάτι άλλο.
Τι θα συμβεί αν το κλειδί δεν ήταν Maxwell, για παράδειγμα, αλλά unquote απόσπασμα "όνομα", ή
παραθέσω unquote "καπετάνιος". Και το εσωτερικό του C δομή δεδομένων σας, βάζετε ένα
αξίας, δεν είναι μόνο μια Boolean, αλλά και της αξίας όπως το απόσπασμα unquote «Δαβίδ», ή
"Μ" ή "Matthews," και ούτω καθεξής.
>> Έτσι, τις ίδιες δομές δεδομένων που χρησιμοποιούνται προφανώς υπάρχουν και σε άλλες γλώσσες.
Και θα έλεγα ότι είναι στην πραγματικότητα πολύ, πολύ πιο απλό να έχουν πρόσβαση εδώ.
Ας πράγματι να ρίξετε μια ματιά τώρα σε κάποια τέτοια σύνταξη.
>> Πάω να πάει σε ένα κατάλογο της PHP.
Και Πάω να ανοίξει μια καλύτερη έκδοση της γεια-0 από πριν.
Παρατηρήστε ότι το μόνο που έκανα ήταν προσθέσετε κάποια σχόλια.
Έτσι μπορούμε να απαλλαγούμε από ότι αποσπά την προσοχή.
>> Και αυτό το πρόγραμμα όντως τυπώνει Γεια σας επειδή έχω καθορίζεται μεταξύ
ετικέτες που θέλω να εκτελέσει τον κώδικα.
Τώρα, θα δούμε σε λίγο γιατί αυτό είναι χρήσιμο.
Αλλά ας ανοίξει ένα άλλο παράδειγμα εδώ.
Επιτρέψτε μου να προχωρήσει και να ανοίξει ας πούμε, gedit των όρων ενός.
>> Αυτός είναι ο τρόπος πίσω στο χρόνο τώρα.
Αλλά εβδομάδες πριν, νομίζω, σε μία εβδομάδα ή δύο εβδομάδων, είχαμε ένα παράδειγμα που ονομάζεται
conditions1.c.
Και αποφάσισα να το Νέα υλοποίηση σε PHP, ακριβώς το είδος της τονίσω ότι
PHP, συντακτικά, είναι σχεδόν ταυτόσημες σε C. Αυτό δεν είναι ένα τεράστιο άλμα
από την προηγούμενη εβδομάδα σε αυτό.
>> Ανακοίνωση στην κορυφή αυτού του προγράμματος, το οποίο ξεκινά, όπως και πριν, με ορισμένες
σχόλια, τα οποία θα απαλλαγούμε ως μια απόσπαση της προσοχής.
Παρατηρήστε ότι είμαι σε PHP λειτουργία σε αυτό το αρχείο.
Έτσι, αυτού του κώδικα, θα δούμε, θα πάρει εκτελεστεί.
Σημειώστε ότι υπάρχει Readline, το οποίο είναι ίσως η
αναλογική σε PHP της GetString.
Παρατηρήστε ότι είναι λίγο διαφορετική.
Μπορείτε να καθορίσετε πραγματικά μια ερώτηση για το λειτουργία που ονομάζεται διαβάσει γραμμή, και αυτό είναι
Τι βλέπει ο χρήστης.
Έτσι δεν χρειάζεται να printf χέρι.
Αλλά αυτό δεν είναι μια μεγάλη υπόθεση.
Πάω να αποθηκεύουν, στο εσωτερικό των $ n, η επιστρέψει την αξία του αυτό, έτσι ώστε ανεξάρτητα από το
χρήστης πληκτρολογεί είναι int τους.
Και εδώ είναι ένα άλλο περιέργεια.
Αποδεικνύεται, σε PHP, κάθε μεταβλητή απλά πρέπει να προτάσσεται
με το σύμβολο του δολαρίου.
Είναι λίγο ενοχλητικό.
Αλλά παρατηρήστε τι δεν έχω κάνει σε PHP.
Τι λείπει από το αριστερό χέρι πλευρά το σύμβολο του ίσον;
>> Καμία αναφορά του τύπου.
Έτσι, αυτό είναι διαφορετικό από το C. Για την καλύτερη ή για κακό, PHP είναι μια χαλαρά
δακτυλογραφημένη γλώσσα.
Θα έχει τους αριθμούς.
Θα έχει χορδές.
Θα έχει Booleans.
Και έχει μερικά άλλους τύπους δεδομένων.
Αλλά εσείς, ο προγραμματιστής, συνήθως Δεν χρειάζεται να νοιάζονται γι 'αυτούς.
Η άνω πλευρά αυτού είναι ότι καθιστά είναι λίγο πιο εύκολο να το πρόγραμμα.
Μπορείτε να σκεφτείτε λίγο λιγότερο.
Το μειονέκτημα είναι ότι ανοίγει επίσης να σας μέχρι πιθανών σφάλματα, αν κατά λάθος
αντιμετωπίζουν έναν αριθμό ως ένα string, μια σειρά ως ένας αριθμός, δυνητικά, αλλά ακόμη
στη συνέχεια, PHP, και πολλές γλώσσες, είναι αρκετά ανεκτική.
Θα χρησιμοποιήσουν ό, τι λέγεται σιωπηρή casting.
Και αν προσπαθήσετε να χρησιμοποιήσετε n στο πλαίσιο από έναν αριθμητικό κατάσταση, θα
μετατρέπουν αυτό εδώ πρόκειται να είναι ένα string, γιατί αν ο χρήστης πληκτρολογεί
κάτι, και θα έχετε το αποτέλεσμα, όπως με την readline, ή να πάρετε string,
αυτό πρόκειται να επιστρέψει ένα string.
>> Αλλά προσέξτε, ένα ζευγάρι γραμμές αργότερα, ελέγξτε εάν το η είναι μεγαλύτερο από μηδέν.
Έτσι PHP πρόκειται να σιωπηρά ρίχνει μου "String" 123, ή ό, τι ο χρήστης
οι τύποι του, σε έναν int.
Έτσι, με λίγα λόγια, η ουσία λειτουργεί ακριβώς πολύ περισσότερο διαισθητικά.
Γι 'αυτό και τώρα αρχίζουν να χαλαρώνουν μερικές από τις πράγματα που έχουμε κάνει στο παρελθόν.
>> Πολλά από αυτά τα πράγματα είναι το ίδιο, όμως.
Ακόμα έχουν ίση μεταξύ ίσων.
Παρεμπιπτόντως PHP έχει επίσης ισούται ισούται ισούται, αλλά περισσότερα για αυτό, ίσως, στην
το μέλλον.
Αυτό ήταν.
Τυπογραφικό λάθος, αλλά δύο σύμβολα ισότητας σημαίνει το ίδιο πράγμα όπως πριν, για σύγκριση.
printf σημαίνει το ίδιο πράγμα όπως και πριν.
Backslash n σημαίνει το ίδιο πράγμα όπως πριν.
>> Λοιπόν, πώς μπορώ να εκτελέσω αυτό το πρόγραμμα;
Λοιπόν, όπως και πριν, αν κάνω PHP, conditions1.php, και πληκτρολογήστε
ένας αριθμός, όπως 123.
Αυτό είναι ένα θετικό αριθμό.
Αν μου πληκτρολογήσετε 0, έχω πάρει 0.
Και αν πληκτρολογήσετε αρνητικό 123, παίρνω πίσω έναν αρνητικό αριθμό, το οποίο είναι μόνο
να πω,, συντακτικά PHP είναι super, super παρόμοια.
>> Γιατί, λοιπόν, είναι αυτό τώρα χρήσιμο σε ένα πλαίσιο web;
Λοιπόν, ας πάμε πίσω σε αυτό froshims παράδειγμα, η οποία εξέτασε,
πάλι, όπως αυτό εδώ.
Και ας πραγματικά να σηκώσει την ιστοσελίδα και πάλι, η οποία έμοιαζε με αυτό.
Τι μπορούμε να κάνουμε με το δεδομένων που υποβάλλονται;
>> Λοιπόν, επιτρέψτε μου να ανοίξει ένα νεότερο έκδοση αυτού.
Και θα δείτε ότι το πρόβλημα σύνολα προδιαγραφών βόλτες σας
μέσα από μερικά από αυτά.
Αντί να ξεκινήσει με το μηδέν, ας δούμε froshims3,
που κάνει λίγο περισσότερο.
>> Ανακοίνωση πρώτο, στην πραγματικότητα, ας ανοίξουμε μέχρι ό, τι ήταν 0, έτσι ώστε να δείτε
Τι μητρώο ήταν 0.
Παρατηρήστε τι καταχωρητή 0 έκαναν.
Ένα, έχω παρατηρήσεις στην κορυφή.
Διαγραφή αυτά και να επικεντρωθεί μόνο σε αυτό.
Τα περισσότερα από τα περιεχόμενα του register0.php είναι, προφανώς, σε ποια γλώσσα;
Απλά πρώτες PHP.
>> Έτσι ανακοίνωση, το αρχείο αυτό δεν ξεκινά με, αυτή τη στιγμή, ανοιχτό βραχίονα,
ερωτηματικό, PHP.
PHP δεν σας επιτρέπουν να μπερδεύονται PHP κώδικα με HTML tags.
Αλλά έχω κάνει εδώ μέσα της σελίδας εδώ.
>> Τώρα, πάλι, θα γνωρίζετε ότι μόνο αυτό από αφού κοίταξε το εγχειρίδιο. print_r,
αποδεικνύεται, είναι print_recursive. _recursive Και αυτό είναι μόνο ένα πρακτικό
συνάρτηση χρησιμότητας που απλά τυπώνει, αναδρομικά, ό, τι το χέρι.
Εάν το χέρι του μια σειρά, αυτό θα εκτυπώσετε μια σειρά.
Εάν το χέρι έναν αριθμό, αυτό θα εκτυπώσετε μια σειρά.
Πλευρά μια σειρά, θα τυπώσει μια συμβολοσειρά.
Εάν το χέρι της ένα πίνακα κατακερματισμού, το θα εκτυπώσουν ένα πίνακα κατακερματισμού.
Δεν χρειάζεται να γράψετε όλα του εν λόγω κώδικα σας.
>> Τώρα παρατηρήσετε ότι είμαι εισέρχονται PHP λειτουργία εδώ.
Είμαι έξοδο PHP λειτουργία εδώ.
Έτσι, όταν ο web server διαβάζει αυτό το αρχείο πάνω προς τα κάτω, αριστερά προς τα δεξιά, επειδή
καταλήγει σε ένα όνομα αρχείου που ονομάζεται. php, ό, τι δεν είναι στο εσωτερικό της PHP tags είναι
ακριβώς πρόκειται να είναι σούβλα έξω, όπως τα ωμά HTML.
Δεν είναι μεγάλη υπόθεση.
Αλλά μόλις ο διακομιστής web ανακοινώσεις αυτό, πρόκειται να πω, δεν θα πρέπει να
φτύσει, κυριολεκτικά, print_r των υστέρων.
Θα πρέπει να εκτελέσετε την ακόλουθη γραμμή κώδικα.
>> Έτσι, το τελευταίο ερώτημα, λοιπόν, αυτού του αρχείου Είναι, επίσης, τι στο καλό είναι αυτό;
Πάρτε μια εικασία.
Τι είναι $ _POST, ίσως;
>> ΚΟΙΝΟ: [δεν ακούγεται]
>> ΟΜΙΛΗΤΗΣ 1: Ναι, τα στοιχεία που δημοσιεύτηκε.
Θυμηθείτε, ας μετακινηθείτε προς τα πίσω σε ώρα για μια στιγμή.
froshim0, και πάλι, έμοιαζε με αυτό.
Η ειδική πλειοψηφία του αυτό είναι μόνο HTML.
Και πάλι, κάποιες ετικέτες που δεν έχουν δει ακόμα, ή με τις οποίες
είστε ήδη εξοικειωμένοι.
Αλλά το ενδιαφέρον πράγμα ήταν αυτό.
Η μία γραμμή είναι αυτό που πραγματικά συνδέει να register0.php αρχείο μας.
Είμαι υποβολή μέσω ταχυδρομείου μέθοδο.
Και αυτό σημαίνει ότι οι παράμετροι πληκτρολογεί ο χρήστης δεν είναι
πρόκειται να καταλήξει πού.
>> Δεν πρόκειται να εμφανιστούν στο URL.
Είναι ακόμα πρόκειται να αποσταλεί από το πελάτη, από το πρόγραμμα περιήγησης, με την
διακομιστή, αλλά μόνο μέσω κάποιου άλλου μηχανισμός που θα παραιτηθεί από τα χέρια μας
σε για σήμερα, αλλά δεν είναι στο URL.
Αλλά παρατηρήσετε τη σχέση τώρα με θέση, η οποία, κατά συνθήκη,
πεζά εδώ.
>> Αλλά αν ανοίξει register0.php, Είμαι εκτύπωση προφανώς αυτό.
Έτσι, αυτό είναι το είδος του ένα παράξενο σύμβαση ονομασίας.
Αλλά τι είναι ωραίο στην PHP είναι ότι όταν χρήση της PHP σε ένα πλαίσιο web, όχι σε μια
γραμμή εντολών όπως έκανα πριν από λίγο, όταν χρησιμοποιείτε πραγματικά σε ένα web
σελίδα, σε ένα vhost κατάλογο όπως είμαστε, PHP αυτόματα θα καλύψει αυτό
πράγμα, το οποίο είναι ένα associative array, να το πω έτσι, ένα πίνακα κατακερματισμού, με
ό, τι ο χρήστης πληκτρολογήσει μέσα
>> Με λίγα λόγια, $ _POST σε όλα τα καλύμματα είναι ένα καθολική μεταβλητή που PHP ακριβώς
μαγικά δημιουργεί για σας όταν χρήση της PHP σε ένα πλαίσιο web.
Και βάζει από αυτό μέσα σε όλα της τα ονόματα των παραμέτρων με τη μορφή που
υποβλήθηκε σε αυτό το αρχείο και όλα οι αξίες που ο χρήστης πληκτρολογήσει μέσα
Έτσι χέρια σας αυτό που ο χρήστης πληκτρολογήσει στο εν λόγω έντυπο.
>> Έτσι, πριν, πήραμε πραγματικά ηλίθιο εξόδου μόλις βλέπουμε αυτό, διότι το μόνο που έκανα
η εκτύπωση αναδρομικά αυτής της σειράς.
Το κλειδί είναι το όνομα, η τιμή είναι David.
Το κλειδί είναι καπετάνιος.
Η τιμή είναι σχετικά.
Και το διπλό βέλος και η γωνία στήριγμα εκεί, αυτό είναι μόνο αυθαίρετη.
Αυτό δεν είναι κώδικα.
Αυτός είναι ακριβώς ο τρόπος της PHP από δείχνοντάς σας ποια είναι η αξία κάποιου κλειδί.
>> Τώρα, όμως, επιτρέψτε μου να προτείνω στο froshIMs3, είναι σχεδόν ταυτόσημες
εκτός του ότι υποστηρίζει σε αυτό το αρχείο.
Και πάλι, θα πάμε με το είδος ακριβώς ματιά σε αυτό, απλά για να δείτε μερικά
σύνταξη, αλλά η ανακοίνωση τι αυτό το αρχείο κάνει.
Πάρτε μια εικασία μόνο με βάση τις γραμμές κώδικα, ο οποίος κατά πάσα πιθανότητα μοιάζουν
Ελληνική, σε κάποιο βαθμό, προφανώς κάνει.
>> Αυτό το αρχείο είναι κατά κάποιον τρόπο σχετίζονται με ταχυδρομείο, ηλεκτρονικό ταχυδρομείο.
Έτσι, αυτό που κάνει αυτό το πρόγραμμα;
Σε αυτή την έκδοση, αν ήμουν πραγματικά συμπληρώστε την παρακάτω φόρμα - και επιτρέψτε μου να πάει στο
froshIMs3 όχι, froshIMs0 -
η μορφή έχει την ίδια εμφάνιση.
David, καπετάνιος, αρσενικό, dorm, Matthews.
Αλλά αν μπορώ να υποβάλω αυτό, το αρχείο αυτό είναι πρόκειται να πάει στο register3.php.
>> Και έχω αυτή την αξίωση, με την εξέταση αυτή είναι πηγαίο κώδικα, πρόκειται να
κατά κάποιο τρόπο τη συμμετοχή email.
Επιτρέψτε μου να προχωρήσει και να ανοίξει αυτή σε ένα μεγαλύτερο παράθυρο, έτσι ώστε να
μπορείτε να το δείτε πιο καθαρά.
Είμαστε σε, τοπικές vhosts υποδοχής, κοινό, froshims.
Πάω να ανοίξει μια διαφορετική πρόγραμμα, ακριβώς γι 'αυτό
να δείτε περισσότερα ταυτόχρονα.
>> Έτσι τώρα εδώ, παρατηρήσετε μερικά πράγματα.
Στην κορυφή του αρχείου είναι ανοικτό βραχίονα, ερωτηματικό, PHP.
Στη συνέχεια, υπάρχει μια δέσμη των παρατηρήσεων, το οποίο μπορούμε να αγνοήσουμε, είναι
πληκτικός για τώρα.
>> Τώρα υπάρχει αυτό.
Βγάζει PHP έχει πολλά του κώδικα που ονομάζεται απαιτούν.
Είναι πολύ παρόμοια στο πνεύμα με το C περιλαμβάνουν, hash περιλαμβάνουν, το οποίο
ουσιαστικά αρπάζει τα περιεχόμενα μερικών άλλο αρχείο και απλά να τους plops εδώ,
ώστε να μπορείτε να τα χρησιμοποιήσετε.
Στην περίπτωση αυτή, η συσκευή έχει, προ-εγκατεστημένο, μια βιβλιοθήκη, δωρεάν και
open source βιβλιοθήκη που ονομάζεται PHP mailer ότι ο καθένας μπορεί να
κατεβάσετε από το διαδίκτυο.
Κάναμε ακριβώς για σας.
Και αυτό σημαίνει ότι έχω τώρα το email λειτουργικότητα στη διάθεσή μου.
>> Τώρα, παρατηρήσετε μερικά πράγματα.
Πάω για να επικυρώσει τη την υποβολή της φόρμας.
Βγάζει PHP, ένα, έχει θαυμαστικό σημεία για την όχι και εκμετάλλευσης, όπως ακριβώς
Γ. Αλλά η PHP έχει επίσης μια λειτουργία ονομάζεται άδειο.
>> Empty επιστρέφει ακριβώς ισχύει εάν η τιμή του πράγμα που το παραδώσει στο
παρενθέσεις είναι άδειο, όπως και η χρήστης δεν πληκτρολογήσετε τίποτα μέσα
Έτσι, αυτό που λέει, και να παρατηρήσετε το σύνταξη, θυμίζει πολύ C, αν η
όνομα κλειδιού, έτσι ώστε το πεδίο ονόματος, με τη μορφή, η οποία υποβλήθηκε μέσω ταχυδρομείου, από
ο χρήστης, είναι να μην αδειάσει, και τους φύλο δεν είναι κενή με τη μορφή που
καλά, και dorm τους δεν είναι κενή -
αλλά πρόσεξα ότι δεν νοιάζονται για Captain, τότε τι θα κάνουμε;
>> Πάω να εκτελέσει Αυτή η γραμμή κώδικα.
Και μπορείτε να σκεφτείτε αυτού του είδους όπως malloc, αλλά είναι λίγο
πιό φανταχτερό από αυτό.
Αλλά για τώρα αυτό μου δίνει μια ιδιαίτερη struct τύπου PHP mailer.
Αλλά αγνοούν τη λέξη-κλειδί νέα για σήμερα.
>> Τώρα είμαι πρόκειται να καλέσετε μια λειτουργία που ονομάζεται IsSMTP, η οποία λέει, χρησιμοποιεί SMTP.
Αυτή είναι η θύρα 25, ακριβώς όπως και το βίντεο την περασμένη εβδομάδα, όταν το πράγμα πετούσε
emails στο firewall.
Θύρα 25 είναι SMTP.
SMTP μέσα που χρησιμοποιούν το διακομιστή αλληλογραφίας.
Ποιο από τα δύο, μπορούμε να χρησιμοποιήσουμε το Χάρβαρντ SMTP.fas.harvard.edu.
>> Μπορούμε να ρυθμίσετε το από τη διεύθυνση να είναι ο John Χάρβαρντ.
Αν διαβάσω περισσότερο, μπορώ να ορίσετε η διεύθυνση του παραλήπτη, μόλις
αυθαίρετα, για να είναι ο John Harvard, καθώς και.
Έτσι πρόκειται να είναι ο ίδιος ηλεκτρονικού ταχυδρομείου.
>> Τώρα μπορώ να ρυθμίσετε το θέμα για να την εγγραφή.
Και μπορώ να ρυθμίσετε το σώμα του ηλεκτρονικού ταχυδρομείου ως εξής.
Αυτή η γραμμή φαίνεται λίγο πιο αινιγματικό, αλλά αυτό είναι μόνο και μόνο επειδή υπάρχει πολύ
πληροφοριών σε αυτό.
Ένα, υπάρχει ένα τελεστή τελεία.
Κάποιος πρέπει να γνωρίζουν ήδη τι ο φορέας εκμετάλλευσης dot κάνει.
Είναι συνένωση.
Έτσι, εάν θέλετε να πάρετε ένα string σε PHP, και να προσαρτήσει ή να βάζετε μπροστά από αυτό, να
άλλο συμβολοσειράς στην PHP, δόξα τω Θεώ σας Δεν χρειάζεται να χρησιμοποιήσετε strcopy και malloc,
και όλα αυτά πια.
>> Αν θέλετε να ενώσετε δύο strings, ποιος νοιάζεται για τη μνήμη.
Ας PHP να καταλάβω για σας.
Τι PHP θα κάνει με τον φορέα εκμετάλλευσης dot εδώ έχει να κάνει μόνο μια μεγάλη πρόταση από
αυτής της γραμμής, η γραμμή αυτή, Αυτή η γραμμή, η γραμμή αυτή.
Και τώρα ανακοίνωση, πρόκειται να συνδέσετε τιμές.
Έτσι, το e-mail που John Harvard συμβαίνει να λάβει κυριολεκτικά πρόκειται να πω
όνομα, του παχέος εντέρου, κάτι, μάλλον, τότε κλείστε το string και να ενώσετε την
ό, τι ο χρήστης πληκτρολογήσει στην, τότε μια νέα γραμμή.
>> Στη συνέχεια, στην επόμενη γραμμή του John Χάρβαρντ email, πρόκειται να πει
Captain, On ή Τίποτα.
Είναι πρόκειται να πει το φύλο, αρσενικό ή θηλυκό.
Dorm πρόκειται να είναι Matthews στη δική μου περίπτωση.
Και παρατηρήσετε τότε γνωστό ερωτηματικό στο τέλος.
Και τότε, εδώ κάτω, ανακοίνωση, κάπως αινιγματικά ακόμα, αλλά και πάλι, μετά από μια
μοτίβο που θα γίνει πιο εξοικειωμένοι μετά P που 7, αν η αποστολή αλληλογραφίας
Επιστρέφει false, τότε να προχωρήσει και να πεθάνει.
>> Έτσι, PHP έχει μια λειτουργία που ονομάζεται πεθαίνουν, η οποία, κυριολεκτικά, απλά σκοτώνει το
ιστοσελίδα και απλά εκτυπώνει οτιδήποτε να το πω - της πεθαίνει
Δηλαδή, να το πω έτσι.
Και ότι, στην περίπτωση αυτή, θα εκτυπώσει τι οι πληροφορίες σφάλματος είναι
ό, τι συνέβη να πηγαίνουν στραβά.
Έτσι, τα πολυλογώ εδώ, αυτό που έχουμε είναι ένα παράδειγμα, όπου όταν ο χρήστης
υποβάλλει τη φόρμα, froshim0, froshims3.php, πηγαίνει στο
register3.php.
Αλλά register3.php προχωρεί στη συνέχεια να εκτελέσει όλες αυτές τις γραμμές.
>> Έτσι, υπάρχουν μερικά χιλιόμετρα μακρυά take εδώ.
Ένα, είναι προφανώς αρκετά εύκολο, προγραμματισμού, να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου,
το οποίο είναι καλό.
Όταν οι χρήστες κάνουν εγγραφή για την περιοχή σας, στην Στην περίπτωση αυτή, κατά την εγγραφή τους για σας
τον αθλητισμό, μπορείτε να στείλετε email το καινούριο Proctor, ή John
Χάρβαρντ, σε αυτή την περίπτωση.
>> Αλλά αυτό σημαίνει, επίσης, μπορείτε να κάνετε τι;
Στείλτε e-mail από κανέναν σε κανέναν.
Και αυτό είναι πολύ αληθινό.
Αυτό δεν είναι τόσο εύκολο να γίνει, εάν έχετε συνηθίσει να χρησιμοποιείτε το Gmail.
Αλλά αν έχετε χρησιμοποιήσει ποτέ το Eudora ή Outlook, μπορείτε λίγο πολύ να πω ένα
διακομιστή αλληλογραφίας που είναι όποιον θέλετε.
Και αυτό είναι που πρέπει να τεθεί σε το καπέλο και να πει, μην το κάνεις αυτό.
Αλλά αυτό είναι απόδειξη για το πόσο εύκολο είναι να εκτελεί επιθέσεις phishing, και
στείλετε ανώνυμα μηνύματα ηλεκτρονικού ταχυδρομείου, και το spam, γενικότερα.
Και πραγματικά βράζει κάτω στην το γεγονός ότι το μόνο που χρειάζεται είναι μερικές
πρόσβαση μέσω προγραμματισμού.
>> Παρεμπιπτόντως, μου πλησιέστερο συνάντηση με Το Διοικητικό Συμβούλιο διαφήμιση, τη δική ήμουν πρωτοετής,
ήταν όταν ανακάλυψα αυτό το δροσερό ξεγελάσουν ότι, wow, μπορείτε να
στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου από κανέναν.
Και έτσι ήμασταν έχοντας κάποια ηλίθια επιχείρημα, κυριολεκτικά, σε Matthews,
μεταξύ της ομάδας Proctor μου.
Δεν θυμάμαι καν ποιο είναι το ζήτημα ήταν.
Θα ήθελα όμως να προσπαθήσουμε να βάλουμε ένα τέλος σε αυτήν την ανόητη συζήτηση.
>> Έτσι αποφάσισα ότι θα στείλει μόνο ένα email στην ομάδα Proctor μου, που προσποιείται ότι είναι
ο άλλος, με τη γνωμοδότηση της οποίας διαφώνησε, και να τον συναινούν
ανεξάρτητα από τη γνώμη μου ήταν σε Αυτή η συζήτηση.
Και γι 'αυτό το πλαστό e-mail χρησιμοποιώντας τεχνική παρόμοια στο πνεύμα με αυτό.
Αλλά ήταν στην πραγματικότητα πιο εύκολο κατά τη χρονική στιγμή.
Hit αποστολή.
Ο ίδιος δεν ήταν ικανοποιημένος, ούτε θα έχουν το διοικητικό συμβούλιο τώρα.
>> Και ήμουν πολύ γρήγορα αλιεύονται δευτερόλεπτα, διότι, όπως γνωρίζετε, έχω υπογράψει
e-mail μου με έναν ορισμένο τρόπο.
Και αν το κάνω χειροκίνητα, σε μεγάλες μέρος, 15 χρόνια μετά, επειδή ήμουν
τραυματιστεί από αυτό.
Δεν έχω υπογραφή στο e-mail μου τώρα.
Όμως, το 1995, είχα μόνο μια sig, μια υπογραφή στο email μου.
Υπήρχε, λοιπόν, αυτό το σημείωμα που έλεγε, Dear Ομάδα Proctor, θα συναινούν γνώμη μου
και συμφωνώ με τον David, υπογραφεί μέχρι και έτσι, νέα γραμμή, νέα γραμμή, DJM.
>> Έτσι δεν το κάνουμε αυτό ή, σε γενικές γραμμές, να λάβει πλεονέκτημα αυτής της τεχνικής.
Αλλά όταν κάνει ένα δικτυακό τόπο, όπως και για τελικό σχέδιο σας, όταν κάνετε μια
Ιστοσελίδα για κάτι επιχειρηματική, Αυτό είναι το πώς, ρεαλιστικά, μπορείτε να
μόχλευσης άλλες υπηρεσίες στο διαδίκτυο όπως το ταχυδρομείο και στη συνέχεια στην πραγματικότητα
στείλετε τα πράγματα χρησιμοποιώντας τον κωδικό.
>> Λοιπόν, πώς μπορούμε να βελτιώσουμε την κατάσταση αυτή;
Λοιπόν, κατ 'αρχάς, ας ρίξουμε μια γρήγορη περιήγηση μερικά από τα πράγματα που θα δείτε,
και στη συνέχεια να λάβει μια ματιά μερικά παραδείγματα.
Έτσι, ένας, να καθησυχάσει, γιατί πετάμε μέσω της PHP.
Και ξέρω ότι, σε κάποιο σημείο, θα έχετε πραγματικά να αρχίσετε να γράφετε αυτό, αν
δεν έχουν ήδη.
Συνειδητοποιήστε ότι, το ένα, το κύριο είναι το είδος του έξω από το παράθυρο με την PHP.
Εάν θέλετε να γράψετε κώδικα που παίρνει εκτελεστεί, μόλις αρχίσετε να γράφετε στο
ένα αρχείο με όνομα. php, εφόσον έχετε το άνοιγμα παρένθεσης
ερωτηματικό PHP tag.
>> Να σημειωθεί όμως αυτά είναι συνθήκες σε php.
Ανακοίνωση, αυτή είναι ακριβώς η ίδια διαφάνεια είχαμε στην εβδομάδα, όταν είχαμε
συνθήκες C. Οι συνθήκες PHP είναι δομικά και
συντακτικά το ίδιο.
Μόνη πραγματική διαφορά είναι, αν έχετε μεταβλητές που εμπλέκονται, θα πρέπει αυτά
σημάδια δολαρίων.
>> Εν τω μεταξύ, Boolean εκφράσεις μοιάζει ακριβώς όπως αυτό για
ή-σης ή και-σης μαζί.
Διακόπτες δούμε ακριβώς το ίδιο.
Τι ωραία στην PHP, ενώ στη C, διακόπτες πρέπει να είναι περιπτώσεις στις
αρχέτυπα, όπως ints ή χαρακτήρες, σε PHP Δηλώσεις περίπτωσή σας μπορεί πραγματικά να είναι
στο σύνολό της χορδές, η οποία είναι πραγματικά το είδος της Νίκαιας.
Σας εξοικονομεί κάποιο χρόνο.
Δεν θα μπορούσε να το κάνει αυτό σε C.
>> Εδώ είναι ένας βρόχος for στην PHP.
Είναι πανομοιότυπα.
Μπορεί να έχει κάποια σύμβολα του δολαρίου για τις μεταβλητές.
Δεν χρειάζεται να αναφέρω ότι κάτι που είναι int.
Μπορείτε να δηλώσετε απλά με το σύμβολο του δολαρίου και το όνομα της μεταβλητής.
Αλλά ένας βρόχος for είναι η ίδια.
Ένας βρόχος, ενώ είναι η ίδια.
Μια do while loop είναι το ίδιο.
>> Αυτό είναι λίγο διαφορετική.
Έτσι με την PHP, με μια σειρά, μπορείτε να στατικά κηρύξει μια σειρά, όπως στο C,
αλλά μπορείτε να χρησιμοποιήσετε αγκύλες.
Στο C, θα πρέπει να χρησιμοποιήσετε άγκιστρα, αν ήξερε καν αυτό.
Αλλά αυτό είναι πραγματικά πολύ κοινή σε PHP για να δηλώσει μια σειρά, σε αυτή την περίπτωση,
των αριθμών, και να καλέσει το μεταβλητούς αριθμούς.
>> Οι μεταβλητές οι ίδιοι μοιάζουν με αυτό.
Εδώ είναι μια σειρά, παραθέτω unquote "γεια κόσμο. "Θα μπορούσατε να έχετε μια ανάστροφη κάθετο n.
Απλά δεν σε αυτή την περίπτωση.
>> Τώρα αυτό είναι μια ενδιαφέρουσα κατασκευή.
C δεν έχει αυτό.
Αλλά αυτό είναι εξαιρετικά χρήσιμη.
Και θα το δείτε αυτό στο σύνολο P 7 spec - ένα για κάθε κατασκευή.
Αν θέλετε να επαναλάβει επί του συνόλου των στοιχεία μια σειρά, δεν έχετε
για να ασχοληθεί με $ i και $ n, και + +, και όλα αυτά.
Μπορείτε να κυριολεκτικά να πω, σε PHP, αυτό -
για κάθε αριθμούς ως αριθμό, έτσι Υποθέτω ότι $ αριθμοί
είναι μια σειρά από αριθμούς.
Και όταν λέω για κάθε αριθμούς ως αριθμός, αυτό πρόκειται να
αυτόματα, καθώς η θηλειά μου εκτελεί, ενημέρωση, σε κάθε επανάληψη, η αξία
εσωτερικό του αριθμού σύμβολο του δολαρίου -
ξανά, και ξανά, και ξανά το περπάτημα για μένα πάνω από το πίνακα.
Γι 'αυτό ακριβώς μας σώζει κώδικα.
Δεν υπάρχουν ερωτηματικά, δεν + + 's, δεν είναι i, n δεν είναι, είναι απλά ωραίο.
>> Αλλά η PHP έχει επίσης αυτό.
Και αυτό είναι εξαιρετικά ισχυρό.
Και θα χρησιμοποιήσετε αυτό, τα χέρια για, στην P που 7.
Και associative array έχει επίσης χαρακτηριστεί με αγκύλες.
Αλλά παρατηρήσετε τη σύνταξη τώρα.
Είναι θυμίζει ό, τι είδαμε με print_r πριν από λίγο.
Πόσα πλήκτρα, σαν ένα μικρό έλεγχο λογική, αυτή η σειρά φαίνεται να έχουν.
>> Γι 'αυτό έχει δύο.
Και Καλώ αυτό μια σειρά.
Αλλά αν αυτό βοηθάει, μπορείτε να σκεφτείτε αυτού ως hash πίνακα, ή
ένα associative array.
Αλλά είναι απλά μια διαφορετική τύπο πίνακα.
Και πάλι, διαφορετικές γλώσσες έχουν αυτά.
Θα δείτε κάτι παρόμοιο σε JavaScript, καθώς και.
Υπάρχουν δύο πλήκτρα.
Το ένα είναι unquote απόσπασμα, "σύμβολο", το ένα είναι παραθέσω unquote "τιμή". Και αυτά τα κλειδιά
το καθένα έχει μια αξία.
Σε αυτή την περίπτωση αξία συμβόλου είναι FB, για Αξία του Facebook, και η τιμή είναι 49, 26,
η οποία ήταν μετοχών του Facebook τιμών, όπως σήμερα το πρωί.
>> Έτσι, τι είναι χρήσιμο για την ένα associative array.
Θα μπορούσε να έχει αριθμητικά ευρετήριο πίνακα με μόλις
απλή αγκύλες.
Και θα μπορούσε να έχει το σύμβολο του δολαρίου quote ισούται μόνο αυτό.
Επιτρέψτε μου να το κάνουμε πραγματικότητα.
Ας υποθέσουμε ότι εγώ αντί απλώς δηλώνονται αυτή η συστοιχία έτσι.
Αυτό είναι απολύτως έγκυρη, συντακτικά.
Αυτό δεν χάνει καμία πληροφορία, per se.
Εξακολουθώ να βλέπω ότι το σύμβολο είναι fb, και ότι η τιμή είναι 49, 26.
Γιατί, λοιπόν, είναι συνειρμική συστοιχίες συναρπαστικό;
>> ΚΟΙΝΟ: Δεν χρειάζεται να θυμάστε όπου μπορείτε να βάλετε τα πράγματα.
>> ΟΜΙΛΗΤΗΣ 1: Ακριβώς, δεν έχετε να θυμηθείτε πού βάζετε τα πράγματα.
Δεν χρειάζεται να θυμάστε αυθαίρετα το σύμβολο αποθεμάτων είναι σε βραχίονα μηδέν,
και οι τιμές των μετοχών είναι σε ένα βραχίονα, το οποίο είναι ιδιαίτερα επικίνδυνο αν
αλλάξουν τα πράγματα, τελικά.
Είναι πολύ καλύτερο να συνδέσει Τι θα καλέσουμε τα μεταδεδομένα
με τα πραγματικά δεδομένα σας.
Θα έλεγα ότι αυτό που πραγματικά νοιάζονται εδώ είναι fb και 49, 26.
Το σύμβολο και η τιμή είναι τα μεταδεδομένα που περιγράφει τα δεδομένα που
πραγματικά νοιάζονται για.
Αλλά αυτό είναι ακριβώς τόσο πολύ ευκολότερη η πρόσβαση.
>> Τώρα, ως μέρος τι είναι το τίμημα που πληρώνουμε;
Έχουμε ήδη κάνει αυτό σε CS50 για εβδομάδες.
Αυτό το χαρακτηριστικό θα πρέπει να έρθει σε κάποιο κόστος.
Μνήμη.
Έτσι, δεν είστε αποθήκευση μόνο ένα 32-bit ακέραιος, για παράδειγμα.
Είσαι αποθήκευση σύμβολο / 0, κατά πάσα πιθανότητα.
Έτσι, μπορείτε να χρησιμοποιείτε περισσότερη μνήμη.
>> Και ποια είναι η απόδοση της αναζητούν κάτι επάνω σε ένα
associative array, ίσως;
Είναι πιθανώς πιο αργή.
Τυχαία πρόσβαση είναι ωραία, ειδικά όταν μπορείτε να κάνετε δυαδική αναζήτηση.
Αλλά αν είστε πραγματικά τώρα αναζητούν όχι για αριθμούς, αλλά για χορδές, αυτό
πραγματικά υλοποιείται κάτω από την κουκούλα, πιθανώς ως hash πίνακα, όπου
μπορείτε να χρησιμοποιήσετε είτε έναν πίνακα κατακερματισμού με separate chaining.
Ή μπορείτε να χρησιμοποιήσετε μια δοκιμή για την πραγματικότητα αποθηκεύσει τις τιμές.
Έτσι, ίσως μπορείτε να κάνετε συνεχή χρόνο, αλλά πρέπει ακόμα να εξετάσουμε S-Υ-Μ-Β-Ο-L,
δυνητικά, αντί μόλις 32 bits για να δούμε κάτι επάνω.
Έτσι και πάλι, αυτές οι ίδιες ιδέες που έρχονται πίσω για να επαναληφθεί σε αυτό το πλαίσιο.
>> Αλλά και πάλι, η PHP έχει τώρα κάποια super globals ότι αποδεικνύεται, είναι
associative arrays.
Είδαμε ένα πριν από λίγο, $ _POST.
Και ότι το Super παγκόσμια έχει τα κλειδιά και τις αξίες.
Συγκεκριμένα, τα πλήκτρα ευθυγραμμισμένο με τι;
Πού τα κλειδιά σε $ _POST προέρχονται από;
Ακριβώς για να ανακεφαλαιώσουμε;
>> Κοινό: Όνομα.
>> ΟΜΙΛΗΤΗΣ 1: Όνομα, πού;
>> ΚΟΙΝΟ: [δεν ακούγεται]
>> ΟΜΙΛΗΤΗΣ 1 Όνομα είναι το χαρακτηριστικό.
Λοιπόν, όταν, όπου έκαναν αρχικά προέρχονται από;
Το έντυπο.
Έτσι, αν μια σελίδα HTML έχει μια ετικέτα μορφής, εσωτερικό του οποίου είναι μερικές εισόδους, όπως
πλαίσια ελέγχου, πλαίσια κειμένου, drop down μενού, καθένα από τα οποία έχει ένα όνομα, οι εν λόγω
ονόματα καταλήγουν ως κλειδιά σε $ _POST, και, ειλικρινά, για εκείνο το θέμα, $ _GET.
Εάν η μέθοδος είναι να πάρετε, ίδια ιδέα.
Είναι απλά σε μια διαφορετική super παγκόσμια.
Και οι τιμές, φυσικά, προέρχονται από ό, τι ο χρήστης πληκτρολογήσει στο δικό του
περιήγησης της.
>> Αλλά υπάρχουν μερικά άλλα.
Υπάρχει μπισκότο, το οποίο εμείς θα επανέλθουμε σε τελικά.
Αλλά αυτά είναι τα πράγματα που ξέρετε χρησιμοποιεί το διαδίκτυο για κάποιο καλό ή το κακό.
Αλλά θα επανέλθω στο θέμα αυτό.
Διακομιστή και διάρκεια, και τα δύο αυτά έχουν κάποια ιδιαίτερη χρησιμότητα.
>> Αλλά ας ρίξουμε μια ματιά σε αυτό.
Επιτρέψτε μου να προχωρήσει και να ανοίξει ένα παράδειγμα Έτσι ονομάζεται mvc0.php MVC
ξεχωρίζει για το επόμενο.
Και έχουμε εισαγάγει νωρίτερα από ό, τι είναι τυπικό, πραγματικά, να σας πάρει το σχεδιασμό
Set Πρόβλημα 7, καθώς επίσης και τελικών σχεδίων, το είδος της βιομηχανίας
τυποποιημένο τρόπο και καθαρό τρόπο.
Είναι καλό σχεδιασμό.
>> Έτσι, είστε έτοιμος να δείτε, και θα εμπειρία, το σύνολο P 7, παράδειγμα, το είδος
από μια νοοτροπία προγραμματισμού, που μοιάζει λίγο κάτι σαν αυτό.
M για το μοντέλο, C για Controller, V for View.
Μεγάλη ιστορία σύντομη, MVC είναι ακριβώς το είδος μεθοδολογία, ένας τρόπος για να
ιστοσελίδες, ειδικότερα, σύμφωνα με την οποία θα τεθούν όλα, ηλίθια φράση σας -
επιχειρηματική λογική -
όλα τα δικαιώματα πνευματικής ιδιοκτησίας σας ό, τι λέγεται έναν ελεγκτή, ένα αρχείο
όπως index.php, ή θα δούμε, quote.php ή buy.php.
>> Στο πλαίσιο της σειράς Πρόβλημα 7, σας μοντέλα συνήθως περιέχουν τα δεδομένα σας,
οτιδήποτε σχετίζεται με μια βάση δεδομένων, όπως θα τελικά να δούμε και τις απόψεις σας
περιέχουν την αισθητική του δικού σας χώρο, το HTML, το CSS.
Έτσι είδαμε ήδη αυτό στην C λίγο bit χρησιμοποιώντας αρχεία. h.
Είδαμε πραγματικά πριν από λίγο με CSS, factoring από το στυλιζάρισμα CSS
πράγματα από HTML μας.
>> Έτσι MVC είναι πραγματικά ακριβώς για την κατάρτιση γραμμές στην άμμο και να λένε, η
ενδιαφέρουσα κώδικα προγραμματισμού για σας ιστοσελίδα ανήκει σε αυτό που θα ονομάζουμε
ελεγκτή.
Πράγμα που σχετίζονται με βάση τυπικά καταλήγει σε ένα μοντέλο.
Αλλά θα δούμε, στο σύνολο Πρόβλημα 7, θα συγχώνευση C και M για να κρατήσει το απλό.
Αλλά άποψη είναι όπου όλα HTML σας και την αισθητική συνήθως πάει.
>> Λοιπόν, τι σημαίνει αυτό σε πραγματικούς όρους;
Λοιπόν, επιτρέψτε μου να μπω σε MVC μας κατάλογο ως εξής.
Και θα δείτε περισσότερα από αυτά περιόδευσε μέσα στο spec.
Έτσι mvc0, εγώ ισχυρίζομαι ότι αυτό είναι, όπως, έκδοση 0 ιστοσελίδες CS50 του.
>> Το μόνο που έχουμε είναι κάποια HTML, όπως ένα μεγάλο tag h1, προφανώς.
Και τότε μια λίστα με κουκκίδες.
Δεν έχω δει ποτέ μια λίστα με κουκκίδες πριν, αλλά δεν είναι μεγάλη υπόθεση.
Ας δούμε γρήγορα τον πηγαίο κώδικα.
Βγάζει μια μη διατεταγμένη λίστα με σφαίρες είναι ανοικτό ul βραχίονα με ένα ή
περισσότερα στοιχεία της λίστας, li.
Έτσι προειδοποίηση εδώ είναι μια άγκυρα ετικέτα.
Είδαμε ότι πριν από λίγο.
>> Έτσι, αυτό είναι το πώς θα εφαρμοστεί αυτή τη σελίδα.
Έχω δύο συνδέσεις, δύο στοιχεία λίστας, ένα ul για μη διατεταγμένη λίστα, και το τέλος
αποτέλεσμα, αισθητικά, είναι αυτό το πολύ όμορφη ιστοσελίδα, έκδοση 0 εδώ.
Αλλά αυτό που είναι τώρα ενδιαφέρον είναι το πώς αυτή υλοποιείται κάτω από την κουκούλα.
>> Επιτρέψτε μου να πάω στο gedit και να ανοίξει αυτό πολύ πρώτο παράδειγμα να ζωγραφίσει μια εικόνα.
Και θα εξετάσουμε τι είναι λανθασμένη, δυνητικά, εδώ.
Τώρα, αν πάω σε localhost, δημόσια, MVC, παρατηρήσετε μερικά αρχεία.
Πάω να τα λέμε, για το τη στιγμή, όλοι οι ελεγκτές.
Αλλά αυτό είναι ένα κομμάτι της κατάχρησης, επειδή θα δείτε τα πάντα είναι αναμιγμένα
μέσα τους.
>> Και επιτρέψτε μου να πάω στο εσωτερικό του index.php.
Και βλέπουμε, κυριολεκτικά, την ίδια HTML.
Έτσι, ακόμη και αν αυτό το αρχείο τελειώνει σε . Php, αυτό δεν σημαίνει ότι πρέπει να
έχει PHP κώδικα.
Μπορεί απλά να είναι πρώτες HTML, παρόλο που αυτό είναι χαζό.
Να σημειωθεί όμως ότι δεν υπάρχει ανοικτό στήριγμα PHP ετικέτα, εκτός από αυτό, το οποίο, ειλικρινά,
είναι ακριβώς εκεί για να χρησιμεύσει ως ένα σχόλιο.
Αλλά αυτό δεν είναι λειτουργικά ακόμη ότι ενδιαφέρον.
>> Αλλά παρατηρήσετε αυτό.
Αυτό που είναι ενδιαφέρον είναι τώρα ό, τι αλλαγές σε αυτή τη σελίδα.
Επιτρέψτε μου κάντε κλικ Διαλέξεις.
Και παρατηρήσετε η διεύθυνση URL είναι έτοιμος να αλλάξει.
Τώρα είμαι στο lectures.php.
Επιτρέψτε μου να πατήστε το μηδέν.
Τώρα είμαι στο week0.php Και τώρα ας Θέλω να ανοίξετε αυτά τα αρχεία στο gedit.
Όχι μόνο δείκτη, αλλά ας Θέλω να ανοίξει διαλέξεις.
Και επιτρέψτε μου να απαλλαγούμε από τα σχόλια να επικεντρωθεί σε αυτό το μέρος μόνο.
>> Και τώρα επιτρέψτε μου να ανοίξει ένα ακόμη, week0.php, πετάξτε τα σχόλια,
απλά για να το καθαρίσω αυτό.
Και παρατηρήσετε τώρα τα εξής.
Σκέφτεστε πραγματικά είδος προσεκτικά σχεδιασμό, και ας καταστήσουμε γραμμή
μέχρι το ίδιο, τι θα μπορούσε να γίνει καλύτερα εδώ, δεν νομίζετε;
>> Πώς μπορώ να κάνω το ένα την εβδομάδα;
Τι λέτε για αυτό.
Έτσι, αυτό είναι το πώς θα γίνει μία εβδομάδα.
Πήγα μέχρι το αρχείο, New, Επικόλληση, Αποθήκευση, week1.php, και στη συνέχεια πήγα στο εδώ.
Και έχω αλλάξει ένα -
Τι ήταν αυτό, μία έως Παρασκευή.
Άλλαξα τα μηδενικά σε ένα.
Έχω αλλάξει αυτό σε ένα.
>> ΕΝΤΑΞΕΙ, έτσι τώρα να δούμε τα αρχεία μου.
Τι θα μπορούσε να γίνει διαφορετικά;
Πού είναι η ευκαιρία, ίσως;
Έτσι, υπάρχει η ευκαιρία για να ξεκινήσει factoring αυτά τα πράγματα έξω.
Επιτρέψτε μου να ανοίξει, ως αεροτομή, για Τι θα δείτε στο σύνολο P 7.
Αν έχω ανοίξει, σήμερα, index.php στην έκδοση πέντε από αυτό, φαίνεται τρόπος
πιο αινιγματικά, ομολογουμένως.
>> Αλλά αυτό, σήμερα, είναι αυτό που θα αποκαλούμε ελεγκτή που ελέγχει την
λογική της σελίδας μου.
Και μπορείτε να το είδος της ανοικοδόμηση, διαισθητικά, ίσως, τι συμβαίνει.
Στην πρώτη γραμμή, είναι λίγο αινιγματικό.
Να σημειωθεί όμως είμαι απαιτεί, όπως και με απότομη περιλαμβάνουν, ένα αρχείο με όνομα
helpers.php.
Και τότε είμαι ζητώντας, προφανώς, ένας λειτουργία, που ονομάζεται render, περνώντας
δύο επιχειρήματα.
>> Το ένα είναι απόσπασμα unquote, header.
Και το άλλο είναι, τι είδους τύπος δεδομένων είναι αυτή, η οποία βασίζεται
για τη σύνταξη μας νωρίτερα;
Είναι μια συνδεδεμένη σειρά.
Συγκεκριμένα, είναι περνώντας στον τίτλο με κάποια μεταδεδομένα που θυμίζει
μου τι είναι και η αξία του.
Τότε θα δείτε ένα σκληρό κωδικοποιούνται ul, οπότε κάποιες πρώτες HTML.
Στη συνέχεια, όμως είμαι πίσω σε λειτουργία PHP καλώντας έναν καθιστούν τη λειτουργία.
Έτσι, ακόμη και αν δεν έχετε χρησιμοποιήσει ποτέ HTML ή PHP πριν, και ακόμα κι αν αυτό φαίνεται
τρομακτικό, γιατί συμβαίνει αυτό κατά πάσα πιθανότητα καλύτερο σχεδιασμό;
Ποιο είναι το καλύτερο γι 'αυτό, με βάση συμπέρασμα;
>> ΚΟΙΝΟ: [δεν ακούγεται]
>> ΟΜΙΛΗΤΗΣ 1: Λιγότερο περιττή η δεν υπάρχει πιο HTML tag, όχι περισσότερο
κεφάλια ετικέτας, όχι περισσότερο ετικέτα του σώματος σε κάθε καταραμένο αρχείο.
Αντ 'αυτού, έχω υπολογιστεί από το ομοιότητες και πιθανώς να θέσει
σε ένα αρχείο σχετίζονται με κάποιο τρόπο σε μια μπάλα.
Και ίδιο πράγμα για το σώμα κοντά ετικέτα, η στενή HTML tag.
Αυτό είναι πιθανώς κάτω εδώ μέσα του υποσέλιδου κάπου.
Και θα δείτε, το πρόβλημα που τίθεται 7, μια μικρή περιοδεία μέσα από αυτό.
>> Έτσι, ό, τι βρίσκεται μπροστά μας;
Το ένα πράγμα που δεν έχουμε τη δυνατότητα ακόμη για να είναι στην πραγματικότητα αποθηκεύουν τα δεδομένα.
Και έτσι αυτό που θα αρχίσουμε να βλέπουμε Τετάρτη για παράδειγμα, είναι ότι σας
παλιό φίλο Excel, ή αριθμούς, σας επιτρέπει να αποθηκεύσετε πολλά
δεδομένων σε γραμμές και στήλες.
Βγάζει μπορείτε να το κάνετε αυτό σε ό, τι είναι ονομάζεται μια βάση δεδομένων, μέσω προγραμματισμού.
μανιακή Και αποδεικνύεται, μετά από αυτό, θα είμαστε σε θέση να αποθηκεύουν τα πράγματα όπως
αυτό, το οποίο θα δούμε και πάλι στο σύνολο P 7, ένα σωρό ονόματα και
κωδικούς πρόσβασης, ο τελευταίος των οποίων είναι πραγματικά κρυπτογραφημένα, σαν να
ήταν στην έκδοση του χάκερ P σετ 2 του.
Και τελικά, θα εφαρμόσει αυτό, δική eTrade-σαν ιστοσελίδα σας ότι
υλοποιεί συλλογικά CS50 χρηματοδότηση.
>> Τέλος, από τη στιγμή που μείναμε εδώ τόσο αργά Σήμερα, αν έρθει πίσω σε αυτό το μέρος
της πανεπιστημιούπολης, στις 16:00 σήμερα, θα να σας δώσει όχι μόνο συμβουλές, στις SCEs
Παροχή συμβουλών Fair, στις 4:00 μ.μ. στο Maxwell-Dworkin, θα σας δώσουμε μερικές
Dream Americone, Cherry Garcia, Chocolate Fudge Brownie, Σοκολάτα
Chip ζύμη μπισκότων, και, όταν η Google Ογκώδες μαϊμού, μπορείτε να πάρετε αυτό.
Έτσι, όλα αυτά σας περιμένει στις 4:00 Μμ στο Maxwell-Dworkin.
Τα λέμε την Τετάρτη, καθώς και.
>> ΟΜΙΛΗΤΗΣ 2: Στο επόμενο CS50, RJ κοιμάται μέσα
>> RJ: το τμήμα μου!
Χα!
Ω,