JASON Hirschhorn: Welcome ο καθένας με οκτώ εβδομάδων. Έχουμε μια συναρπαστική εβδομάδα μπροστά μας. Εσείς έχετε περιστέρι σε αυτό το παρελθόν ζευγάρι διαλέξεις σε PHP, SQL, HTML, CSS, έτσι τέσσερα ολοκαίνουργια γλώσσες που είναι σε εξέλιξη να αναλάβει το υπόλοιπο αυτό το μάθημα. Θα μάθετε, επίσης, ένα ζευγάρι των άλλων γλώσσες πριν από το τέλος της σειράς μαθημάτων. Αλλά έτσι κι αλλιώς, είναι περιττό να πω, αυτό είναι ένα πολύ συναρπαστική στιγμή σε CS50, τώρα έχουν κατακτηθεί C, φαινομενικά, και κινείται προς τον προγραμματισμό για ιστοσελίδες. Έτσι, αυτή την εβδομάδα, πρόκειται να πάνε στο ένα ταξίδι-αστραπή μέσω των τεσσάρων γλώσσες που μόλις ανέφερα, HTML, CSS, PHP και SQL. Και ελπίζουμε, θα αφήνουν αρκετό χρόνο στο τέλος της ενότητας για να μιλήσει σχετικά με σύνολο P αυτής της εβδομάδας και απάντηση οποιεσδήποτε ερωτήσεις έχετε όλοι. Κάθε εβδομάδα, την ίδια λίστα των πόρων για σας, για να σας βοηθήσει με την εβδομάδα πρόβλημα που και θα πάνω από το υλικό - αλλά αυτή την εβδομάδα ειδικότερα, για αυτές τις web-based πρόβλημα σύνολα, υπάρχουν πλήθος άλλων πόρων από εκεί που κατά πάσα πιθανότητα θα βρείτε απίστευτα χρήσιμη. Τους έχω εδώ. Θα σας στείλουμε αυτό μετά το τμήμα, και αυτό επίσης να είναι σε απευθείας σύνδεση. Αλλά κυρίως, υπάρχουν πολλές μεγάλοι πόροι εκεί έξω. Υπάρχουν, επίσης, κάποιες όχι και τόσο μεγάλη αυτά, έτσι ώστε να είναι δύσπιστοι όσον αφορά εκείνους. Αλλά σε αυτή τη διαφάνεια, έχω τέσσερις καλές πόρους, ένα για καθένα από τα γλώσσες που θα πρέπει να εργάζονται με αυτήν την εβδομάδα - ένα φύλλο αναφοράς για την HTML, ένα φύλλο αναφοράς για CSS. Το δικαίωμα αυτό εδώ είναι το εγχειρίδιο της PHP. Έτσι, αντί να πληκτρολογήσετε τον άνθρωπο και, στη συνέχεια, ένα PHP εντολή, αυτό είναι όπου θα κάνατε πηγαίνουν για να δουν το πρωτότυπο της συνάρτησης και παραδείγματα, καθώς και μερικές συμβουλές και τεχνάσματα για τη χρήση PHP λειτουργίες. Θα χρησιμοποιήσετε αυτό το site συχνά, έτσι ήθελα να σας ενθαρρύνω να γίνει εξοικειωμένοι με αυτό. Μπορεί να είναι λίγο τεχνικό, αλλά παρέχει επίσης έναν τόνο των πόρων και παραδείγματα για όλες τις λειτουργίες και ακόμη και άλλα, όπως το πώς να χρησιμοποιούν πίνακες ή διαφορετικούς τύπους μεταβλητών. Αυτή η ιστοσελίδα είναι πολύ χρήσιμη για την PHP. Και στη συνέχεια, για τον SQL, αν περιστέρι αυτό set πρόβλημα της εβδομάδας, θα ξέρετε ότι χρησιμοποιείτε μια βάση δεδομένων. Και έχουμε πρόσβαση σε αυτήν τη βάση δεδομένων μέσω μια σχετικά ωραία διεπαφή χρήστη. Ή ότι είναι ένας τρόπος για να αποκτήσετε πρόσβαση ότι η βάση δεδομένων. Το user interface είναι ονομάζεται phpMyAdmin. Υπάρχει μια καρτέλα SQL, η οποία θα δούμε αργότερα σήμερα. Και μπορείτε να πληκτρολογήσετε σε δείγμα SQL τους ερωτήματα, να κάνουμε τα πράγματα στη βάση δεδομένων σας και στη συνέχεια να εκτελέσετε αυτά τα ερωτήματα. Και αν είναι σωστό, αυτό θα πω, σωστή αυτή κάποιου. Αν είναι εσφαλμένη, αυτό θα ας πούμε, είναι εσφαλμένη. Αυτό είναι ένα εξαιρετικό μέρος για να πρακτική σας SQL ερωτήματα πριν από την εγγραφή τους σε κωδικό σας, για να βεβαιωθείτε ότι έχετε έχουν τη σωστή μορφή. Τέλος, μία άλλη ιστοσελίδα εδώ. Αυτή είναι η ιστοσελίδα όπου μπορείτε να πηγαίνετε και ελέγξτε για να βεβαιωθείτε ότι σας Ο κώδικας HTML είναι έγκυρη. Έτσι, πριν από την στροφή προβλήματά σας που αυτή την εβδομάδα, βεβαιωθείτε ότι όλα HTML σας είναι έγκυρη. Την περασμένη εβδομάδα, θα είχε τρέξει valgrind, να βεβαιωθείτε ότι δεν είχατε διαρροές μνήμης. Αυτή την εβδομάδα, θα πρέπει να βεβαιωθείτε ότι όλα του κωδικού σας είναι έγκυρη HTML5. Αν δεν είναι έγκυρη HTML5, είστε πρόκειται να πάρει τα σημεία μακριά. Έτσι, βεβαιωθείτε ότι - μόνο και μόνο επειδή δεν λειτουργεί σημαίνει ότι είναι καθ 'όλα έγκυρη. Εκτελέστε τον κωδικό σας μέσω αυτής της ιστοσελίδας πριν το θέσετε μέσα Και πάλι, εδώ είναι η ιστοσελίδα. Αν έχετε οποιαδήποτε σχόλια για μένα, έχουμε ένα ζευγάρι από περισσότερα τμήματα αριστερά, και θέλω πάντα να κάνω ό, τι μπορώ για να Σας παρέχουμε την καλύτερη ενότητα εμπειρία δυνατό. Έτσι, επιτρέψτε μου να ξέρω αν υπάρχει κάτι που μπορώ μπορεί να κάνει για να βελτιώσει ή αν υπάρχουν πράγματα που βλέπετε ότι θα μπορούσα να κάνω καλύτερα. Σας ευχαριστώ, Avi. Βάλτε το στην ιστοσελίδα. Αυτό ήταν το ποδήλατο που είχα όταν ήταν, ας πούμε, τέσσερις στο σπίτι. Είναι μια Teenage Mutant Ninja Turtle ποδηλασία, σε περίπτωση που δεν μπορεί να πει, επειδή είναι λίγο θολή. Μπορείτε να το πάρετε τώρα στο ToysRUs για, νομίζω, περίπου $ 100. Αλλά το χαρακτηριστικό του αυτό το ποδήλατο που θέλω να δώσουν προσοχή για να είναι αυτές εδώ. Αυτές είναι οι ρόδες. Μέχρι τώρα, έχετε χειρός μέσω C. Και έχουμε πάρει μια μακρά φορά, δύο μήνες συν, να περάσουν C. Για αυτά τα επόμενα δύο γλώσσες, δεν πρόκειται να ξοδεύουν τόσο πολύ χρόνο. Οι ρόδες βγαίνει. Και θα πάμε να βουτήξει σε αυτά γλώσσες γρήγορα και να προχωρήσουμε μέσα από τους γρήγορα, η οποία δεν πρόκειται να πει ότι είμαστε ακριβώς πρόκειται να σας αφήσει κολύμβηση εκεί έξω με κανένα τρόπο να υποστηρίξει τον εαυτό σας ή να καταλάβω πώς αυτές γλώσσες εργάζονται. Σας έδειξα μια λίστα πόρους για να σας βοηθήσει. Αλλά να έχετε κατά νου ότι η PHP είναι απίστευτα παρόμοια με C. Θα πάμε πάνω το σήμερα και κάποιες από τις διαφορές. Αλλά για το μεγαλύτερο μέρος, υπάρχουν για τους βρόχους. Υπάρχουν εάν οι συνθήκες. Όταν θέλετε να λύσετε ένα πρόβλημα, θα πάμε να χρησιμοποιήσετε ένα συνδυασμό αυτών. Είναι πολύ παρόμοια. Η λογική πρέπει να είναι πολύ παρόμοια με τι έχετε κάνει στο παρελθόν. Αυτό που είναι πραγματικά νέα αυτή την εβδομάδα είναι η σύνταξη και πώς μπορείτε να εκφραστείτε. Και θέλετε να γράψετε ένα βρόχο, αλλά μπορεί να μοιάζει λίγο διαφορετικό. Ή θέλετε να δημιουργήσετε έναν πίνακα, αλλά μπορεί να μοιάζει λίγο διαφορετικό. Έτσι, έχετε κατά νου ότι, κινείται προς τα εμπρός, η λογική είναι πολύ παρόμοιο με αυτό έχετε κάνει στο παρελθόν. Αλλά είστε τώρα πρόκειται να συναντούν πολλά νέα σύνταξη. Και δεν πρόκειται να σας καθοδηγήσει όλα τα στοιχεία της σύνταξης. Έτσι, είναι πραγματικά στο χέρι σας να καταλάβω, on-line ή μέσω φτάσει σε Συζητήστε ή ηλεκτρονικού ταχυδρομείου μου ή να μιλήσετε με ο ένας τον άλλο, πώς να γράψει τα πράγματα σε PHP και πώς να γράψει ερωτήματα SQL και πώς να χρησιμοποιούν HTML και CSS. Αλλά ακριβώς έτσι ξέρετε, δεν είναι ότι προσπαθούμε να ρίξει εκεί έξω και πάλι να κολυμπούν τους καρχαρίες. Αυτό είναι ό, τι θα κάνετε με το πιθανό τελικό σχέδιο σας, αν επιλέξετε ένα διαφορετική γλώσσα, όπως το IOS και Στόχος C, ή αν αποφασίσετε να ξεκινήσετε τον προγραμματισμό στο μέλλον και βουτήξει σε άλλες γλώσσες, όπως Python ή Ruby. Πολλάκις, η λογική είναι πολύ παρόμοια σε όλες αυτές τις γλώσσες, καθώς και η σύνταξη είναι ό, τι είναι διαφορετικό. Και θα είναι στο χέρι σας, όπως η προγραμματιστή, για να πάει χρησιμοποιούν το διαδίκτυο στη διάθεσή σας και το σχήμα των πόρων πώς να εκφράσω αυτό που ξέρετε πώς να εκφράσουν C, σε ένα διαφορετική γλώσσα. Έτσι, αυτό είναι μια καλή πρακτική, τόσο για σας τελικό σχέδιο, και πάλι, για τι θα κάνετε πιθανώς μετά την έξοδό σας CS50. Πριν προχωρήσουμε, κάνει κανείς απορίες σχετικά με το τι Έχω κάνει μέχρι τώρα; Μεγάλη. Ας προχωρήσουμε. Κατ 'αρχάς, θα πάμε να μιλήσουμε για λίγο σχετικά με την εντολή chmod. Αυτό, θα κάνουμε κατά την έναρξη των προβλημάτων σας σετ. Ένα από τα πρώτα οδηγίες για σας, μετά τη λήψη της Κωδικός διανομής, είναι να αλλάξει η δικαιώματα των αρχείων και καταλόγους που λαμβάνετε. Μπορεί κανείς να μαντέψει ή να γνωρίζουν Γι 'αυτό είναι σημαντικό να αλλάξει η δικαιώματα των συγκεκριμένων αρχείων και καταλόγους στον υπολογιστή σας; Avi - ΚΟΙΝΟ: Τότε κανείς εκτός μπορείτε να δείτε τι κάνεις; JASON Hirschhorn: OK. Έτσι, αν θέλουμε να βάλουμε κάτι για το web και έχετε δικαιώματα που έχουν οριστεί ότι μόνο εσείς μπορείτε να δείτε κάτι, τότε κανείς άλλος δεν μπορεί να δείτε τι έχετε δημιουργήσει. Τι άλλο; Ναι. ΚΟΙΝΟ: Αποτρέψτε κανέναν άλλο που θα Δεν θέλετε να δείτε κάτι, από δει κάτι. JASON Hirschhorn: Αυτό είναι αλήθεια επίσης. Υπάρχει ίσως κάποιο κώδικα που γράφετε, ότι δεν θέλουν οι άνθρωποι να δουν. Είστε πιθανώς εντάξει με τους ανθρώπους δει HTML και JavaScript σας. Αλλά η PHP σας, ένα πίσω άκρο κώδικα, πολλά η λογική στον κώδικά σας, ίσως το πράγματα που αποθηκεύουν κάποια από τους κωδικούς πρόσβασής σας για τη βάση δεδομένων σας, δεν έχετε θέλουν οι άνθρωποι να δουν ότι είδος των πληροφοριών. Γι 'αυτό είναι σημαντικό το γεγονός ότι, κάθε αρχείο και κατάλογο που δημιουργούμε έχει δικαιώματα που ισχύουν για το εάν ή όχι θέλουμε ανθρώπους να δουν αυτούς τους τύπους των αρχείων και καταλόγους και να είναι σε θέση να έχουν πρόσβαση σε αυτά και, ενδεχομένως, να αλλάξει ακόμη. Έτσι, υπάρχουν τρεις τύποι αδειών. Υπάρχει ένα δικαίωμα ανάγνωσης, τα οποία μέσα μπορείτε να διαβάσετε ένα αρχείο ή κατάλογο της περιεχόμενα του καταλόγου. Υπάρχει το δικαίωμα εγγραφής, το οποίο σημαίνει ότι μπορείτε να αλλάξετε ένα αρχείο ή αλλαγή ένα κατάλογο και στη συνέχεια το εκτελέσει άδεια, που σημαίνει ότι μπορείτε να εκτελέσει ένα αρχείο ή μάλλον, θα μπορεί να κινηθεί σε έναν κατάλογο. Έτσι CD κάτι, αν έχετε το την άδεια να το εκτελέσει, μπορείτε να μετακινήσετε σε αυτόν τον κατάλογο. Αυτό είναι ένα σύντομο παράδειγμα. Και πάλι, έχετε περάσει πάνω από αυτό το πρόβλημα οριστεί. Αλλά μπορώ να δημιουργήσω έναν κατάλογο με την εντολή mkdir. Μπορώ να αλλάξω τα δικαιώματα. Αυτές οι δύο γραμμές πραγματικά να κάνουμε ακριβώς το ίδιο πράγμα. Είναι για να τονίσει ότι η σύνταξη για να αλλάξετε δικαιώματα, αν κάνετε το a + X ή 711, αυτά είναι τα ίδια. Έχουμε κοιτάξει κάτω σε αυτό το ωραίο τραπέζι. Βλέπουμε ότι υπάρχουν χρήστης δικαιώματα για πρώτη φορά. Αυτό σας, το άτομο είναι, και διακομιστή σας, ενδεχομένως. Και έπειτα υπάρχει ομάδα και τους υπόλοιπους. Οι διαφορές μεταξύ εκείνων δύο είναι σχετικά ασήμαντο. Έτσι, γενικά, θα εφάπαξ εκείνοι μαζί. Αλλά κατ 'ουσίαν, αν έχουμε ένα αρχείο ονομάζεται περιλαμβάνει ότι θέλουμε να μπορείτε να επεξεργαστείτε τους εαυτούς μας και ότι θέλουμε άλλοι να είναι σε θέση να εκτελέσει, Είναι η άδεια 711. Και βλέπουμε ότι κάτω εδώ σε αυτό το τραπέζι. Έχουμε διαβάσει, να γράψει και να εκτελέσει. Για τον καθένα από εμάς, θέλουμε να να είναι σε θέση να κάνουν εκείνοι. Ομάδα και άλλοι, θέλουμε μόνο να είναι σε θέση να εκτελέσει. Ο τρόπος που μεταφράζουμε σε έναν αριθμό άδεια είναι μέσα σε δυαδικές. Έτσι, αν έχουμε τρία αυτά, αυτό είναι ένα 1 στη στήλη αυτά, το 1 στην twos στήλη, η στήλη 1 τα τεσσάρια. Αυτό είναι 7 εκεί. Και αυτό το δικαίωμα είναι 1. Αυτή η άδεια είναι 1. Έτσι, 711, όταν είναι το ίδιο δίνοντας τους εαυτούς μας διαβάζει, να γράφει, και να εκτελέσει, και όλοι οι άλλοι εκτελούν προνόμια. Αυτή η γραμμή ακριβώς εδώ, γενικά θα έχετε διαβάσει και να γράψει, όταν δημιουργήσετε έναν κατάλογο. Έτσι, αυτή η γραμμή εδώ απλά προσθέτει εκτελέσει προνόμια σε όλους. Έτσι, αυτό θα ήταν σαν να σε Εκτός από ό, τι έχουμε, προσθέτοντας 1, 1, 1 σε όλους. Ότι η παρούσα, είναι περιττό για να προσθέσετε διαβάζουν και να γράφουν. Αλλά αν πρόκειται να χρησιμοποιήσετε τους αριθμούς, δεν μπορείτε απλά να προσθέσω κάτι. Μπορείτε να αντικαταστήσετε ό, τι ήταν άδεια εκεί και να τις εφαρμόσουν με τη νέα αριθμό που δίνουν. Αυτό ήταν αρκετά γρήγορη. Μήπως κάποιος έχει απορίες σχετικά με την αλλαγή δικαιώματα; OK. Αν έχω ένα αρχείο PHP, τι δικαιώματα Δεν θέλω να έχει; Αυτό είναι στο σύνολο προβλήματος spec. Έτσι, μπορείτε να δείτε στο spec και τότε διαβάστε μου την απάντηση. ΚΟΙΝΟ: Θέλετε το χρήστη να έχουν δικαιώματα ανάγνωσης-εγγραφής. Και θέλετε όλοι άλλο να έχει τίποτα. JASON Hirschhorn: Και τι αριθμοί είναι αυτό; ΚΟΙΝΟ: 600. JASON Hirschhorn: 600. Έτσι chmod 600 - κάθε φορά που εκτυπώνετε ένα αρχείο PHP, το chmod 600. OK. Έχω έναν κατάλογο. Κάποιος εκτός Jeff, Έχω ένα φάκελο αρχείων. Ποια δικαιώματα δεν θέλω να δώσει σε αυτόν το φάκελο - Επίσης, το πρόβλημα που spec, ακριβώς κάτω από αυτή την απάντηση ή η προηγούμενη απάντηση; Επίσης, ενδεχομένως στη διαφάνεια - Μάρκους. ΚΟΙΝΟ: Για την φάκελο, είναι 711. JASON Hirschhorn: 711 - έτσι, ένα φάκελο, θέλετε να δώσετε 711. Θέλετε να είστε σε θέση να διαβάσει το φάκελο, αλλάξετε τον κατάλογο, να προχωρήσουμε σε ο φάκελος. Και θέλετε όλοι οι άλλοι να είναι σε θέση για να πλοηγηθείτε μέσα σε αυτόν το φάκελο, αλλά δεν αλλάζει αναγκαστικά το περιεχόμενό της. Τι γίνεται με ένα αρχείο μη PHP, λένε, ένα αρχείο JavaScript; Ποια δικαιώματα θέλουμε για να δώσει αυτό το είδος αρχείου; ΚΟΙΝΟ: 644. JASON Hirschhorn: 644 - γιατί θέλουμε να δώσουμε 644; ΚΟΙΝΟ: Να αφήσουμε τους άλλους ανθρώπους να το διαβάσετε. Και μπορείτε να διαβάσετε ή να το γράψετε. JASON Hirschhorn: Έτσι αυτή, όλοι άλλος μπορεί να διαβάσει αυτό το αρχείο JavaScript. Και μπορείτε να αλλάξετε ότι, εκτός από να είναι σε θέση να το διαβάσετε. Έτσι ένα από τα πιο κοινά σφάλματα άνθρωποι έχουν αυτό το πρόβλημα και που τους τελικό σχέδιο, αν είναι μια web-based τελικό έργο, δεν θα έχουν οριστεί τα σωστά δικαιώματα. Και δεν θα είναι σε θέση για να δείτε την ιστοσελίδα τους. Ή ένα συγκεκριμένο τμήμα της ιστοσελίδας τους. Έτσι, βεβαιωθείτε ότι έχετε ρυθμίσει το δικαιώματα σωστά. Μην απλά να υποθέσουμε ότι θα να το κάνει αυτόματα για εσάς. OK. Αυτό ήταν ένα μικρό πράγμα που περάσαμε ένα καλό ποσό του χρόνου, οπότε θα μπορούσαμε να το καρφί. Ας περάσουμε σε HTML. Και πάλι, για αυτά τα επόμενα τέσσερα θέματα, θα πάμε για να πάει μέσα από αυτά σχετικά γρήγορα. Έτσι, μη διστάσετε να με σταματήσει σε οποιοδήποτε χρόνο, αν έχετε οποιεσδήποτε ερωτήσεις, είτε είναι σχετικές με αυτό που καλύπτει ή κάτι από διάλεξη ή ακόμη και από που το πρόβλημα. Σταματήστε εμένα κάθε φορά που το χρειάζεστε. Όταν φτάσουμε στο τέλος, εμείς απλώς θα αρχίσει να πηγαίνει πάνω από το σύνολο του προβλήματος. Έτσι HTML σημαίνει HyperText Markup Language. Δεν είναι μια γλώσσα προγραμματισμού. Το μόνο που κάνει είναι η δομή του περιεχομένου σας και επίσης να παρέχουν κάποια μεταδεδομένα. Έτσι για παράδειγμα, προφανώς, πολλές από έχετε χρησιμοποιήσει το Facebook πριν. Και μπορείτε να συμπεριλάβετε συνδέσεις, ή μπορεί να βάλει ένα link ως την κατάστασή σας. Και στη συνέχεια, θα παρατηρήσετε ότι η σύνδεση έχει πάντα μια ωραία εικόνα σε αυτό και κάποιο κείμενο. Σε γενικές γραμμές, αυτό είναι κάποια μεταδεδομένα για μια ιστοσελίδα. Και αυτό είναι το Facebook ειδικά μεταδεδομένα. Και στη συνέχεια, όταν το Facebook διαβάζει ότι σελίδα και εισάγοντας αυτό το σύνδεσμο, αναζητά τη συγκεκριμένη μεταδεδομένα, έτσι ξέρει τι εικόνα για να εμφανιστεί, τι για να εμφανίσετε τον τίτλο, και τι αφηρημένο κείμενο να εμφανιστεί. Έτσι, μπορούμε να συμπεριλάβουμε τα μεταδεδομένα με ιστοσελίδα μας χρησιμοποιώντας HTML. Και αυτό μας βοηθά επίσης τη δομή το περιεχόμενο, γενικά, τι θέλουμε να πάμε πού. Τα πάντα σε HTML είναι ένα στοιχείο. Και εδώ τα στοιχεία - Αυτό CS50, το κείμενο είναι το στοιχείο. Και έχει κάποιες ετικέτες. Έχει αυτό το tag. Και παρατηρούμε ότι υπάρχει ένα a κατά τη και στη συνέχεια αρχίζουν μια κάθετος α, έτσι κλείνοντας το ένα tag στο τέλος. Μερικές φορές, δεν υπάρχει ένα ανοιχτό tag και ένα tag κλεισίματος. Υπάρχει μόνο ένα πράγμα. Θα δούμε ένα παράδειγμα ότι στην επόμενη διαφάνεια. Έτσι, δεν χρειάζεται μια ανοιχτή και ένα tag κλεισίματος. Αλλά γι 'αυτό, είμαστε αυτό που περισφίγγει Στοιχείο CS50 στην ετικέτα άγκυρα. Και, κατ 'ουσίαν, αυτές οι ετικέτες πείτε ο browser τι να κάνει με το συγκεκριμένο στοιχείο. Έτσι και πάλι, CS50 είναι το κείμενο θα πάμε να δούμε. Και αυτό πρόκειται να είναι ένα είδος άγκυρας. Άγκυρα χρησιμοποιείται κυρίως για συνδέσεις με κάτι. Ειδικότερα, όπως μπορείτε ήδη πει, αυτό είναι ένα σύνδεσμο στην αρχική σελίδα CS50. Το επόμενο μέρος της ετικέτας - ή γενικώς, ένα μέρος των ετικετών είναι χαρακτηριστικά. Και βλέπουμε εδώ, ότι η μια ετικέτα έχει ένα αποδίδουν, αυτό το href γνώρισμα. Και να τροποποιήσετε μια συγκεκριμένη ετικέτα. Στην πραγματικότητα, αν πάτε σε ένα από τα ιστοσελίδες ή οι αναφορές που σου έδωσα πριν ή αναζητήστε την ετικέτα σε απευθείας σύνδεση, θα παρατηρήσετε ότι υπάρχουν ένα σωρό δυνητικών χαρακτηριστικά. Αυτό είναι πιθανώς ένα από τα πιο κοινά. Αυτό μου λέει να δημιουργήσει ένα συνδέουν με τη συγκεκριμένη ιστοσελίδα. Και γενικά χαρακτηριστικά δίνονται, αν δεν δοθεί αποκλειστικά, σε ζευγάρια κλειδί-τιμή. Έτσι, εδώ είναι το κλειδί, href. Και η τιμή είναι αυτό το δικαίωμα εδώ. Και ότι θα έρθει σε πρακτικό αργότερα, όταν αρχίσετε να χρησιμοποιείτε κάποιες βιβλιοθήκες να να μας βοηθήσει να κώδικα σε JavaScript ή να γράψει το περιεχόμενο HTML. Συχνά πρόκειται να είναι - όπως ακριβώς θα κάνει βραχίονα σειρά 0 και ότι θα μας δώσει κάποια αξία. Στο μέλλον, θα πρέπει να κάνει πολλά πράγματα όπως βραχίονα κάτι href. Και αυτό θα μας δώσει την αξία του href, ή αν θέλουμε να ενημερώσετε το href κλειδί και στη συνέχεια να δώσει το Μία συγκεκριμένη τιμή. Έτσι, όπως ακριβώς και με πίνακες, όπου είχαμε πλήκτρο 0 ή το πλήκτρο 1 ή το πλήκτρο 2 ή ακόμα και με ένα hash πίνακα, καθώς, με πίνακες κατακερματισμού σας καθώς, θα έπρεπε ίσως - το ήταν μια σειρά, έτσι ώστε το πλήκτρο 0, 1 κλειδί, κλειδί 2. Ο δείκτης αυτός εκεί, μπορούμε σκεφτείτε ότι ως βασικό. Και η τιμή είναι ό, τι ήταν αποθηκευμένα εκεί. Όλα αυτά τα χαρακτηριστικά είναι ζευγάρια κλειδί-τιμή. Και αυτό θα είναι σημαντικό για την αλλαγή τους ή την ενημέρωση τους ή εισαγωγή τους αργότερα. Τέλος, έχετε δει αυτή τη δομή πριν, αλλά αυτό είναι το πιο βασικό τη δομή της σελίδας HTML. Στην κορυφή, θα σας πω ότι αυτό είναι στην πραγματικότητα HTML. Και τότε έχουμε μια ανοιχτή HTML tag και μια στενή ετικέτα HTML. Έτσι, τα πάντα στο εσωτερικό του αυτό είναι το HTML. Βλέπουμε το κεφάλι και το σώμα. Ο επικεφαλής του εγγράφου σας γενικά περιλαμβάνει ό, τι; Οποιαδήποτε εικασίες για το τι βάλει στο κεφάλι; ΚΟΙΝΟ: Βάζετε τον τίτλο και το στυλ. JASON Hirschhorn: Ο τίτλος. Αυτό ήταν μια μεγάλη εικασία. Μπορεί να έχω να σας ειδοποίησε για το. Ποια είναι μερικά άλλα πράγματα; Έχουμε αναφέρει ένας από αυτούς που θα μπορούσε να πάει στο κεφάλι. ΚΟΙΝΟ: Είπε, στυλ. JASON Hirschhorn: Styles - οπότε αν θέλετε να συνδεθείτε σε JavaScript ή ακόμα και ένα CSS, το οποίο μιλάτε σχετικά με το πότε μιλάς για στυλ. Ένα άλλο αρχείο, θέλετε να συνδεθείτε σε ένα έξω από το αρχείο, που κατά πάσα πιθανότητα θα πρόκειται στο κεφάλι. Τι άλλο; Έχουμε αναφέρει ένα ζευγάρι των διαφανειών Πριν από ένα από τα πράγματα που HTML μπορεί να κάνει για σας. Μπορεί να προσφέρει - ξεκινά με M - ΚΟΙΝΟ: μεταδεδομένων. JASON Hirschhorn: Μεταδεδομένα - τόσο πολύ των μεταδεδομένων θα πάει στο κεφάλι, επειδή αυτό δεν θα χρειαστεί αναγκαστικά να είναι μέρος του σώματος του κωδικού σας. Αυτό είναι σε γενικές γραμμές - το σώμα είναι το περιεχόμενο, αυτό που βλέπει κάποιος. Και γι 'αυτό ακριβώς έδωσε μακριά την απάντηση στην επόμενη ερώτηση μου. Αλλά στο σώμα είναι γενικά το περιεχόμενο ότι πρόκειται να εμφανιστεί στην ιστοσελίδα. Όπως θα δούμε, περίπλοκες ιστοσελίδες έχουν την τάση να μπερδεύονται ή να αλλάξει μέχρι και ό, τι βάζουν στο κεφάλι και το σώμα. Αλλά γενικά, το κεφάλι περιέχει τα πράγματα ότι ο χρήστης δεν πρόκειται να δείτε στην οθόνη. Συνδέει σε άλλα αρχεία και παρέχει τα μεταδεδομένα. Ότι το σώμα περιέχει τα πάντα ο χρήστης πρόκειται να δούμε. Οποιαδήποτε ιδέα για το τι σημαίνει αυτό το p tag; ΚΟΙΝΟ: Η παράγραφος; ΚΟΙΝΟ: Εκτύπωση. ΚΟΙΝΟ: Δεν σημαίνει εκτύπωσης. ΚΟΙΝΟ: Μήπως αυτό σημαίνει παράγραφο; JASON Hirschhorn: Παράγραφος - έτσι αυτό είναι μια παράγραφος. Και αυτό το p tag, θα μπορούσα να είχα μόλις πληκτρολογήσατε αυτό στην οθόνη και, στη συνέχεια, περιελάμβανε μια αλλαγή γραμμής στο τέλος της. Ο καθένας ξέρει πώς να συμπεριλάβει μια αλλαγή γραμμής; ΚΟΙΝΟ: pr - JASON Hirschhorn: pr - ΚΟΙΝΟ: Slash pr; JASON Hirschhorn: pr κάθετος σημαίνει αλλαγή γραμμής. Αλλά με τις σκέψεις έχουν συγκεκριμένες μορφοποίηση. Και θα φτάσουμε σε μια μορφοποίηση Δεύτερον, όταν μιλάμε για CSS. Αλλά ό, τι μέσα σε αυτές τις ετικέτες p θα έχουν κάποια προεπιλεγμένη μορφοποίηση που συνδέονται με αυτό, πιθανώς κάποια απόστασης μεταξύ διαφορετικών παραγράφους. Και αυτό θα είναι ένας τρόπος για να διαφοροποιήσει μπλοκ κώδικα. Οποιαδήποτε άλλη ετικέτες - ποιες είναι οι άλλες ετικέτες που έχετε δει; JASON Hirschhorn: h1 μέσω h6. h1 μέσω h6, και τι είναι αυτό; ΚΟΙΝΟ: Θα δείξει πόσο μεγάλο και έντονα τα γράμματα είναι. JASON Hirschhorn: Δεξιά, στέκεται για το header. Και έτσι header1 είναι μια μεγάλη μπάλα. Θα χρειαστεί κατά πάσα πιθανότητα, από προεπιλογή, να είναι τολμηρή, μια μεγάλο μέγεθος γραμματοσειράς, πιθανώς με επίκεντρο η οθόνη, σε όλη τη διαδρομή μέχρι h6, το οποίο είναι ένα μικρότερο μέγεθος γραμματοσειράς, λιγότερο τόνισε. Φυσικά, μπορείτε, είστε αρχείο CSS ή κάπου στον κώδικά σας - η οποία, και πάλι, θα φτάσουμε σε αυτό σε ένα δεύτερο - αλλάξετε ό, τι η προεπιλεγμένη συμπεριφορά από μια ετικέτα h1 είναι. Αλλά να έχετε κατά νου ότι το Chrome, Safari, Firefox, Internet Explorer έχουν όλα προεπιλογή αναζητά πολλά αυτά τα πρότυπα tags. Μπορείτε, πάλι, πάντα αλλάζουν τι μοιάζουν. Οποιαδήποτε άλλη ετικέτες που όλοι έχει δει; Ναι - ΚΟΙΝΟ: Ένα site div. JASON Hirschhorn: Μια ετικέτα div - div tag δεν έχει ενσωματωμένη μορφή, ανά se, που χρησιμοποιείται για να μπλοκάρει διαφορετικούς τύπους κώδικα. Οποιαδήποτε άλλη ετικέτες; Ναι. ΚΟΙΝΟ: li - JASON Hirschhorn: li - τι li για; ΚΟΙΝΟ: List. ΚΟΙΝΟ: Λίστα JASON Hirschhorn: li είναι για στοιχεία λίστας. Υπάρχουν δύο τύποι λίστες. Ποια είναι τα δύο είδη; ΚΟΙΝΟ: ταξινομημένες και μη. JASON Hirschhorn: Διέταξε και unordered - τόσο ul περίπτερα για μη διατεταγμένη λίστα. Αυτό είναι, αν θέλετε μια σφαίρα σημείο, μια λίστα με κουκκίδες. Μια ταξινομημένη λίστα είναι μια λίστα με αρίθμηση. Και έτσι θα κάνουμε μια ανοιχτή ετικέτα ul και, στη συνέχεια, τόνους στοιχείων λίστας και, στη συνέχεια, κλείστε την ετικέτα ul. και ότι η βούληση δημιουργήσετε μια μη διατεταγμένη λίστα. Εμείς πάμε να δούμε μερικά παραδείγματα της HTML σε ένα κομμάτι. Αλλά μέχρι τότε, θέλω να πάρω στο CSS. Και CSS σημαίνει Cascading Style Sheets. Και αυτό είναι πολύ στενά συνδεδεμένη σε HTML, αλλά ελαφρώς διαφορετική. Αυτό σας βοηθά να διαμορφώσετε όλο το περιεχόμενο ότι οι δομές HTML. Έτσι, CSS, γενικά δεν θέλουν να το στυλ κάθε κεφαλίδα ή κάθε ενιαία εικόνα ή κάθε μόνο παράγραφο. Θέλουμε να το στυλ κάποια στοιχεία ή ίσως ένα συγκεκριμένο στοιχείο. Και ο τρόπος που το στυλ μια συγκεκριμένη στοιχείο είναι να δώσει μια ταυτότητα. Έτσι, αυτό είναι ένα χαρακτηριστικό. Έχει ένα κλειδί και μια τιμή. ID είναι το κλειδί. Λογότυπο είναι η τιμή. Πήρα το λογότυπο τυχαία. Και αν έχετε δώσει κάτι ταυτότητα, γενικά, ότι θα πρέπει να δοθεί μόνο σε ένα στοιχείο. Και στη συνέχεια, στο φύλλο στυλ σας, μπορείτε να στυλ το συγκεκριμένο στοιχείο, ωστόσο, θέλετε να αναζητήσετε. Αν θέλετε να το στυλ μια σειρά από στοιχεία, ίσως είναι μια ορισμένη τάξη κεφαλίδες, μόνο μερικές από τις επιγραφές σας. Ίσως είναι μια κεφαλίδα και μια εικόνα και ένα παράγραφο όλοι θέλετε να επικεντρώνεται. Στη συνέχεια, μπορείτε να δώσετε αυτές τις ομάδες των στοιχείων όλων μια τάξη. Και μπορείτε να δώσετε στους μαθητές συγκεκριμένες μορφές. Έτσι, ένα αναγνωριστικό και μια τάξη είναι δύο τρόποι για να χωρίσει τον κωδικό σας, ώστε να μπορείτε να βοηθήσετε να πιο συγκεκριμένα σε ό, τι στυλ. Υπάρχουν τρεις τρόποι για να το στυλ. Το πρώτο είναι, με αυτό το χαρακτηριστικό στυλ. Το βλέπετε λοιπόν, το βασικό στυλ είναι το στυλ. Η τιμή ύφος είναι πραγματικά ένας άλλος κατάλογος τιμή του κλειδιού. Σε αυτή την περίπτωση, πήρα ένα κλειδί, text-align. Και είπα, κέντρο. Ίσως να αναρωτιέστε σε αυτό σημείο, πώς ήξερα για text-align. Τι σημαίνει ότι ακόμη και το κάνουμε; Αυτό είναι ένα μεγάλο ερώτημα που τίθεται, και θα πάμε για να φτάσουμε εκεί σε ένα δευτερόλεπτο. Έτσι, αυτός είναι ένας τρόπος για να το στυλ κάτι, απλά δώστε το χαρακτηριστικό στυλ. Ένας άλλος τρόπος για να το στυλ είναι κάτι που - αυτό είναι Akshar αναφέρθηκε νωρίτερα. Μπορείτε να χρησιμοποιήσετε ετικέτες στυλ και βάλτε ότι στην κεφαλή του εγγράφου HTML σας. Έτσι, είστε βασικά λέγοντας, το περιεχόμενο εδώ μέσα Είναι μέρος του περιεχομένου στυλ. Και η μορφή αυτή είναι το πράγμα που θέλετε να το στυλ και στη συνέχεια, μέσα από άγκιστρα, το βασικό ζευγάρι αξία χαρακτηριστικά που θέλετε να δώσετε στο το συγκεκριμένο τύπο του στοιχείου. Τέλος, και αυτό είναι το πιο συνηθισμένος τρόπος. Και αυτός είναι ο τρόπος με τον οποίο κάνουμε σε σύνολο σελ. 7. Πρόκειται για ένα εξωτερικό φύλλο στυλ. Έτσι, έχετε ένα αρχείο CSS.. Και μέσα από αυτό, θα δείτε πολλά πράγματα που μοιάζουν με αυτό το όνομα από κάποιο είδος του στοιχείου ή η ταυτότητα ή το μια κατηγορία και, στη συνέχεια, στο εσωτερικό του σγουρά τιράντες, μια λίστα με βασικά ζεύγη αξίας. Φυσικά, εάν δημιουργήσετε μια εξωτερική αρχείο, θα πάμε να πρέπει να περιλαμβάνουν - απότομη περιλαμβάνουν, ότι θα είναι η αναλογία C - στο αρχείο HTML σας. Έτσι θα πρέπει να περιλαμβάνει αυτό το κώδικα HTML στο αρχείο σας. Αυτό είναι το όνομα του αρχείου και υποθέτοντας ότι είναι στον ίδιο κατάλογο. OK. Αυτό ήταν πολύ. Και είμαστε τώρα πρόκειται να αναπνεύσουν και να εξετάσουμε σε κάποια πραγματική, ζωντανή ιστοσελίδα και διερευνήσει αυτό περισσότερο. Αλλά πριν το κάνουμε αυτό, κάνει κανείς έχετε απορίες; Έτσι, εάν θέλετε να το κάνετε αυτό, μαζί με μου, μπορούμε να πάμε στη συσκευή. Και επέλεξα την αρχική σελίδα CS50. Μπορείτε να το κάνετε αυτό με οποιαδήποτε ιστοσελίδα. Αλλά γιατί δεν ξεκινάμε με η αρχική σελίδα CS50; Ας ανανεώσετε. Εγώ πραγματικά συνιστώ ανεπιφύλακτα κάνεις αυτό μαζί με μένα, γιατί αυτό που πρόκειται να κάνουμε τώρα πρόκειται να είναι απίστευτα βολικό για σας, όχι μόνο στην Ρ-Set 7, αλλά στην Ρ-Set 8, καθώς και. Ναι. ΚΟΙΝΟ: Είναι ένας τρόπος για να κάνει τα σχόλια εκεί σε μορφή HTML, χωρίς τη χρήση PHP; JASON Hirschhorn: Ναι, μπορείτε να κάνουν σχόλια σε HTML. ΚΟΙΝΟ: Ποια είναι η σύνταξη; ΚΟΙΝΟ: θαυμαστικό παύλα παύλα. ΚΟΙΝΟ: OK. JASON Hirschhorn: Ναι. Αυτή είναι η σύνταξη. Μπορείτε να κάνετε σχόλια σε HTML. Μπορείτε να κάνετε σχόλια σε PHP. Όπως θα δείτε, σχολιάζει σε HTML θα εξακολουθούν να εμφανίζονται, όταν εξετάζουμε το Πηγαίο κώδικα HTML του συγκεκριμένου site. Έτσι, αυτό cs50.net. Αν κάνετε δεξί κλικ στο πιο σύγχρονο browsers στις περισσότερες οποιαδήποτε σελίδα, μπορείτε να προβάλετε η πηγή της σελίδας. Ας κάνουμε ότι στις CS50. Και ιδού, εμείς δείτε ένα τεράστιο πράγμα. CS50 φαίνεται πραγματικά πολύ ωραία. Πολλές ιστοσελίδες δεν θα δούμε αυτό το ωραίο. Αν πάτε στην αρχική σελίδα της Google και να ανοίξει. Δεν θα δούμε αυτό το ωραίο. Αλλά θα παρατηρήσετε ότι, στην κορυφή - Αυτό είναι το είδος των μικρών. Ας κάνουμε αυτό το μεγαλύτερο. OK. Στην κορυφή, DOCTYPE HTML, αυτό είναι γνωστό. Στη συνέχεια βλέπουμε το open tag HTML και το κεφάλι, ακριβώς εδώ, όλα αυτών των meta tags. Και μπορείτε να δείτε αυτό το og, δεν πρόκειται να υπεισέλθω σε αυτό τώρα. Αλλά είμαι σχεδόν σίγουρος ότι σε αυτά θα είναι στο Facebook. Αυτό είναι στην πραγματικότητα το Facebook. Νομίζω ότι σημαίνει open graph. Έτσι θυμηθείτε, είχα αναφερθεί είναι εκεί Faceboook ειδικά μεταδεδομένα μπορείτε να δώσει σε μια σελίδα. Αυτό είναι ό, τι είναι σωστό εδώ. Έτσι, όταν συνδέσετε αυτή τη σελίδα στο Facebook, η εικόνα πρόκειται να δείξει Είναι αυτή η εικόνα εδώ. Και μπορείτε πραγματικά να δείτε ότι είναι Facebook, επειδή είναι η εικόνα του Facebook. Αλλά έτσι κι αλλιώς, παίρνουμε μέρος. Έτσι έχουμε κάποιες ετικέτες μεταδεδομένων εδώ. Βλέπουμε τον τίτλο CS50. Και πάλι, ο τίτλος είναι αυτό που πηγαίνει εδώ στην καρτέλα του προγράμματος περιήγησης. Βλέπουμε αυτή τη σύνδεση, ακριβώς εδώ, ένα εξωτερικό αρχείο JavaScript. Δεν έχουμε μιλήσει για το JavaScript πολύ, αλλά την επόμενη εβδομάδα - και σίγουρα, αν κάνεις ένα σύνολο πρόβλημα web-based, θα σας χρησιμοποιώντας JavaScript. Αυτό είναι το πώς θα συνδεθούν σε εξωτερικές JavaScript αρχεία. Βλέπουμε εδώ, τέλος, το CSS φύλλο στυλ, που τεκμηριώνει αυτά στυλ αυτού του κώδικα. Ας ανοίξει πραγματικά ότι μέχρι και ρίξτε μια ματιά πολύ γρήγορα. Αυτό φαίνεται τρελό. Δεν υπάρχει κανένας τρόπος που θα σε θέση να διαβάσει μέσα. Έτσι, μπορείτε πραγματικά όμως, εάν παίρνετε μια ματιά, μπορείτε κάπως να δούμε ότι υπάρχουν - εκεί πάμε. Αυτό μοιάζει με κάτι που έχουμε δει πριν, το χρώμα του φόντου, το καθορισμό ίση με κάποιο κόκκινο-πράσινο-μπλε αξίας. Αυτή η ουσία του είδους δεν πρέπει να φαίνεται ότι ξένο, έστω και αν, όταν παρουσιάζονται όπως αυτό, μπορεί να είναι λίγο συντριπτική. Εμείς δεν πάμε να δούμε σε αυτό το αρχείο CSS ή να περνούν πολύ χρόνο σε αυτό, γιατί είναι, και πάλι, πολύ δύσκολο να διαβαστεί. Ας πάμε πίσω σε αυτό Η σελίδα HTML για CS50. Και ας μετακινηθείτε προς τα κάτω στο σώμα. Και μέσα βλέπουμε αυτήν την ετικέτα div. Βλέπουμε μια κεφαλίδα εδώ. Βλέπουμε την ετικέτα άγκυρα. Και αυτό το στοιχείο της λίστας είναι δίνεται μια συγκεκριμένη κατηγορία. Και βλέπουμε ότι η τάξη επαναλαμβάνεται ξανά και ξανά. Εκεί είναι Curtis. Υπάρχει το σχόλιο στην HTML5. Και όπως θα παρατηρήσετε, μπορούμε να δούμε ακόμα αυτό, αλλά είναι δεν εμφανίζονται. Είναι πραγματικά πολύ ενδιαφέρον. Μοιάζει με αυτόν τον κατάλογο σκορ στοιχείο σχόλια. Αν πάμε σε αυτή τη σελίδα, και πάλι, εξακολουθεί να φαίνεται να υπάρχει, τόσο ενδιαφέρουσα. Ω, γι 'αυτό, γιατί αυτής της επόμενης γραμμής. Τι άλλο θα δούμε συμφερόντων; Το υπόλοιπο αυτό είναι πιο συγκεχυμένη, σε που ασχολούνται με αυτό το δικαίωμα το ήμισυ της ιστοσελίδα, η οποία είναι λίγο λίγο πιο περίπλοκη. Έτσι, αυτό είναι ό, τι ορισμένοι HTML πρόκειται να μοιάσει. Για μένα όμως, αυτό είναι λίγο συντριπτική, και αυτό δεν να με βοηθήσει τόσο πολύ. Ωστόσο, υπάρχει κάτι που , στην πραγματικότητα, να με βοηθήσει πολύ. Και αυτό είναι που μπορώ να χρησιμοποιήσω όποτε είμαι προσπαθώ να καταλάβω πώς κάτι μοιάζει με τον τρόπο που το κάνει, ή πώς μπορεί να Κάνω αλλαγές στην ιστοσελίδα μου. Και αυτό είναι ένα εργαλείο για την ανάπτυξη που είναι ενσωματωμένη στο Chrome. Έτσι, αν πάτε σε αυτό τρεις μπάρες δεξιά εδώ και πηγαίνετε προς τα κάτω για να τα εργαλεία, κάντε κλικ στο Εργαλεία για προγραμματιστές, ένα μικρό παράθυρο θα ξεπροβάλλουν στο κάτω μέρος της σελίδας. Και ειδικότερα, Χρώμιο, δεδομένου ότι είναι θαυμάσια, θα διαμορφώσετε αυτό το παράθυρο και λάβει την HTML και να φανεί πολύ καλύτερο για σας. Έτσι, τώρα είναι πραγματικά κάποια πτυσσόμενο HTML που μπορείτε να εξερευνήσετε για να επιθεωρήσει τα στοιχεία της σελίδας. Αν θέλουμε να δούμε το σώμα, επισημαίνει στην πραγματικότητα. Όταν κάνετε κύλιση σε ένα μέρος της HTML, καθορίζονται σε αυτό το παράθυρο, θα επισημάνετε το μέρος που μιλάει σχετικά με το μεγάλο παράθυρο. Επιτρέψτε μου λοιπόν να προσπαθήσει ξανά και χτύπημα αυτό επάνω ένα κομμάτι. OK. Έτσι, ας ανοίξουμε το σώμα. Και είμαι κύλιση πάνω από αυτό το αριστερό div. Και θα παρατηρήσετε ότι είναι αναδεικνύοντας αυτό το αριστερό μισό της οθόνης. Οπότε ας κλικ σε αυτό και να επεκτείνει αυτό. Μέσα από αυτό, μοιάζει υπάρχουν δύο divs. Υπάρχει αυτή η πρώτη div. Δεν βλέπω που επισημαίνονται. Δεν ξέρω, αλλά μοιάζει με αυτό δεύτερη, εσωτερική αριστερά, είναι το περιεχόμενο στην αριστερή πλευρά της οθόνης. Στη συνέχεια υπάρχει αυτό το πράγμα που ονομάζεται μπάλα. Μοιάζει ότι είναι αναδεικνύοντας το μέρος CS50. Αν ανοίξουμε ότι μέχρι, βλέπουμε ότι είναι τίποτα περισσότερο από κεφαλίδας 1. Είναι δεδομένη μια ταυτότητα, και είναι δεδομένης της CS50 κείμενο. Έτσι και πάλι, κοιτάζοντας μέσα από αυτό κονσόλα ή χρησιμοποιώντας τα εργαλεία για την ανάπτυξη παράθυρο στο κάτω μέρος της οθόνης των σημάτων εξερεύνηση αυτής της ιστοσελίδας, ελπίζουμε, ένα πολύ λιγότερο εκφοβιστικό και μια πολύ πιο προσιτή. Επίσης, επιτρέπει να κατανοήσουμε ότι αυτή την ιστοσελίδα, αν και φαίνεται πολύ όμορφα και ωραία, δεν είναι όλα αυτά πολύ περισσότερο από ό, τι πρόκειται να είναι κάνει στο πρόβλημα Set 7. Και αυτό είναι εντελώς μέσα την ικανότητά σας να δημιουργήσετε. Αν θέλουμε να - το άλλο δροσερό πράγμα σχετικά με τη χρήση αυτών εργαλεία είναι, αν κάνετε δεξί κλικ στο τίτλο, μπορείτε να επεξεργαστείτε το HTML. Οπότε ας το ονομάσουμε Jason. Και τώρα θα παρατηρήσετε έχω αλλάξει το HTML σε αυτή τη σελίδα. Φυσικά, δεν έχω αλλάξει μόνιμα. Εάν ανανεώσετε το πρόγραμμα περιήγησης μου, τότε θα επιστρέψτε στην αρχική HTML. Αλλά μερικές φορές θέλω να διορθώσετε τον κωδικό μου, και δεν θέλω να φανεί ακριβώς μου παράθυρο του gedit και να προσπαθήσουμε και να κατανοήσουμε τι συμβαίνει. Θέλω να δω τι θα συμβεί ζωντανά. Γι 'αυτό θα επεξεργαστείτε κώδικα όπως αυτό και να πάρει είναι ο τρόπος που το θέλετε να αναζητήσετε. Και τότε θα κάνει το αλλαγές στον κώδικά μου. Και θεωρώ ότι είναι πολύ πιο εύκολο όταν μπορείτε να κάνετε τα πράγματα ακαριαία, όπως αυτό. Ας πούμε, πάλι, θέλουμε να κάνουμε άλλο ευκαιρία, επειδή ερευνούμε με HTML και CSS τώρα. Μπορώ να επεξεργαστώ τον κώδικα HTML τώρα. Και Πάω να περιλαμβάνουν μια σύνδεση. Έτσι, Πάω να αλλάξει την αρχική του CS50 σελίδα, γι 'αυτό θα συνδεθεί με - ας πούμε - την αρχική σελίδα μου. Ποιο είναι το όνομα, αν κάποιος θυμάται, ή Ποιο είναι το χαρακτηριστικό που θέλω να δώσω σε μια καρτέλα άγκυρα όταν θέλω να συνδέσει κάπου αλλού; ΚΟΙΝΟ: href; JASON Hirschhorn: href - Έτσι τώρα, θα δείτε ότι υπάρχει είναι μια υπογράμμιση κάτω από Jason. Αυτό συμβαίνει γιατί Chrome, από προεπιλογή, δίνει άγκυρες υπογράμμισης. Πιθανόν να έχετε δει ότι πριν όταν έχετε πάει σε μια ιστοσελίδα. Πράγματα που είναι οι συνδέσεις είναι υπογραμμισμένες και με μπλε χρώμα. Το προεπιλεγμένο στυλ για μια σύνδεση είναι να υπογραμμίσει εν γένει και το βάζουμε σε μπλε χρώμα. Αν δεν μου αρέσει αυτό, Μπορώ να το αλλάξει αυτό. Και εμείς θα το αλλάξουμε σε ένα δευτερόλεπτο. Αλλά τώρα, επίσης να παρατηρήσετε ότι, αν αιωρούνται πάνω από αυτό, στο κάτω αριστερό μέρος της οθόνη, ακριβώς πάνω από τα λεκτικά στοιχεία είναι ο σύνδεσμος που έδωσα. Έτσι, αν το έκανα κλικ σε αυτό - και μπορούμε να κάντε δεξί κλικ σε αυτό, ανοίξτε μια νέα καρτέλα. Αυτό δεν είναι στην πραγματικότητα αρχική μου. Είναι απλά το όνομά μου. Εκεί θα πάτε. Έχουμε τώρα το μετατρέψει σε ένα σύνδεσμο. Ας εξετάσουμε κάποια CSS, καθώς και. Το όμορφο πράγμα - και είμαι πρόκειται να κάνουν αυτό το λίγο μικρότερο - περίπου αυτή η κονσόλα είναι, ότι τρελό φύλλο CSS είδαμε πριν, αυτό ήταν πραγματικά δύσκολο να αναλύσει, είναι όμορφα, που για μας στην αριστερή πλευρά αυτού του παραθύρου. Έτσι μπορούμε να δούμε. Και αν επεκτείνουμε αυτή την καρτέλα στυλ, εμείς να δείτε όλα τα διαφορετικά στυλ που σχετίζονται με, σε αυτήν την περίπτωση, αυτό το συγκεκριμένο στοιχείο, αυτό στοιχείο link. Αν κάνουμε την καρτέλα ένωση στυλ, ότι απλά μας δείχνει, όχι όπου τα πάντα προέρχεται από, αλλά ουσιαστικά όλα αυτά στυλ που λειτουργούν σε αυτό το συγκεκριμένο στοιχείο αυτή τη στιγμή. Και ας πούμε, θέλουμε να το αλλάξετε λίγο. Έτσι, αυτό είναι όλα τα στυλ που είναι που δραστηριοποιούνται σε αυτό το συγκεκριμένο στοιχείο. Ας πούμε ότι θέλετε να το αλλάξετε, γιατί Θέλετε να δείτε πώς μοιάζει κάτι. Και είμαστε ακριβώς παίζει γύρω από τώρα. Ή θέλετε να δοκιμάσετε κάτι, πριν γράψιμο σε κώδικα και να πιέζει αυτό και να το ζήσουν. Μπορούμε να πάμε στην καρτέλα στυλ. Και στην πρώτη θέση να λέει, element.style. Και εδώ, μπορείτε να εισαγάγετε, μπορείτε να προσθέσετε κάτι. Γι 'αυτό θέλω να - ας πάμε για τη σύνδεση μου και το ορίσετε το χρώμα φόντου. Και αυτό autofills πραγματικά για σας, όλες οι πιθανές ιδιότητες. Χρώμα φόντου, και θέλω να κάνουμε αυτή την μπλε. Blus δεν είναι μια λέξη. Μπλε είναι μια λέξη. Μήπως βλέπω να καταλήξει; Ω, είναι ότι επειδή είναι στην href; OK. Γι 'αυτό και δεν βλέπω καμία αλλαγή εδώ. Και αυτό γιατί, αν έχουμε τονίσει το σύνδεσμο, θα προσέξετε ότι ο σύνδεσμος δεν είναι στην πραγματικότητα τον έλεγχο της ιδιότητες του συγκεκριμένου στοιχείου. Είναι πραγματικά, αν ανοίξετε το σύνδεσμο, αυτή η κεφαλίδα ακριβώς εδώ που είναι τον έλεγχο του τι μοιάζει. Έτσι, αν θέλετε να κάνετε το φόντο μπλε, έχω πραγματικά να αλλάξει χρώμα του φόντου για το στοιχείο header. Και τώρα βλέπουμε ότι η φόντο είναι μπλε. Έτσι και πάλι, αυτό γρήγορα μπορεί να συμβαίνει μέσα από το υλικό αυτό αρκετά γρήγορα. Αλλά αυτό είναι ουσιαστικά αυτό που θα πάμε να κάνουμε. Δεν είναι στο πρόβλημα Set 7, αλλά σίγουρα όταν είστε κωδικοποίησης στο διαδίκτυο. OK. Θέλω να κάνω το μπλε φόντο. Ακόμη και αν, στην περίπτωση αυτή, μπλε φαίνεται αρκετά άσχημο. Μπορώ να πάω εδώ, παίζουν. Βλέπω ότι η αλλαγή αυτή σε μπλε δεν λειτουργεί στο ένα. Θα πρέπει να αλλάξει πραγματικά την κεφαλίδα στοιχείο για να συμπεριλάβει το μπλε υπόβαθρο. Και τότε, αν τότε θα πάω πίσω στο CSS μου αρχείο, πώς μπορώ πραγματικά που αυτή η το φόντο να είναι μπλε και κάνει αυτή την αλλαγή ραβδί; Διότι αν παρατηρήσετε αν ανανεώσετε το σελίδα, όλες οι αλλαγές που έκανα φύγει. Έτσι κατάλαβα, εντάξει, μου φόντο είναι μπλε. Πρέπει να πάω σε αυτό το στοιχείο header1 και να αλλάξετε το χρώμα του φόντου σε μπλε. Πώς μπορώ πραγματικά να κάνει αυτή την αλλαγή; Λοιπόν, να υπενθυμίσω ότι, αν πάμε μέσα από εδώ, αυτή η κεφαλίδα, το τίτλος έχει μια ταυτότητα. Και αυτό είναι τίτλος. Και έτσι στο αρχείο CSS μας, μπορούμε να πούμε, εντάξει, πάρει τίποτα με την ταυτότητα του τίτλου και δώσει αυτή την επιπλέον ιδιότητα. Πώς μπορούμε αναφορά κάτι με το ID του τίτλου, οποιεσδήποτε ιδέες, ή οποιοσδήποτε γνωρίζουμε πώς αναφοράς IDs στο αρχείο CSS μας; Μια hash, αυτό είναι ακριβώς σωστό. Και έχεις έναν υπαινιγμό του ότι το δικαίωμα εδώ. Έτσι, κάπου σε αυτό το αρχείο CSS, υπάρχει αυτή η γραμμή κώδικα - # # Αριστερά αριστερή εσωτερική header # # τίτλου. Και αυτό δίνει κάτω περιθώριο, ορίζει την κάτω περιθώριο αυτό συγκεκριμένο στοιχείο. Λοιπόν, αν ήθελα να το αλλάξει αυτό, Θα ήθελα να πάω σε αυτό το αρχείο CSS. Και θα μπορούσα να βρείτε είτε αυτό μέρος του αρχείου CSS. Ή θα μπορούσα να γράψω τη δική μου. Θα μπορούσα να κάνω hash σγουρά τίτλο τιράντες και τότε το μπλε χρώμα του φόντου του παχέος εντέρου ερωτηματικό και κοντά ότι άγκιστρο. Και αυτό θα αλλάξει το φόντο χρώμα αυτού του στοιχείου σε μπλε. Ο λόγος που σας δίνουν τόσα πολλά εδώ είναι αυτό, είναι αναγκαία στην περίπτωση αυτή, διότι ο τίτλος είναι ένα μοναδικό αναγνωριστικό. Αλλά τι μπορείτε να κάνετε είναι να φωλιά πράγματα. Έτσι, αυτό που λέει, εντάξει, πάμε προς τα αριστερά. Αυτό είναι πολύ μικρή. Ζητώ συγγνώμη γι 'αυτό. Αλλά πηγαίνετε στο πράγμα με ID αριστερά. Μέσα από αυτό, αναζητήστε το πράγμα με ID αριστερή εσωτερική. Μέσα από αυτή την εμφάνιση, αναζητήστε το πράγμα με κεφαλιά ID. Μέσα από αυτό, αναζητήστε το πράγμα Τίτλος ID και να αλλάξετε τον τίτλο του ID. Έτσι, αυτό είναι απλώς ένας τρόπος ωοτοκίας πράγματα. Μερικοί άνθρωποι σαν φωλιά, γιατί καθιστά λίγο πιο σαφείς. Θα δείτε εδώ κάτω, επίσης, το δικαίωμα εδώ, δεν υπάρχει hash. Είναι απλά h1. Αυτό συμβαίνει γιατί h1 δίνεται η το όνομα μιας γενικής ετικέτας. Και υπάρχουν ορισμένες ιδιότητες CSS σχετίζεται με κάθε h1. Έτσι, αν βρήκα ένα άλλο h1 σε αυτή τη σελίδα, Θα δείτε, επίσης, ότι αυτό το ύφος ήταν εφαρμόζονται σε αυτό, καθώς και. Αν ήθελα να εφαρμόσετε ένα στυλ σε μια κατηγορία, πώς μπορώ αναφορά σε μια τάξη ή μιλάμε για μια τάξη σε ένα αρχείο CSS; ΚΟΙΝΟ: Dot. JASON Hirschhorn: Είναι με μια τελεία. Οπότε ας πάμε πίσω σε αυτή τη σελίδα πριν. Αν κάνω hash ID. Αυτό αλλάζει το στυλ του πράγματος με ID. Ή συγγνώμη, αν κάνω hash λογότυπο, που είναι βρίσκοντας το πράγμα με την ταυτότητα του λογότυπου και του δίνει ένα ιδιαίτερο στυλ CSS. Αν κάνω κάτι. Κορυφή, που είναι η εξεύρεση πάντα με την κατηγορία των κορυφαίων και των μεταβαλλόμενες μορφές της. Αν κάνω απλά h1, που βρίσκει κάθε ενιαία h1 και δίνει το ό, τι το στυλ που θέλετε να δώσετε. Αν κάνω h1 χώρο και στη συνέχεια. Κορυφή. Αυτό θα πάτε να βρείτε όλες τις H1S και, στη συνέχεια, όλα αυτά με την κατηγορία των κορυφαίων και των στη συνέχεια να αλλάξετε μόνο εκείνες τις μορφές για να ό, τι θέλω να το δώσει. Και πάλι, θα μπορούσαμε να είχαμε γράψει μερικά από μόνοι μας. Αλλά δεν θα είχαμε φτάσει τόσο μακριά. Πολύ καλύτερα, φαίνεται πραγματικά να πάει σε ένα πραγματικό ζωντανό δικτυακό τόπο και να δούμε πώς το κάνουν και να εξετάσουμε όλα τα φανταστικά πράγματα που έχετε να κάνετε. Ας δούμε ένα πιο ιστοσελίδα πριν προχωρήσουμε. Και αυτό είναι κάτι που θα πρέπει πιθανώς εξοικειωθούν με. Αυτό είναι CS50 Οικονομικών. Έτσι και πάλι, μπορείτε πραγματικά να πάτε και να παρατηρούμε αυτό το αρχείο CSS για σας υπολογιστή, επειδή έχετε κατεβάσει αυτό CSS αρχείο, αν έχετε κατεβάσει το πρόβλημα που τίθεται. Μπορούμε να πάμε στο Tools και Εργαλεία για προγραμματιστές. Και βλέπουμε μια πολύ απλούστερη διάταξη HTML. Έχουμε κορυφή, μέση και κάτω. Και πάλι, κάτι που θα πρέπει να εξοικειωμένοι με, επειδή έχετε κοίταξε μέσα στον κώδικα της διανομής για πρόβλημα που τίθεται αυτής της εβδομάδας. Στην κορυφή είναι, σύμφωνα με τον κώδικα, μια ενιαία εικόνα που ονομάζεται. Και ότι είναι η πηγή της εικόνας. Να πω ότι έχω τελειώσει όλα όσα Ήθελα να αφορά το πρόβλημα Set 7. Και ότι λειτουργεί σωστά, αλλά Θέλω να αλλάξω το πώς φαίνεται. Και θέλω να αλλάξω το φόντο από την κορυφή της σελίδας για να, για παράδειγμα, το μπλε. Αν μου ήταν, θα ήθελα να έρθει σε εδώ και να καταλάβω, εντάξει τι Δεν θέλω να αλλάξω. Ας δούμε, div κορυφή ID, ότι φαίνεται όπως το επάνω μέρος της σελίδας. Οπότε ας πάμε εκεί. Ας προσπαθήστε να αλλάξετε το χρώμα του φόντου. Πάμε να το κάνουμε μπλε Alice, επειδή αυτό είναι ένα καλύτερο ένα. Και θα παρατηρήσετε ότι - ίσως δεν μπορείτε να δείτε αυτό. Αλλά υπάρχει ένα γαλάζιο, παράλληλα με το λογότυπο CS50. Ας το αλλάξουμε αντί για κόκκινο. Και θα παρατηρήσετε τώρα απλά άλλαξε το χρώμα του φόντου σε κόκκινο. Έτσι τώρα θα ήθελα να μπω σε αρχείο CSS μου και πληκτρολογήστε # top paren σγουρά εδώ. Μπορείτε να δείτε τον σωστό κωδικό εδώ, άγκιστρο. Και τότε, θα ήθελα να προσθέσω φόντο χρώμα, κόκκινο. Και τότε, θα υπήρχε είναι ένα άγκιστρο. Έτσι ώστε να είναι το πώς θα ήθελα να διερευνήσει και πειραματιστείτε με τη μορφοποίηση για το CS50 Οικονομικών site. Θα μπορούσα να το κάνω εδώ και δοκιμή έξω στον browser μου. Και τότε, θα μπορούσα να πάω σε πραγματική μου κώδικα και να κάνει τις αλλαγές που θα πραγματικά πάει να ζήσει και ότι οι άνθρωποι πραγματικά να δείτε, αν ήταν να έρθει σε ειδική ιστοσελίδα μου. OK. Αυτό ήταν πολύ. Ζητώ συγγνώμη για να περάσει τόσο γρήγορα. Μήπως κάποιος έχει απορίες καθόλου για την HTML ή CSS; ΚΟΙΝΟ: Μπορείς να πάει πέρα ​​από το πώς θα συνδέονται τι έγινε Jason, και πάλι; JASON Hirschhorn: Τι εννοείτε συνδέονται; ΚΟΙΝΟ: Θα παράσχει ένα σύνδεσμο σε ένα άλλο ιστοσελίδα, χρησιμοποιώντας την άγκυρα. JASON Hirschhorn: Έτσι σας ζητάμε, απλά γενικά, πώς να κάνετε μια σύνδεση; ΚΟΙΝΟ: Ναι. JASON Hirschhorn: OK. Ο κωδικός για να γίνει σύνδεση - ΚΟΙΝΟ: Όχι, όπως στην HTML. JASON Hirschhorn: Εδώ κάτω, εννοείς; Έτσι, αν θέλετε να συμπεριλάβετε ένα link κάπου, ας πούμε, αυτό είναι το HTML για μου Η σελίδα εδώ. Αυτή είναι η HTML. Ίσως είναι ανοιχτό σε ένα αρχείο, index.html. Πάω μέσα Ας έχουν αυτό το δικαίωμα του δημιουργού John Σύνδεσμο του Χάρβαρντ σε κάτι. Έτσι θα επεξεργαστείτε όλα αυτά ως HTML. Το μόνο που κάνετε είναι να περιλαμβάνουν το ένα, έτσι περικλείουν μια στενή βραχίονα κατά τη αρχή, και στη συνέχεια βραχίονα κάθετο μια στενή στήριγμα στο τέλος. Έτσι τώρα έχω συμπεριληφθεί μια ετικέτα άγκυρα. Και στην πραγματικότητα, αν κάνετε κλικ στο κουμπί από αυτό, θα είναι πλέον διαμορφώσετε το επεξεργαστείτε ως HTML. Και να πούμε, θέλουμε να το συνδέσουμε. Σας έπαιρνα την ιδιότητα href. Και λέμε - Και τώρα, όπως θα παρατηρήσετε, τα πνευματικά δικαιώματα John Harvard είναι μπλε. Και όταν μετακινηθείτε πάνω αυτό, είναι τώρα ένα σύνδεσμο. Έτσι, μπορείτε να γράψετε τον κώδικα. Μπορείτε να περιβάλλουν σχεδόν τίποτα θέλετε σε μια ετικέτα άγκυρα και να το μετατρέψει σε ένα σύνδεσμο. ΚΟΙΝΟ: OK. Το 'πιασα. JASON Hirschhorn: Και αν δεν ήθελα είναι - φυσικά, μερικές φορές οι άνθρωποι τείνουν να σκεφτούμε αυτά τα πράγματα που μόλις δούμε μπλε γενικά και υπογραμμισμένα είναι όχι η ομορφότερη τρόπος για να κάνει μια σύνδεση. Έτσι, αν έρθω εδώ, θα δείτε ότι, κάπου σε ένα αρχείο CSS, υπάρχει γράψει αυτό το ένα και στη συνέχεια δύο άγκιστρα. Έτσι, ας πούμε ότι, για τις συνδέσεις, δεν το κάνω θέλουν να γίνουν μπλε, όχι εγώ θέλουν το χρώμα ενός συνδέσμου είναι αυτό το ωραίο ματζέντα. Ας δώσει το χρώμα. Ας πάρει ματζέντα. Τώρα, όλοι οι σύνδεσμοι στη σελίδα μου έχουν γίνει αυτό το ωραίο χρώμα ματζέντα. Μερικοί άνθρωποι δεν συμπαθούν τα χρώματα σε όλα. Μερικοί άνθρωποι δεν συμπαθούν υπογραμμίσεις. Μπορείτε να επιλέξετε. Με τις συνδέσεις, μπορείτε να το στυλ πώς εξετάσουμε αφού έχετε επισκεφθεί. Όπως θα παρατηρήσετε σε πολλές σελίδες, συνδέσεις σειρά του μοβ για να τους επισκεφθούν. Μπορείτε να αλλάξετε αυτό το χρώμα, καθώς και. Ναι. ΚΟΙΝΟ: Έτσι να το αλλάξετε για κάθε σύνδεσμο. Αλλά αν απλά ήθελε να κάνει αυτή τη σύνδεση από μόνη της, θα κάνει ακριβώς το αναγνωριστικό κάτω ή κάτι άλλο; JASON Hirschhorn: Τόσο μεγάλο ερώτημα. Όπως θα έχετε παρατηρήσει εδώ, άλλαξα κάποια μέρος του CSS που ισχύει για ό, τι είναι ένα A. Αν ήθελα να Απλά κάνουμε το σύνδεσμο στο κάτω μέρος, I θα πάει στο αρχείο CSS μου και κατά πάσα πιθανότητα κάνει ακριβώς όπως είπες, hash χώρο κάτω a. Και αυτό θα μου δώσει Όπως όλα στο κάτω μέρος. Ή θα μπορούσε, εναλλακτικά, ένα δίνουν μοναδικό αναγνωριστικό και στη συνέχεια να κάνει σύνδεση hash. Και αυτό θα μου επιτρέψετε για να αλλάξει αυτό. Ωστόσο, απλά μοιράζει τα αναγνωριστικά εκών άκων είναι γενικά μια κακή πρακτική, διότι αυτοί πρέπει να είναι μοναδικό. Και τόσο περισσότερο θα έχει όλα αυτά, το μπορεί να πάρει μια μικρή σύγχυση. Ναι. ΚΟΙΝΟ: Μπορείτε να μας δώσετε την ίδια ID σε πολλούς ιδιοκτήτες; JASON Hirschhorn: Τεχνικά, ναι. Τίποτα δεν πρόκειται να σας σταματήσει, αλλά θα δεν θα πρέπει να Θα πρέπει να δώσει μια τάξη. OK, οποιαδήποτε άλλα ζητήματα για HTML ή CSS; OK. Ας προχωρήσουμε σε PHP. Ω, ναι. ΚΟΙΝΟ: Τι είναι για αυτά ιστοσελίδες που σημαίνει ότι μπορούμε να επεξεργαστείτε τους πριν ανανεώσετε. Αλλά από τη στιγμή που το ανανεώνετε επανέρχεται πίσω στην αρχική HTML; JASON Hirschhorn: Μεγάλη ερώτηση - έτσι ώστε όταν έχουμε φορτωθεί αυτό ιστοσελίδα, είναι HTML. Και είναι JavaScript. PHP του εκτελείται για να μας δώσει ό, τι το είδος της ιστοσελίδας που βλέπουμε. Και αυτό δημιούργησε κάποια HTML, μερικές JavaScript, CSS και μερικά. Και αυτό είναι πλέον προσβάσιμα από τον υπολογιστή μας. Και ένα αντίγραφο αυτών των αρχείων αποθηκεύεται τοπικά στον υπολογιστή μας, για την ώρα. Έτσι, μπορούμε να επεξεργαστείτε αυτό το τοπικό αντίγραφο. Αλλά φυσικά, δεν είμαστε επεξεργασία το αντίγραφο του διακομιστή. Και όταν ανανεώσετε τη σελίδα, θα έχουμε ένα άλλο αντίγραφο του διακομιστή. Και έτσι βλέπουμε τα πράγματα πίσω όπως ήταν. Αν ήμασταν σε θέση, από εδώ, για να επεξεργαστείτε το επίσημη ιστοσελίδα, θα είχαμε πολλά των προβλημάτων. ΚΟΙΝΟ: Ναι, έτσι μπορούμε να διαβάσουμε και να γράψει το αντίγραφο αυτό. JASON Hirschhorn: Σωστά. Είμαστε μόνο κάνοντας τοπικές αλλαγές εδώ, αλλά και πάλι, πολύ χρήσιμη για την εξερεύνηση, πολλές φορές. Όταν είμαι Γράφοντας τελικό έργο μου, για παράδειγμα, θέλω να δω πώς μερικοί ιστοσελίδα γίνεται κάτι ματιά με τον τρόπο που το έκανε. Θα πάω και να χρησιμοποιήσετε αυτό το παράθυρο προς τα κάτω εδώ, να δούμε τι CSS που έδωσαν στην αυτό ή τι χρώμα πήραν ή πώς το πήρα έτσι ώστε, όταν αιωρείται πάνω από κάτι, ο κατάλογος έπεσε σε ένα ωραίο υπερχείλιση της μόδας. Είναι ένας πολύ καλός τρόπος για να επιθεωρήσει τι άλλο ιστοσελίδες κάνουν και δανείζονται από αυτούς. Ας περάσουμε σε PHP. PHP σημαίνει, σε μια αναδρομική έννοια, PHP Hypertext Processor. Και PHP, τι πρόκειται να κάνει είναι εκτελέσει πλευρά του server κώδικα. Γι 'αυτό και δεν πρόκειται ποτέ να δείτε τον κώδικα PHP. Ωστόσο, αυτό δεν παίζει ωραία με HTML και συχνά δημιουργεί ένα πολύ κώδικα HTML. Αλλά, όπως θα είστε εξοικειωμένοι με το πρόβλημα Ορισμός 7, PHP κώδικας σας θα εκτελέσει, δημιουργήσει κάποια HTML, και αυτό είναι ό, τι ο χρήστης θα καταλήξουμε να δούμε. PHP είναι απίστευτα παρόμοια με C. Ωστόσο, υπάρχουν μια-δυο διαφορές, και οι διαφορές αυτές είναι σημαντικό να σημειωθεί. Μία διαφορά είναι ότι οι μεταβλητές στην PHP είναι χαλαρά πληκτρολογήσει. Έχει κανείς την αίσθηση τι σημαίνει αυτό; ΚΟΙΝΟ: Δεν χρειάζεται να το ρίξει τον εαυτό σας. Όπως δεν χρειάζεται να γράψει στο κείμενο. JASON Hirschhorn: εγώ δεν θα χρησιμοποιήσει το λέξη cast, αλλά ναι, δεν χρειάζεται να δηλώσουν ένα είδος για μια συγκεκριμένη μεταβλητή. Πώς μπορώ αντί δηλώνουμε μια μεταβλητή; ΚΟΙΝΟ: Χρησιμοποιήστε το σύμβολο του δολαρίου. JASON Hirschhorn: Χρησιμοποιήστε το σύμβολο του δολαρίου. Έτσι, το $ x είναι μια μεταβλητή. Η $ 1 είναι μία μεταβλητή. $ String είναι μια μεταβλητή. Εκείνοι μεταβλητές, $ x θα μπορούσε να είναι ένας ακέραιος. Στη συνέχεια, θα μπορούσε να είναι μια συμβολοσειρά. Στη συνέχεια, θα μπορούσε να είναι ένας χαρακτήρας. Δεν έχει τόση σημασία. Επίσης, το δροσερό πράγμα για την PHP είναι, ας πούμε, $ x είναι η μία χορδή. Και $ y είναι ο χαρακτήρας ενός. Μπορείτε να προσθέσετε $ x και $ y, και αυτό θα να σας δώσω 2, τι θα περιμένατε. Έτσι υπάρχουν εργασίες σε PHP. Επειδή είναι χαλαρά δακτυλογραφημένο μεταβλητές, κάποια σιωπηρή χύτευση γίνεται για σας και ορισμένες επιχειρήσεις. Μπορείτε να κάνετε ενέργειες για πράγματα διαφόρων τύπων. Ενώ πριν, μπορείτε συχνά να πάρετε ένα σφάλμα σε C ρητό, αυτό δεν είναι ο τύπος υποτίθεται πως πάει εδώ. Μόνο τα πράγματα αυτού του τύπου μπορεί να πάει εδώ. Δεν πρόκειται να πάρετε αυτό το είδος σφάλματος, γενικά, σε PHP. Έτσι, αυτό είναι μια μεγάλη διαφορά - πώς θα αντιμετωπίσουμε με τις μεταβλητές. Η δεύτερη μεγάλη διαφορά είναι ότι PHP κώδικας ερμηνεύεται. Wheres, κώδικας C έχει συνταχθεί. Τι σημαίνει αυτό; Καλά, για τον κώδικα C τρέξατε μέσω ενός compiler. Θα δημιουργείται ένα δυαδικό αρχείο. Και τρέξατε αυτό το δυαδικό αρχείο. Μπορείτε φρόντισε όλα τα σφάλματα πριν θα δημιουργείται το δυαδικό αρχείο. Φυσικά, μπορεί να υπήρξαν κατάτμηση βλάβες, όταν έτρεξε το δυαδικό αρχείο. Αλλά δεν είναι σαν να ξέχασε να συμπεριλάβει ο ορισμός της printf, ή δεν χρησιμοποιείτε μια μεταβλητή και μόλις δημιούργησε ένα σπάταλο μεταβλητή. Ή δεν έχετε ορίσει ένα πρωτότυπο της συνάρτησης. Όλα αυτά συνέβησαν πριν καταρτίζονται. Θα σας δώσω όλα τα σφάλματα ή κακή πράγματα που θεωρούνταν ότι θα συμβούν. Και τότε, θα είχε το 0 και 1 αρχείο που έτρεξε. PHP κώδικα δεν λειτουργεί έτσι. Θα πάμε να γράφουν κώδικα PHP σας. Στη συνέχεια, θα πάμε να αποθηκεύσετε, κατά πάσα πιθανότητα. Και τουλάχιστον σε P-Set 7, θα πάμε για να ανανεώσετε το πρόγραμμα περιήγησης σας, και θα πάμε να δούμε τι συνέβη. Θα πάμε να δείτε την έξοδο του εν λόγω κώδικα PHP. Μπορείτε επίσης να δείτε, στην κορυφή της σελίδας σας, ένα σφάλμα. Επειδή είχατε κάποια σφάλμα στην PHP σας. Μπορείτε να δείτε ακόμα το υπόλοιπο της η ιστοσελίδα ψάχνει πρόστιμο. Αλλά ένα μέρος είναι λάθος, και δεν υπάρχει Παρουσιάστηκε σφάλμα σε αυτό το χώρο. Και αυτό γιατί το μέρος της PHP κώδικα σας δεν λειτουργεί. Πράγματι, όταν εκτελείτε, όταν να πάει σε κάτι σαν by.php. Είναι πρόκειται να πάει μέσω της PHP σας αρχείο γραμμή προς γραμμή και να το εκτελέσει τότε και μόνο τότε. Δεν πρόκειται να το υπολογίσουν μπροστά από χρόνο ή την κατάρτιση ένα αντίγραφο και στη συνέχεια να δώσει που καταρτίζονται αντίγραφο σε όλους. Κάθε φορά, πρόκειται να περάσουν γραμμή προς γραμμή και να το εκτελέσει. Έτσι, μερικές γραμμές θα μπορούσε να λειτουργήσει και Έξοδος κάτι σωστό. Και μπορεί να σπάσει άλλες γραμμές και εξόδου σφάλμα αντ 'αυτού. Έτσι, όταν τον εντοπισμό σφαλμάτων με την PHP, έχουμε δώσει σας ένα ζευγάρι των χρήσιμες πράγματα να σας βοηθήσει να διορθώσετε, όπως η λειτουργία χωματερής. Αλλά γενικά, θα πάμε για να δείτε αυτά τα λάθη. Και αυτό είναι το πώς θα πάμε να Ξέρω ότι έκανα κάτι λάθος. Αλλά είστε μόνο πρόκειται να δούμε το σφάλμα τη στιγμή που θα τρέχουμε τον κώδικα. Μια άλλη σημαντική πτυχή της PHP και ανάπτυξης ιστοσελίδων είναι η ιδέα της get έναντι μετά. Μπορεί κανείς να εξηγήσει ποια είναι η διαφορά μεταξύ να πάρει και μετά είναι; Κανείς - Ναι. ΚΟΙΝΟ: Δεν ένας από αυτούς επιτρέπουν στο χρήστη να δει τα δεδομένα, και ένας από αυτούς δεν το κάνει; JASON Hirschhorn: Μεγάλη. Ναι, έχετε κάτι να προσθέσετε; ΚΟΙΝΟ: I λεπτή θέση είναι μια super-global μεταβλητή. JASON Hirschhorn: Έτσι τα δύο αυτά Οι μεταβλητές που σας έχει δοθεί. Αυτά είναι μόνο μεταβλητές. Και ξέρεις ότι είναι μεταβλητές, γιατί εδώ έχω χρησιμοποιήστε το σύμβολο του δολαρίου. Αυτές είναι οι μεταβλητές εκφράζονται σε σας από την PHP. Και όταν θα μετακινηθείτε ανάμεσα στις σελίδες web, θέλετε να αποθηκεύσετε κάποιες πληροφορίες. Ίσως θέλετε να αποθηκεύσετε αν ο χρήστης είναι συνδεδεμένος μέσα Αυτό δεν αποθηκεύονται στο GET και POST. Αυτό είναι αποθηκευμένο σε κάτι άλλο, μια διαφορετική μεταβλητή. Ξέρει κανείς τι μεταβλητή που έχει αποθηκευτεί , ή ποια μεταβλητή που χρησιμοποιείτε στο P-Set 7, για να βεβαιωθείτε ότι ο χρήστης είναι συνδεδεμένος; $ _SESSION, Αυτό είναι ακριβώς το δικαίωμα, πιθανώς σημαντικό να είναι εξοικειωμένοι με τα ονόματα αυτών των πραγμάτων που χρησιμοποιείτε συχνά. Έτσι, μπορείτε να χρησιμοποιήσετε τη μεταβλητή συνεδρίας να αποθηκεύσει πληροφορίες από σελίδα σε σελίδα. Αυτό είναι ένα σούπερ μεταβλητή. Υπάρχει σε κάθε σελίδα, ίσως σαν ένα καθολική μεταβλητή, αν θέλετε να σκεφτείτε γι 'αυτό έτσι. Υπάρχουν μια-δυο άλλες μεταβλητές που σας επιτρέπουν να μεταφέρετε πληροφορίες από σελίδα σε σελίδα. Ειδικότερα, αυτοί θα επικεντρωθεί στην είναι η GET και οι μεταβλητές POST. Στην PHP μοιάζουν $ _GET Και $ _POST. Και η διαφορά, όπως τόνισε ο Marcus έξω, μεταξύ των δύο από αυτά είναι ότι, πληροφορίες στα $ _GET είναι εμφανίζεται στη διεύθυνση URL. Έτσι, αν κοιτάξουμε εδώ κάτω, βλέπουμε ένα link στο YouTube. Βλέπουμε αυτό το ερωτηματικό. Βλέπουμε v = και, στη συνέχεια, κάποια αξία. Πίσω στην ιδέα των βασικών αξία ζεύγος, το ν είναι το κλειδί. Και εδώ είναι η αξία. Έτσι, αν ήταν να πάει σε αυτή τη σελίδα ή κωδικοποίησης σε αυτή τη σελίδα, θα έχουμε μια μεταβλητή $ _GET. Αν πήγαμε στο $ _GET άνοιγμα παρένθεσης "v" κλείσιμο παρένθεσης, πολύ παρόμοια με συστοιχία σημειογραφία, αυτό είναι αναπληρωτής σειρά επειδή δεν είμαστε με τη χρήση δεικτών. Χρησιμοποιούσαν χορδές ως κλειδιά. Αλλά πολύ παρόμοια ιδέα. Αν εμείς πήγαμε, θα πάρει την τιμή αυτή. Σε αυτή τη σελίδα, θα ήθελα να είναι σε θέση να χρησιμοποιήσει αυτή την τιμή. Αν θέλουμε πραγματικά να εξετάσουμε, ας μεταβείτε σε μια σελίδα στο YouTube. Τι βίντεο θα πρέπει να βλέπουμε; Αυτό και μόνο, οι άνθρωποι Hobbit οπαδούς; ΚΟΙΝΟ: Ναι. JASON Hirschhorn: Έτσι είμαι αντιγραφή μερίδιο URL τους και επικόλληση σε ένα νέο παράθυρο. Και τώρα, αν κοιτάξετε εδώ, θα είστε παρατηρήσετε ότι, για άλλη μια φορά - Πάω να αντιγράψετε και να επικολλήσετε σε gedit, έτσι μπορούμε να δούμε το μεγαλύτερο. Θα παρατηρήσετε ότι έχει αυτό το ερωτηματικό. Το ερωτηματικό δηλώνει ότι πάντα μετά από αυτό θα είναι αποθηκεύεται στη μεταβλητή πάρει. Στη συνέχεια, έχει τη ν, αυτή είναι η πρώτη κλειδί και αυτή η πρώτη τιμή. Ampersand είναι ιδιαίτερη. Ampersand λέει, εντάξει, εμείς τελείωσε την πρώτη τιμή. Είμαστε τώρα κινείται σε ένα άλλο βασικό ζευγάρι αξία. Εδώ, το βασικό χαρακτηριστικό που ονομάζεται, και η τιμή είναι youtu.be. Έτσι, αν ήμουν κωδικοποίηση αυτή τη σελίδα και κάποιος πήγε σε αυτήν τη διεύθυνση URL και είχα ίσως watch.php. Και ήμουν κωδικοποίηση αυτού. Και θα μπορούσα να χρησιμοποιήσω τη μεταβλητή $ _GET. Και θα ήθελα να έχουν μια κατά, και Θα ήθελα να έχουν ένα χαρακτηριστικό. Και αν μπορώ να χρησιμοποιήσω το πλήκτρο v, I θα πάρει την τιμή αυτή. Και αν το έκανα $ _GET βραχίονα "χαρακτηριστικό" κλείσιμο παρένθεσης, θα ήθελα να πάρει αυτή την τιμή. Και πάλι, αυτό δεν συμβαίνει κατ 'ανάγκην εφαρμόζονται - Προφανώς, τα πλήκτρα και τις αξίες του YouTube και να πάρει πληροφορίες δεν ισχύει για Πρόβλημα μας Set 7. Αλλά υπάρχουν ορισμένα πράγματα που μπορούμε περνούν μέσω GET στο πρόβλημα μας Σετ 7. Και σίγουρα, όταν θα πάτε σε μια ιστοσελίδα ή κωδικοποίησης δική σας σελίδα, η $ _GET Θα έρθει σε πρακτικό κατά την κωδικοποίηση σας. Τι είναι ένας λόγος για να χρησιμοποιήσετε το $ _GET στη συνέχεια, αν παρέχει καμία προστασία της ιδιωτικής ζωής; Βλέπετε όλες αυτές τις πληροφορίες αυτό είναι που μεταβιβάζονται. Είναι όλα εμφανίζεται στο χρήστη. Αλλά τι είναι ένας λόγος που ίσως θέλετε να αποθηκεύσετε κάτι σε $ _GET, όπως σε αντίθεση με $ _POST; Γιατί μπορεί να θέλετε να το κάνετε αυτό; Εντάξει. Σας ρώτησα στο Κουίζ 1. Ποια είναι η προληπτική του $ _GET; Τι είναι ένα pro; Ναι - ΚΟΙΝΟ: Είναι πιο εύκολο να μοιράζονται πληροφορίες. JASON Hirschhorn: Νομίζω ότι αυτό είναι σπουδαίο. Είναι πιο εύκολο να μοιράζονται πληροφορίες. Είναι πιο εύκολο να σελιδοδείκτη. Μπορείτε να αποθηκεύσετε σελιδοδείκτη τώρα, YouTube.com / watch? V = κάτι και πάει για το συγκεκριμένο βίντεο. Αν YouTube έκανε πάντα αιτήματα POST διαφορετικές σελίδες, κάθε διεύθυνση URL του YouTube θα YouTube.com. Δεν θα μπορούσε να σελιδοδείκτη ένα ενιαίο βίντεο. Γιατί αν πούμε ότι μοιράζονται σύνδεση με κάποιον άλλο, δεν το κάνουν πάρει αυτόματα μετά τη μεταβλητή. Είναι απλά να πάρει αυτό το σύνδεσμο, και η link είναι το ίδιο για όλους. Έτσι, αυτό είναι ένα pro. Σας επιτρέπει να αναφερθείτε σε αυτήν την πληροφορίες ή να μοιραστείτε αυτές τις πληροφορίες ή λίγο κάνουν πιο φιλική προς το χρήστη. Φυσικά, δεν υπάρχει καμία προστασία της ιδιωτικής ζωής, έτσι έχουμε αυτό το post μεταβλητή. Και μετά οι πληροφορίες δεν είναι εμφανίζεται στη διεύθυνση URL. Δεν είναι εντελώς ιδιωτική. Αλλά είναι οριακά πιο ιδιωτικό. Και έτσι θα δείτε αυτό το URL εδώ κάτω, cs50.net. Το αν δεν είστε συνδεδεμένοι στο το ιστοσελίδα, πρόκειται να έχουν την ίδια URL, cs50.net. Προφανώς, κάτι είναι διαφορετικό, αν είστε συνδεδεμένοι στην ιστοσελίδα. Έχετε, ένα, ίσως εισαγωγής PIN σας. Και έχει επιβεβαιώσει ότι με το διακομιστή. Και είναι πιθανώς εξοικονόμηση κάποιες άλλες πληροφορίες. Όμως, η διεύθυνση URL δεν αλλάζει καθόλου. Και έτσι αυτή είναι η περίπτωση, όταν κάτι που έχει αποσταλεί από POST. Η διεύθυνση URL δεν αλλάζει. Η πληροφορία αυτή δεν είναι POST εμφανίζεται στη διεύθυνση URL. Αλλά κάποια κατάσταση έχει αλλάξει, και ίσως υπάρχουν κάποιες πληροφορίες που έχουν αποθηκευτεί στην POST μεταβλητή. Λυπάμαι. πριν πάω σε SQL, κάθε ερωτήσεις σχετικά με την PHP, ιδίως, ερωτήσεις σχετικά με πράγματα που δεν είχαμε πάει πάνω ότι έχετε βρει ή οποιαδήποτε σύνταξη ή λογική ερωτήσεις για την PHP; OK. Η τελική γλώσσα που θα αλληλεπιδρούν με αυτήν την εβδομάδα είναι η Structured Query Language, SQL, προφέρεται sequel συχνά. Αυτό σας επιτρέπει να αλληλεπιδρούν με το βάση δεδομένων κατά τρόπο τυποποιημένο. Και αυτό παίζει πολύ ωραία με την PHP. Όπως θα δείτε στο πρόβλημα Set 7, έχουμε Σας δίνεται μια λειτουργία που ονομάζεται ερώτημα. Και παίρνει μια συμβολοσειρά SQL και εκτελεί ότι το ερώτημα στη βάση δεδομένων. Τα προηγούμενα χρόνια, δεν ήταν δίνεται αυτή η λειτουργία. Θα έπρεπε να χρησιμοποιήσετε τις λειτουργίες της PHP για να κάνουν το ερώτημα στη βάση δεδομένων και ελέγχου για τα λάθη και στη συνέχεια να πάρει τα αποτελέσματα. Και στην πραγματικότητα, δεν είναι ότι σκληρά, γιατί και πάλι, παίζει πολύ όμορφα με την PHP. Και PHP σας δίνει πολλές λειτουργίες να αλληλεπιδρούν με μια βάση δεδομένων SQL. Έτσι, συχνά, οι δύο αυτά πάνε μαζί. Φυσικά, θα μπορούσαν να αλληλεπιδράσουν με η βάση δεδομένων SQL με οποιαδήποτε τον αριθμό των άλλων γλωσσών. Αλλά η PHP είναι μία πολύ μεγάλη για να διαλέξετε. Μια βάση δεδομένων - θα πάμε πάνω από αυτό γρήγορα, γιατί αυτό είναι μια λέξη buzz θα πάμε να αρχίσετε να χρησιμοποιείτε συχνά - είναι μια συλλογή από πίνακες. Έτσι, μπορούμε να σκεφτούμε ότι ως αρχείο Excel. Ένα αρχείο Excel έχει πολλαπλές καρτέλες στο κάτω μέρος της οθόνης. Κάθε καρτέλα θα καλέσουμε τώρα έναν πίνακα, όπου ένας πίνακας είναι μια συλλογή των γραμμών. Και τι είναι μια σειρά; Λοιπόν, η σειρά είναι το ίδιο πράγμα στο αρχείο Excel. Αυτό έχει μόνο ορισμένες τιμές για κάθε δεδομένο τομέα ή σε κάθε δεδομένη στήλη. Είναι σαν μια καταχώρηση στον πίνακα. Είναι ένας φοιτητής, ο οποίος έχει μια ταυτότητα, μια ειδική ταυτότητα, και ένα συγκεκριμένο όνομα και συγκεκριμένο σπίτι. Έτσι, μια βάση δεδομένων είναι μια συλλογή των πινάκων. Και οι ίδιοι πίνακες είναι ένα αριθμό των γραμμών ή των αρχείων. Υπάρχουν επίσης, σε κάθε τραπέζι, ορισμένους τομείς. Και αυτό καθορίζει τι κάθε εγγραφή είναι πρόκειται να έχουν, τα πεδία που μερικές φορές ονομάζεται στήλες, αλλά γενικά ονομάζονται πεδία. Σε αυτό το πολύ απλό πίνακα, έχω τρεις πεδία, ένα πεδίο ID, ένα όνομα χρήστη τομέα, και ένα πεδίο hash. Και έχω τρεις σειρές. Αυτή τη στιγμή, είναι άδειο. Πιθανότατα δεν θα είναι άδειο αν αυτό ήταν πραγματική βάση δεδομένων μου. Έτσι, αν έχετε χρησιμοποιήσει το Excel, παρόμοια ιδέα σε ό, τι κάνετε στο Excel, όμως, Προφανώς, τώρα θα πάμε να είναι σε θέση να κάνει πολύ πιο ισχυρά πράγματα σχετικά με την πληροφορίες που είναι αποθηκευμένες στη βάση δεδομένων μας. Θα πρέπει να δημιουργήσει τον εαυτό σας ένα βάσης δεδομένων για το πρόβλημα Set 7. Αλλά θα είναι η δημιουργία πολλαπλών πίνακες της βάσης δεδομένων. Θα πρέπει να δημιουργηθεί μια βάση δεδομένων ή ένα τραπέζι για τους χρήστες. Θα πρέπει να δημιουργηθεί επίσης ένα τραπέζι για πιθανώς χρηματιστηριακές συναλλαγές, να κρατήσει τα ίχνη τους, γιατί θα πρέπει να εφαρμόσουν ένα χαρακτηριστικό γνώρισμα της ιστορίας. Τόσο οι πίνακες αυτοί θα έχουν διαφορετικά πεδία. Για παράδειγμα, σε ένα πεδίο του χρήστη, θα πιθανόν να θέλετε το όνομα χρήστη τους και ένα ID και ένα hash του κωδικού πρόσβασής τους. Στον πίνακα αποθέματα που παρακολουθεί την πορεία των ιστορικό ή ο πίνακας Ιστορία, σας ίσως δεν χρειάζεται το όνομα χρήστη και το hash και το αναγνωριστικό. Πιθανόν να χρειαστεί μόνο μία από αυτές αξίες που είναι μοναδικά, να συνδέσει με ένα δεδομένο χρήστη. Στη συνέχεια, όμως, θέλετε να αποθηκεύσετε άλλες πράγματα όπως, τι ώρα η συναλλαγή που πραγματοποιείται. Τι απόθεμα αγοράζονται ή πωλούνται; Πόσες μετοχές του αποθέματος έχει αγοραστεί ή να πωληθεί; Ποια ήταν η τιμή στην οποία η απόθεμα αγοράζονται ή πωλούνται; Έτσι και πάλι, θα πάμε να αλληλεπιδρούν με βάσεις δεδομένων που είναι πρόκειται να έχει πολλούς πίνακες. Κάθε πίνακας θα έχει το δικό του σύνολο των πεδίων. Ωστόσο, είναι πιθανόν να υπάρχει μια παρόμοια πεδίο σε κάθε πίνακα, ότι τους σχετίζεται με το ένα το άλλο. Συνήθως, αυτό είναι ένα πεδίο ID. Διότι, αν ο κάθε χρήστης έχει ένα μοναδικό αναγνωριστικό και έχετε συνδέσει αυτό το ID με κάθε συναλλαγή που ο χρήστης κάνει ή όλη την ιστορία αυτού του χρήστη. Και έχετε το αναγνωριστικό του χρήστη. Μπορείτε να πάρετε πληροφορίες είτε από τον πίνακα. Μπορείτε να πάρετε το όνομα τους, και μπορεί να πάρει όλες τις συναλλαγές τους. Οποιεσδήποτε ερωτήσεις σχετικά με τις βάσεις δεδομένων, ή συγκεκριμένες ερωτήσεις; Στην πραγματικότητα, ας κρατήσει αυτό. Θα είμαστε εκεί σε δύο πλευρές. Έτσι, υπάρχουν τέσσερις λειτουργίες σε βάσεις δεδομένων που θα χρησιμοποιήσετε στο Πρόβλημα Set 7 και πιθανόν ποτέ να χρησιμοποιείτε. Το πρώτο πράγμα που θέλετε να κάνετε είναι ένθετο ένα νέο ρεκόρ σε έναν πίνακα ή ένα νέα γραμμή σε ένα πίνακα. Αυτή είναι η γενική λειτουργία, ο γενική μορφή, από αυτό το ερώτημα SQL. INSERT INTO πίνακα, ανεξάρτητα από τις στήλες θέλετε να εισαγάγετε και, στη συνέχεια, οι αξίες που θα πάμε να θέλουν να τεθεί σε αυτές τις στήλες ή πεδία. Εάν έχετε πολλούς πίνακες σε ένα βάση δεδομένων ή πολλαπλές βάσεις δεδομένων, θα Μπορεί επίσης να χρειαστεί να καθορίσετε τη βάση δεδομένων και ο πίνακας που θέλετε για να βάλει τα πράγματα σε. Αλλά πολύ απλό, αν θέλετε να εισαγάγετε σε κάτι, λέτε, εδώ είναι το τα πεδία που θέλετε να εισαγάγετε στο. Και εδώ είναι οι τιμές. Σε ορισμένους πίνακες, επίσης, και αυτό το χρήστη πίνακας είναι ένα καλό παράδειγμα. Πιθανώς στον πίνακα του χρήστη και πιθανώς στον πίνακα του χρήστη σας στο P-Set 7, δεν υπάρχει μόνο μια τιμή όνομα. Δεν υπάρχει μόνο μια αξία σε μετρητά, ή πεδίο, μάλλον. Υπάρχει επίσης ένα πεδίο αναγνωριστικού. Είμαι δεν πρόκειται να εισαγάγετε αυτό το πεδίο ID. Αυτό πρόκειται να δοθεί μένα αυτόματα, όταν ένας νέα εγγραφή προστίθεται. Έτσι, υπάρχει κάποιο πεδίο που σας μπορεί να οριστεί να είναι αυτόματη. Ίσως θέλετε να δώσετε σε κάθε χρήστη 10000 δολάρια σε μετρητά από το ρόπαλο. Γι 'αυτό και δεν χρειάζεται να εισάγετε ένας αριθμός μετρητών εδώ. Το μόνο που χρειάζεται να εισάγετε το όνομα χρήστη. Και στη συνέχεια, το πεδίο θα είναι σε μετρητά προσυμπληρωμένη, και το πεδίο ID θα να προ-συμπληρωμένη. Έτσι, πολλές φορές, δεν είμαστε εισάγοντας κάτι που σε κάθε τομέα, επειδή αυτά τα άλλα πεδία είναι προ-συμπληρωμένες. Επειδή αυτό είναι το πώς θα σύστασης της εν λόγω πίνακα. Το δεύτερο πράγμα που πρόκειται να θέλετε να κάνετε είναι να διαγράψετε μια εγγραφή. Διαγραφή κάτι είναι πολύ απλή. Μπορείτε να δώσει τον πίνακα όπου θέλετε να διαγράψει κάτι από. Και λες, εντάξει, θέλω να διαγράψω το ρεκόρ που έχει ένα όνομα χρήστη της Μήλου. Ή θα θέλετε να διαγράψετε όλα τα αρχεία που έχουν ένα όνομα χρήστη της Μήλου ή ότι ήταν μια συναλλαγής από τον αριθμό ταυτότητας χρήστη 2. Οποιεσδήποτε ερωτήσεις σχετικά με αυτές τις δύο τύπους ερωτημάτων; ΚΟΙΝΟ: [δεν ακούγεται]. JASON Hirschhorn: Ναι. Έτσι, Πάω να χρησιμοποιήσει γραμμή και ρεκόρ εναλλακτικά και κάποια με τη στήλη και τον τομέα. Αλλά μια σειρά είναι ένα ρεκόρ. Μία στήλη είναι ένα πεδίο, θα πίσω σε αυτόν τον πίνακα. OK. Το επόμενο πράγμα που είναι πιθανόν να πρόκειται να κάνετε είναι να πάρετε κάποια πληροφορίες από το τραπέζι. Αυτό είναι ένα ερώτημα επιλογής. Και πάλι, τι πίνακα είμαι επιλέγοντας από; Και ποια στήλη μπορώ να θέλετε να επιλέξετε, ή τι τιμή μπορώ να θέλετε να επιλέξετε και από ποια γραμμή; Έτσι, το Select είναι ένα μικρό ειδικό. Το λέω, εντάξει, θέλω αυτόν τον πίνακα. Και τότε θέλω το όνομα της στήλης, και Θέλω από τη σειρά με ID 2. Αυτός είναι ένας τρόπος για να κάνει μια Select. Ή μπορώ να πω, να μου δώσει κάθε ενιαίο όνομα. Ή μπορώ να πω, να μου δώσει μια ολόκληρη γραμμή από τον πίνακα αυτό, όπου το όνομα χρήστη είναι 1. Έτσι, υπάρχουν δύο διαφορετικοί τρόποι για να Επιλέξτε να κάνετε ερωτήσεις, ανάλογα με το πώς πολλές πληροφορίες που θέλετε, Μπορείτε πάντα να επιλέξετε μόνο τα πάντα από το συγκεκριμένο τραπέζι και στη συνέχεια βρόχο μέσα από αυτό, διαλέγοντας τα πράγματα που θέλετε. Αλλά να έχετε κατά νου, αν είστε επιλογή πολλά πράγματα από ένα τραπέζι και να σας έχουν ένα πραγματικά μεγάλο τραπέζι, που θα λάβει κάποια στιγμή, οπότε καλύτερα να επιλέξετε μόνο πράγματα που θα πάμε να καταλήγουν να χρησιμοποιούν. Επίσης, με το Select και με όλα αυτά άλλα SQL εντολές, καθώς, είμαι δίνοντάς σας την έκδοση γυμνά-οστά. Αλλά να πω, είμαι επιλογή των χρηστών και θέλω να τα εκτυπώσετε αλφαβητικά, Θα μπορούσατε να επιλέξετε όλους τους χρήστες και στη συνέχεια να ταξινομήσετε τους με αλφαβητική σειρά στον κώδικά μου. Ή υπάρχει ένας τρόπος για να γράψει το select ερώτημα, που επιλέγει τα πράγματα σε μια αλφαβητική μόδα, βασίζεται στα ανοικτά της ειδική στήλη, αύξουσα ή φθίνουσα. Έτσι, έχετε κατά νου ότι, πολλά από αυτά που σας θέλετε να κάνετε μπορεί πιθανώς να γίνει σε το ερώτημα μέσα από ένα πρόσθετο αποδίδουν. Έτσι φαίνονται αυτά τα ερωτήματα σε απευθείας σύνδεση ή τα άλλα πράγματα που μπορείτε να κάνετε με αυτά τα ερωτήματα για την περαιτέρω εμβάθυνσή τους. Τέλος, το τελευταίο πράγμα που θέλετε να κάνετε δεν είναι να τοποθετήσετε κάτι ή να διαγράψετε κάτι, αλλά μάλλον ενημερώσετε κάτι. Και αυτό γίνεται με την ενημερωμένη έκδοση ερώτημα, και πάλι, τι πίνακα. Και τι μπορώ να κάνω αλλαγή θέλετε να κάνετε; Και να που γραμμή ή εγγραφή κάνουμε Θέλω να κάνω αυτή την αλλαγή; Οποιεσδήποτε ερωτήσεις σχετικά με SQL; OK. Έτσι, έχουμε περίπου 15 λεπτά. Και αυτή είναι η τελευταία διαφάνεια που έχω. Και ελπίζω, αυτό το τελευταίο slide είναι ένα καλή segue στο πρόβλημα που, γιατί η κατανόηση που θέλουμε να τοποθετήστε τα αρχεία, διαγράψτε τα, επιλέξτε τους, και να ενημερώσετε τους θα μας βοηθήσει κατανοήσουν τη μεγαλύτερη λογική και τη ροή του προβλήματος Set 7. Έτσι ξέρω όλες τις απαντήσεις σε αυτά τα ερωτήματα. Είμαι δεν πρόκειται να σας πω όλες τις απαντήσεις. Αλλά αν κάποιος άλλος θα ήθελε να παρουσιάζω μια ερώτηση στην ομάδα ή να απαντήσει σε ένα από αυτά τα ερώτηση, μπορούμε να το χρησιμοποιήσετε ως ένα άλμα από το σημείο για να μιλάμε για το σύνολο του προβλήματος. Ή αν κάποιος έχει μια πιο γενική ερώτηση από το σύνολο του προβλήματος, αισθάνονται ελεύθερος να ζητήσει και αυτό. Και μπορούμε να ξεκινήσουμε από εκεί. Κρατήστε στο μυαλό σας ότι είναι σιωπηλή πληγώνει όλους. Ναι. ΚΟΙΝΟ: Έτσι είναι ο μόνος τρόπος για να περάσει μεταβλητές και από διαφορετικές web σελίδες, ή το πιο βολικό τρόπο, χρησιμοποιώντας POST ή GET; JASON Hirschhorn: Οπότε ναι, αυτή είναι η πιο βολικός τρόπος για να το πούμε - όταν κάποιος συμπληρώνει μια φόρμα - πάρετε πληροφορίες σε άλλη τοποθεσία web σελίδα, χρησιμοποιώντας GET ή POST. Λόγω του πλαισίου που χρησιμοποιούμε σε αυτό το σύνολο του προβλήματος, θα παρατηρήσετε ότι, πολλές φορές, εμείς καθιστούν μια άλλη σελίδα. Ή εμείς έχουμε καταστήσει ένα άλλο αρχείο, δεν αναγκαστικά μια άλλη σελίδα. Έτσι περνάμε σε μια μεταβλητή. Και στη συνέχεια, την καθιστά ένα Η σελίδα HTML, χρησιμοποιώντας το πληροφορίες από την εν λόγω μεταβλητή. Αυτό δεν είναι τεχνικά διέρχεται πληροφοριών μεταξύ των διαφορετικές ιστοσελίδες. Αυτό περνά πληροφοριών μεταξύ των διαφορετικών αρχείων. Και έτσι μπορούμε να χρησιμοποιήσουμε οποιοδήποτε μεταβλητή για να το κάνουμε αυτό. Αλλά ναι, αν θέλαμε να περάσει πληροφορίες από μια συγκεκριμένη σελίδα να άλλη σελίδα, GET και POST θα είναι ο τρόπος να το κάνουμε αυτό. Οποιεσδήποτε άλλες ερωτήσεις σχετικά με που είναι το πρόβλημα; OK. Ας περάσει, στη συνέχεια, μια ειδική μέρος του προβλήματος που. Θα έχετε την ευκαιρία να χρειαστεί να, σε ένα σημείο, εμφανίζει το χαρτοφυλάκιο κάποιου για η οθόνη. Τι εννοώ όταν λέω χαρτοφυλακίου, στο πλαίσιο αυτού του προβλήματος που; ΚΟΙΝΟ: Είναι σαν τα αποθέματα που έχουν τον τρόπο, πολλές μετοχές που κατέχουν, η τιμή, και πόσο χρήματα που έχουν απομείνει. JASON Hirschhorn: Αυτό ακούγεται μεγάλη. Θέλω, λοιπόν, να εμφανίσετε όλα τα αποθέματα που κατέχουν για κάθε εταιρεία μετοχής μετοχές και πιθανώς πόσο αυτό είναι Αξίζει, και στη συνέχεια μια ξεχωριστή μεταβλητή, πόσα χρήματα που κατέχουν. Έτσι λένε θέλω να περιγράψω αυτό. Ας αρχίσουμε να μιλάμε για το πώς θα μπορούσα να το κάνουμε αυτό, τι είμαι πίνακες θα πρέπει να πρέπει να να είναι σε θέση να το κάνουμε αυτό. Ναι - ΚΟΙΝΟ: Καλά χρηστών και, στη συνέχεια, υποθέτω μπορείτε να κάνετε έναν πίνακα που ονομάζεται Μετοχές ή κάτι τέτοιο, το οποίο θα είναι πόσα έχουν αγοράσει. JASON Hirschhorn: OK. Έτσι, Πάω να χρειάζονται έναν πίνακα που ονομάζεται Οι χρήστες, που παρακολουθεί το όνομα, κατά πάσα πιθανότητα, κατά πάσα πιθανότητα κάποια ταυτότητα, πιθανώς τον κωδικό ενός ατόμου. Τι είναι το κάτι άλλο που σας Απλά είπε ότι είναι συνδέονται; Κάποιος εκτός Michael, τι είναι κάτι άλλο που είναι συνδεδεμένες με κάθε χρήστης, μοναδικό σε αυτούς; ΚΟΙΝΟ: ID. JASON Hirschhorn: ID - τι είναι ένα άλλο πράγμα που είμαστε πιθανώς να θέλετε να εμφανιστούν σε αυτήν τη σελίδα; ΚΟΙΝΟ: Το όνομά τους. JASON Hirschhorn: Το όνομά τους - τι είναι ένα άλλο πράγμα που σχετίζονται με αυτό που το συγκεκριμένο πρόβλημα; ΚΟΙΝΟ: Ποια τα αποθέματα που κατέχουν - JASON Hirschhorn: Δεν πρόκειται να είναι πολλά για το τι αποθέματα που κατέχουν. Ποιο είναι το ένα, την ειδική αξία όμως, ότι πρόκειται να έχουν που συνδέονται με αυτά; Πώς πρόκειται να αγοράσετε και να πωλούν τα αποθέματά τους; ΚΟΙΝΟ: Μετρητά. JASON Hirschhorn: Είναι πρόκειται να έχουν μετρητά. Έτσι, κάθε χρήστης θα έχει μια τιμή για τα μετρητά. Και αυτό πρόκειται να είναι μοναδικό για κάθε χρήστη. Έτσι στον πίνακα του χρήστη, καθιστά νόημα να θέσει σε μετρητά. Θα μπορούσε, βέβαια, να δημιουργήσει ένα άλλο πίνακα που έχει ταυτότητες χρήστη και τους αξία των μετρητών. Αλλά δεν έχει νόημα. Είναι λογικό να απλά βάλτε όλα αυτά σε έναν πίνακα. Έτσι θα πάμε να έχουν ένα τραπέζι με την εν λόγω πληροφορία. Και τότε, τι είναι το άλλο πίνακα θα πάμε να έχουν; Είπατε, ένα τραπέζι αποθέματα. Τί βάζουμε στο ο πίνακας αποθέματα; Ο καθένας, τις ιδέες - ΚΟΙΝΟ: Η εταιρεία. JASON Hirschhorn: Εμείς πάμε να θέσει στο όνομα της Η εταιρεία, έτσι AAPL για την Apple. Ναι. ΚΟΙΝΟ: Πόσες μετοχές και πόσο αξίζουν. JASON Hirschhorn: Πόσες μετοχές, πόσο αξίζουν - τι κάτι άλλο που Πρέπει σε αυτό το τραπέζι; ΚΟΙΝΟ: Ένα αναγνωριστικό χρήστη στο δείκτη αυτό. JASON Hirschhorn: Ένα αναγνωριστικό χρήστη. Έτσι, στον πίνακα αυτόν, θα πιθανώς - ας πούμε, αν είναι κάποιος που κατέχει τρεις μετοχές, τρεις σειρές, το καθένα με ότι το όνομα χρήστη ή ο χρήστης του εν λόγω ατόμου ID, αλλά ένα διαφορετικό όνομα της εταιρείας, η διαφορετικό αριθμό μετοχών που κατά πάσα πιθανότητα, και μια διαφορετική τιμή για κάθε τιμή των εν λόγω αποθεμάτων. Και πάλι, αυτό που λέω τώρα δεν είναι αναγκαστικά η εφαρμογή, επειδή έχετε συνειδητοποιήσει ότι υπάρχουν κάποια περισσότερα αποτελεσματικούς τρόπους για να την εφαρμόσουν. Αλλά αυτό είναι ένα καλό μέρος για να ξεκινήσετε. OK. Έτσι, αυτές είναι οι δύο πίνακες που έχουμε. Τώρα θέλουμε να εμφανίσετε αυτή τη σελίδα. Ποιο είναι το πρώτο είδος του ερωτήματος θα πρέπει να κάνουν. Σε κάθε σελίδα, θεωρείται ότι είναι ένας χρήστης είναι συνδεδεμένος, έχουμε αναγνωριστικό χρήστη τους. Έτσι, ποιο είναι το πρώτο είδος του το ερώτημα που πρέπει να κάνουμε; Ναι. ΚΟΙΝΟ: ID χρήστη τους. JASON Hirschhorn: Έχουμε αναγνωριστικό χρήστη τους, όταν αρχίζουμε να κώδικα κατά τη αρχίζοντας από τη σελίδα μας. Έτσι, ποιο είναι το πρώτο είδος που ερωτήματος πρέπει να κάνουν, το ID ενός χρήστη; Πήγαμε πάνω από τους τέσσερις τύπους. Υπάρχουν μόνο τέσσερις πιθανές απαντήσεις. ΚΟΙΝΟ: Είναι επιλέξτε ένα αρχείο. JASON Hirschhorn: A Επιλέξτε - θέλουμε να επιλέξουμε από το χρήστη τραπέζι για να πάρει, ας πούμε, το ποσό των μετρητών τους. Και μπορούμε να τυπώσουμε το ποσό των μετρητών στην κορυφή της οθόνης. OK. Ποιο είναι το επόμενο είδος της το ερώτημα που θέλουμε να κάνουμε; Έχουμε κάποια άλλα πράγματα θα πρέπει να εμφανιστεί. Αυτοί είναι αποθηκευμένα σε έναν άλλο πίνακα. Λοιπόν, πώς θα πάμε για να πάρει αυτό; ΚΟΙΝΟ: Μπορείτε να επιλέξετε για αυτούς. JASON Hirschhorn: A Επιλέξτε - και πάλι, υπάρχουν μόνο τέσσερις επιλογές. Επιλέξτε πιθανώς ήχους όπως και το σωστό. Έτσι πρέπει να κάνουμε άλλο ένα ερώτημα επιλογής, χρησιμοποιώντας και πάλι αυτό το αναγνωριστικό χρήστη. Και τώρα, θέλουμε να επιστρέψουμε όχι μόνο ένα σειρά, bu όλες τις γραμμές που ταιριάζουν μας κριτήρια, όπου το αναγνωριστικό χρήστη ισούται με 1. Και τότε μπορούμε να πάμε και να αφήσει ένα βρόχο ακριβώς εκτυπώσετε όλους εκείνους έξω στην οθόνη, ίσως να εκτυπώσετε την εταιρεία από κάθε ένα από αυτά στην οθόνη. Μεγάλη, αυτό ακούγεται σαν αυτό είναι εμφανίζοντας ένα χαρτοφυλάκιο, όχι πολύ περισσότερο περίπλοκη από αυτό. Εντάξει, ο χρήστης αποφασίζει στη συνέχεια ότι έχουν την αφθονία των χρημάτων που απομένουν. Και θέλουν να αγοράσουν κάποια περισσότερες μετοχές του αποθέματος. Ας πούμε, που ήδη κατέχουν απόθεμα της εν λόγω εταιρείας πάρα πολύ. Έτσι πηγαίνετε στη σελίδα buy σας. Συνεισφορά τους το όνομα της εταιρείας. Τι είναι το ερώτημα, μετά την είσοδο της το όνομα της εταιρείας, ότι θα πρέπει να εκτελέσει το επόμενο βήμα; Ναι. ΚΟΙΝΟ: Ενημέρωση. JASON Hirschhorn: Ενημέρωση - και τι πίνακας θέλετε να ενημερώσετε; ΚΟΙΝΟ: τραπέζι τους, με βάση σχετικά με τον αριθμό ταυτότητάς τους; JASON Hirschhorn: Έτσι ενημέρωση όχι ο πίνακας του χρήστη - έτσι ώστε να ενημερώσετε τον πίνακα Μετοχές, όπου η ID χρήστη ταιριάζει όχι μόνο, αλλά και η όνομα της μετοχής ταιριάζει επίσης. Θα πάρετε κάποια αξία. Και στη συνέχεια, θα θελήσετε να πάρετε αυτήν την τιμή και πάντως να προσθέσω πολλά αποθέματα που θέλουν να αγοράσουν από αυτό. Έτσι, δεν θέλετε να τυφλά αντικαταστήσετε αυτή την τιμή. Αλλά μπορείτε, στην πραγματικότητα, να λάβει ότι η αρχική αξία και απλά να ενημερώσετε. Μπορείτε να το κάνετε σαν ένα συν ισούται, και όχι μόνο ένα ίσον. Τι είναι όμως κάτι - αν είμαστε σκεφτόμαστε αυτό και θέλουμε να τόσο ισχυρή όσο το δυνατόν - θα πρέπει να κάνουμε πριν τρέξουμε αυτό το ερώτημα ενημέρωση; Θέλουν να αγοράσουν πέντε ετών από την Apple. Κάθε μετοχή της Apple είναι $ 200. ΚΟΙΝΟ: Θα πρέπει να ελέγξετε τα χρήματα πρώτα. JASON Hirschhorn: Θα πρέπει να ελέγξτε πρώτα τα χρήματα. Θα πρέπει να βεβαιωθείτε ότι έχουν αρκετά χρήματα. Τι είδους ερώτημα μπορεί να εκτελούμε βεβαιωθείτε ότι έχουν αρκετά χρήματα; ΚΟΙΝΟ: Επιλογή άλλο. JASON Hirschhorn: A Επιλέξτε - επιλέγουμε ανάλογα με την ταυτότητα των χρηστών τους, για να πάρει την αξία τους σε μετρητά. Κάνετε κάποια γρήγορη μαθηματικά. Και αν αυτό περνά συγκεντρώσει, έχουν αρκετά μετρητά. Στη συνέχεια, μπορούμε να τρέξουμε την ενημέρωση μας. Ή ίσως, αν όχι, περνάμε στη συνέχεια. Μπορούμε να τους δώσουμε μια προειδοποίηση. OK. Λένε ότι δεν έχουν μια εταιρεία. Θα αγοράζετε μια νέα εταιρεία. Που αγοράζετε Microsoft. Τι είδους ερωτήματα θέλουμε να κάνουμε, αν θέλουν να αγοράσουν Microsoft; Και δεν διαθέτει κανένα Microsoft. Δεν Manu, κάποιος άλλος, κάποιος εκτός Μάρκους; Carlos - ΚΟΙΝΟ: A Επιλέξτε, για να βεβαιωθείτε ότι έχουν αρκετά χρήματα. JASON Hirschhorn: Ακούγεται καλό. ΚΟΙΝΟ: Και μετά εισάγετε σχετικά με την [δεν ακούγεται]. JASON Hirschhorn: Ακριβώς, είμαστε πρόκειται να θέλετε να εισαγάγετε στον πίνακα αποθέματα. Και θα πάμε να θέλετε να εισαγάγετε. Μπορούμε να εισάγετε το αναγνωριστικό χρήστη τους, το όνομα της εταιρείας, και πόσες μετοχές θέλουν να αγοράσουν. Ποιες είναι μερικές άλλες λειτουργίες που είναι οι σελίδες ή τη λειτουργικότητα είστε θα πρέπει να εφαρμόσουν P-Set 7, ότι πρέπει να πάμε πάνω; ΚΟΙΝΟ: Στην πραγματικότητα, το είδος έχει μια ερώτηση σχετικά με αυτό. Προτού εμφανιστεί το χαρτοφυλάκιο, θα πρέπει να θα ελέγχει την ιστοσελίδα της Yahoo για την βεβαιωθείτε ότι οι τιμές των μετοχών δεν έχουν αλλάξει; JASON Hirschhorn: Αυτό είναι ήχοι σαν μια καλή ιδέα. Έτσι, αυτό που λέει ο Marcus είναι, εντάξει, stock οι τιμές αλλάζουν συνεχώς. Στα αποθέματα που κατέχουν τραπέζι, μας πίνακα που ονομάζεται αποθέματα, θα μπορούσαμε να εξοικονομήσουμε το τιμή της μετοχής που τον αγόρασε. Αλλά αυτό δεν φαίνεται ότι η ισχυρή, επειδή η τιμή της μετοχής είναι συνεχώς πρόκειται να αλλάξει. Έτσι, στην πραγματικότητα, τότε μάλλον δεν χρειάζεται για να σώσει την τιμή της μετοχής. Αλλά κάθε φορά που εμφανίζετε τους χαρτοφυλάκιο, μπορείτε να ανανεώσετε ή να ενημερώσετε το τιμή της μετοχής. Και αν έχετε - και έχετε ήδη. Ξέρω ότι έχετε όλα φαινόταν στην πρόβλημα θέτει πίσω ήδη. Έχετε συνειδητοποιήσει ότι έχουμε γράψει κάποιος κώδικας για σας που θα σας επιτρέψει για να πάρει την τιμή μιας μετοχής, όνομα της εταιρείας. Ναι λοιπόν, ότι ίσως ακούγεται λίγο πιο ισχυρή. Αλλά αυτός ο πίνακας δεν χρειάζεται κατ 'ανάγκην για να σώσει την τιμή της μετοχής. OK. Ποιες είναι μερικές άλλες λειτουργίες σας πρέπει να εφαρμόσει αυτή την εβδομάδα ότι μπορούμε να μιλήσουμε; Θέλω να μιλήσω γι 'αυτούς. Τι θέλεις να μιλήσουμε; Είναι πιθανώς σε αυτό το spec. Θα ήθελα απλώς να μετακινηθείτε προς τα κάτω στο κάτω μέρος του spec και με ρωτούν την πρώτη λέξη θα δείτε ότι δεν έχει νόημα. Μια άλλη λειτουργία - ας μιλήσουμε για ένα. Θα ξεκινήσουμε από εκεί. ΚΟΙΝΟ: Καταγραφή των ιστοριών. JASON Hirschhorn: Καταγραφή η ιστορία, πολύ ωραία. Έτσι, εσείς πρόκειται να πρέπει να παρακολουθείτε μιας ιστορίας των συναλλαγών. Έτσι θέλετε να παρακολουθείτε κάθε φορά που αγοράζουν ή να πωλήσει ένα απόθεμα. Αγόρασα απόθεμά μου. Απλά είπαμε, καθιστά μάλλον νόημα να περιλαμβάνουν Select, για να πάρει τους ποσό των μετρητών και ελέγξτε ξανά. Είναι πιθανόν να είναι έξυπνος, τότε να περιλαμβάνει ένα εισάγετε ή μια ενημερωμένη έκδοση, ανάλογα με την έστω και αν το δικό του εν λόγω αποθέματος. Αν θέλουμε επίσης να παρακολουθείτε μια ιστορία, πώς μπορούμε να το κάνουμε αυτό; Μήπως αυτό πάει στον πίνακα αποθέματα; ΚΟΙΝΟ: Όχι. JASON Hirschhorn: Όχι, μάλλον πηγαίνει σε ένα διαφορετικό πίνακα. Επειδή πούμε ότι έχετε αγοράσει 10 μετοχές της Apple. Στη συνέχεια, μπορείτε να αγοράσετε ένα άλλο 10 μετοχές. Θέλετε έλκει χωριστά αρχεία. Αυτά είναι δύο χωριστές πράξεις. Έτσι έχουμε έναν άλλο πίνακα, ένα τραπέζι Ιστορία. Έτσι και πάλι, που αγοράζουμε. Έχουμε εκτελέσει Select, στη συνέχεια, Ένθετο ή ενημέρωση. Τι πρέπει να κάνουμε το επόμενο βήμα; Ποιο είναι το επόμενο ερώτημα θα εκτελέσει όταν πρόκειται να αγοράσετε κάτι; Θέλουμε να παρακολουθείτε την ιστορία. Ναι. ΚΟΙΝΟ: Θέλετε να παρακολουθείτε αποτυχημένων συναλλαγών πάρα πολύ. JASON Hirschhorn: Λοιπόν, πριν ποιο είναι το είδος της συναλλαγής, τι θέλουμε να - Τι τύπο ερωτήματος, Carlos, θα μας επιτρέπουν να παρακολουθείτε πράγματα σε γενικές γραμμές; Έχετε τέσσερις εικασίες. Ποιο από τα δύο νομίζετε; ΚΟΙΝΟ: Επικαιροποίηση. JASON Hirschhorn: Δεν ενημερώσετε. Τι είναι δεύτερη εικασία σας; ΚΟΙΝΟ: Επιλογή. JASON Hirschhorn: Αν θέλετε να κρατήσετε παρακολουθείτε κάτι, πιθανόν να θέλετε να το γράψετε κάπου ή να το αποθηκεύσετε για αργότερα. Έτσι, αν δεν ενημερώσετε, τότε - ΚΟΙΝΟ: Τοποθετήστε αυτό. JASON Hirschhorn: Εισαγωγή, εκεί πάμε. Ναι, έτσι μπορείτε να επιλέξετε το ποσό των μετρητά που έχουν, ακούγεται μεγάλη. Δεν έχουν αρκετά μετρητά. Η πράξη αυτή δεν πρόκειται να λειτουργήσει. Όχι, δεν χρειάζεται να παρακολουθείτε μια συναλλαγή, εάν δεν λειτουργεί. Ή μπορείτε, αν θέλετε να να τους δώσουμε έναν σκληρό χρόνο. Αλλά δεν χρειάζεται να. Στη συνέχεια, μπορείτε να εισαγάγετε ή ενημέρωση στα αποθέματα τραπέζι τους. Και τώρα, έχετε άλλους τραπέζι σας. Έχετε πίνακα ιστορικού σας ή ό, τι θέλετε να το ονομάσετε. Και σε αυτόν τον πίνακα, θα πάμε για να εισαγάγετε μια νέα γραμμή. Αυτό είναι κατά πάσα πιθανότητα πρόκειται να έχουν το αναγνωριστικό του χρήστη. Είναι κατά πάσα πιθανότητα θα έχουν το όνομα του αποθέματος. Είναι κατά πάσα πιθανότητα θα έχουν μια εποχή που το έκαναν. Και σε αυτή την περίπτωση, μπορείτε ll πιθανώς θέλετε να εισαγάγετε την τιμή. Επειδή για μια ιστορία, δεν έχετε νοιάζει ποια είναι η τρέχουσα τιμή είναι. Μπορείτε νοιάζει ποια είναι η τιμή όταν που αγοράζονται ή πωλούνται κάτι. Γι 'αυτό ακούγεται σαν να εφαρμόσουν την αγορά περιλαμβάνει πλήρως ένας αριθμός διαφορετικών Ερωτήματα SQL, Αλλά ειλικρινά, δεν ότι μεγάλο μέρος του κώδικα συνολικά. OK. Και αυτό φροντίζει για την ιστορία. Ας πούμε, θέλουμε να εμφανίσει την ιστορία μας. Μιλήσαμε για την εμφάνιση χαρτοφυλακίου μας. Πώς θα μας εμφανίσει την ιστορία μας; ΚΟΙΝΟ: Προφανώς χρονολογικά. JASON Hirschhorn: Πιθανώς χρονολογικά - ποιο ερώτημα νομίζεις ότι θα χρησιμοποιήσετε; ΚΟΙΝΟ: Μια επίλεκτη. JASON Hirschhorn: Μια επίλεκτη - επιλέξτε ίσως όλες τις γραμμές από τον πίνακα ότι ταιριάζει με το όνομα χρήστη και, στη συνέχεια, εμφανίσει τους χρονολογικά, ακούγεται καλό. Μήπως πρέπει να γράψουμε κώδικα για να ταξινομήσετε μέσω αυτής της λίστας; ΚΟΙΝΟ: Όχι, γιατί σας είπα μας υπάρχει μια αύξουσα και φθίνουσα πράγμα. JASON Hirschhorn: πράγμα; ΚΟΙΝΟ: Ναι. JASON Hirschhorn: Ναι. Εντάξει, δεν γυρίζει στον κώδικα μου, ότι ταξινομεί το χέρι μέσα από τα ερωτήματά σας, να τις ταξινομήσετε. Αυτός ο κώδικας έχει ήδη δοθεί. Μπορείτε να γράψετε ένα ερώτημα επιλογής που ταξινομεί τα πράγματα. Ταξινομήσετε τους εκ των προτέρων και στη συνέχεια να τα εκτυπώσετε. Κάνει πολύ πιο λογικό να κάνουμε αυτόν τον τρόπο, από τον άλλο τρόπο. Ναι. ΚΟΙΝΟ: Μήπως θα πρέπει να ταξινομήσετε τους εκ των προτέρων; Μήπως εννοείτε ότι το είδος τους στη βάση δεδομένων; JASON Hirschhorn: Το ερώτημα επιλογής τους επιστρέφει για να σας ταξινομημένο. Έτσι το κάνουμε αυτό, αντί να τα έχουν λίγο επιστρέψει σε σας σε μια τυχαία σειρά και έπειτα να ταξινομήσετε τον εαυτό τους. Ναι. ΚΟΙΝΟ: Είναι ένας τρόπος για να το κρατήσει εκεί ταξινομημένο στην ίδια τη βάση δεδομένων, έτσι ώστε δεν χρειάζεται να ταξινομήσετε αυτό κάθε φορά που - ΚΟΙΝΟ: Μπορείτε να το τοποθετήσετε ταξινομημένη; JASON Hirschhorn: Ερώτηση - έχει σημασία το ότι τα πράγματα είναι ταξινόμηση στη βάση δεδομένων; ΚΟΙΝΟ: Όχι. JASON Hirschhorn: Λοιπόν, είναι ταξινομημένο. Είναι ταξινομημένες χρονολογικά. Αλλά ας υποθέσουμε ότι τα πράγματα είναι ταξινομημένο χρονολογική σειρά, από πάνω προς τα κάτω. Έχουμε μια μορφή Google. Κάθε φορά που κάποιος ανταποκρίνεται σε Google μας αποτελούν, απλά παίρνει θέσει στο πυθμένα του εν λόγω πίνακα. Έχει σημασία ότι τα πράγματα είναι δεν ταξινομούνται χρονολογικά; ΚΟΙΝΟ: Αν δεν είναι χρονολογική, δεν θα πρέπει να το λύσουμε κάθε φορά πάρετε πληροφορίες έξω. Αλλά αν είναι ήδη ταξινομημένο, δεν μπορείς Δεν πρέπει να κάνουμε αυτό το πρόσθετο κλήση της συνάρτησης; JASON Hirschhorn: Έτσι ώστε να είναι πραγματικά ένα καλό σημείο. Για μας, ως προγραμματιστές, θα μπορούσε να έχει σημασία. Και θα μπορούσαμε να θέλουμε να βρούμε μια βάση δεδομένων ότι δεν τακτοποιήσει τα πράγματα χρονολογικά. Ή δημιουργήσει μία βάση δεδομένων μας, έτσι ώστε να διατηρεί πράγματα διευθετηθεί από την ταυτότητα του χρήστη. Έτσι, με αυτόν τον τρόπο, για παράδειγμα, έχουμε 1.000 ταυτότητες χρηστών. Ή το Facebook, έχουμε εκατομμύρια της ταυτότητας των χρηστών. Δεν θέλουμε τραπέζι μας να είναι μόνο τυχαία ή τη βάση δεδομένων μας για να είναι τυχαία. Θα ήταν ωραίο αν όλα τα ταυτότητες χρηστών ταξινομήθηκαν. Έτσι, τότε θα μπορούσαμε να τρέξουμε δυαδική αναζητήσεις στο τραπέζι μας και στη συνέχεια να βρει ακριβώς το ειδικά το κομμάτι. Ναι λοιπόν, ανάλογα με την - αν αναβαθμιστούν, θα μπορούσαμε να θέλουμε να βρούμε μια βάση δεδομένων ότι διατηρούνται τα πράγματα ταξινόμηση σε μια διαφορετική τρόπο, έτσι ώστε αυτά τα ερωτήματα θα χρειαστεί λιγότερο χρόνο. Και εμείς δεν πρέπει να περάσουν από μας ολόκληρης της βάσης δεδομένων σε κάθε γραμμή σε ένα δεδομένο πίνακα. Αλλά το επίπεδο δουλεύουμε σε, εμείς Δεν χρειάζεται να ανησυχείτε για τη διατήρηση πράγματα διευθετηθεί. Μπορούμε να υποθέσουμε ότι ο χρόνος που χρειάζεται ότι το ερώτημα για να τρέξει πρόκειται να είναι αμελητέα, δεδομένου τι έχουμε να κάνουμε με. Αλλά ναι, μεγάλη ιδέα - όπως μας αναβαθμίσουν, θα μπορούσε να έχει νόημα για το σχεδιασμό μας βάση δεδομένων σε ένα κομμάτι από ένα διαφορετικό τρόπο. Ένα τελευταίο πράγμα σχεδιασμό βάσεων δεδομένων που θέλω να αναφέρω επίσης, επειδή θα σας να κλιμακώνονται, ή μάλλον σκόραρε, για ο σχεδιασμός της βάσης δεδομένων σας. Μιλήσαμε γι 'αυτό. Τα μετρητά είναι μοναδικό για κάθε χρήστη. Έτσι έχετε έναν πίνακα που ονομάζεται μετρητά που έχει αναγνωριστικό χρήστη τους και το ύψος τους μετρητά και στη συνέχεια ένα πίνακα που ονομάζεται Οι χρήστες που έχει το χρήστη τους ID και το username τους. Οι πίνακες αυτοί χάρτη πάνω σε κάθε άλλα ένα-προς-ένα. Είναι ίσως λογικό για να είναι ένα τραπέζι. Έτσι, ας υποθέσουμε ότι έχετε ένα χρήστη πίνακα που παρακολουθεί την πορεία των τα ονόματα χρήστη και τα μετρητά. Τώρα έχετε έναν πίνακα που έχει η αποθέματα ένα άτομο κατέχει. Και ένα άτομο μπορεί να κατέχει περισσότερα από ένα χρηματιστήρια. Έτσι, αυτά δεν αντιστοιχούν στο κάθε άλλο ένα-προς-ένα. Δεν έχει νόημα να έχουμε ένα γιγάντιο πίνακα που έχει 30 εγγραφές που όλα επαναλάβετε ένα όνομα χρήστη, ότι όλα Επαναλαμβάνω έναν κωδικό πρόσβασης, ότι όλα επαναλάβει μια σειρά από μετρητά. Αλλά ο καθένας έχει ίσως μια διαφορετική απόθεμα όνομα ή μια διαφορετική τιμή της μετοχής. Δεν έχει νόημα να έχει ότι πολλά μεγάλα αρχεία. Να είστε έξυπνοι σχετικά με το πότε μπορείτε να δημιουργήσετε αυτά τα βάσεις δεδομένων, έτσι ώστε να μην κάνουν κάτι ανόητο, όπως ότι, επαναλαμβάνοντας πολλές περιττές πληροφορίες. OK. Έχουμε δύο λεπτά. Οι άνθρωποι έξω είναι ενθουσιασμένοι για να ενταχθούν μας ή μάλλον, προφανώς, ξεκινήσουν τη δική τους τάξη. Μήπως κάποιος έχει απορίες πριν τελειώσουμε; Εντάξει, αυτό ήταν πράγματι ένας ανεμοστρόβιλος μέσα από τα πάντα. Ζητώ συγγνώμη που θα έπρεπε να είναι τόσο γρήγορη και ότι δεν μπορούμε να είμαστε ως hands-on αυτή την εβδομάδα, όπως θα ήθελα να έχω άρεσε να ήταν. Αλλά εάν έχετε οποιαδήποτε απορία σχετικά με κάτι που πήγε πάνω ή τίποτα αυτό το πρόβλημα που - τεκμαίροντας έχετε διαβάσει και να θέσει σε μια προσπάθεια καλής πίστης - διστάσετε να μου στείλετε email ή να επικοινωνήσετε μαζί μου. Είμαι περισσότερο από ευτυχής να εργαστούν μέσω κώδικα μαζί σας ή να απαντήσετε σε οποιαδήποτε ερωτήσεις που έχετε. Λάβετε υπόψη ότι, αυτή την εβδομάδα, πολλά το χρόνο σας θα δαπανηθούν την εκμάθηση της νέα σύνταξη και προσπαθεί να κατανοήσει πώς να γράψει ερωτήματα SQL και PHP λειτουργίες ή να ασχοληθεί με ένα πλαίσιο MVC. Ένα μέρος του χρόνου σας αυτή την εβδομάδα κατά πάσα πιθανότητα Δεν θα προσπαθώ να καταλάβω το τρελή λογική ότι είμαστε σας ζητά να κάνετε. Πολλά από αυτά που μόλις πήγε πάνω είναι σχετικά απλή. Έτσι, αυτό δεν σημαίνει ότι περιμένει μέχρι την τελευταία στιγμή. Αλλά αυτό δεν σημαίνει προσαρμόσετε τον τρόπο που κάνετε σας εργαστούν αναλόγως, για να βεβαιωθείτε ότι είστε κατανόηση και εκμάθηση της σύνταξης. Έτσι, δεν είστε, ξαφνικά, γνωρίζοντας ακριβώς ό, τι θέλετε να κάνετε, αλλά με καμία ιδέα για το πώς να ακριβώς το γράψω. Εντάξει, θα σας δω την επόμενη εβδομάδα.