1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Malan: Εντάξει, είμαστε πίσω. 3 00:00:01,560 --> 00:00:03,830 Έτσι, για το συναρπαστικό Συμπερασματικά, το τελευταίο τμήμα μας 4 00:00:03,830 --> 00:00:06,900 σε web προγραμματισμό, την οποία νομίζαμε ότι θα χρησιμοποιήσετε ως γενικός όρος 5 00:00:06,900 --> 00:00:08,440 να συλλάβει μερικές υπόλοιπα θέματα. 6 00:00:08,440 --> 00:00:10,390 Έτσι, στο τέλος της ημέρα, εμείς θα το κάνουμε πραγματικότητα 7 00:00:10,390 --> 00:00:14,830 λίγο τα χέρια-για web προγραμματισμό με μια γλώσσα που ονομάζεται JavaScript. 8 00:00:14,830 --> 00:00:17,510 Και νομίζω ότι θα ρίξουμε μια ματιά σε κάτι που σχετίζονται με εικόνες 9 00:00:17,510 --> 00:00:20,040 και να ανακαλύψετε κάτι κρυφά κρυμμένα σε μια εικόνα, 10 00:00:20,040 --> 00:00:23,230 και, επίσης, ρίξτε μια ματιά στο Google API Χαρτών, προγραμματισμού εφαρμογών 11 00:00:23,230 --> 00:00:26,040 interface, ως κάτι εκπρόσωπος του τύπου του λογισμικού 12 00:00:26,040 --> 00:00:28,800 αυτό είναι όλο και ελεύθερα διαθέσιμο σήμερα. 13 00:00:28,800 --> 00:00:32,029 >> Αλλά γιατί να μην ρίξουμε μια ματιά σε ένα συστατικό για αυτόν τον κόσμο 14 00:00:32,029 --> 00:00:34,070 ότι έχουμε το είδος της ήταν λαμβάνοντας ως δεδομένο υπάρχει 15 00:00:34,070 --> 00:00:36,720 για κάποιο χρονικό διάστημα, μια βάση δεδομένων. 16 00:00:36,720 --> 00:00:39,150 Για την τελευταία ημέρα και ένα μισό που έχουμε αναλάβει 17 00:00:39,150 --> 00:00:42,910 ότι έχουμε πρόσβαση σε μια βάση δεδομένων, αλλά τι πρόβλημα λύνει μια βάση δεδομένων; 18 00:00:42,910 --> 00:00:45,540 Τι κάνει για μας; 19 00:00:45,540 --> 00:00:47,030 Τι είναι αυτό? 20 00:00:47,030 --> 00:00:48,679 >> Κοινό: [δεν ακούγεται] 21 00:00:48,679 --> 00:00:51,720 DAVID Malan: Συγκρατεί όλες τις πληροφορίες, Εντάξει, και τι είδους πληροφορίες 22 00:00:51,720 --> 00:00:53,186 μπορεί να σας βάλει σε αυτό; 23 00:00:53,186 --> 00:00:54,590 >> Κοινό: [δεν ακούγεται] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Malan: Όλες οι πληροφορίες βάζετε σε αυτό, θα πάρετε πίσω. 25 00:00:56,450 --> 00:00:57,070 Αυτό είναι αλήθεια. 26 00:00:57,070 --> 00:01:01,900 Και σε ένα τυπικό web-based ιστοσελίδα ή web εφαρμογή, ποια είδη πληροφοριών, 27 00:01:01,900 --> 00:01:03,385 Συγκεκριμένα, μπορεί να σας βάλει μέσα; 28 00:01:03,385 --> 00:01:04,260 Κοινό: [δεν ακούγεται] 29 00:01:04,260 --> 00:01:05,051 DAVID Malan: Χρήστες. 30 00:01:05,051 --> 00:01:07,000 Έτσι τι είναι ο χρήστης; 31 00:01:07,000 --> 00:01:09,765 >> Κοινό: [δεν ακούγεται] 32 00:01:09,765 --> 00:01:11,640 DAVID Malan: OK, η οποία καταχωρήθηκε χρήστης της ιστοσελίδας. 33 00:01:11,640 --> 00:01:15,100 Και τι σημαίνει αυτό για πληροφορίες των χρηστών καταστήματος; 34 00:01:15,100 --> 00:01:17,260 Τι συνθέτει ένα χρήστη; 35 00:01:17,260 --> 00:01:18,331 Ένας χρήστης έχει τι; 36 00:01:18,331 --> 00:01:19,206 Κοινό: [δεν ακούγεται] 37 00:01:19,206 --> 00:01:21,040 DAVID Malan: Ναι, τα προσωπικά δεδομένων, και μου αρέσει αυτό. 38 00:01:21,040 --> 00:01:21,970 Ας είμαστε πιο ακριβείς. 39 00:01:21,970 --> 00:01:25,275 Έτσι ένας χρήστης έχει τυπικά ένα όνομα, τι άλλο θα μπορούσε ένας χρήστης να έχει; 40 00:01:25,275 --> 00:01:26,150 Κοινό: [δεν ακούγεται] 41 00:01:26,150 --> 00:01:29,130 DAVID Malan: Μια addr-- OK, έτσι το όνομα, το επώνυμο. 42 00:01:29,130 --> 00:01:29,630 Αυτό είναι καλό. 43 00:01:29,630 --> 00:01:31,463 Στην πραγματικότητα, ας καθορίσει ότι, επειδή πρόκειται 44 00:01:31,463 --> 00:01:35,010 να ανοίξει μια ευκαιρία για συζήτηση, ακόμη, περαιτέρω. 45 00:01:35,010 --> 00:01:39,090 Όνομα, επώνυμο, φύλο. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 Μια ταυτότητα κάποιου είδους. 48 00:01:43,481 --> 00:01:43,980 Τι άλλο? 49 00:01:43,980 --> 00:01:45,438 Άκουσα κάτι άλλο πριν, πάρα πολύ. 50 00:01:45,438 --> 00:01:51,600 Ένα μήνυμα ηλεκτρονικού ταχυδρομείου, ταχυδρομική διεύθυνση. 51 00:01:51,600 --> 00:01:58,170 >> Ας παύση εκεί και τώρα να εξετάσει δεν είναι αυτό που είμαστε αποθήκευση στη βάση δεδομένων, 52 00:01:58,170 --> 00:02:01,980 but-- και γιατί όχι, δεδομένου ότι είναι ίσως προφανές ότι τη στιγμή που θα εγγραφείτε σε ένα χρήστη, 53 00:02:01,980 --> 00:02:03,730 θέλετε να τους θυμόμαστε για κάποιο χρονικό διάστημα. 54 00:02:03,730 --> 00:02:05,480 Δεν το θέλουν να απλά να αποθηκεύονται στη μνήμη RAM 55 00:02:05,480 --> 00:02:08,690 και να forgotten-- έτσι ας επικεντρωθούμε στο πώς. 56 00:02:08,690 --> 00:02:11,700 >> Αποδεικνύεται ότι σε ο κόσμος των βάσεων δεδομένων, 57 00:02:11,700 --> 00:02:14,410 υπάρχει τουλάχιστον δύο τύπους αυτές τις μέρες. 58 00:02:14,410 --> 00:02:20,010 Κάτι που ονομάζεται μια βάση δεδομένων SQL, Structured Query Language, 59 00:02:20,010 --> 00:02:24,770 ή, cutely το όνομα, NoSQL, η οποία δεν είναι SQL. 60 00:02:24,770 --> 00:02:26,980 Και αυτός είναι παράδειγμα του τι θα μπορούσε 61 00:02:26,980 --> 00:02:30,660 να ονομάζεται ένα αντικείμενο με προσανατολισμό, ή ένα κατάστημα αντικείμενο, μια βάση δεδομένων 62 00:02:30,660 --> 00:02:36,010 ότι αποθηκεύει τα αντικείμενα, και όχι, δικαιολογία μένα, όπως θα δούμε σύντομα, σειρές. 63 00:02:36,010 --> 00:02:41,800 >> Έτσι, θα επικεντρωθούμε μόνο για μια στιγμή Η πρώτη από αυτές, δηλαδή, ένα SQL 64 00:02:41,800 --> 00:02:46,850 βάση δεδομένων, έστω και μόνο επειδή είναι τόσο εξοικειωμένοι ήδη, σε κανέναν 65 00:02:46,850 --> 00:02:51,070 που έχει χρησιμοποιήσει το Excel ή Φύλλα Google ή της Apple 66 00:02:51,070 --> 00:02:53,740 Αριθμούς ή οποιοδήποτε πρότυπο πρόγραμμα υπολογιστικών φύλλων, 67 00:02:53,740 --> 00:02:56,040 ή, ισοδύναμα, ή περισσότερα sophisticatedly, 68 00:02:56,040 --> 00:02:58,610 κάτι σαν τη Microsoft Access ή Oracle 69 00:02:58,610 --> 00:03:03,890 ή MySQL ή PostgreSQL, το σύνολο των οποίων είναι τα ονόματα των προϊόντων για εφαρμογές 70 00:03:03,890 --> 00:03:04,865 από τα ακόλουθα ιδέα. 71 00:03:04,865 --> 00:03:10,350 >> Μια σχεσιακή βάση δεδομένων είναι απλά κάτι που έχει γραμμές και στήλες. 72 00:03:10,350 --> 00:03:12,850 Και από γραμμές και στήλες, Εννοώ κυριολεκτικά κάτι 73 00:03:12,850 --> 00:03:21,860 όπως αυτό, έτσι ώστε όταν θα μπορούσε να έχει η το όνομα ενός πεδίου και τον τύπο του εδώ. 74 00:03:21,860 --> 00:03:25,800 Και στην πραγματικότητα, επιτρέψτε μου τώρα αρχίζουν να χαρτογραφήσει αυτά. 75 00:03:25,800 --> 00:03:29,420 Έτσι, στην πραγματικότητα, δεν ξέρω Γι 'αυτό επέστησε ένα ξεχωριστό γράφημα. 76 00:03:29,420 --> 00:03:30,780 Ας κρατήσουμε αυτό το απλό. 77 00:03:30,780 --> 00:03:34,830 >> Έχουμε εδώ το απαρχές της τραπέζι μας, όπου 78 00:03:34,830 --> 00:03:40,150 αυτό είναι το όνομα του πεδίου και αυτό είναι το είδος των δεδομένων, 79 00:03:40,150 --> 00:03:41,660 και με βάση το είδος εννοώ το εξής. 80 00:03:41,660 --> 00:03:45,510 Είναι ένας αριθμός, είναι ένα string, μια μικρή κλωστή, όπως μια λέξη, 81 00:03:45,510 --> 00:03:49,340 είναι μια σκέψη, είναι δυαδικά δεδομένα, όπως μια εικόνα; 82 00:03:49,340 --> 00:03:51,980 Και ας δώσουμε έμφαση αυτή εκτός για μια στιγμή. 83 00:03:51,980 --> 00:03:57,575 Έτσι, το όνομα, τον αριθμό, string, μεγάλο κομμάτι της text-- 84 00:03:57,575 --> 00:03:58,450 Κοινό: [δεν ακούγεται] 85 00:03:58,450 --> 00:03:59,616 DAVID Malan: Ναι, έτσι εγχόρδων. 86 00:03:59,616 --> 00:04:04,744 Και σε ένα πλαίσιο δεδομένων, που θα συνήθως ονομάζουμε αυτό το πεδίο char. 87 00:04:04,744 --> 00:04:07,660 Θα πω μόνο char για τώρα, αλλά είμαστε πρόκειται να βελτιώσετε αυτό σε μια στιγμή. 88 00:04:07,660 --> 00:04:09,180 πεδίο χαρακτήρα. 89 00:04:09,180 --> 00:04:11,365 Επώνυμο είναι πιθανώς το ίδιο. 90 00:04:11,365 --> 00:04:11,865 Γένος? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Άνδρες ή γυναίκες, έτσι ώστε να θα μπορούσε να είναι ένα πεδίο char. 93 00:04:18,310 --> 00:04:21,380 Θα μπορούσε να είναι είτε το απόσπασμα, unquote «Αρσενικό» ή απόσπασμα, εισαγωγικά "θηλυκό" 94 00:04:21,380 --> 00:04:23,650 ή θα μπορούσε να είναι m ή f. 95 00:04:23,650 --> 00:04:26,540 Αν θέλετε να είναι πιο περιεκτική, ίσως χρειαστεί ένα τρίτο τιμή 96 00:04:26,540 --> 00:04:28,640 ή κάποιο είδος άλλο τομέα συνολικά. 97 00:04:28,640 --> 00:04:31,350 Και έτσι θα μπορούσατε να χρησιμοποιήσετε αλήθεια ψευδείς. 98 00:04:31,350 --> 00:04:35,036 Το πεδίο θα μπορούσε να ονομαστεί αρσενικό, και τότε θα μπορούσαμε να πούμε αληθείς ή ψευδείς. 99 00:04:35,036 --> 00:04:38,160 Αλλά αυτό δεν σημαίνει απαραίτητα συλλάβει όλες τις πληροφορίες που μπορεί να θέλετε. 100 00:04:38,160 --> 00:04:41,118 >> Έτσι αποδεικνύεται ότι υπάρχει ένας άλλος τύπος του πεδίου που θα μπορούσαν να είναι χρήσιμα εδώ 101 00:04:41,118 --> 00:04:46,040 σε ένα τυπικό βάση δεδομένων, που ονομάζεται enum, όπου είναι ένα πεδίο χαρακτήρα, 102 00:04:46,040 --> 00:04:50,480 αλλά εσείς, ο σχεδιαστής, για να πάρετε απαριθμήσει τις πιθανές τιμές, 103 00:04:50,480 --> 00:04:54,630 όπως παραθέτω, εισαγωγικά "αρσενικό", απόσπασμα, εισαγωγικά "γυναικεία" και ούτω καθεξής. 104 00:04:54,630 --> 00:04:57,620 Έτσι ώστε ανεξάρτητα από την αξία είναι στη βάση δεδομένων σας, 105 00:04:57,620 --> 00:05:00,670 Είναι πράγματι βασίζονται σε χαρακτήρες, αλλά θα πρέπει να είναι μία από αυτές τις τιμές. 106 00:05:00,670 --> 00:05:03,520 Εμείς μάλλον δεν θα ήθελε ένα enum για το όνομα ή το επώνυμο. 107 00:05:03,520 --> 00:05:05,630 Διαφορετικά θα είχαμε να απαριθμήσει, όπως το όνομα 108 00:05:05,630 --> 00:05:09,570 προέρχεται από, κυριολεκτικά κάθε δυνατό όνομα και επώνυμο. 109 00:05:09,570 --> 00:05:13,960 >> Εντάξει, έτσι ID τι θα πρέπει να είναι ένα αναγνωριστικό; 110 00:05:13,960 --> 00:05:15,200 Ναι, έτσι ίσως ένας αριθμός. 111 00:05:15,200 --> 00:05:17,870 Έτσι, ας κολλήσει με ότι προς το παρόν, ο αριθμός. 112 00:05:17,870 --> 00:05:22,010 Και από τον αριθμό, τον αριθμό είναι λίγο πολύ ευρεία τώρα. 113 00:05:22,010 --> 00:05:23,900 Για το τέλος της δεύτερης μέρα, νιώθω σαν να είμαστε 114 00:05:23,900 --> 00:05:25,280 θα πρέπει να είναι λίγο πιο ακριβή. 115 00:05:25,280 --> 00:05:29,280 Αριθμός θα μπορούσε να σημαίνει, όπως, το θα μπορούσε να είναι κάτι σαν 1.236. 116 00:05:29,280 --> 00:05:31,500 Και αυτό δεν είναι πιθανόν να τι εννοούμε με ένα αναγνωριστικό. 117 00:05:31,500 --> 00:05:34,635 Τι ίσως να σημαίνει από ένα αναγνωριστικό; 118 00:05:34,635 --> 00:05:36,382 >> Κοινό: [δεν ακούγεται] 119 00:05:36,382 --> 00:05:38,590 DAVID Malan: Ω, εντάξει, έτσι ίσως δεν είναι ακόμη ένας αριθμός. 120 00:05:38,590 --> 00:05:42,840 Ίσως είναι πραγματικά ένα μοναδικό αναγνωριστικό αυτό είναι ένα string, όπως ένα όνομα χρήστη. 121 00:05:42,840 --> 00:05:44,580 Έτσι απολύτως, θα μπορούσε να είναι. 122 00:05:44,580 --> 00:05:46,730 Νομίζω ότι κάποιος ίσως σήμαινε αριθμητική, όμως. 123 00:05:46,730 --> 00:05:48,460 Ας μείνει με αυτό. 124 00:05:48,460 --> 00:05:49,320 Τι είδους αριθμό; 125 00:05:49,320 --> 00:05:51,960 Τι είναι πιο precise-- έναν ακέραιο. 126 00:05:51,960 --> 00:05:56,710 Έτσι ένας αριθμός όπως 0, 1, 2, 3, έτσι θα καλέσετε αυτό ένας ακέραιος. 127 00:05:56,710 --> 00:05:58,909 Και ακόμα και τότε, θα μπορούσα να nitpicking, είναι 128 00:05:58,909 --> 00:06:00,700 δεν είναι πραγματικά ακριβώς ένα γενικές ακέραιο θέλετε. 129 00:06:00,700 --> 00:06:04,340 Πιθανότατα δεν θέλουν αρνητικές τιμές, μόνο και μόνο επειδή, ακριβώς αισθάνεται περίεργα. 130 00:06:04,340 --> 00:06:06,070 Θέλετε πιθανώς θετικών ακεραίων. 131 00:06:06,070 --> 00:06:07,920 Έτσι, μπορείτε επίσης να εκφράσει ότι σε μια βάση δεδομένων, 132 00:06:07,920 --> 00:06:09,450 αλλά για τώρα, εμείς θα πούμε ακέραιο. 133 00:06:09,450 --> 00:06:10,650 >> E-mail? 134 00:06:10,650 --> 00:06:13,550 Αυτό είναι πιθανώς just-- τι; 135 00:06:13,550 --> 00:06:14,460 >> Κοινό: [δεν ακούγεται] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Malan: Είναι ένα μήνυμα ηλεκτρονικού ταχυδρομείου, αλλά αυτό είναι χαρακτήρες, σωστά; 137 00:06:16,980 --> 00:06:19,813 Έχει μόνο ένα funky χαρακτήρα, όπως ένας "σε" σύμβολο ή κάτι άλλο, 138 00:06:19,813 --> 00:06:21,580 αλλά είναι ακόμα ένα πεδίο χαρακτήρα. 139 00:06:21,580 --> 00:06:23,900 Και ταχυδρομική διεύθυνση; 140 00:06:23,900 --> 00:06:25,360 πεδίο χαρακτήρα. 141 00:06:25,360 --> 00:06:31,400 Έτσι, αυτό είναι ένα ωραίο ξεκίνημα, αλλά ας είμαστε λίγο πιο ακριβείς τώρα. 142 00:06:31,400 --> 00:06:34,540 >> Έτσι αποδεικνύεται ότι το μια βάση δεδομένων, που συχνά 143 00:06:34,540 --> 00:06:39,120 έχουν τη δυνατότητα επιλογής πάνω από πιο εκλεπτυσμένη εκδόσεις από αυτά τα πράγματα. 144 00:06:39,120 --> 00:06:44,330 Στην πραγματικότητα, σε ένα τυπικό βάση δεδομένων SQL, SQL, ή γενικότερα, σχεσιακή βάση δεδομένων, 145 00:06:44,330 --> 00:06:46,680 βάσεις δεδομένων με σειρές και στήλες, που συχνά 146 00:06:46,680 --> 00:06:53,610 έχετε να καθορίζει όχι μόνο το είδος της field-- επιτρέψτε μου να κάνω κάποια here-- δωμάτιο 147 00:06:53,610 --> 00:06:56,600 αλλά και το μήκος. 148 00:06:56,600 --> 00:06:59,900 >> Έτσι, πόσο καιρό είναι ένα όνομα; 149 00:06:59,900 --> 00:07:07,060 Νομίζω, D-Α-V-Ι-D. Εντάξει, το πήρα εγώ πιθανώς ακριβώς προσβεβλημένος σαν μισό 150 00:07:07,060 --> 00:07:11,260 από τους ανθρώπους στην αίθουσα, δεξιά, δεδομένου ότι τα ονόματά σας είναι περισσότερο από πέντε 151 00:07:11,260 --> 00:07:16,608 γράμματα, έτσι πέντε φαίνεται λίγο εγωιστικό και αφελείς, έτσι τι είναι μια καλύτερη τιμή; 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, εντάξει, και νομίζω είμαστε OK σε ένα δωμάτιο. 154 00:07:24,330 --> 00:07:26,254 13; 155 00:07:26,254 --> 00:07:27,541 30; 156 00:07:27,541 --> 00:07:29,540 Γιατί δεν μπορώ να πάρω το προσέγγιση των προηγούμενων όταν 157 00:07:29,540 --> 00:07:31,081 μιλούσαν για συστοιχίες και τη μνήμη; 158 00:07:31,081 --> 00:07:32,450 Γιατί δεν μπορώ να πω σαν 1.000; 159 00:07:32,450 --> 00:07:35,260 Το όνομά Κανείς δεν πρόκειται να είναι μεγαλύτερη από 1.000. 160 00:07:35,260 --> 00:07:36,706 Απωθώ. 161 00:07:36,706 --> 00:07:38,005 >> Κοινό: [δεν ακούγεται] 162 00:07:38,005 --> 00:07:40,130 DAVID Malan: Ναι, είναι σπάταλο, δεξιά, ιδιαίτερα 163 00:07:40,130 --> 00:07:44,630 αν οι περισσότεροι ονόματα είναι μόνο πέντε ή 10 ή 15 χαρακτήρες, ότι είναι πολύ σπάταλη. 164 00:07:44,630 --> 00:07:45,810 Έτσι, ξέρετε τι; 165 00:07:45,810 --> 00:07:48,020 Αυτό είναι το είδος της μια δύσκολη ερώτηση. 166 00:07:48,020 --> 00:07:51,721 Τώρα, μπορούμε βεβαίως να αναλύσουμε αγγλικά και τα ονόματα οποιαδήποτε άλλη γλώσσα της 167 00:07:51,721 --> 00:07:54,470 και να καταλάβω, καλά, ποια είναι η average-- μέσο όρο δεν έχει πραγματικά 168 00:07:54,470 --> 00:07:57,150 βοηθήσει ΕΜΕΙΣ-- ποια είναι η max είναι ίσως ό, τι θέλουμε πραγματικά. 169 00:07:57,150 --> 00:07:59,920 Αλλά αποδεικνύεται έχουμε ακόμη κάποια επιλογή για τον τύπο εδώ. 170 00:07:59,920 --> 00:08:03,400 >> Σε μια τυπική βάση δεδομένων SQL, μπορείτε έχουν κάτι που ονομάζεται χαρα τομέα 171 00:08:03,400 --> 00:08:07,505 και επίσης μια varchar, V-A-R, για τη μεταβλητή πεδίο char. 172 00:08:07,505 --> 00:08:08,630 Και η διαφορά είναι αυτό. 173 00:08:08,630 --> 00:08:12,400 Ένα πεδίο char, που ο σχεδιαστής, πρέπει να προσδιορίζουν εκ των προτέρων 174 00:08:12,400 --> 00:08:14,900 το ακριβές μήκος του πεδίου. 175 00:08:14,900 --> 00:08:20,530 Έτσι, ίσως το πρώτο όνομα όπως 20 αισθάνεται είδος ασφαλής. 176 00:08:20,530 --> 00:08:23,950 Μπορεί να χρειαστεί να κάνετε κάποια googling να να δούμε αν αυτό είναι αρκετό πραγματικά ασφαλής. 177 00:08:23,950 --> 00:08:26,910 Υπάρχει πιθανώς ένα όνομα με 21 χαρακτήρες, αλλά για τώρα, ας υποθέσουμε 20 178 00:08:26,910 --> 00:08:27,620 είναι ασφαλές. 179 00:08:27,620 --> 00:08:30,070 >> Ένα πεδίο char θα σήμαινε σε μια βάση δεδομένων που 180 00:08:30,070 --> 00:08:33,289 είναι με τη χρήση 20 και πάντα 20 χαρακτήρες. 181 00:08:33,289 --> 00:08:37,419 Τώρα αν είναι μόνο D-Α-V-Ι-Α, 15 από αυτούς είναι ακριβώς πρόκειται να είναι κενό χαρακτήρες, 182 00:08:37,419 --> 00:08:40,450 αλλά είστε ακόμα χρησιμοποιώντας όλα τα 20 bytes. 183 00:08:40,450 --> 00:08:46,302 Ένα πεδίο varchar, αντιθέτως, σημαίνει ότι η χορδή πρέπει να είναι μέχρι 20 χαρακτήρες 184 00:08:46,302 --> 00:08:48,260 αλλά αν είναι μόνο πέντε, είστε μόνο πρόκειται να χρησιμοποιήσετε 185 00:08:48,260 --> 00:08:51,270 πέντε, ή ίσως έξι για ένα ιδιαίτερη αξία στο τέλος, 186 00:08:51,270 --> 00:08:54,980 όπως εκείνο 0 συζητήσαμε ότι σημαίνει το τέλος ενός χαρακτήρα 187 00:08:54,980 --> 00:08:56,790 ακολουθία στη μνήμη. 188 00:08:56,790 --> 00:08:59,950 >> Έτσι, όταν νομίζετε ότι μπορείτε να επιλέξετε char 189 00:08:59,950 --> 00:09:05,240 έναντι varchar, δεδομένου ότι το εμπόριο-off; 190 00:09:05,240 --> 00:09:09,321 Χαρ χρησιμοποιεί ότι πολλοί χαρακτήρες, varchar δεν χρησιμοποιεί περισσότερο από ότι πολλοί χαρακτήρες. 191 00:09:09,321 --> 00:09:10,196 Κοινό: [δεν ακούγεται] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Malan: OK, όταν ξέρεις το το μήκος του string αρκετά συναρπαστικό 194 00:09:16,900 --> 00:09:19,316 να χρησιμοποιήσετε μόνο char, γιατί αν το ξέρεις, απλά να το βάλετε κάτω. 195 00:09:19,316 --> 00:09:23,390 Και ίσως αυτό είναι αλήθεια για ένα φερμουάρ κώδικα, στις ΗΠΑ, τουλάχιστον, 02138, 196 00:09:23,390 --> 00:09:26,660 αυτό είναι πάντα θα είναι πέντε χαρακτήρες μέχρι να προσθέσετε την παύλα τέσσερις. 197 00:09:26,660 --> 00:09:29,750 Αλλά μπορεί να έχετε κάποιες τιμές για που ξέρεις πάντα το μήκος. 198 00:09:29,750 --> 00:09:32,310 Ή ίσως κρατικά σύμβολα, όπως NY για τη Νέα Υόρκη, 199 00:09:32,310 --> 00:09:33,811 και MA για Μασαχουσέτης στις ΗΠΑ. 200 00:09:33,811 --> 00:09:36,560 Ίσως έχετε κάποιες καταστάσεις όπου αυτό είναι απολύτως λογικό, 201 00:09:36,560 --> 00:09:39,520 αλλά με αυτή τη λογική, γιατί είναι έχουμε ακόμη overthinking αυτό; 202 00:09:39,520 --> 00:09:41,800 Γιατί δεν μπορούμε απλά να χρησιμοποιήσετε varchar και στη συνέχεια απλά θα 203 00:09:41,800 --> 00:09:46,730 χρησιμοποιείτε πάντα δύο χαρακτήρες ούτως ή άλλως, ή χρησιμοποιείτε πάντα πέντε χαρακτήρες ούτως ή άλλως; 204 00:09:46,730 --> 00:09:50,300 Γιατί δεν είναι μόνο να σώσει varchar για τα πάντα, από τη λογική; 205 00:09:50,300 --> 00:09:51,677 Πρέπει να υπάρχει μια παγίδα. 206 00:09:51,677 --> 00:09:52,552 Κοινό: [δεν ακούγεται] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Malan: Θα μπορούσε γράψω κάτι λάθος. 209 00:09:56,660 --> 00:09:58,090 Έτσι, αυτό είναι αλήθεια. 210 00:09:58,090 --> 00:10:01,030 Αλλά ακόμα και τότε, δεν μπορούν να χρησιμοποιήσουν περισσότερη μνήμη από ό, τι διαθέτουμε. 211 00:10:01,030 --> 00:10:03,340 Έχω ακόμα την τελική δηλαδή πάνω από το μήκος, 212 00:10:03,340 --> 00:10:06,780 έτσι ώστε να μην μπορεί κατά λάθος να αυτό το λάθος, αλλά μια καλή σκέψη. 213 00:10:06,780 --> 00:10:10,510 Είναι πιο λεπτές, αλλά είναι πολύ σχετικές στη συζήτησή μας, στην πραγματικότητα, των συστοιχιών 214 00:10:10,510 --> 00:10:12,390 και συνδεδεμένες λίστες νωρίτερα. 215 00:10:12,390 --> 00:10:16,290 >> Αποδεικνύεται ότι μια βάση δεδομένων, εάν γνωρίζει ότι όλες οι τιμές είναι 216 00:10:16,290 --> 00:10:19,250 ενός σταθερού μήκους, ακόμη και εάν ορισμένες από αυτές τις τιμές είναι κενό, 217 00:10:19,250 --> 00:10:22,484 είδος αισθητικά κενό, D-A-V-I-D και στη συνέχεια 15 κενά, 218 00:10:22,484 --> 00:10:24,650 αποδεικνύεται ότι αν κάθε πεδίο είναι το ίδιο μήκος, 219 00:10:24,650 --> 00:10:28,670 σαν μια σειρά είχε όλα του τα πράγματά του πλάτη με πλάτη με πλάτη με πλάτη, έτσι ώστε 220 00:10:28,670 --> 00:10:33,480 θα μπορούσατε απλά συν 1 για να φτάσουμε στην επόμενη αξία, ίδια ιδέα σε έναν πίνακα βάσης δεδομένων. 221 00:10:33,480 --> 00:10:37,550 Αν όλα του χαρακτήρα σας χορδές είναι το ίδιο μήκος, 222 00:10:37,550 --> 00:10:39,390 Έχετε ό, τι λέγεται τυχαίας προσπέλασης. 223 00:10:39,390 --> 00:10:41,850 Εάν όλες οι χορδές είναι μήκους 20, δεν το κάνετε μόνο 224 00:10:41,850 --> 00:10:45,230 κάνει συν 1 απλά κάνει συν 20, συν 20 συν 20 συν 20, 225 00:10:45,230 --> 00:10:48,775 και μπορείτε πολύ γρήγορα κύλιση ή αναζήτηση μέσω όλων των δεδομένων σας. 226 00:10:48,775 --> 00:10:54,420 >> Μια μεταβλητή πεδίο char, αντιθέτως, δεν έχει πάντα 20 χαρακτήρες. 227 00:10:54,420 --> 00:10:58,000 Θα μπορούσε να έχει 20 και, στη συνέχεια, 15 και στη συνέχεια 19 και στη συνέχεια 10, 228 00:10:58,000 --> 00:11:00,720 και έτσι αν θέλετε να αναζητήσετε μέσα από αυτό, δεν μπορείτε απλά τυφλά 229 00:11:00,720 --> 00:11:03,050 προσθέστε 20 bytes για να φτάσουμε στην επόμενη. 230 00:11:03,050 --> 00:11:07,280 Μπορείτε κυριολεκτικά να ψάξετε μέσα επειδή το άκρο της δομής των δεδομένων, 231 00:11:07,280 --> 00:11:08,340 αν θέλετε, είναι τραχύς. 232 00:11:08,340 --> 00:11:11,480 Το είδος του πηγαίνει μέσα και έξω με βάση σχετικά με το πραγματικό μήκος της συμβολοσειράς. 233 00:11:11,480 --> 00:11:14,460 Έτσι, όταν ξέρεις το μήκος, όπως Kareem λέει, χρησιμοποιήστε ένα πεδίο char, 234 00:11:14,460 --> 00:11:16,460 γιατί μπορείτε να αποκτήσετε ότι αποτελεσματικότητα της ύπαρξης 235 00:11:16,460 --> 00:11:19,170 μπορείτε να αναζητήσετε μέσα από αυτό πιο γρήγορα όταν ψάχνετε για τα δεδομένα σας, 236 00:11:19,170 --> 00:11:20,550 άλλο τρόπο να χρησιμοποιήσετε μια μεταβλητή. 237 00:11:20,550 --> 00:11:24,450 >> Δυστυχώς, δεν έχω καμία καλή απάντηση για πόσο καιρό το όνομα θα πρέπει να είναι, 238 00:11:24,450 --> 00:11:26,360 αλλά για κάτι τέτοιο ένα όνομα, θα έλεγα 239 00:11:26,360 --> 00:11:28,470 μια varchar είναι κοινή γιατί δεν πρόκειται 240 00:11:28,470 --> 00:11:30,430 να είναι ένα σταθερό μήκος για όλους. 241 00:11:30,430 --> 00:11:33,650 20, δεν ξέρω, 20 αισθάνεται λίγο σφιχτό. 242 00:11:33,650 --> 00:11:36,460 Ας πούμε 50, 50. 243 00:11:36,460 --> 00:11:39,210 Δεν πραγματικά σας κοστίσει ότι πολύ περισσότερο να πω 50 αντί για 40, 244 00:11:39,210 --> 00:11:41,260 αλλά σε κάποιο σημείο, θα πρέπει να έχετε για να κάνει μια κλήση κρίσης. 245 00:11:41,260 --> 00:11:43,090 >> Πολύ συχνές, ειλικρινά, για [? ιστορικός ?] 246 00:11:43,090 --> 00:11:47,670 λόγους, ακόμα κι αν είναι υπερβολική, δηλαδή 255, επειδή πριν από λίγο καιρό, 247 00:11:47,670 --> 00:11:51,440 στη δημοφιλή συστήματα βάσεων δεδομένων, όπως MySQL, ένα δωρεάν εργαλείο ανοικτού κώδικα 248 00:11:51,440 --> 00:11:53,790 ότι πολλές εταιρείες όπως ακόμα και το Facebook χρησιμοποιείται, 249 00:11:53,790 --> 00:11:56,654 αυτό ήταν το μέγιστο προεπιλεγμένο έτσι ώστε οι άνθρωποι απλά πήγε με αυτό. 250 00:11:56,654 --> 00:11:59,070 Έτσι δεν είναι παράλογο, αλλά εμείς θα χρησιμοποιήσει λίγο περισσότερο τη διαίσθηση 251 00:11:59,070 --> 00:12:02,970 και να πω, σίγουρα 50, που είναι ίσως λίγο υπερβολικό. 252 00:12:02,970 --> 00:12:05,720 >> Το φύλο, μου αρέσει enum, και γι 'αυτό, επομένως, να 253 00:12:05,720 --> 00:12:08,760 απαριθμήσει αρσενικό ή θηλυκό, ή ίσως πιο αποτελεσματικά, 254 00:12:08,760 --> 00:12:13,420 m ή f ή κάποιο άλλο συμβολισμό, αλλά enum αισθάνεται σαν μια καλή επιλογή εκεί. 255 00:12:13,420 --> 00:12:16,740 Για να είμαι σαφής, το φύλο θα μπορούσε απλά να είναι μια varchar, 256 00:12:16,740 --> 00:12:19,090 και θα μπορούσαμε ακριβώς όλα συμφωνούν ως καλοί άνθρωποι, 257 00:12:19,090 --> 00:12:21,010 να θέσει πάντα τις ίδιες αξίες εκεί. 258 00:12:21,010 --> 00:12:22,720 Αρσενικό ή θηλυκό ή οτιδήποτε. 259 00:12:22,720 --> 00:12:27,800 >> Αλλά το πρόβλημα, στη συνέχεια, είναι ότι θα μπορούσαμε να κάνει ένα λάθος, όπως προτείνεται [δεν ακούγεται] 260 00:12:27,800 --> 00:12:29,140 νωρίτερα σε ένα διαφορετικό πλαίσιο. 261 00:12:29,140 --> 00:12:32,780 Αν κάνετε κάποιο λάθος, θα μπορούσαμε να πάρουμε λανθασμένες τιμές στη βάση δεδομένων μας. 262 00:12:32,780 --> 00:12:36,320 Έτσι, τι είναι καλό για τις βάσεις δεδομένων όπως Oracle και MySQL και άλλους, 263 00:12:36,320 --> 00:12:39,280 είναι ότι έχετε αυτό το τελευταίο στρώμα της άμυνας, όπου 264 00:12:39,280 --> 00:12:43,010 διαχειριστής DBA, η βάση δεδομένων σας, όποιος το σχεδιασμό αυτού του πίνακα όπως εμείς 265 00:12:43,010 --> 00:12:46,440 είναι προφορικά, θα μπορούσε να θέσει στη θέση του ένα enum ότι 266 00:12:46,440 --> 00:12:51,250 προστατεύει από ότι με τον καθορισμό αρσενικό, θηλυκό, και έτσι κανείς δεν 267 00:12:51,250 --> 00:12:54,230 αλλιώς δεν προγραμματιστής μπορεί κατά λάθος εισάγετε οποιαδήποτε άλλη τιμή. 268 00:12:54,230 --> 00:12:55,480 Έτσι, αυτό θα ήταν ένα καλό πράγμα. 269 00:12:55,480 --> 00:12:56,660 Αυτό είναι ένα χαρακτηριστικό. 270 00:12:56,660 --> 00:13:00,760 >> Έτσι, ένα αναγνωριστικό, υποθέτοντας ένα αριθμητικό αναγνωριστικό αυτό, κατά πάσα πιθανότητα θα πρέπει να είναι ένας θετικός ακέραιος. 271 00:13:00,760 --> 00:13:04,380 Και μερικές φορές έχουν ευκαιρία να συζητήσουν το μήκος. 272 00:13:04,380 --> 00:13:06,830 Δεν θα ήταν τυπικά καθορίσετε έναν αριθμό εδώ, 273 00:13:06,830 --> 00:13:11,310 θα πρέπει να καθορίσετε αντί αυτό είναι ένα int, ή μια μεγάλη int, 274 00:13:11,310 --> 00:13:12,980 δεδομένου ότι είναι συνήθως ονομάζεται. 275 00:13:12,980 --> 00:13:18,840 Αλλά συνήθως, ένας ακέραιος Θα ήταν, ας πούμε, 4 bytes. 276 00:13:18,840 --> 00:13:23,694 Και αν είναι 4 bytes, αυτό είναι το πόσα bits; 277 00:13:23,694 --> 00:13:24,630 >> Κοινό: [δεν ακούγεται] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Malan: 32 bits. 279 00:13:26,610 --> 00:13:30,270 Έτσι, πόσοι χρήστες μπορούν να έχουμε στο βάση δεδομένων μας, αν όλα έχουν ένα αναγνωριστικό 280 00:13:30,270 --> 00:13:33,320 και αυτό το αναγνωριστικό πρέπει να είναι μοναδικό; 281 00:13:33,320 --> 00:13:36,780 32 bits σημαίνει ότι έχουμε μοτίβα από ένα, δύο, τρία, τέσσερα, five-- 282 00:13:36,780 --> 00:13:41,000 Πώς, λοιπόν, πολλά διαφορετικά σχέδια από μηδενικά και αυτά που μπορεί να έχετε, αν υπάρχουν 32; 283 00:13:41,000 --> 00:13:43,235 Αυτό είναι το ίδιο πράγμα ρωτώντας τι είναι δύο στο 32; 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 Είναι ένα μεγάλο αριθμό ότι Δεν μπορώ να πάρει δεξιά, 286 00:13:48,430 --> 00:13:50,270 αλλά ξέρω ότι είναι περίπου 4 δισ. 287 00:13:50,270 --> 00:13:53,970 Έτσι, αυτό σημαίνει πίνακα της βάσης δεδομένων σας μπορεί να έχουν τέσσερα δισεκατομμύρια χρήστες και αυτό είναι όλο. 288 00:13:53,970 --> 00:13:56,410 >> Έτσι, αυτό είναι μια ενδιαφέρουσα επίπτωση του σχεδιασμού. 289 00:13:56,410 --> 00:14:00,840 Ένα αξιοπρεπές αριθμός των εταιρειών αποφάσισαν, ίσως όχι τόσο πολύ 290 00:14:00,840 --> 00:14:04,860 για το τραπέζι τους χρήστες τους, επειδή έχουν 4000000000 χρήστες είναι ένα σπάνιο πρόβλημα. 291 00:14:04,860 --> 00:14:08,410 Αυτό είναι ένα είδος Facebook στιλ πρόβλημα, δεν είναι ένα τυπικό πρόβλημα της εταιρείας. 292 00:14:08,410 --> 00:14:12,670 Αλλά ίσως, αν έχετε αρχεία καταγραφής συναλλαγών ή κάποιο είδος των δεδομένων που συνεχώς 293 00:14:12,670 --> 00:14:15,610 παίρνει γραπτή στη βάση δεδομένων σας ότι απολύτως θα μπορούσε να έχει δισεκατομμύρια 294 00:14:15,610 --> 00:14:18,900 και τα δισεκατομμύρια των γραμμών, και μπορείτε να χρησιμοποιήσετε έναν ακέραιο για αυτό, 295 00:14:18,900 --> 00:14:22,750 τι πρόκειται να συμβεί το συντομότερο μπορείτε να πάρετε με τη σειρά τον αριθμό 4000000000 296 00:14:22,750 --> 00:14:26,210 και στη συνέχεια να προσπαθήσετε να τοποθετήσετε το 4000000000ων και 1, να το πω έτσι; 297 00:14:26,210 --> 00:14:29,610 Είμαι απλούστευση των αριθμών λίγο. 298 00:14:29,610 --> 00:14:33,740 >> Μπορείτε να κόψετε πίσω, εννοείς Πρέπει να το χειριστεί με κάποιον τρόπο. 299 00:14:33,740 --> 00:14:37,910 Και τι ένας υπολογιστής θα συνήθως κάνουν, σκέφτομαι ακόμη και από σήμερα το πρωί, 300 00:14:37,910 --> 00:14:42,430 εάν έχετε μια τιμή 4-bit όπως 1, 1, 1, 1, η οποία, 301 00:14:42,430 --> 00:14:44,920 απλά για να δέσει το πρωί μαζί με το απόγευμα, τι 302 00:14:44,920 --> 00:14:48,369 αυτός ο αριθμός αντιπροσωπεύει το δυαδικό; 303 00:14:48,369 --> 00:14:49,410 Εντάξει, θα καταστήσει ευκολότερη. 304 00:14:49,410 --> 00:14:53,310 Τι κάνει αυτόν τον αριθμό αντιπροσωπεύουν σε δυαδική; 305 00:14:53,310 --> 00:14:56,794 Εντάξει, θα καταστήσει ευκολότερη, τι κάνει αυτό αντιπροσωπεύει το δυαδικό; 306 00:14:56,794 --> 00:14:57,460 Κοινό: Τρία. 307 00:14:57,460 --> 00:14:59,670 DAVID Malan: Τρεις, επειδή έχουμε αυτά column-- 308 00:14:59,670 --> 00:15:00,450 [ΓΈΛΙΟ] 309 00:15:00,450 --> 00:15:01,350 Μπά! 310 00:15:01,350 --> 00:15:03,980 Είχαμε τη στήλη αυτά και η στήλη δυάρια. 311 00:15:03,980 --> 00:15:07,250 Έτσι ας υποθέσουμε ότι, πράγματι, μας [? infield?] δεν ήταν 32 bits, 312 00:15:07,250 --> 00:15:13,440 αλλά ήταν δύο κομμάτια, μπορούμε μετράνε από τον αριθμό 0, 1, 2, 3 του χρήστη, 313 00:15:13,440 --> 00:15:18,040 και στη συνέχεια να είμαστε το είδος της πίσω στο χρήστη 00 και πάλι. 314 00:15:18,040 --> 00:15:19,739 Έτσι, αυτό είναι ό, τι συμβαίνει συνήθως. 315 00:15:19,739 --> 00:15:22,780 Αν έχετε ακούσει ποτέ το expression-- κατά πάσα πιθανότητα δεν έχουν, αλλά αν have-- 316 00:15:22,780 --> 00:15:26,500 υπερχείλιση ακεραίου, όπου μπορείτε κρατήσει το κτύπημα όλα τα κομμάτια σας 317 00:15:26,500 --> 00:15:29,640 να είναι οι μεγαλύτερες δυνατές τιμές, και στη συνέχεια να είστε έξω από bits, 318 00:15:29,640 --> 00:15:30,850 τι τυπικά θα συμβεί; 319 00:15:30,850 --> 00:15:32,280 Γιατί μπορώ να πω 00; 320 00:15:32,280 --> 00:15:33,220 Λοιπόν, αυτό είναι τρεις. 321 00:15:33,220 --> 00:15:34,230 Πώς μπορώ να αντιπροσωπεύουν το 4; 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Πώς μπορώ να εκπροσωπώ την για τον αριθμό 4 σε δυαδική; 324 00:15:38,915 --> 00:15:39,790 Κοινό: [δεν ακούγεται] 325 00:15:39,790 --> 00:15:41,780 DAVID Malan: ένα-- ναι, δεν λένε 100 per se, 326 00:15:41,780 --> 00:15:44,190 επειδή έχει το λάθος χροιά, αλλά 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Έτσι ο αριθμός 1-0-0 είναι πράγματι σωστή, αλλά αν έχετε μόνο δύο κομμάτια, 328 00:15:48,920 --> 00:15:50,820 τι έχετε κάνει πραγματικά; 329 00:15:50,820 --> 00:15:53,219 Έχετε μεταφερθεί σε 00. 330 00:15:53,219 --> 00:15:54,760 Και πράγματι, αυτό είναι τι θα συμβεί. 331 00:15:54,760 --> 00:15:56,884 Στην πραγματικότητα, μπορείτε να σκεφτείτε γι 'αυτό είναι περισσότερο γνωστή. 332 00:15:56,884 --> 00:15:59,350 Αν θυμάστε, ό, τι, Πριν από 16 χρόνια, ο κόσμος 333 00:15:59,350 --> 00:16:03,380 έπρεπε να λήξει τη στιγμή το πρόβλημα Y2K συνέβη. 334 00:16:03,380 --> 00:16:04,330 Γιατί έγινε αυτό; 335 00:16:04,330 --> 00:16:08,170 Καλά οι περισσότεροι υπολογιστές, για λογικές αποφάσεις, 336 00:16:08,170 --> 00:16:15,320 είχαν την αποθήκευση αριθμών, όπως η το έτος 1975 ή το έτος 1999 337 00:16:15,320 --> 00:16:19,010 χρησιμοποιώντας μόνο δύο ψηφία στη μνήμη του υπολογιστή. 338 00:16:19,010 --> 00:16:21,950 Έτσι, φυσικά, ό, τι συμβαίνει όταν φτάσετε στο έτος 2000, 339 00:16:21,950 --> 00:16:25,790 μπορείτε να πάτε σε αυτό, ή μάλλον, ναι. 340 00:16:25,790 --> 00:16:30,120 Έτσι, μπορείτε να πάτε με το έτος 2000, αλλά αν χρησιμοποιείτε μόνο δύο ψηφία φαίνεται 341 00:16:30,120 --> 00:16:32,660 όπως το έτος 00 και έτσι έχετε μεταφερθεί. 342 00:16:32,660 --> 00:16:36,820 Και αυτός είναι ο λόγος για πολλά συστήματα χρειάζεται να ενημερωθεί κατά το χρόνο. 343 00:16:36,820 --> 00:16:42,500 >> Έτσι, με ότι είπε, εταιρείες όπως η Facebook τρέξει μέχρι ενάντια σε αυτό. 344 00:16:42,500 --> 00:16:46,147 Έτσι, ο μόνος τρόπος για να χειριστεί το κατάσταση, ειλικρινά, είναι να το προβλέψουμε. 345 00:16:46,147 --> 00:16:47,980 Ή το καθαρότερο τρόπο να χειριστεί αυτή την κατάσταση 346 00:16:47,980 --> 00:16:50,330 είναι να προβλέψει έτσι ώστε να μην Πρέπει να κάνετε αλλαγές αργότερα. 347 00:16:50,330 --> 00:16:51,970 Έτσι, αντί των 8 bytes, ξέρετε τι; 348 00:16:51,970 --> 00:16:54,261 Πάω να είναι προνοητική εδώ, ακόμα κι αν είναι 349 00:16:54,261 --> 00:16:56,760 λίγο αισιόδοξος ότι θα πάμε να έχουν 4000000000 350 00:16:56,760 --> 00:16:58,850 και 1 χρήστες στην ιστοσελίδα μας. 351 00:16:58,850 --> 00:17:01,790 Αλλά ας χρησιμοποιήσει 8 bytes, ή 64 bits, που γενικά θα είναι 352 00:17:01,790 --> 00:17:05,640 ονομάζεται ένα μεγάλο ακέραιο, πολύ τεχνική. 353 00:17:05,640 --> 00:17:10,280 Και αυτό ακριβώς σημαίνει ότι μπορείτε να έχετε ακόμα περισσότερα ψηφία στον αριθμό σας. 354 00:17:10,280 --> 00:17:12,599 Αλλά αυτό είναι ένα σημαντικό απόφαση του σχεδιασμού, 355 00:17:12,599 --> 00:17:16,400 γιατί αν επιλέξετε έναν αριθμό που έχει πολύ λίγα κομμάτια της εκφραστικότητας 356 00:17:16,400 --> 00:17:19,089 θα μπορούσε πραγματικά να δημιουργήσει ένα σφάλμα στο λογισμικό σας. 357 00:17:19,089 --> 00:17:21,750 >> Εντάξει, οπότε ας τυλίγουμε με e-mail και ταχυδρομική διεύθυνση. 358 00:17:21,750 --> 00:17:26,369 Έτσι, το ηλεκτρονικό ταχυδρομείο, πόσο καιρό θα πρέπει να μια διεύθυνση ηλεκτρονικού ταχυδρομείου είναι; 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Δεν έχω πραγματικά καμία ιδέα, αλλά είναι μάλλον κάτι τέτοιο, 361 00:17:29,220 --> 00:17:32,261 γιατί αλλιώς κανείς δεν πρόκειται να μπορείτε να γράψετε εάν παίρνει πάρα πολύ καιρό, έτσι 50, 362 00:17:32,261 --> 00:17:33,360 ας πάει με αυτό για τώρα. 363 00:17:33,360 --> 00:17:35,770 Ταχυδρομική διεύθυνση, πόσο καιρό θα πρέπει να είναι; 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 Κοινό: [δεν ακούγεται] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Malan: Δεν είναι μόνο ένα ταχυδρομικό κώδικα, όμως. 368 00:17:43,890 --> 00:17:45,720 Ταχυδρομική διεύθυνση, άκουσα. 369 00:17:45,720 --> 00:17:50,720 Έτσι, αυτό είναι σαν 1 Πλατεία Brattle, κόμμα, Cambridge Mass., κόμμα, 02138. 370 00:17:50,720 --> 00:17:53,860 Και στην πραγματικότητα, επιτρέψτε μου να τραβήξει μέχρι ένα μικρό φύλλο εργασίας εδώ. 371 00:17:53,860 --> 00:17:56,510 Αυτό αισθάνεται σαν να είναι μια χαμένη ευκαιρία. 372 00:17:56,510 --> 00:18:01,480 Αν έχουμε 1 Πλατεία Brattle, κόμμα, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Νιώθω σαν να μπορούμε να κάνουμε κάτι καλύτερο από ό, τι ακριβώς ταχυδρομική διεύθυνση. 374 00:18:04,510 --> 00:18:07,100 Γιατί δεν μπορούμε να εκραγεί αυτό το λίγο; 375 00:18:07,100 --> 00:18:08,030 Τι θέλω να πω με; 376 00:18:08,030 --> 00:18:10,970 Τι πρέπει να έχουμε, αντί να έχει για τις γραμμές μας εδώ, ίσως; 377 00:18:10,970 --> 00:18:12,260 >> Κοινό: [δεν ακούγεται] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Malan: Ναι, έτσι ας αποκαλούν street_number, 379 00:18:17,579 --> 00:18:20,620 και ένα χαρακτήρα υπογράμμισης είναι απλά ένα κοινό τρόπος με τι μοιάζει με ένα χώρο, 380 00:18:20,620 --> 00:18:22,360 αλλά δεν είναι, στην πραγματικότητα. 381 00:18:22,360 --> 00:18:26,240 Street, και στη συνέχεια city-- συγγνώμη; 382 00:18:26,240 --> 00:18:28,440 >> Κοινό: [δεν ακούγεται] 383 00:18:28,440 --> 00:18:29,690 DAVID Malan: Θα μπορούσαμε να το κάνουμε αυτό. 384 00:18:29,690 --> 00:18:30,702 Μία γραμμή, γραμμή δύο. 385 00:18:30,702 --> 00:18:32,410 Γιατί δεν θα κρατήσει απλό για τώρα, 386 00:18:32,410 --> 00:18:34,840 αλλά αυτό είναι απολύτως μια αποδεκτή απόφαση. 387 00:18:34,840 --> 00:18:38,180 Και τότε κατάσταση, και τότε ας είναι λίγο ΗΠΑ-centric για τώρα 388 00:18:38,180 --> 00:18:42,040 και μόλις κάνει ταχυδρομικό κώδικα, μόνο και μόνο επειδή αυτό θα οδηγήσει σε μια ενδιαφέρουσα λάθος 389 00:18:42,040 --> 00:18:43,090 ή πρόβλημα εδώ. 390 00:18:43,090 --> 00:18:44,655 Έτσι, ας υποθέσουμε ότι τώρα είναι η διεύθυνση μας. 391 00:18:44,655 --> 00:18:47,280 Είναι λίγο πιο ενοχλητικό ότι έχουμε όλα αυτά τα περισσότερα πεδία, 392 00:18:47,280 --> 00:18:49,200 αλλά τώρα μπορούμε να επισημάνετε τα πράγματα λίγο καλύτερα. 393 00:18:49,200 --> 00:18:53,210 >> Έτσι τώρα στο δρόμο αριθμό πιθανώς δεν θα πρέπει να είναι μια χαρα, θα πρέπει να είναι; 394 00:18:53,210 --> 00:18:54,835 Τι θα πρέπει να είναι; 395 00:18:54,835 --> 00:18:55,710 Κοινό: [δεν ακούγεται] 396 00:18:55,710 --> 00:18:57,835 DAVID Malan: Ίσως, ένας αριθμός σαν ένα ακέραιο και πάλι; 397 00:18:57,835 --> 00:19:00,170 Ένα μεγάλο ακέραιο; 398 00:19:00,170 --> 00:19:02,170 Πιθανότατα δεν ζουν σε 4 δισεκατομμύρια Main Street 399 00:19:02,170 --> 00:19:03,490 ή κάτι τρελό έτσι. 400 00:19:03,490 --> 00:19:06,850 Έτσι ακέραιος είναι πιθανόν ωραία, αλλά έχει κανείς 401 00:19:06,850 --> 00:19:13,880 έζησε ποτέ σε μια διεύθυνση όπως Πλατεία 1Α Brattle, ή 1 και 1/2; 402 00:19:13,880 --> 00:19:17,030 υπάρχουν αυτά τα πράγματα, δυστυχώς, ακόμη και αν δεν έχετε ζήσει εκεί, 403 00:19:17,030 --> 00:19:21,240 υπάρχουν αυτές οι ανωμαλίες όπως διαμέρισμα 1Α, 1Β, 1C. 404 00:19:21,240 --> 00:19:24,260 Έτσι, ξέρετε τι, πιθανότατα δεν θα πρέπει να πάει με ακέραιο, 405 00:19:24,260 --> 00:19:27,440 Αλλιώς θα πάμε να χάσει κάποιες πωλήσεις. 406 00:19:27,440 --> 00:19:29,920 >> πεδίο Char, ίσως; 407 00:19:29,920 --> 00:19:30,870 Δεν ξέρω πόσο καιρό. 408 00:19:30,870 --> 00:19:33,370 Είναι πιθανόν να μην πρόκειται να είναι τόσο πολύ, ώστε το 10 ή κάτι τέτοιο. 409 00:19:33,370 --> 00:19:34,950 Κανείς δεν πρόκειται να γράψω μεγαλύτερο αριθμό, ίσως. 410 00:19:34,950 --> 00:19:37,070 Αλλά και πάλι, θα πρέπει μάλλον να δίνουν περισσότερη σκέψη σε αυτό. 411 00:19:37,070 --> 00:19:39,900 Ίσως google, κάνετε κάποια έρευνα, αλλά θα πάμε με κότσια μας για τώρα. 412 00:19:39,900 --> 00:19:44,565 Δρόμοι, char, 50, δεν ξέρω. 413 00:19:44,565 --> 00:19:46,940 Σε κάποιο σημείο, κανείς δεν πρόκειται να το γράψει σε ένα φάκελο, 414 00:19:46,940 --> 00:19:49,350 πάρα πολύ, έτσι δεν υπάρχει πιθανώς μερικοί άνω φράγματα εκεί. 415 00:19:49,350 --> 00:19:54,200 Πόλη, το ίδιο, σίγουρα, έτσι char 50. 416 00:19:54,200 --> 00:19:59,120 >> Μέλος, μπορεί να είναι ΗΠΑ-centric για τώρα. 417 00:19:59,120 --> 00:20:01,850 Έτσι θα μπορούσε να είναι μια λίστα, έτσι ώστε το είδος μια κλήση κρίσης, κατάσταση. 418 00:20:01,850 --> 00:20:04,000 Θα μπορούσε να είναι σαν δύο χαρακτήρες. 419 00:20:04,000 --> 00:20:06,140 Έτσι, στην πραγματικότητα, ίσως, μου έλεγε char. 420 00:20:06,140 --> 00:20:09,420 Θέλω να πω ίσως varchar, απλά για κάποια αποτελεσματικότητα, 421 00:20:09,420 --> 00:20:12,240 αλλά θα επανέλθω σε ότι η απόφαση σε μια στιγμή. 422 00:20:12,240 --> 00:20:16,150 Θα μπορούσε να είναι μια χαρα μήκους 2 για τις κρατικές. 423 00:20:16,150 --> 00:20:20,670 Αν στις ΗΠΑ έχουν, όπως ΜΑ, Μασαχουσέτη, NY, Νέα Υόρκη, NJ, New 424 00:20:20,670 --> 00:20:22,100 Jersey, και ούτω καθεξής. 425 00:20:22,100 --> 00:20:23,630 Έτσι, θα μπορούσε να καθοριστεί σε αυτό. 426 00:20:23,630 --> 00:20:25,900 DC για την Ουάσιγκτον DC. 427 00:20:25,900 --> 00:20:29,915 >> Αλλά νομίζω, Olivier, σας πρότεινε μια άλλη προσέγγιση. 428 00:20:29,915 --> 00:20:30,790 Κοινό: [δεν ακούγεται] 429 00:20:30,790 --> 00:20:33,670 DAVID Malan: Ναι, έτσι είναι μια λίγο ενοχλητικό να πληκτρολογήσετε, 430 00:20:33,670 --> 00:20:37,890 αλλά ένα enum θα μπορούσε να έχει περισσότερο νόημα, επειδή αυτό τον τρόπο, τουλάχιστον στις ΗΠΑ, 431 00:20:37,890 --> 00:20:41,320 θα μπορούσε να απαριθμήσει, εάν κουραστική, αλλά μπορείτε να το κάνετε μόνο μία φορά στη βάση δεδομένων σας 432 00:20:41,320 --> 00:20:47,480 και ποτέ ξανά πρέπει να σκεφτούμε αυτό, όλοι οι 50 κωδικοί δύο χαρακτήρων. 433 00:20:47,480 --> 00:20:48,660 Έτσι μου αρέσει enum. 434 00:20:48,660 --> 00:20:51,720 Ας κολλήσει με ότι υπάρχει, διότι το είδος της επιβάλλει μεγαλύτερη αυστηρότητα. 435 00:20:51,720 --> 00:20:53,620 Και τότε ταχυδρομικό κώδικα; 436 00:20:53,620 --> 00:20:55,306 Νομίζω ότι ο Andrew είχε μια σκέψη σε αυτό 437 00:20:55,306 --> 00:20:56,180 Κοινό: [δεν ακούγεται] 438 00:20:56,180 --> 00:20:57,240 DAVID Malan: Ναι, πέντε ή εννέα. 439 00:20:57,240 --> 00:20:58,323 Ας κρατήσουμε μόνο απλό. 440 00:20:58,323 --> 00:20:59,380 Απλά κάνει πέντε για τώρα. 441 00:20:59,380 --> 00:21:03,070 Αλλά ίσως θα μπορούσα απλά κάνει έναν ακέραιο αριθμό, σωστά; 442 00:21:03,070 --> 00:21:08,750 Θα μπορούσα, αλλά ξέρετε τι έκανα αυτό το λάθος μια φορά, κατά κάποιο τρόπο. 443 00:21:08,750 --> 00:21:13,110 Πριν από χρόνια, ήμουν μετάβαση από Microsoft Outlook στο Gmail, 444 00:21:13,110 --> 00:21:18,640 και το Outlook έχει έναν τρόπο να εξάγουν όλες τις επαφές σας ως αρχείο Excel, 445 00:21:18,640 --> 00:21:21,280 ένα αρχείο CSV, κόμμα χωρίζονται αρχείο τιμές. 446 00:21:21,280 --> 00:21:23,950 Και έκανα το λάθος, εγώ σκέφτονται, διπλής αυτό κλικ, 447 00:21:23,950 --> 00:21:27,380 αφού την έχω κατεβάσει την εξαγωγή, σε βεβαιωθείτε ότι φαινόταν όπως περίμενα. 448 00:21:27,380 --> 00:21:31,320 Πρέπει να έχω χτυπήσει σώσει ή να αφήσετε αυτόματη αποθήκευση λάκτισμα ή κάτι τέτοιο. 449 00:21:31,320 --> 00:21:35,100 Διότι όταν εγώ τότε εισάγονται ότι στο Gmail, που όλοι εργάστηκαν. 450 00:21:35,100 --> 00:21:39,910 Αλλά για χρόνια, μέχρι σήμερα, και Το έκανα αυτό πέντε, πριν από 10 χρόνια, 451 00:21:39,910 --> 00:21:44,380 Είμαι ακόμα να βρουν φίλους που έχουν διευθύνσεις που μοιάζει με αυτό. 452 00:21:44,380 --> 00:21:45,700 Γιατί; 453 00:21:45,700 --> 00:21:47,900 >> Κοινό: [δεν ακούγεται] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Malan: Χρειάστηκαν το 0, καλά, μάλλον, 455 00:21:50,650 --> 00:21:53,810 πήρε ολόκληρο το ταχυδρομικό κώδικα ως ένας αριθμός, και ως εκ τούτου είναι 456 00:21:53,810 --> 00:21:56,590 ένας κορυφαίος 0 που σημαίνει δεν έχει κανένα νόημα. 457 00:21:56,590 --> 00:21:59,470 Και έτσι 2138 φαίνεται να είναι ταχυδρομικό κώδικα μου. 458 00:21:59,470 --> 00:22:07,100 Και αυτό είναι, ειλικρινά, ένα ενοχλητικό Excel χαρακτηριστικό το οποίο νομίζω ότι από προεπιλογή, 459 00:22:07,100 --> 00:22:10,980 ακόμη και αν είναι γραφτό να απλά να είναι κείμενο, το Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 αποφασίζει, επιτρέψτε μου να είναι χρήσιμες, Ω, βλέπω μόνο τους αριθμούς. 461 00:22:13,780 --> 00:22:15,290 Ας τα αντιμετωπίσουμε ως αριθμούς. 462 00:22:15,290 --> 00:22:16,790 Και περικόπτει τα αρχικά μηδενικά. 463 00:22:16,790 --> 00:22:19,165 >> Ορκίζομαι στο Θεό, κάθε ζευγάρι μήνες να βρω μια διεύθυνση, 464 00:22:19,165 --> 00:22:22,300 και από ένα είδος της ΙΨΔ, πάω πίσω και να προσθέσετε το 0, ακόμα κι αν ποτέ δεν 465 00:22:22,300 --> 00:22:23,700 στείλει τους ανθρώπους γράμματα ή τίποτα. 466 00:22:23,700 --> 00:22:25,510 Αλλά είμαι ακόμα να βρουν απομεινάρια αυτού. 467 00:22:25,510 --> 00:22:28,820 Έτσι, αυτό είναι να πω, είναι αυτό μια καλή ιδέα; 468 00:22:28,820 --> 00:22:31,610 Εντάξει, όχι, γιατί ο καθένας σε Μασαχουσέτη, στον τομέα αυτό, 469 00:22:31,610 --> 00:22:33,270 πρόκειται να έχουν o τους οδηγεί. 470 00:22:33,270 --> 00:22:38,070 Έτσι, ας πάμε με παρόμοια char, κατά πάσα πιθανότητα, πέντε. 471 00:22:38,070 --> 00:22:41,450 >> Και εδώ, συνειδητοποιήσουμε εμείς θα μπορούσε να χρησιμοποιήσει ένα enum και εμείς 472 00:22:41,450 --> 00:22:44,600 θα μπορούσε να απαριθμήσει 10.000 δυνατόν ταχυδρομικούς κώδικες, 473 00:22:44,600 --> 00:22:48,530 αλλά ότι αισθάνεται σαν να είναι πιθανώς διασχίζοντας μια γραμμή, όπως, οφέλη. 474 00:22:48,530 --> 00:22:51,350 Αν έχετε να εισόδου που πολλά δεδομένα στη βάση δεδομένων σας 475 00:22:51,350 --> 00:22:52,940 για την προστασία από κάτι. 476 00:22:52,940 --> 00:22:57,400 Έτσι char συνειδητοποίησε μπορείτε να πληκτρολογήσετε στην Η-Ε-Ι-L-O, όπως τον ταχυδρομικό σας κώδικα, 477 00:22:57,400 --> 00:22:59,180 η οποία δεν είναι, προφανώς, αριθμητική. 478 00:22:59,180 --> 00:23:01,680 Έτσι, δεν υπάρχει κανένας τρόπος, με Ένα τυπικό βάση δεδομένων, 479 00:23:01,680 --> 00:23:05,561 για να καθορίσετε μόνο αριθμητικά και μόνο πέντε χαρακτήρες, 480 00:23:05,561 --> 00:23:07,310 έτσι θα πάμε να έχουν να το κάνουμε αυτό στον κώδικα. 481 00:23:07,310 --> 00:23:11,100 Εμείς πάμε για να το κάνουμε αυτό σε PHP ή Java ή οτιδήποτε γλώσσα είμαστε 482 00:23:11,100 --> 00:23:14,230 χρησιμοποιώντας στο διακομιστή για να επιβάλουν αυτό το είδος του περιορισμού. 483 00:23:14,230 --> 00:23:14,860 >> Whoo! 484 00:23:14,860 --> 00:23:18,322 Εντάξει, έτσι οποιεσδήποτε ερωτήσεις ακριβώς ακόμα; 485 00:23:18,322 --> 00:23:19,780 Ας κάνουμε μια άλλη απόφαση του σχεδιασμού. 486 00:23:19,780 --> 00:23:22,500 Αποδεικνύεται ότι επίσης να πάρετε για να επιλέξετε, 487 00:23:22,500 --> 00:23:26,600 κατά το σχεδιασμό μιας βάσης δεδομένων SQL, ή τυπικό σχεσιακή database-- όπου 488 00:23:26,600 --> 00:23:28,790 και πάλι, σχεσιακή μόνο σημαίνει σειρές και στήλες, 489 00:23:28,790 --> 00:23:35,500 αυτό είναι το πώς μπορείτε να οργανώσετε data-- σας και να συνειδητοποιήσουμε ότι αυτό σημαίνει, 490 00:23:35,500 --> 00:23:37,740 Έχω παραπλανητική ότι, είμαι drawing-- αυτό 491 00:23:37,740 --> 00:23:40,190 Είναι αυτό που ονομάζεται το σχήμα για έναν πίνακα βάσης δεδομένων. 492 00:23:40,190 --> 00:23:42,810 Αυτό είναι σαν το προδιαγραφές για το table-- 493 00:23:42,810 --> 00:23:48,040 αλλά όταν έρχεται η ώρα πραγματικά να αποθηκεύουν τα δεδομένα, 494 00:23:48,040 --> 00:23:52,081 και εμείς θα κάνουμε αυτό ακριβώς το παράδειγμα εδώ. 495 00:23:52,081 --> 00:23:55,080 Πάω να ανοίξει το Excel, επειδή Excel θα μου δώσει γραμμές και στήλες. 496 00:23:55,080 --> 00:23:58,050 Και αυτό είναι ακριβώς ό, τι Oracle και MySQL και άλλα εργαλεία θα μου δώσει. 497 00:23:58,050 --> 00:24:02,270 Έτσι, είμαι απλώς πρόκειται να χρησιμοποιήσετε ότι για χάρη της συζήτησης του. 498 00:24:02,270 --> 00:24:05,250 Επιτρέψτε μου να πάει μπροστά και να ανοίξει ένα αντιπροσωπευτικό έγγραφο εδώ, 499 00:24:05,250 --> 00:24:06,310 μεγέθυνση σε λίγο. 500 00:24:06,310 --> 00:24:15,200 Έτσι, για παράδειγμα, κεφαλίδες μας είναι τώρα το όνομα, το επώνυμο, το φύλο, την ταυτότητα, 501 00:24:15,200 --> 00:24:20,980 ηλεκτρονικού ταχυδρομείου, αριθμός, δρόμος, κραυγών. 502 00:24:20,980 --> 00:24:25,710 Οδός, πόλη, πολιτεία, απλά για να ταιριάζει στην οθόνη. 503 00:24:25,710 --> 00:24:29,080 >> Έτσι τι αυτό σημαίνει είναι ότι όταν μια χρήστης καταχωρεί το πρώτο για την ιστοσελίδα μου, 504 00:24:29,080 --> 00:24:32,880 πρόκειται να είναι κάτι σαν David, Malan, m, ας πούμε 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, τον αριθμό του δρόμου θα είναι σαν 1 Πλατεία Brattle, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02138, και στη συνέχεια ούτω καθεξής. 507 00:24:44,780 --> 00:24:48,290 Έτσι, όταν λέω ότι μια σχεσιακή βάση δεδομένων ή βάσης δεδομένων SQL είναι γραμμές και στήλες, 508 00:24:48,290 --> 00:24:49,350 Εννοώ αυτό. 509 00:24:49,350 --> 00:24:51,900 Ότι τα πραγματικά δεδομένα αποθηκεύονται σε γραμμές και στήλες. 510 00:24:51,900 --> 00:24:53,950 Αυτό είναι απλά μια σύμπτωση, ότι μιλούσαμε, 511 00:24:53,950 --> 00:24:56,033 και ήμουν ακριβώς την κατάρτιση έξω σε σειρές και στήλες. 512 00:24:56,033 --> 00:24:58,320 Αυτό είναι ακριβώς το σχήμα, ο πρωταρχικός ορισμός. 513 00:24:58,320 --> 00:25:01,640 >> Έτσι, από αυτά τα πεδία εδώ, ή ισοδύναμα, εκεί, 514 00:25:01,640 --> 00:25:06,270 τα οποία είναι τα πεδία που νομίζετε Είμαι πιθανό να ψάξετε για αν είμαι ένας χρήστης 515 00:25:06,270 --> 00:25:09,200 ή αν είμαι ο διαχειριστής της βάσης δεδομένων; 516 00:25:09,200 --> 00:25:12,426 Όπως, τι πεδία είμαι στην πραγματικότητα πρόκειται να ψάξετε για; 517 00:25:12,426 --> 00:25:13,830 >> Κοινό: [δεν ακούγεται] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Malan: Το όνομα, ναι έτσι Μου αρέσει το γεγονός ερμήνευα-- ναι, 519 00:25:17,690 --> 00:25:19,750 ηλεκτρονικού ταχυδρομείου μπορεί να είναι αρκετά κοινό. 520 00:25:19,750 --> 00:25:21,440 Μας συγχωρείτε, είπατε όνομα. 521 00:25:21,440 --> 00:25:24,030 Έτσι maybe-- και πάλι, είμαστε είδος μιλάμε αφηρημένα. 522 00:25:24,030 --> 00:25:25,988 Δεν ξέρω γιατί θέλετε να ψάχνουν για ένα όνομα, 523 00:25:25,988 --> 00:25:29,340 αλλά ότι αισθάνεται λογικό αν ψάχνετε για έναν χρήστη. 524 00:25:29,340 --> 00:25:31,170 Ίσως αναφέρει, σίγουρα, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> Και είναι ένα ολισθηρό κλίση, γιατί θα μπορούσα 527 00:25:36,160 --> 00:25:38,890 εφευρίσκω ένα σενάριο όπου ίσως το αφεντικό μου μου ζήτησε, 528 00:25:38,890 --> 00:25:40,417 πόσοι άνδρες έχουμε στην ιστοσελίδα μας; 529 00:25:40,417 --> 00:25:42,000 Πόσες γυναίκες έχουμε στην ιστοσελίδα μας; 530 00:25:42,000 --> 00:25:45,210 Και έτσι σε εκείνο το σημείο, ίσως να θέλετε να ψάξει στο πεδίο των φύλων, πάρα πολύ, 531 00:25:45,210 --> 00:25:45,940 και τίποτα άλλο. 532 00:25:45,940 --> 00:25:47,350 Έτσι, υπάρχει ένα trade-off εδώ. 533 00:25:47,350 --> 00:25:49,180 Και πάλι, δεν υπάρχει σωστή απάντηση, αλλά υπάρχουν 534 00:25:49,180 --> 00:25:53,760 είναι ένα χαρακτηριστικό στις περισσότερες βάσεις δεδομένων SQL γνωστό ως ευρετηρίαση, σύμφωνα με την οποία 535 00:25:53,760 --> 00:25:56,100 εσείς, ο σχεδιαστής, ο διαχειριστής της βάσης δεδομένων, 536 00:25:56,100 --> 00:26:01,730 πάρετε για να αποφασίσει εκ των προτέρων η οποία τα πεδία της βάσης δεδομένων θα πρέπει να βελτιστοποιήσει 537 00:26:01,730 --> 00:26:02,980 για τις αναζητήσεις στο. 538 00:26:02,980 --> 00:26:07,620 >> Θα μπορούσατε πολύ αφελώς λένε, τη βελτιστοποίηση αυτό, τη βελτιστοποίηση ότι, τη βελτιστοποίηση αυτό, 539 00:26:07,620 --> 00:26:10,300 βελτιστοποιήσει ότι και αυτό, και η βάση δεδομένων θα 540 00:26:10,300 --> 00:26:14,882 κάνετε κάποια μαγικό πράγμα κάτω από το κουκούλα, και να κάνουμε κάτι με τέτοιο τρόπο 541 00:26:14,882 --> 00:26:17,090 ότι την επόμενη φορά που θα αναζητήσετε σε οποιοδήποτε από αυτά τα πεδία, 542 00:26:17,090 --> 00:26:18,400 θα, στην πραγματικότητα, είναι ταχύτερη. 543 00:26:18,400 --> 00:26:19,110 Αυτό είναι δυνατόν. 544 00:26:19,110 --> 00:26:20,530 Το ίδιο δεν ακυρώνει. 545 00:26:20,530 --> 00:26:22,500 Αλλά πρέπει να υπάρχει μια τιμή που καταβάλλεται. 546 00:26:22,500 --> 00:26:27,220 >> Αν έχετε αφελώς, ή υπερ-ενθουσιασμό ας πούμε, ο δείκτης όλους αυτούς τους τομείς, 547 00:26:27,220 --> 00:26:29,810 να το πω έτσι, να τα κάνουμε όλα αποτελεσματικά με δυνατότητα αναζήτησης, 548 00:26:29,810 --> 00:26:31,625 Τι τιμή είστε πιθανώς να πληρώνουν; 549 00:26:31,625 --> 00:26:32,500 Κοινό: [δεν ακούγεται] 550 00:26:32,500 --> 00:26:33,090 DAVID Malan: Performance. 551 00:26:33,090 --> 00:26:33,798 Τι εννοείς? 552 00:26:33,798 --> 00:26:37,380 Λοιπόν απόδοση, τουλάχιστον στην πλαίσιο και είμαι συζητάμε, είναι καλύτερα τώρα. 553 00:26:37,380 --> 00:26:38,830 Αυτός είναι ο ορισμός της ευρετηρίασης. 554 00:26:38,830 --> 00:26:41,180 Θα κάνουν αναζητήσεις γρηγορότερα. 555 00:26:41,180 --> 00:26:43,366 Επομένως, ο χρόνος μειώνεται, να το πω έτσι. 556 00:26:43,366 --> 00:26:44,240 Κοινό: [δεν ακούγεται] 557 00:26:44,240 --> 00:26:45,031 DAVID Malan: Space. 558 00:26:45,031 --> 00:26:46,520 Έτσι και πάλι, αυτά είναι ένα κοινό εμπόριο. 559 00:26:46,520 --> 00:26:50,820 Μπορώ να επιταχύνει τις αναζητήσεις σας, αλλά είναι πρόκειται να σας κοστίσει περισσότερα bytes του χώρου. 560 00:26:50,820 --> 00:26:51,610 Γιατί; 561 00:26:51,610 --> 00:26:55,230 Λοιπόν, από προεπιλογή, αν έχουμε κανένα Αυτά τα κόκκινα αστέρια, κανένας από αυτούς τους δείκτες, 562 00:26:55,230 --> 00:26:58,797 όπως λέω, πώς μπορείτε να αναζητήσετε για ένα όνομα σε αυτή τη βάση δεδομένων; 563 00:26:58,797 --> 00:27:00,630 Ας επιστήσω μας προσοχή σε αυτό το παράδειγμα. 564 00:27:00,630 --> 00:27:06,300 Αν έχουμε Δαβίδ και Scully και Kareem και Arwa και άλλοι σε αυτές τις σειρές, 565 00:27:06,300 --> 00:27:06,910 για παράδειγμα. 566 00:27:06,910 --> 00:27:08,390 >> Έτσι, ας κάνουμε ακριβώς αυτό. 567 00:27:08,390 --> 00:27:13,990 Scully είναι εδώ, και στη συνέχεια, έχουμε Kareem, και Arwa, 568 00:27:13,990 --> 00:27:18,390 και όλοι οι άλλοι, αν δεν το κάνετε έχουν δείκτη ορίζεται, να το πω έτσι, 569 00:27:18,390 --> 00:27:20,160 το καλύτερο που μπορείτε να κάνετε είναι γραμμική αναζήτηση. 570 00:27:20,160 --> 00:27:23,470 Αν ψάχνετε για Arwa, δεν είμαστε πρόκειται να είναι σε θέση να άλμα προς τα δεξιά της 571 00:27:23,470 --> 00:27:24,140 γρήγορα. 572 00:27:24,140 --> 00:27:26,556 Εμείς πάμε για να ξεκινήσει κορυφή και να πάει σε όλη τη διαδρομή προς τα κάτω, 573 00:27:26,556 --> 00:27:28,600 δεν σε αντίθεση με την αρχική μας Mike Smith παράδειγμα. 574 00:27:28,600 --> 00:27:33,470 >> Αν, όμως, να πω, hey, βάση δεδομένων, δείκτη το πρώτο πεδίο όνομα, 575 00:27:33,470 --> 00:27:37,000 τότε πρόκειται να κάνει κάτι φανταχτερό και να υποστηρίξει κάτι 576 00:27:37,000 --> 00:27:38,130 σαν δυαδική αναζήτηση. 577 00:27:38,130 --> 00:27:39,820 Είναι πιθανόν να μην είναι δυαδική αναζήτηση per se. 578 00:27:39,820 --> 00:27:42,810 Βάσεις δεδομένων τείνουν να χρησιμοποιούν ένα άλλο δομή δεδομένων που ονομάζεται β-δέντρα, 579 00:27:42,810 --> 00:27:46,540 δεν πρέπει να συγχέεται με δυαδικά δέντρα, ότι ακριβώς κάνουν πιο γρήγορα να αναζητήσετε 580 00:27:46,540 --> 00:27:48,500 κάτι λογαριθμική στη φύση. 581 00:27:48,500 --> 00:27:53,510 Αλλά η τιμή που πληρώνετε για τη δημιουργία ότι χαρακτηριστικό, ότι η δομή των δεδομένων στη μνήμη, 582 00:27:53,510 --> 00:27:54,570 είναι πιο bytes. 583 00:27:54,570 --> 00:27:57,170 Έτσι, μπορεί να πάρει μερικά megabytes, μερικά gigabytes, ποιος ξέρει; 584 00:27:57,170 --> 00:27:58,410 Εξαρτάται από τα δεδομένα. 585 00:27:58,410 --> 00:28:02,640 >> Έτσι, σε κάποιο σημείο, θα πρέπει να αποφασίσει, είναι πιθανόν να μην είναι μια συνηθισμένη περίπτωση. 586 00:28:02,640 --> 00:28:06,000 Έτσι ποια είναι η πραγματική κοινή περιπτώσεις, αν πραγματικά έπρεπε να διαλέξω, 587 00:28:06,000 --> 00:28:10,080 τι θα μπορούσε να είναι το αγαπημένο σας τομέα; 588 00:28:10,080 --> 00:28:10,580 E-mail. 589 00:28:10,580 --> 00:28:14,400 Και μου αρέσει το email επειδή το email, θεωρητικά, θα πρέπει να είναι μοναδικό. 590 00:28:14,400 --> 00:28:17,650 Και έτσι συνήθως, όταν ξέρετε εκ των προτέρων ότι ένα από τα πεδία σας 591 00:28:17,650 --> 00:28:20,277 είναι ή θα είναι μοναδική, ότι τείνει να είναι ένα καλό πεδίο 592 00:28:20,277 --> 00:28:22,860 να ψάξει στο γιατί αυτόν τον τρόπο, όταν κάνετε αναζήτηση για κάτι, 593 00:28:22,860 --> 00:28:26,194 θα πάμε για να πάρει πίσω ένα ή μηδέν απαντήσεις και, στη συνέχεια, τελειώσατε. 594 00:28:26,194 --> 00:28:28,110 Δεν χρειάζεται να κρατήσετε ψάχνει για ακόμα άλλους. 595 00:28:28,110 --> 00:28:31,992 >> Και έτσι σε αυτή την περίπτωση εδώ, e-mail, εφ 'όσον δεν μπορείτε να καταχωρήσετε δύο φορές 596 00:28:31,992 --> 00:28:33,450 με την ίδια διεύθυνση ηλεκτρονικού ταχυδρομείου, είναι ένα καλό αποτέλεσμα. 597 00:28:33,450 --> 00:28:36,710 ID εξ ορισμού, στην κόσμο της επιστήμης των υπολογιστών, 598 00:28:36,710 --> 00:28:39,610 αν μιλάμε για ένα ID, που είχε καλύτερα να είναι μοναδικό. 599 00:28:39,610 --> 00:28:42,970 Αυτό είναι το είδος της χροιά της ταυτότητας ή αναγνωριστικό. 600 00:28:42,970 --> 00:28:46,440 Και το υπόλοιπο από αυτά μπορεί να είναι, ας τους αποκαλούν ωραίο να προνομιούχων, 601 00:28:46,440 --> 00:28:47,860 αλλά δεν είναι πραγματικά απαραίτητο. 602 00:28:47,860 --> 00:28:49,976 >> Και έτσι σε μια βάση δεδομένων, καθορίζετε ευρετήρια, 603 00:28:49,976 --> 00:28:51,350 αλλά μπορείτε να είστε ακόμα πιο ακριβείς. 604 00:28:51,350 --> 00:28:56,060 Μπορείτε να πείτε, hey, βάση δεδομένων, βεβαιωθείτε ότι κάθε ταυτότητα σε αυτόν τον πίνακα είναι μοναδική. 605 00:28:56,060 --> 00:28:59,330 Μην ακόμη και να αφήσουν έναν προγραμματιστή κατά λάθος θέσει σε δύο αντίτυπα email 606 00:28:59,330 --> 00:29:00,740 ή διπλές αριθμό ταυτότητας. 607 00:29:00,740 --> 00:29:03,140 Τόσο πολύ σαν enums μας προστατεύει Ομοίως, μπορείτε 608 00:29:03,140 --> 00:29:04,881 μπορεί να έχουν αυτές τις άμυνες χαμηλότερου επιπέδου. 609 00:29:04,881 --> 00:29:07,130 Και έτσι σχεδιασμό βάσεων δεδομένων, στην κάποια έννοια, είναι το είδος της διασκέδασης, 610 00:29:07,130 --> 00:29:08,380 γιατί το κάνετε αμυντικά. 611 00:29:08,380 --> 00:29:11,460 Μπορείτε είδος υποθέσουμε ότι εργάζεστε με φρικτό, φρικτό προγραμματιστές 612 00:29:11,460 --> 00:29:15,550 και θέλετε να βάλετε σε όσες άμυνες όπως μπορείτε να προστατεύσετε τα δεδομένα σας, 613 00:29:15,550 --> 00:29:18,940 αλλά ταυτόχρονα θέλετε να τους βοηθήσει να έχουν καλύτερη απόδοση 614 00:29:18,940 --> 00:29:21,386 επιλέγοντας το οποίο πεδία για να βελτιστοποιήσει για. 615 00:29:21,386 --> 00:29:24,260 Αλλά δεν μπορείτε να το κάνετε κατ 'ανάγκην ένα κενό, όπως έχουμε το είδος της είναι εδώ. 616 00:29:24,260 --> 00:29:26,480 Έχετε να γνωρίζουμε ποιες είναι αυτές οι κοινές περιπτώσεις είναι. 617 00:29:26,480 --> 00:29:29,397 Αν οι προγραμματιστές είναι εφαρμογή ένα βιβλίο διευθύνσεων, 618 00:29:29,397 --> 00:29:32,230 θα μπορούσε κάλλιστα να είναι σε θέση για να αναζητήσετε σχεδόν σε κάθε τομέα, 619 00:29:32,230 --> 00:29:33,830 μόνο από τη φύση της εφαρμογής. 620 00:29:33,830 --> 00:29:37,910 Έτσι ίσως ξοδεύετε ότι επιπλέον χώρο. 621 00:29:37,910 --> 00:29:39,090 >> Δεξιά, οποιεσδήποτε ερωτήσεις; 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Ναι. 624 00:29:42,486 --> 00:29:43,470 >> Κοινό: [δεν ακούγεται] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Malan: Όχι. 626 00:29:44,404 --> 00:29:45,279 >> Κοινό: [δεν ακούγεται] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Malan: OK. 629 00:29:48,826 --> 00:29:49,701 >> Κοινό: [δεν ακούγεται] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Malan: Ω, έτσι ώστε να Μιλάμε με έναν τρόπο 632 00:29:54,850 --> 00:29:57,940 τώρα που είναι εντελώς γλώσσα αγνωστικιστής. 633 00:29:57,940 --> 00:30:02,370 Έτσι μιλάμε τώρα για το σχεσιακές βάσεις δεδομένων γενικότερα, 634 00:30:02,370 --> 00:30:04,760 ή SQL βάσεις δεδομένων γενικότερα. 635 00:30:04,760 --> 00:30:06,870 >> Κοινό: [δεν ακούγεται] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Malan: Μια καλύτερη λέξη για να χρησιμοποιήσετε είναι, μπορεί να χρησιμοποιηθεί από οποιαδήποτε γλώσσα. 637 00:30:10,030 --> 00:30:15,280 Έτσι μπορώ να γράψω κώδικα JavaScript, C κώδικα, C ++ κώδικα, κώδικα Java, κωδικό Ruby, 638 00:30:15,280 --> 00:30:19,010 τα οποία μιλούν για μια βάση δεδομένων και να εκτελέσει ερωτήματα. 639 00:30:19,010 --> 00:30:22,310 Στην πραγματικότητα, αυτό δεν είναι ένα κακό segue σε ένα παράδειγμα ερωτήματος. 640 00:30:22,310 --> 00:30:25,720 Και πάλι, δεν πρόκειται να μπω σε Java ή C ++ ή οποιοδήποτε από αυτό πια, 641 00:30:25,720 --> 00:30:29,420 αλλά σε SQL, η γλώσσα με την οποία κρατώ Αναφέρομαι, Structured Query Language, 642 00:30:29,420 --> 00:30:32,790 Αυτό από μόνο του είναι μια γλώσσα προγραμματισμού, αλλά είναι προοριζόταν να χρησιμοποιηθεί για, δεν 643 00:30:32,790 --> 00:30:37,330 έκπληξη, δομημένη ερωτήματα ερώτημα. 644 00:30:37,330 --> 00:30:38,660 >> Με αυτό εννοώ αυτό. 645 00:30:38,660 --> 00:30:41,190 Ο τρόπος που θα επιλέξετε δεδομένων από μια βάση δεδομένων MySQL 646 00:30:41,190 --> 00:30:49,330 είναι κυριολεκτικά πληκτρολογήσετε στο πρόγραμμά σας κάτι σαν επιλέξτε αστέρι από τους χρήστες. 647 00:30:49,330 --> 00:30:52,200 Υποθέτω ότι αυτό το τραπέζι, εφεξής καλείται χρήστες. 648 00:30:52,200 --> 00:30:54,860 Θα μπορούσα να το ονομάσουμε οτιδήποτε θέλουμε, αλλά αυτό το είδος της νόημα. 649 00:30:54,860 --> 00:30:57,240 Και έτσι Select είναι μια πολύ κοινή ρήμα, αν 650 00:30:57,240 --> 00:30:59,290 θα σε SQL, κάνει ότι κυριολεκτικά αυτό. 651 00:30:59,290 --> 00:31:02,730 Τι νομίζετε αστέρων σημαίνει σε αυτό το πλαίσιο; 652 00:31:02,730 --> 00:31:04,410 >> Κοινό: [δεν ακούγεται] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Malan: Λυπάμαι; 654 00:31:05,380 --> 00:31:06,300 >> Κοινό: [δεν ακούγεται] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Malan: Δεν απαιτείται, είναι πιο περιεκτικό από αυτό, πραγματικά. 656 00:31:09,580 --> 00:31:11,700 Είναι η άγρια ​​κάρτα χαρακτήρα. 657 00:31:11,700 --> 00:31:14,740 Αστέρι σημαίνει τίποτα σχεδόν πάντα, έτσι αυτό σημαίνει, στην περίπτωση αυτή, 658 00:31:14,740 --> 00:31:16,510 επιλέξετε τα πάντα, από τη βάση δεδομένων. 659 00:31:16,510 --> 00:31:20,730 Έτσι, όταν το λέω αυτό, εννοώ δώσε μου πίσω κάθε στήλη 660 00:31:20,730 --> 00:31:22,440 από το τραπέζι μου που ονομάζεται χρήστες. 661 00:31:22,440 --> 00:31:24,730 Έτσι μου δώσει ένα σύνολο αποτελεσμάτων, όπως λέγεται. 662 00:31:24,730 --> 00:31:28,210 Με άλλα λόγια, να μου δώσει ένα αντίγραφο του υπολογιστικών φύλλων, είναι ό, τι έχω να σε. 663 00:31:28,210 --> 00:31:34,890 >> Αλλά αν είπα επιλέξτε αστέρι από τους χρήστες όπου ID ισούται με 1, πόσο μεγάλο θα πρέπει να 664 00:31:34,890 --> 00:31:36,640 σύνολο των αποτελεσμάτων μου είναι τότε; 665 00:31:36,640 --> 00:31:41,680 Ή ισοδύναμα, πόσες γραμμές θα πρέπει να Θα πρέπει να παραδοθεί πίσω από τη βάση δεδομένων; 666 00:31:41,680 --> 00:31:45,860 Πιθανώς μόνο ένα, αν έχω πράγματι αντιμετωπίζονται ID ως ένα μοναδικό αναγνωριστικό, 667 00:31:45,860 --> 00:31:50,710 και αν ο David έχει αυτό το μοναδικό αναγνωριστικό, Ι θα πρέπει να πάρει πίσω ένα και μόνο μία σειρά 668 00:31:50,710 --> 00:31:53,220 που περιέχει όλες τις πληροφορίες του Δαβίδ. 669 00:31:53,220 --> 00:31:56,390 Αν είπα αυτό όταν ID ισούται με 99, θα πάρει πίσω, 670 00:31:56,390 --> 00:32:00,320 Στο πλαίσιο αυτό, μηδέν σειρές, τουλάχιστον προς το παρόν. 671 00:32:00,320 --> 00:32:03,620 >> Ωστόσο, αν εγώ δεν ενδιαφέρονται πραγματικά για όλες αυτές τις πληροφορίες, 672 00:32:03,620 --> 00:32:06,970 Θα μπορούσα να πω, όπου ζει ο Δαβίδ; 673 00:32:06,970 --> 00:32:10,860 Επιλέξτε ταχυδρομικό κώδικα από Οι χρήστες όπου ID είναι 1. 674 00:32:10,860 --> 00:32:15,820 Αυτό θα επιλέξει για μένα μόνο φερμουάρ του Δαβίδ κώδικα και όχι το σύνολο της εν λόγω σειράς. 675 00:32:15,820 --> 00:32:19,541 Γιατί μπορεί να το κάνετε αυτό, αντί της το ερώτημα αστέρων, η άγρια ​​κάρτα; 676 00:32:19,541 --> 00:32:21,950 >> Κοινό: [δεν ακούγεται] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Malan: Ναι, μπορώ να το μόνο που χρειάζεται. 678 00:32:24,590 --> 00:32:26,350 Έτσι, οι επιδόσεις είναι και πάλι η απάντηση εδώ. 679 00:32:26,350 --> 00:32:28,540 Γιατί να ζητήσει περισσότερα πληροφορίες από ό, τι χρειάζεστε, 680 00:32:28,540 --> 00:32:32,020 γιατί ακόμα και αν είναι εντάξει μαζί, μπορείτε ακόμα να αντιγράψετε αυτά τα δεδομένα, 681 00:32:32,020 --> 00:32:35,560 όπως φαίνεται, από τη βάση δεδομένων στο πρόγραμμά σας με κάποιο τρόπο, 682 00:32:35,560 --> 00:32:38,490 και αυτό είναι μόνο ανόητη, αν μόνο που χρειάζεται είναι πέντε από αυτές τις θέσεις, 683 00:32:38,490 --> 00:32:40,340 όχι το σύνολο της σειράς. 684 00:32:40,340 --> 00:32:42,180 >> Λοιπόν, πώς μπορώ να εισάγετε ένα χρήστη; 685 00:32:42,180 --> 00:32:44,780 Ας υποθέσουμε ότι ένας χρήστης έχει μόλις εγγραφεί για πρώτη φορά. 686 00:32:44,780 --> 00:32:46,560 Η σύνταξη θα δούμε συνήθως σαν αυτό. 687 00:32:46,560 --> 00:32:52,700 Τοποθετήστε σε χρήστες, και τότε θα λέγαμε αξίες, 688 00:32:52,700 --> 00:33:00,150 και στη συνέχεια θα λέγαμε τιμές όπως, ας πούμε, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 videographer μας εδώ. 690 00:33:02,380 --> 00:33:04,390 Και το επόμενο πεδίο είναι το φύλο. 691 00:33:04,390 --> 00:33:08,020 Γι 'αυτό και θα πω απόσπασμα, unquote "F", τότε έχουμε ένα αναγνωριστικό 692 00:33:08,020 --> 00:33:12,250 και Πάω να say-- ας προσποιούνται ότι δεν είναι πραγματικά εδώ, 693 00:33:12,250 --> 00:33:14,380 έτσι θα rewind στην ιστορία. 694 00:33:14,380 --> 00:33:16,530 Έτσι 2 θα είναι το ID της. 695 00:33:16,530 --> 00:33:19,130 Και τότε το επόμενο πεδίο εδώ είναι το email της. 696 00:33:19,130 --> 00:33:22,140 Γι 'αυτό πρόκειται να είναι όπως Lauren Scully και ούτω καθεξής, 697 00:33:22,140 --> 00:33:24,360 και εμείς θα dot απλά dot dot μακριά από εδώ. 698 00:33:24,360 --> 00:33:26,890 Τώρα θα πάρει λίγο κουραστική, αλλά το ερώτημα ένθετο 699 00:33:26,890 --> 00:33:28,310 Θα δούμε τελικά έτσι. 700 00:33:28,310 --> 00:33:30,970 >> Αν θέλω να απαλλαγούμε από Scully, uh-OH, ας διαγράφουν 701 00:33:30,970 --> 00:33:37,420 της, διαγράφει το λογαριασμό της, διαγραφή από τους χρήστες, όπου ID ισούται με 2, 702 00:33:37,420 --> 00:33:38,500 θα απαλλαγούμε από Scully. 703 00:33:38,500 --> 00:33:48,050 Ή μπορώ να πω ορίσετε τους χρήστες ενημέρωση, ας πούμε, τι θα μπορούσαμε να αλλάξουμε; 704 00:33:48,050 --> 00:33:49,430 Ας υποθέσουμε ότι κινείται. 705 00:33:49,430 --> 00:33:53,730 Σετ φερμουάρ ισούται 021-- nope, ότι η τρέχουσα φερμουάρ της. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Το μόνο άλλο ταχυδρομικό κώδικα Ξέρω στον κόσμο. 708 00:33:56,320 --> 00:33:59,002 Έτσι ώστε να αλλάξει φερμουάρ της code-- πραγματικότητα, 709 00:33:59,002 --> 00:34:00,460 ότι δεν θα αλλάξει τον ταχυδρομικό κώδικα της. 710 00:34:00,460 --> 00:34:02,170 >> Τι έκανα ακριβώς κάνει; 711 00:34:02,170 --> 00:34:04,292 Ακόμη και αν η σύνταξη είναι μάλλον νέα. 712 00:34:04,292 --> 00:34:05,302 >> Κοινό: [δεν ακούγεται] 713 00:34:05,302 --> 00:34:08,010 DAVID Malan: Ναι, μετακόμισα σε όλους στο Μπέβερλι Χιλς, Καλιφόρνια. 714 00:34:08,010 --> 00:34:11,920 Γι 'αυτό και θα πρέπει στην πραγματικότητα δηλαδή όπου ID ισούται με 2. 715 00:34:11,920 --> 00:34:12,820 Και ούτω καθεξής. 716 00:34:12,820 --> 00:34:15,290 Έτσι SQL είναι όλα σχετικά με αυτά είδη οδηγίες. 717 00:34:15,290 --> 00:34:20,260 Επιλέξτε, εισάγετε, διαγραφή, ενημέρωση, με αυτά τα κατηγορήματα στο τέλος 718 00:34:20,260 --> 00:34:22,139 Οι ρήτρες αυτές όπου, να το πω έτσι. 719 00:34:22,139 --> 00:34:25,170 Και υπάρχουν πολλά περισσότερα που μπορείτε κάνουμε, αλλά πραγματικά ακριβώς βράζει κάτω 720 00:34:25,170 --> 00:34:29,750 απλά, αν arcanely, εκφράζοντας τι θέλετε η βάση δεδομένων να κάνουμε. 721 00:34:29,750 --> 00:34:31,580 >> Και τότε η βάση δεδομένων Θα καταλάβω, όταν 722 00:34:31,580 --> 00:34:35,630 εισάγετε Lauren Scully σε η βάση δεδομένων, όπου για να την βάλει στη μνήμη 723 00:34:35,630 --> 00:34:38,230 έτσι ώστε να μπορούμε να πάρουμε πολύ γρήγορα της με βάση τη διεύθυνση ηλεκτρονικού ταχυδρομείου της 724 00:34:38,230 --> 00:34:42,610 ή με βάση τον αριθμό ταυτότητας ή τα παρόμοια. 725 00:34:42,610 --> 00:34:43,391 Ναι, Νταν. 726 00:34:43,391 --> 00:34:44,266 Κοινό: [δεν ακούγεται] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Malan: Πραγματικά καλή ερώτηση. 729 00:34:47,780 --> 00:34:50,370 Θα αυτά τα σενάρια να αλλάξει από Microsoft Access με την Oracle 730 00:34:50,370 --> 00:34:52,290 σε MySQL σε PostgreSQL; 731 00:34:52,290 --> 00:34:53,790 Η σύντομη απάντηση είναι ότι εξαρτάται. 732 00:34:53,790 --> 00:34:58,697 Θεωρητικά, υπάρχει ένα πολύ σημαντική κοινό υποσύνολο της SQL 733 00:34:58,697 --> 00:35:00,780 τον οποίο μοιράζονται σε όλες τις από αυτές τις εφαρμογές. 734 00:35:00,780 --> 00:35:03,340 Ωστόσο, διάφοροι κατασκευαστές έχουν προστεθεί χαρακτηριστικά 735 00:35:03,340 --> 00:35:07,120 στις βάσεις δεδομένων τους για να κάνουν ορισμένα πράγματα πέρα από το πεδίο εφαρμογής αυτών των χαρακτηριστικών, 736 00:35:07,120 --> 00:35:08,720 ότι θα μπορούσε, στην πραγματικότητα, να σπάσει. 737 00:35:08,720 --> 00:35:11,210 >> Έτσι ο τρόπος προγραμματιστές αντιστάθμιση έναντι αυτού, 738 00:35:11,210 --> 00:35:14,350 είναι ότι, αντί να γράφει τις πρώτες SQL κώδικα, όπως γράφω εδώ, 739 00:35:14,350 --> 00:35:19,460 που αντί να χρησιμοποιούν μια βιβλιοθήκη, μια κοινή βιβλιοθήκη που η ίδια 740 00:35:19,460 --> 00:35:23,650 Είναι το είδος του υψηλότερου επιπέδου και αποσπάσματα μακριά ποιο προϊόν που χρησιμοποιείτε. 741 00:35:23,650 --> 00:35:25,710 Και αυτό σας δίνει λειτουργίες και οι διαδικασίες 742 00:35:25,710 --> 00:35:28,810 για να καλέσετε, έτσι ώστε να μην στην πραγματικότητα γράφουν πρώτες SQL. 743 00:35:28,810 --> 00:35:32,609 >> Θεωρητικά, λοιπόν, μπορείτε να αλλάξετε προϊόντων από την Oracle στη Microsoft 744 00:35:32,609 --> 00:35:34,650 ή το αντίστροφο ή τίποτα άλλο, και μπορείτε κυριολεκτικά 745 00:35:34,650 --> 00:35:36,920 αλλάξει τίποτα σχετικά με τον κωδικό σας. 746 00:35:36,920 --> 00:35:40,180 Η πραγματικότητα, όμως, είναι, μερικές φορές παραιτηθεί χαρακτηριστικά ως αποτέλεσμα. 747 00:35:40,180 --> 00:35:43,860 Μπορείτε να επιλέξετε ένα προϊόν, επειδή ότι έχεις αυτά τα χαρακτηριστικά προστιθέμενης αξίας, 748 00:35:43,860 --> 00:35:46,610 και είστε ακριβώς τώρα δεν τη χρήση τους συνειδητά. 749 00:35:46,610 --> 00:35:51,630 >> Και ανεκδοτολογικά, οι περισσότερες εταιρείες έχουν την τάση ποτέ να ξεφύγουμε από τη βάση δεδομένων τους. 750 00:35:51,630 --> 00:35:54,002 Έτσι, ενώ αυτό είναι ένα ωραίο να έχουν τη δυνατότητα, η πραγματικότητα 751 00:35:54,002 --> 00:35:55,960 είναι, αν είστε αναμόρφωση τη βάση δεδομένων σας, είστε 752 00:35:55,960 --> 00:35:59,890 ίσως κάνει τσαμπιά από άλλες αλλαγές ούτως ή άλλως, ότι δεν κάνει απαραιτήτως 753 00:35:59,890 --> 00:36:01,360 πρέπει να προβλέπουν ότι. 754 00:36:01,360 --> 00:36:03,720 Έτσι είναι αναμφισβήτητα πάνω-μηχανική του προβλήματος, 755 00:36:03,720 --> 00:36:05,670 αλλά αυτό εξαρτάται πραγματικά από το πλαίσιο. 756 00:36:05,670 --> 00:36:09,960 Αλλά στη θεωρία, SQL μοιράζεται σε αυτές διάφορα προϊόντα. 757 00:36:09,960 --> 00:36:11,560 Πραγματικά καλές ερωτήσεις. 758 00:36:11,560 --> 00:36:12,272 Ναι. 759 00:36:12,272 --> 00:36:13,147 >> Κοινό: [δεν ακούγεται] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Malan: Ναι, έτσι μπορείτε να σκεφτείτε μια βάση δεδομένων 762 00:36:21,480 --> 00:36:25,020 είναι απλά ένας διακομιστής, στο τέλος του η ημέρα, και στο εσωτερικό του εν λόγω εξυπηρετητή 763 00:36:25,020 --> 00:36:28,670 Είναι ένα σωρό πίνακες, σειρές και στήλες. 764 00:36:28,670 --> 00:36:33,410 Και όταν στέλνετε ένα ερώτημα, όπως αυτό από το πρόγραμμά σας, την ιστοσελίδα σας, 765 00:36:33,410 --> 00:36:39,340 γραμμένο σε Java, Ruby, Python, όποια και αν είναι, ο διακομιστής λαμβάνει την εντολή αυτή 766 00:36:39,340 --> 00:36:41,660 και την ερμηνεία σε κυριολεκτικά με τον ίδιο τρόπο 767 00:36:41,660 --> 00:36:43,660 συζητήσαμε νωρίτερα με ερμηνευμένες γλώσσες, 768 00:36:43,660 --> 00:36:47,333 και στη συνέχεια εκτελεί κάποια ενέργεια στο μηδέν ή περισσότερες σειρές στο μηδέν ή περισσότερους πίνακες. 769 00:36:47,333 --> 00:36:48,208 Κοινό: [δεν ακούγεται] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Malan: Ακριβώς, ακριβώς. 772 00:36:55,070 --> 00:36:58,450 Έτσι, το ψευδοκώδικα για κάτι όπως αυτό θα μπορούσε να είναι αυτό. 773 00:36:58,450 --> 00:37:02,450 Στο αρχείο PHP σας ή να σας αρχείο Python ή αρχείο Java σας, 774 00:37:02,450 --> 00:37:09,210 θα έχετε ψευδοκώδικα κώδικα, ή Scratch-όπως τετράγωνα καθώς, εάν επισκέψεις χρήστη 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V για πρώτη φορά, στη συνέχεια, τοποθετήστε σε χρήστες και ούτω καθεξής. 776 00:37:19,870 --> 00:37:22,619 Και εμείς θα μεταφραστεί αυτό σε Πιο συγκεκριμένα κώδικα στο τέλος. 777 00:37:22,619 --> 00:37:24,660 Αλλά πραγματικά, έχουμε όλοι τα δομικά στοιχεία εδώ, 778 00:37:24,660 --> 00:37:27,680 ακόμα κι αν είμαστε παρακάμπτοντας μερικά από τα στάδια υλοποίησης. 779 00:37:27,680 --> 00:37:31,560 >> Επιτρέψτε μου λοιπόν να ψέγει με ό, τι θαυμάσια έκανε μόλις πριν από ένα χρόνο. 780 00:37:31,560 --> 00:37:36,470 Έχετε δημιουργήσει μια αρκετά πλήρης πίνακας για τους χρήστες. 781 00:37:36,470 --> 00:37:38,920 Βεβαίως, θα μπορούσαμε να εφαρμόσουν ότι σε λίγες διαφορετικούς τρόπους, 782 00:37:38,920 --> 00:37:43,030 αλλά έχετε στην πραγματικότητα μας οδήγησε κάτω από το path-- και εγώ λέτε, 783 00:37:43,030 --> 00:37:48,080 αλλά είναι μάλλον fault-- μου ένα αρκετά αναποτελεσματική εφαρμογή βάσης δεδομένων. 784 00:37:48,080 --> 00:37:49,950 Δεν είναι ομαλοποιηθεί. 785 00:37:49,950 --> 00:37:52,320 >> Και με ομαλοποιημένη εννοώ υπάρχει πρόκειται να είναι, 786 00:37:52,320 --> 00:37:57,380 πάροδο του χρόνου, μια σημαντική εφεδρεία, και ως εκ τούτου, η αναποτελεσματικότητα, 787 00:37:57,380 --> 00:38:00,210 ότι είναι σπατάλη χώρου. 788 00:38:00,210 --> 00:38:05,650 Με βάση μόνο αυτό που βλέπετε εδώ, μπορεί να προβλέπετε όπου αυτό το χάσιμο του χώρου 789 00:38:05,650 --> 00:38:08,710 πρόκειται να έρθει από την πάροδο του χρόνου, καθώς όλο και περισσότεροι χρήστες να εγγραφείτε 790 00:38:08,710 --> 00:38:10,860 για την ιστοσελίδα σας; 791 00:38:10,860 --> 00:38:13,047 Ποια στοιχεία θα μπορούσε να καταστεί περιττή; 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> Κοινό: [δεν ακούγεται] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Malan: Γιατί σημαίνει αυτό; 795 00:38:22,686 --> 00:38:23,561 Κοινό: [δεν ακούγεται] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Malan: Ναι. 798 00:38:32,930 --> 00:38:35,622 Και ας υποθέσουμε ότι για τους σκοπούς του σήμερα ότι αυτό είναι αλήθεια. 799 00:38:35,622 --> 00:38:38,330 Βγάζει, και έχουμε μάθει αυτό το δύσκολο τρόπο, ότι δεν είναι αλήθεια. 800 00:38:38,330 --> 00:38:41,670 Κάπως πολλές πόλεις έχουν, κατά κάποιο τρόπο, το ίδιο ταχυδρομικό κώδικα, 801 00:38:41,670 --> 00:38:43,390 που σπάει αυτό το υπέροχο διαίσθηση. 802 00:38:43,390 --> 00:38:46,180 Αλλά ας υποθέσουμε ότι είναι αλήθεια, γιατί είναι σχεδόν πάντα αλήθεια. 803 00:38:46,180 --> 00:38:51,390 Έτσι, ας υποθέσουμε ότι ένας ταχυδρομικός κώδικας είναι πάντα με την ίδια πόλη 804 00:38:51,390 --> 00:38:53,600 και το κράτος, το οποίο είναι το είδος της λογική υπόθεση, 805 00:38:53,600 --> 00:38:54,840 αλλά λανθασμένη, αποδεικνύεται. 806 00:38:54,840 --> 00:38:57,310 Αλλά μια λογική υπόθεση για τη σημερινή σκοπούς. 807 00:38:57,310 --> 00:39:01,650 >> Στη συνέχεια, ας υποθέσουμε ότι ζω στο Cambridge, ΜΑ, σύμφωνα με τον πίνακα του χρήστη, 808 00:39:01,650 --> 00:39:04,100 και ας υποθέσουμε ότι η Lauren Scully ζει στο Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 και ας υποθέσουμε ότι Kareem Ζει στο Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 και Arwa ζει στο Κέιμπριτζ, ΜΑ, όλοι μας στο 02138. 811 00:39:10,400 --> 00:39:15,890 Γιατί θυμόμαστε Cambridge, ΜΑ, 02138 και για τους τέσσερις από εμάς; 812 00:39:15,890 --> 00:39:18,903 Τι θα έπρεπε να αρκεί για να θυμόμαστε; 813 00:39:18,903 --> 00:39:20,249 >> Κοινό: [δεν ακούγεται] 814 00:39:20,249 --> 00:39:21,540 DAVID Malan: Ακριβώς το ταχυδρομικό κώδικα. 815 00:39:21,540 --> 00:39:25,080 Απλά ότι 02138 υπάρχει, γιατί Ξέρετε τι θα μπορούσαμε να κάνουμε; 816 00:39:25,080 --> 00:39:32,650 Θα μπορούσαμε να πάρουμε λίγο φανταχτερό εδώ και εδώ, ορίζουν έναν άλλο πίνακα 817 00:39:32,650 --> 00:39:35,850 όταν αυτό πρόκειται να είναι η το όνομα, αυτό πρόκειται να είναι ο τύπος, 818 00:39:35,850 --> 00:39:38,840 αυτό πρόκειται να είναι το το μήκος, και στο εξής, είμαι 819 00:39:38,840 --> 00:39:42,900 πρόκειται να καλέσει ο πίνακας αυτός πόλεις μου. 820 00:39:42,900 --> 00:39:47,011 Αυτό ονομάζεται, της Φυσικά, τραπέζι χρήστες μου. 821 00:39:47,011 --> 00:39:49,885 Και ναι, τι πρέπει να βάλω εδώ για το τραπέζι πόλεις μου, νομίζεις; 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> Κοινό: [δεν ακούγεται] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Malan: Ναι. 825 00:39:55,930 --> 00:40:01,440 Έτσι, φερμουάρ και το κράτος και την πόλη. 826 00:40:01,440 --> 00:40:05,350 Και έτσι ο τύπος εδώ, εμείς θα πούμε αυτό πρόκειται να είναι μια χαρα 5 και πάλι, 827 00:40:05,350 --> 00:40:06,750 με την επιφύλαξη της συζήτησης του νωρίτερα. 828 00:40:06,750 --> 00:40:14,810 Αυτό θα είναι ένα enum, ίσως όπως πριν, και την πόλη θα είναι μια varchar 50. 829 00:40:14,810 --> 00:40:17,960 Και έτσι τώρα τι μπορώ να πάρω να διαγράψει από τον πίνακα 830 00:40:17,960 --> 00:40:21,995 να εξαλειφθεί αυτή η αναποτελεσματικότητα; 831 00:40:21,995 --> 00:40:23,100 >> Κοινό: [δεν ακούγεται] 832 00:40:23,100 --> 00:40:23,850 DAVID Malan: Νίκαια. 833 00:40:23,850 --> 00:40:30,239 Κράτος και την πόλη πάει μακριά, έτσι έχω τώρα εξαλειφθεί το ενδεχόμενο της αναποτελεσματικότητας 834 00:40:30,239 --> 00:40:33,280 για πλεονασμό θυμόμαστε, Cambridge, ΜΑ, Cambridge, ΜΑ, Cambridge, ΜΑ, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, η οποία, ελπίζουμε δεν πρόκειται ποτέ να αλλάξει. 836 00:40:35,712 --> 00:40:37,670 Και ακόμα κι αν το κάνει, είναι minorly ενοχλητικό, τώρα 837 00:40:37,670 --> 00:40:39,750 ότι πρέπει να αλλάξει σε πολλαπλές σειρές, 838 00:40:39,750 --> 00:40:43,770 ενώ εδώ, θα μπορούσα απλά αλλάξτε το σε ένα μέρος. 839 00:40:43,770 --> 00:40:46,890 >> Τώρα ποιο είναι το trade-off, ίσως; 840 00:40:46,890 --> 00:40:48,020 Αυτό ήταν σούπερ βολικό. 841 00:40:48,020 --> 00:40:50,730 Είχε όλα τα δεδομένα μου όμορφα μαζί. 842 00:40:50,730 --> 00:40:53,644 Αλλά τι είναι σαφώς η περίπτωση τώρα; 843 00:40:53,644 --> 00:40:55,684 >> Κοινό: [δεν ακούγεται] 844 00:40:55,684 --> 00:40:58,100 DAVID Malan: Ακριβώς, και είμαι χαρούμε να σας χρησιμοποιείται η λέξη ενταχθούν, 845 00:40:58,100 --> 00:41:01,320 γιατί αυτό είναι στην πραγματικότητα η λέξη-κλειδί, στον κόσμο των σχεσιακών βάσεων δεδομένων 846 00:41:01,320 --> 00:41:05,270 σε SQL, είναι μια πραγματική λέξη που να πληκτρολογήσετε ή τουλάχιστον να μεταδώσει. 847 00:41:05,270 --> 00:41:09,280 Και στην πραγματικότητα, αυτό που τώρα πρέπει να κάνουμε για να επιλέξετε πλήρη στοιχεία του Δαβίδ είναι 848 00:41:09,280 --> 00:41:19,700 κάτι σαν επιλέξτε αστέρι από χρήστες, να συμμετάσχουν σε πόλεις, on-- και τώρα 849 00:41:19,700 --> 00:41:24,010 Πάω σε μόλις προχωρήσουμε σε μια δεύτερη γραμμή έτσι ώστε αυτή η fits-- users.zip ισούται 850 00:41:24,010 --> 00:41:34,570 cities.zip, όπου users.ID ισούται με 1. 851 00:41:34,570 --> 00:41:35,550 >> Λοιπόν τι συμβαίνει? 852 00:41:35,550 --> 00:41:38,970 Είναι άσχημο αναζητούν, αλλά μπορείτε να το είδος της διαβάσετε τα αριστερά προς τα δεξιά, από πάνω προς τα κάτω. 853 00:41:38,970 --> 00:41:41,030 Επιλέξτε αστέρων από τους χρήστες είναι η ίδια όπως και πριν, 854 00:41:41,030 --> 00:41:42,930 αλλά δεν είναι από τους χρήστες, per se. 855 00:41:42,930 --> 00:41:45,910 Είναι από τους χρήστες ενταχθούν πόλεις. 856 00:41:45,910 --> 00:41:48,520 Τι είμαι εγώ που ενώνει αυτά τα δύο πίνακες; 857 00:41:48,520 --> 00:41:51,820 Λοιπόν, προφανώς, η πίνακες χρήστες φερμουάρ τομέα, 858 00:41:51,820 --> 00:41:54,810 και η περίοδος αυτή είναι μόνο ειδική σύνταξη για να εκφράσει αυτή την ιδέα, 859 00:41:54,810 --> 00:41:58,130 και αυτό είναι οι πόλεις πίνακες φερμουάρ τομέα. 860 00:41:58,130 --> 00:42:01,580 Θέλω αυτά τα δύο να είναι ίση, αλλά θέλω να τελικά να επιλέξετε 861 00:42:01,580 --> 00:42:06,280 μόνον οι γραμμές όπου ID στον πίνακα των χρηστών 862 00:42:06,280 --> 00:42:08,730 ισούται με 1, το οποίο έτυχε να είναι δικό μου. 863 00:42:08,730 --> 00:42:11,781 >> Και ακριβώς για να είναι σαφής, μια προγραμματιστής, συνήθως όταν 864 00:42:11,781 --> 00:42:14,780 hardcode κάτι σαν τον αριθμό 1, διότι διαφορετικά η ιστοσελίδα μόνο 865 00:42:14,780 --> 00:42:17,630 υποστηρίζει ο David ή ο πρώτη χρήστη, 866 00:42:17,630 --> 00:42:20,720 αντ 'αυτού θα κάνω κάτι σαν ταυτότητα, όπου 867 00:42:20,720 --> 00:42:22,510 αυτό αντιπροσωπεύει ένα μεταβλητή, κάτι που 868 00:42:22,510 --> 00:42:26,210 μπορεί να αλλάξει με την πάροδο του χρόνου, παρόμοια στο πνεύμα με αυτό που είπα νωρίτερα 869 00:42:26,210 --> 00:42:28,080 με αυτά τα είδη των συμβόλων κράτησης θέσης. 870 00:42:28,080 --> 00:42:30,396 Αλλά για τώρα θα το hardcode εξίσου 1. 871 00:42:30,396 --> 00:42:31,520 Και ναι, τι σημαίνει αυτό; 872 00:42:31,520 --> 00:42:35,100 Λοιπόν, ένας ωραίος τρόπος για να απεικονίσει αυτό είναι ότι εάν αυτό το χέρι είναι ο πίνακας των χρηστών, 873 00:42:35,100 --> 00:42:38,090 και αυτό το χέρι είναι οι φερμουάρ τραπέζι, είμαστε είδος finding-- 874 00:42:38,090 --> 00:42:41,330 και οι άκρες των δακτύλων μου είναι zip εδώ, και οι άκρες των δακτύλων μου 875 00:42:41,330 --> 00:42:43,740 εδώ είναι zip, είστε το είδος του σύμπλεξη 876 00:42:43,740 --> 00:42:47,950 έτσι ώστε να μπορείτε να πάρετε πίσω την προκύπτουσα αρχικό πίνακα, με πραγματικά ενώνει 877 00:42:47,950 --> 00:42:49,590 οι δύο πίνακες σχετικά με την κοινή τομέα. 878 00:42:49,590 --> 00:42:50,840 Και αυτό δεν πρέπει να είναι φερμουάρ. 879 00:42:50,840 --> 00:42:54,460 Θα μπορούσε να είναι πιο τίποτ 'άλλο, αλλά zip είναι ωραίο, γιατί το ένα, είναι μικρή, 880 00:42:54,460 --> 00:42:56,470 δύο, είναι πάντα η ίδιο μήκος, οπότε δεν υπάρχει 881 00:42:56,470 --> 00:43:02,270 μια πραγματική απόδοση σε ό, τι Olivier προτείνεται εδώ 882 00:43:02,270 --> 00:43:05,200 με factoring από το φερμουάρ, και [Δεν ακούγεται] προτείνει ότι μπορούμε να απαλλαγούμε 883 00:43:05,200 --> 00:43:07,110 της πόλης και των κρατών. 884 00:43:07,110 --> 00:43:11,370 >> Έτσι, αυτό είναι η διαδικασία γνωστή ως κανονικοποίηση. 885 00:43:11,370 --> 00:43:14,171 Οποιεσδήποτε ερωτήσεις σχετικά με αυτό; 886 00:43:14,171 --> 00:43:16,170 Λοιπόν επιτρέψτε μου να επισημάνω αυτό είναι το είδος της ουσίας, 887 00:43:16,170 --> 00:43:19,202 ακόμα κι αν είναι αρκετά χαμηλό επίπεδο, αυτή η συζήτηση, που θα έλεγε κανείς ότι 888 00:43:19,202 --> 00:43:20,910 είστε το είδος του να πάρει χάνεται στα ζιζάνια, 889 00:43:20,910 --> 00:43:26,690 αυτό είναι μια εκδήλωση της άφθονης ευκαιρία για τους προγραμματιστές να είναι κακό. 890 00:43:26,690 --> 00:43:29,600 Και στην πραγματικότητα, ακόμα και όταν, σε μαθήματα που έχω διδάξει, όταν είχαμε, 891 00:43:29,600 --> 00:43:32,290 για παράδειγμα, άπειρους προπτυχιακό προγραμματιστές 892 00:43:32,290 --> 00:43:35,920 κατασκευή ιστοσελίδων, με την πρώτη ματιά, οι ιστοσελίδες μπορεί να φαίνονται τεράστια. 893 00:43:35,920 --> 00:43:38,280 Και έχουν όλα τα λειτουργικότητα ζητήσαμε, 894 00:43:38,280 --> 00:43:40,650 οι προγραμματιστές έκανε καλή δουλειά. 895 00:43:40,650 --> 00:43:43,370 >> Αλλά δεν ήξεραν απαραίτητα αρκετά σχετικά με το σχεδιασμό της βάσης δεδομένων 896 00:43:43,370 --> 00:43:46,680 ή δεν σκέφτονται σκληρά αρκετά σχετικά με τους τύπους των δεδομένων 897 00:43:46,680 --> 00:43:49,220 και τα είδη των χρηστών τους ιστοσελίδα επρόκειτο να έχουν, 898 00:43:49,220 --> 00:43:53,240 και βρίσκουμε, τότε, έξι μήνες αργότερα, αφού έχουν αποφοιτήσει ή μετακινηθεί σε, 899 00:43:53,240 --> 00:43:56,016 ότι γαμώτο, την ιστοσελίδα μας Είναι πραγματικά, πραγματικά αργό. 900 00:43:56,016 --> 00:43:58,890 Και δεν είμαι καν να μιλάμε για την κατοχή εκατομμύρια ή χιλιάδες χρήστες. 901 00:43:58,890 --> 00:44:02,580 Θέλω να πω μερικές εκατοντάδες χρήστες στην πανεπιστημιούπολη, οι οποίοι ήθελαν να, για παράδειγμα, 902 00:44:02,580 --> 00:44:04,870 κατάστημα για τα μαθήματα στο Την ίδια στιγμή, από όπου και αν 903 00:44:04,870 --> 00:44:07,010 χρησιμοποιώντας αυτή Κατάλογος πορεία εφαρμογή ανέφερα 904 00:44:07,010 --> 00:44:10,410 και το πράγμα είναι να πάρει πραγματικά επιβραδύνει, επειδή δεν υπήρχαν ευρετήρια. 905 00:44:10,410 --> 00:44:13,740 Δεν υπήρχαν κόκκινα αστέρια, έτσι ώστε να μιλούν, ή δεν είχε κατ 'ανάγκην 906 00:44:13,740 --> 00:44:17,690 συνυπολογίζονται τα κοινά στοιχεία που να πάρετε κάποια εξοικονόμηση χώρου. 907 00:44:17,690 --> 00:44:21,880 >> Και έτσι, όταν την εξέταση έναν προγραμματιστή ή πρόσωπο βάση δεδομένων ή τα παρόμοια, 908 00:44:21,880 --> 00:44:25,864 τα είδη των ερωτήσεων να σκέφτονται μέσα είναι ακόμη, κατά την αναθεώρηση κώδικα κάποιου, 909 00:44:25,864 --> 00:44:28,530 να πω, δεν είναι απαραίτητα δούμε μέσω όλων των κώδικά τους, αλλά λένε, 910 00:44:28,530 --> 00:44:30,154 ας δούμε μέσα από τους πίνακες της βάσης δεδομένων. 911 00:44:30,154 --> 00:44:31,150 Τι αποθήκευση; 912 00:44:31,150 --> 00:44:33,941 Και στη συνέχεια να πω, καλά, περιμένετε λεπτό, γιατί χρησιμοποιείτε έναν ακέραιο; 913 00:44:33,941 --> 00:44:36,224 Τι θα συμβεί αν έχουμε 4000000000 και 1 από αυτές τις γραμμές; 914 00:44:36,224 --> 00:44:38,140 Και αυτά τα είδη των ερωτήσεις είναι μια ευκαιρία 915 00:44:38,140 --> 00:44:40,170 με το είδος της ώθησης και να πάρετε μια αίσθηση του, όπου 916 00:44:40,170 --> 00:44:42,300 αν δεν είστε άνετα με αυτό ότι, έχοντας κάποιος πιο τεχνικά 917 00:44:42,300 --> 00:44:45,425 θέσουμε αυτά τα ερωτήματα, από το αν ή όχι το πρόσωπο που ξέρει πραγματικά την ουσία τους. 918 00:44:45,425 --> 00:44:47,890 Και αυτό είναι το είδος της πράγματα, επίσης, ότι οι άνθρωποι 919 00:44:47,890 --> 00:44:50,540 στο διαδίκτυο που είναι αυτοδίδακτος, ίσως 920 00:44:50,540 --> 00:44:53,920 μαθαίνουν λιγότερο συχνά, επειδή δεν έρχονται απαραίτητα σε όλη την 921 00:44:53,920 --> 00:44:56,630 τόσο πολύ, επειδή μπορείτε να πάρετε η βάση δεδομένων και τη λειτουργία, 922 00:44:56,630 --> 00:44:58,880 αλλά αν δεν έχετε διαβάσει επάνω σε σεμινάρια ή ήταν 923 00:44:58,880 --> 00:45:01,880 είπε για κανονικοποίηση της βάσης δεδομένων και την ευρετηρίαση και την απόδοση, 924 00:45:01,880 --> 00:45:04,255 αυτά είναι τα είδη των πραγμάτων που πρόκειται να σας βλάψει. 925 00:45:04,255 --> 00:45:07,480 Και μπορείτε να σκεφτείτε, ή μια κακή μηχανικός θα μπορούσε να πει, OH, καλά, έχουμε καλύτερες αμοιβές 926 00:45:07,480 --> 00:45:09,600 για ένα μεγαλύτερο βάση δεδομένων ή μια ταχύτερη βάση δεδομένων 927 00:45:09,600 --> 00:45:13,360 ή απλά να ρίξει χρήματα σε αυτό, κάθετα κλίμακα, δεν είναι απαραίτητα έτσι. 928 00:45:13,360 --> 00:45:16,920 Αν πάτε in-- και μπορείτε να πάτε στο μετά τις fact-- και να προσθέσετε ευρετήρια, 929 00:45:16,920 --> 00:45:20,320 και μπορεί να χρειαστούν μερικές ώρες για το βάση δεδομένων για τη δημιουργία αυτής της νέας δεδομένων 930 00:45:20,320 --> 00:45:24,100 δομή που αναφέρθηκε προηγουμένως, μπορείτε ακόμα να διορθώσετε αυτό μετά το γεγονός, 931 00:45:24,100 --> 00:45:26,180 ότι αυτό είναι όπου μπορείτε να αρχίζουν να διακρίνουν 932 00:45:26,180 --> 00:45:28,830 καλές σχεδιαστές από το κακό σχεδιαστές, όχι μόνο αισθητικά, 933 00:45:28,830 --> 00:45:32,972 αλλά η απόδοση-σοφός, καθώς και. 934 00:45:32,972 --> 00:45:33,555 Καμιά ερώτηση? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Όχι? 937 00:45:37,480 --> 00:45:41,980 Έτσι, για NoSQL, η οποία ήταν ο άλλος τύπος της βάσης δεδομένων στην οποία αναφέρθηκα νωρίτερα, 938 00:45:41,980 --> 00:45:43,490 δεν έχετε γραμμές και στήλες. 939 00:45:43,490 --> 00:45:47,000 Αντ 'αυτού, θα έχετε κάτι ότι φαίνεται λίγο περισσότερο σαν αυτό. 940 00:45:47,000 --> 00:45:48,630 Πάω να χρησιμοποιούν κοινή σύνταξη. 941 00:45:48,630 --> 00:45:51,270 Άγκιστρα να συμβεί σε να χρησιμοποιηθεί εδώ αρκετά. 942 00:45:51,270 --> 00:45:55,400 Μπορεί να έχετε κάτι σαν πρώτο όνομα είναι David, 943 00:45:55,400 --> 00:46:00,180 μπορεί να έχετε την τελευταία όνομα είναι Malan, εισαγωγικά, 944 00:46:00,180 --> 00:46:07,530 μπορεί να έχετε ID is-- με συγχωρείτε, whoops-- ID είναι 1, 945 00:46:07,530 --> 00:46:13,410 ηλεκτρονικού ταχυδρομείου είναι malan@harvard.edu, και δεν θα το κάνω κόπο να πληκτρολογείτε το υπόλοιπο, και στη συνέχεια, 946 00:46:13,410 --> 00:46:14,380 μερικά άλλα πράγματα. 947 00:46:14,380 --> 00:46:17,380 >> Με άλλα λόγια, πρόκειται για μια αναπαράσταση κειμένου 948 00:46:17,380 --> 00:46:20,720 από αυτό που θα λέγαμε γενικά ένα αντικείμενο σε ένα πρόγραμμα υπολογιστή. 949 00:46:20,720 --> 00:46:26,079 Και ένα αντικείμενο είναι γενικά μόνο μια συλλογή από βασικά ζεύγη αξία. 950 00:46:26,079 --> 00:46:27,370 Έτσι και πάλι, αυτό το επαναλαμβανόμενο θέμα. 951 00:46:27,370 --> 00:46:30,440 Είδαμε ζευγάρια κλειδί αξία σε HTML, είδαμε βασικά ζεύγη αξία τώρα 952 00:46:30,440 --> 00:46:34,020 στο πλαίσιο των βάσεων δεδομένων, και εμείς είδε βασικά ζεύγη αξία στο πλαίσιο 953 00:46:34,020 --> 00:46:35,970 της, νομίζω, μια γλώσσα νωρίτερα σήμερα. 954 00:46:35,970 --> 00:46:36,890 Διατηρεί ανεβαίνει. 955 00:46:36,890 --> 00:46:39,620 Και πράγματι, αυτό είναι πραγματικά ποια δεδομένα βράζει κάτω, 956 00:46:39,620 --> 00:46:44,240 δεδομένα και μεταδεδομένα, ή οι τιμές και κλειδιά, αντίστοιχα. 957 00:46:44,240 --> 00:46:47,430 >> Έτσι, μια μη σχεσιακή βάση δεδομένων, κάτι που βασίζεται 958 00:46:47,430 --> 00:46:50,680 σε αντικείμενα, όπου μπορείτε απλά συστάδα δέντρων όλα μαζί και να το βάλετε 959 00:46:50,680 --> 00:46:55,640 στη μνήμη, θα ήταν γενικά απεικονίζεται ως, ή σκεφτεί, όπως αυτό. 960 00:46:55,640 --> 00:47:00,500 Και εγώ θα το αφήσω αυτό τώρα ως είδος εναλλακτικής προσέγγισης. 961 00:47:00,500 --> 00:47:03,750 Και ένας δεν είναι απαραίτητα καλύτερη από την άλλη. 962 00:47:03,750 --> 00:47:07,310 Στην πραγματικότητα, πολύ στη μόδα αυτές τις μέρες είναι συστήματα βάσεων δεδομένων 963 00:47:07,310 --> 00:47:11,942 όπως MongoDB και Ρέντη και μερικά και άλλα τέτοια εργαλεία, ελεύθερα διαθέσιμο, 964 00:47:11,942 --> 00:47:13,400 αλλά είναι όλο και πιο En Vogue. 965 00:47:13,400 --> 00:47:18,850 Εν μέρει επειδή προσφέρουν πρόσθετη χαρακτηριστικά κατά τη διάρκεια αυτών πίνακα προσεγγίσεις, 966 00:47:18,850 --> 00:47:20,850 αλλά και επειδή είναι λίγο πιο εύκολο στη χρήση, 967 00:47:20,850 --> 00:47:24,099 γιατί δεν έχετε να σκεφτείτε τόσο σκληρά για πολλά από αυτά τα σχεδιαστικές αποφάσεις. 968 00:47:24,099 --> 00:47:25,970 Έτσι συν και τα πλην. 969 00:47:25,970 --> 00:47:29,740 Έτσι συνειδητοποιούν υπάρχουν επιλογές πέρα από αυτό που μόλις περάσει το χρόνο επάνω. 970 00:47:29,740 --> 00:47:32,310 >> Ας το κάνουμε αυτό. 971 00:47:32,310 --> 00:47:37,870 Ας μετάβαση λίγο πίσω τώρα σε web προγραμματισμό, 972 00:47:37,870 --> 00:47:40,470 έτσι ώστε να έχουμε το είδος της συμπεράνουμε σήμερα με κάτι 973 00:47:40,470 --> 00:47:43,930 Αυτό είναι ένα μικρό hands-on, συμπληρώνοντας σε ορισμένες κενά από χθες. 974 00:47:43,930 --> 00:47:45,340 Επιτρέψτε μου να πάω σε αυτό το πρώτο. 975 00:47:45,340 --> 00:47:49,310 Έτσι, υπενθυμίζουν ότι χθες είχαμε κάποια κανονική HTML 976 00:47:49,310 --> 00:47:55,110 σελίδες που είχε αρχικά, μόνο HTML, και στη συνέχεια, δευτερευόντως είχε CSS, 977 00:47:55,110 --> 00:47:56,620 επικαλυπτόμενα φύλλα στυλ. 978 00:47:56,620 --> 00:47:59,830 Αυτή είναι μια νέα ετικέτα που δεν το κάναμε δείτε χθες, ή σταθώ, 979 00:47:59,830 --> 00:48:01,490 λεγόμενη ετικέτα σενάριο. 980 00:48:01,490 --> 00:48:05,830 >> Βγάζει μπορείτε να ενσωματώσετε στην πραγματικότητα μια γλώσσα που ονομάζεται JavaScript στον web σας 981 00:48:05,830 --> 00:48:08,310 σελίδα και να κάνει την ιστοσελίδα σας σελίδες κάνουμε κάτι. 982 00:48:08,310 --> 00:48:09,710 Λοιπόν, τι εννοώ με αυτό; 983 00:48:09,710 --> 00:48:12,630 Λοιπόν, επιτρέψτε μου να προχωρήσει και μόνο δανειστεί αυτόν τον κώδικα για μια στιγμή. 984 00:48:12,630 --> 00:48:15,860 Πάω να μπω σε Cloud9, δεν χρειάζεται να πάει εκεί τον εαυτό σας ακριβώς ακόμα, 985 00:48:15,860 --> 00:48:21,350 και Πάω να καλέσετε αυτό alert.HTML. 986 00:48:21,350 --> 00:48:23,650 Πάω να το επικολλήσετε στο αρχείο μου εδώ. 987 00:48:23,650 --> 00:48:32,070 Και ακριβώς για να αποσαφηνίσει τι έχω κάνει, ας να πάω σε αυτή τη διεύθυνση και να πάει να προειδοποιήσει, 988 00:48:32,070 --> 00:48:33,870 και μπορείτε να δείτε το Hello World. 989 00:48:33,870 --> 00:48:35,440 >> Αλλά αυτό είναι το είδος της απογοητευτικό. 990 00:48:35,440 --> 00:48:37,410 θέλω να κάνω κάτι λίγο διαφορετικά. 991 00:48:37,410 --> 00:48:40,610 Έτσι, Πάω να κάνω πραγματικά αυτό. 992 00:48:40,610 --> 00:48:43,820 Πάω να πάει εδώ e, και στο μεταξύ ετικέτες σενάριό μου, 993 00:48:43,820 --> 00:48:53,460 λένε alert ( 'Hello, world »)? έτσι ειδοποίηση είναι λίγο ατημέλητη, αλλά έχω HTML, 994 00:48:53,460 --> 00:48:56,180 εντός του οποίου είναι μια γλώσσα που ονομάζεται JavaScript, 995 00:48:56,180 --> 00:48:59,420 και αυτό είναι αυτό που ονομάζεται κλήση της συνάρτησης ή της διαδικασίας κλήσης. 996 00:48:59,420 --> 00:49:04,500 Αυτό είναι ένα ρήμα, κυριολεκτικά, στην περίπτωση αυτή, και είμαι επίκληση λειτουργικότητα κώδικα 997 00:49:04,500 --> 00:49:06,310 ότι κάποιος άλλος έγραψε. 998 00:49:06,310 --> 00:49:09,630 >> Έτσι ώστε η λειτουργικότητα είναι ένα συναγερμού, οπότε ας πάμε σε αυτή τη σελίδα 999 00:49:09,630 --> 00:49:14,046 τώρα και κάντε κλικ στο κουμπί reload, και τώρα σας δείτε ένα μικρό κομμάτι της διαδραστικότητας. 1000 00:49:14,046 --> 00:49:15,420 Είναι το είδος της παλιάς σχολής και άσχημο. 1001 00:49:15,420 --> 00:49:18,580 Αυτό το είδος της που θυμίζει το pop-ups, ίσως, του χτες 1002 00:49:18,580 --> 00:49:22,030 αλλά έκανα κάτι λίγο περισσότερο προγραμματικό. 1003 00:49:22,030 --> 00:49:26,940 >> Έτσι, περισσότερο από αυτό, ας κάνουμε κάτι πιο ενδιαφέρον. 1004 00:49:26,940 --> 00:49:30,980 Επιτρέψτε μου να πάω εδώ και να απαλλαγούμε από αυτό. 1005 00:49:30,980 --> 00:49:33,840 Και Πάω να πάει μπροστά και να δημιουργήσετε μια φόρμα όπως κάναμε χθες. 1006 00:49:33,840 --> 00:49:34,840 Στην πραγματικότητα, ξέρετε τι; 1007 00:49:34,840 --> 00:49:37,350 Πάω να μπω σε google.html, η οποία θα 1008 00:49:37,350 --> 00:49:43,027 άρχισε χθες, η οποία έμοιαζε αυτό, μέσω του οποίου ψάξαμε για τη γάτα 1009 00:49:43,027 --> 00:49:45,360 Αλλά παρατηρήσετε ότι υπάρχει το είδος της μια σφάλμα στην τρέχουσα έκδοση. 1010 00:49:45,360 --> 00:49:49,770 Λειτουργεί για γάτες, αλλά ας υποθέσουμε ότι Δεν συνεργάζονται και να πληκτρολογώ τίποτα, 1011 00:49:49,770 --> 00:49:53,290 και εγώ απλά πατήστε Υποβολή. 1012 00:49:53,290 --> 00:49:54,540 Αυτό είναι το είδος της παράξενο συμπεριφορά. 1013 00:49:54,540 --> 00:49:57,300 Μου πήρε με το πραγματικό Google, δεν μου δώσει ένα μήνυμα σφάλματος. 1014 00:49:57,300 --> 00:50:00,590 Θα ήθελα να πω στον χρήστη θα πρέπει να μας δώσει μια τιμή. 1015 00:50:00,590 --> 00:50:01,780 >> Λοιπόν, πώς θα μπορούσαμε να το κάνουμε αυτό; 1016 00:50:01,780 --> 00:50:06,790 Λοιπόν επιτρέψτε μου να πάω πίσω στο Cloud9 και επιτρέψτε μου να πάω στην κορυφή της σελίδας μου 1017 00:50:06,790 --> 00:50:11,980 και να προσθέσετε μια ετικέτα σενάριο όπως αυτό, όπου Πάω να πληκτρολογήσετε κάποιο κώδικα JavaScript. 1018 00:50:11,980 --> 00:50:15,420 Και Πάω να κάνω το εξής. 1019 00:50:15,420 --> 00:50:22,910 Αν (document.getelementByID-- και ανάκληση ότι μιλήσαμε για εκείνη την προγενέστερη, 1020 00:50:22,910 --> 00:50:23,960 αυτή η λειτουργία. 1021 00:50:23,960 --> 00:50:25,310 Τι ID μπορώ να θέλετε να πάρετε; 1022 00:50:25,310 --> 00:50:33,050 Θέλω να πάρω q, και πάω να ας πούμε ισούται με τίποτα, όπως this-- 1023 00:50:33,050 --> 00:50:38,220 στην πραγματικότητα επιτρέψτε μου να χρησιμοποιήσω διπλά εισαγωγικά μόνο για consistency-- ισούται με τίποτα, 1024 00:50:38,220 --> 00:50:46,650 Στη συνέχεια alert ( "Παρακαλώ πληκτρολογήστε ένα ερώτημα») εδώ. 1025 00:50:46,650 --> 00:50:49,200 >> Γι 'αυτό και ό, τι φαίνεται να είναι κάτι σαν μια κατάσταση. 1026 00:50:49,200 --> 00:50:51,410 Έχουμε δει αυτή τη γενική ιδέα στο Scratch. 1027 00:50:51,410 --> 00:50:54,240 Είναι σαν ένα από αυτά τα παζλ κομμάτια που έμοιαζαν με αυτό. 1028 00:50:54,240 --> 00:50:55,780 Και τι λέω; 1029 00:50:55,780 --> 00:50:59,520 Λοιπόν, εδώ κάτω, παρατηρήστε είμαι πρόκειται να κάνει τα εξής. 1030 00:50:59,520 --> 00:51:02,790 Πάω να δώσει σε αυτό το έντυπο τομέα δεν είναι μόνο ένα όνομα q, το οποίο 1031 00:51:02,790 --> 00:51:06,630 είναι αυτό που παίρνει πέρασε στο Google, αλλά είμαι πρόκειται να δώσει ένα τοπικό αναγνωριστικό, 1032 00:51:06,630 --> 00:51:07,630 που ονομάζεται επίσης q. 1033 00:51:07,630 --> 00:51:11,780 Αλλά θα μπορούσα να καλέσετε αυτό το κάτι που θα θέλουν, είμαι απλώς πρόκειται να το κρατήσετε απλό 1034 00:51:11,780 --> 00:51:14,570 καθώς επίσης και το ονομάσουμε q, μόνο για λόγους απλότητας. 1035 00:51:14,570 --> 00:51:17,650 >> Και τώρα πάω να κάνω κάτι λίγο περισσότερο. 1036 00:51:17,650 --> 00:51:22,600 Σχετικά με τα πεδία της φόρμας εδώ, πάω να προσθέστε αυτό που ονομάζεται ένα πρόγραμμα χειρισμού συμβάντων. 1037 00:51:22,600 --> 00:51:32,260 Την υποβολή, θέλω να καλέσω μια λειτουργία που ονομάζεται επικύρωση. 1038 00:51:32,260 --> 00:51:35,520 Αυτό δεν υπάρχει ακόμα, αυτό λέξη, ή αυτό το ρήμα επικύρωση, 1039 00:51:35,520 --> 00:51:38,560 γιατί αυτό που πάω να κάνω μέχρι τώρα εδώ είναι να προσθέσετε κάποιο κώδικα. 1040 00:51:38,560 --> 00:51:42,200 >> Πάω να πω λειτουργία επικύρωση. 1041 00:51:42,200 --> 00:51:48,280 Πάω να εσοχή αυτή και να προσθέσετε ένα άλλο σγουρά κηδεμόνα εδώ και ένα άλλο εδώ. 1042 00:51:48,280 --> 00:51:50,110 Σκεφτείτε τι είναι αυτό που κάνει τώρα. 1043 00:51:50,110 --> 00:51:54,210 Έχω now-- σκεφτείτε αυτό ως δημιουργούνται μου το κομμάτι του παζλ που δεν το έκανε στο παρελθόν 1044 00:51:54,210 --> 00:51:57,440 υπάρχουν, και έχω ονομάζεται αυτό το παζλ κομμάτι το κομμάτι του παζλ επικύρωση. 1045 00:51:57,440 --> 00:52:01,620 Ο σκοπός του στη ζωή είναι να εκτελέσει οι τέσσερις γραμμές κώδικα στο εσωτερικό του. 1046 00:52:01,620 --> 00:52:04,940 >> Αν document.getElementById τόσο εννοιολογικά, 1047 00:52:04,940 --> 00:52:09,380 ότι πρόκειται να πάει στο στοιχείο, το στοιχείο HTML του οποίου η μοναδική 1048 00:52:09,380 --> 00:52:12,930 ιδέα είναι απλά q, και στη συνέχεια ακόμη και αν η σύνταξη φαίνεται λίγο παράξενο, 1049 00:52:12,930 --> 00:52:16,430 ότι η ισότητα είναι ίση ακριβώς σημαίνει ίσων. 1050 00:52:16,430 --> 00:52:20,950 Έτσι, αυτό σημαίνει ότι, εάν το στοιχείο με το μοναδικό αναγνωριστικό του q, όταν πάρει, 1051 00:52:20,950 --> 00:52:25,700 δεν έχει καμία αξία, απλά ισούται απόσπασμα εισαγωγικά, τίποτα εκεί μέσα, 1052 00:52:25,700 --> 00:52:27,170 τότε τι θέλω να κάνω; 1053 00:52:27,170 --> 00:52:29,360 Θέλω να φωνάζω στο χρήστη. 1054 00:52:29,360 --> 00:52:31,710 >> Και εμείς δεν θα πάει μεγάλη λεπτομέρεια εδώ. 1055 00:52:31,710 --> 00:52:32,960 Πάω να επιστρέψει false. 1056 00:52:32,960 --> 00:52:34,380 Αυτό είναι ένα λάθος. 1057 00:52:34,380 --> 00:52:38,746 Αλλιώς, Πάω να επιστρέψουν αλήθεια. 1058 00:52:38,746 --> 00:52:40,120 Έτσι, είτε θα εργαστεί ή όχι. 1059 00:52:40,120 --> 00:52:41,800 Ψευδείς ή αλήθεια. 1060 00:52:41,800 --> 00:52:47,820 Και τώρα, αν δεν είχα κάνει λάθη, επιτρέψτε μου να σώσει αυτό και να φορτώσετε εκ νέου αυτό. 1061 00:52:47,820 --> 00:52:50,940 Και επιτρέψτε μου να διπλός έλεγχος ότι Δεν είχα, στην πραγματικότητα, να κάνει οποιαδήποτε λάθη, 1062 00:52:50,940 --> 00:52:52,690 γι 'αυτό δεν φέρουν σε δύσκολη θέση τον εαυτό μου. 1063 00:52:52,690 --> 00:52:54,240 Ας δούμε αν αυτό λειτουργεί. 1064 00:52:54,240 --> 00:52:56,930 >> Έτσι τώρα Πάω να πληκτρολογήσετε γάτες. 1065 00:52:56,930 --> 00:52:59,421 Εξακολουθεί να λειτουργεί, ή το μισό έργα, τουλάχιστον. 1066 00:52:59,421 --> 00:53:02,170 Τώρα επιτρέψτε μου να φορτώσετε εκ νέου, και τώρα ας Θέλω να προσπαθήσω να υποβάλει χωρίς να πληκτρολογήσετε 1067 00:53:02,170 --> 00:53:05,860 anything-- γαμώτο, το έσπασε. 1068 00:53:05,860 --> 00:53:06,430 Μια στιγμή. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Επιτρέψτε μου να ανοίξετε την κονσόλα, [Δεν ακούγεται] συνδεθείτε, επαναλάβετε τη φόρτωση της σελίδας. 1071 00:53:12,660 --> 00:53:13,576 Επιτρέψτε μου να προσπαθήσω αυτό και πάλι. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Ω, γαμώτο. 1074 00:53:17,501 --> 00:53:18,000 Ξέχασα. 1075 00:53:18,000 --> 00:53:18,630 Έκανα ένα τυπογραφικό λάθος. 1076 00:53:18,630 --> 00:53:20,760 Θυμάμαι τι είναι. 1077 00:53:20,760 --> 00:53:21,350 .αξία. 1078 00:53:21,350 --> 00:53:27,060 Ήθελα να πω αν η αξία του στοιχείου του οποίου η ταυτότητα είναι q 1079 00:53:27,060 --> 00:53:29,800 ισούται με αυτό, τότε φωνάζω στο χρήστη. 1080 00:53:29,800 --> 00:53:31,870 >> Έτσι τώρα επιτρέψτε μου να κρατήσει και πάλι την αναπνοή μου. 1081 00:53:31,870 --> 00:53:33,480 Ορίστε. 1082 00:53:33,480 --> 00:53:34,130 Εκεί πάμε. 1083 00:53:34,130 --> 00:53:35,010 Πληκτρολογείστε ένα ερώτημα. 1084 00:53:35,010 --> 00:53:36,840 Γι 'αυτό δεν είμαι εγώ αφήσει μέσα. 1085 00:53:36,840 --> 00:53:40,210 Μπορώ να είμαι το είδος του παιχνιδιάρικο με αυτό, και αντί για τον έλεγχο για καμία αξία, 1086 00:53:40,210 --> 00:53:46,720 Μπορώ να πω κάτι σαν, Δεν χρειάζεται πια να ψάχνετε για τις γάτες, 1087 00:53:46,720 --> 00:53:51,150 και τώρα μπορούμε απλά πιο παιχνιδιάρικα ας η αναζήτηση των χρηστών για τα σκυλιά, αν αυτός ή αυτή 1088 00:53:51,150 --> 00:53:57,490 θέλει, ή αν πάω εδώ και αναζήτηση για τις γάτες, τώρα δεν μπορώ. 1089 00:53:57,490 --> 00:53:58,690 >> Έτσι ποια είναι η takeaway εδώ; 1090 00:53:58,690 --> 00:54:03,010 Έτσι, ένα, έχουμε εισαχθεί σε τον κόσμο μας της HTML και CSS, 1091 00:54:03,010 --> 00:54:04,320 λειτουργικότητα προγραμματισμού. 1092 00:54:04,320 --> 00:54:06,300 Μπορώ πραγματικά τώρα λαμβάνουν αποφάσεις σε κώδικα. 1093 00:54:06,300 --> 00:54:10,570 Προηγουμένως, το μόνο που μπορούσα να κάνω είναι σήμανση κειμένου περιεχόμενο ή γραφικά περιεχόμενο 1094 00:54:10,570 --> 00:54:13,080 και πείτε τι πρέπει να προσέξετε όπως και όπου να εμφανιστεί. 1095 00:54:13,080 --> 00:54:16,650 Τώρα πραγματικά μπορώ να ρωτήσω ερωτήσεις της ιστοσελίδας 1096 00:54:16,650 --> 00:54:20,010 και να λαμβάνουν αποφάσεις με βάση σε αυτό, και να ζητήσει από το χρήστη 1097 00:54:20,010 --> 00:54:22,780 αν χρειαστεί να φωνάζω σε αυτόν ή αυτήν. 1098 00:54:22,780 --> 00:54:28,740 >> Οπότε ας προσπαθήσουμε κάτι για τη δική μας με αυτό. 1099 00:54:28,740 --> 00:54:33,350 Προχωρήστε, επιτρέψτε μου να ανοίξει την επόμενη διαφάνεια εδώ, και μόνο να επισημάνω ένα πράγμα. 1100 00:54:33,350 --> 00:54:37,250 Ακριβώς όπως και με CSS, μπορούμε να συνυπολογίσει του κώδικα JavaScript σε ένα ξεχωριστό αρχείο, 1101 00:54:37,250 --> 00:54:40,660 μπορείτε να κάνετε το ίδιο πράγμα με JavaScript όπως με CSS. 1102 00:54:40,660 --> 00:54:44,520 Και μπορείτε να χρησιμοποιήσετε ότι η χρήση μιας πηγής αποδίδουν της ετικέτας σενάριο. 1103 00:54:44,520 --> 00:54:46,540 Αλλά εμείς δεν θα περιπλέξει τα πράγματα για τώρα. 1104 00:54:46,540 --> 00:54:50,440 Αντ 'αυτού, αν θα μπορούσατε πηγαίνετε να μην αυτή τη σελίδα, 1105 00:54:50,440 --> 00:55:02,690 but-- επιτρέψτε μου να μετακινήσετε αυτό γύρω στο order-- πάνε, αν θα μπορούσατε, αυτήν τη σελίδα εδώ. 1106 00:55:02,690 --> 00:55:03,592 Αυτή η διεύθυνση URL εδώ. 1107 00:55:03,592 --> 00:55:04,550 Είναι στη σημερινή διαφάνειες. 1108 00:55:04,550 --> 00:55:07,133 Μπορεί να χρειαστεί να φορτώσετε εκ νέου, διότι Έχω προσθέσει ένα ζευγάρι των πράγμα. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Αλλά πάει εκεί όπου κάποιοι παζλ περιμένουν. 1111 00:55:13,890 --> 00:55:16,670 Και αυτό θα μας δώσει την ευκαιρία, σε μια ελαφρώς πιο διασκεδαστικό πλαίσιο, 1112 00:55:16,670 --> 00:55:20,610 να ανακατεύομαι με κάποια JavaScript. 1113 00:55:20,610 --> 00:55:25,505 Και όταν φτάσετε εκεί, Θα εξηγήσω τι περιμένει. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Πάρτε πράσινο. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Ορισμός μπλε. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Ορίζει πράσινο, θέτει κόκκινο. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Ωχ. 1122 00:56:20,220 --> 00:56:22,330 Συγνώμη. 1123 00:56:22,330 --> 00:56:27,630 >> Αυτή είναι η έκταση της μας τεκμηρίωση για αυτή την πρόκληση. 1124 00:56:27,630 --> 00:56:29,920 Και αυτό πρόκειται να λειτουργήσει ως εξής. 1125 00:56:29,920 --> 00:56:33,340 Έτσι, ό, τι έχετε σε αυτό σελίδα είναι ένα σωρό 1126 00:56:33,340 --> 00:56:38,024 παζλ εικόνα από έναν φιλαράκο στο Πανεπιστήμιο του Στάνφορντ. 1127 00:56:38,024 --> 00:56:41,190 Έτσι, αυτό που βλέπετε εδώ είναι σχεδόν είδος ένα από αυτά τα μαγικά παζλ των ματιών, 1128 00:56:41,190 --> 00:56:43,815 αλλά αν απλά κοιτάζω σε αυτό, τίποτα δεν πρόκειται να ξεπεταχτεί σε σας. 1129 00:56:43,815 --> 00:56:46,000 Μάλλον, κάτι που είναι κρυμμένο σε αυτή την εικόνα. 1130 00:56:46,000 --> 00:56:47,790 Και αυτό είναι κρυμμένο με τον ακόλουθο τρόπο. 1131 00:56:47,790 --> 00:56:51,740 Εικόνες, όπως ίσως γνωρίζετε, μπορεί να είναι που αποτελείται από μόλις τρία χρώματα. 1132 00:56:51,740 --> 00:56:53,346 Μερικά κόκκινο, κάποια μπλε και κάποια πράσινα. 1133 00:56:53,346 --> 00:56:55,220 Και μπορούμε να κάνουμε όλα τα χρώματα του ουράνιου τόξου 1134 00:56:55,220 --> 00:56:57,570 με την ανάμειξη αυτών των τριών χρωμάτων με κάποιο τρόπο. 1135 00:56:57,570 --> 00:57:01,940 >> Έτσι, αυτό μοιάζει ως επί το πλείστον πράσινο και μπλε, αλλά όπως λέει εδώ ο Nick, 1136 00:57:01,940 --> 00:57:04,060 Αυτό το παζλ σιδήρου εικόνα είναι ένα παζλ. 1137 00:57:04,060 --> 00:57:06,780 Περιέχει μια εικόνα του κάτι διάσημη, ωστόσο, 1138 00:57:06,780 --> 00:57:08,310 η εικόνα έχει διαστρεβλωθεί. 1139 00:57:08,310 --> 00:57:11,500 Η διάσημη αντικείμενο είναι στα κόκκινα τιμές. 1140 00:57:11,500 --> 00:57:13,810 Ωστόσο, η κόκκινη αξίες έχουν όλα έχουν χωριστεί από 10. 1141 00:57:13,810 --> 00:57:16,230 Έτσι είναι πολύ μικρά κατά έναν παράγοντα 10. 1142 00:57:16,230 --> 00:57:18,280 Έτσι με άλλα λόγια, ο Nick πήρε μια πρωτότυπη εικόνα, 1143 00:57:18,280 --> 00:57:21,500 και αυτός αποκορεσμένο όλα του κόκκινου από αυτό, 1144 00:57:21,500 --> 00:57:23,850 μειώνοντας την ποσότητα του κόκκινου μελάνι, αν θέλετε, σε αυτό. 1145 00:57:23,850 --> 00:57:26,060 >> Οι μπλε και πράσινες αξίες είναι όλα ακριβώς νόημα, 1146 00:57:26,060 --> 00:57:30,000 τυχαίες τιμές, γνωστός και ως ο θόρυβος που αποσκοπούν να συσκοτίσει την πραγματική εικόνα. 1147 00:57:30,000 --> 00:57:32,250 Έτσι, αυτό που ο Νικ έκανε ήταν αυτός τονισμένο κάτω από το κόκκινο και, στη συνέχεια, 1148 00:57:32,250 --> 00:57:34,380 που μόλις έριξε τυχαία ποσά του μπλε και του πράσινου 1149 00:57:34,380 --> 00:57:37,590 στην εικόνα για το είδος των σκοτεινών τι είναι στην πραγματικότητα ακόμα εκεί. 1150 00:57:37,590 --> 00:57:41,089 Θα πρέπει να αναιρέσετε αυτές οι στρεβλώσεις για να αποκαλύψει την εικόνα. 1151 00:57:41,089 --> 00:57:44,255 Πρώτα, ορίστε το σύνολο των μπλε και πράσινο τιμές στο μηδέν για να τους βγάλουμε έξω από το δρόμο, 1152 00:57:44,255 --> 00:57:48,700 και να δούμε το αποτέλεσμα. Έπειτα πολλαπλασιάσουμε κάθε κόκκινο αξία κατά 10, 1153 00:57:48,700 --> 00:57:51,720 κλιμάκωση πίσω μέχρι περίπου της τελικής του αξίας. 1154 00:57:51,720 --> 00:57:53,035 Ποια είναι η διάσημη αντικείμενο; 1155 00:57:53,035 --> 00:57:57,920 >> Έτσι, όλοι σας έχετε αυτό το ορθογώνιο στο πρόγραμμα περιήγησής σας τώρα. 1156 00:57:57,920 --> 00:58:00,830 Και παρατηρήσετε ότι υπάρχει κάποια μίζα κώδικα, να το πω έτσι. 1157 00:58:00,830 --> 00:58:04,370 Αυτό είναι κώδικα JavaScript που Nick έχει γράψει για εσάς. 1158 00:58:04,370 --> 00:58:07,250 Και παρατηρήσετε ότι υπάρχει μια γραμμή στη μέση που 1159 00:58:07,250 --> 00:58:10,380 ξεκινά με μια κάθετο κάθετο, που είναι τι γενικά ονομάζεται ένα σχόλιο. 1160 00:58:10,380 --> 00:58:14,660 Αυτό σημαίνει ότι είναι μια φράση για να τον προγραμματιστή ότι δεν έχει καμία λειτουργική έννοια. 1161 00:58:14,660 --> 00:58:16,520 Είναι απλά μια οπτική ένδειξη στον άνθρωπο. 1162 00:58:16,520 --> 00:58:18,670 >> Έτσι, μπορείτε να προχωρήσετε και να διαγράψετε μόνο αυτή τη γραμμή, 1163 00:58:18,670 --> 00:58:22,214 και να είναι σούπερ, δεν είστε προσεκτικοί για να διαγράψετε ή να αλλάξετε οτιδήποτε άλλο. 1164 00:58:22,214 --> 00:58:25,130 Και επιτρέψτε μου να σας καθοδηγήσει ό, τι αυτός ο κώδικας κάνει και εγώ θα το αφήσουμε 1165 00:58:25,130 --> 00:58:28,580 για να καταλάβω το μυστικό της εικόνας. 1166 00:58:28,580 --> 00:58:32,226 Αυτή η πρώτη γραμμή εδώ που έχω μόλις επισημασμένο σας δίνει την ακόλουθη. 1167 00:58:32,226 --> 00:58:34,100 Από την αριστερή πλευρά, Έχετε ό, τι λέγεται 1168 00:58:34,100 --> 00:58:39,140 μια μεταβλητή που ο Nick έχει αυθαίρετα, αλλά λογικά ονομάζεται im για την εικόνα. 1169 00:58:39,140 --> 00:58:41,660 Στη δεξιά πλευρά του εν λόγω σύμβολο ισότητας, 1170 00:58:41,660 --> 00:58:45,240 που λέει να μου δώσει μια νέα παραθέτω, εισαγωγικά "απλή εικόνα». 1171 00:58:45,240 --> 00:58:49,680 >> Απλή εικόνα, σε αυτό το πλαίσιο Είναι αυτό που ονομάζεται μια τάξη, καθώς, 1172 00:58:49,680 --> 00:58:53,910 Είναι σαν ένα είδος class-- τεχνικά ένα prototype-- αλλά πραγματικά, 1173 00:58:53,910 --> 00:58:58,000 Αυτό μου δίνει ένα νέο αντικείμενο, τα περιεχόμενα των οποίων είναι το αρχείο, 1174 00:58:58,000 --> 00:58:59,610 σιδήρου-puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Με άλλα λόγια, ο Nick έχει δημιουργήσει αυτή η έννοια μιας απλής εικόνας 1176 00:59:03,190 --> 00:59:05,920 έτσι ώστε να μπορούμε, για παιδαγωγικούς σκοπούς, παίζουν με την εικόνα 1177 00:59:05,920 --> 00:59:09,790 και να αλλάξετε το κόκκινο της, πράσινο και μπλε αξίες. 1178 00:59:09,790 --> 00:59:11,750 >> Και πώς θα το κάνουμε αυτό; 1179 00:59:11,750 --> 00:59:15,360 Αυτή η κάπως αινιγματικά σύνταξη εδώ Είναι κάτι σαν μπλοκ επανάληψης 1180 00:59:15,360 --> 00:59:19,140 ότι κάποιοι από εσάς είδε στο Scratch νωρίτερα σήμερα, όπου μπορείτε να επαναλάβετε 10 φορές. 1181 00:59:19,140 --> 00:59:22,220 Σε αυτή την περίπτωση, ο Nick δεν έχει ενσωματωμένες έναν αριθμό, όπως 10. 1182 00:59:22,220 --> 00:59:28,020 Αντ 'αυτού λέει, η προετοιμασία μια μεταβλητή που ονομάζεται x στο 0, 1183 00:59:28,020 --> 00:59:33,180 ελέγξτε αν το x είναι μικρότερο από ό, τι το πλάτος της εικόνας. 1184 00:59:33,180 --> 00:59:38,160 >> Και έτσι να είναι πιο σωστή, η εικόνα είναι η μεταβλητή, τελεία σημαίνει να πάει στο εσωτερικό του 1185 00:59:38,160 --> 00:59:40,900 και να πάρει το πλάτος της, και στη συνέχεια, ανοίξτε παρένθεσης, κλειστά 1186 00:59:40,900 --> 00:59:43,687 παρένθεσης είναι ακριβώς ο τρόπος ενός προγραμματιστή του λέγοντας ότι αυτό είναι μια λειτουργία. 1187 00:59:43,687 --> 00:59:44,520 Αυτή είναι μια διαδικασία. 1188 00:59:44,520 --> 00:59:46,430 Αυτή είναι η λειτουργικότητα κάποιος άλλος έγραψε. 1189 00:59:46,430 --> 00:59:48,570 Χρησιμοποιήστε το και δώσε μου πίσω μια απάντηση. 1190 00:59:48,570 --> 00:59:53,610 Και τότε x ++ είναι ένα φανταχτερό τρόπο λέγοντας, αφού έχετε κάνει αυτό μία φορά, 1191 00:59:53,610 --> 00:59:55,850 αυξήσετε x κατά 1. 1192 00:59:55,850 --> 00:59:58,760 Με άλλα λόγια, αυτή η είναι ο τρόπος ενός προγραμματιστή 1193 00:59:58,760 --> 01:00:05,760 επάγουν μία θηλιά που είναι πρόκειται να επαναλάβει πάνω 1194 01:00:05,760 --> 01:00:10,410 όλες τις στήλες σε μια εικόνα. 1195 01:00:10,410 --> 01:00:14,790 >> Μια εικόνα είναι απλά ένα πλέγμα τελείες, γραμμές και στήλες από τελείες. 1196 01:00:14,790 --> 01:00:18,270 Αυτός είναι ένας τρόπος για την επανάληψη πάνω από όλα από τις στήλες αυτές. 1197 01:00:18,270 --> 01:00:20,770 Και στο εσωτερικό, Εν τω μεταξύ, είμαστε επανάληψη 1198 01:00:20,770 --> 01:00:24,030 πάνω από τα ύψη, εδώ και εδώ και εδώ. 1199 01:00:24,030 --> 01:00:29,442 Έτσι, αυτό είναι απλά ένας τρόπος traipsing, σχεδόν σαν ένα παλιό σχολείο γραφομηχανή, 1200 01:00:29,442 --> 01:00:32,230 απλά να πάει πέρα ​​από το όλη εικόνα επαναληπτικά. 1201 01:00:32,230 --> 01:00:36,370 Ακόμη και αυτό δεν είναι αρκετά εξ ολοκλήρου σαφές, μόλις λάβει την πίστη για τώρα, 1202 01:00:36,370 --> 01:00:38,880 ότι οι εν λόγω τρεις γραμμές του κώδικα μαζί είναι 1203 01:00:38,880 --> 01:00:43,090 πρόκειται να επιτρέψει σε σας για να εξετάσει επαναληπτικά σε κάθε pixel, κάθε τελεία στην εικόνα. 1204 01:00:43,090 --> 01:00:43,790 >> Τι είναι ένα pixel; 1205 01:00:43,790 --> 01:00:46,250 Λοιπόν, για να είμαστε σαφείς, αν κοιτάξουμε στο πρωτότυπο και μεγέθυνση, 1206 01:00:46,250 --> 01:00:49,060 αν βάλετε πραγματικά τα μάτια σας στην οθόνη του υπολογιστή, αυτό είναι 1207 01:00:49,060 --> 01:00:53,510 μόλις ένα σωρό τελείες, αρκετές χιλιάδες κουκίδες συσκευάζονται μαζί εκεί. 1208 01:00:53,510 --> 01:00:56,180 Και έτσι αυτό που είσαι έτοιμος να κάνω; 1209 01:00:56,180 --> 01:00:59,240 Κάθε μία από αυτές τις κουκκίδες, ένα τελικό ορισμό, 1210 01:00:59,240 --> 01:01:06,350 είναι το αποτέλεσμα του τι είναι γενικά που ονομάζεται RGB, κόκκινο, πράσινο, μπλε, η οποία 1211 01:01:06,350 --> 01:01:09,940 πάλι, μπορούν να συνδυαστούν για να να σας δώσει οποιοδήποτε αριθμό των χρωμάτων. 1212 01:01:09,940 --> 01:01:13,200 >> Στην πραγματικότητα, αν θυμάστε από πολλά, πολλά χρόνια πριν, 1213 01:01:13,200 --> 01:01:17,320 οθόνες προβολής, όπως αυτά τα πράγματα χρησιμοποιείται για να έχει όχι ένα φακό, αλλά τρεις. 1214 01:01:17,320 --> 01:01:20,700 Ένας από αυτούς φτύσει κόκκινο φως, ένα από τα να φτύσει το πράσινο φως, ένας από αυτούς 1215 01:01:20,700 --> 01:01:21,600 φτύσει μπλε φως. 1216 01:01:21,600 --> 01:01:24,391 Και αν ήταν σε γυμνάσιο σαν να ήμουν όπου ήταν ποτέ 1217 01:01:24,391 --> 01:01:27,000 ευθυγραμμιστεί σωστά, θα ήταν πάντα βλέποντας ταινίες ιστορία 1218 01:01:27,000 --> 01:01:29,770 ότι ήταν ελαφρώς παραμορφωμένη, επειδή τα τρία χρώματα δεν ήταν 1219 01:01:29,770 --> 01:01:30,970 συνδυάζοντας κατάλληλα. 1220 01:01:30,970 --> 01:01:36,330 >> Αλλά αποδεικνύεται ότι κάθε μία από κόκκινο, πράσινο, μπλε και οι τιμές αυτές, 1221 01:01:36,330 --> 01:01:37,980 μπορεί να έχει έναν αριθμό που συνδέονται με αυτά. 1222 01:01:37,980 --> 01:01:42,500 Για παράδειγμα, 0 για το κόκκινο σημαίνει ότι δεν κόκκινο, 0 για το πράσινο σημαίνει ότι δεν υπάρχουν πράσινα, 1223 01:01:42,500 --> 01:01:45,120 και 0 για το μπλε σημαίνει ότι δεν υπάρχει μπλε. 1224 01:01:45,120 --> 01:01:49,403 Έτσι, αν δεν έχετε κόκκινο, όχι πράσινο, και όχι μπλε, τι χρώμα έχετε; 1225 01:01:49,403 --> 01:01:51,009 >> Κοινό: [δεν ακούγεται] 1226 01:01:51,009 --> 01:01:52,800 DAVID Malan: Θα Ελπίζουμε έτσι, είναι λευκό. 1227 01:01:52,800 --> 01:01:55,333 Δυστυχώς, αυτή η operates-- συγγνώμη; 1228 01:01:55,333 --> 01:01:56,380 >> Κοινό: [δεν ακούγεται] 1229 01:01:56,380 --> 01:01:58,630 DAVID Malan: Έτσι μπορείτε πραγματικά έχουν μαύρο, σε αυτή την περίπτωση. 1230 01:01:58,630 --> 01:02:01,530 Έτσι, εάν έχετε κανένα από αυτά χρώματα ενεργοποιημένη, έχετε μαύρα. 1231 01:02:01,530 --> 01:02:06,510 Ωστόσο, αν έχετε, ας πούμε πολλά από αυτούς, όπως πολύ κόκκινο, 255 από αυτό, 1232 01:02:06,510 --> 01:02:10,340 πολύ πράσινο και πολλά του μπλε, που είναι λευκό. 1233 01:02:10,340 --> 01:02:12,230 Έτσι, αυτά είναι τα δύο άκρα. 1234 01:02:12,230 --> 01:02:17,460 Έτσι, με αυτή τη λογική, αν έχω πολλά του κόκκινου και χωρίς πράσινο και όχι μπλε, 1235 01:02:17,460 --> 01:02:18,485 Τι χρώμα είναι αυτό; 1236 01:02:18,485 --> 01:02:19,360 Κοινό: [δεν ακούγεται] 1237 01:02:19,360 --> 01:02:20,610 DAVID Malan: Δεξιά, προφανώς. 1238 01:02:20,610 --> 01:02:25,940 Και τότε δεν κόκκινο, πολλά πράσινο, όχι μπλε, και στη συνέχεια 1239 01:02:25,940 --> 01:02:29,590 αν have-- καλά, απλά θα τελειώσει αυτό, μόνο και μόνο επειδή, αλλά αυτό, φυσικά, 1240 01:02:29,590 --> 01:02:31,350 τώρα, είναι μπλε. 1241 01:02:31,350 --> 01:02:33,030 Και τώρα μπορείτε να συνδυάσετε αυτά τα χρώματα. 1242 01:02:33,030 --> 01:02:36,430 Τώρα, ως ένα μέρος, αν κάποιος από εσάς έχει κάνει ποτέ κάποια πραγματική ιστοσελίδα του σχεδιασμού, 1243 01:02:36,430 --> 01:02:38,360 ίσως στην πραγματικότητα δείτε σύμβολα όπως αυτό. 1244 01:02:38,360 --> 01:02:42,030 FFF-- και στην πραγματικότητα, είναι πιθανότατα δεν είναι καν αυτό. 1245 01:02:42,030 --> 01:02:44,380 Είναι FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Όποιος δει ποτέ F και Ε του και Α through-- έτσι αποδεικνύεται, 1247 01:02:48,970 --> 01:02:52,970 μιλήσαμε χθες για το δεκαδικό, και σήμερα, το είδος των περίπου δεκαδικά. 1248 01:02:52,970 --> 01:02:54,570 Σήμερα μιλήσαμε για δυαδικό. 1249 01:02:54,570 --> 01:02:59,010 Βγάζει, δεκαεξαδικό είναι ένα πολύ κοινό σύστημα βάσης για χρήση σε υπολογιστές. 1250 01:02:59,010 --> 01:03:04,960 Binary είναι δύο, δεκαδικό ψηφίο είναι 10, εξάγωνο είναι 16. 1251 01:03:04,960 --> 01:03:08,640 Και αποδεικνύεται, πώς το κάνουμε που μετράνε σε δεκαεξαδικό; 1252 01:03:08,640 --> 01:03:11,620 Μηδέν, ένα, δύο, τρία, τέσσερα, πέντε, έξι, επτά, οκτώ, 1253 01:03:11,620 --> 01:03:14,730 εννέα, τι θα χρησιμοποιήσετε μετά από εννέα; 1254 01:03:14,730 --> 01:03:16,600 Ποιο είναι το επόμενο νούμερο; 1255 01:03:16,600 --> 01:03:19,180 Έχουμε ήδη χρησιμοποιήσει το μηδέν. 1256 01:03:19,180 --> 01:03:20,570 Χρειάζομαι 16 από αυτά. 1257 01:03:20,570 --> 01:03:25,770 Μηδέν, ένα, δύο, τρία, τέσσερα, πέντε, έξι, επτά, οκτώ, εννέα, 1258 01:03:25,770 --> 01:03:27,520 χρειάζεστε κάποια αυθαίρετη σύμβαση. 1259 01:03:27,520 --> 01:03:30,810 >> Και τι η ανθρωπότητα αποφάσισε κάποια στιγμή Πριν από ότι μετά από εννέα έρχεται η επιστολή 1260 01:03:30,810 --> 01:03:34,450 Α και Β και στη συνέχεια C. Έτσι, η τρόπο που μετράνε σε δεκαεξαδικό 1261 01:03:34,450 --> 01:03:37,040 είναι μηδέν, ένα, δύο, τρία, τέσσερα, πέντε, έξι, επτά, οκτώ, εννέα, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, και ότι θα μετρήσει σας σε όλη τη διαδρομή, αποδεικνύεται, για 15. 1263 01:03:42,880 --> 01:03:47,850 Έτσι το μηδέν έως το 15 είναι μηδέν μέσω ΣΤ Τώρα γιατί είναι ότι σημαντικό; 1264 01:03:47,850 --> 01:03:51,570 Λοιπόν, όταν έχετε δύο F, το αυτό είναι το πώς θα εκφράσουν 255. 1265 01:03:51,570 --> 01:03:54,350 >> Έτσι, τα πολυλογώ, σε ο κόσμος του Photoshop, 1266 01:03:54,350 --> 01:03:57,299 ότι γραφικό λογισμικό σχεδιασμού, στον κόσμο του web development, 1267 01:03:57,299 --> 01:03:59,590 όπου έχετε πολλά χρώματα, Φυσικά, για να παίξει με, 1268 01:03:59,590 --> 01:04:02,350 συχνά οι προγραμματιστές θα εκφράζουν εκείνους σε δεκαεξαδικό, 1269 01:04:02,350 --> 01:04:05,260 μόνο και μόνο επειδή τείνει να είναι λίγο πιο απλό. 1270 01:04:05,260 --> 01:04:07,850 Ακόμα κι αν με την πρώτη ματιά είναι πολύ πιο περίπλοκη. 1271 01:04:07,850 --> 01:04:11,590 >> Έτσι, σε κάθε περίπτωση, αυτό είναι σημαντικό γιατί Nick στο Πανεπιστήμιο του Στάνφορντ 1272 01:04:11,590 --> 01:04:15,100 μας έδωσε έξι κομμάτια της λειτουργικότητας ότι, οι εκκολαπτόμενοι προγραμματιστές, 1273 01:04:15,100 --> 01:04:17,060 θα έχουν πλέον τη δυνατότητα να χρησιμοποιήσει. 1274 01:04:17,060 --> 01:04:19,960 Χτισμένο σε αυτή την ιστοσελίδα σελίδα είναι έξι λειτουργίες, 1275 01:04:19,960 --> 01:04:21,820 έξι διαδικασίες που έγραψε ο Νικ. 1276 01:04:21,820 --> 01:04:26,800 Τρεις από αυτούς θα σας πάρει έναν αριθμό, ένα κόκκινο, ένα πράσινο ή μπλε αξία. 1277 01:04:26,800 --> 01:04:28,787 Τρεις από αυτούς θα θέσει αυτή την τιμή. 1278 01:04:28,787 --> 01:04:30,620 Και αυτά τα υπογράμμισης είναι απλά σύμβολα κράτησης θέσης, 1279 01:04:30,620 --> 01:04:32,600 οπότε θα πρέπει να γνωρίζετε τι είναι αυτά. 1280 01:04:32,600 --> 01:04:36,240 >> Έτσι, με αυτές τις τρεις λειτουργίες, το πρώτο από αυτά τα πράγματα 1281 01:04:36,240 --> 01:04:39,190 πρόκειται να είναι μια x-συντεταγμένη, και το δεύτερο από αυτά τα πράγματα 1282 01:04:39,190 --> 01:04:40,700 πρόκειται να είναι ένα y-συντεταγμένη. 1283 01:04:40,700 --> 01:04:44,650 Με άλλα λόγια, οι οποίες dot, το οποίο pixel θέλετε να πάρετε το πράσινο της, 1284 01:04:44,650 --> 01:04:46,480 να πάρει το γαλάζιο του, να πάρει το κόκκινο της. 1285 01:04:46,480 --> 01:04:51,440 Και στη συνέχεια εδώ, αυτό πρόκειται να είναι x, αυτό πρόκειται να είναι μια τιμή y, 1286 01:04:51,440 --> 01:04:55,379 και αυτό πρόκειται να είναι ένας αριθμός. 1287 01:04:55,379 --> 01:04:57,170 Ας κάνουμε το πρώτο γραμμή αυτή μαζί 1288 01:04:57,170 --> 01:05:00,220 και τότε εγώ θα το αφήσουμε σε σας να προσπαθήσει να συναγάγει το υπόλοιπο. 1289 01:05:00,220 --> 01:05:03,100 Έτσι σύμφωνα με τις οδηγίες σε αυτή τη σελίδα, χρειαζόμαστε 1290 01:05:03,100 --> 01:05:08,960 για να αυξηθεί το κόκκινο κατά ένα συντελεστή 10, και εμείς πρέπει να αφαιρέσετε το πράσινο 1291 01:05:08,960 --> 01:05:09,930 και αφαιρέστε το μπλε. 1292 01:05:09,930 --> 01:05:12,410 Ας αρχίσουμε με τα τελευταία σενάρια. 1293 01:05:12,410 --> 01:05:17,760 Έτσι, αν θέλω να, και θα πάω σε εσοχή με τη χρήση ορισμένων χώρων, 1294 01:05:17,760 --> 01:05:22,291 αν θέλω να ρυθμίσετε το κόκκινο, το πράσινο ή το μπλε αξία, 1295 01:05:22,291 --> 01:05:23,540 Πάω να κάνω το εξής. 1296 01:05:23,540 --> 01:05:31,280 >> Εικόνα, im.setBlue, και στη συνέχεια με βάση τις οδηγίες μου εδώ, 1297 01:05:31,280 --> 01:05:36,700 τι τα τρία πράγματα θα πρέπει να πληκτρολογήστε στο εσωτερικό των παρενθέσεων τώρα; 1298 01:05:36,700 --> 01:05:41,960 Χρειάζομαι την τιμή του x, η y αξία, και τι αριθμό 1299 01:05:41,960 --> 01:05:48,770 πρέπει να βάλω εδώ αν θέλετε να απαλλαγείτε του μπλε, με βάση αυτή την ιστορία εδώ; 1300 01:05:48,770 --> 01:05:49,630 Απλά μηδέν. 1301 01:05:49,630 --> 01:05:52,420 Αν θέλω καμία μπλε, είμαι απλά πρόκειται να το αλλάξει στο μηδέν. 1302 01:05:52,420 --> 01:05:54,465 >> Τώρα, ας ανακεφαλαιώσουμε τι είναι αυτό που κάνει. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Έχω εδώ σε αυτά κορυφή δεύτερη και τρίτη γραμμή, 1305 01:06:01,170 --> 01:06:04,080 Έχω ισχυρίστηκε δύο βρόχους, ένθετων βρόχων, αν 1306 01:06:04,080 --> 01:06:08,360 θα, ότι δεν πρόκειται να έχει ως αποτέλεσμα της προχωρώντας από αριστερά προς τα δεξιά, 1307 01:06:08,360 --> 01:06:11,590 πάνω προς τα κάτω πάνω από το σύνολο των x αξίες και όλες οι τιμές y. 1308 01:06:11,590 --> 01:06:15,167 Επειδή και πάλι, μια εικόνα μόνο ένα πλέγμα σειρών και στηλών. 1309 01:06:15,167 --> 01:06:17,000 Έτσι, αυτό πρόκειται να πάρει απαλλαγούμε από όλα το μπλε. 1310 01:06:17,000 --> 01:06:18,627 Επιτρέψτε μου να αφήσει στην επόμενη γραμμή για να σας. 1311 01:06:18,627 --> 01:06:20,043 Πώς μπορώ να απαλλαγούμε από όλα το πράσινο; 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> Κοινό: [δεν ακούγεται] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Malan: Νίκαια. 1315 01:06:26,151 --> 01:06:28,260 >> Κοινό: [δεν ακούγεται] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Malan: Νίκαια. 1317 01:06:30,850 --> 01:06:36,120 Και Πάω για σμίκρυνση, και μόλις λάβει φροντίδα του ότι δεν έχετε κάνει καμία typos. 1318 01:06:36,120 --> 01:06:39,390 Και αν είστε άνετα με ό, τι έχετε κάνει, 1319 01:06:39,390 --> 01:06:42,936 να προχωρήσει και κάντε κλικ στο κουμπί Εκτελέστε / Αποθηκεύστε και δείτε τι μπορείτε να πάρετε. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 Και πάλι, έχουμε κάνει μόνο τρεις αλλαγές. 1322 01:06:48,690 --> 01:06:52,130 Διαγράψαμε ότι η πρώτη Σχολιάστε και το αντικατέστησε 1323 01:06:52,130 --> 01:06:53,575 με αυτές τις δύο γραμμές κώδικα. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 Και είναι εντάξει αν χρειαστεί να χτυπήσει το κουμπί Run / Save ένα ζευγάρι φορές 1326 01:06:58,450 --> 01:07:01,190 για να διορθώσετε κάτι. 1327 01:07:01,190 --> 01:07:03,610 >> Και επιτρέψτε μου, επίσης, να κάνετε ζουμ σε μου κώδικα ώστε να μπορείτε να μεταγράψει. 1328 01:07:03,610 --> 01:07:04,110 Καλά. 1329 01:07:04,110 --> 01:07:08,720 Έτσι βλέπω τον Andrew έχει τι φαίνεται να είναι ένα λάθος. 1330 01:07:08,720 --> 01:07:11,110 Έχει μόλις πήρε ένα μεγάλο μαύρο ορθογώνιο στην οθόνη του. 1331 01:07:11,110 --> 01:07:13,120 Μήπως κάποιος άλλος έχει ένα μεγάλο μαύρο ορθογώνιο; 1332 01:07:13,120 --> 01:07:13,390 >> Κοινό: Ναι. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Malan: Μεγάλο μαύρο ορθογώνιο; 1334 01:07:14,360 --> 01:07:16,068 ΟΚ, οπότε ας σκεφτούμε για το τι σημαίνει αυτό. 1335 01:07:16,068 --> 01:07:20,560 Είπαμε ότι το μηδέν, μηδέν, μηδέν, οπότε δεν υπάρχει πράσινο, όχι κόκκινο, όχι μπλε, 1336 01:07:20,560 --> 01:07:21,980 πρόκειται να σας δώσει το μαύρο. 1337 01:07:21,980 --> 01:07:24,467 Και αποδεικνύεται ότι τα περισσότερα από φορητούς υπολογιστές μας 1338 01:07:24,467 --> 01:07:25,800 απλά δεν έχουν αρκετή πιστότητα. 1339 01:07:25,800 --> 01:07:27,750 Δεν μπορεί να είναι αρκετά πει εκεί είναι πραγματικά κάτι εκεί. 1340 01:07:27,750 --> 01:07:30,340 Και αν το είδος της ίσως να κλίνει οθόνη σας προς τα εμπρός και πίσω, 1341 01:07:30,340 --> 01:07:32,850 ίσως βλέπετε ένα κάτι εκεί; 1342 01:07:32,850 --> 01:07:34,820 Ίσως, το είδος, το είδος του; 1343 01:07:34,820 --> 01:07:36,640 Δεν είναι απόλυτα μαύρο. 1344 01:07:36,640 --> 01:07:38,050 >> Κοινό: [δεν ακούγεται] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Malan: Spoiler! 1346 01:07:39,510 --> 01:07:42,610 Υπάρχει κάποια κόκκινη εκεί, αλλά θυμούνται από τις προδιαγραφές 1347 01:07:42,610 --> 01:07:44,940 του προβλήματος, ο Νικ είναι πιο ήπια. 1348 01:07:44,940 --> 01:07:47,860 Την αποκορεσμένο κάπως, αλλά όχι σε όλη τη διαδρομή προς το μηδέν. 1349 01:07:47,860 --> 01:07:51,670 Έτσι, αν θέλουμε να μεγεθύνει το ποσό κόκκινο, επιτρέψτε μου να προτείνω αυτό το τέχνασμα. 1350 01:07:51,670 --> 01:07:53,750 Επιτρέψτε μου να μεγεθύνετε στην οθόνη μου. 1351 01:07:53,750 --> 01:07:58,678 Και επιτρέψτε μου να πάει μπροστά και να πω ποσό ίσο με im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> Αυτή η γραμμή του κώδικα μου δίνει κάτι που ονομάζεται μια μεταβλητή. 1354 01:08:05,790 --> 01:08:09,643 Έχω αυθαίρετα, αλλά, αναμφισβήτητα, εύλογα ονομάζεται μεταβλητή μου τι, 1355 01:08:09,643 --> 01:08:10,143 προφανώς? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Ποσό. 1358 01:08:14,340 --> 01:08:14,980 Απλά ποσό. 1359 01:08:14,980 --> 01:08:16,960 Θα μπορούσα να έχω ονομάζεται οτιδήποτε θέλω, αλλά είμαι 1360 01:08:16,960 --> 01:08:19,490 χρησιμοποιώντας αυτή άλλη λειτουργία που περιέγραψα νωρίτερα 1361 01:08:19,490 --> 01:08:25,359 για να πάρει την ποσότητα του κόκκινου σε x κόμμα y. 1362 01:08:25,359 --> 01:08:27,520 Γιατί το κάνω αυτό; 1363 01:08:27,520 --> 01:08:30,004 Τι θέλετε να κάνουμε εδώ; 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Θα πρέπει να add-- 1366 01:08:33,619 --> 01:08:34,493 Κοινό: [δεν ακούγεται] 1367 01:08:34,493 --> 01:08:36,279 DAVID Malan: Ναι, ίσως πολλαπλασιάζεται με το 10. 1368 01:08:36,279 --> 01:08:38,862 Και αν δεν το γνωρίζουν αυτό, είμαι πρόκειται να προχωρήσει και να το κάνουμε αυτό. 1369 01:08:38,862 --> 01:08:42,060 Πάω να πάει μπροστά και να ας πούμε, θέλω την ποσότητα του κόκκινου 1370 01:08:42,060 --> 01:08:46,550 Θέλω να είμαι ό, τι βρίσκεται στο κόκκινο, 10 φορές, 1371 01:08:46,550 --> 01:08:50,330 και το αστέρι, ο αστερίσκος για σας πληκτρολόγιο είναι το-- δεν χρησιμοποιούν x. 1372 01:08:50,330 --> 01:08:51,569 Χρησιμοποιήστε το αστέρι. 1373 01:08:51,569 --> 01:08:55,350 Αυτό είναι το πώς μπορείτε να πολλαπλασιάσετε τα πράγματα στις περισσότερες γλώσσες προγραμματισμού. 1374 01:08:55,350 --> 01:08:59,790 >> Έτσι, σύμφωνα με τη διαίσθηση Kareem του, αποθηκεύονται στη μεταβλητή αυτή ονομάζεται ποσό, 1375 01:08:59,790 --> 01:09:03,649 είναι το πόσο κόκκινο θέλω σε xy θέση. 1376 01:09:03,649 --> 01:09:11,500 Πώς, τώρα, μπορώ να κάνω ότι Pixel έχουν αυτόν τον αριθμό; 1377 01:09:11,500 --> 01:09:12,859 Έχετε ήδη κάνει πριν από αυτό. 1378 01:09:12,859 --> 01:09:17,666 Μπορείτε να ορίσετε το πράσινο και το μπλε σε καμία αξία, στο μηδέν. 1379 01:09:17,666 --> 01:09:18,540 Κοινό: [δεν ακούγεται] 1380 01:09:18,540 --> 01:09:20,040 DAVID Malan: Ναι, καλά δεν το θέλουν σε 10. 1381 01:09:20,040 --> 01:09:21,460 Έχετε ήδη έκανε τα μαθηματικά εδώ. 1382 01:09:21,460 --> 01:09:24,779 Έτσι θα έχουμε την τιμή του κόκκινου, η οποία είναι ένας χαμηλός αριθμός, προφανώς. 1383 01:09:24,779 --> 01:09:26,180 Είμαστε πολλαπλασιάζοντας από 10. 1384 01:09:26,180 --> 01:09:29,139 Τι θέλετε να κάνετε με το μεταβλητό ποσό τώρα; 1385 01:09:29,139 --> 01:09:30,130 >> Κοινό: [δεν ακούγεται] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Malan: Νίκαια. 1387 01:09:30,880 --> 01:09:34,616 Έτσι im.set-- τι; 1388 01:09:34,616 --> 01:09:35,640 >> Κοινό: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Malan: setRed, στο xy θέση. 1390 01:09:39,760 --> 01:09:40,260 Ναι. 1391 01:09:40,260 --> 01:09:41,200 Και ακριβώς ποσό. 1392 01:09:41,200 --> 01:09:44,257 Με άλλα λόγια, μια μεταβλητή είναι μια προσωρινή κράτηση θέσης 1393 01:09:44,257 --> 01:09:45,840 ότι μπορείτε να βάλετε ό, τι θέλετε στο. 1394 01:09:45,840 --> 01:09:48,680 Εμείς τυχαίνει να είναι βάζοντας ένα αριθμός σε αυτό, αυτή τη στιγμή. 1395 01:09:48,680 --> 01:09:51,569 Έχουμε αυτό πολλαπλασιάζεται με 10 για να το κάνει μεγαλύτερο. 1396 01:09:51,569 --> 01:09:56,480 Και τώρα είμαι αντικαθιστώντας αυτή τη μεταβλητή ως το τρίτο επιχείρημα, ή είσοδος 1397 01:09:56,480 --> 01:09:57,810 για να ρυθμίσετε το κόκκινο. 1398 01:09:57,810 --> 01:10:00,440 Και έτσι ώστε τη στιγμή που θα ολοκληρώσετε ότι, και λαμβάνουν υπόψη 1399 01:10:00,440 --> 01:10:02,330 των ερωτηματικά και παρενθέσεις. 1400 01:10:02,330 --> 01:10:06,290 >> Προχωρήστε και κάντε κλικ run / αποθηκεύσετε ξανά, και θα 1401 01:10:06,290 --> 01:10:10,690 Πρέπει να δείτε, μαγικά, τι ήταν στην πραγματικότητα εκεί. [? Arwa,?] Τι είναι εκεί; 1402 01:10:10,690 --> 01:10:16,412 Ο Πύργος του Άιφελ στο ολοκληρωμένο κόκκινο, δεν είναι αρκετά σκοτεινό. 1403 01:10:16,412 --> 01:10:17,870 θα πρέπει να είναι πιο εμφανής τώρα, ναι; 1404 01:10:17,870 --> 01:10:18,840 ΕΝΤΆΞΕΙ. 1405 01:10:18,840 --> 01:10:20,215 Και ο Andrew, δεν υπερβαίνει το μαύρο κουτί; 1406 01:10:20,215 --> 01:10:21,090 Κοινό: [δεν ακούγεται] 1407 01:10:21,090 --> 01:10:22,180 DAVID Malan: Εντάξει. 1408 01:10:22,180 --> 01:10:23,610 Γι 'αυτό θα κρατήσει αυτό στην οθόνη. 1409 01:10:23,610 --> 01:10:27,010 Αν θέλετε να παίξετε με αυτό αργότερα, εγώ θα αναδημιουργήσει αυτό για σας. 1410 01:10:27,010 --> 01:10:29,140 Αλλά αυτός ο κώδικας εδώ έκανε ακριβώς αυτό. 1411 01:10:29,140 --> 01:10:31,460 Γιατί δεν κάνουμε ένα άλλο. 1412 01:10:31,460 --> 01:10:33,880 Επιτρέψτε μου να μετακινηθείτε προς τα κάτω ελαφρά. 1413 01:10:33,880 --> 01:10:36,760 >> Έτσι, σε αυτή την περίπτωση, τον προβολέα πραγματικά δεν το κάνει δικαιοσύνη. 1414 01:10:36,760 --> 01:10:40,486 Αλλά στις οθόνες σας, τότε μάλλον έχουν μια πολύ κόκκινο και πολύ μαύρο κουτί. 1415 01:10:40,486 --> 01:10:42,610 Αυτό, επίσης, είναι ένα παζλ που δείχνει κάτι διάσημο. 1416 01:10:42,610 --> 01:10:44,193 Ωστόσο, η εικόνα έχει διαστρεβλωθεί. 1417 01:10:44,193 --> 01:10:47,740 Η αληθινή εικόνα, αυτή τη φορά, είναι στις μπλε και πράσινες αξίες. 1418 01:10:47,740 --> 01:10:51,820 Ωστόσο, όλα έχουν χωριστεί κατά 20 έτσι οι τιμές είναι πολύ μικρές. 1419 01:10:51,820 --> 01:10:54,660 Τα κόκκινα τιμές είναι μόνο τυχαίους αριθμούς, το θόρυβο. 1420 01:10:54,660 --> 01:10:57,190 Αναίρεση αυτές οι στρεβλώσεις για να αποκαλύψει την πραγματική εικόνα. 1421 01:10:57,190 --> 01:10:59,200 >> Έτσι Nick τότε σας λέει τι να κάνει. 1422 01:10:59,200 --> 01:11:04,290 Ρυθμίστε τις κόκκινες τιμές στο μηδέν, και τότε μην χαλάσει αυτό που είναι. 1423 01:11:04,290 --> 01:11:07,110 Στη συνέχεια, πολλαπλασιάστε το μπλε και πράσινο τιμές από 20. 1424 01:11:07,110 --> 01:11:09,820 Έτσι είναι σχεδόν το ίδιο πρόγραμμα όπως και πριν, 1425 01:11:09,820 --> 01:11:11,380 αλλά είστε αντιστροφή της διαδικασίας. 1426 01:11:11,380 --> 01:11:13,780 Και θα βάλω τον κωδικό μου από πριν από την οθόνη σε περίπτωση 1427 01:11:13,780 --> 01:11:16,650 θέλετε να επανέλθω σε αυτό ή να παίξετε περισσότερο με εκείνο το ένα. 1428 01:11:16,650 --> 01:11:18,100 Επιτρέψτε μου να κάνετε ζουμ σε αυτό. 1429 01:11:18,100 --> 01:11:21,450 Αλλά λύσει χαλκού εικόνα παζλ, νούμερο δύο. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> Κοινό: [δεν ακούγεται] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Malan: Εντάξει, έτσι αυτό είμαι δεν πρόκειται να δώσει όσες συμβουλές. 1433 01:11:44,010 --> 01:11:47,220 Γι 'αυτό και would-- OH, ας δείτε, έχετε ένα τυπογραφικό λάθος εδώ. 1434 01:11:47,220 --> 01:11:49,621 Έτσι θυμηθείτε, αυτό εδώ πραγματικά πρέπει να πάει εκεί. 1435 01:11:49,621 --> 01:11:52,870 Έτσι, αυτό που θα ήθελα να προτείνω, αν θέλετε να επικεντρωθεί σε αυτό, υπάρχει η απάντηση. 1436 01:11:52,870 --> 01:11:57,060 Αν θέλετε να μεταγράψει αυτό, ότι θα πρέπει να πάρει την πρώτη εργάσιμη. 1437 01:11:57,060 --> 01:11:59,910 Και τότε μπορείτε να χρησιμοποιήσετε ως έμπνευση για το δεύτερο. 1438 01:11:59,910 --> 01:12:02,230 Όμορφη. 1439 01:12:02,230 --> 01:12:02,730 Καλά. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> Και για την περίεργη, Αυτό είναι ένα απλό παράδειγμα 1442 01:12:08,180 --> 01:12:11,080 της επιστήμης ή της τέχνης που ονομάζεται στεγανογραφία, 1443 01:12:11,080 --> 01:12:14,100 η τέχνη της απόκρυψης πληροφοριών σε εικόνες. 1444 01:12:14,100 --> 01:12:16,890 Συνήθως, οι εικόνες μπορεί να είναι υδατογραφημένο πολύ κατάφωρα 1445 01:12:16,890 --> 01:12:19,500 με ένα λογότυπο στο κάτω μέρος γωνία, αλλά με σαφήνεια, θα 1446 01:12:19,500 --> 01:12:22,070 μπορεί να είναι πολύ πιο εξελιγμένα γι 'αυτό και στην πραγματικότητα 1447 01:12:22,070 --> 01:12:25,050 κρύψει άλλες εικόνες στις εικόνες κάπως με αυτήν την τεχνική. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Πάρτε ένα άλλο 30 δευτερόλεπτα και στη συνέχεια θα τουλάχιστον ανακοινώσει το τι θα πρέπει να δείτε. 1450 01:13:05,770 --> 01:13:08,330 Και εγώ θα αφήσει το τρίτο ένα ως άσκηση στο σπίτι, 1451 01:13:08,330 --> 01:13:11,353 αν θέλετε περισσότερα από ένα αμφισβητήσει αυτό το Σαββατοκύριακο. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 Και νομίζω ότι ο Andrew θα μπορούσε έχουν πάρει την πρώτη. 1454 01:13:20,390 --> 01:13:22,645 Ποια είναι η δεύτερη εικόνα, Andrew; 1455 01:13:22,645 --> 01:13:23,920 >> Κοινό: Άγαλμα της Ελευθερίας. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Malan: Άγαλμα της Ελευθερίας θα είναι η απάντηση αυτή τη φορά. 1457 01:13:28,500 --> 01:13:31,140 Έτσι και πάλι, μόλις μερικές απλές παραδείγματα, ο στόχος της οποίας 1458 01:13:31,140 --> 01:13:35,040 είναι να σας δώσει μια αίσθηση για το πώς έχουμε μεταφραστεί εικονογραφικό Scratch 1459 01:13:35,040 --> 01:13:40,410 μπλοκ σε πιο ενοχλητικό και περισσότερα περίπλοκες κώδικα, αλλά το σύνολο των ιδεών 1460 01:13:40,410 --> 01:13:42,980 εξακολουθούν να είναι ακριβώς το ίδιο, έστω και με την εισαγωγή 1461 01:13:42,980 --> 01:13:48,380 τώρα της έννοιας της μεταβλητής, που είναι είναι σε θέση να αποθηκεύσει κάτι προσωρινά. 1462 01:13:48,380 --> 01:13:51,750 >> Ας κάνουμε ένα ακόμη hands-on, απλά για να συνδεθείτε τώρα τις τελείες 1463 01:13:51,750 --> 01:13:53,880 σε κάτι λίγο πιο πραγματικό κόσμο. 1464 01:13:53,880 --> 01:13:56,610 Όταν είστε έτοιμοι, αν θα μπορούσατε πηγαίνετε σε αυτό το URL στην οθόνη. 1465 01:13:56,610 --> 01:14:00,610 Αυτό είναι, επίσης, στο δικό σας αντίγραφο του διαφάνειες, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Ας κάνουν πραγματικά κάτι πραγματικό, να το πω έτσι, στο διαδίκτυο 1467 01:14:03,660 --> 01:14:07,600 με τη χρήση του Google Maps API, ή διεπαφή προγραμματισμού εφαρμογών, 1468 01:14:07,600 --> 01:14:08,940 με τον ακόλουθο τρόπο. 1469 01:14:08,940 --> 01:14:12,341 >> Η Google, όπως και πολλές εταιρείες, παρέχει πολλές δωρεάν λειτουργικότητα 1470 01:14:12,341 --> 01:14:14,840 που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε το δικό σας δική ενδιαφέρουσες εφαρμογές. 1471 01:14:14,840 --> 01:14:18,890 Στην πραγματικότητα, αν έχετε χρησιμοποιήσει ποτέ Uber να πάρετε ένα ταξί ή ένα αυτοκίνητο, 1472 01:14:18,890 --> 01:14:21,640 ίσως γνωρίζετε ότι Uber έχει ένα χάρτη και αυτό δείχνει αυτοκίνητα σε αυτό. 1473 01:14:21,640 --> 01:14:24,870 Δηλαδή, όσο καλύτερα μπορώ πω, το Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Στην πραγματικότητα, χρησιμοποιώντας τους χάρτες της Google, αλλά Uber δεν είναι μια εταιρεία χαρτογράφησης, 1475 01:14:28,884 --> 01:14:31,050 ούτε θα ήταν αυτό να είναι μια Ιδιαίτερο ενδιαφέρον πρόβλημα 1476 01:14:31,050 --> 01:14:33,510 για να λύσει πάνω από τους πρόβλημα εξυπηρέτησης αυτοκινήτων. 1477 01:14:33,510 --> 01:14:35,510 Και έτσι στέκεστε, πάλι, στους ώμους 1478 01:14:35,510 --> 01:14:37,520 των άλλων, η Google σε αυτή την περίπτωση. 1479 01:14:37,520 --> 01:14:42,850 Έτσι χρησιμοποιούν τους χάρτες της Google, αλλά το δικό τους Υπηρεσίες αυτοκινήτων και άλλα τέτοια χαρακτηριστικά. 1480 01:14:42,850 --> 01:14:47,770 >> Έτσι θα πάμε να επωφεληθούν από αυτό για να κάνετε τα εξής. 1481 01:14:47,770 --> 01:14:50,230 Και αν έχω πάει πάρα πολύ γρήγορα, μόλις μου τηλεφωνήσει πάνω σε μια στιγμή. 1482 01:14:50,230 --> 01:14:53,500 Στην ευχάριστη θέση να ανακεφαλαιώσουμε μερικά από τα πράγματα εικόνας. 1483 01:14:53,500 --> 01:14:56,290 Θα πρέπει να δείτε τον εαυτό σας σε μια σελίδα σαν αυτό. 1484 01:14:56,290 --> 01:14:58,230 Τόσο ωραίο της Google, και ότι είναι μεταξύ των καλύτερων 1485 01:14:58,230 --> 01:15:01,364 παρέχουν όχι μόνο APIs, αλλά χωρίς API που σας 1486 01:15:01,364 --> 01:15:02,780 μπορούν να παίξουν με ή εμπορική χρήση. 1487 01:15:02,780 --> 01:15:06,450 Κάνουν αρχίσει χρέωσης σας αν η χρήση σας είναι υψηλή, αλλά πήγα μπροστά εκ των προτέρων 1488 01:15:06,450 --> 01:15:10,490 και να μας υπογράψει για ένα δωρεάν λογαριασμό ότι, ευτυχώς, 10 υπολογιστές 1489 01:15:10,490 --> 01:15:12,480 Δεν θα μας αποκλείσει για ξαφνικά. 1490 01:15:12,480 --> 01:15:14,320 Έτσι, ελπίζουμε ότι αυτή η επίδειξη θα λειτουργήσει. 1491 01:15:14,320 --> 01:15:18,840 >> Και παρατηρήσετε ότι έχουν APIs για Android, iOS, υπηρεσίες web και web, 1492 01:15:18,840 --> 01:15:19,620 όποια και αν είναι αυτό. 1493 01:15:19,620 --> 01:15:20,700 Ας επικεντρωθούμε στο web. 1494 01:15:20,700 --> 01:15:26,560 Έτσι, κάντε κλικ στο ροζ κουτί, web, και ότι θα σας οδηγήσει, ελπίζω, σε μια σελίδα 1495 01:15:26,560 --> 01:15:27,630 εδώ. 1496 01:15:27,630 --> 01:15:29,335 Και έχεις ένα σωρό APIs. 1497 01:15:29,335 --> 01:15:31,210 Και αυτό μπορεί να είναι λίγο συντριπτική κατά την πρώτη, 1498 01:15:31,210 --> 01:15:33,000 αλλά θα μας οδηγήσει μέσα από ό, τι θέλουμε. 1499 01:15:33,000 --> 01:15:38,500 >> Στο πάνω αριστερό μέρος είναι οι Χάρτες Google Το JavaScript API, η API JavaScript. 1500 01:15:38,500 --> 01:15:40,380 Έτσι προχωρήστε και κάντε κλικ σε αυτό το ένα. 1501 01:15:40,380 --> 01:15:49,360 Και αυτό θα σας οδηγήσει τώρα στην επόμενη σελίδα, demos και δείγμα κώδικα. 1502 01:15:49,360 --> 01:15:51,190 Επιτρέψτε μου σμίκρυνση εδώ. 1503 01:15:51,190 --> 01:15:56,300 Και επιτρέψτε μου να μας to-- μετακινηθείτε προς τα κάτω εκεί που λέει γρήγορα βήματα εκκίνησης. 1504 01:15:56,300 --> 01:15:57,970 Η οθόνη σας θα πρέπει να μοιάζει με τη δική μου. 1505 01:15:57,970 --> 01:16:01,130 >> Και υπάρχουν δύο βήματα, να πάρετε ένα κλειδί και να αρχίσει να αναπτύσσει. 1506 01:16:01,130 --> 01:16:04,190 Έχω ήδη κάνει το πρώτο βήμα για την μας, να πάρει το λεγόμενο κλειδί. 1507 01:16:04,190 --> 01:16:05,320 Και αυτό είναι μια κοινή ιδέα. 1508 01:16:05,320 --> 01:16:09,210 Ένα κλειδί API είναι γενικά μόνο ένα μεγάλο τυχαίο αριθμό ή κορδόνι 1509 01:16:09,210 --> 01:16:11,130 ότι είστε υποτίθεται να επικολλήσετε στον κώδικά σας, 1510 01:16:11,130 --> 01:16:15,280 έτσι ώστε η Google ξέρει ποιος είσαι, όταν χρησιμοποιείτε την υπηρεσία τους, API τους. 1511 01:16:15,280 --> 01:16:17,370 δεν σημαίνει ότι είμαστε φορτίζεται τίποτα. 1512 01:16:17,370 --> 01:16:21,030 Και τώρα, κάντε κλικ στο κουμπί, αντί ένα, κάντε κλικ αρχίσει να αναπτύσσει. 1513 01:16:21,030 --> 01:16:25,990 Αν θα μπορούσατε κύμα μόλις μου πάνω αν δεν είστε σίγουροι πού βρισκόμαστε. 1514 01:16:25,990 --> 01:16:28,040 >> Γι 'αυτό και θα το μηδέν μόλις η επιφάνεια, εδώ, αλλά τι 1515 01:16:28,040 --> 01:16:31,000 Νόμιζα ότι θα ήταν συναρπαστικό είναι να έχουν πραγματικά όλους μας, 1516 01:16:31,000 --> 01:16:34,240 χρησιμοποιώντας Cloud9 σε ένα παράθυρο και αυτό το σεμινάριο σε άλλο παράθυρο, 1517 01:16:34,240 --> 01:16:37,120 αφήνει πραγματικά να αποκτήσετε το δικό μας την εφαρμογή και τη λειτουργία 1518 01:16:37,120 --> 01:16:40,920 ότι ενσωματώνει μια προσαρμοσμένη Google χάρτη στη δική μας ιστοσελίδα, 1519 01:16:40,920 --> 01:16:43,010 και στη συνέχεια προσθέτει μία ή δύο λειτουργίες. 1520 01:16:43,010 --> 01:16:45,520 Αλλά εμείς θα το μηδέν μόλις η επιφάνεια του τι μπορούμε να κάνουμε. 1521 01:16:45,520 --> 01:16:47,020 >> Έτσι απλά ένα γρήγορο έλεγχο λογική. 1522 01:16:47,020 --> 01:16:49,740 Είναι ο καθένας σε αυτή τη σελίδα, API Google Maps JavaScript; 1523 01:16:49,740 --> 01:16:50,872 Πρέπει να πω ξεκινήσατε. 1524 01:16:50,872 --> 01:16:53,330 Εμείς δεν πρόκειται να περάσει από το όλο θέμα με κάθε μέσο. 1525 01:16:53,330 --> 01:16:58,090 Εντάξει, σε μια άλλη καρτέλα, αν δεν το κάνετε έχουν ανοιχτό, πηγαίνουν σε Cloud9 1526 01:16:58,090 --> 01:17:03,500 και να πάρετε τον εαυτό σας σε μόλις μια νέα καρτέλα, τελικά. 1527 01:17:03,500 --> 01:17:11,070 Έτσι και πάλι, c9.io από χθες, c9.io, και μόλις δημιουργήσετε ένα νέο αρχείο. 1528 01:17:11,070 --> 01:17:13,500 Και να προχωρήσει και κλήση είναι ό, τι θέλετε. 1529 01:17:13,500 --> 01:17:16,495 Κάλεσα ορυχείο map.html. 1530 01:17:16,495 --> 01:17:17,870 Κλήση αυτό οτιδήποτε τελειώνει σε .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 Και θα πρέπει να είναι περίπου όπου είμαι σε αυτή τη διαδικασία 1533 01:17:26,580 --> 01:17:31,470 μόνο με ένα αναβοσβήνει προτροπή σε ένα άδειο καρτέλα που ονομάζεται κάτι σαν map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Ή αρχείο, νέο αρχείο αυτή τη φορά. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> Και τώρα, πάνω σε ο API Google Maps JavaScript, 1538 01:17:48,000 --> 01:17:50,010 θα παραλείψετε ανάγνωση μέσω όλων αυτού του κειμένου. 1539 01:17:50,010 --> 01:17:53,760 Αλλά παρατηρήσετε ότι ο κόσμος γεια είναι μάλιστα παντού, μπορείτε να το δείτε τώρα. 1540 01:17:53,760 --> 01:17:58,020 Γεια σας κόσμο έχει αυτό το μεγάλο πολύχρωμο παράδειγμα ένα σωρό HTML. 1541 01:17:58,020 --> 01:18:03,590 Προχωρήστε και να αντιγράψετε και να επικολλήσετε μόνο ότι HTML, τόσο από τον τύπο doc στην κορυφή 1542 01:18:03,590 --> 01:18:08,810 όλη τη διαδρομή προς το κλείσιμο ετικέτα HTML, πηγαίνετε μπροστά και να αντιγράψετε όλα ερμήνευα-- και πάλι, 1543 01:18:08,810 --> 01:18:14,430 που είναι κάτω από τον κόσμο γεια example-- και να επικολλήσετε ότι σε σας καρτέλα Cloud9, 1544 01:18:14,430 --> 01:18:17,996 έτσι ώστε τώρα στην οθόνη σας πρέπει να εξετάσουμε περίπου σαν τη δική μου. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> Και μπορείτε να το σώσει, αλλά μην το τοποθετήσετε ακριβώς ακόμα. 1547 01:18:24,520 --> 01:18:26,290 Ας πρώτη ματιά τον κωδικό και να δούμε αν μπορούμε 1548 01:18:26,290 --> 01:18:29,110 δεν μπορεί να συναγάγει ή να μάθουν από ό, τι είναι το Google 1549 01:18:29,110 --> 01:18:30,860 είχε να μας τυφλά αντιγραφή και επικόλληση. 1550 01:18:30,860 --> 01:18:33,334 Απλώς θέλουν να βοηθήσουν, κυριολεκτικά, να μας ξεκίνησε, 1551 01:18:33,334 --> 01:18:35,500 αλλά δεν υπάρχει τόσο πολύ πολυπλοκότητα πραγματικά εκεί. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Οποιεσδήποτε ερωτήσεις ακριβώς ακόμα; 1554 01:18:42,210 --> 01:18:43,790 Είμαστε ασφαλές να προχωρήσουμε; 1555 01:18:43,790 --> 01:18:44,330 ΕΝΤΆΞΕΙ. 1556 01:18:44,330 --> 01:18:46,800 >> Τόσο γρήγορα, ας το κάνουμε μερικές γρήγορες ελέγχους υγιούς λειτουργίας. 1557 01:18:46,800 --> 01:18:48,800 Γραμμή ένα από ό, τι δείτε, και ελπίζω, να σας 1558 01:18:48,800 --> 01:18:51,710 Βλέπε, τι σημαίνει αυτό, doctype HTML; 1559 01:18:51,710 --> 01:18:52,385 Kareem, θυμούνται; 1560 01:18:52,385 --> 01:18:53,260 Κοινό: [δεν ακούγεται] 1561 01:18:53,260 --> 01:18:53,968 DAVID Malan: Ναι. 1562 01:18:53,968 --> 01:18:54,870 Εδώ έρχεται HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Εν τω μεταξύ, γραμμή δύο για το οθόνη εδώ σημαίνει hey πρόγραμμα περιήγησης, 1564 01:18:57,950 --> 01:18:59,482 εδώ έρχεται το πραγματικό HTML. 1565 01:18:59,482 --> 01:19:01,440 Γραμμή τρεις είναι hey πρόγραμμα περιήγησης, εδώ έρχεται το κεφάλι. 1566 01:19:01,440 --> 01:19:04,260 Γραμμή τέσσερις είναι, φυσικά, hey πρόγραμμα περιήγησης, έρχεται εδώ ο τίτλος. 1567 01:19:04,260 --> 01:19:07,780 Τι γραμμή πέντε κάνω; 1568 01:19:07,780 --> 01:19:09,930 Στην πραγματικότητα, αυτό δεν Πραγματικά κάνει τίποτα για μας. 1569 01:19:09,930 --> 01:19:13,340 Σε αυτή την περίπτωση, απλά αλλάζει το μέγεθος η σελίδα σε μια προεπιλογή. Γραμμή έξι, 1570 01:19:13,340 --> 01:19:16,140 δεν έχουμε μιλήσει, αλλά ορίζει την κωδικοποίηση χαρακτήρων. 1571 01:19:16,140 --> 01:19:19,181 Υπάρχουν διάφοροι τρόποι για την κωδικοποίηση αρχείων, ειδικά για τις ξένες γλώσσες. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 μόνο τείνει να είναι η προεπιλογή. 1573 01:19:21,100 --> 01:19:26,580 >> Έτσι τώρα θα δούμε στη γραμμή επτά έως 16, ορισμένοι CSS. 1574 01:19:26,580 --> 01:19:29,260 Και ακόμα κι αν έχουμε δεν έχουμε δει όλα αυτά τα πράγματα πριν, 1575 01:19:29,260 --> 01:19:30,810 μπορούμε να συμπεράνουμε είδος. 1576 01:19:30,810 --> 01:19:37,075 Έτσι γραμμή οκτώ μέσα, hey πρόγραμμα περιήγησης, ισχύουν όλα από τα ακόλουθα για την οποία δύο ετικέτες, 1577 01:19:37,075 --> 01:19:37,575 προφανώς? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 Το κείμενο HTML και το σώμα. 1580 01:19:41,701 --> 01:19:43,200 Έτσι, το κόμμα είναι το νέο πράγμα εκεί. 1581 01:19:43,200 --> 01:19:46,140 Και αυτό είναι μόνο ένας τρόπος προσδιορίζοντας πολλαπλές ετικέτες ταυτόχρονα. 1582 01:19:46,140 --> 01:19:47,640 >> Στη συνέχεια έχουμε τα άγκιστρα. 1583 01:19:47,640 --> 01:19:51,170 Έτσι, προφανώς, αυτό λέει το πρόγραμμα περιήγησης, κάνουν το ύψος της σελίδας 100%. 1584 01:19:51,170 --> 01:19:54,170 Έτσι, ακόμη και αν υπάρχει πολύ λίγη περιεχόμενο, να κάνει ολόκληρη τη σελίδα, 1585 01:19:54,170 --> 01:19:55,530 να κάνει το πράγμα να συμπληρώσετε τη σελίδα. 1586 01:19:55,530 --> 01:19:57,524 Κάντε το χάρτη τελικά να συμπληρώσετε τη σελίδα. 1587 01:19:57,524 --> 01:19:58,690 Περιθώριο, τι σημαίνει αυτό; 1588 01:19:58,690 --> 01:20:01,559 Αυτό είναι συνήθως σαν αυθαίρετη λευκό χώρο γύρω από τις άκρες 1589 01:20:01,559 --> 01:20:04,350 ότι ορισμένα σχεδιαστής του προγράμματος περιήγησης μόνο αποφάσισε θα πρέπει να υπάρχει, γιατί 1590 01:20:04,350 --> 01:20:05,540 είδος κάνει τα πράγματα να φαίνονται καθαρότερα. 1591 01:20:05,540 --> 01:20:06,498 Αλλά εμείς δεν το θέλουμε αυτό. 1592 01:20:06,498 --> 01:20:08,710 Θέλουμε ο χάρτης θα όλη τη διαδρομή προς τα άκρα. 1593 01:20:08,710 --> 01:20:10,930 Βάτες, παρόμοια στο πνεύμα με περιθώρια. 1594 01:20:10,930 --> 01:20:14,980 Περιθώρια σημαίνει έξω, μέσα padding στο εσωτερικό, αλλά είναι το ίδιο είδος της συμφωνίας. 1595 01:20:14,980 --> 01:20:17,520 Είναι ένα μικρό κομμάτι από ένα ρυθμιστικό ανάμεσα σε εσάς και τις άκρες. 1596 01:20:17,520 --> 01:20:21,170 >> Και στη συνέχεια γραμμή 13 είναι μία καλή ευκαιρία για μια γρήγορη ανασκόπηση. 1597 01:20:21,170 --> 01:20:26,440 Τι κάνει απότομη σημάδι χάρτη σημαίνει, ή hashtag χάρτη σημαίνει; 1598 01:20:26,440 --> 01:20:29,650 Τι σημαίνει ότι αναφέρονται σε, κατ 'αρχήν; 1599 01:20:29,650 --> 01:20:31,485 >> Κοινό: [δεν ακούγεται] 1600 01:20:31,485 --> 01:20:32,360 DAVID Malan: Ακριβώς. 1601 01:20:32,360 --> 01:20:36,900 Αυτό το ξενοδοχείο, αυτό το ξενοδοχείο CSS ισχύει για ένα μόνο πράγμα, η ετικέτα HTML 1602 01:20:36,900 --> 01:20:41,180 ότι έχει ένα αναγνωριστικό της παραθέτω, εισαγωγικά «χάρτη». 1603 01:20:41,180 --> 01:20:44,460 Και τώρα ας γρήγορα προς τα εμπρός, κύλισης στο κάτω μέρος του αρχείου, το οποίο 1604 01:20:44,460 --> 01:20:49,860 δεν είναι πολύ μακριά, και ειδοποίηση στη γραμμή 19, αν το επικολλήσετε ακριβώς όπως έκανα, 1605 01:20:49,860 --> 01:20:53,405 γραμμή 19 έχει μόνο ένα div, το οποίο είναι ένα διαίρεση της σελίδας, η οποία χθες 1606 01:20:53,405 --> 01:20:54,820 ονομάζεται ένα ορθογώνιο περιοχή. 1607 01:20:54,820 --> 01:20:55,820 Είναι πήρε τίποτα σε αυτό. 1608 01:20:55,820 --> 01:20:57,550 Είναι μια ανοικτή ετικέτα, κοντά ετικέτα. 1609 01:20:57,550 --> 01:20:59,490 Αλλά έχει ένα μοναδικό αναγνωριστικό. 1610 01:20:59,490 --> 01:21:02,090 >> Έτσι, αυτό που φαίνεται να είναι που συμβαίνει εδώ είναι το Google 1611 01:21:02,090 --> 01:21:05,880 ετοιμάζεται ιστοσελίδα μας για να έχουν μια πλήρη ύψους 100%, 1612 01:21:05,880 --> 01:21:09,680 και δεν βάτες, χωρίς περιθώρια, διότι τι θα πάμε να βάλει μέσα 1613 01:21:09,680 --> 01:21:13,647 αυτού του div, των οποίων μοναδικό αναγνωριστικό είναι χάρτη, είναι ένα πραγματικό ενσωματωμένο χάρτη. 1614 01:21:13,647 --> 01:21:15,480 Και θέλουμε να συμπληρώσετε η σελίδα και όχι μόνο 1615 01:21:15,480 --> 01:21:17,560 να είναι κάποιο μικρό ορθογώνιο στη μέση. 1616 01:21:17,560 --> 01:21:24,220 Έτσι, γραμμή 14 τονίζει Ομοίως, η το ίδιο χάρτη θα πρέπει να έχει ύψος 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Έτσι, σήμερα παρατηρούμε ότι μεταξύ των γραμμών 20 και 28, αυτό είναι το JavaScript κώδικα. 1618 01:21:29,220 --> 01:21:33,020 Και αυτό είναι, ακόμα κι αν είναι συντακτικά λίγο παράξενο, 1619 01:21:33,020 --> 01:21:34,730 εκεί δεν είναι όλα τόσο πολύ συμβαίνει εδώ. 1620 01:21:34,730 --> 01:21:39,310 Στη γραμμή 21, αυτό δηλώνει κάτι που ονομάζεται μια μεταβλητή. 1621 01:21:39,310 --> 01:21:42,030 Αντί αποκαλώντας ανέρχεται, όπως κάναμε και πριν, 1622 01:21:42,030 --> 01:21:44,500 είμαστε πιο συγκεκριμένα λέγοντας var, το οποίο σημαίνει απλά μεταβλητή. 1623 01:21:44,500 --> 01:21:46,520 Θα μπορούσαμε να χρησιμοποιηθούν ότι σε Κωδικός Νικ, αλλά δεν το έκανε, γι ' 1624 01:21:46,520 --> 01:21:48,190 δεν έκαναν τον κόπο να γίνει αυτό, είτε. 1625 01:21:48,190 --> 01:21:50,240 Είναι μια μεταβλητή που ονομάζεται χάρτη, και στη συνέχεια υπάρχει 1626 01:21:50,240 --> 01:21:53,360 μια λειτουργία που είναι προφανώς ονομάζεται initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Έτσι, αυτό είναι σαν το δικό μας έθιμο κομμάτι του παζλ στο Scratch. 1628 01:21:55,780 --> 01:21:58,830 Δημιουργήσαμε ένα κομμάτι της λειτουργικότητα που ονομάζεται initMap, 1629 01:21:58,830 --> 01:22:00,980 και μπορείτε να το είδος της συμπεράνουμε τι συμβαίνει εδώ. 1630 01:22:00,980 --> 01:22:02,930 Από την αριστερή πλευρά, έχουμε μια μεταβλητή, 1631 01:22:02,930 --> 01:22:06,000 έτσι θα πάμε να θέσει την ακόλουθη πράγμα μέσα σε αυτό το μεταβλητό, 1632 01:22:06,000 --> 01:22:07,362 από δεξιά προς τα αριστερά. 1633 01:22:07,362 --> 01:22:11,940 Η δεξιά πλευρά λέει, hey πρόγραμμα περιήγησης, να μου δώσει ένα νέο χάρτη του Google. 1634 01:22:11,940 --> 01:22:16,490 Και google.maps.map είναι απλά ένα funky τρόπο του διευκρινίζοντας ότι αυτή τη λειτουργία 1635 01:22:16,490 --> 01:22:19,790 ανήκει στους Χάρτες Google. 1636 01:22:19,790 --> 01:22:23,010 >> Μετά τις παρενθέσεις, που έχουμε δει πριν από αυτό, hey πρόγραμμα περιήγησης, να πάρει 1637 01:22:23,010 --> 01:22:29,210 μένα τα στοιχεία της σελίδας, η ετικέτα στη σελίδα του οποίου μοναδικό αναγνωριστικό is-- 1638 01:22:29,210 --> 01:22:30,710 >> Κοινό: [δεν ακούγεται] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Malan: --map. 1640 01:22:31,790 --> 01:22:35,770 Και τι συμβαίνει, καθώς, Αυτή η γραμμή μαζί, γραμμή 23, 1641 01:22:35,770 --> 01:22:38,630 ουσιαστικά λέει, hey πρόγραμμα περιήγησης, πηγαίνετε πάρετε μου 1642 01:22:38,630 --> 01:22:42,800 ότι άδειο div στη σελίδα των οποίων μοναδικό αναγνωριστικό είναι χάρτης, 1643 01:22:42,800 --> 01:22:45,600 γιατί θέλω να εισάγετε σε it-- ένεση σε αυτό, 1644 01:22:45,600 --> 01:22:49,520 αν will-- ένα σωρό περιεχομένου που συμβαίνει να είναι προέρχονται από το διαδίκτυο, 1645 01:22:49,520 --> 01:22:50,427 ακολούθως. 1646 01:22:50,427 --> 01:22:52,010 Και της Google κάνει όλα αυτά για μας. 1647 01:22:52,010 --> 01:22:55,350 >> Έτσι και πάλι, στο τέλος της ημέρας, έχουμε αυτό το παράδειγμα της αφαίρεσης. 1648 01:22:55,350 --> 01:22:58,610 Δεν έχω καμία ιδέα για το τι ένας χάρτης είναι ή πώς να εφαρμόσουν ένα χάρτη API. 1649 01:22:58,610 --> 01:22:59,460 Εμείς δεν χρειάζεται να. 1650 01:22:59,460 --> 01:23:02,740 Πρέπει απλώς να πω το χάρτη πού να θέσει τον εαυτό της, και να αφήσει 1651 01:23:02,740 --> 01:23:04,880 εκείνες τις υποκείμενες εφαρμογή λεπτομέρειες στο Google. 1652 01:23:04,880 --> 01:23:08,190 Τώρα υπάρχει προφανώς δύο τμήματα δεδομένων 1653 01:23:08,190 --> 01:23:11,940 ότι αυτό το παράδειγμα είναι παρέχοντας στο API της Google. 1654 01:23:11,940 --> 01:23:16,450 Προφανώς το κέντρο του χάρτη, και το επίπεδο ζουμ, να το πω έτσι. 1655 01:23:16,450 --> 01:23:21,390 >> Και όμως κάποιοι αναγνωρίζουν αυτά συντεταγμένες, γεωγραφικό πλάτος και μήκος; 1656 01:23:21,390 --> 01:23:24,364 Μάλλον όχι, αλλά μπορούμε να πάμε πίσω προς το φροντιστήριο, κυριολεκτικά δείτε. 1657 01:23:24,364 --> 01:23:25,780 Αλλά εμείς θα το δούμε σε λίγο. 1658 01:23:25,780 --> 01:23:29,880 επίπεδο ζουμ είναι μια τιμή μεταξύ, εγώ δεν κάνω Ξέρετε, ένα στα 13 ή κάτι τέτοιο. 1659 01:23:29,880 --> 01:23:32,880 Απλώς έχει να κάνει με το πόσο μακριά είστε μεγέθυνση ή σμίκρυνση, και αυτό είναι όλο. 1660 01:23:32,880 --> 01:23:35,690 Και τώρα στο τέλος της η σελίδα, γραμμή προειδοποίηση 29-- 1661 01:23:35,690 --> 01:23:39,960 είναι λίγο άσχημο, διότι το wraps-- αυτή τη γραμμή κώδικα 1662 01:23:39,960 --> 01:23:44,570 είναι ό, τι κατεβάζει με το πρόγραμμα περιήγησης πραγματική API της Google. 1663 01:23:44,570 --> 01:23:47,500 Όλα του κώδικα που της Google Οι μηχανικοί έχουν γράψει ότι η εφαρμογή 1664 01:23:47,500 --> 01:23:50,000 όλο αυτό το χαρακτηριστικό της ενσωμάτωσης χάρτες. 1665 01:23:50,000 --> 01:23:51,470 >> Τώρα, ας μην αλλάξει τίποτα. 1666 01:23:51,470 --> 01:23:54,761 Εάν είστε μετά μαζί, να προχωρήσει και να απλά να αποθηκεύσετε το αρχείο, αν έχετε πράγματι 1667 01:23:54,761 --> 01:23:55,760 ό, τι έχω. 1668 01:23:55,760 --> 01:23:57,370 Πηγαίνετε στο URL του. 1669 01:23:57,370 --> 01:23:59,820 Μπορείτε να κάνετε κλικ στο κουμπί Εκτέλεση επάνω στην κορυφή και ότι θα πει 1670 01:23:59,820 --> 01:24:03,050 Σας το URL του web server σας και πάλι. 1671 01:24:03,050 --> 01:24:06,010 Και θα σας οδηγήσει σε μια νέα καρτέλα. 1672 01:24:06,010 --> 01:24:11,910 Εάν κάνετε κλικ στο κουμπί Open για map.html, και οι πιθανότητες είναι είστε 1673 01:24:11,910 --> 01:24:15,520 πρόκειται να πάρει μια ειδοποίηση, ένα μήνυμα σφάλματος, ναι; 1674 01:24:15,520 --> 01:24:18,570 Μήνυμα σφάλματος, μήνυμα σφάλματος; 1675 01:24:18,570 --> 01:24:21,170 >> Έτσι, δυστυχώς, το σφάλμα μήνυμα δεν είναι ότι διαφωτιστικό 1676 01:24:21,170 --> 01:24:23,890 εκτός και αν στην πραγματικότητα ανοίξετε το κονσόλα, ότι η ειδική καρτέλα μας 1677 01:24:23,890 --> 01:24:27,110 διατηρείται το άνοιγμα χθες και λίγο νωρίτερα σήμερα. 1678 01:24:27,110 --> 01:24:29,445 Αλλά εγώ σκόνταψε σε αυτό νωρίτερα, οπότε έχω ήδη 1679 01:24:29,445 --> 01:24:30,820 καταλάβει ποια είναι η λύση. 1680 01:24:30,820 --> 01:24:34,440 Στη σημερινή διαφάνειες, ή μάλλον, σε Cloud9, προειδοποίηση 1681 01:24:34,440 --> 01:24:36,430 ότι εμείς δεν κάνουμε κάτι εσκεμμένα. 1682 01:24:36,430 --> 01:24:40,690 Παρατηρήστε ότι αυτή η ετικέτα script στο γραμμή 29, αν διαβάσετε μέσα από αυτό, 1683 01:24:40,690 --> 01:24:44,440 είναι σαν maps.googleapis.com/ κάτι, κάτι, κάτι, 1684 01:24:44,440 --> 01:24:46,430 Στη συνέχεια παρατηρήσετε κάποιον, ένας από τους προγραμματιστές, 1685 01:24:46,430 --> 01:24:50,040 έγραψε σε όλα τα κεφάλαια γράμματα, το κλειδί API σας. 1686 01:24:50,040 --> 01:24:51,700 >> Εμείς πρέπει να επικολλήσετε κάτι εκεί. 1687 01:24:51,700 --> 01:24:53,450 Και αυτό ήταν το βήμα Το έκανα για μας πριν, 1688 01:24:53,450 --> 01:24:57,190 και πάλι θα μπορούσαν μαύρη λίστα μας αν ξαφνικά, 12 ή περισσότερους από εμάς 1689 01:24:57,190 --> 01:24:59,470 αρχίσετε να χρησιμοποιείτε το ίδιο κλειδί, αλλά ας δούμε τι θα συμβεί. 1690 01:24:59,470 --> 01:25:03,030 Έτσι, αν πάτε στο σημερινό διαφάνειες, ένα slide αργότερα, υπάρχει 1691 01:25:03,030 --> 01:25:07,070 αυτό το πολύ funky εμφάνιση συμβολοσειρά κειμένου. 1692 01:25:07,070 --> 01:25:12,230 Προχωρήστε και απλά αντιγράψτε αυτό και επικολλήσετε όπου λέει κλειδί API σας. 1693 01:25:12,230 --> 01:25:15,120 Αυτό είναι το ένα θα υπογράψει για. 1694 01:25:15,120 --> 01:25:17,700 >> Και σίγουρα δεν προσπαθούν πληκτρολογώντας το χέρι, 1695 01:25:17,700 --> 01:25:21,210 διότι αισθάνεται γεμάτη με τυπογραφικά λάθη, ενδεχομένως. 1696 01:25:21,210 --> 01:25:23,260 Έτσι απλά να αντιγράψετε και να επικολλήσετε αυτό. 1697 01:25:23,260 --> 01:25:26,090 Και πρόκειται να κάνει τη γραμμή πλέον, αλλά τώρα, ακριβώς για να είναι σαφής, 1698 01:25:26,090 --> 01:25:29,540 θα πρέπει να κοιτάξουμε λίγο πιο όπως αυτή, όπου το κλειδί δεν ισούται 1699 01:25:29,540 --> 01:25:32,200 κεφαλαιοποιούνται φωνάζουν σε σας. 1700 01:25:32,200 --> 01:25:34,810 Αποθηκεύστε τη σελίδα σας, πηγαίνετε πίσω στην άλλη καρτέλα, reload, 1701 01:25:34,810 --> 01:25:36,770 και ελπίζουμε να δούμε ένα χάρτη πού; 1702 01:25:36,770 --> 01:25:37,790 >> Κοινό: Αυστραλία. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Malan: Αυστραλία. 1704 01:25:38,748 --> 01:25:41,200 Έτσι, προφανώς, αυτά είναι η Συντεταγμένες GPS της Αυστραλίας. 1705 01:25:41,200 --> 01:25:44,491 Και επιτρέψτε μου να περπατήσετε γύρω για μια στιγμή και να βοηθήσει όποιον δεν είναι αρκετά εκεί, 1706 01:25:44,491 --> 01:25:47,729 αλλά επιτρέψτε μου να προτείνω, μέσω του Google, βρείτε το GPS συντεταγμένες της δικής σας πατρίδα 1707 01:25:47,729 --> 01:25:48,770 ή τη δική πατρίδα σας. 1708 01:25:48,770 --> 01:25:51,436 Και κατά πάσα πιθανότητα η Google μπορεί να μετατρέψει αυτό up, ή η Wikipedia μπορεί να σας πει. 1709 01:25:51,436 --> 01:25:54,410 Αλλά να επιλέξουν δύο διαφορετικές τιμές για το γεωγραφικό πλάτος και μήκος, 1710 01:25:54,410 --> 01:25:57,530 πάει πίσω και να επικολλήσετε τους, και Στη συνέχεια επαναλάβετε τη φόρτωση της σελίδας μετά από την αποθήκευση 1711 01:25:57,530 --> 01:26:00,718 και δείτε αν μπορείτε να έχετε ένα χάρτης για τη δική σας πατρίδα. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> Και όταν τελειώσετε με ότι, η παρακολούθηση challenge-- 1714 01:26:08,042 --> 01:26:11,250 και εγώ θα δώσω λίγο λιγότερο κατεύθυνση, σκόπιμα, έτσι ώστε να μπορείτε σκόπιμα 1715 01:26:11,250 --> 01:26:13,791 Πρέπει να αγωνιστούμε για ένα ζευγάρι λεπτά με την τεκμηρίωση, 1716 01:26:13,791 --> 01:26:18,740 αλλάξετε τον χάρτη να μην είναι αυτό καρτουνίστικη προεπιλογή, αλλά ένα δορυφορικό χάρτη. 1717 01:26:18,740 --> 01:26:24,600 Έτσι μπορείτε να δείτε πραγματικά δορυφόρου εικόνες αντί για τα όμορφα χρώματα. 1718 01:26:24,600 --> 01:26:29,710 >> Και η υπόδειξη θα σας δώσω είναι να αλλάξετε τον τύπο του χάρτη. 1719 01:26:29,710 --> 01:26:33,084 Πηγαίνετε πίσω στο ότι να πάρει ξεκίνησε τη σελίδα για έμπνευση. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Όπως ίσως θα έχετε φανεί, αν ψάχνετε, 1722 01:26:42,390 --> 01:26:44,250 υπάρχουν τόσα πολλά περισσότερα πράγματα που μπορείτε να κάνετε. 1723 01:26:44,250 --> 01:26:46,380 Μερικοί από εσάς έχετε ήδη αλλάξει τον τύπο του χάρτη. 1724 01:26:46,380 --> 01:26:49,890 Αλλά μπορείτε να do-- για παράδειγμα, επιτρέψτε μου πάμε σε κάτι που κάναμε για το μάθημα 1725 01:26:49,890 --> 01:26:52,050 Έχω teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Ένας από τους προπτυχιακούς μας το έκανε αυτό. 1727 01:26:53,470 --> 01:26:58,890 Εμείς κέντρο του χάρτη πάνω από το Harvard Yard και επικαλύπτει όλα αυτά τα ονόματα κτιρίου, 1728 01:26:58,890 --> 01:27:01,070 και είχαμε τον προσθέσετε αυτό. 1729 01:27:01,070 --> 01:27:04,270 Έτσι, αν θέλετε να αναζητήσετε, για παράδειγμα, Matthews Hall, 1730 01:27:04,270 --> 01:27:05,730 έχουμε ένα μικρό drop-down μενού. 1731 01:27:05,730 --> 01:27:09,080 Και νομίζω ότι με τη χρήση Bootstrap, το βιβλιοθήκη συζητήσαμε νωρίτερα για αυτό. 1732 01:27:09,080 --> 01:27:12,190 Και αν κάνετε κλικ σε Matthews Hall, αμέσως 1733 01:27:12,190 --> 01:27:14,790 άλματα το χάρτη σε ένα ορισμένο τοποθεσία, και το δείχνει 1734 01:27:14,790 --> 01:27:16,440 σας μια εικόνα σε αυτό το μικρό pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Αλλά ακόμη και αυτό το μικρό pop-up, δεν είχαμε εφαρμόσει. 1736 01:27:18,670 --> 01:27:27,521 Αν μου μετακινηθείτε προς τα κάτω για να πάρει μας ξεκίνησε τη σελίδα και να αναζητήσουν πληροφορίες παράθυρα, 1737 01:27:27,521 --> 01:27:29,770 θα δείτε ότι μερικά από τα λειτουργικότητα εσείς 1738 01:27:29,770 --> 01:27:31,561 μπορεί να προσθέσει, αν και με λίγο πιο περίπλοκο, 1739 01:27:31,561 --> 01:27:33,970 Είναι κάτι που ονομάζεται ένα παράθυρο πληροφοριών. 1740 01:27:33,970 --> 01:27:37,190 Και αν κάνω κλικ ένα παράδειγμα εδώ, και αυτό είναι ό, τι είναι διασκεδαστικό, 1741 01:27:37,190 --> 01:27:40,530 μπορείτε να κάνετε τα πράγματα όπως αυτό, κάνοντας κλικ σε ένα δείκτη και, στη συνέχεια, voila, 1742 01:27:40,530 --> 01:27:42,400 πληροφορίες αναδύεται. 1743 01:27:42,400 --> 01:27:45,874 >> Έτσι, δεν έχουμε αρκετά εισαχθεί αρκετά χαρακτηριστικά του JavaScript 1744 01:27:45,874 --> 01:27:49,040 να ζωγραφίσει μια εικόνα του πώς ακριβώς θα μπορούσε να είναι καλωδιωμένοι όλα αυτά τα πράγματα μαζί, 1745 01:27:49,040 --> 01:27:50,706 αλλά έχουμε το είδος της γδαρμένο από την επιφάνεια. 1746 01:27:50,706 --> 01:27:53,140 Στην πραγματικότητα, αυτό που έκανα ακριβώς όταν Χτύπησα σε αυτό το δείκτη, 1747 01:27:53,140 --> 01:27:55,819 ήταν προκαλώντας ένα συμβάν, μια αποκαλούμενη στο συμβάν κλικ. 1748 01:27:55,819 --> 01:27:57,610 Και είμαστε πραγματικά είδαμε ένα εκδήλωση νωρίτερα σήμερα, 1749 01:27:57,610 --> 01:28:00,670 η λεγόμενη υποβάλλουν εκδήλωση, όταν ήμασταν πρόληψη 1750 01:28:00,670 --> 01:28:02,490 ο χρήστης από την αναζήτηση για τις γάτες. 1751 01:28:02,490 --> 01:28:06,560 Έτσι έχουμε το είδος πήρε και διάλεξαν μεταξύ όλων αυτών των διαφόρων χαρακτηριστικών, 1752 01:28:06,560 --> 01:28:08,990 για να σας δώσει μια αίσθηση, ελπίζουμε, από ό, τι μπορείτε πραγματικά 1753 01:28:08,990 --> 01:28:11,000 κάνει με λίγο περισσότερη άνεση στον προγραμματισμό, 1754 01:28:11,000 --> 01:28:12,587 και εντελώς δωρεάν πόρους. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Καμιά ερώτηση? 1757 01:28:18,770 --> 01:28:19,790 Όχι? 1758 01:28:19,790 --> 01:28:22,542 Αυτή είναι η τελευταία ευκαιρία σας, τουλάχιστον σήμερα, την Παρασκευή, 1759 01:28:22,542 --> 01:28:25,000 να πάρει κάτι από το στήθος σας έτσι ώστε να μπορείτε να περπατήσετε έξω από εδώ 1760 01:28:25,000 --> 01:28:27,067 αυτοπεποίθηση και άνετο. 1761 01:28:27,067 --> 01:28:27,566 Ναί. 1762 01:28:27,566 --> 01:28:29,740 >> Κοινό: Γιατί δεν το κάνουν μπορείτε να προσθέσετε ένα ακόμη πράγμα; 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Malan: Ω Θεέ μου. 1764 01:28:32,720 --> 01:28:35,260 Πρέπει να ξεκουραστεί αυτό το Σαββατοκύριακο, νομίζω. 1765 01:28:35,260 --> 01:28:36,180 Άλλες ερωτήσεις; 1766 01:28:36,180 --> 01:28:37,055 >> Κοινό: [δεν ακούγεται] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Malan: Μπορείτε can-- σε Internet Explorer, Αναπαύσου εν ειρήνη, 1769 01:28:46,810 --> 01:28:49,310 που χρησιμοποιείται για να είναι σε θέση να βάλει VB σενάριο, εικονική βασικό σενάριο, 1770 01:28:49,310 --> 01:28:50,643 αλλά πραγματικά ποτέ δεν πιάστηκε σε. 1771 01:28:50,643 --> 01:28:52,490 Έτσι, η σύντομη απάντηση είναι ακριβώς το JavaScript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Άλλες ερωτήσεις; 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Εντάξει, καλά, επιτρέψτε μου να το κάνουμε αυτό. 1776 01:28:59,760 --> 01:29:02,070 Επιτρέψτε μου να αρπάξει τους συναδέλφους μας έξω. 1777 01:29:02,070 --> 01:29:04,500 Έχουν κάποια αξιολόγηση μορφές που θέλουν όλοι 1778 01:29:04,500 --> 01:29:06,310 να περάσουν μερικά λεπτά συμπλήρωση. 1779 01:29:06,310 --> 01:29:08,775 Θέλουν να συλλέγει αυτή τη μορφή και οποιοδήποτε απαλλαγές που μπορεί να έχετε έξω. 1780 01:29:08,775 --> 01:29:10,240 Θα έχουν επίσης πιστοποιητικά. 1781 01:29:10,240 --> 01:29:12,380 Υποθέτω ότι υπάρχει ακόμα μερικά σνακ έξω. 1782 01:29:12,380 --> 01:29:14,360 Επιτρέψτε μου να περάσουν αυτά τα έξω, και αν έχετε απορίες, εν τω μεταξύ, 1783 01:29:14,360 --> 01:29:17,120 Θα περπατήσετε γύρω από περισσότερα χωριστά και μπορούμε να ξεκινήσετε. 1784 01:29:17,120 --> 01:29:17,879 Ναι φυσικά. 1785 01:29:17,879 --> 01:29:18,754 Κοινό: [δεν ακούγεται] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Malan: Αυτό είναι Συνήθως αλήθεια αυτές τις μέρες. 1788 01:29:28,570 --> 01:29:30,730 Σίγουρα με την ιστοσελίδα λογισμικό, που κλίνει 1789 01:29:30,730 --> 01:29:32,901 για τους άλλους είσαι είτε αισθητικά χρησιμοποιώντας τα πράγματα 1790 01:29:32,901 --> 01:29:35,400 όπως Bootstrap, έτσι ώστε να μην πρέπει να εφαρμόσουν το χαμηλό επίπεδο 1791 01:29:35,400 --> 01:29:37,169 λεπτομέρειες του μενού και κουμπιά και όλα αυτά. 1792 01:29:37,169 --> 01:29:39,210 Είσαι κλίνει σε κάποιον όπως το Google, έτσι ώστε να 1793 01:29:39,210 --> 01:29:42,050 Δεν χρειάζεται να οικοδομήσουμε μια Uber των επιχειρήσεων και των επιχειρήσεων χαρτογράφηση, 1794 01:29:42,050 --> 01:29:44,850 καθώς και κάθε αριθμός παρόμοιων εφαρμογές. 1795 01:29:44,850 --> 01:29:46,350 >> Στην πραγματικότητα, συνδέσεις είναι δημοφιλής, πάρα πολύ. 1796 01:29:46,350 --> 01:29:48,500 Αν έχετε χρησιμοποιήσει το Spotify ή οποιοσδήποτε αριθμός των δικτυακών τόπων, 1797 01:29:48,500 --> 01:29:51,210 θα συνδεθείτε σε κάποιο ιστοσελίδες που χρησιμοποιούν το Facebook. 1798 01:29:51,210 --> 01:29:53,350 Έτσι τι είναι ωραίο, υπάρχει είναι APIs για συνδέσεις 1799 01:29:53,350 --> 01:29:56,570 στις μέρες μας, έτσι ώστε να μην έχουν για να έχετε το δικό σας τραπέζι χρήστες 1800 01:29:56,570 --> 01:29:59,440 και όλων των δικών σας δεδομένων αναγκαστικά στον ίδιο βαθμό. 1801 01:29:59,440 --> 01:30:01,795 Μπορείτε να αφήσετε το Facebook κάνει όλα της πολυπλοκότητας για σας. 1802 01:30:01,795 --> 01:30:03,920 Έτσι είναι μια συναρπαστική στιγμή, Ειλικρινά, στον προγραμματισμό, 1803 01:30:03,920 --> 01:30:07,200 γιατί υπάρχουν τόσες πολλές τρίτους υπηρεσίες που μπορείτε να χτίσετε πάνω από. 1804 01:30:07,200 --> 01:30:10,890 >> Και πάλι, η τιμή που πληρώνετε είναι είτε οικονομικά ή downtime. 1805 01:30:10,890 --> 01:30:13,750 Εάν η Google πηγαίνει κάτω, το ίδιο κάνει και Uber, αναμφισβήτητα, 1806 01:30:13,750 --> 01:30:15,690 αλλά ίσως αυτό είναι ένα λογικές trade-off. 1807 01:30:15,690 --> 01:30:18,040 Και πάλι, αυτό ήταν ένα από τα θέματα, Ας ελπίσουμε ότι, για τις τελευταίες δύο ημέρες, 1808 01:30:18,040 --> 01:30:18,780 Είναι αυτοί οι συμβιβασμοί. 1809 01:30:18,780 --> 01:30:20,738 Και σπάνια θα υπάρχει να είναι μια σωστή απάντηση. 1810 01:30:20,738 --> 01:30:25,700 Είναι πραγματικά η καλύτερη δύο ή περισσότερες απαντήσεις. 1811 01:30:25,700 --> 01:30:26,682 >> Περάστε αυτές γύρω. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> Και αυτοί οι λογαριασμοί Cloud9 θα συνεχιστεί στην εργασία, στη θεωρία, στο διηνεκές. 1814 01:30:41,110 --> 01:30:45,000 Μπορείτε να βρείτε εάν περιμένετε μερικές μέρες ή μια εβδομάδα ή περισσότερο για να συνδεθείτε ξανά σε αυτά, 1815 01:30:45,000 --> 01:30:49,170 μπορεί να πάρει σαν ένα ή πέντε λεπτά για να ανοίξει back up, 1816 01:30:49,170 --> 01:30:54,090 αλλά αυτό είναι μόνο και μόνο επειδή βάζουν να κοιμηθεί για να σώσει τους πόρους. 1817 01:30:54,090 --> 01:31:10,527