1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Καλώς ήρθατε, ο καθένας, μέχρι την εβδομάδα 10. 3 00:00:09,810 --> 00:00:15,130 Αυτό είναι μια συναρπαστική εβδομάδα, διότι αύριο είναι Quiz 1, το οποίο θα πάρει 4 00:00:15,130 --> 00:00:16,400 στο ένα δευτερόλεπτο. 5 00:00:16,400 --> 00:00:21,770 Σήμερα στο τμήμα, πρόκειται να πάει πάνω από ορισμένες πηγές για το κουίζ, και 6 00:00:21,770 --> 00:00:24,890 τότε θα απαντήσει σε οποιαδήποτε και όλα τα ερωτήσεις που εσείς έχετε. 7 00:00:24,890 --> 00:00:27,880 Και στο τέλος θα με κάποια προβλήματα πρακτικής. 8 00:00:27,880 --> 00:00:30,940 >> Μπορούμε να περάσουν ολόκληρο το τμήμα απαντώντας σε ερωτήσεις. 9 00:00:30,940 --> 00:00:33,240 Μπορούμε να περάσουν ολόκληρο το τμήμα πηγαίνει πέρα ​​από τα προβλήματα πρακτικής. 10 00:00:33,240 --> 00:00:36,890 Εμείς θα επεκτείνει απλά για να γεμίσει το χώρο και το χρόνο που έχουμε. 11 00:00:36,890 --> 00:00:40,590 >> Έτσι έβαλα αυτή τη λίστα κάθε εβδομάδα, αλλά είναι ιδιαίτερα σημαντικό αυτή την εβδομάδα. 12 00:00:40,590 --> 00:00:44,980 Για τη μελέτη, αν δεν έχετε ήδη αρχίσει, αμάν. 13 00:00:44,980 --> 00:00:46,400 Αλλά ελπίζουμε ότι έχετε ήδη ξεκινήσει. 14 00:00:46,400 --> 00:00:50,710 Και θα έχετε την ευκαιρία μέσα από τα υλικά και τους πόρους που αναφέρονται εδώ. 15 00:00:50,710 --> 00:00:54,300 Θα συνιστούσα ένας αριθμός από αυτά. 16 00:00:54,300 --> 00:00:58,780 >> Ειδικότερα, σημειώσεις διάλεξης είναι εξαιρετικά σημαντικό και χρήσιμο. 17 00:00:58,780 --> 00:01:02,880 Η study.cs50.net παρέχει μια μεγάλη αλφαβητάρι για πολλά 18 00:01:02,880 --> 00:01:04,250 τα θέματα που καλύπτονται. 19 00:01:04,250 --> 00:01:07,810 Έχει επίσης κάποια μεγάλη πρακτική προβλήματα. 20 00:01:07,810 --> 00:01:11,260 Και στη συνέχεια, η Google είναι μεγάλη, πάρα πολύ. 21 00:01:11,260 --> 00:01:12,360 Δεν ξέρω τι θα το χρησιμοποιήσετε για. 22 00:01:12,360 --> 00:01:14,090 Αλλά χρησιμοποιούν το Google, καθώς και. 23 00:01:14,090 --> 00:01:16,680 >> Απευθυνθείτε σε μένα, αν έχετε οποιαδήποτε ερωτήσεις, σχόλια, ή ανησυχίες. 24 00:01:16,680 --> 00:01:19,420 Κοιτάξτε πέρα ​​από τη σύνοδο επανεξέτασης διαφάνειες από χθες το βράδυ. 25 00:01:19,420 --> 00:01:21,540 Ή, αν έχετε λίγο χρόνο, δείτε το βίντεο. 26 00:01:21,540 --> 00:01:24,930 Παρέχουν πολλές χρήσιμες υλικού και πληροφοριών. 27 00:01:24,930 --> 00:01:29,730 Και να προσπαθήσουμε και να καλύπτει, αν όχι όλα, πολλά από τα τα θέματα που καλύψαμε και ότι θα 28 00:01:29,730 --> 00:01:32,610 μπορεί να δει στο κουίζ. 29 00:01:32,610 --> 00:01:35,590 >> Μιλώντας για το κουίζ, ότι θα είναι αύριο. 30 00:01:35,590 --> 00:01:37,260 Είναι 75 λεπτά καιρό. 31 00:01:37,260 --> 00:01:40,740 Πολλοί από εσάς το παίρνετε σε 1 ώρα, και κάποιοι από εσάς είναι 32 00:01:40,740 --> 00:01:42,740 τη λήψη του στις 5:30. 33 00:01:42,740 --> 00:01:45,300 Για την ώρα το παίρνετε και το θέση το παίρνετε, βεβαιωθείτε 34 00:01:45,300 --> 00:01:49,400 μπορείτε να ελέγξετε το έγγραφο στην αρχική σελίδα CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> Να θυμάστε ότι μπορείτε να πάρετε μια 8 1/2 με 11 φύλλα για να πάρετε μαζί σας. 36 00:01:54,340 --> 00:01:57,310 Πολλάκις, οι άνθρωποι δεν χρησιμοποιούν αυτό το φύλλο καθόλου κατά τη διάρκεια του κουίζ. 37 00:01:57,310 --> 00:01:59,740 Αλλά πραγματικά, είναι μια απίστευτα χρήσιμο εργαλείο μελέτης. 38 00:01:59,740 --> 00:02:04,370 Έτσι, βάζοντας μαζί αυτό το φύλλο είναι αυτό που Πέρασα ίσως τρεις ή τέσσερις ώρες 39 00:02:04,370 --> 00:02:07,110 κάνει όταν σπούδαζα για CS50, και ότι ήταν σίγουρα το πιο χρήσιμο 40 00:02:07,110 --> 00:02:08,740 τρόπος που θα μπορούσε να μελετήσει για το κουίζ. 41 00:02:08,740 --> 00:02:10,949 Έτσι, ακόμη και αν έχετε κάποια άλλη ανθρώπων οδηγούς σπουδών για να εξετάσει και 42 00:02:10,949 --> 00:02:14,740 χρησιμοποιήσετε ως αναφορά, συστήνω ιδιαίτερα κάνοντας τη δική σας οδηγός σπουδών, θέτοντας 43 00:02:14,740 --> 00:02:15,490 αυτά τα πράγματα μαζί. 44 00:02:15,490 --> 00:02:17,335 Αυτό πραγματικά σας βοηθά να μάθετε όλο το υλικό. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Τελευταίο αλλά όχι λιγότερο σημαντικό σε αυτή την ενότητα, μετά την αυριανή κουίζ υπάρχει ένα 47 00:02:24,810 --> 00:02:25,940 περισσότερα διάλεξη - 48 00:02:25,940 --> 00:02:26,960 την ερχόμενη Δευτέρα. 49 00:02:26,960 --> 00:02:30,430 Υπάρχει ένα ακόμα τμήμα, όχι τον επόμενο Τρίτη πριν από την ημέρα των ευχαριστιών, αλλά η 50 00:02:30,430 --> 00:02:31,630 Τρίτη μετά από αυτό. 51 00:02:31,630 --> 00:02:36,600 Θα συναντηθεί μαζί για μια τελική αντίο κόμμα, αλλά και να κάνει κάποιο δροσερό 52 00:02:36,600 --> 00:02:41,530 πράγματα για να σας πάρει ενθουσιασμένος για παιδιά περαιτέρω σπουδές στην επιστήμη των υπολογιστών. 53 00:02:41,530 --> 00:02:45,040 >> Υπάρχει ένα ακόμα έργο, ένα ακόμη δίκαιη, ένα ακόμη hackathon. 54 00:02:45,040 --> 00:02:47,900 Πλησιάζουμε στο τέλος του CS50, το οποίο είναι συναρπαστικό - 55 00:02:47,900 --> 00:02:50,950 αλλά επίσης, αν είστε σαν μου, λίγο θλιβερό. 56 00:02:50,950 --> 00:02:53,950 Πριν προχωρήσουμε, όμως κάποιοι έχουν απορίες σχετικά με το τι 57 00:02:53,950 --> 00:02:55,200 καλύψαμε μέχρι τώρα; 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> Εντάξει, αλλά ας πάει πέρα ​​από μερικές ερωτήσεις που έχετε για το κουίζ και θέματα 60 00:03:08,730 --> 00:03:09,960 θα μπορούσαμε να καλύψουμε. 61 00:03:09,960 --> 00:03:11,540 Έτσι, αυτό είναι μια λίστα που έβαλα μαζί. 62 00:03:11,540 --> 00:03:15,500 Δεν είναι καθόλου εξαντλητικός, αλλά ελπίζουμε ότι θα βοηθήσει τη μνήμη σας, εάν 63 00:03:15,500 --> 00:03:20,310 έχετε κάποιες ερωτήσεις σχετικά με οποιοδήποτε από αυτά τα θέματα, ή αν έχετε ερωτήσεις σχετικά με 64 00:03:20,310 --> 00:03:23,260 προβλήματα πρακτικής από κουίζ τα προηγούμενα χρόνια. 65 00:03:23,260 --> 00:03:27,470 >> Είχα ένα ζευγάρι ερωτήματα που ήταν αποστέλλονται σε μένα, αλλά θέλω να κρατήσει μακριά 66 00:03:27,470 --> 00:03:29,490 σε εκείνες για ένα δευτερόλεπτο. 67 00:03:29,490 --> 00:03:34,570 Μήπως κάποιος έχει απορίες, προβλήματα που δεν καταλαβαίνουν, 68 00:03:34,570 --> 00:03:38,100 απαντήσεις που δεν κατάλαβαν για να ξεκινήσουμε; 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> ΚΟΙΝΟ: Μπορείς να πήγαινε πάνω DOM και Ajax πραγματικά γρήγορα; 71 00:03:41,585 --> 00:03:46,540 Όπως, τι πρέπει να ξέρουμε ή θα πρέπει να καταλαβαίνουν γι 'αυτούς; 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: Πάω να απαντήσει γενικά αυτό το ερώτημα, τι μπορώ να κάνω 73 00:03:49,750 --> 00:03:52,100 πρέπει να ξέρετε για συγκεκριμένο θέμα x; 74 00:03:52,100 --> 00:03:55,280 Επειδή έχω μια αίσθηση ότι πολλοί από εσάς πρόκειται να με ρωτήσεις ότι, ή 75 00:03:55,280 --> 00:03:56,570 περίεργος γι 'αυτό. 76 00:03:56,570 --> 00:04:02,920 Έτσι, στο βαθμό που το θέμα ήταν καλύπτεται από διάλεξη, ή τμήμα, ή σε 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, ένα πρόβλημα που, σας θα πρέπει να είναι εξοικειωμένοι με αυτό. 78 00:04:06,460 --> 00:04:10,580 >> Έτσι, δεν χρειάζεται να γνωρίζουν κάθε τύπο ετικέτας που είναι διαθέσιμο σε μορφή HTML ή 79 00:04:10,580 --> 00:04:15,950 κάθε είδους παράμετρος ή μια ιδιότητα μπορείτε να δώσετε κάτι στο CSS. 80 00:04:15,950 --> 00:04:20,204 Αλλά αν το είδε σε ένα παράδειγμα διάλεξη, αν το είδε σε ένα πρόβλημα 81 00:04:20,204 --> 00:04:23,290 σύνολο, θα πρέπει πιθανότατα να είναι εξοικειωμένοι με αυτό, ιδιαίτερα τα πράγματα που είδατε 82 00:04:23,290 --> 00:04:24,260 στη διάλεξη. 83 00:04:24,260 --> 00:04:28,510 Έτσι συζητήσαμε το έγγραφο μοντέλο αντικειμένου λίγο στο 84 00:04:28,510 --> 00:04:30,530 τμήμα, πολύ περισσότερο στην διάλεξη. 85 00:04:30,530 --> 00:04:32,990 Θα πρέπει να είστε εξοικειωμένοι με την εν λόγω πολύ από αυτό. 86 00:04:32,990 --> 00:04:34,750 >> Και θα πρέπει να είναι εξοικειωμένοι με AJAX στον ίδιο βαθμό. 87 00:04:34,750 --> 00:04:38,105 Εμείς ποτέ δεν είδε απίστευτα προχωρημένο ή περίπλοκη παραδείγματα Ajax, έτσι 88 00:04:38,105 --> 00:04:40,920 δεν πρόκειται να ζητηθεί κάνουμε κάτι απίστευτα περίπλοκο. 89 00:04:40,920 --> 00:04:45,180 Αλλά μπορεί να σας ζητηθεί, πώς μπορώ να κάνω πραγματοποιήσετε μια κλήση χρησιμοποιώντας jQuery Ajax; 90 00:04:45,180 --> 00:04:47,350 Ποια είναι κάτι που έχετε δει μια σειρά φορές πριν, τόσο στην 91 00:04:47,350 --> 00:04:51,370 επανεξετάζει συνόδου και στη διάλεξη, και Είναι μόνο δύο-ish γραμμές κώδικα. 92 00:04:51,370 --> 00:04:53,190 >> Έτσι, αυτό είναι κάτι που πρέπει να είναι εξοικειωμένοι με. 93 00:04:53,190 --> 00:04:55,550 Αλλά και πάλι, για όλα αυτά τα θέματα, αν το έχετε δει 94 00:04:55,550 --> 00:04:59,220 πριν, είναι δίκαιο παιχνίδι. 95 00:04:59,220 --> 00:05:01,540 Και θα μπορούσαμε να σας ρωτήσω - προφανώς, είμαστε πρόκειται να σας ζητήσω να σας τα πράγματα 96 00:05:01,540 --> 00:05:02,340 δεν έχουμε ξαναδεί. 97 00:05:02,340 --> 00:05:04,240 Κωδικοποίηση κάτι που δεν έχουν ξαναδεί. 98 00:05:04,240 --> 00:05:06,570 Ποια δεν είναι να πούμε ότι δεν έχουν δει τα εργαλεία για την επίλυση 99 00:05:06,570 --> 00:05:08,120 το πρόβλημα πριν. 100 00:05:08,120 --> 00:05:09,200 Έχετε δει αυτά τα εργαλεία. 101 00:05:09,200 --> 00:05:11,160 >> Για παράδειγμα, σε ένα κουίζ 1, εάν θα πρέπει να κωδικοποιήσει strlen. 102 00:05:11,160 --> 00:05:12,790 Δεν έχουν κωδικοποιηθεί strlen πριν. 103 00:05:12,790 --> 00:05:14,980 Αλλά ξέρετε πώς να χρησιμοποιούμε ένα for loop, ξέρετε πώς να χρησιμοποιήσετε αν οι συνθήκες. 104 00:05:14,980 --> 00:05:18,570 Ξέρετε πώς να γράψει μεταβλητές C. Είναι πρόκειται να είναι το ίδιο πράγμα εδώ. 105 00:05:18,570 --> 00:05:22,350 Δεν πρόκειται να σας ζητηθεί να κάνετε κάτι που δεν έχετε ξαναδεί, αλλά 106 00:05:22,350 --> 00:05:25,150 μπορεί να σας ζητηθεί να, όπως, βάλτε κάτι μαζί με έναν νέο τρόπο, ή 107 00:05:25,150 --> 00:05:27,650 λύσει ένα διαφορετικό είδος του προβλήματος. 108 00:05:27,650 --> 00:05:30,830 >> Δυστυχώς, αυτό δεν ήταν ειδικά για σας ερώτηση, αλλά δεν μπορώ να απαντήσω σχετικά με 109 00:05:30,830 --> 00:05:34,390 κάθε θέμα τι ή δεν χρειάζεται να ξέρετε. 110 00:05:34,390 --> 00:05:36,830 Αλλά, επίσης, συγγνώμη, το τελευταίο πράγμα που σε αυτό. 111 00:05:36,830 --> 00:05:42,900 Έχουμε περάσει πολύ περισσότερο χρόνο στους καταλόγους σύνδεσμο ό, τι έχουμε για Ajax. 112 00:05:42,900 --> 00:05:46,160 Δεν έκανε χρήση Ajax σε ένα σύνολο πρόβλημα. 113 00:05:46,160 --> 00:05:48,510 Ένα από τα κεντρικά χαρακτηριστικά του εν λόγω πρόβλημα που αυτό ήταν σύνδεση καταλόγους. 114 00:05:48,510 --> 00:05:50,370 Και περάσαμε πολύ χρόνο στη διάλεξη και ενότητα με αυτό. 115 00:05:50,370 --> 00:05:57,080 >> Έτσι, οι πιθανότητες είναι σύνδεση κατάλογο θα καταλήξει περισσότερο συχνά στο κουίζ από Ajax βούληση. 116 00:05:57,080 --> 00:06:00,390 Ή τα ερωτήματα που έχουν να κάνουν με τη σύνδεση κατάλογος θα αξίζει περισσότερα σημεία. 117 00:06:00,390 --> 00:06:03,520 Έτσι, μπορείτε σίγουρα εστίαση και στενό σε σχετικά με τα πράγματα που είναι πιο 118 00:06:03,520 --> 00:06:06,720 ενδέχεται να καταλήξει γιατί έχουμε αφιέρωναν περισσότερο χρόνο σε αυτά. 119 00:06:06,720 --> 00:06:08,700 >> OK οποιεσδήποτε άλλες ερωτήσεις; 120 00:06:08,700 --> 00:06:09,890 Ναι. 121 00:06:09,890 --> 00:06:13,660 >> ΚΟΙΝΟ: Μπορούμε να πάει πέρα ​​από τη χρήση του ανώνυμες λειτουργίες σε JavaScript; 122 00:06:13,660 --> 00:06:17,140 Είμαι ένας είναι λίγο σύγχυση σχετικά με αυτό. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Έτσι, στο JavaScript - 124 00:06:20,180 --> 00:06:24,400 Προσπαθώ να σκεφτώ πώς θα θα μπορούσε να γράψει αυτό σε - 125 00:06:24,400 --> 00:06:27,590 οπότε ας πραγματικά να ανοίξει αυτόν τον κώδικα. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Έτσι, αυτό είναι ένας κώδικας που κάναμε την περασμένη εβδομάδα. 128 00:06:36,030 --> 00:06:41,400 Και έχετε δει αυτό πριν, αν ήταν εδώ στο τμήμα την περασμένη εβδομάδα. 129 00:06:41,400 --> 00:06:43,180 Ή έχετε δει κάτι παρόμοιο με αυτό πριν. 130 00:06:43,180 --> 00:06:44,800 >> Αλλά μπορείτε να δείτε σε αυτή την πρώτη γραμμή. 131 00:06:44,800 --> 00:06:46,950 Αυτό είναι το πώς να ξεκινήσετε - 132 00:06:46,950 --> 00:06:48,010 ο καθένας έχει δει αυτό πριν. 133 00:06:48,010 --> 00:06:51,930 Αν θέλετε να βάλετε κάποιο JavaScript κώδικα, μπορείτε να το βάλετε μέσα σε αυτό, με την προϋπόθεση 134 00:06:51,930 --> 00:06:53,520 είστε με τη χρήση JQuery. 135 00:06:53,520 --> 00:06:56,940 Αυτό λέει, δεν κάνουν τίποτα μέχρι να φορτωθεί του εγγράφου. 136 00:06:56,940 --> 00:06:59,940 >> Και τότε, Curt, μπορείτε να δείτε εδώ κάνουμε κάτι σαν αυτό - 137 00:06:59,940 --> 00:07:02,560 λειτουργία ανοικτής paren, έκλεισε paren. 138 00:07:02,560 --> 00:07:05,250 Γι 'αυτό και δεν δίνουν αυτή την λειτουργεί ένα όνομα. 139 00:07:05,250 --> 00:07:09,160 Εμείς δεν πρόκειται να ορίσει αυτή τη λειτουργία υποτίθεται για να τρέξει και στη συνέχεια 140 00:07:09,160 --> 00:07:10,830 το ονομάσουμε ένα σωρό φορές. 141 00:07:10,830 --> 00:07:15,140 Απλά λέμε σε αυτό το έγγραφο ήδη λαμβάνει μια λειτουργία. 142 00:07:15,140 --> 00:07:16,690 Ένα ζευγάρι από τα πράγματα που πρέπει να κάνουμε. 143 00:07:16,690 --> 00:07:20,670 >> Και δεν θέλουμε να περάσουν το χρόνο δίνοντάς του ένα όνομα ή να το αποθηκεύσετε για 144 00:07:20,670 --> 00:07:21,650 διηνεκές. 145 00:07:21,650 --> 00:07:24,150 Εμείς απλά θέλουμε να εκτελέσετε κάποια πράγματα. 146 00:07:24,150 --> 00:07:27,500 Έτσι, ένας ανώνυμος είδος λειτουργίας του εξυπηρετεί το σκοπό αυτό. 147 00:07:27,500 --> 00:07:30,280 Όταν δεν πρόκειται να χρησιμοποιήσετε κάτι ξανά και ξανά, έτσι ώστε να μην χρειάζεται 148 00:07:30,280 --> 00:07:32,420 να δώσετε ένα όνομα - απλά θέλετε να το χρησιμοποιήσετε μια φορά - 149 00:07:32,420 --> 00:07:36,720 θα σας πω ακριβώς την λειτουργία τους, παράδειγμα, στην περίπτωση αυτή, και είστε ακριβώς 150 00:07:36,720 --> 00:07:38,280 τον καθορισμό κάτι που θα μπορούσε να δώσει ένα όνομα. 151 00:07:38,280 --> 00:07:40,920 >> Όπως, θα μπορούσε να τραβήξει αυτή τη λειτουργία από και να της δώσει ένα όνομα και στη συνέχεια να καλέσετε ότι 152 00:07:40,920 --> 00:07:41,760 λειτουργούν εδώ. 153 00:07:41,760 --> 00:07:44,270 Αλλά δεν χρειάζεται να γιατί δεν το κάνουμε θέλετε να χάνετε χρόνο δίνοντάς του ένα όνομα ή 154 00:07:44,270 --> 00:07:46,240 σπατάλη κάτι στο χώρο όνομά μας. 155 00:07:46,240 --> 00:07:47,530 Και θα δείτε ότι πολλά. 156 00:07:47,530 --> 00:07:52,810 Για παράδειγμα, βλέπουμε ότι ένα πολύ σε αυτό κώδικα, αλλά έχετε δει αυτό πριν, όταν 157 00:07:52,810 --> 00:07:54,010 κάνετε κλικ κάτι - 158 00:07:54,010 --> 00:07:55,980 εκτελέσετε αυτόν τον τύπο κώδικα. 159 00:07:55,980 --> 00:07:59,850 >> Θα μπορούσαμε να ορίσουμε τον κώδικα που θέλουμε να τρέχει όταν κάνουμε κλικ, στην περίπτωση αυτή, 160 00:07:59,850 --> 00:08:03,450 αυτό το αναγνωριστικό, ως ξεχωριστή λειτουργία και στη συνέχεια να εκτελέσετε αυτή τη λειτουργία. 161 00:08:03,450 --> 00:08:07,940 Αλλά σε αυτή την περίπτωση, απλά παρακάμπτοντας αυτό το βήμα και κίνηση εδώ και 162 00:08:07,940 --> 00:08:10,340 μόνο για τον καθορισμό πάντα ότι θέλουμε να συμβεί και 163 00:08:10,340 --> 00:08:12,450 δεν της έδωσε ένα όνομα. 164 00:08:12,450 --> 00:08:15,550 Αυτό ακόμα δεν θα μπορούσε να έχει απαντήσει στην ερώτησή σας. 165 00:08:15,550 --> 00:08:15,960 >> ΚΟΙΝΟ: Όχι, δεν κάνει. 166 00:08:15,960 --> 00:08:18,290 Θέλω να πω, υποθέτω ότι απλά δεν κάνουν πραγματικά καταλαβαίνω γιατί θα ήταν μια 167 00:08:18,290 --> 00:08:20,800 λειτουργούν καθόλου, όμως. 168 00:08:20,800 --> 00:08:21,590 Επειδή δεν είναι πραγματικά να ονομάζεται. 169 00:08:21,590 --> 00:08:23,170 Δεν έχει πραγματικά ένα όνομα. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: Είναι μια λειτουργία στην την αίσθηση ότι πρόκειται για μια σειρά από βήματα, 171 00:08:25,510 --> 00:08:28,460 όπως θα θέσει σε λειτουργία. 172 00:08:28,460 --> 00:08:29,970 Και στη συνέχεια, γι 'αυτό καλούμε είναι ανώνυμη συνάρτηση. 173 00:08:29,970 --> 00:08:30,815 Εμείς δεν πρόκειται να δώσει ένα όνομα. 174 00:08:30,815 --> 00:08:33,159 Εμείς δεν πρόκειται να σπαταλήσουν την προσπάθεια για το όνομα, αλλά θα μπορούσαμε. 175 00:08:33,159 --> 00:08:34,890 >> Ανώνυμος λειτουργίες, μπορείτε μπορούν να δίνουν πάντα ένα όνομα. 176 00:08:34,890 --> 00:08:37,620 Έτσι, για παράδειγμα, αυτός ο κώδικας εδώ, θα μπορούσαμε να βάλουμε αυτόν τον κώδικα μέσα σε ένα 177 00:08:37,620 --> 00:08:39,929 λειτουργία και στη συνέχεια να καλέσετε αυτή η λειτουργία εδώ. 178 00:08:39,929 --> 00:08:41,600 Αντ 'αυτού, ας πούμε, εμείς δεν πρόκειται να ασχοληθείτε με αυτό. 179 00:08:41,600 --> 00:08:44,390 Εμείς απλά θα γράψω εντάξει εδώ. 180 00:08:44,390 --> 00:08:49,840 >> Είναι σαν μερικές φορές όταν είστε γραπτώς τεσσάρων βρόχο C - εσείς 181 00:08:49,840 --> 00:08:51,630 το έχετε ξαναδεί - ίσως είστε επανάληψη μέσω forloop 182 00:08:51,630 --> 00:08:53,090 σε i ισούται με 0. 183 00:08:53,090 --> 00:08:54,830 Ι είναι μικρότερη από strlen. 184 00:08:54,830 --> 00:08:59,520 Ή θα πάμε μέσα από μερικά πίνακα, μπορείτε να αποθηκεύσετε σειρά 185 00:08:59,520 --> 00:09:01,580 δείκτης i σε κάποια μεταβλητή. 186 00:09:01,580 --> 00:09:02,830 Και μπορείτε να χρησιμοποιήσετε αυτή τη μεταβλητή. 187 00:09:02,830 --> 00:09:06,550 Έτσι δεν χρειάζεται να ξαναγράψουμε σειρά βραχίονα i ξανά και ξανά και ξανά. 188 00:09:06,550 --> 00:09:08,160 >> Και αυτό είναι το είδος του όπως μια εικονική μεταβλητή. 189 00:09:08,160 --> 00:09:10,790 Δεν είναι πολύ εξυπηρετούν σκοπούς άλλους από να κάνουν τον κωδικό σας λίγο πιο καθαρά 190 00:09:10,790 --> 00:09:12,120 και εύκολο να το διαβάσετε. 191 00:09:12,120 --> 00:09:13,290 Παρόμοια λειτουργία εδώ. 192 00:09:13,290 --> 00:09:15,665 Απλά το κάνει λίγο πιο εύκολο, αλλά λειτουργικά δεν υπάρχει καμία διαφορά. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Μήπως αυτό απαντήσω στην ερώτησή σας; 195 00:09:19,330 --> 00:09:19,970 >> ΚΟΙΝΟ: Ναι. 196 00:09:19,970 --> 00:09:20,720 >> JASON Hirschhorn: OK .. 197 00:09:20,720 --> 00:09:21,880 Mario; 198 00:09:21,880 --> 00:09:25,380 >> ΚΟΙΝΟ: Χθες βάζουν συχνά λειτουργία παρενθέσεις εκδήλωση. 199 00:09:25,380 --> 00:09:26,420 Μήπως αυτό σημαίνει κάτι; 200 00:09:26,420 --> 00:09:30,500 Ή μήπως είναι για τα πράγματα όπως ότι θα κάνουν 201 00:09:30,500 --> 00:09:35,100 document.ready εκδήλωση λειτουργία. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Το έχουμε δει αυτό, και και πάλι, αυτά είναι μικρότερα πράγματα που 203 00:09:37,130 --> 00:09:39,590 μάλλον δεν θέλω να ξοδεύουν πάρα πολύ χρόνο σε. 204 00:09:39,590 --> 00:09:43,200 Επειδή μερικές φορές δεν θέλω οι άνθρωποι να φρίκαρε ότι δεν έχουν 205 00:09:43,200 --> 00:09:44,220 ακούσει για αυτά τα πράγματα τόσο πολύ. 206 00:09:44,220 --> 00:09:46,200 Αλλά μιλήσαμε λίγο για χειρισμού συμβάντων. 207 00:09:46,200 --> 00:09:50,360 Έτσι, συμβαίνει κάτι, και στη συνέχεια Αυτή η λειτουργία εκτελείται. 208 00:09:50,360 --> 00:09:53,210 Και τότε θα θέλουν επίσης να γνωρίζουν κάποιες λεπτομέρειες σχετικά με το τι 209 00:09:53,210 --> 00:09:54,450 συνέβη σε αυτήν την περίπτωση. 210 00:09:54,450 --> 00:09:55,730 >> Έτσι σκεφτείτε πίσω στο πρόβλημα που 4. 211 00:09:55,730 --> 00:09:58,390 Αυτό είναι πιθανώς ο ευκολότερος τρόπος για να καταλάβετε ότι break out. 212 00:09:58,390 --> 00:09:59,740 Υπήρξε κάποια κώδικα - 213 00:09:59,740 --> 00:10:01,980 σαν ένα γεγονός θα συμβεί, αλλά γεγονός μπορεί να σημαίνει πολλά πράγματα. 214 00:10:01,980 --> 00:10:06,240 Αν θα μπορούσε να σημάνει το ποντίκι πατηθεί, θα μπορούσε να σημαίνει ότι θα χτυπήσει ένα πλήκτρο βέλους, et 215 00:10:06,240 --> 00:10:07,190 κ.λπ., κ.λπ.. 216 00:10:07,190 --> 00:10:09,800 >> Αλλά είναι όλα αποθηκεύονται σε αυτό το γενικό πράγμα που ονομάζεται εκδηλώσεις. 217 00:10:09,800 --> 00:10:12,340 Και τότε μπορούμε να πούμε, είναι το γεγονός αυτό το πράγμα; 218 00:10:12,340 --> 00:10:13,640 Ή μήπως αυτό το γεγονός αυτό το πράγμα; 219 00:10:13,640 --> 00:10:15,500 Ή, τι είδους συνέβη με αυτό το γεγονός; 220 00:10:15,500 --> 00:10:18,660 Έτσι, γι 'αυτό μπορείτε να δημιουργήσετε τη μεταβλητή εκεί για να σώσει ότι επιπλέον πληροφορίες 221 00:10:18,660 --> 00:10:21,420 για το τι ακριβώς συνέβη εκείνο το θα πάμε να θέλουν να 222 00:10:21,420 --> 00:10:24,840 χρησιμοποιήσει στη συνάρτηση. 223 00:10:24,840 --> 00:10:28,200 Αλλά και πάλι, αυτό είναι ίσως ένα από τα λιγότερο σημαντικά πράγματα να είναι σούπερ 224 00:10:28,200 --> 00:10:29,450 εξοικειωμένοι με. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> Εντάξει, τι άλλα ζητήματα έχουν οι άνθρωποι είχε, ή εμπόδια που έχουν 227 00:10:36,110 --> 00:10:37,360 ανέκυψαν κατά την αναθεώρηση; 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Θα πίσω στον εν λόγω κατάλογο. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Τι γίνεται κατά τη διάρκεια κουίζ πρακτική, εάν άνθρωποι έχουν εκείνα που έχουν ήδη; 232 00:10:56,080 --> 00:10:59,110 Ποια ήταν μερικά από τα προβλήματα που τελική εσείς επάνω; 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Ξέρω για ένα γεγονός ότι πέρυσι κουίζ ήταν πραγματικά δύσκολο. 235 00:11:12,720 --> 00:11:15,670 >> ΚΟΙΝΟ: Μπορείτε να εξηγήσετε τι μια επίθεση SQL ένεση είναι; 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: Εντάξει, ωραία. 237 00:11:18,970 --> 00:11:20,440 Έτσι, μιλήσαμε για αυτό το λίγο. 238 00:11:20,440 --> 00:11:22,050 Υπάρχει μια διάλεξη σχετικά με την ασφάλεια. 239 00:11:22,050 --> 00:11:25,670 Και πάλι, όπως ανέφερα προηγουμένως, Αυτό είναι ένα μέρος. 240 00:11:25,670 --> 00:11:30,010 Αλλά θα πρέπει να απογοητεύονται στο κουίζ όταν έχετε διαβάσει κάποιες μικρές δύο σημεία 241 00:11:30,010 --> 00:11:33,040 ερώτηση, και είστε όπως, όταν σου έχω μάθει ότι; 242 00:11:33,040 --> 00:11:35,560 >> Όλα αυτά τα πράγματα σε αυτές τις διαλέξεις ότι δεν πίστευα ότι θα έπρεπε να 243 00:11:35,560 --> 00:11:38,290 γνωρίζουν, ή θα μπορούσατε να gloss πάνω, επειδή που δεν έχουν να κάνουν με το 244 00:11:38,290 --> 00:11:41,860 σύνολο του προβλήματος, εκείνοι κατά πάσα πιθανότητα θα καταλήξουμε και πάλι στο κουίζ. 245 00:11:41,860 --> 00:11:45,030 Έτσι, δροσερό, διασκέδαση πράγματα που απλά σκέφτηκε ο David έλεγε για να μπορείτε να 246 00:11:45,030 --> 00:11:49,070 απολαύσετε, που σου έλεγε για να μπορείτε να απολαύσετε και να σας κάνει να είναι μόνο super 247 00:11:49,070 --> 00:11:50,550 ενθουσιασμένος για την εκμάθηση τα πάντα Είναι εκεί για να μάθουν 248 00:11:50,550 --> 00:11:51,670 σχετικά με την επιστήμη υπολογιστών. 249 00:11:51,670 --> 00:11:53,680 Αυτά τα πράγματα έρχονται επίσης σε κουίζ. 250 00:11:53,680 --> 00:11:56,440 Έτσι, ακόμα και αυτά τα μικρά πράγματα που δεν έκανε σχετίζονται άμεσα με το πρόβλημά σας 251 00:11:56,440 --> 00:11:59,630 που, όπως εσείς είστε εξοικειωμένοι με από Quiz 0, κατά πάσα πιθανότητα θα καταλήξει. 252 00:11:59,630 --> 00:12:01,530 Και αυτό είναι ένα καλό παράδειγμα κάτι. 253 00:12:01,530 --> 00:12:10,140 >> Έτσι, ένα SQL ένεση επιθέσεις είναι όταν πάρετε κάποιες πληροφορίες από το χρήστη και 254 00:12:10,140 --> 00:12:15,090 θέλετε να το τοποθετήσετε σε ένα τραπέζι με τη χρήση ένα SQL ένθετο δήλωση, αλλά θα 255 00:12:15,090 --> 00:12:17,680 δεν αποστειρώνουν την είσοδο μπροστά από το χρόνο. 256 00:12:17,680 --> 00:12:21,560 Έτσι, είναι προφανές ότι έχουμε δει SQL. 257 00:12:21,560 --> 00:12:22,810 Εγώ απλώς θα ανοίξει - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 ας πάμε - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 Θα πάμε στην αναθεώρηση - 262 00:12:31,960 --> 00:12:35,180 Νομίζω, ο οποίος κάλυπτε; 263 00:12:35,180 --> 00:12:36,350 Νομίζω ότι Samala έκανε. 264 00:12:36,350 --> 00:12:39,292 Έτσι, μπορούμε να πάρουμε - 265 00:12:39,292 --> 00:12:41,270 >> ΚΟΙΝΟ: Πού το βρήκες αυτό; 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Έτσι, αν πάτε να CS50.net, κουίζ, και στη συνέχεια μπορείτε 267 00:12:44,990 --> 00:12:47,170 μετακινηθείτε προς τα πάνω και να πάρει διαφάνειες από τη σύνοδο επανεξέτασης. 268 00:12:47,170 --> 00:12:49,860 Αλλά μπορείτε να δείτε αυτό είναι ένα καλό παράδειγμα μιας επίθεσης SQL ένεση. 269 00:12:49,860 --> 00:12:53,690 Παίρνουμε κάποιες πληροφορίες από τον χρήστη και μας δίνουν μια σειρά, και στη συνέχεια θα 270 00:12:53,690 --> 00:12:55,780 θέλετε να εισαγάγετε αυτό το αλφαριθμητικό σε μια βάση δεδομένων. 271 00:12:55,780 --> 00:12:59,780 Σε γενικές γραμμές πρόκειται να αποστειρώνουν ότι εισόδου, το οποίο σημαίνει ότι υπάρχουν μερικά 272 00:12:59,780 --> 00:13:01,050 χαρακτήρες που είναι επικίνδυνο. 273 00:13:01,050 --> 00:13:04,000 >> Για παράδειγμα, σε χορδές SQL, αυτά τα αποσπάσματα - 274 00:13:04,000 --> 00:13:05,000 μονά εισαγωγικά ή διπλά εισαγωγικά - 275 00:13:05,000 --> 00:13:05,620 σημαίνει κάτι. 276 00:13:05,620 --> 00:13:08,380 Σημαίνουν το τέλος αυτή τη σειρά εδώ. 277 00:13:08,380 --> 00:13:13,090 Και έτσι, αν ο χρήστης που δίνει μια μοναδική ή ένας διπλός απόσπασμα, θα μπορούσαν να 278 00:13:13,090 --> 00:13:18,970 προσπαθώντας να σκοντάψει επάνω ερώτημα SQL σας και εισάγετε κάποια άσχημα πράγματα σε αυτό. 279 00:13:18,970 --> 00:13:23,130 Και αν το κάνουν αυτό, θα μπορούσαν να αποκτήσουν τον έλεγχο της βάσης δεδομένων σας ή να κάνετε κάποια 280 00:13:23,130 --> 00:13:24,760 πράγματα που δεν θέλετε να κάνουν. 281 00:13:24,760 --> 00:13:28,300 >> Έτσι, γι 'αυτό κάθε φορά που παίρνουμε SQL ερωτήματα, ελέγξαμε την είσοδο πριν 282 00:13:28,300 --> 00:13:31,090 θέτει σε βάση δεδομένων, η οποία σημαίνει ότι ξεφύγουν από αυτούς τους χαρακτήρες. 283 00:13:31,090 --> 00:13:32,590 Θα μιλήσουμε για αυτό σε ένα δευτερόλεπτο. 284 00:13:32,590 --> 00:13:35,820 Αλλά μακρά ιστορία σύντομη, μια ένεση SQL επίθεση είναι αν δεν το κάνουμε αυτό - 285 00:13:35,820 --> 00:13:39,760 αν δεν αναλάβει τη φροντίδα της εισόδου που σας έδωσε πριν από τη θέση σας 286 00:13:39,760 --> 00:13:46,830 βάση δεδομένων, μπορούν, όπως μπορείτε να δείτε κάτω εδώ, να εκτελέσετε ένα ερώτημα που, στην πραγματικότητα - 287 00:13:46,830 --> 00:13:52,470 βάζουν στον κώδικά τους εδώ κάτω και αυτή η επιλογή γραμμής εδώ κάτω θα επιλέξει 288 00:13:52,470 --> 00:13:56,360 τα πάντα, από τον πίνακα, ανεξάρτητα τι δίνεται ο κωδικός πρόσβασης. 289 00:13:56,360 --> 00:13:58,960 Επειδή έχετε την ή 1 ισούται με 1. 290 00:13:58,960 --> 00:14:02,750 >> Έτσι είναι, βασικά, τα πολυλογώ, ένας τρόπος για να αναλάβει τη βάση δεδομένων. 291 00:14:02,750 --> 00:14:07,570 Το ερώτημα, λοιπόν, για σας παιδιά, είναι όπου το p σύνολα 7 έκανες απολυμάνετε όλα 292 00:14:07,570 --> 00:14:10,010 οι είσοδοι στα ερωτήματα SQL σας; 293 00:14:10,010 --> 00:14:11,230 Όταν το έκανε αυτό το βήμα να συμβεί; 294 00:14:11,230 --> 00:14:14,150 Πού μπορώ να αποτρέψω την ένεση SQL επιθέσεις από το να συμβεί σε p που 7; 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Ναι. 297 00:14:20,490 --> 00:14:21,870 >> ΚΟΙΝΟ: Crypt; 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Άρα δεν ήταν κρύπτη. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Εμείς δεν σας κάνει να το κάνετε αυτό για το σκοπό αυτό ιδιαίτερο πρόβλημα που, αλλά αυτό συμβαίνει 301 00:14:55,380 --> 00:14:58,190 στη λειτουργία ερωτήματος. 302 00:14:58,190 --> 00:15:00,930 Στην πραγματικότητα το έγραψε για σένα, και πήραμε τη φροντίδα του 303 00:15:00,930 --> 00:15:03,040 απολύμανση εισόδους για εσάς. 304 00:15:03,040 --> 00:15:07,790 Αλλά τα τελευταία χρόνια, οι μαθητές είχαν για να πληκτρολογήσετε τις εισόδους για το δικό τους. 305 00:15:07,790 --> 00:15:10,020 Στο σύνολο σελ. 7, πολλοί από εσάς - 306 00:15:10,020 --> 00:15:11,270 επιτρέψτε μου να ανοίξει ένα άλλο αρχείο. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Έτσι θα παρατηρήσετε εδώ πολλά άνθρωποι, σε πρόβλημα που 7, δεν θέτει 309 00:15:22,590 --> 00:15:25,240 αυτή η λειτουργία στις χορδές. 310 00:15:25,240 --> 00:15:27,880 Αυτή η λειτουργία, htmlspecialchars, και πάλι - 311 00:15:27,880 --> 00:15:31,410 αυτή η σειρά μπορεί να έχει κάποια πράγματα ότι στην HTML σημαίνει κάτι άλλο. 312 00:15:31,410 --> 00:15:36,160 Όπως ένα στήριγμα, ένα τετράγωνο, ή μία γωνία βραχίονα σημαίνει κάτι σε μορφή HTML. 313 00:15:36,160 --> 00:15:38,980 >> Και έτσι εάν εκτυπώνετε ότι για να το οθόνη ή εάν παίρνετε ακριβώς αυτό και 314 00:15:38,980 --> 00:15:42,260 εκτυπώστε ότι από HTML στη σελίδα σας, που θα μπορούσε να κάνει κάτι που δεν το περιμένετε. 315 00:15:42,260 --> 00:15:45,180 Έτσι htmlspecialchars πηγαίνει πάνω από όλους εκείνους χαρακτήρες που έχουν ειδική 316 00:15:45,180 --> 00:15:47,030 συνάντηση και να τους διαφεύγει. 317 00:15:47,030 --> 00:15:51,450 Γι 'αυτό παίρνει εκτυπωθεί ως κείμενο θέλετε να δείτε, όχι 318 00:15:51,450 --> 00:15:53,280 βίδωμα HTML σας. 319 00:15:53,280 --> 00:15:55,040 Ζητήσαμε αυτή τη λειτουργία στην κεφαλίδα. 320 00:15:55,040 --> 00:15:57,390 Και πολλοί άνθρωποι ξέχασαν να καλέσετε τη λειτουργία αυτή στο 321 00:15:57,390 --> 00:15:58,700 κώδικα που έγραφες. 322 00:15:58,700 --> 00:16:03,970 >> Έτσι, για παράδειγμα, αν ένα όνομα απόθεμα είχε μια αγκύλη σε αυτό και έχετε ξεχάσει 323 00:16:03,970 --> 00:16:06,675 για να καλέσετε τη λειτουργία αυτή, ότι η γωνία βραχίονας θα μπορούσε να αποτινάξει αυτό 324 00:16:06,675 --> 00:16:08,250 HTML σας έμοιαζε. 325 00:16:08,250 --> 00:16:11,810 Όμως, καλώντας τη λειτουργία αυτή θα ξεφύγει ότι γι 'αυτό εκτυπώνει στην πραγματικότητα ως 326 00:16:11,810 --> 00:16:15,870 αγκύλη και δεν ρίχνει off κώδικα HTML σας. 327 00:16:15,870 --> 00:16:18,760 >> Το ίδιο λόγο που έχουμε δει, μερικές φορές, καθέτους πριν από διπλά εισαγωγικά σε μια 328 00:16:18,760 --> 00:16:22,310 γραμμή printf επειδή δεν θέλουμε η διπλά εισαγωγικά κάτω στην ταινία. 329 00:16:22,310 --> 00:16:24,050 Θέλουμε να τα εκτυπώσετε έξω προς την οθόνη. 330 00:16:24,050 --> 00:16:26,920 Έτσι, όλα αυτά είναι η ίδια ιδέα. 331 00:16:26,920 --> 00:16:28,260 Μήπως αυτό απαντήσω στην ερώτησή σας; 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> ΚΟΙΝΟ: Είδος. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: Σας έχουν μια συνέχεια; 335 00:16:35,300 --> 00:16:43,252 >> ΚΟΙΝΟ: Υποθέτω ότι η ένεση SQL η επίθεση έχει να κάνει με αυτό; 336 00:16:43,252 --> 00:16:45,720 Δεν καταλαβαίνω πώς τα δύο είναι συνδεδεμένα. 337 00:16:45,720 --> 00:16:47,610 Γιατί θα κάνει τα specialchars; 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: Εντάξει, έτσι ώστε ο SQL επίθεση ένεση είναι όταν κάνετε την ένεση 339 00:16:51,200 --> 00:16:59,180 κάποιες κακόβουλες χορδές σε κάποιου πρόγραμμα, και το μόνο που το πάρετε και να τρέξει 340 00:16:59,180 --> 00:17:01,230 το ερώτημα SQL με ένα string που τους έδωσε. 341 00:17:01,230 --> 00:17:04,220 Όπως μπορείτε να δείτε εδώ κάτω, ότι θα μπορούσε να είναι προβληματική. 342 00:17:04,220 --> 00:17:07,480 Έτσι, ο τρόπος που εμποδίζουν ενάντια σε αυτό είναι παίρνετε σειρά τους ότι δίνουν 343 00:17:07,480 --> 00:17:09,220 σας - έτσι αυτή η σειρά εδώ - 344 00:17:09,220 --> 00:17:11,240 και μπορείτε να το απολυμάνετε. 345 00:17:11,240 --> 00:17:14,305 Μπορείτε να ξεφύγουν όλα τα πράγματα που είναι δυνητικά προβληματική. 346 00:17:14,305 --> 00:17:18,626 Έτσι δεν τα ερμηνεύουν ως κάτι αυτό σημαίνει κάτι. 347 00:17:18,626 --> 00:17:23,390 >> Και ένα παράδειγμα του ότι με την HTML είναι αυτή η λειτουργία. 348 00:17:23,390 --> 00:17:26,060 Έτσι είναι η ίδια ιδέα εδώ. 349 00:17:26,060 --> 00:17:27,579 Και ήμουν απλά σας δείχνουν άλλα παραδείγματα για το πότε έχετε 350 00:17:27,579 --> 00:17:29,030 δει αυτή την ιδέα πριν. 351 00:17:29,030 --> 00:17:33,913 Αποφυγής της εισόδου του χρήστη πριν από την εκτύπωση έξω σε μια οθόνη ή το θέτει 352 00:17:33,913 --> 00:17:36,782 μέσα σε μια πρόταση SQL. 353 00:17:36,782 --> 00:17:40,790 >> ΚΟΙΝΟ: Έτσι, στην περίπτωση αυτή, ο χρήστης βρωμίζει με τον προγραμματιστή. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Ναι. 355 00:17:41,240 --> 00:17:44,800 Με όλες αυτές τις επιθέσεις ασφαλείας, αυτό είναι πάντα γενικά το χρήστη, ή 356 00:17:44,800 --> 00:17:47,470 κάποιος, προσπαθεί να το χάος με εσάς, ο προγραμματιστής. 357 00:17:47,470 --> 00:17:51,038 Και αυτοί είναι τρόποι που μπορείτε να πρόληψη εναντίον τους. 358 00:17:51,038 --> 00:17:54,280 >> ΚΟΙΝΟ: Έτσι έχω μια ερώτηση σχετικά με τις λειτουργίες hash. 359 00:17:54,280 --> 00:17:59,340 Σε Quiz 1 από το 2011, υπάρχουν δύο ερωτήσεις σχετικά με μονόπλευρη hashes. 360 00:17:59,340 --> 00:18:02,540 Και αναρωτιόμουν τι σήμαινε αυτό. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, η οποία κουίζ; 362 00:18:03,660 --> 00:18:03,770 2011; 363 00:18:03,770 --> 00:18:04,705 >> ΚΟΙΝΟ: Ναι. 364 00:18:04,705 --> 00:18:06,720 >> ΚΟΙΝΟ: Quiz 1; 365 00:18:06,720 --> 00:18:08,620 >> ΚΟΙΝΟ: [δεν ακούγεται]. 366 00:18:08,620 --> 00:18:09,940 Αυτό είναι σαν τον κατακερματισμό έναν κωδικό πρόσβασης. 367 00:18:09,940 --> 00:18:12,220 Αυτό δεν είναι να βάλουμε τα πράγματα - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Τι σελίδα ήταν; 369 00:18:13,440 --> 00:18:15,720 >> ΚΟΙΝΟ: Νομίζω ότι ήταν 9 ή 10, ή και τα δύο. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: Εντάξει, προχωρήσει, Curt. 371 00:18:16,720 --> 00:18:17,780 Μπορείτε να απαντήσετε, ενώ κοιτάμε. 372 00:18:17,780 --> 00:18:19,540 >> ΚΟΙΝΟ: Νομίζω ότι μιλάει για hashing έναν κωδικό πρόσβασης. 373 00:18:19,540 --> 00:18:24,430 Όπως, όταν κάποιος μπαίνει έναν κωδικό πρόσβασης, μπορείτε να το μετατρέψει σε ένα κρυπτογραφημένο πράγμα. 374 00:18:24,430 --> 00:18:27,395 Αυτό είναι το hash κωδικό πρόσβασης, το οποίο είναι διαφορετική από μια συνάρτηση κατακερματισμού που 375 00:18:27,395 --> 00:18:30,900 βάζει κάτι σε ένα πίνακα κατακερματισμού. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Ας δούμε. 377 00:18:31,610 --> 00:18:33,930 Επιτρέψτε μου να σηκώσει ό, τι μας δίνουν την απάντηση. 378 00:18:33,930 --> 00:18:35,440 Και τότε θα περπατάς με τα πόδια. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Έτσι Curt έδωσε ένα πολύ καλό παράδειγμα από ένα one-way hash. 381 00:18:45,400 --> 00:18:48,800 Όταν έχω ξαναδεί αυτό, εμείς λάβει τον κωδικό πρόσβασης και να μετατρέψει - 382 00:18:48,800 --> 00:18:53,040 θυμηθείτε, σε σύνολο σελ. 7, κάποιος θα μπορούσε έχει έναν κωδικό πρόσβασης που είναι ακριβώς κωδικό, 383 00:18:53,040 --> 00:18:55,300 αλλά στη συνέχεια παίρνει κρυπτογραφημένο σε κάποια πραγματικά μεγάλο πράγμα. 384 00:18:55,300 --> 00:18:59,830 Η μονόδρομη hash σημαίνει ότι είναι πολύ εύκολο για να πάει από ένας τρόπος για να το άλλο, αλλά 385 00:18:59,830 --> 00:19:02,800 είναι πολύ δύσκολο να πάει από ο άλλος τρόπος πίσω. 386 00:19:02,800 --> 00:19:05,230 >> Και έτσι ξέρετε, όταν είχαν τον έλεγχο κωδικούς πρόσβασης των ανθρώπων σε πρόβλημα 387 00:19:05,230 --> 00:19:08,820 που 7, θα λάβει τους - 388 00:19:08,820 --> 00:19:11,953 έτσι, για παράδειγμα, ότι ήθελαν να αλλάξουν τον κωδικό τους, να τους ρωτήσετε 389 00:19:11,953 --> 00:19:13,130 για τον παλιό κωδικό πρόσβασης τους. 390 00:19:13,130 --> 00:19:13,910 Πήρατε τον παλιό κωδικό πρόσβασης τους. 391 00:19:13,910 --> 00:19:15,150 Μπορείτε να κρυπτογραφηθεί. 392 00:19:15,150 --> 00:19:19,240 Και στη συνέχεια, σε σύγκριση με τις δύο κρυπτογράφησης αντί Αποκρυπτογράφηση του αρχικού 393 00:19:19,240 --> 00:19:20,780 ένα, γιατί είναι πραγματικά δύσκολο να πάει με αυτόν τον τρόπο. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Ναι. 396 00:19:28,035 --> 00:19:31,430 >> ΚΟΙΝΟ: Πώς σε βάθος δεν μας κατανόηση του Telnet πρέπει να είναι; 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: Εάν αναφέρθηκε συντομία στη διάλεξη, μόνο μια σύντομη 399 00:19:41,360 --> 00:19:43,260 κατανόηση. 400 00:19:43,260 --> 00:19:45,585 Και πάλι, πίσω στην απάντηση στην ερώτηση του Avi - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 τα περισσότερα πράγματα έρχονται, το πιο πιθανό αυτό θα πρέπει να είναι σούπερ 403 00:19:50,430 --> 00:19:51,530 εξοικειωμένοι με αυτά. 404 00:19:51,530 --> 00:19:54,730 Αν έχετε μόνο καταλήξει σε διάλεξη, αυτό είναι μόνο ένα μέρος. 405 00:19:54,730 --> 00:19:57,180 Αλλά αν καταλήξουμε σε διάλεξη, ενότητα, και ένα πρόβλημα που, τότε θα 406 00:19:57,180 --> 00:19:58,710 μάλλον πρέπει να είναι super εξοικειωμένοι με αυτά. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Έτσι είχα μια ερώτηση νωρίτερα για - 409 00:20:03,960 --> 00:20:06,950 είναι ήταν το φθινόπωρο του 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, ας σηκώσει - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 αυτό το ερώτημα σχετικά με στοίβες και ουρές, που το κάναμε περάσετε ένα δίκαιο κομμάτι του χρόνου 413 00:20:21,790 --> 00:20:23,720 μιλάμε στη διάλεξη, ακόμα και αν δεν είχαμε πραγματικά 414 00:20:23,720 --> 00:20:26,020 ποτέ χτυπήσει στο τμήμα. 415 00:20:26,020 --> 00:20:33,190 Έτσι, το ερώτημα αυτό σας δίνει μια σειρά εντολών και ζητώντας σας τι 416 00:20:33,190 --> 00:20:35,560 θα εκτυπωθεί σε αυτή την περίπτωση. 417 00:20:35,560 --> 00:20:40,180 Έτσι, αυτό είναι μια εντελώς λογική ερώτηση ότι θα μπορούσε να ζητηθεί από εσάς 418 00:20:40,180 --> 00:20:43,090 παιδιά, και στη συνέχεια, εσείς θα πρέπει να να είναι σε θέση να απαντήσει. 419 00:20:43,090 --> 00:20:50,020 >> Έτσι, γιατί δεν κοιτάς για 30 δευτερόλεπτα, και στη συνέχεια, αν κάποιος θέλει να 420 00:20:50,020 --> 00:20:52,140 προτείνει τις απαντήσεις σε μένα, και Στη συνέχεια θα περπατήσετε μέσα από αυτό. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Εντάξει, ο οποίος έχει μια απάντηση στην ερώτηση 27; 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Ναι. 425 00:21:33,860 --> 00:21:40,250 >> ΚΟΙΝΟ: Είναι 1, 2, 3, 3; 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: Αυτό είναι σωστό. 427 00:21:40,780 --> 00:21:42,570 27 είναι 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Έτσι, ας δούμε πώς φτάσαμε αυτό. 429 00:21:44,510 --> 00:21:48,930 >> Πρώτον, λέμε, αν s είναι μια ουρά, τι θα εκτυπωθεί; 430 00:21:48,930 --> 00:21:53,360 Έτσι, μια q είναι first in, first out. 431 00:21:53,360 --> 00:21:54,680 Έχουμε δει ότι πριν. 432 00:21:54,680 --> 00:21:56,820 Είδαμε την εικόνα του λαού περιμένει στην Μήλο 433 00:21:56,820 --> 00:21:58,400 Αποθηκεύστε να αγοράσετε κάποιο προϊόν. 434 00:21:58,400 --> 00:22:00,900 Οι πρώτοι άνθρωποι στον είναι οι πρώτοι άνθρωποι έξω. 435 00:22:00,900 --> 00:22:02,940 Τα πρώτα πράγματα σε μια ουρά είναι τα πρώτα πράγματα έξω. 436 00:22:02,940 --> 00:22:08,320 >> Έτσι, αν έχουμε κάτι να ωθήσει σε μια ουρά, πιέζετε το 1, τότε θα εμφανιστεί το 1. 437 00:22:08,320 --> 00:22:09,630 Pop σημαίνει απλά βγάλτε. 438 00:22:09,630 --> 00:22:11,080 Σε αυτή την περίπτωση, απλά να πάρουν κάτι. 439 00:22:11,080 --> 00:22:12,910 Παίρνουμε το πρώτο πράγμα, αυτό είναι ένα 1. 440 00:22:12,910 --> 00:22:15,200 Έτσι θα βάλουμε τα πράγματα εμείς εκτυπώσετε τα κάτω πάνω από εδώ. 441 00:22:15,200 --> 00:22:18,110 Αυτό δεν είναι πλέον στην ουρά μας. 442 00:22:18,110 --> 00:22:23,500 >> Στη συνέχεια πιέζουμε σε 2 και 3, και έχουμε σκάσει από το πρώτο πράγμα. 443 00:22:23,500 --> 00:22:25,030 Και πάλι, επειδή είναι μια ουρά. 444 00:22:25,030 --> 00:22:33,320 Έτσι έχουμε ένα 2, τότε βάζουμε σε ένα άλλο 3 και καλέστε πάλι ποπ. 445 00:22:33,320 --> 00:22:34,980 Μας 3 είναι το πρώτο. 446 00:22:34,980 --> 00:22:40,940 >> Και τότε είχαμε ένα σωρό άλλα πράγματα και pop κλήση. 447 00:22:40,940 --> 00:22:43,740 Αλλά και πάλι, δεδομένου ότι αυτό είναι μια ουρά, first in, first out. 448 00:22:43,740 --> 00:22:45,980 Παίρνουμε το πρώτο πράγμα που που είχε τεθεί ποτέ μέσα 449 00:22:45,980 --> 00:22:47,100 Αυτό είναι μας 3. 450 00:22:47,100 --> 00:22:50,060 Και, σε αυτή την περίπτωση, μην ανησυχείτε για όλα τα άλλα πράγματα. 451 00:22:50,060 --> 00:22:51,310 Έτσι, αυτό είναι αν αυτό είναι μια ουρά. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Οποιεσδήποτε ερωτήσεις σχετικά με μια ουρά; 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Μια στοίβα διαφορετικό. 456 00:23:04,040 --> 00:23:07,782 Τι είναι το ακρωνύμιο που έχουμε για την κατανόηση μια στοίβα; 457 00:23:07,782 --> 00:23:08,750 >> ΚΟΙΝΟ: Η τελευταία in, first out. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, νομίζω. 459 00:23:10,130 --> 00:23:11,830 Τελευταία in, first out. 460 00:23:11,830 --> 00:23:15,630 Έτσι είδαμε ένα παράδειγμα μιας στοίβας των δίσκων σε μια τραπεζαρία. 461 00:23:15,630 --> 00:23:17,590 Όποια και αν είναι δίσκος είναι στην κορυφή παίρνει επιβιβάζονται. 462 00:23:17,590 --> 00:23:19,550 Και στη συνέχεια, αν νέους δίσκους έρχονται σε, παίρνουν θέσει στην κορυφή. 463 00:23:19,550 --> 00:23:21,070 Και τότε ό, τι είναι στην top παίρνει επιβιβάζονται. 464 00:23:21,070 --> 00:23:24,010 Έτσι ώστε αυτές οι δίσκοι στο κάτω δύναμη μείνετε εκεί για λίγο. 465 00:23:24,010 --> 00:23:28,480 >> Σε αυτή την περίπτωση, πάλι, θα συντάξει αυτό. 466 00:23:28,480 --> 00:23:31,770 Πιέζουμε τη μία, έτσι ώστε ένα είναι πρώτο στη γραμμή. 467 00:23:31,770 --> 00:23:32,790 Και εμείς pop κάτι μακριά. 468 00:23:32,790 --> 00:23:37,280 Και υπάρχει μόνο ένα πράγμα εκεί, έτσι εμείς κινούμαστε 1 εδώ κάτω. 469 00:23:37,280 --> 00:23:41,940 Στη συνέχεια βάζουμε στις 2 και 3 και θα εμφανιστεί κάτι off. 470 00:23:41,940 --> 00:23:43,650 >> Αλλά και πάλι, δεδομένου ότι αυτό είναι μια ουρά - 471 00:23:43,650 --> 00:23:45,010 ή αυτό είναι μια στοίβα, και όχι - 472 00:23:45,010 --> 00:23:47,480 παίρνουμε ό, τι ήταν στην τελευταία. 473 00:23:47,480 --> 00:23:49,300 Ό, τι είναι στην τελευταία βγαίνει πρώτος. 474 00:23:49,300 --> 00:23:50,890 Και 3 είναι στην τελευταία. 475 00:23:50,890 --> 00:23:56,110 Έτσι βάζουμε το 3 εκεί κάτω, στη συνέχεια, βάζουμε σε ένα άλλο 3 και 476 00:23:56,110 --> 00:23:57,360 pop και πάλι κάτι. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Τέλος, βάζουμε στο 4, 5, 6 και 7, και εδώ έχουμε ποπ. 479 00:24:05,710 --> 00:24:09,060 Και επειδή είναι μια στοίβα, παίρνουμε ό, τέθηκε στην τελευταία και να γράφουν 480 00:24:09,060 --> 00:24:10,240 ότι εδώ κάτω. 481 00:24:10,240 --> 00:24:14,256 Έτσι καταλήγουμε με 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Μήπως κάποιος έχει απορίες σχετικά με στοίβες ή ουρές, ή αυτό το παράδειγμα; 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> OK. 486 00:24:29,030 --> 00:24:30,440 Ας πάμε πίσω στον κατάλογο των θεμάτων. 487 00:24:30,440 --> 00:24:32,510 Όχι με αυτόν τον τρόπο, με αυτόν τον τρόπο. 488 00:24:32,510 --> 00:24:34,280 Ποιες άλλες ερωτήσεις κάνουν οι άνθρωποι; 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> ΚΟΙΝΟ: Δεν ξέρω πόσο σημαντικό Αυτό είναι, αλλά ήμουν συγχέεται με το 491 00:24:39,480 --> 00:24:43,550 διαφορά μεταξύ των διαφόρων τύπων γλώσσες όπως η σήμανση, καταρτίζονται, 492 00:24:43,550 --> 00:24:45,980 ερμηνεύεται. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: Αυτό είναι μια καλή ερώτηση. 494 00:24:46,750 --> 00:24:50,500 Νομίζω ότι αυτό είναι αρκετά σημαντικό, οπότε ας πάμε πάνω γρήγορα. 495 00:24:50,500 --> 00:24:56,850 Οι μεγάλες γλώσσες που έχουμε δει μέχρι τώρα είναι C, PHP, JavaScript και, από την άποψη 496 00:24:56,850 --> 00:24:58,330 των γλωσσών προγραμματισμού. 497 00:24:58,330 --> 00:25:01,060 HTML, όπως αναφέρατε, δεν είναι μια γλώσσα προγραμματισμού. 498 00:25:01,060 --> 00:25:02,260 Είναι μια γλώσσα σήμανσης. 499 00:25:02,260 --> 00:25:05,700 Και στη συνέχεια έχουμε CSS, η οποία είναι επίσης δεν είναι μια γλώσσα προγραμματισμού. 500 00:25:05,700 --> 00:25:10,330 >> Έχουμε δει επίσης SQL, η οποία δεν είναι μια γλώσσα προγραμματισμού, είτε. 501 00:25:10,330 --> 00:25:15,695 Έτσι SQL σας επιτρέπει να γράψετε ερωτήματα για μια βάση δεδομένων. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML είναι μια γλώσσα σήμανσης. 504 00:25:20,140 --> 00:25:22,570 Καθορίζει το πώς τα πράγματα είναι δομημένα. 505 00:25:22,570 --> 00:25:26,250 Και CSS σας επιτρέπει να φορμάρετε τα πράγματα. 506 00:25:26,250 --> 00:25:28,520 Αυτό είναι πιθανώς η έκταση για ό, τι πρέπει να ξέρετε για αυτά τα τρία. 507 00:25:28,520 --> 00:25:32,920 Αλλά είναι πιο ενδιαφέρον να φιγούρα τις διαφορές μεταξύ C, PHP, 508 00:25:32,920 --> 00:25:34,320 και JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Έτσι, μία από τις μεγαλύτερες διαφορές, όπως αναφέρατε, είναι το πώς θα είναι 510 00:25:37,900 --> 00:25:40,550 καταρτίζονται, ή ο, τιδήποτε το ισοδύναμο είναι. 511 00:25:40,550 --> 00:25:42,580 Έτσι, C καταρτίζεται. 512 00:25:42,580 --> 00:25:43,950 Θα τρέχει πάντα ένα compiler. 513 00:25:43,950 --> 00:25:51,100 Και τότε πού είναι τα λάθη σας όταν εκτελείτε το compiler C; 514 00:25:51,100 --> 00:25:55,740 Πού θα το δείξει Στο λάθη τον κωδικό σας; 515 00:25:55,740 --> 00:25:57,860 Πώς ξέρεις ότι υπάρχει μια σφάλμα στον κώδικά σας σε C; 516 00:25:57,860 --> 00:25:58,770 >> ΚΟΙΝΟ: Σας δείχνει στο τερματικό. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: Σας δείχνει το τερματικό σταθμό, όπως είστε κατάρτιση. 518 00:26:00,410 --> 00:26:02,620 Και αν υπάρχουν λάθη, θα Δεν θα συγκεντρώσει πραγματικά. 519 00:26:02,620 --> 00:26:04,830 Έτσι, ξέρετε ότι υπάρχουν λάθη δεξιά μακριά, μπροστά από το χρόνο, προτού 520 00:26:04,830 --> 00:26:06,050 να τρέξουν ακόμη και τον κωδικό σας. 521 00:26:06,050 --> 00:26:10,010 >> Φυσικά, μπορείτε να εκτελέσετε τον κωδικό σας και να πάρει ένα σφάλμα κατάτμησης, αλλά αυτό ήταν 522 00:26:10,010 --> 00:26:12,350 πιθανώς επειδή κάνατε κάποια ανόητη λογική πράγμα. 523 00:26:12,350 --> 00:26:15,770 Αλλά ο κώδικας σας με τεχνικά όλα σωστά και θα μπορούσε να τρέξει. 524 00:26:15,770 --> 00:26:18,210 Έτσι κώδικα C παίρνει συγκεντρώνονται μπροστά από το χρόνο. 525 00:26:18,210 --> 00:26:19,760 Τι γίνεται με κώδικα PHP; 526 00:26:19,760 --> 00:26:21,430 Πού ήταν τα σφάλματα στον κώδικά σας PHP; 527 00:26:21,430 --> 00:26:23,170 Πώς ξέρατε ότι είχαν σφάλματα στον κώδικα της PHP σας; 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> ΚΟΙΝΟ: Εκτέλεση του χρόνου; 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Ναι, όταν θα το τρέξει, θα πρέπει να εκτελέσετε το 531 00:26:31,230 --> 00:26:32,180 PHP κώδικα στην πλάτη. 532 00:26:32,180 --> 00:26:33,300 Και τότε θα εμφανιστεί μια οθόνη. 533 00:26:33,300 --> 00:26:35,260 Μπορείτε να δείτε κάποια πράγματα στην κορυφή, αλλά τότε θα δείτε, όπως, ορισμένα 534 00:26:35,260 --> 00:26:36,710 πορτοκάλι, άσχημο πίνακα. 535 00:26:36,710 --> 00:26:41,420 Και θα σας δώσω έναν αριθμό γραμμής και ας πούμε, μπλα, μπλα, μπλα, αυτά τα πράγματα 536 00:26:41,420 --> 00:26:42,400 δεν λειτούργησε. 537 00:26:42,400 --> 00:26:48,730 >> Έτσι, PHP ερμηνεύεται γραμμή προς γραμμή και εκτελούνται στο διακομιστή. 538 00:26:48,730 --> 00:26:52,380 Και τότε το αποτέλεσμα είναι σταλεί σε σας. 539 00:26:52,380 --> 00:26:53,340 Μεγάλη. 540 00:26:53,340 --> 00:26:56,410 Εκτελούνται στο διακομιστή γραμμή προς γραμμή και στη συνέχεια αποστέλλονται σε εσάς. 541 00:26:56,410 --> 00:26:59,010 Και αν υπάρχει ένα λάθος, που θα στείλει Σας το σφάλμα, αλλά μπορεί να έχετε 542 00:26:59,010 --> 00:27:00,400 πάρει κάποια πράγματα μπροστά από το χρόνο. 543 00:27:00,400 --> 00:27:02,730 Έτσι, ορισμένα από αυτά μπορεί να έχουν εργαστεί, αλλά αργότερα, κάποια πράγματα μπορεί να μην έχει 544 00:27:02,730 --> 00:27:03,890 δεν λειτούργησε. 545 00:27:03,890 --> 00:27:04,600 >> Τι γίνεται με JavaScript; 546 00:27:04,600 --> 00:27:06,065 Πού είδες JavaScript λάθη; 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 Στο p που 8, όταν έχεις ένα λάθος, πώς το ήξερες; 549 00:27:12,870 --> 00:27:13,710 Πού θα εμφανίζεται; 550 00:27:13,710 --> 00:27:15,900 >> ΚΟΙΝΟ: Στην κονσόλα, στο κάτω μέρος. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: Στο κονσόλα, στο κάτω μέρος. 552 00:27:17,650 --> 00:27:20,160 Θα σας το δώσει, επίσης, αριθμό γραμμής, και θα 553 00:27:20,160 --> 00:27:21,330 εμφανιστούν στο κάτω μέρος. 554 00:27:21,330 --> 00:27:24,320 Και JavaScript δεν εκτελέστηκε στο διακομιστή. 555 00:27:24,320 --> 00:27:27,800 JavaScript στάλθηκε στον υπολογιστή σας, και στη συνέχεια, όταν ήρθε η ώρα για να τρέξει το 556 00:27:27,800 --> 00:27:31,670 JavaScript, η JavaScript ήταν τρέχει γραμμή προς γραμμή για το 557 00:27:31,670 --> 00:27:33,410 πελάτη, από την πλευρά σας. 558 00:27:33,410 --> 00:27:35,570 Δεν είναι ο server, η πλευρά του client. 559 00:27:35,570 --> 00:27:37,690 >> Και, ομοίως, ήταν τρέχουν ανά γραμμή. 560 00:27:37,690 --> 00:27:40,630 Και στη συνέχεια, όταν θα πάρετε ένα λάθος, θα εμφανιστούν στο κάτω μέρος. 561 00:27:40,630 --> 00:27:44,580 Ομοίως σε PHP, κάποιες από αυτές θα μπορούσε εκτελέσει, και στη συνέχεια μπορείτε να πάρετε μια 562 00:27:44,580 --> 00:27:46,310 σφάλμα αργότερα. 563 00:27:46,310 --> 00:27:49,910 >> Επίσης, ένα μικρό σε αντίθεση με PHP, εάν έχεις ένα σφάλμα JavaScript - 564 00:27:49,910 --> 00:27:52,780 λένε ότι δεν κάνει το σωστό κώδικα για ένα πλαίσιο ειδοποίησης - 565 00:27:52,780 --> 00:27:55,800 θα μπορούσε να συνεχίσει να τρέχει το πρόγραμμά σας. 566 00:27:55,800 --> 00:27:58,180 Το πλαίσιο ειδοποίησης δεν θα μπορούσε να λειτουργήσει, αλλά το πρόγραμμα σας θα είναι μια χαρά. 567 00:27:58,180 --> 00:28:00,490 Απλά ίσως ότι η λειτουργία θα αποτύχει. 568 00:28:00,490 --> 00:28:02,610 >> Έτσι, δεν υπάρχει κάποια από τα μεγαλύτερα διαφορά από την άποψη του πώς αυτά 569 00:28:02,610 --> 00:28:09,230 γλώσσες, ή πώς ο κώδικας προγραμματισμού που γράφετε είναι πραγματικά αξιολογούνται. 570 00:28:09,230 --> 00:28:11,970 Υπάρχουν επίσης και άλλες διαφορές στην όρους - τη μεγαλύτερη διαφορά 571 00:28:11,970 --> 00:28:15,590 έχουμε δει από την άποψη των μεταβλητών στις διάφορες γλώσσες. 572 00:28:15,590 --> 00:28:19,660 Έτσι, μπορεί κανείς να μου δώσει μια διαφορά μεταξύ των μεταβλητών 573 00:28:19,660 --> 00:28:20,910 στις τρεις γλώσσες; 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Ναι. 576 00:28:25,770 --> 00:28:27,130 >> ΚΟΙΝΟ: Στο C, είναι αυστηρά πληκτρολογήσει. 577 00:28:27,130 --> 00:28:28,550 Στις άλλες δύο, είναι χαλαρά πληκτρολογήσει. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn: Και Τι σημαίνει αυτό; 579 00:28:30,040 --> 00:28:31,775 >> ΚΟΙΝΟ: Ότι σε C, θα πρέπει να δηλώσουν ο τύπος της μεταβλητής όταν 580 00:28:31,775 --> 00:28:36,140 δηλώνετε τη μεταβλητή, όπως interbool ή char. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Εξαιρετική. 582 00:28:36,990 --> 00:28:39,780 Στο C, είχαμε πάντα να θέσει ένας τύπος μιας μεταβλητής. 583 00:28:39,780 --> 00:28:41,360 Και δεν θα μπορούσε να αναμειγνύεται πραγματικά τύπους. 584 00:28:41,360 --> 00:28:45,750 Δεν θα μπορούσε να κάνει έναν ακέραιο συν ένα string. 585 00:28:45,750 --> 00:28:48,760 Αλλά, όπως έχουμε δει σε αυτά τα άλλα γλώσσες, μπορείτε πραγματικά να ανακατεύετε διαφορετικούς τύπους, 586 00:28:48,760 --> 00:28:51,230 και ποτέ δεν έχετε πραγματικά να δώσει κάτι ένας τύπος, ποτέ. 587 00:28:51,230 --> 00:28:53,905 >> Έτσι, πώς ξέρουμε τα πράγματα είναι μεταβλητές σε PHP και JavaScript; 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> ΚΟΙΝΟ: Στην PHP, αρχίζουν με το σύμβολο του δολαρίου. 590 00:28:58,685 --> 00:29:00,810 Στο JavaScript, όταν δηλώνετε τους, θα πρέπει να έχετε ένα μπαρ. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Σωστά. 592 00:29:01,760 --> 00:29:03,535 Έτσι, PHP, αρχίζουν με το σύμβολο του δολαρίου. 593 00:29:03,535 --> 00:29:06,300 Στο JavaScript, θα πρέπει να έχουν bar, αν και μερικές φορές δεν το κάνουν πραγματικά 594 00:29:06,300 --> 00:29:07,520 πρέπει να έχουν μπαρ. 595 00:29:07,520 --> 00:29:09,240 Αλλά αυτό είναι σωστό. 596 00:29:09,240 --> 00:29:13,300 >> Έτσι, αυτό είναι μια μεγάλη διαφορά μεταξύ των μεταβλητών. 597 00:29:13,300 --> 00:29:16,140 Νομίζω ότι αυτά είναι κατά πάσα πιθανότητα, από το κορυφή του κεφαλιού μου, τα δύο μεγαλύτερα 598 00:29:16,140 --> 00:29:19,250 διαφορές μεταξύ αυτών τρεις γλώσσες. 599 00:29:19,250 --> 00:29:20,594 Αλλά, ναι. 600 00:29:20,594 --> 00:29:24,720 >> ΚΟΙΝΟ: Και η εμβέλεια των μεταβλητών C περιορίζεται στα άγκιστρα, 601 00:29:24,720 --> 00:29:27,760 όπου οι άλλες, είναι ακριβώς όπως, πεθαίνει αν είναι μόνο μια λειτουργία, 602 00:29:27,760 --> 00:29:29,650 αλλά κατά τα άλλα, Ειναι για - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Σωστά. 604 00:29:30,240 --> 00:29:36,780 Έτσι, το πεδίο εφαρμογής είναι ελαφρώς διαφορετικό στη C. Όπως Θυμάστε, άγκιστρα ορίζουν 605 00:29:36,780 --> 00:29:37,710 το πεδίο εφαρμογής των μεταβλητών. 606 00:29:37,710 --> 00:29:41,680 Έτσι, αν ορίστηκε στο εσωτερικό ενός αν κατάσταση, η οποία είναι μέσα σε ένα βρόχο, 607 00:29:41,680 --> 00:29:44,290 η μεταβλητή υπάρχει μόνο εκεί. 608 00:29:44,290 --> 00:29:47,760 >> Στο JavaScript, αν μια μεταβλητή ορίζεται μέσα σε μια κατάσταση, αν - 609 00:29:47,760 --> 00:29:50,750 μέσα σε ένα βρόχο - θα υπάρχουν για ότι η λειτουργία, αλλά δεν θα υπάρχει 610 00:29:50,750 --> 00:29:52,330 έξω από τη λειτουργία αυτή. 611 00:29:52,330 --> 00:29:59,250 Έτσι, το πεδίο εφαρμογής είναι λίγο πιο ευέλικτη σε JavaScript και PHP. 612 00:29:59,250 --> 00:30:00,500 Αυτό απαντήσει στην ερώτηση; 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, οποιεσδήποτε άλλες ερωτήσεις; 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Μπορούμε να κάνουμε τέσσερα λεπτά ερωτήσεις, τότε 617 00:30:08,865 --> 00:30:10,740 θα μεταβείτε σε κωδικοποίηση. 618 00:30:10,740 --> 00:30:12,645 >> ΚΟΙΝΟ: Μπορούμε να πάμε σε Ajax και να μιλήσουμε για το τι είναι αυτό; 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Συζήτηση σε AVI μετά. 621 00:30:17,800 --> 00:30:19,170 Ζήτησε από αυτή την ερώτηση νωρίτερα. 622 00:30:19,170 --> 00:30:19,630 >> ΚΟΙΝΟ: Λάθος μου. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Μην ανησυχείτε. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> ΚΟΙΝΟ: Τι ακριβώς είναι το JSON; 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Τι είναι το JSON; 628 00:30:28,900 --> 00:30:29,930 Ποια είναι η ερώτησή σας; 629 00:30:29,930 --> 00:30:31,350 >> ΚΟΙΝΟ: Απλά πολύ γρήγορα, η διαφορά μεταξύ 630 00:30:31,350 --> 00:30:32,870 εκτύπωσης και ηχώ σε PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON Hirschhorn: Γιατί δεν το google η διαφορά μεταξύ της εκτύπωσης και ηχώ; 633 00:30:38,490 --> 00:30:40,670 Μικρή διαφορά. 634 00:30:40,670 --> 00:30:42,020 Δεν είναι ότι μεγάλο ζήτημα. 635 00:30:42,020 --> 00:30:44,960 Αλλά θα πρέπει να το google σίγουρα, και αυτό θα σας δώσει μια καλή απάντηση. 636 00:30:44,960 --> 00:30:46,910 >> JSON, πιθανώς μεγαλύτερο από μια συμφωνία. 637 00:30:46,910 --> 00:30:49,300 Βάσεις για JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 Και όταν έχουμε δει JSON που χρησιμοποιείται; 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Όταν έχετε δει - 641 00:30:55,900 --> 00:30:57,400 γιατί ξέρεις καν τη λέξη JSON; 642 00:30:57,400 --> 00:30:59,140 Όταν το έχετε δει; 643 00:30:59,140 --> 00:31:02,200 >> ΚΟΙΝΟ: Όταν παίρναμε τιμές των μετοχών για τη χρηματοδότηση. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Ώστε είδες όταν ήταν να πάρει 645 00:31:02,690 --> 00:31:04,830 τιμές των μετοχών για τη χρηματοδότηση. 646 00:31:04,830 --> 00:31:07,340 Και γιατί δεν το βλέπετε; 647 00:31:07,340 --> 00:31:09,000 >> ΚΟΙΝΟ: Όταν ήμασταν ανάκτηση όλες οι πληροφορίες που 648 00:31:09,000 --> 00:31:10,400 ήρθε σε αυτή τη μορφή. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Έτσι, θα πάρετε - 650 00:31:11,700 --> 00:31:12,540 ναι. 651 00:31:12,540 --> 00:31:13,020 Προχωρήστε. 652 00:31:13,020 --> 00:31:15,210 >> ΚΟΙΝΟ: [δεν ακούγεται] πληροφορίες από ένα αντικείμενο; 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: Και τα δύο βάλει μαζί είναι η απάντηση 654 00:31:17,170 --> 00:31:18,100 ψάχνουμε. 655 00:31:18,100 --> 00:31:21,240 Θέλετε πληροφορίες από αυτή η άλλη ιστοσελίδα. 656 00:31:21,240 --> 00:31:23,790 Και θα ήθελα να ελπίζω ότι όταν είστε να πάρει αυτές τις πληροφορίες, θα είναι 657 00:31:23,790 --> 00:31:26,720 παρουσιάζεται σε σας σε κάποιο είδος της τυποποιημένη μορφή. 658 00:31:26,720 --> 00:31:29,530 >> Όλοι είναι πιθανότατα εξοικειωμένοι με τιμές διαχωρισμένες με κόμμα. 659 00:31:29,530 --> 00:31:32,970 Μπορείτε να εξάγετε ένα υπολογιστικό φύλλο Excel ή κάθε είδους υπολογιστικό φύλλο ως λίστα 660 00:31:32,970 --> 00:31:34,540 τιμών διαχωρισμένων με κόμματα. 661 00:31:34,540 --> 00:31:37,370 Και τα κόμματα χωρίζουν όλα Τα διαφορετικά πεδία. 662 00:31:37,370 --> 00:31:38,780 JavaScript Object Notation - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 είναι ένας άλλος τύπος τυποποιημένων διάταξη των πραγμάτων. 665 00:31:43,540 --> 00:31:49,010 Και αυτό είναι συχνά το πώς θα ανακτήσετε πληροφορίες από τα ερωτήματα μας Ajax. 666 00:31:49,010 --> 00:31:51,770 >> Έτσι, σε αυτή την περίπτωση, το πήραμε από την ιστοσελίδα της Yahoo. 667 00:31:51,770 --> 00:31:53,600 Θα επιστρέψουν τα πράγματα στην μας σε ένα αντικείμενο JSON. 668 00:31:53,600 --> 00:31:56,790 Και τότε ξέρουμε, γιατί είναι ένα πρότυπο, τι είναι 669 00:31:56,790 --> 00:31:57,250 πρόκειται να μοιάσει. 670 00:31:57,250 --> 00:32:00,760 Έτσι μπορούμε να επαναλάβει μέσω της συστοιχίας ότι επέστρεψε για να μας τη συστοιχία 671 00:32:00,760 --> 00:32:03,180 αντικείμενα που επιστρέφονται σε μας. 672 00:32:03,180 --> 00:32:07,770 >> Μάλλον εμείς πρέπει να γνωρίζετε τα κλειδιά, αλλά γενικά να σας δώσει 673 00:32:07,770 --> 00:32:11,370 τεκμηρίωση στην ιστοσελίδα όταν είστε γοητευτικός κάποια JSON 674 00:32:11,370 --> 00:32:12,170 σημειογραφία για αυτούς. 675 00:32:12,170 --> 00:32:16,940 Ομοίως, μπορείτε να JSON κωδικοποιούν ένα αντικείμενο. 676 00:32:16,940 --> 00:32:19,900 Έτσι, υπάρχει μια λειτουργία JSON υπογραμμίζουν κωδικοποιούν. 677 00:32:19,900 --> 00:32:22,970 Και έτσι μπορείτε να πάρετε ένα αντικείμενο που που έχετε δημιουργήσει, JSON να κωδικοποιούν, και 678 00:32:22,970 --> 00:32:26,390 να το δώσετε σε κάτι αλλιώς, αν θέλετε να. 679 00:32:26,390 --> 00:32:30,770 Και JSON αποκωδικοποίησης υπάρχει και για Ανάλογο σκοπό, ή για 680 00:32:30,770 --> 00:32:31,780 το αντίθετο σκοπό. 681 00:32:31,780 --> 00:32:36,570 >> ΚΟΙΝΟ: Μήπως θα πρέπει να γνωρίζετε κωδικοποίησης για πίνακες κατακερματισμού και προσπαθεί; 682 00:32:36,570 --> 00:32:40,300 Ή μήπως απλά πρέπει να καταλάβουν πώς συνηθίσει, εννοιολογικά; 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Λοιπόν, σηκώστε το χέρι σας αν κάνατε ένα πίνακα κατακερματισμού για p σετ 4 684 00:32:44,570 --> 00:32:46,920 με έναν κατάλογο σύνδεσμο. 685 00:32:46,920 --> 00:32:47,960 Ή σ. σετ 5. 686 00:32:47,960 --> 00:32:49,060 Έτσι, αυτό ήταν μια μεγάλη πλειοψηφία των ανθρώπων. 687 00:32:49,060 --> 00:32:50,390 P σετ 5, 6, ποιος ξέρει. 688 00:32:50,390 --> 00:32:51,240 Πριν από πολύ καιρό. 689 00:32:51,240 --> 00:32:54,140 >> Έτσι, η συντριπτική πλειοψηφία των κάνατε hash πίνακες με σύνδεση καταλόγους. 690 00:32:54,140 --> 00:32:56,525 Και επειδή αυτό είναι ίσως το πιο κοινή προσέγγιση, και επειδή περάσαμε 691 00:32:56,525 --> 00:32:59,460 πολύ χρόνο να κάνει σύνδεση καταλόγους και hash πίνακες, θα πρέπει πιθανώς να είναι 692 00:32:59,460 --> 00:33:02,600 αρκετά εξοικειωμένοι με το πώς να κωδικοποιήσει ένας πίνακας κατακερματισμού και ένας κατάλογος σύνδεσμο. 693 00:33:02,600 --> 00:33:05,060 >> Και αν νομίζετε ότι πίσω σε αυτό το πρόβλημα οριστεί, δεν ήταν πραγματικά 694 00:33:05,060 --> 00:33:06,410 τόσο σκληρά όσο θα αναμενόταν. 695 00:33:06,410 --> 00:33:08,120 Και υπήρχε μια πολύ λιγότερο Κωδικός ό, τι αναμενόταν. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Θα έλεγα ότι θα πρέπει να γνωρίζουν πώς να κωδικοποιεί ένα πίνακα κατακερματισμού ή μια λίστα σύνδεσμο. 698 00:33:14,650 --> 00:33:17,010 Όχι ότι θα ήθελα να σας ζητηθεί ότι, κατ 'ανάγκην, αλλά θα πρέπει να 699 00:33:17,010 --> 00:33:19,730 ασφαλώς γνωρίζετε ότι. 700 00:33:19,730 --> 00:33:21,860 >> Επίσης, αν κοιτάξετε μέσα από το παρελθόν κουίζ, υπήρξαν πολλές 701 00:33:21,860 --> 00:33:26,450 ερωτήσεις σχετικά με τη σύνταξη λειτουργίες της καταλόγους σύνδεσμο ή διπλά συνδεδεμένες λίστες. 702 00:33:26,450 --> 00:33:28,370 Αυτό φαίνεται να καταλήξουμε κάθε χρόνο. 703 00:33:28,370 --> 00:33:31,940 Δικαίωμα τοποθετήστε σε έναν κατάλογο σύνδεσμο, το δικαίωμα διαγράψετε από τη λίστα συνδέσμου, δεξιά τοποθετήστε 704 00:33:31,940 --> 00:33:33,610 για μια διπλά συνδεδεμένη λίστα, κ.λπ.. 705 00:33:33,610 --> 00:33:36,170 Έτσι ώστε, αισθάνομαι πολύ άνετα λέγοντας ότι θα πρέπει να γνωρίζετε ότι. 706 00:33:36,170 --> 00:33:40,600 >> Για δοκιμή, θα έλεγα ότι πρέπει να σίγουρα ξέρουν πώς λειτουργεί, και ίσως 707 00:33:40,600 --> 00:33:43,570 δώσει κάποια ψευδοκώδικα για το πώς να κωδικοποιήσει και το έστησαν. 708 00:33:43,570 --> 00:33:45,600 Αλλά δεν θα ήταν το χειρότερο πράγμα ο κόσμος, αν δεν ξέρετε πώς να 709 00:33:45,600 --> 00:33:48,870 κωδικοποιούν την Γ. Θα ήταν μεγάλη, αν ήξερε πώς να κώδικα σε C, αλλά νομίζω 710 00:33:48,870 --> 00:33:52,516 πιθανώς pseudocode για μια δοκιμή θα είναι το μεγαλύτερο ποσό που θα χρειαστεί 711 00:33:52,516 --> 00:33:53,270 να ξέρετε για μια δοκιμή. 712 00:33:53,270 --> 00:33:53,930 >> ΚΟΙΝΟ: Extra πίστωση; 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn: Και ίδιο με, αν πηγαίνετε σε δυαδικά δέντρα αναζήτησης, ίσως 714 00:33:58,290 --> 00:34:02,320 Πρέπει - και έχετε δει στο παρελθόν, έχουμε κάνει πολλά - ξέρετε πώς 715 00:34:02,320 --> 00:34:03,380 δυαδικό δένδρο αναζήτησης λειτουργεί. 716 00:34:03,380 --> 00:34:07,150 Θα πρέπει πιθανώς να είναι σε θέση να δημιουργήσετε ένα εκ των ψευδο-κώδικα. 717 00:34:07,150 --> 00:34:10,510 Αλλά επειδή η συντριπτική πλειοψηφία των ανθρώπων δεν το κάνουμε αυτό με το πρόβλημα 718 00:34:10,510 --> 00:34:13,880 σύνολο, θα έλεγα ότι είναι μάλλον λιγότερο σημαντικό ότι ξέρετε πώς να κώδικα 719 00:34:13,880 --> 00:34:17,380 και να δημιουργήσει ένα δέντρο σαν αυτό. 720 00:34:17,380 --> 00:34:19,679 >> Οποιεσδήποτε άλλες ερωτήσεις; 721 00:34:19,679 --> 00:34:23,234 Επίσης, μπορούμε να τους ζητήσει σε όλη καθώς περνάμε μέσα από κάποια προβλήματα. 722 00:34:23,234 --> 00:34:27,170 Εντάξει, θα πάμε για να προχωρήσουμε. 723 00:34:27,170 --> 00:34:28,230 Περάστε αυτό το slide για τώρα. 724 00:34:28,230 --> 00:34:32,449 >> Μιλώντας για τα δέντρα, που είναι η πρώτη ερώτηση που έχω για σας παιδιά. 725 00:34:32,449 --> 00:34:34,270 Επειδή αυτό είναι ένα πρόβλημα. 726 00:34:34,270 --> 00:34:37,380 Θα έλεγα ότι είναι πολύ πιθανό ότι θα πάρετε ένα πρόβλημα σαν αυτό σε ένα κουίζ σας 727 00:34:37,380 --> 00:34:43,659 ζητώντας σας να κωδικοποιήσει κάποιο είδος εισαγωγής, διαγραφή, αναζήτηση, για έναν τύπο 728 00:34:43,659 --> 00:34:45,270 της δομής των δεδομένων που έχουμε δει. 729 00:34:45,270 --> 00:34:47,719 >> Αυτό έρχεται κάθε χρόνο και περάσαμε πολύ χρόνο το δεύτερο ήμισυ του εν λόγω 730 00:34:47,719 --> 00:34:50,270 εξάμηνο που πηγαίνει πέρα ​​από αυτούς τους τύπους δεδομένων. 731 00:34:50,270 --> 00:34:54,170 Έτσι, αυτή τη στιγμή, έχω ορίσει ένα κόμβο σε ένα δυαδικό δένδρο αναζήτησης. 732 00:34:54,170 --> 00:34:58,490 Και αυτό που θα ήθελα να κάνουμε είναι να δοθεί ένα δυαδικό δέντρο αναζήτησης που ξεκινά 733 00:34:58,490 --> 00:35:05,450 σε αυτό το ριζικό κόμβο αστέρι, την ολοκλήρωση της εφαρμογή της παρακάτω λειτουργίας, 734 00:35:05,450 --> 00:35:07,430 η οποία συμβαίνει να είναι μια λειτουργία της αναζήτησης. 735 00:35:07,430 --> 00:35:09,260 Και το κάνουμε με και χωρίς επαναλήψεις. 736 00:35:09,260 --> 00:35:10,860 >> Γι 'αυτό θέλω να γράψω δύο λειτουργίες. 737 00:35:10,860 --> 00:35:14,310 Ένα κάνουμε αυτό με αναδρομή, ένα κάνει αυτό χωρίς αναδρομή. 738 00:35:14,310 --> 00:35:18,050 Και μην υποθέσουμε ότι η root θα είναι μη μηδενική. 739 00:35:18,050 --> 00:35:21,790 Έτσι, ψάχνουμε για τον ακέραιο i στο το δέντρο ξεκινώντας από τη ρίζα, και χρειαζόμαστε 740 00:35:21,790 --> 00:35:25,280 να γράψω αυτό αναδρομικά και επαναληπτικά. 741 00:35:25,280 --> 00:35:26,300 Ναι. 742 00:35:26,300 --> 00:35:29,730 >> ΚΟΙΝΟ: Έτσι θέλετε να επιστρέψουμε αλήθεια αν το βρείτε, και false αν εμείς 743 00:35:29,730 --> 00:35:30,480 δεν το βρείτε. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: Πώς το ήξερες; 745 00:35:32,160 --> 00:35:33,100 Πώς το ξέρεις αυτό; 746 00:35:33,100 --> 00:35:36,500 >> ΚΟΙΝΟ: ρωτούσα πρώτα, αλλά ήμουν υποθέτοντας, γιατί λέει bool σε 747 00:35:36,500 --> 00:35:37,490 η αρχή της λειτουργίας. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Σωστά. 749 00:35:37,880 --> 00:35:41,020 Λέει bool, γι 'αυτό δεν χρειάζεται καν να να σας πω τι περιμένω να επιστρέψετε 750 00:35:41,020 --> 00:35:41,350 γιατί λέει εκεί. 751 00:35:41,350 --> 00:35:42,280 Αλλά αυτό είναι σωστό. 752 00:35:42,280 --> 00:35:43,510 Επιστροφή, αληθής ή ψευδής. 753 00:35:43,510 --> 00:35:47,630 >> Έτσι, πριν ξεκινήσετε, θα ήθελα να συστήσω, αν δεν είστε εξοικειωμένοι με 754 00:35:47,630 --> 00:35:51,300 δυαδικά δέντρα αναζήτησης, γρήγορα σχέδιο μια εικόνα από αυτό για να πάρετε σας 755 00:35:51,300 --> 00:35:51,750 κατανόηση, σωστά. 756 00:35:51,750 --> 00:35:54,720 Αυτό θα σας βοηθήσει επίσης κατά τη σύνταξη κωδικό σας και τον έλεγχο. 757 00:35:54,720 --> 00:35:57,830 Και πάλι, μπορείτε επίσης δεν έχουν τόσο πολύ φορά στο κουίζ για να κάνει όλα τα πράγματα 758 00:35:57,830 --> 00:35:59,030 ότι σας ζητάμε να κάνετε. 759 00:35:59,030 --> 00:36:02,350 Έτσι, το γράψιμο κώδικα ψευδο είναι πολύ χρήσιμη. 760 00:36:02,350 --> 00:36:05,310 >> Και γενικά να παρέχει σχετικά με - 761 00:36:05,310 --> 00:36:06,820 αν ο ψευδοκώδικας είναι τέλεια σωστό, αυτό είναι 762 00:36:06,820 --> 00:36:08,910 γενικά 50% σε μια ερώτηση. 763 00:36:08,910 --> 00:36:11,410 Έτσι δεν είναι ένα σκληρό και απαράβατο κανόνα, αλλά αν απλά γράψετε ψευδοκώδικα και είναι 764 00:36:11,410 --> 00:36:13,460 σωστή, είναι γενικά 50%. 765 00:36:13,460 --> 00:36:14,970 Έτσι, θα σύστηνα πάντα - 766 00:36:14,970 --> 00:36:16,870 αν πιεστεί για το χρόνο, ή ακόμα και αν είστε απλά προσπαθώ να το καταλάβω - 767 00:36:16,870 --> 00:36:18,290 ξεκινώντας με το ψευδοκώδικα. 768 00:36:18,290 --> 00:36:24,840 Και τέλος, αν θα μπορούσατε να γράψετε αυτό όλα σε C, αυτό θα ήταν φανταστικό. 769 00:36:24,840 --> 00:36:29,010 >> Έτσι, ας ρίξουμε τρία λεπτά να εργαστούν σε αυτό το πρόγραμμα. 770 00:36:29,010 --> 00:36:33,120 Και τότε θα πρόκειται να γράψω pseudocode για μόνο μία φορά, και στη συνέχεια 771 00:36:33,120 --> 00:36:35,455 θα πάμε για να το κωδικό αναδρομικά και στη συνέχεια επαναληπτικά. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Αν έχετε οποιεσδήποτε απορίες, μπορείτε δωρεάν σηκώστε το χέρι σας. 774 00:37:30,760 --> 00:37:34,270 Στην ευχάριστη θέση να περπατήσουν και να απαντήσει σε αυτά πριν αρχίσουμε ως ομάδα. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Ας συνεχιστεί, και θα πάμε να pseudocode την αναδρομική εκδοχή της 777 00:39:27,200 --> 00:39:29,830 αυτό, και στη συνέχεια θα το κωδικοποιήσει. 778 00:39:29,830 --> 00:39:33,380 Έτσι, μια αναδρομική συνάρτηση χρειάζεται δύο πράγματα. 779 00:39:33,380 --> 00:39:35,960 Αυτό μπορεί να είναι μια ερώτηση που θα μπορούσε να ζητηθεί. 780 00:39:35,960 --> 00:39:37,950 Χρειάζεται δύο πράγματα. 781 00:39:37,950 --> 00:39:40,610 Ποιος μπορεί να σηκώσει το χέρι του και να μου πείτε ό, τι τα δύο πράγματα ένα αναδρομικό 782 00:39:40,610 --> 00:39:43,680 λειτουργία χρειάζεται; 783 00:39:43,680 --> 00:39:45,030 Εξ ορισμού έχει δύο πράγματα. 784 00:39:45,030 --> 00:39:46,280 Ποια είναι αυτά τα δύο πράγματα; 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Νέα χέρια. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Ναι, Alden. 789 00:39:56,390 --> 00:39:57,980 >> ΚΟΙΝΟ: Γι 'αυτό και δεν είμαι ακριβώς σίγουρος αν αυτή είναι η ορολογία, αλλά - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Χαίρομαι είστε σηκώνοντας το χέρι σας. 791 00:39:59,715 --> 00:40:03,380 >> ΚΟΙΝΟ: Χρειάζεται μια βασική περίπτωση, και χρειάζεται ένα αναδρομικό βήμα. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 Χρειάζεται μια βασική περίπτωση και ένα αναδρομικό βήμα. 794 00:40:06,340 --> 00:40:10,430 Έτσι, αυτό είναι βασικό μας εδώ; 795 00:40:10,430 --> 00:40:12,950 >> ΚΟΙΝΟ: F ρίζα ισούται ισούται με null. 796 00:40:12,950 --> 00:40:15,110 Δυστυχώς, μόνο σε ψευδοκώδικα, αν είναι null. 797 00:40:15,110 --> 00:40:16,360 Αν η ρίζα είναι null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn: Αν η ρίζα είναι null. 800 00:40:23,540 --> 00:40:23,850 Αυτό είναι εξαιρετικό. 801 00:40:23,850 --> 00:40:24,610 Αυτό είναι το βασικό μας. 802 00:40:24,610 --> 00:40:25,910 Γι 'αυτό θα πάμε να ελέγχει κάθε φορά. 803 00:40:25,910 --> 00:40:28,000 Και βασική περίπτωση είναι η το πρώτο πράγμα που κάνετε. 804 00:40:28,000 --> 00:40:29,720 Αν χτυπήσει το βασικό σενάριο, τελειώσατε. 805 00:40:29,720 --> 00:40:34,140 >> Τώρα χρειαζόμαστε αναδρομική κλήση μας, και εγώ έπαιρνα πρόθυμος να στοιχηματίσει χρειαζόμαστε ένα ζευγάρι 806 00:40:34,140 --> 00:40:35,440 αναδρομικές κλήσεις εδώ. 807 00:40:35,440 --> 00:40:39,630 Επειδή είναι ένα δέντρο, και εμείς θα μπορούσε να πάει με πολλούς τρόπους. 808 00:40:39,630 --> 00:40:43,190 Έτσι, αν ρίζα είναι null, είμαστε καλά. 809 00:40:43,190 --> 00:40:44,970 >> Τι προτείνετε; 810 00:40:44,970 --> 00:40:49,640 Και τώρα είμαι πρόκειται να αρχίσει να φωνάζει για τα παιδιά σας, γιατί ξέρω ότι εσείς 811 00:40:49,640 --> 00:40:50,540 Όλοι το ξέρουμε αυτό. 812 00:40:50,540 --> 00:40:52,610 Αλλά Annie, τι θα έπρεπε η επόμενη γραμμή είναι; 813 00:40:52,610 --> 00:40:53,570 Τι θα συμβεί αν το βρήκαμε; 814 00:40:53,570 --> 00:40:55,526 Τι πρέπει να κάνουμε; 815 00:40:55,526 --> 00:40:57,300 >> ΚΟΙΝΟ: Αν το βρήκαμε; 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Ή τι πρέπει να είναι ότι - 817 00:40:59,160 --> 00:41:02,124 Δώσε μου το ψευδοκώδικα για την γραμμή όπου το βρήκαμε. 818 00:41:02,124 --> 00:41:04,700 >> ΚΟΙΝΟ: Αν i ισούται με i ρίζα; 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn: Και τότε τι κάνουμε; 820 00:41:06,650 --> 00:41:07,590 >> ΚΟΙΝΟ: Επιστροφή αλήθεια. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Μεγάλη. 822 00:41:08,530 --> 00:41:16,890 Έτσι, αν το i είναι i - 823 00:41:16,890 --> 00:41:17,400 OH, όπου και αν ονομάζεται i και τα δύο. 824 00:41:17,400 --> 00:41:18,470 Αυτό γίνεται σύγχυση. 825 00:41:18,470 --> 00:41:23,830 Αλλά αν i είναι i επιστρέψει αλήθεια. 826 00:41:23,830 --> 00:41:25,620 Αυτό είναι ίσως το επόμενο πράγμα που πρέπει να κάνουμε. 827 00:41:25,620 --> 00:41:27,300 Έχει νόημα. 828 00:41:27,300 --> 00:41:30,610 >> Εντάξει, τώρα δεν έχουμε κάνει αναδρομικό μας καλέσει ακόμα, όμως, γιατί ένα αναδρομικό 829 00:41:30,610 --> 00:41:32,300 κλήση θα καλέσει και πάλι αυτή τη λειτουργία. 830 00:41:32,300 --> 00:41:41,460 Λοιπόν, τι θα πρέπει η επόμενη γραμμή ψευδοκώδικα είναι; 831 00:41:41,460 --> 00:41:42,730 Άννα. 832 00:41:42,730 --> 00:41:43,980 >> ΚΟΙΝΟ: Η αριστερή πλευρά. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Να είστε συγκεκριμένοι, όμως. 835 00:41:47,590 --> 00:41:50,600 Αυτό είναι ένα δυαδικό δένδρο αναζήτησης, έτσι ώστε ό, τι δεν ελέγχει την αριστερή πλευρά συνεπάγεται; 836 00:41:50,600 --> 00:41:51,890 >> ΚΟΙΝΟ: Έτσι κόμβο - 837 00:41:51,890 --> 00:41:53,342 Λυπάμαι, ρίζα. 838 00:41:53,342 --> 00:41:55,306 Και τότε βέλος αριστερά. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Κόμβου, ο κόμβος, συγγνώμη. 841 00:42:00,720 --> 00:42:01,978 Δεν είμαι το διαβάζω σωστά. 842 00:42:01,978 --> 00:42:05,700 Λέγεται κόμβο, έτσι δεν είναι; 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: Θα ονομάζεται root σε αυτή τη λειτουργία, αλλά κάθε τρόπο. 844 00:42:09,270 --> 00:42:10,925 Η αριστερή πλευρά - Ναι; 845 00:42:10,925 --> 00:42:13,780 >> ΚΟΙΝΟ: Αν δεν είναι ίσο με i, τότε θα πάμε να καλέσετε 846 00:42:13,780 --> 00:42:15,130 η λειτουργία και πάλι; 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: Αυτό είναι σωστό. 848 00:42:15,490 --> 00:42:17,870 Αν δεν το κάνει ίσο i, θα πάμε να καλέσει ξανά τη λειτουργία. 849 00:42:17,870 --> 00:42:21,435 Αλλά ποια πλευρά του δέντρου πάμε για να καλέσετε τη συνάρτηση και πάλι; 850 00:42:21,435 --> 00:42:22,685 >> ΚΟΙΝΟ: Στην αριστερή πλευρά. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Δεν είμαστε πάντα πρόκειται να το ονομάσουμε το αριστερό, αν 853 00:42:27,670 --> 00:42:29,190 δεν είναι ίσο. 854 00:42:29,190 --> 00:42:29,610 >> ΚΟΙΝΟ: Συγγνώμη. 855 00:42:29,610 --> 00:42:31,200 Πρόσκληση στα δεξιά. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Θέλουμε να γνωρίζουμε Συγκεκριμένα, αν και - θυμηθείτε, σε μια 857 00:42:33,680 --> 00:42:37,700 δυαδικό δένδρο αναζήτησης, τα πάντα για να η αριστερή πλευρά είναι μικρότερη. 858 00:42:37,700 --> 00:42:40,460 Τα πάντα προς τα δεξιά πλευρά είναι μεγαλύτερη. 859 00:42:40,460 --> 00:42:43,990 Έτσι δεν είναι μόνο - ναι, προχωρήστε. 860 00:42:43,990 --> 00:42:46,805 >> ΚΟΙΝΟ: Αν είναι λιγότερο από ό, τι εγώ, τότε - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 αν είναι στο αριστερό - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Έτσι, αν RI είναι μικρότερη από - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 οπότε αν ο αριθμός μας είναι λιγότερο από ό, τι εγώ, τι πλευρά θέλουμε να πάμε στο; 867 00:43:09,110 --> 00:43:15,120 >> ΚΟΙΝΟ: Θέλουμε να πάμε στη δεξιά πλευρά. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Θέλουμε να πάμε - 869 00:43:16,250 --> 00:43:19,210 επιτρέψτε μου να επιστήσω ένα γρήγορο δέντρο. 870 00:43:19,210 --> 00:43:23,850 Αν αυτό είναι 5, αυτό θα είναι 3. 871 00:43:23,850 --> 00:43:29,410 Έτσι, αν ri είναι μικρότερος από πέντε, τι πλευρά θέλουμε να μεταβείτε στον ιστότοπο; 872 00:43:29,410 --> 00:43:30,390 >> ΚΟΙΝΟ: Συγγνώμη, τι; 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: αριθμός μας είναι μικρότερος από τον αριθμό είμαστε 874 00:43:33,190 --> 00:43:34,710 κοιτάζοντας τώρα. 875 00:43:34,710 --> 00:43:35,890 >> ΚΟΙΝΟ: Ω, τότε θέλουμε για να μεταβείτε στην αριστερή πλευρά. 876 00:43:35,890 --> 00:43:36,240 Ναι. 877 00:43:36,240 --> 00:43:36,920 Λυπάμαι. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Ακριβώς. 879 00:43:37,230 --> 00:43:38,480 Καμία ανησυχία. 880 00:43:38,480 --> 00:43:41,020 Στο δυαδικό δένδρο αναζήτησης, όλα χαμηλότερη είναι προς τα αριστερά, 881 00:43:41,020 --> 00:43:42,110 τόσο μεγαλύτερη είναι προς τα δεξιά. 882 00:43:42,110 --> 00:43:46,700 Έτσι, αν ο αριθμός μας είναι λιγότερο από ό, τι το i είμαστε έλεγχο - 883 00:43:46,700 --> 00:43:48,790 γιατί βλέπεις στην κόμβος, έχει ένα i - 884 00:43:48,790 --> 00:43:50,040 τότε θα θέλετε να πάτε προς τα αριστερά. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> Και αυτό είναι εύκολο. 887 00:43:56,720 --> 00:44:01,700 Τι είναι η άλλη γραμμή του ψευδοκώδικα Τώρα πρέπει να γράψουμε; 888 00:44:01,700 --> 00:44:02,910 Κάρλος; 889 00:44:02,910 --> 00:44:05,970 >> ΚΟΙΝΟ: Το ίδιο πράγμα, απλά μεταβείτε σε ένα μεγαλύτερο σήμα 890 00:44:05,970 --> 00:44:07,420 και να πάει προς τα δεξιά. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Μπορείς λένε ότι για μια ακόμη φορά; 892 00:44:08,350 --> 00:44:11,640 >> ΚΟΙΝΟ: Εάν ο αριθμός μας είναι μεγαλύτερη ό, τι εγώ, πάμε προς τα δεξιά. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Εξαιρετικό εργασία στο ψευδοκώδικα. 895 00:44:26,690 --> 00:44:28,700 Ας το κάνουμε αυτό σε πραγματικό κώδικα. 896 00:44:28,700 --> 00:44:33,280 Και πάλι, αυτό θα ψευδοκώδικα ίσως μπορείτε να πάρετε, γιατί είναι 897 00:44:33,280 --> 00:44:35,480 σωστή, 50% για το θέμα αυτό. 898 00:44:35,480 --> 00:44:39,720 Αλλά αυτό pseudocode μεταφράζεται επίσης ένα σε ένα, κατ 'ουσίαν, σε κώδικα. 899 00:44:39,720 --> 00:44:44,380 >> Έτσι, ας το κάνουμε αυτό σε C. Ποιος μπορεί να δώσει μένα η πρώτη γραμμή του κώδικα; 900 00:44:44,380 --> 00:44:48,390 Στην πραγματικότητα, πρώτα, πριν το κάνω ότι, επιτρέψτε μου να τραβήξει πάνω - 901 00:44:48,390 --> 00:44:49,260 >> ΚΟΙΝΟ: Έχω μια ερώτηση. 902 00:44:49,260 --> 00:44:52,430 Γιατί η εσοχή γραμμή που σου έδωσα; 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Επειδή Εγώ δεν μπορούσα να γράψω. 904 00:44:54,160 --> 00:44:55,240 Δεν ξέρω. 905 00:44:55,240 --> 00:44:55,650 Έχεις δίκιο. 906 00:44:55,650 --> 00:44:57,780 Αυτή η γραμμή θα πρέπει να είναι εκεί. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> Εντάξει, εδώ είναι η λειτουργία μας. 909 00:45:14,480 --> 00:45:18,090 Και επιτρέψτε μου να τραβήξει πάνω, επίσης, ορισμό μας του κόμβου. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Τι θα συμβεί αν δεν το κάναμε γράψτε typedef; 912 00:45:27,180 --> 00:45:30,240 Ξέρει κανείς; 913 00:45:30,240 --> 00:45:32,570 >> ΚΟΙΝΟ: Δεν θα καταρτίζει. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Θα ήταν μεταγλώττιση, ναι. 915 00:45:33,860 --> 00:45:37,120 >> ΚΟΙΝΟ: Θα ήταν απλώς να δηλώσει ένα παράδειγμα, αντί να το κάνουμε ένα νέο 916 00:45:37,120 --> 00:45:39,840 τύπο που θα μπορούσε να κηρύξει πολλαπλές περιπτώσεις; 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: Γι 'αυτό δεν θα ξέρετε - δεν θα 918 00:45:41,700 --> 00:45:43,120 απλά να δηλώσει έναν τύπο. 919 00:45:43,120 --> 00:45:46,150 Θα μπορούσε ακόμη να κάνει πολλά κόμβων. 920 00:45:46,150 --> 00:45:48,070 >> ΚΟΙΝΟ: Αλλά δεν θα πρέπει να γράψτε struct node κάθε φορά; 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: Αυτό είναι σωστό. 922 00:45:48,640 --> 00:45:50,960 Θα πρέπει να γράψετε struct node κάθε φορά, και όχι μόνο κόμβο. 923 00:45:50,960 --> 00:45:55,270 Αλλά με typedef, μπορείτε απλά γράψτε κόμβο κάθε φορά. 924 00:45:55,270 --> 00:45:58,240 Εντάξει, ο οποίος δεν έχει δώσει - ναι, Avica. 925 00:45:58,240 --> 00:46:01,520 >> ΚΟΙΝΟ: Αν η ρίζα είναι ίση μεταξύ ίσων null, επιστρέφει false. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Μεγάλη, και αυτό είναι βασική μας υπόθεση. 928 00:46:09,490 --> 00:46:11,200 Επόμενη γραμμή κώδικα. 929 00:46:11,200 --> 00:46:13,999 Κάποιος που δεν έχει δώσει με μια γραμμή κώδικα ακόμα; 930 00:46:13,999 --> 00:46:14,945 Ναι. 931 00:46:14,945 --> 00:46:23,360 >> ΚΟΙΝΟ: Root βέλος i είναι ίση ίση με i. 932 00:46:23,360 --> 00:46:27,260 Στη συνέχεια, επιστρέψτε αλήθεια. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Μεγάλη. 934 00:46:29,162 --> 00:46:32,048 Επόμενη γραμμή; 935 00:46:32,048 --> 00:46:32,790 Ναι. 936 00:46:32,790 --> 00:46:34,010 Κάποιος άλλος; 937 00:46:34,010 --> 00:46:36,774 Και τότε μπορείτε να πάει δίπλα. 938 00:46:36,774 --> 00:46:44,820 >> ΚΟΙΝΟ: Αλλιώς, αν ρίζα βέλος i είναι μικρότερο από επιστρέψω 939 00:46:44,820 --> 00:46:47,737 λειτουργία που ονομάζεται ρίζα find - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Συγγνώμη. 941 00:46:50,611 --> 00:46:56,272 >> ΚΟΙΝΟ: root Επιστροφή find επισημαίνει προς τα αριστερά κόμμα i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Έτσι, αν ri είναι μεγαλύτερη από το πράγμα στο δέντρο, θέλουμε να 944 00:47:08,440 --> 00:47:09,573 πάμε προς τα αριστερά; 945 00:47:09,573 --> 00:47:11,790 >> ΚΟΙΝΟ: Όχι, είχα αυτό ενεργοποιημένο. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Ποιο από τα δύο; 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> ΚΟΙΝΟ: Όχι, ναι. 949 00:47:16,950 --> 00:47:19,050 Έχω ένα λιγότερο από ό, τι υπογράψει εκεί. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Σωστά, αν είναι ri λιγότερο από ό, τι είναι στη ρίζα - 951 00:47:22,890 --> 00:47:25,660 τρέχουσα ρίζα μας - τότε θέλουν να πάνε προς τα αριστερά. 952 00:47:25,660 --> 00:47:26,960 Και ποια είναι η τελευταία γραμμή, έτσι; 953 00:47:26,960 --> 00:47:30,930 >> ΚΟΙΝΟ: Βασικά το ίδιο πράγμα, εκτός αλλάξετε το μεγαλύτερο ή 954 00:47:30,930 --> 00:47:34,690 ίση προς λιγότερο από ό, τι και αριστερά προς τα δεξιά. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Εξαιρετική. 957 00:47:43,680 --> 00:47:48,430 Μήπως κάποιος έχει απορίες γι 'αυτό; 958 00:47:48,430 --> 00:47:52,560 Έτσι, κάποια άλλα πράγματα που θα έχουν το σωστό είναι να 959 00:47:52,560 --> 00:47:53,810 θα μπορούσε να είναι η-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Μαντέψτε, από τεχνική άποψη, καμία από αυτές πραγματικά πρέπει επίσης να είναι-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Επίσης, είναι πιθανόν να υπάρχει μόνο μία περίπτωση εδώ κάτω. 963 00:48:00,950 --> 00:48:02,380 Έτσι, αυτό είναι πιθανότατα η τελευταία περίπτωση σας. 964 00:48:02,380 --> 00:48:04,000 Δεν χρειάζεται καν αυτό-ltiff. 965 00:48:04,000 --> 00:48:06,160 Αλλά μάλλον καλό να γράψω αυτό, να είμαστε σαφείς. 966 00:48:06,160 --> 00:48:06,660 Ναι. 967 00:48:06,660 --> 00:48:09,200 >> ΚΟΙΝΟ: Έτσι δεν νομίζω ότι το κουίζ - αν κάνουμε λάθη, για παράδειγμα, 968 00:48:09,200 --> 00:48:11,725 στο συντακτικό - 969 00:48:11,725 --> 00:48:13,990 λίγο συντακτικά λάθη - 970 00:48:13,990 --> 00:48:17,810 πώς αυτός να ληφθεί στο κουίζ; 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: Γενικά για το κουίζ, μικρά συντακτικά λάθη ή μικρές 972 00:48:21,300 --> 00:48:24,010 σφάλματα στυλ δεν χάνετε πόντους. 973 00:48:24,010 --> 00:48:26,610 Έτσι, αν έχετε ξεχάσει ένα ερωτηματικό εδώ, θα ήταν εντάξει. 974 00:48:26,610 --> 00:48:30,290 Εάν έχετε ξεχάσει να κλείσει την παρένθεση, ότι θα ήταν εντάξει. 975 00:48:30,290 --> 00:48:34,880 >> Τεράστια συντακτικά λάθη που αλλοιώνουν το λειτουργική έννοια του κωδικού σας 976 00:48:34,880 --> 00:48:37,600 δραματικά, μπορείτε να πάρετε απογειωθεί πόντους. 977 00:48:37,600 --> 00:48:40,330 Ή γενικώς, μόνο εσείς ταξινόμησης σχετικά με το εάν ή όχι 978 00:48:40,330 --> 00:48:42,150 λειτουργίες κώδικα, ακόμη και - 979 00:48:42,150 --> 00:48:44,830 Δεν σχεδιασμό του τόσο πολύ, και όχι το στυλ της. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Ας τώρα να κωδικοποιεί μια επαναληπτική έκδοση find. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Γι 'αυτό πρόκειται να είναι αρκετά παρόμοια, αλλά υπάρχουν σίγουρα πρόκειται να είναι 984 00:49:03,450 --> 00:49:06,250 ορισμένες βασικές διαφορές. 985 00:49:06,250 --> 00:49:09,160 Ωστόσο, ο ψευδοκώδικας μας μπορεί πιθανώς να πάτε - 986 00:49:09,160 --> 00:49:11,610 μπορούμε ακόμα να πάρει μια γραμμή από το pseudocode και να καταλάβω ποια είναι η 987 00:49:11,610 --> 00:49:14,160 γραμμή είναι σε αυτή την περίπτωση. 988 00:49:14,160 --> 00:49:18,010 >> Έτσι, σε μια επαναληπτική εκδοχή, τι νομίζεις, Τζούλια, θα πρέπει να 989 00:49:18,010 --> 00:49:19,260 είναι η πρώτη γραμμή; 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> ΚΟΙΝΟ: Και πάλι, σε επαναληπτική boolean, θα πρέπει να δημιουργήσει ένα βρόχο, έτσι δεν είναι; 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> ΚΟΙΝΟ: Έτσι, για παρόμοια, k, για το x ισούται με 0, x είναι μικρότερο από ό, τι εγώ. 994 00:49:38,480 --> 00:49:42,260 Ή όχι, το χ είναι μικρότερο από το μέγεθος του δέντρου. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: Το δέντρο. 996 00:49:42,760 --> 00:49:46,660 Οπότε δεν ξέρουμε πραγματικά το μέγεθος της δέντρο, και εμείς δεν γνωρίζουμε πραγματικά για 997 00:49:46,660 --> 00:49:48,900 πόσες φορές μπορούμε να πάμε, έτσι τι είναι ένα διαφορετικού τύπου βρόχου που θα μπορούσαν να 998 00:49:48,900 --> 00:49:50,150 καλύτερα σε αυτή την περίπτωση; 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> ΚΟΙΝΟ: Εάν άλλος; 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: Εάν άλλος δεν μπορεί να είναι ένας βρόχος. 1002 00:49:57,070 --> 00:49:58,935 Έτσι τι είναι ένα είδος βρόχου μπορούμε ακριβώς πάει μέχρι κάποια υπόθεση ικανοποιείται; 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Ποιο είναι το μόνο άλλο είδος βρόχου σε C, εκτός από ένα βρόχο; 1005 00:50:11,560 --> 00:50:11,930 >> ΚΟΙΝΟ: Ενώ. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: Ενώ, ακριβώς. 1007 00:50:13,380 --> 00:50:16,430 Σε ένα βρόχο while, δεν Πρέπει να ξέρετε πώς - 1008 00:50:16,430 --> 00:50:18,450 ένας βρόχος while και την for loop μπορεί να κάνει η ακριβώς το ίδιο πράγμα, αλλά το ωραίο 1009 00:50:18,450 --> 00:50:21,500 περίπου ένα βρόχο, ενώ είναι δεν χρειαζόμαστε να ξέρετε πόσο μεγάλο δέντρο μας. 1010 00:50:21,500 --> 00:50:23,060 Έτσι θα πάμε για να πάει μέχρι τι; 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> ΚΟΙΝΟ: Μέχρι να ισούται το μέγεθος της - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: Λοιπόν, είναι πολύ παρόμοια με αναδρομική περίπτωσή μας. 1014 00:50:32,320 --> 00:50:33,360 Έτσι - 1015 00:50:33,360 --> 00:50:36,470 >> ΚΟΙΝΟ: Ενώ η ρίζα i δεν είναι ίσο με i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: Αυτό είναι πραγματικά κοντά. 1017 00:50:37,620 --> 00:50:39,430 Ενώ η ρίζα i - 1018 00:50:39,430 --> 00:50:40,610 ας το προσπαθήσουμε. 1019 00:50:40,610 --> 00:50:41,180 Δεν νομίζω [δεν ακούγεται] 1020 00:50:41,180 --> 00:50:43,026 όπου root i δεν είναι ίσο με i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Μπορεί να χρειαστεί να το αλλάξετε σε ένα μικρό bit, αλλά αυτό ακούγεται σαν να είναι αρκετά 1023 00:50:49,460 --> 00:50:50,160 καλό, για τώρα. 1024 00:50:50,160 --> 00:50:51,710 Γι 'αυτό και θα το κάνουμε αυτό. 1025 00:50:51,710 --> 00:50:55,660 >> Επίσης, να θυμάστε, δεν μπορούμε να υποθέσουμε ανά ερώτηση. 1026 00:50:55,660 --> 00:50:57,880 Δεν υποθέσουμε ότι η root θα είναι μη μηδενική. 1027 00:50:57,880 --> 00:51:01,914 Λοιπόν, τι νομίζετε ότι η πολύ το πρώτο πράγμα που πρέπει να κάνουμε είναι; 1028 00:51:01,914 --> 00:51:02,770 >> ΚΟΙΝΟ: Απλά κάνουν το ίδιο πράγμα όπως πριν. 1029 00:51:02,770 --> 00:51:05,260 Αν η ρίζα είναι ίση μεταξύ ίσων null, επιστρέφει false. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Μεγάλη. 1032 00:51:12,130 --> 00:51:13,820 Έτσι, θα μπορούσε να είναι null. 1033 00:51:13,820 --> 00:51:15,810 Έτσι θέλουμε να απαλλαγούμε από αυτό αμέσως. 1034 00:51:15,810 --> 00:51:19,560 Και μετά θα πάμε ελέγχου, εάν root i δεν είναι ίσο με i. 1035 00:51:19,560 --> 00:51:24,480 Έτσι, ας πούμε πως ψάχνετε σε αυτό το δέντρο 3, ρίζα i δεν ίσο i, τώρα 1036 00:51:24,480 --> 00:51:25,950 είμαστε σε βρόχο while μας. 1037 00:51:25,950 --> 00:51:27,500 Τι θέλουμε να κάνουμε; 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 Και πάλι, πρόκειται να είναι αρκετά παρόμοια με αναδρομική εκδοχή μας. 1040 00:51:35,430 --> 00:51:36,230 Ναι. 1041 00:51:36,230 --> 00:51:40,470 >> ΚΟΙΝΟ: Έτσι, θα θέλατε να μετακινηθείτε, ή συνεχίζω κάτω από το δέντρο για όσο διάστημα 1042 00:51:40,470 --> 00:51:42,400 η ρίζα δεν είναι ίση με null. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: Εφ 'όσον η root δεν είναι ίση με null; 1045 00:51:46,640 --> 00:51:50,200 >> ΚΟΙΝΟ: Η παύλα ρίζα i δεν είναι ίση με null. 1046 00:51:50,200 --> 00:51:51,220 Μόλις η ρίζα, ναι. 1047 00:51:51,220 --> 00:51:52,920 Ως μια μακρά, όπως η ρίζα είναι δεν ισούται με μηδέν. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Έτσι θέλετε να αλλάξει αυτό στο root 1049 00:51:54,240 --> 00:51:56,590 δεν ισούται με null; 1050 00:51:56,590 --> 00:51:59,020 >> ΚΟΙΝΟ: Ναι. 1051 00:51:59,020 --> 00:52:00,800 >> ΚΟΙΝΟ: Θα μπορούσαμε να συνδυάσουμε αυτά, σωστά; 1052 00:52:00,800 --> 00:52:02,990 Δεν χρειαζόμαστε το αν, αρχικά. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: Εντάξει, έτσι ώστε αν μην το - 1054 00:52:05,180 --> 00:52:08,140 αν τα συνδυάσετε, έτσι θα πάμε να κάνουμε ενώ η ρίζα δεν είναι ίσο με null, και 1055 00:52:08,140 --> 00:52:10,800 εάν η ρίζα συμβαίνει να είναι μηδενική κατά τη αρχίζουν, τι κάνουμε εμείς εδώ κάτω; 1056 00:52:10,800 --> 00:52:11,450 >> ΚΟΙΝΟ: Επιστροφή ψευδείς. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Μεγάλη. 1058 00:52:12,730 --> 00:52:14,110 Έτσι, και οι δύο τρόποι πιθανώς Θα έχουν εργαστεί. 1059 00:52:14,110 --> 00:52:15,645 Αυτό είναι ένα διαφορετικό τρόπο, και αυτό συνδυάζει. 1060 00:52:15,645 --> 00:52:18,950 Αλλά και πάλι, αν το έκανες ή τον άλλο τρόπο, είμαστε Δεν πρόκειται να απογειωθεί σχεδιασμό 1061 00:52:18,950 --> 00:52:19,800 επισημαίνει στο κουίζ. 1062 00:52:19,800 --> 00:52:21,020 Αλλά αυτό φαίνεται καλό. 1063 00:52:21,020 --> 00:52:23,940 >> Έτσι, ενώ η ρίζα δεν είναι ίσο με null, ποια είναι η πρώτη 1064 00:52:23,940 --> 00:52:25,400 πράγμα που θέλετε να ελέγξετε; 1065 00:52:25,400 --> 00:52:26,330 Κάποιος άλλος; 1066 00:52:26,330 --> 00:52:29,720 Null, ποιο είναι το πρώτο πράγμα; 1067 00:52:29,720 --> 00:52:32,850 >> ΚΟΙΝΟ: Αν ri είναι μικρότερη από - 1068 00:52:32,850 --> 00:52:36,140 Ω, υποθέτω, αν έχουμε ήδη βρήκε στη ρίζα. 1069 00:52:36,140 --> 00:52:40,830 Έτσι, αν ρίζα βέλος i είναι ίσο με το i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Συγγνώμη; 1071 00:52:40,990 --> 00:52:45,840 >> ΚΟΙΝΟ: Αν η ρίζα βέλος i ισούται ισούται με i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Τι πρέπει να κάνουμε; 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> ΚΟΙΝΟ: Επιστροφή αλήθεια. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Μεγάλη. 1077 00:52:59,280 --> 00:53:00,530 Και τι γίνεται στη συνέχεια; 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, ποια είναι η επόμενη γραμμή του κώδικα; 1080 00:53:06,843 --> 00:53:16,190 >> ΚΟΙΝΟ: Αν i είναι μικρότερο από ρίζα βέλος i, τότε ισούται με ρίζα ρίζα βέλος αριστερά. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: ισούται Root ρίζα βέλος αριστερά. 1082 00:53:21,550 --> 00:53:24,530 Έτσι, αυτό είναι ίσως το μεγαλύτερο διαφορά εδώ σε αυτή την επαναληπτική 1083 00:53:24,530 --> 00:53:26,600 έκδοση, σε αντίθεση με το αναδρομική εκδοχή. 1084 00:53:26,600 --> 00:53:28,970 Η αναδρομική εκδοχή, εμείς καλέστε ξανά τη λειτουργία. 1085 00:53:28,970 --> 00:53:32,640 Θα πρέπει να την ενημέρωση του root όταν αυτό καλούμε τη νέα λειτουργία. 1086 00:53:32,640 --> 00:53:34,170 Εδώ δεν είμαστε καλώντας μια νέα λειτουργία. 1087 00:53:34,170 --> 00:53:37,610 Είμαστε απλά ενημέρωση ρίζα σε αυτή τη λειτουργία. 1088 00:53:37,610 --> 00:53:38,880 Αυτό είναι εξαιρετικό. 1089 00:53:38,880 --> 00:53:40,730 Και ποια είναι η τελευταία γραμμή του κώδικα; 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Ναι, Mario; 1092 00:53:44,880 --> 00:53:48,290 >> ΚΟΙΝΟ: Else ισούται root ρίζα βέλος δεξιά. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Συγγνώμη; 1094 00:53:49,492 --> 00:53:52,340 >> Ισούται Root: ΚΟΙΝΟ ρίζα βέλος δεξιά. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Θα μπορούσατε επίσης να γράψει κάτι σαν αυτό; 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> ΚΟΙΝΟ: Δεν έχω ιδέα. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: Δεν μπορείς. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Δεν μπορείτε να κάνετε πλέον ίσων. 1102 00:54:08,270 --> 00:54:10,780 Εντάξει, έτσι αυτό φαίνεται καλό. 1103 00:54:10,780 --> 00:54:13,620 Γιατί δεν μπορούμε απλά να κάνουμε ότι για να το καθαρίσει. 1104 00:54:13,620 --> 00:54:15,220 Αυτό φαίνεται μεγάλη, και αυτό θα μπορούσε να λειτουργήσει. 1105 00:54:15,220 --> 00:54:16,920 Και θα ξεσπάσει. 1106 00:54:16,920 --> 00:54:21,460 >> Αν η ρίζα αριστερά ήταν μηδενική ή ρίζα δικαιώματος ήταν μηδενική, θα έρθει εδώ. 1107 00:54:21,460 --> 00:54:22,470 Root θα είναι ίση με null. 1108 00:54:22,470 --> 00:54:24,270 Είχαμε ξεφύγει από βρόχο μας, και εμείς θα επιστρέψει false. 1109 00:54:24,270 --> 00:54:26,280 Έτσι, όταν έχουμε ξεφύγει από το βρόχου, θα επιστρέψει false. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> Και πάλι, το ένα βρόχο, ενώ ήταν τέλεια εδώ γιατί δεν ξέρουμε πώς 1112 00:54:32,793 --> 00:54:33,850 μεγάλο δέντρο μας. 1113 00:54:33,850 --> 00:54:36,460 Προσπαθήσαμε να γράψει ο βρόχος for, αλλά εμείς συνειδητοποίησε έχετε να καταλάβω πώς 1114 00:54:36,460 --> 00:54:37,410 μεγάλο είναι μπροστά από το χρόνο. 1115 00:54:37,410 --> 00:54:38,720 Ναι. 1116 00:54:38,720 --> 00:54:41,790 >> ΚΟΙΝΟ: Αν αυτό δεν ήταν ένα δυαδικό δένδρο αναζήτησης, θα ήταν πραγματική μαθηματικά-y 1117 00:54:41,790 --> 00:54:44,220 για να το γράψω επαναληπτικά, έτσι δεν είναι; 1118 00:54:44,220 --> 00:54:47,170 Όπως, αν ήταν ένα δέντρο, αλλά όχι απαραίτητα - 1119 00:54:47,170 --> 00:54:49,730 οπότε δεν ήταν όλα μικρότερα στα αριστερά, και όλα τα μεγαλύτερα στα δεξιά. 1120 00:54:49,730 --> 00:54:52,540 Θα ήταν πραγματικά δύσκολο για να μετακινηθείτε πάνω, σωστά; 1121 00:54:52,540 --> 00:54:55,720 Εμείς θα πρέπει να σώσει ό, τι ήταν προηγουμένως σχετικά με το δέντρο και θα πάνε πίσω, 1122 00:54:55,720 --> 00:54:56,970 και τέτοια πράγματα. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: Αν δεν ήταν ένα δυαδικό δένδρο αναζήτησης, αν ήταν μόνο ένα 1125 00:55:02,010 --> 00:55:04,740 δέντρο και τα πράγματα δεν ήταν ταξινομούνται σαν αυτό - 1126 00:55:04,740 --> 00:55:07,440 και συνειδητοποιήσαμε νωρίτερα, όταν η Άννα μας βοηθούσε ότι καθιστά 1127 00:55:07,440 --> 00:55:08,800 ταξινομημένη μας βοηθά πολύ - 1128 00:55:08,800 --> 00:55:12,610 θα πρέπει να, ναι, πάντα να αποθηκεύσετε όπου ήταν προηγουμένως. 1129 00:55:12,610 --> 00:55:14,430 Αλλά θα μπορούσαν να υπάρχουν πολλά όπου ήμασταν previouslys. 1130 00:55:14,430 --> 00:55:17,730 Θα μπορούσαν να υπάρχουν πολλοί κόμβοι πατέρες. 1131 00:55:17,730 --> 00:55:22,530 >> Πιθανώς ο καλύτερος τρόπος για να γίνει αυτό θα είναι να συνεχίσουμε να πιέζουμε τα πράγματα σε κάποια 1132 00:55:22,530 --> 00:55:24,170 το είδος της καπνοδόχου ή ουρά. 1133 00:55:24,170 --> 00:55:26,030 Ποτέ δεν θα πρέπει να τον κωδικό αυτό επειδή είναι ένα δύσκολο πρόβλημα. 1134 00:55:26,030 --> 00:55:30,820 Αλλά να σας ωθήσει κάποια πράγματα σε μια στοίβα ή ουρά και στη συνέχεια να σκάσει τους μακριά, και 1135 00:55:30,820 --> 00:55:31,890 στη συνέχεια να αξιολογήσουν τους. 1136 00:55:31,890 --> 00:55:34,200 >> Και έπειτα, έχουν κάποιο άλλο πράγμα, όπου είστε πραγματικά βάζοντας τους κόμβους, και 1137 00:55:34,200 --> 00:55:36,090 στη συνέχεια να δημιουργήσετε ότι, και στη συνέχεια αναζήτηση μέσα από αυτό. 1138 00:55:36,090 --> 00:55:38,700 Αυτό θα μπορούσε να είναι ο καλύτερος τρόπος για να το κάνει. 1139 00:55:38,700 --> 00:55:42,410 OK, οποιεσδήποτε ερωτήσεις σχετικά με αυτό το πρόβλημα; 1140 00:55:42,410 --> 00:55:44,670 >> ΚΟΙΝΟ: Πρόκειται για μια σχετική σημείωση. 1141 00:55:44,670 --> 00:55:50,460 Θα πρέπει να συγκρίνουμε τους χρόνους λειτουργίας για πίνακες κατακερματισμού, δυαδική 1142 00:55:50,460 --> 00:55:52,160 δένδρα αναζήτησης, κ.λπ.; 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Πιθανώς. 1144 00:55:54,310 --> 00:55:56,150 Οπότε ας το κάνουμε αυτό πολύ γρήγορα. 1145 00:55:56,150 --> 00:55:58,490 Εκτέλεση του χρόνου για τον πίνακα hash - 1146 00:55:58,490 --> 00:55:59,090 ποιες είναι οι άλλοι; 1147 00:55:59,090 --> 00:56:00,050 Δυαδικό δέντρο; 1148 00:56:00,050 --> 00:56:02,920 >> ΚΟΙΝΟ: κατάλογοι συνδέσεων. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: Εντάξει, ας κάνουμε ένθετο. 1150 00:56:04,780 --> 00:56:09,980 Ποια είναι η μεγάλη O ενθέτου σε ένα πίνακα κατακερματισμού; 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Ποιες είναι οι παραδοχές θέλετε να κάνετε; 1153 00:56:15,285 --> 00:56:17,760 >> ΚΟΙΝΟ: Είσαι εισαγωγή κατά τη ξεκινώντας από τη λίστα συνδέσμου. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Πιθανότατα η πρώτη υπόθεση είναι ότι δεν υπάρχουν συγκρούσεις. 1155 00:56:19,860 --> 00:56:22,340 Αν δεν υπάρχουν συγκρούσεις, τότε η χρονική στιγμή της εισαγωγής είναι ένα. 1156 00:56:22,340 --> 00:56:26,560 Εάν υπάρχουν συγκρούσεις, και να είστε κάνει Ξεχωριστές αλυσίδες και εισάγοντας 1157 00:56:26,560 --> 00:56:31,880 στην αρχή της λίστας συνδέσμου, τότε ένθεση είναι επίσης σταθερή. 1158 00:56:31,880 --> 00:56:34,700 >> Αν κάνεις ένα πίνακα κατακερματισμού, αλλά θα έχουν μια διαφορετική μέθοδος αντιμετώπισης 1159 00:56:34,700 --> 00:56:36,040 με συγκρούσεις, τι είναι μια διαφορετική μέθοδο; 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Τι είναι μια διαφορετική μέθοδο για την αντιμετώπιση των 1162 00:56:42,960 --> 00:56:44,205 Σύγκρουση σε έναν πίνακα κατακερματισμού; 1163 00:56:44,205 --> 00:56:44,915 >> ΚΟΙΝΟ: Γραμμικός προγραμματισμός. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: Γραμμικός προγραμματισμός. 1165 00:56:45,540 --> 00:56:47,770 Έτσι θα πάμε για να συνεχίσετε να ψάχνετε για το επόμενο ανοικτό σημείο. 1166 00:56:47,770 --> 00:56:50,390 Αυτό δεν είναι σταθερή χρονική στιγμή της εισαγωγής. 1167 00:56:50,390 --> 00:56:52,266 Θα μπορούσατε να πρέπει να περάσουν ολόκληρο τον πίνακα, έτσι ώστε 1168 00:56:52,266 --> 00:56:53,936 θα μπορούσε να είναι μεγάλη O κ. 1169 00:56:53,936 --> 00:56:54,740 Ναι. 1170 00:56:54,740 --> 00:56:57,690 >> ΚΟΙΝΟ: Διαφορετικά απλά αλυσιδωτή σύνδεση; 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Κάναμε Ξεχωριστές αλυσίδες. 1172 00:57:00,160 --> 00:57:00,720 Αυτή ήταν η πρώτη. 1173 00:57:00,720 --> 00:57:01,560 Αυτό είναι ό, τι ο κατάλογος σύνδεσμο. 1174 00:57:01,560 --> 00:57:03,720 Το φανταχτερό όνομα είναι Ξεχωριστές αλυσίδες. 1175 00:57:03,720 --> 00:57:06,880 Θα μπορούσε να είναι οποιοσδήποτε τύπος δομής λίστας τυχαίνει να κάνουμε στη λίστα σύνδεσμο. 1176 00:57:06,880 --> 00:57:10,490 >> Έτσι και πάλι, η εισαγωγή σε ένα πίνακα κατακερματισμού θα μπορούσε να είναι σταθερό χρόνο. 1177 00:57:10,490 --> 00:57:13,160 Τι γίνεται με την εισαγωγή σε μια ουρά στοίβαξης; 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> ΚΟΙΝΟ: Δεν είναι σταθερή; 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: Είναι σταθερό χρόνο. 1181 00:57:21,530 --> 00:57:23,420 Μπορείτε απλά να το πιέζετε. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Η εισαγωγή, ποιες ήταν οι άλλες είναι αυτές; 1184 00:57:25,380 --> 00:57:27,100 Σε μια δοκιμή; 1185 00:57:27,100 --> 00:57:30,252 Ποια είναι η μεγάλη O εισαγωγής σε μια δοκιμή; 1186 00:57:30,252 --> 00:57:32,808 >> ΚΟΙΝΟ: Μήκος είναι σταθερή. 1187 00:57:32,808 --> 00:57:34,560 Μήκος του μακρύτερου - 1188 00:57:34,560 --> 00:57:36,998 το μήκος της λέξης είστε εισαγωγή. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Συγγνώμη; 1190 00:57:38,210 --> 00:57:39,120 Περίμενε, οπότε τι άκουσα; 1191 00:57:39,120 --> 00:57:40,260 Είπατε - τι είπες; 1192 00:57:40,260 --> 00:57:41,650 Ποια ήταν η απάντησή σας, Μάρκους; 1193 00:57:41,650 --> 00:57:43,640 >> ΚΟΙΝΟ: Το μήκος της λέξης είστε εισάγοντας χαρακτήρες, 1194 00:57:43,640 --> 00:57:45,480 υποθέτοντας ότι είναι μια δοκιμή του χαρακτήρα. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: Εντάξει, έτσι ώστε το μήκος της λέξης. 1196 00:57:46,840 --> 00:57:49,500 Θα κάνει την παραδοχή ότι είναι μια σειρά χαρακτήρων. 1197 00:57:49,500 --> 00:57:51,930 Είπατε κάτι διαφορετικό, όμως. 1198 00:57:51,930 --> 00:57:55,490 Είπατε μήκος της μεγαλύτερης λέξης. 1199 00:57:55,490 --> 00:57:57,600 >> ΚΟΙΝΟ: Αυτό είναι μόνο σταθερή, έτσι δεν είναι; 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: Γιατί θα να είναι σταθερή; 1201 00:57:58,440 --> 00:58:00,970 >> ΚΟΙΝΟ: Όπως, αν χρησιμοποιείτε μεγάλη O σημειογραφία, τότε δεν διαφέρει ανάλογα με 1202 00:58:00,970 --> 00:58:04,680 σχετικά με τον αριθμό των πραγμάτων που είναι ήδη στην προσπάθεια. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Γι 'αυτό και θα λένε ότι είναι σταθερό χρόνο. 1204 00:58:07,344 --> 00:58:11,840 Είναι σταθερή εισαγωγή, και αυτό είναι επειδή αυτή η ιδέα - 1205 00:58:11,840 --> 00:58:14,820 πούμε ότι έχουμε μια λέξη που είναι 45, ή μια λέξη που είναι 60, ότι 1206 00:58:14,820 --> 00:58:16,800 έχει ένα σταθερό αριθμό. 1207 00:58:16,800 --> 00:58:21,050 Και θα ήταν απλώς να εισαχθεί σε σταθερό χρόνο. 1208 00:58:21,050 --> 00:58:26,060 >> Στην πράξη όμως, δεν θα ήταν, προφανώς, να συμβεί σε ένα χιλιοστό του δευτερολέπτου, 1209 00:58:26,060 --> 00:58:26,590 για παράδειγμα. 1210 00:58:26,590 --> 00:58:28,880 Αλλά θα λέγαμε μεγάλο O είναι σταθερά για μια δοκιμή. 1211 00:58:28,880 --> 00:58:31,330 Και αυτός είναι ένας από τους μεγαλύτερα πλεονεκτήματα. 1212 00:58:31,330 --> 00:58:33,330 >> Τι γίνεται με την εισαγωγή σε μια λίστα με σύνδεση; 1213 00:58:33,330 --> 00:58:37,220 Απλά μια γενική, ταξινομημένη λίστα σύνδεση; 1214 00:58:37,220 --> 00:58:37,700 Ναι. 1215 00:58:37,700 --> 00:58:38,530 >> ΚΟΙΝΟ: Είχα μια ερώτηση. 1216 00:58:38,530 --> 00:58:42,670 Σχετικά με τη δοκιμή, θα μπορούν ποτέ να μας το ζητήσετε χρονική στιγμή της εισαγωγής που είναι τέσσερα βήματα, 1217 00:58:42,670 --> 00:58:43,270 ή κάτι άλλο; 1218 00:58:43,270 --> 00:58:44,300 Ή μήπως είναι απλά - 1219 00:58:44,300 --> 00:58:47,670 όταν λένε ότι ο χρόνος εισαγωγής είναι μία, αυτό σημαίνει ότι μόνο σταθερό χρόνο; 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Ναι, θα ρωτά πάντα, είναι μεγάλο O κ; 1221 00:58:49,770 --> 00:58:51,440 O Big του log n; 1222 00:58:51,440 --> 00:58:53,960 Ν τετράγωνο σταθερή. 1223 00:58:53,960 --> 00:58:56,520 Αυτά είναι πραγματικά το μόνο αυτά που πρέπει να ξέρετε. 1224 00:58:56,520 --> 00:58:58,420 Τι γίνεται με την εισαγωγή σε ταξινομημένη λίστα σύνδεση; 1225 00:58:58,420 --> 00:58:59,440 >> ΚΟΙΝΟ: Είχα μια ερώτηση - 1226 00:58:59,440 --> 00:58:59,980 μια ερώτηση - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Ποια είναι η απάντηση στο ερώτημα αυτό, όμως; 1228 00:59:01,060 --> 00:59:02,120 >> ΚΟΙΝΟ: Περιμένετε, τι ρώτησες; 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Ποια είναι η μεγάλη του O εισαγωγή σε μια ταξινομημένη λίστα σύνδεση; 1230 00:59:06,750 --> 00:59:07,070 >> ΚΟΙΝΟ: One; 1231 00:59:07,070 --> 00:59:09,400 Χωρίς αναμονή, αναμονή Όχι, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. Εκτός ο κατάλογος σύνδεσμο. 1233 00:59:11,420 --> 00:59:12,706 Και ποια ήταν η ερώτησή σας; 1234 00:59:12,706 --> 00:59:16,440 >> ΚΟΙΝΟ: Έτσι θα γράψω o του k ή o 1 για το - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Αχ. 1236 00:59:18,150 --> 00:59:21,830 Θα ήθελα να γράψω o 1, κατά πάσα πιθανότητα. 1237 00:59:21,830 --> 00:59:24,160 Υπήρχε μία άλλη δομή δεδομένων ότι θα ήταν καλό. 1238 00:59:24,160 --> 00:59:25,730 Δέντρο, δυαδικό δένδρο αναζήτησης. 1239 00:59:25,730 --> 00:59:27,510 Τι είναι η εισαγωγή σε ένα δυαδικό δέντρο αναζήτησης; 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> ΚΟΙΝΟ: Είσοδος. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: Λοιπόν, ποιο είναι το χειρότερο περίπτωση σε ένα δυαδικό δένδρο αναζήτησης; 1243 00:59:39,260 --> 00:59:45,350 Έτσι, αν τυχαίνει να ξεκινήσει στις 5, και κάθε αριθμός είναι μεγαλύτερος από 5, τότε 1244 00:59:45,350 --> 00:59:48,760 έχουμε 5, 7, 9, 11, κ.λπ.. 1245 00:59:48,760 --> 00:59:52,255 Σε αυτή την περίπτωση, είναι ουσιαστικά μόνο ένα σύνδεσμο λίστα, και θα πρέπει να εισάγετε όλες τις 1246 00:59:52,255 --> 00:59:52,680 ο τρόπος στο τέλος. 1247 00:59:52,680 --> 00:59:54,350 Γι 'αυτό είναι μεγάλη O κ. 1248 00:59:54,350 --> 00:59:57,720 >> Αυτό θα μπορούσε να είναι χειρότερη περίπτωση μας σε ένα δυαδικό δένδρο αναζήτησης. 1249 00:59:57,720 --> 01:00:00,890 Προφανώς, εσείς ποτέ δεν θα κατασκευάσει ένα δυαδικό δένδρο αναζήτησης με 5 στο 1250 01:00:00,890 --> 01:00:04,270 μέση, γνωρίζοντας 5 θα είναι το χαμηλότερο αριθμό. 1251 01:00:04,270 --> 01:00:08,030 Αλλά θα μπορούσε να είναι, αν είστε ξεκινώντας από το μηδέν. 1252 01:00:08,030 --> 01:00:10,980 Οποιεσδήποτε ερωτήσεις σχετικά με αυτό πριν περάσουμε σε ένα άλλο θέμα; 1253 01:00:10,980 --> 01:00:11,560 Αυτό ήταν μια καλή ερώτηση. 1254 01:00:11,560 --> 01:00:15,100 Θα ήθελα να γνωρίζετε το μεγάλο Ξ - 1255 01:00:15,100 --> 01:00:18,620 >> ΚΟΙΝΟ: Τι γίνεται με την αναζήτηση για εκείνα τα τέσσερα; 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Σίγουρα εμείς έκανε αναζήτηση και την ταξινόμηση. 1257 01:00:20,400 --> 01:00:22,160 Κάναμε όλα αυτά τα αλγόριθμους, σωστά. 1258 01:00:22,160 --> 01:00:23,390 Περιμένετε, ήταν ότι για Quiz 1; 1259 01:00:23,390 --> 01:00:23,980 Ήταν που καλύπτονται - 1260 01:00:23,980 --> 01:00:25,860 δεν έχετε ήδη ότι ερώτηση σχετικά με Quiz 1; 1261 01:00:25,860 --> 01:00:29,650 Η μεγάλη O χρόνου εκτέλεσης της δυαδικής αναζήτησης, ταξινόμηση με εισαγωγή, bubble sort; 1262 01:00:29,650 --> 01:00:30,160 >> ΚΟΙΝΟ: Ναι. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Αν είχατε ότι ερώτηση σχετικά με Quiz 0, οι πιθανότητες είναι εσείς δεν θα 1264 01:00:32,790 --> 01:00:35,180 πάρετε την ίδια ακριβώς ερώτηση σχετικά Quiz 1. 1265 01:00:35,180 --> 01:00:36,300 Θα μπορούσε να είναι ακόμα καλό να γνωρίζουμε εκείνες. 1266 01:00:36,300 --> 01:00:38,520 Θα πρέπει να ξέρετε ελπίζουμε gh ήδη. 1267 01:00:38,520 --> 01:00:40,740 >> Αλλά και άλλες λογαριθμική runtimes είναι ίσως καλό να γνωρίζουμε. 1268 01:00:40,740 --> 01:00:42,890 Πράγματα που δεν καλύφθηκαν στις Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Όπως σύνολο των φορέων για αυτά αφηρημένους τύπους δεδομένων. 1270 01:00:47,300 --> 01:00:50,760 >> Εντάξει, ας προχωρήσουμε. 1271 01:00:50,760 --> 01:00:52,190 Αυτό και μόνο θα πρέπει να είναι αρκετά γρήγορη. 1272 01:00:52,190 --> 01:00:56,170 Και αυτή είναι μια νέα γλώσσα δεν έχουμε κωδικοποιούνται πράγματι πριν. 1273 01:00:56,170 --> 01:00:59,300 Αυτό είναι ένα ερώτημα που ζητά να κώδικα σε PHP. 1274 01:00:59,300 --> 01:01:01,950 Έτσι, θεωρούν την PHP πίνακα παρακάτω. 1275 01:01:01,950 --> 01:01:06,150 Γράψτε PHP ή / και HTML κώδικες έτσι ώστε να εξάγει ένα πίνακα με δύο στήλες με TFs 1276 01:01:06,150 --> 01:01:08,810 τα ονόματα και τα σπίτια. 1277 01:01:08,810 --> 01:01:11,600 >> Ποτέ δεν έχω κάνει πριν από αυτό, αυτό το συγκεκριμένο πρόβλημα. 1278 01:01:11,600 --> 01:01:16,270 Αλλά αυτό θα πρέπει να είναι πολύ εξοικειωμένοι με τι κάνατε στο πρόβλημα που 7. 1279 01:01:16,270 --> 01:01:21,250 Γι 'αυτό και θα ήταν πρόθυμος να στοιχηματίσει θα ζήτησε να κωδικοποιήσει κάτι σε PHP που 1280 01:01:21,250 --> 01:01:23,880 είναι πολύ παρόμοιο με αυτό που έκανε στο πρόβλημα που 7. 1281 01:01:23,880 --> 01:01:26,300 >> Πρώτον, array δεν είναι ότι οι συγκεκριμένες. 1282 01:01:26,300 --> 01:01:28,140 Τι είδους του πίνακα είναι αυτό; 1283 01:01:28,140 --> 01:01:29,080 >> ΚΟΙΝΟ: Συσχετιστική. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: Είναι ένα associative array. 1285 01:01:31,250 --> 01:01:33,750 Και ποια είναι η διαφορά ανάμεσα σε ένα associative array και ένα αντικείμενο; 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> ΚΟΙΝΟ: Μια σειρά αντικείμενο έχει ένα δείκτη ακεραίων, και ένα associative array 1288 01:01:44,857 --> 01:01:47,814 είναι ένας δείκτης μιας συμβολοσειράς, ή κάτι τέτοιο. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Έτσι, μια σειρά από αντικείμενα θα έχουν δείκτες 1291 01:01:54,880 --> 01:01:57,090 ακέραιοι, αλλά ένα αντικείμενο έχει πεδία. 1292 01:01:57,090 --> 01:02:01,590 Έχει αυτά τα πεδία, όπως τα ονόματα το όνομα, το σπίτι, φοιτητής. 1293 01:02:01,590 --> 01:02:03,720 Έχετε μια ιδέα; 1294 01:02:03,720 --> 01:02:06,630 >> ΚΟΙΝΟ: Λοιπόν, συνειρμική πίνακας είναι σε PHP, έτσι δεν είναι; 1295 01:02:06,630 --> 01:02:07,880 Και το αντικείμενο είναι σε JavaScript; 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Ειλικρινά, δεν υπάρχει πραγματική διαφορά μεταξύ των δύο. 1298 01:02:14,820 --> 01:02:19,540 Και οι δύο έχουν χορδές, όπως τα κλειδιά, και μπορεί να έχουν ουσιαστικά τίποτα ως τιμή. 1299 01:02:19,540 --> 01:02:21,250 Διαφορετικές γλώσσες τηλεφωνήσετε πράγμα associative array, 1300 01:02:21,250 --> 01:02:22,750 ένα πράγμα ένα αντικείμενο. 1301 01:02:22,750 --> 01:02:25,960 Οπότε, ειλικρινά, δεν υπάρχει πραγματική διαφορά, αλλά υπάρχει σίγουρα κάποια 1302 01:02:25,960 --> 01:02:27,730 συντακτικές διαφορές μεταξύ των δύο. 1303 01:02:27,730 --> 01:02:28,200 Ναι. 1304 01:02:28,200 --> 01:02:33,580 >> ΚΟΙΝΟ: Έτσι είναι αντικείμενο κωδικοποιείται επίσης κάτω η κουκούλα ως πίνακα κατακερματισμού, τότε; 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Τι να κάνετε Δηλαδή, κωδικοποιημένα κάτω από την κουκούλα; 1306 01:02:35,796 --> 01:02:38,017 >> ΚΟΙΝΟ: Μας είπαν ότι η συνειρμική συστοιχία ήταν τεχνικά ένα 1307 01:02:38,017 --> 01:02:39,960 hash πίνακα. 1308 01:02:39,960 --> 01:02:44,510 Έτσι είναι το αντικείμενο και τεχνικά ένα πίνακα κατακερματισμού; 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: Δεν πάω να απαντήσει σε αυτό το ερώτημα. 1310 01:02:45,350 --> 01:02:46,600 Θα επικοινωνήσουμε μαζί σας σχετικά με αυτό. 1311 01:02:46,600 --> 01:02:48,980 Αλλά εγώ δεν θα σκεφτώ ούτε αυτών έτσι. 1312 01:02:48,980 --> 01:02:53,790 Όμως, σε καμία περίπτωση, associative array και αντικείμενο, σε γενικές γραμμές, οι άνθρωποι χρησιμοποιούν εκείνες 1313 01:02:53,790 --> 01:02:54,910 όρους εναλλακτικά. 1314 01:02:54,910 --> 01:02:57,630 Στην περίπτωση αυτή, το δροσερό μέρος είναι ότι μπορείτε να χρησιμοποιήσετε τα πλήκτρα. 1315 01:02:57,630 --> 01:03:00,580 Χορδές όπως κλειδιά, παρά μόνο απλούς αριθμούς. 1316 01:03:00,580 --> 01:03:02,070 >> Έτσι έχω μιλήσει για αυτό για λίγο. 1317 01:03:02,070 --> 01:03:04,090 Ας ελπίσουμε ότι, μερικοί άνθρωποι έχουν πάρει ξεκίνησε για το θέμα αυτό. 1318 01:03:04,090 --> 01:03:08,050 Εμείς πάμε για να γράψετε κάποιο PHP και HTML κώδικα, έτσι ώστε να έχουμε ένα δύο-στηλών 1319 01:03:08,050 --> 01:03:11,830 πίνακας με τα ονόματα TFs και σπίτια. 1320 01:03:11,830 --> 01:03:15,380 >> Εντάξει, θα ήθελα και εγώ μια κεφαλίδα γραμμή αυτού του πίνακα. 1321 01:03:15,380 --> 01:03:18,410 Έτσι, Πάω να πάρει κατ 'ευθείαν σε αυτό. 1322 01:03:18,410 --> 01:03:20,770 Εμείς πάμε για να καταθέσει, νέα, και θα πάμε να - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> OK. 1325 01:03:28,320 --> 01:03:29,970 Πώς μπορώ να ξεκινήσω ένα τραπέζι; 1326 01:03:29,970 --> 01:03:32,090 Ποια είναι η ετικέτα, Μιχαήλ, να ξεκινήσει έναν πίνακα; 1327 01:03:32,090 --> 01:03:32,890 >> ΚΟΙΝΟ: Πίνακας. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Πίνακας. 1329 01:03:34,020 --> 01:03:37,870 Και αν μπορώ να ανοίξω μια ετικέτα, τι άλλο πρέπει να κάνω; 1330 01:03:37,870 --> 01:03:39,810 >> ΚΟΙΝΟ: Ένα κεφάλι; 1331 01:03:39,810 --> 01:03:41,040 Ή, μάλλον, την τάξη. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Λοιπόν, συγγνώμη. 1333 01:03:41,730 --> 01:03:45,430 Ας υποθέσουμε ότι έχουμε ήδη γράψει doctab, HTML, όλα αυτά τα πράγματα. 1334 01:03:45,430 --> 01:03:50,230 Αλλά αν ανοίξω αυτόν τον πίνακα ετικέτα, τι άλλο πρέπει να κάνω για να γράψω; 1335 01:03:50,230 --> 01:03:53,450 για την επικύρωση HTML; 1336 01:03:53,450 --> 01:03:55,000 >> ΚΟΙΝΟ: Κλείστε αυτό. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn: Κλείστε την ετικέτα. 1338 01:03:56,050 --> 01:03:57,575 Πώς μπορώ να γράψω μια ετικέτα κοντά τραπέζι; 1339 01:03:57,575 --> 01:03:59,580 >> ΚΟΙΝΟ: Dot κάθετο πίνακα. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash τραπέζι, μεγάλη. 1341 01:04:00,960 --> 01:04:02,730 Μάλλον έχει νόημα να γράψω τόσο από αυτά μαζί, γιατί 1342 01:04:02,730 --> 01:04:03,870 έχετε να το κάνουμε. 1343 01:04:03,870 --> 01:04:08,575 Εντάξει, αν θέλω μια γραμμή κεφαλίδας, πώς Γράφω μια γραμμή κεφαλίδας με τίτλους; 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> ΚΟΙΝΟ: Είναι λιγότερο από 10 ώρες κοντά - 1346 01:04:19,290 --> 01:04:21,550 TR, ναι. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR; 1348 01:04:22,100 --> 01:04:25,080 >> ΚΟΙΝΟ: Τότε ίδιο πράγμα, το κάθετο, ναι. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, και δώστε μου δύο στήλες. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> ΚΟΙΝΟ: T D; 1352 01:04:33,210 --> 01:04:34,460 >> JASON Hirschhorn: OK. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 Θέλω δύο στήλες. 1355 01:04:39,520 --> 01:04:40,960 Μήπως αυτό να μου δώσει δύο στήλες; 1356 01:04:40,960 --> 01:04:43,880 Πόσες στήλες είναι αυτό; 1357 01:04:43,880 --> 01:04:45,920 Ένα. 1358 01:04:45,920 --> 01:04:47,170 Οπότε ας αντιγράψετε και να επικολλήσετε αυτό. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Έτσι, στην πραγματικότητα, στο κουίζ, όλα αυτός ο κώδικας ότι έχουμε γράψει μέχρι τώρα ήταν 1361 01:05:03,390 --> 01:05:04,710 πραγματικότητα που σας έχει δοθεί. 1362 01:05:04,710 --> 01:05:06,200 Αλλά θα πρέπει πιθανώς ακόμα ξέρουν πώς να το γράψω. 1363 01:05:06,200 --> 01:05:06,470 Ναι. 1364 01:05:06,470 --> 01:05:10,636 >> ΚΟΙΝΟ: Το σπίτι σας είναι μεταξύ των δύο. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 Θα πρέπει να πάμε εκεί, έτσι δεν είναι; 1367 01:05:12,720 --> 01:05:14,600 Καλή κλήση. 1368 01:05:14,600 --> 01:05:17,760 Έτσι και πάλι, όλο αυτό τον κωδικό είναι στην πραγματικότητα που σας έχει δοθεί σχετικά με την πραγματική κουίζ. 1369 01:05:17,760 --> 01:05:19,570 Αλλά είναι διασκεδαστικό να το γράψω, και θα πρέπει να γνωρίζουν πώς να το γράψω. 1370 01:05:19,570 --> 01:05:23,640 Έτσι, αυτό είναι που θα πρέπει να ξεκινήσει τον κωδικό σας. 1371 01:05:23,640 --> 01:05:25,150 Τι πρέπει να γράψω εδώ; 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Συγνώμη, πρέπει να αλλάξετε το όνομα αυτού του αρχείου. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Γι 'αυτό και αποθηκεύονται σε ένα αρχείο HTML., όχι σε ένα αρχείο PHP.. 1376 01:05:44,270 --> 01:05:47,030 Αυτά τα πράγματα θα σήμαινε τίποτα σε ένα αρχείο PHP.. 1377 01:05:47,030 --> 01:05:48,500 Έτσι, είμαστε σε ένα αρχείο HTML.. 1378 01:05:48,500 --> 01:05:50,090 Ποιο είναι το πρώτο πράγμα που Πρέπει να γράψω; 1379 01:05:50,090 --> 01:05:52,990 Θέλω να βάλω κάποια PHP κώδικα σε ένα HTML. 1380 01:05:52,990 --> 01:05:57,300 >> ΚΟΙΝΟ: PHP, όπως και ένα άλλο καρότο και ερωτηματικό PHP, έτσι δεν είναι; 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Μεγάλη. 1382 01:05:58,310 --> 01:05:59,360 Και πώς μπορώ να τελειώσει αυτό; 1383 01:05:59,360 --> 01:06:02,510 >> ΚΟΙΝΟ: Με ένα ερωτηματικό. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: Αυτό είναι μεγάλη. 1385 01:06:03,120 --> 01:06:07,090 Αυτό είναι το πρώτο πράγμα που χρειάζεστε, αν θέλω να βάλει κάποια PHP κώδικα εδώ. 1386 01:06:07,090 --> 01:06:11,210 >> ΚΟΙΝΟ:. Σκέφτηκα ένα PHP το αρχείο θα μπορούσε να πάρει HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Ναι. 1388 01:06:12,290 --> 01:06:15,330 Ένα αρχείο PHP. Μπορεί να πάρει μερικά HTML και να εμφανίζεται. 1389 01:06:15,330 --> 01:06:16,450 Αυτό ήταν κακό μου. 1390 01:06:16,450 --> 01:06:18,300 Ήμουν απλώς προσπαθεί να μιμηθεί ό, τι ήταν στο κουίζ. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> Εντάξει, συγγνώμη που σας μπερδεύουν. 1393 01:06:24,720 --> 01:06:25,550 Ναι, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Τώρα θα πάμε να θέσει κάποιο κώδικα PHP μέσα 1395 01:06:27,340 --> 01:06:30,530 Ποια είναι η πρώτη γραμμή PHP κώδικα πρέπει να γράψω; 1396 01:06:30,530 --> 01:06:33,360 Πάω να περάσει μέσα από αυτή την σειρά και το κάνει σε ένα τραπέζι. 1397 01:06:33,360 --> 01:06:34,600 Ναι. 1398 01:06:34,600 --> 01:06:37,160 >> ΚΟΙΝΟ: Μπορείτε να χρησιμοποιήσετε είτε α για το βρόχο H ή ένα βρόχο. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: Εντάξει, τι θέλετε να χρησιμοποιήσετε; 1400 01:06:38,415 --> 01:06:40,720 >> ΚΟΙΝΟ: Θα ήθελα να χρησιμοποιήσει ένα for loop. 1401 01:06:40,720 --> 01:06:48,700 Και, στη συνέχεια κάνετε το σύμβολο του δολαρίου i ισούται με 0 ερωτηματικό δολαρίου 1402 01:06:48,700 --> 01:06:51,580 υπογράφουν i λιγότερο από 2. 1403 01:06:51,580 --> 01:06:55,455 Και τότε ερωτηματικό i δολάριο υπογράψουν i plus plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Πώς ξέρετε να χρησιμοποιήσετε ένα 2; 1406 01:07:03,880 --> 01:07:10,444 >> ΚΟΙΝΟ: Επειδή υπήρχαν δύο associative arrays μέσα στο μεγαλύτερο 1407 01:07:10,444 --> 01:07:11,960 associative array. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Έτσι, το μεγάλο πράγμα για Δεν αναπληρωτής σειρά. 1409 01:07:13,610 --> 01:07:15,500 Το μεγάλο πράγμα είναι απλά μια κανονική σειρά. 1410 01:07:15,500 --> 01:07:17,380 Αλλά έχετε δίκιο, υπάρχουν δύο associative arrays 1411 01:07:17,380 --> 01:07:18,910 μέσα μεγαλύτερη ποικιλία μας. 1412 01:07:18,910 --> 01:07:20,310 Αυτός είναι ο λόγος για τον οποίο χρησιμοποιείτε δύο. 1413 01:07:20,310 --> 01:07:24,270 Νιώθω άβολα και αν υποτεθεί ότι ότι είναι 2, οπότε τι είναι ένας τρόπος για να γράψει 1414 01:07:24,270 --> 01:07:26,810 αυτό χωρίς την παραδοχή ότι είναι 2; 1415 01:07:26,810 --> 01:07:27,507 >> ΚΟΙΝΟ: [δεν ακούγεται]; 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: Εντάξει, πώς γράφεις αυτό; 1417 01:07:29,165 --> 01:07:35,262 >> ΚΟΙΝΟ: foreach σύμβολο του δολαρίου tfs ή σαν σύμβολο του δολαρίου tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: Εντάξει, έτσι ώστε για κάθε tfs ως tfs, θέλω να, τώρα 1420 01:07:41,960 --> 01:07:43,650 και πάλι, να έχει το τραπέζι μου. 1421 01:07:43,650 --> 01:07:45,250 Έτσι, ο οποίος μπορεί να μου δώσει το επόμενη γραμμή κώδικα; 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> ΚΟΙΝΟ: Εκτύπωση και στη συνέχεια, τιμές, τέλος βραχίονα tr 1424 01:07:59,810 --> 01:08:02,670 βραχίονα, τέλος απόσπασμα. 1425 01:08:02,670 --> 01:08:05,300 Παρενθέσεις Τέλος, ερωτηματικό. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, και τι που πρόκειται να κάνει; 1427 01:08:07,135 --> 01:08:08,610 >> ΚΟΙΝΟ: Δεν πρόκειται να πω, νέα σειρά. 1428 01:08:08,610 --> 01:08:11,070 Είναι πρόκειται να θέσει το ετικέτα για μια νέα σειρά. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Δεξιά, αυτή η PHP, όπως μιλήσαμε νωρίτερα - αυτό 1430 01:08:13,000 --> 01:08:22,160 PHP πρόκειται να αξιολογηθούν, και στη συνέχεια πρόκειται να εκτυπώσετε σε αυτό το αρχείο ένα 1431 01:08:22,160 --> 01:08:26,350 πίνακα ρυμούλκησης, και στη συνέχεια, ότι HTML θα αξιολογηθούν. 1432 01:08:26,350 --> 01:08:27,810 Είμαστε απλά αντιγράφουν αυτό HTML είχαμε εδώ. 1433 01:08:27,810 --> 01:08:28,120 Ναι. 1434 01:08:28,120 --> 01:08:29,470 >> ΚΟΙΝΟ: [δεν ακούγεται]; 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Συγγνώμη; 1436 01:08:30,290 --> 01:08:31,240 Είναι ακριβώς εδώ. 1437 01:08:31,240 --> 01:08:33,590 Φθινόπωρο 2012. 1438 01:08:33,590 --> 01:08:35,970 Μην κοιτάτε τις απαντήσεις, ας το λύσουμε από κοινού. 1439 01:08:35,970 --> 01:08:37,330 Γι 'αυτό και εκτυπώσετε σειρά του πίνακα. 1440 01:08:37,330 --> 01:08:38,550 Έτσι, είστε πιθανώς σε η ταλάντευση των πραγμάτων. 1441 01:08:38,550 --> 01:08:41,060 Ποια είναι η επόμενη γραμμή κώδικα που πρέπει να γράψετε; 1442 01:08:41,060 --> 01:08:42,926 Assam, δώσε μου την επόμενη γραμμή κώδικα. 1443 01:08:42,926 --> 01:08:46,290 >> ΚΟΙΝΟ: Χρειάζεται το όνομα του tf του. 1444 01:08:46,290 --> 01:08:54,319 Tf παρενθέσεις εισαγωγικά όνομα κλειστά παρένθεση. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Δώσε μου το όνομά τους. 1446 01:08:57,310 --> 01:08:58,540 >> ΚΟΙΝΟ: Θα πρέπει να εκτυπώσετε αυτό. 1447 01:08:58,540 --> 01:08:59,790 >> [Παρεμβάλλοντας VOICES] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, πώς μπορώ να εκτυπώσω; 1450 01:09:03,430 --> 01:09:04,680 >> [Παρεμβάλλοντας VOICES] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: είμαι λείπει κάτι τώρα. 1453 01:09:10,350 --> 01:09:12,470 Τι είμαι εγώ που λείπει; 1454 01:09:12,470 --> 01:09:13,720 >> ΚΟΙΝΟ: Χρειάζεται ένα σύμβολο του δολαρίου. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Τι αλλιώς χάνω; 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Όλοι έχουμε τυπωμένα μέχρι στιγμής είναι το tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> ΚΟΙΝΟ: Κλείστε το tr μετά από αυτό. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Άρα χρειαζόμαστε για να κλείσετε το tr μετά. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Ποιος βλέπει αυτό που μας λείπει στη γραμμή 16; 1464 01:09:37,906 --> 01:09:39,340 Ναι, η Άννα. 1465 01:09:39,340 --> 01:09:47,050 >> ΚΟΙΝΟ: Θα χρειαστεί να ανοίξετε ένα td και άγκιστρα. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: Και πού βάζουμε άγκιστρα; 1467 01:09:49,380 --> 01:09:51,790 >> ΚΟΙΝΟ: Γύρω από το όνομα tf. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Σας αρέσει αυτό; 1469 01:09:53,080 --> 01:09:55,420 >> ΚΟΙΝΟ: Ναι. 1470 01:09:55,420 --> 01:09:59,000 Και στη συνέχεια, κλείστε το td. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Σας αρέσει αυτό; 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> ΚΟΙΝΟ: Μήπως θα πρέπει να έχετε διπλά εισαγωγικά σημάτων δίπλα στα άγκιστρα; 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Δικαίωμα εδώ; 1475 01:10:07,460 --> 01:10:08,710 Όχι, δεν το κάνουν. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Έτσι ώστε να είναι ακριβώς σωστό. 1478 01:10:12,550 --> 01:10:12,940 Ναι. 1479 01:10:12,940 --> 01:10:15,290 >> ΚΟΙΝΟ: Έτσι, η διαφορά μεταξύ αυτού και encatenating με κουκκίδες, αν 1480 01:10:15,290 --> 01:10:18,420 χρησιμοποιείτε τελείες, τότε θα πρέπει να έχουν το διπλά εισαγωγικά, στη συνέχεια, μια κουκίδα, 1481 01:10:18,420 --> 01:10:20,370 τότε η τελεία - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Σωστό. 1483 01:10:20,520 --> 01:10:23,800 Δηλαδή λέτε ότι υπάρχει ένα απόλυτο τρόπος σύνταξης της παρούσας, όπως αυτό. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Τι το τελεστή συνένωσης σε JavaScript; 1486 01:10:28,966 --> 01:10:31,200 >> ΚΟΙΝΟ: Ένα θετικό πρόσημο. 1487 01:10:31,200 --> 01:10:34,710 Μπορείτε ξέχασε να βάλει το σγουρά συγκρατήσει πίσω. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Μεγάλη. 1489 01:10:35,760 --> 01:10:38,850 Και υπάρχει μια κοινή γραμμή κώδικα που λείπουν. 1490 01:10:38,850 --> 01:10:40,130 Ποιος μπορεί να μου δώσει την τελευταία γραμμή του κώδικα που λείπει; 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> ΚΟΙΝΟ: Ακριβώς το ίδιο ακριβώς πράγμα, μόνο με το σπίτι, αντί του ονόματος. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Μεγάλος 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Μεγάλη. 1496 01:10:54,390 --> 01:10:59,320 Και τη σύνταξη σας είναι ακριβώς σωστό για να πάρει τα πράγματα σε μια συγγενή σειρά. 1497 01:10:59,320 --> 01:11:04,450 Έτσι, το πραγματικό κουίζ, είστε όντως δίνεται μέχρι εδώ. 1498 01:11:04,450 --> 01:11:05,710 Έτσι, αυτός ο κώδικας σας δόθηκε. 1499 01:11:05,710 --> 01:11:07,750 Το μόνο που έπρεπε να γράψω ήταν αυτά τέσσερις γραμμές και να θυμάστε να 1500 01:11:07,750 --> 01:11:09,190 κλείστε την ετικέτα πίνακα. 1501 01:11:09,190 --> 01:11:11,370 Εσείς όντως όλα αυτά και πολλά άλλα. 1502 01:11:11,370 --> 01:11:11,810 Ναι. 1503 01:11:11,810 --> 01:11:14,850 >> ΚΟΙΝΟ: Έτσι θα είναι λειτουργικά το ίδιο αν είχατε μόνο ότι όλα 1504 01:11:14,850 --> 01:11:17,250 ένα μεγάλο κλήση εκτύπωσης, σωστά; 1505 01:11:17,250 --> 01:11:19,630 Και τότε μόνο συνεχόμενα το σε, κ.λπ.; 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Σας αρέσει αυτό; 1507 01:11:20,730 --> 01:11:21,980 >> ΚΟΙΝΟ: Ναι. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Απλώς δεν θα φαίνονται καλά, αν ήταν κοιτάζοντας αυτό όταν είστε επιθεώρηση 1510 01:11:26,940 --> 01:11:28,550 το στοιχείο στην ιστοσελίδα σας, έτσι δεν είναι; 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Συμφωνώ. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Αν έχω φορτωθεί αυτή την ιστοσελίδα, θα ήμουν μπορείτε να δείτε αυτόν τον κώδικα PHP, ποτέ; 1514 01:11:38,710 --> 01:11:39,240 >> ΚΟΙΝΟ: Όχι. 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: Όχι. 1516 01:11:40,080 --> 01:11:42,240 Και στην πραγματικότητα, δεν θα το έκανα. 1517 01:11:42,240 --> 01:11:43,920 >> ΚΟΙΝΟ: Αυτό δεν είναι HTML, έτσι δεν είναι; 1518 01:11:43,920 --> 01:11:45,000 Έτσι, μπορείτε να είστε σε θέση να - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: Έτσι, αυτό θα PHP να αξιολογηθούν πλευρά του server. 1520 01:11:46,780 --> 01:11:51,020 PHP είναι πάντα αξιολογούνται πλευρά του server, έτσι ποτέ δεν είσαι σε θέση να δείτε τον κώδικα PHP. 1521 01:11:51,020 --> 01:11:52,980 >> ΚΟΙΝΟ: Αλλά θα ήθελα να είναι σε θέση να δείτε το αποτέλεσμα των εκτυπώσεων. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Σωστά. 1523 01:11:53,480 --> 01:11:55,510 Και ειλικρινά δεν θα μπορούσε βάζουμε όλα στη γραμμή. 1524 01:11:55,510 --> 01:11:59,740 Θα μπορούσε να το διαμορφώσετε όμορφα για σας, ή θα μπορούσε να θέσει σε μία γραμμή. 1525 01:11:59,740 --> 01:12:01,521 Ασαφές. 1526 01:12:01,521 --> 01:12:03,596 Αλλά ναι, καλό σημείο. 1527 01:12:03,596 --> 01:12:06,470 >> ΚΟΙΝΟ: Γιατί είναι εκεί καμία επισήμανση κειμένου για 1528 01:12:06,470 --> 01:12:07,550 οποιαδήποτε από τις εντολές PHP; 1529 01:12:07,550 --> 01:12:09,370 Επειδή θυμάμαι βλέποντας ότι. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Επειδή είναι ένα . HTML αρχείο εδώ στην κορυφή. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Εκεί θα πάτε. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> ΚΟΙΝΟ: Αν κάναμε την αρχική μέθοδο με την βρόγχους for, σωστά, αν 1535 01:12:28,800 --> 01:12:33,500 ήθελε να αποκτήσει πρόσβαση σε ένα tfs, θα έχουμε κάνει βραχίονα tfs 0 βραχίονα, τότε 1536 01:12:33,500 --> 01:12:35,180 [Δεν ακούγεται]; 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Θα το έκανες - 1538 01:12:35,970 --> 01:12:40,560 έτσι λέτε για το βρόχο for, σας θα κάνει το σύμβολο του δολαρίου βραχίονα tfs 1 1539 01:12:40,560 --> 01:12:41,850 ή εγώ, σωστά. 1540 01:12:41,850 --> 01:12:46,780 Ή το σύμβολο του δολαρίου κλείνω βραχίονα και στη συνέχεια αγκύλη 1541 01:12:46,780 --> 01:12:49,600 διπλά εισαγωγικά, ναι. 1542 01:12:49,600 --> 01:12:50,640 >> Εντάξει, εξαιρετική. 1543 01:12:50,640 --> 01:12:53,020 Έχουμε ένα πιο γρήγορο ένα. 1544 01:12:53,020 --> 01:12:55,090 Επτά λεπτά, έτσι θέλω να πάει πέρα ​​από αυτό. 1545 01:12:55,090 --> 01:12:56,160 Αυτό είναι ένα άλλο παράδειγμα. 1546 01:12:56,160 --> 01:12:58,740 Είμαστε τώρα μια εντελώς άλλη γλώσσα. 1547 01:12:58,740 --> 01:12:59,990 >> Έχουμε κάποιο κώδικα HTML. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Είναι το είδος των μικρών στην οθόνη, αλλά Θέλω να κοιτάξετε μέσα από πραγματικά 1550 01:13:07,460 --> 01:13:11,140 γρήγορα, και μπορεί κάποιος να μου πει, εάν επρόκειτο να φορτώσει αυτήν τη σελίδα web, 1551 01:13:11,140 --> 01:13:12,390 τι θα δούμε; 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Περιγράψτε τα πάντα για αυτή η ιστοσελίδα. 1554 01:13:26,450 --> 01:13:28,630 Νώε; 1555 01:13:28,630 --> 01:13:30,450 Τι θα δω; 1556 01:13:30,450 --> 01:13:38,140 >> ΚΟΙΝΟ: Κωδικός στο εμπρόσθιο άκρο του Google με μια αίσθηση για το κείμενο και 1557 01:13:38,140 --> 01:13:39,190 κουμπί υποβολής. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: Και τι θα το κουμπί πω; 1559 01:13:41,180 --> 01:13:42,430 >> ΚΟΙΝΟ: Υποβολή. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Ω, αναζήτηση. 1562 01:13:45,160 --> 01:13:45,840 Λυπάμαι. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: Θα έλεγα αναζήτησης. 1564 01:13:46,830 --> 01:13:47,520 Θυμηθείτε, το όνομα. 1565 01:13:47,520 --> 01:13:50,550 Τι χρησιμοποιούμε όνομα; 1566 01:13:50,550 --> 01:13:53,774 Αυτό το χαρακτηριστικό όνομα, τι είναι αυτό που χρησιμοποιείται για; 1567 01:13:53,774 --> 01:13:55,470 >> [Παρεμβάλλοντας VOICES] 1568 01:13:55,470 --> 01:13:59,300 >> ΚΟΙΝΟ: Αυτό είναι το όνομά του όταν κάποιος κάνει κλικ; 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: Αυτό θα μπορούσε να είναι. 1570 01:14:00,160 --> 01:14:02,690 Αλλά τι γενικά δούμε - γιατί δίνουμε αυτή την ουρά όνομα; 1571 01:14:02,690 --> 01:14:03,830 Γιατί βλέπουμε ότι; 1572 01:14:03,830 --> 01:14:05,220 Ναι. 1573 01:14:05,220 --> 01:14:08,600 >> ΚΟΙΝΟ: Θεωρεί ότι δεν γίνονται δείκτη του super global μεταβλητή; 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Ναι, γενικά όταν αυτή η μορφή θα υποβάλει, και στη συνέχεια, όταν 1575 01:14:12,740 --> 01:14:13,500 θα ήταν αυτό να υποβάλει; 1576 01:14:13,500 --> 01:14:14,750 Ποια σελίδα; 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Νώε, ποια σελίδα θα υποβάλει αυτό; 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> ΚΟΙΝΟ: Δεν είμαι σίγουρος. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: Πού θα μπορούσε να μπορούμε να το βρούμε; 1582 01:14:28,920 --> 01:14:31,025 Πού θα βρείτε ό, τι Η σελίδα υποβάλλει στο; 1583 01:14:31,025 --> 01:14:32,850 Ποια γραμμή κώδικα; 1584 01:14:32,850 --> 01:14:34,040 >> ΚΟΙΝΟ: δράση φόρμας. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Ακριβώς. 1586 01:14:34,650 --> 01:14:35,130 Δράση. 1587 01:14:35,130 --> 01:14:37,100 Γι 'αυτό υποβάλλει στη σελίδα αναζήτησης. 1588 01:14:37,100 --> 01:14:38,630 Backslash αναζήτηση. 1589 01:14:38,630 --> 01:14:40,140 Έτσι ώστε να είναι ακριβώς σωστό. 1590 01:14:40,140 --> 01:14:40,680 Ποια μέθοδο; 1591 01:14:40,680 --> 01:14:42,090 >> ΚΟΙΝΟ: Λήψη. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: Λήψη. 1593 01:14:42,490 --> 01:14:43,420 Ακριβώς. 1594 01:14:43,420 --> 01:14:44,490 Γι 'αυτό διαβάστε αυτό. 1595 01:14:44,490 --> 01:14:45,180 Αυτό πρόκειται να είναι μια μορφή. 1596 01:14:45,180 --> 01:14:45,910 Έχεις απόλυτο δίκιο. 1597 01:14:45,910 --> 01:14:50,340 Δύο πράγματα σχετικά με τη μορφή, ο τίτλος του σελίδα και η κορυφή θα είναι το Google. 1598 01:14:50,340 --> 01:14:54,270 >> Έτσι, εδώ είναι δύο ερωτήσεις που πρέπει να να είναι σε θέση να απαντήσει σχετικά με αυτή τη σελίδα. 1599 01:14:54,270 --> 01:15:01,760 Εάν αυτή η HTML ζει σε αυτή την ιστοσελίδα και ο χρήστης εισάγει σφάλμα σε αυτό το κείμενο 1600 01:15:01,760 --> 01:15:06,900 τομέα εδώ, ποια URL θα ο χρήστης να βρει τον εαυτό της μετά από 1601 01:15:06,900 --> 01:15:08,150 υποβολή της φόρμας; 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Έτσι έχουμε αυτό το δικαίωμα εδώ. 1604 01:15:12,510 --> 01:15:13,720 Πάω να πάει πίσω στο αυτή τη σελίδα, όμως. 1605 01:15:13,720 --> 01:15:16,980 Θα γράψω αυτό το πρώτο μέρος. 1606 01:15:16,980 --> 01:15:18,230 Μπορεί ο καθένας να δούμε εδώ; 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, νομίζετε ότι ξέρετε; 1609 01:15:32,906 --> 01:15:34,700 Ποια σελίδα; 1610 01:15:34,700 --> 01:15:37,630 >> ΚΟΙΝΟ: Backslash αναζήτησης. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: Πάω για να μετακινηθείτε προς τα κάτω εδώ. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, backslash ερώτημα αναζήτησης σήμα q ισούται bug. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Ο καθένας έχει μια διαφορετική πρόταση; 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Ναι. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Επομένως, πώς θα πάρει αυτό; 1620 01:16:03,740 --> 01:16:05,520 Λοιπόν, έχουμε δει αυτό πριν. 1621 01:16:05,520 --> 01:16:07,170 Και ήρθε με αυτό νωρίτερα. 1622 01:16:07,170 --> 01:16:08,870 Είχες δίκιο, ο Νώε, ότι η δράση μας λέει τι 1623 01:16:08,870 --> 01:16:11,700 Η σελίδα θα πάμε να. 1624 01:16:11,700 --> 01:16:12,820 >> Ξέρουμε επίσης ποια μέθοδο. 1625 01:16:12,820 --> 01:16:13,420 Κάνουμε πάρει. 1626 01:16:13,420 --> 01:16:17,040 Και η διαφορά μεταξύ get και μετά είναι ότι παίρνουν εμφανίζεται στο URL 1627 01:16:17,040 --> 01:16:18,490 και μετά δεν το κάνει. 1628 01:16:18,490 --> 01:16:22,760 Έτσι, αν έγραψα μετά εκεί στο μέθοδο, τι θα ήταν διαφορετικά; 1629 01:16:22,760 --> 01:16:24,250 >> ΚΟΙΝΟ: Θα ήθελα απλώς να είναι κάθετο αναζήτηση. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Θα ήταν απλώς να μειώσει την αναζήτηση. 1631 01:16:25,400 --> 01:16:27,400 Τίποτα εδώ δεν θα συνέβαινε. 1632 01:16:27,400 --> 01:16:30,030 Αλλά επειδή είναι ένα πάρει, η διεύθυνση URL εμφανίζεται ως εξής. 1633 01:16:30,030 --> 01:16:35,140 Πρώτη βλέπουμε ένα ερωτηματικό και βλέπουμε το όνομα και την τιμή. 1634 01:16:35,140 --> 01:16:42,730 Πείτε υπήρχε ένα άλλο πεδίο κειμένου και Μου έδωσε ένα όνομα του r και εισόδου Ι α 1635 01:16:42,730 --> 01:16:45,220 αξία, κάμπια. 1636 01:16:45,220 --> 01:16:48,560 Τι θα ήταν αυτό τώρα μοιάζει; 1637 01:16:48,560 --> 01:16:52,040 Έχω ένα ακόμα πεδίο κειμένου, δίνω ένα το όνομα του r και αξία της κάμπιας. 1638 01:16:52,040 --> 01:16:56,990 >> ΚΟΙΝΟ: Μετά το μπαρ θα είχατε η κάμπια εμπορικό. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: Αυτό είναι Δεν εμπορικό. 1640 01:16:58,380 --> 01:17:00,500 >> ΚΟΙΝΟ: Ή απλά ό, τι η και το σύμβολο. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Ναι, όχι. 1642 01:17:01,330 --> 01:17:03,700 Είχες δίκιο, έκανα λάθος. 1643 01:17:03,700 --> 01:17:05,660 Αυτό είναι σαν ένα g. 1644 01:17:05,660 --> 01:17:06,910 >> ΚΟΙΝΟ: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r ισούται με κάμπια, συγγνώμη. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Υπάρχει δεν r εκεί; 1649 01:17:14,700 --> 01:17:16,680 >> ΚΟΙΝΟ: Όχι, δεν υπάρχει. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Θα μιλήσουμε γι 'αυτό μετά το μάθημα. 1651 01:17:18,030 --> 01:17:18,930 Αυτό είναι ακριβώς σωστό. 1652 01:17:18,930 --> 01:17:20,530 Έτσι, η και είναι σωστή. 1653 01:17:20,530 --> 01:17:23,430 Και τότε θα μπορούσε να έχει πολλές από αυτές, και όλοι θα πρέπει να συνενωθούν 1654 01:17:23,430 --> 01:17:24,950 μαζί με αυτό και. 1655 01:17:24,950 --> 01:17:25,900 Έτσι ώστε να είναι ακριβώς σωστό. 1656 01:17:25,900 --> 01:17:27,700 >> Υπάρχει ένα ακόμη ερώτημα. 1657 01:17:27,700 --> 01:17:30,676 Σχεδιάστε DOM αυτής της HTML, ξεκινώντας με το έγγραφο. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Θα μπορούσαμε να το κάνουμε αυτό σε δύο λεπτά. 1660 01:17:34,570 --> 01:17:36,790 Θα το κάνουμε εδώ. 1661 01:17:36,790 --> 01:17:38,040 Θα πάω πίσω σε αυτήν την ιστοσελίδα. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 Εντάξει, ξεκινάμε με το έγγραφο. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Ποιο είναι το επόμενο; 1666 01:17:52,090 --> 01:17:53,910 Έτσι, όταν διαβάζετε μέσα - 1667 01:17:53,910 --> 01:17:54,540 >> ΚΟΙΝΟ: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML είναι δίπλα. 1669 01:17:55,790 --> 01:17:57,850 Εμείς πάμε για να πάει ετικέτα με βάση την ετικέτα. 1670 01:17:57,850 --> 01:18:00,890 Ποια μετά HTML; 1671 01:18:00,890 --> 01:18:01,550 >> ΚΟΙΝΟ: Head. 1672 01:18:01,550 --> 01:18:02,800 >> JASON Hirschhorn: Head. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Τι υπάρχει μετά το κεφάλι; 1675 01:18:08,520 --> 01:18:09,770 >> ΚΟΙΝΟ: Τίτλος. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: Τίτλος. 1678 01:18:12,560 --> 01:18:14,740 Και ο τίτλος έχει την αξία της Google, αλλά εγώ δεν πρόκειται να 1679 01:18:14,740 --> 01:18:16,240 γράφουν ότι προς το παρόν. 1680 01:18:16,240 --> 01:18:18,750 Εντάξει, πού το σώμα πάει; 1681 01:18:18,750 --> 01:18:20,890 >> ΚΟΙΝΟ: Επίσης, έρχεται από την HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Ακριβώς. 1683 01:18:21,490 --> 01:18:22,820 Body έρχεται μακριά από εδώ. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Μήπως όλοι να δείτε γιατί αυτή είναι η περίπτωση; 1686 01:18:30,330 --> 01:18:32,970 Θα πρέπει πιθανώς να είναι σε θέση να καταλάβω αυτό έξω, πάρα πολύ, ακόμα κι αν δεν είχα 1687 01:18:32,970 --> 01:18:33,665 αυτό το ωραίο εσοχή. 1688 01:18:33,665 --> 01:18:37,680 >> Η εσοχή είδος του δίνει μακριά, αλλά μπορείτε να δείτε ότι η ετικέτα της κεφαλής έχει 1689 01:18:37,680 --> 01:18:41,240 έχουν κλείσει, πράγμα που θα σημαίνει ότι κατά πάσα πιθανότητα δεν μπορεί να πάει εδώ κάτω. 1690 01:18:41,240 --> 01:18:43,460 Πρέπει να πάμε πίσω μέχρι ανεξαρτήτως Ήταν ακριβώς πριν από το κεφάλι 1691 01:18:43,460 --> 01:18:44,730 ετικέτα, ή κάτω από αυτό. 1692 01:18:44,730 --> 01:18:46,720 Είμαστε ακόμα με την ετικέτα της κεφαλής. 1693 01:18:46,720 --> 01:18:48,560 >> Και κάτω από το σώμα πηγαίνει μορφή. 1694 01:18:48,560 --> 01:18:50,300 Υπό μορφή, υπάρχουν δύο είσοδοι. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 OK. 1697 01:18:54,420 --> 01:18:55,490 Αυτό είναι το μόνο που πήρα. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 είναι αύριο. 1699 01:18:56,980 --> 01:18:58,350 Είμαι τόσο ενθουσιασμένος για σας παιδιά. 1700 01:18:58,350 --> 01:18:59,690 Είναι πρόκειται να είναι ένα ωστικό κύμα. 1701 01:18:59,690 --> 01:19:00,250 >> Αν έχετε - 1702 01:19:00,250 --> 01:19:00,600 >> ΚΟΙΝΟ: [χειροκροτήματα] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: Ω σταματήσει, να σταματήσει. 1704 01:19:02,460 --> 01:19:04,520 Αλλά όχι, δεν είμαι αστειεύεστε. 1705 01:19:04,520 --> 01:19:07,220 Αν έχετε οποιεσδήποτε απορίες, δεξιά Μετά το σημείο, θα είμαι έξω. 1706 01:19:07,220 --> 01:19:11,700 Εάν έχετε οποιεσδήποτε ερωτήσεις απόψε, μη διστάσετε να καλέσετε, e-mail, GChat, 1707 01:19:11,700 --> 01:19:12,740 μεταφορέα μου περιστέρι. 1708 01:19:12,740 --> 01:19:13,950 Καλή τύχη αύριο. 1709 01:19:13,950 --> 01:19:16,220 Έχετε ένα υπέροχο διάλειμμα Ευχαριστιών, αν δεν βλέπεις πριν από τότε. 1710 01:19:16,220 --> 01:19:19,320 Και θα σας δω μετά την Ημέρα των Ευχαριστιών την Τρίτη για την τελική μας 1711 01:19:19,320 --> 01:19:20,295 τμήμα κόμμα ποτέ. 1712 01:19:20,295 --> 01:19:21,545 >> ΚΟΙΝΟ: [δεν ακούγεται]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Μεγάλη. 1715 01:19:25,790 --> 01:19:28,900 Εντάξει, θα σας δω την επόμενη εβδομάδα, ή σε δύο εβδομάδες. 1716 01:19:28,900 --> 01:19:30,150 Και καλή τύχη αύριο. 1717 01:19:30,150 --> 01:19:32,203