1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI PENG: Είμαστε σχεδόν μέσα από όλες τις psets. 3 00:00:08,770 --> 00:00:12,080 Στην πραγματικότητα, είμαστε μέσα από την πλειονότητα από τα πιο δύσκολα psets. 4 00:00:12,080 --> 00:00:14,350 Έτσι είμαστε στην πραγματικότητα μόνο Θα είδους αεράκι 5 00:00:14,350 --> 00:00:16,050 μέσα στα επόμενα δύο εβδομάδες. 6 00:00:16,050 --> 00:00:19,520 >> Εμείς πάμε για να αρχίσουμε να μιλάμε για μας τελευταία έργα, τα γεγονότα έρχονται 7 00:00:19,520 --> 00:00:21,320 στις επόμενες εβδομάδες. 8 00:00:21,320 --> 00:00:23,825 Και η ζωή θα είναι ένα αεράκι. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Έτσι, δεν είναι πάρα πολύ σήμερα. 11 00:00:27,680 --> 00:00:30,280 >> Ας ελπίσουμε ότι, θα αεράκι πραγματικότητα μέσω της ημερήσιας διάταξης για σήμερα, 12 00:00:30,280 --> 00:00:33,400 και, στη συνέχεια, να είναι έξω από εδώ με κάποιο χρόνο να διαθέσουν. 13 00:00:33,400 --> 00:00:36,210 Επίσης, θέλω να ζητήσω συγγνώμη για την έλλειψη της καραμέλας σήμερα. 14 00:00:36,210 --> 00:00:37,030 Δεν ξέρω γιατί. 15 00:00:37,030 --> 00:00:40,520 Όμως, κατά την εβδομάδα που οδήγησαν Απόκριες, θα ήθελα να ξεχάσω καραμέλα. 16 00:00:40,520 --> 00:00:43,290 >> Έτσι, στην πραγματικότητα είμαι απλά ένας απέραντος απογοήτευση για σας τώρα. 17 00:00:43,290 --> 00:00:47,050 Γιατί εγώ θυμάμαι κυριολεκτικά καραμέλα για κάθε κατηγορία, αλλά Απόκριες. 18 00:00:47,050 --> 00:00:49,345 Αλλά την επόμενη εβδομάδα, θα φέρω διπλασιάσει το ποσό της καραμέλας 19 00:00:49,345 --> 00:00:50,720 για να αναπληρώσετε αυτό, όλα για σένα. 20 00:00:50,720 --> 00:00:53,260 Θα είναι μεγάλη. 21 00:00:53,260 --> 00:00:56,690 >> Έτσι έχω μια-δυο ανακοινώσεις σχετικά με κάποιο προγραμματισμό. 22 00:00:56,690 --> 00:00:59,520 Έχω κάποια θέματα προγραμματισμού. 23 00:00:59,520 --> 00:01:02,150 Στη συνέχεια θα πάμε να προχωρήσουμε σε μιλήσουμε για ό, τι λέγεται chmod. 24 00:01:02,150 --> 00:01:05,980 Εμείς πάμε να μιλήσουμε για γρήγορα TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Και μετά θα πάμε να κωδικοποιήσει μας δική του ιστοσελίδα χρησιμοποιώντας HTML και CSS. 26 00:01:09,770 --> 00:01:13,030 Και τότε εγώ θα αφήσει πραγματικά ίσως όπως 20 λεπτά για να μιλήσουμε για pset6. 27 00:01:13,030 --> 00:01:16,550 Επειδή pset6 είναι στην πραγματικότητα ένα πολύ πράγματα που έχουμε ήδη δει πριν, 28 00:01:16,550 --> 00:01:19,090 αλλά ήθελα να φρεσκάρω ορισμένες από αυτές τις έννοιες 29 00:01:19,090 --> 00:01:22,140 καθώς και να διδάξει ένα ζευγάρι νέων λειτουργιών. 30 00:01:22,140 --> 00:01:23,110 >> Δροσερός. 31 00:01:23,110 --> 00:01:25,440 Έτσι, πρώτα απ 'όλα, Καλώς ήρθατε και πάλι από το διάλειμμα. 32 00:01:25,440 --> 00:01:27,410 Ελπίζω να είστε διάλειμμα ήταν απολαυστική. 33 00:01:27,410 --> 00:01:29,695 Θα έκανες για διάλειμμα; 34 00:01:29,695 --> 00:01:30,820 Κοινό: Πήγε στη Νέα Υόρκη. 35 00:01:30,820 --> 00:01:32,030 ANDI PENG: Μπορείτε πήγε στη Νέα Υόρκη; 36 00:01:32,030 --> 00:01:33,738 Νομίζω ότι το ήμισυ του σχολείου μας πήγε στη Νέα Υόρκη. 37 00:01:33,738 --> 00:01:34,740 Όλα είναι εντάξει. 38 00:01:34,740 --> 00:01:38,250 Έχω περάσει το μεγαλύτερο μέρος του διαλείμματος μου καθιστική ζωή στο κρεβάτι Netflixing. 39 00:01:38,250 --> 00:01:39,760 Και αυτό ήταν μια καλή στιγμή. 40 00:01:39,760 --> 00:01:43,450 >> Αλλά τώρα είμαστε πίσω, πίσω συνεδρία, πίσω στην ταλάντευση των πραγμάτων. 41 00:01:43,450 --> 00:01:47,900 Έχουμε το chipset που οφείλεται αυτή την Παρασκευή το μεσημέρι. 42 00:01:47,900 --> 00:01:50,240 >> Νομίζω ότι έχετε ήδη πήρε κουίζ σας, ναι; 43 00:01:50,240 --> 00:01:52,140 Έτσι, κάποιος άλλος που έχει δεν είχε κουίζ τους, 44 00:01:52,140 --> 00:01:55,416 παρακαλούμε να έρθει και να πάρει κουίζ σας από μένα στο τέλος της ενότητας. 45 00:01:55,416 --> 00:01:56,540 Ή ένα κομμάτι μου κάτω στην πανεπιστημιούπολη. 46 00:01:56,540 --> 00:01:59,310 Θα έχω μαζί μου κάπου. 47 00:01:59,310 --> 00:02:02,120 >> Τελικό έργο μας προ-πρόταση επίσης. 48 00:02:02,120 --> 00:02:06,380 Έτσι, για όσους από εμάς δεν έχουν λάβει αυτή την κατηγορία πριν, το επιστέγασμα της CS50 49 00:02:06,380 --> 00:02:11,150 είναι πολύ κορυφώθηκε με αυτό μεγάλου σχεδίου που προτείνουν οι μαθητές. 50 00:02:11,150 --> 00:02:14,300 Και η προκαταρκτική πρόταση, μόνο μια γενική ιδέα 51 00:02:14,300 --> 00:02:18,500 από ό, τι θα μπορούσε κανείς να θέλουν να κάνουν για τους έργο, η ιδέα αυτή οφείλεται Δευτέρα, 52 00:02:18,500 --> 00:02:20,780 την ερχόμενη Δευτέρα το μεσημέρι. 53 00:02:20,780 --> 00:02:23,800 >> Έτσι, λίγο πολύ, David πιστεύω ότι θα μιλήσουμε περισσότερο για αυτό σε διάλεξη 54 00:02:23,800 --> 00:02:25,390 αν δεν έχει ήδη. 55 00:02:25,390 --> 00:02:28,710 Και υπάρχει μια σταθερή σελίδα στην ιστοσελίδα μας εξηγεί 56 00:02:28,710 --> 00:02:31,610 όλες οι απαιτήσεις του έργου. 57 00:02:31,610 --> 00:02:34,082 Αλλά κατ 'ουσίαν, να πάρει οποιοδήποτε θέμα που έχετε 58 00:02:34,082 --> 00:02:35,915 ενδιαφέρεται για όλο το χρόνο σας εδώ 59 00:02:35,915 --> 00:02:41,760 στο CS, είτε πρόκειται για παιχνίδια ή σχεδιασμού ή βίντεο ή οτιδήποτε άλλο. 60 00:02:41,760 --> 00:02:44,920 >> Και μπορείτε πραγματικά το είδος του τώρα ισχύουν κάποια από τα μαθήματα 61 00:02:44,920 --> 00:02:52,470 ότι έχουμε μάθει εδώ στο CS50-- γεια, welcome-- λίγο πολύ τη διεξαγωγή 62 00:02:52,470 --> 00:02:56,320 ένα τελικό σχέδιο της επιλογής σας. 63 00:02:56,320 --> 00:02:59,570 Όλα αυτό οφείλεται Δευτέρα είναι απλά μια σύντομη διαφήμιση μέσω ηλεκτρονικού ταχυδρομείου 64 00:02:59,570 --> 00:03:02,010 για μένα, μια γρήγορη πρόταση, όπως, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Είμαι πραγματικά ενδιαφέρονται για το σχεδιασμό ένα παιχνίδι που το κάνει αυτό για το iOS. 66 00:03:06,490 --> 00:03:07,420 Δροσερός. 67 00:03:07,420 --> 00:03:10,767 Απλά επιτρέψτε μου σύντομη αρχική σας ιδέες για την τελική έργα σας. 68 00:03:10,767 --> 00:03:13,850 Και θα μιλήσουμε με το αν ή όχι ότι είναι πραγματικά μια καλή ιδέα ή όχι, 69 00:03:13,850 --> 00:03:15,590 αν είναι εφικτή ιδέα ή όχι. 70 00:03:15,590 --> 00:03:20,760 Αλλά ακριβώς η προκαταρκτική πρόταση οφείλεται επόμενη Δευτέρα. 71 00:03:20,760 --> 00:03:24,190 pset6, υπέροχη web-- μας που είναι λάθος. 72 00:03:24,190 --> 00:03:25,060 Pset7; 73 00:03:25,060 --> 00:03:25,560 pset6; 74 00:03:25,560 --> 00:03:26,680 Είναι pset6, σωστά; 75 00:03:26,680 --> 00:03:32,690 >> pset6, τον web server μας, οφείλεται Παρασκευή το μεσημέρι με τον αείμνηστο ημέρα. 76 00:03:32,690 --> 00:03:37,660 Ώρες γραφείου συνεχιστεί κανονικά από τη Δευτέρα έως Πέμπτη 8:00-11 η ώρα αυτή την εβδομάδα. 77 00:03:37,660 --> 00:03:39,710 Νομίζω Commons για οι επόμενες τρεις νύχτες. 78 00:03:39,710 --> 00:03:40,310 Δροσερός. 79 00:03:40,310 --> 00:03:44,260 Πριν είχαμε στο υλικό, το κάνει ο καθένας Για οποιαδήποτε ερώτηση, ανέκδοτα, ιστορίες; 80 00:03:44,260 --> 00:03:46,662 Τι κάνατε για να σπάσει την πτώση; 81 00:03:46,662 --> 00:03:48,640 >> Κοινό: Τι να κάνω; 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: Ήδη είναι εδώ και πολύ καιρό πραγματικότητα. 83 00:03:52,834 --> 00:03:54,000 Christabel πήγε στη Νέα Υόρκη. 84 00:03:54,000 --> 00:03:55,614 Έμεινα εδώ και Netflixed. 85 00:03:55,614 --> 00:03:56,864 Κοινό: Ω, ναι ήμουν εδώ. 86 00:03:56,864 --> 00:03:57,614 ANDI PENG: Ω, εντάξει. 87 00:03:57,614 --> 00:03:59,792 Κοινό: Δεν θυμάμαι τι συγκεκριμένα. 88 00:03:59,792 --> 00:04:00,710 ANDI PENG: Αυτό είναι ΟΚ. 89 00:04:00,710 --> 00:04:01,960 Κοινό: Netflixing πιθανώς. 90 00:04:01,960 --> 00:04:02,990 ANDI PENG: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Ναι, είναι μια καλή στιγμή. 92 00:04:04,710 --> 00:04:05,780 ΕΝΤΆΞΕΙ. 93 00:04:05,780 --> 00:04:06,340 Εντάξει. 94 00:04:06,340 --> 00:04:08,877 Όλες οι ερωτήσεις πριν βιαστούμε σε υλικό; 95 00:04:08,877 --> 00:04:11,210 Επίσης, θα πάμε να προσπαθήσουμε να επιταχύνει μέσα από το τμήμα σήμερα, 96 00:04:11,210 --> 00:04:12,504 όχι πάρα πολύ για να καλύψει. 97 00:04:12,504 --> 00:04:14,420 Και ελπίζω, θα πάρουμε εδώ είναι λίγο νωρίς. 98 00:04:14,420 --> 00:04:15,580 Συγνώμη για να μην καραμέλα, επίσης. 99 00:04:15,580 --> 00:04:20,310 Είμαι μια απογοήτευση, ιδιαίτερα κατά τη διάρκεια αποκριών. 100 00:04:20,310 --> 00:04:21,110 >> Εντάξει. 101 00:04:21,110 --> 00:04:21,810 Δροσερός. 102 00:04:21,810 --> 00:04:28,370 Έτσι θα πάμε να αρχίσουμε να μιλάμε για ένα όρισμα γραμμής εντολών που ονομάζεται chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, όλα είναι είναι απλώς ένα σύστημα Unix κλήσεων που πραγματοποιούνται από τη γραμμή εντολών 104 00:04:32,850 --> 00:04:34,700 για να αλλάξετε τα δικαιώματα αρχείων. 105 00:04:34,700 --> 00:04:37,790 Έτσι, για παράδειγμα, έχουμε όλα αντιμετώπισε σελίδα 106 00:04:37,790 --> 00:04:40,550 όπως αυτό πιθανότατα κάποια στιγμή μέσα στο διάρκεια ζωής μας, είναι μια διαδικτυακή 107 00:04:40,550 --> 00:04:45,110 χρήστη, όπου web server μας έχει μας έδωσε το σφάλμα της Απαγορευμένη. 108 00:04:45,110 --> 00:04:49,086 Δεν έχετε άδεια για πρόσβαση, μπλα, μπλα, μπλα, σε αυτόν το διακομιστή. 109 00:04:49,086 --> 00:04:50,960 Το μόνο που πραγματικά σημαίνει είναι ότι οι άδειες 110 00:04:50,960 --> 00:04:53,920 ότι συνδέθηκαν σε ό, τι σελίδα που προσπαθείτε να αποκτήσετε πρόσβαση 111 00:04:53,920 --> 00:04:55,840 δεν ήταν ανοικτές σε σας. 112 00:04:55,840 --> 00:04:57,870 Έτσι, λίγο πολύ, chmod είναι ο τρόπος με τον οποίο 113 00:04:57,870 --> 00:05:02,140 μπορούμε να τροποποιήσουμε αυτά τα δικαιώματα του συστήματος να δώσει σε όλους, ο χρήστης, η ομάδα, 114 00:05:02,140 --> 00:05:04,975 ή ο κόσμος, ή οποιαδήποτε συνδυασμός αυτών πρόσβασης 115 00:05:04,975 --> 00:05:07,900 σε ορισμένα αρχεία, καταλόγους, τίποτα πραγματικά, 116 00:05:07,900 --> 00:05:11,720 οποιοδήποτε είδος του συστήματος ένα λειτουργικό σύστημα. 117 00:05:11,720 --> 00:05:14,039 Έτσι, αν κάποιο από τα παιδιά έχουν υπολογιστές, αν αισθάνεστε 118 00:05:14,039 --> 00:05:17,080 όπως παρακάτω μαζί μου σήμερα, εντελώς μη διστάσετε να πληκτρολογήσετε απλά πράγματα 119 00:05:17,080 --> 00:05:17,580 σε. 120 00:05:17,580 --> 00:05:19,790 Αν όχι, μπορείτε απλά να κρεμάσετε έξω. 121 00:05:19,790 --> 00:05:23,170 Έτσι, Πάω να τραβήξει πραγματικά το τερματικό μου τώρα. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Έτσι, η εντολή προς εκτέλεση chmod, ή τουλάχιστον μόνο 124 00:05:32,310 --> 00:05:37,840 στη λίστα τα δικαιώματα των σας κατάλογο αρχείων, είναι ακριβώς ls-l. 125 00:05:37,840 --> 00:05:42,270 Όπως μπορείτε να δείτε, ένα μάτσο πράγματα αναδύεται περισσότερα από τα οποία 126 00:05:42,270 --> 00:05:45,390 Είναι σημαντικό για εμάς στο η αριστερή πλευρά εδώ. 127 00:05:45,390 --> 00:05:48,710 Εσείς δείτε ένα μάτσο rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Ναι. 129 00:05:49,210 --> 00:05:51,400 >> Αυτά είναι κατ 'ουσίαν μόνο όλα τα δικαιώματα αρχείου 130 00:05:51,400 --> 00:05:55,960 να εξηγήσει τι ορισμένες καταλόγους και τα αρχεία μέσα στο σύστημά σας έχουν. 131 00:05:55,960 --> 00:05:58,150 Ας πάμε πίσω στο το σημείο τροφοδοσίας. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Έτσι, εκτός από τα ονόματα των αρχείων όπως εσείς μπορείτε να δείτε στα δεξιά, 134 00:06:06,500 --> 00:06:10,312 ψάχνουμε να δούμε κατ 'ουσίαν μόλις η στήλη στα αριστερά. 135 00:06:10,312 --> 00:06:12,020 Έτσι, εκτός από την μόλις τα ονόματα των αρχείων, θα 136 00:06:12,020 --> 00:06:16,240 μπορούν να δουν τα δικαιώματα των αρχείων, τους ομάδα ιδιοκτήτη, το όνομα της ομάδας, η ημερομηνία 137 00:06:16,240 --> 00:06:18,460 ότι ο φάκελος ήταν η τελευταία τροποποιημένα, κλπ. 138 00:06:18,460 --> 00:06:20,640 Μπορείτε να δείτε πολλά πράγματα χρησιμοποιώντας chmod. 139 00:06:20,640 --> 00:06:26,037 Έτσι ο τρόπος που διαβάζουμε chmod είναι ότι η πρώτη επιστολή που λίγο πολύ αγνοήσει 140 00:06:26,037 --> 00:06:27,370 σε όρους δικαιωμάτων ανάγνωσης. 141 00:06:27,370 --> 00:06:31,460 >> Το πρώτο γράμμα ακριβώς μας λέει τι είδος του συστήματος είμαστε πρόσβαση. 142 00:06:31,460 --> 00:06:34,240 d, σε αυτή την περίπτωση, είναι ένα φάκελο ή κατάλογο. 143 00:06:34,240 --> 00:06:38,430 Γνωρίζουμε, λοιπόν, ότι επί του παρόντος χώρο εργασίας μου τμήμα επτά ήταν ένας κατάλογος. 144 00:06:38,430 --> 00:06:41,530 Και τότε θα δείτε τρεις τριάδες, ουσιαστικά μόνο 145 00:06:41,530 --> 00:06:43,490 τρία σετ τριών χαρακτήρων. 146 00:06:43,490 --> 00:06:45,680 Και μπορείτε να σκεφτείτε το καθένα, όπως ένα κομμάτι. 147 00:06:45,680 --> 00:06:49,260 >> Έτσι, το μόνο που έχουν τρία σύνολα τρία δυαδικά ψηφία, εννέα bits στο σύνολο. 148 00:06:49,260 --> 00:06:51,420 Θα τους αντιμετωπίσουμε σε ομάδες των τριών. 149 00:06:51,420 --> 00:06:56,230 Έτσι, η πρώτη ομάδα των τριών είναι Πάντα τα δικαιώματα χρήστη σας. 150 00:06:56,230 --> 00:07:00,557 >> Δεύτερη ομάδα των τριών είναι Πάντα δικαιώματα της ομάδας σας. 151 00:07:00,557 --> 00:07:02,765 Και τρίτο σύνολο των τριών σας είναι πάντα όπως ο κόσμος, 152 00:07:02,765 --> 00:07:04,380 τα δικαιώματα παντού. 153 00:07:04,380 --> 00:07:06,320 Έτσι υποθέτω ότι το εύκολο ερώτημα που τίθεται είναι τι είναι 154 00:07:06,320 --> 00:07:08,051 η διαφορά μεταξύ του χρήστη και της ομάδας. 155 00:07:08,051 --> 00:07:09,800 Η κύρια διαφορά μεταξύ του χρήστη και της ομάδας 156 00:07:09,800 --> 00:07:13,180 είναι ότι ο χρήστης είναι μόνο εσείς προσωπικά πρόσβαση σε ό, τι είναι τώρα. 157 00:07:13,180 --> 00:07:18,070 Μια ομάδα μπορεί να είναι, αν έχετε πολλαπλά Οι χρήστες σε έναν υπολογιστή, για παράδειγμα. 158 00:07:18,070 --> 00:07:20,280 Όλα αυτά μπορεί να αντιμετωπίζεται ως μια ομάδα. 159 00:07:20,280 --> 00:07:23,220 >> Και τότε ο κόσμος είναι απλά ο κόσμος, ο καθένας. 160 00:07:23,220 --> 00:07:31,010 Έτσι μπορούμε να δούμε στη συνέχεια πώς μπορούμε τροποποιούν τους σε διαφορετικά δικαιώματα. 161 00:07:31,010 --> 00:07:33,080 Έτσι, λίγο πολύ, είμαστε θα εξακολουθούν να επικεντρώνονται 162 00:07:33,080 --> 00:07:38,450 εκ μέρους στα αριστερά, όπου για CS50 κατάλογο βλέπουμε drwx, 163 00:07:38,450 --> 00:07:40,970 όπου το r σημαίνει απλώς ότι είναι αναγνώσιμο. 164 00:07:40,970 --> 00:07:42,620 >> Το β σημαίνει απλά ότι είναι εγγράψιμο. 165 00:07:42,620 --> 00:07:45,470 Και τότε τα x μόνο σημαίνει ότι είναι εκτελέσιμο. 166 00:07:45,470 --> 00:07:47,220 Θα ήθελα να σκεφτείτε το είδος της δεν έχει νόημα. 167 00:07:47,220 --> 00:07:47,993 Θα πρέπει να είναι ε. 168 00:07:47,993 --> 00:07:50,150 Αλλά x πραγματικότητα το είδος του λειτουργεί λίγο καλύτερα, 169 00:07:50,150 --> 00:07:51,690 επειδή μπορείτε να το θυμούνται καλύτερα. 170 00:07:51,690 --> 00:07:56,406 >> Έτσι, οι τρεις τύποι των πραγμάτων που μπορεί να κάνει, μπορείτε να διαβάσετε είτε ένα αρχείο, 171 00:07:56,406 --> 00:07:59,280 μπορείτε να έχετε άδεια για να γράψει ένα αρχείο, ή θα μπορούσατε να έχετε την άδεια 172 00:07:59,280 --> 00:08:00,780 να εκτελέσει ένα αρχείο. 173 00:08:00,780 --> 00:08:04,580 Και έτσι ο τρόπος που έχουμε στην πραγματικότητα αντιπροσωπεύουν τους σε bits 174 00:08:04,580 --> 00:08:06,940 είναι οι αριθμοί 4, 2, 1 και. 175 00:08:06,940 --> 00:08:12,870 Έτσι, κάτι που είναι αναγνώσιμα είναι αντιπροσωπεύεται από τον αριθμό 4. 176 00:08:12,870 --> 00:08:15,150 >> Οτιδήποτε είναι εγγράψιμο αντιπροσωπεύεται από 2. 177 00:08:15,150 --> 00:08:18,880 Και κάτι που είναι εκτελέσιμο που εκπροσωπείται από την 1η. 178 00:08:18,880 --> 00:08:22,860 Έτσι, με αυτή την έννοια, μπορούμε επίσης αντιπροσωπεύουν αυτές numbers-- 179 00:08:22,860 --> 00:08:25,281 Γεια σου, καλώς, με διαφορετικό τρόπο. 180 00:08:25,281 --> 00:08:25,780 Συγνώμη. 181 00:08:25,780 --> 00:08:28,510 Πριν από όλους, Πάω να συγγνώμη εκ μέρους όλων 182 00:08:28,510 --> 00:08:29,468 εισέρχονται στην τάξη τώρα. 183 00:08:29,468 --> 00:08:30,810 Ξέχασα καραμέλα σήμερα. 184 00:08:30,810 --> 00:08:33,640 Λυπάμαι που είμαι μια αποτυχία αυτή την εβδομάδα των αποκριών. 185 00:08:33,640 --> 00:08:37,070 Θα φέρω το διπλάσιο του ποσού της καραμέλα επόμενη φορά να μπορέσουν να το κάνουν. 186 00:08:37,070 --> 00:08:42,360 Αλλά ούτως ή άλλως, συγγνώμη όσον αφορά στα παιδιά, συγγνώμη. 187 00:08:42,360 --> 00:08:46,640 >> Έτσι ο τρόπος που μπορούμε πραγματικά εισόδου σχετικά με την εντολή μας, το επιχείρημα είναι ότι 188 00:08:46,640 --> 00:08:51,760 μπορεί να κάνει chmod δικαιώματα της ομάδας κάθετος, όπου η ομάδα είναι ακριβώς ό, τι 189 00:08:51,760 --> 00:08:54,130 ομάδα προσπαθούμε να αλλάξουμε. 190 00:08:54,130 --> 00:08:56,600 Και τα δικαιώματα είναι ό, τι θέλουμε να προσθέσει σε αυτό. 191 00:08:56,600 --> 00:08:58,860 Έτσι, για παράδειγμα, η συν προσθέτει δικαιώματα, 192 00:08:58,860 --> 00:09:01,590 και η αφαίρεσης αφαιρεί δικαιώματα. 193 00:09:01,590 --> 00:09:07,060 >> Και τα είδη της ομάδας έχουμε ένα μας για όλους, u για τους χρήστες, g για τις ομάδες, 194 00:09:07,060 --> 00:09:09,050 ή o για τους άλλους. 195 00:09:09,050 --> 00:09:10,300 Είναι ένα αφηρημένο κομμάτι τώρα. 196 00:09:10,300 --> 00:09:13,550 Αλλά θα πάμε πάνω από ένα ζευγάρι παραδείγματα απλώς για να αποδειχθεί αυτό πραγματικά γρήγορα. 197 00:09:13,550 --> 00:09:16,960 Όλοι καλή σε αυτό διαφάνεια, ώστε να μπορώ να προχωρήσω; 198 00:09:16,960 --> 00:09:18,280 Δροσερός. 199 00:09:18,280 --> 00:09:21,290 >> Έτσι, για παράδειγμα, rwx. 200 00:09:21,290 --> 00:09:26,720 Πριν μιλήσουμε για το τι αντιπροσωπεύει, πρώτα απ 'όλα τι rwx σημαίνει; 201 00:09:26,720 --> 00:09:31,450 Αν δείτε ότι αυτό το συγκεκριμένο αρχείο έχει δικαιώματα rwx του, 202 00:09:31,450 --> 00:09:34,270 τι σημαίνει η άτομο μπορεί να είναι σε θέση να κάνει; 203 00:09:34,270 --> 00:09:35,740 >> Κοινό: διαβάσει, να γράψει και να εκτελέσει. 204 00:09:35,740 --> 00:09:36,420 >> ANDI PENG: Ναι, ακριβώς. 205 00:09:36,420 --> 00:09:37,840 Μπορείτε να διαβάσετε εγγραφής και εκτέλεσης. 206 00:09:37,840 --> 00:09:40,790 Επειδή όλα τρεις από αυτούς χαρακτήρες είναι παρόντες. 207 00:09:40,790 --> 00:09:44,370 Έτσι, αν πάμε μπροστά και να μιλήσει γι 'αυτό από την άποψη των bits, 208 00:09:44,370 --> 00:09:48,490 η rwx μπορεί επίσης να παρασταθεί ως 700. 209 00:09:48,490 --> 00:09:53,370 Διότι, όπως μπορείτε να δείτε σε οποιαδήποτε είδος της άδειας κατάλογο αρχείων, 210 00:09:53,370 --> 00:09:54,320 υπάρχουν τρεις τριάδες. 211 00:09:54,320 --> 00:09:58,060 >> Στην περίπτωση αυτή, μόνο το πρώτο τριάδα έχει τίποτα εκεί. 212 00:09:58,060 --> 00:10:04,050 Έτσι, στην περίπτωση αυτή, ο r είναι 4, το w είναι 2, και το χ είναι 1. 213 00:10:04,050 --> 00:10:05,860 Αν προσθέσετε αυτά συνολικά, είναι 7. 214 00:10:05,860 --> 00:10:08,730 >> Και έτσι εάν μετατρέψετε να δυαδικό, είναι 700. 215 00:10:08,730 --> 00:10:10,310 Επειδή 7 είναι η πρώτη τριάδα. 216 00:10:10,310 --> 00:10:12,760 0, δεν υπάρχει τίποτα παρούσα στη δεύτερη τριάδα. 217 00:10:12,760 --> 00:10:15,850 Και τότε δεν υπάρχει τίποτα που υπάρχουν στο η τρίτη τριάδα, έτσι ώστε να είναι μια άλλη 0. 218 00:10:15,850 --> 00:10:22,520 >> Έτσι, με την ίδια έννοια, ένα μάτσο τριάδες μπορεί να εκπροσωπείται μόνο σε bits, μόλις 219 00:10:22,520 --> 00:10:23,600 σε δυαδικό, καθώς και. 220 00:10:23,600 --> 00:10:29,920 Έτσι, 700 σημαίνει ακριβώς το ίδιο πράγμα όπως rwx ------ άποψη των δικαιωμάτων. 221 00:10:29,920 --> 00:10:32,590 Όλοι σαφείς ως προς αυτό; 222 00:10:32,590 --> 00:10:33,090 Δροσερός. 223 00:10:33,090 --> 00:10:40,290 Και έτσι chmod 111 θα δώσει η οποία δικαιώματα για το αρχείο; 224 00:10:40,290 --> 00:10:42,600 Να σας δώσει μια-δυο παιδιά δευτερόλεπτα για να μετατρέψει αυτό. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Θυμηθείτε, το πρώτο τριάδα είναι για το χρήστη. 227 00:10:53,250 --> 00:10:56,320 Η δεύτερη τριάδα είναι για την ομάδα. 228 00:10:56,320 --> 00:10:59,450 Και η τρίτη τριάδα είναι για όλους. 229 00:10:59,450 --> 00:11:03,680 >> Και έτσι chmod 111 θα δώσει το οποίο είδος των αδειών και σε ποιον; 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Πάρτε ένα ζευγάρι δευτερόλεπτα για να σκέφτομαι και να έρθουν πίσω. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Ναι. 234 00:11:20,910 --> 00:11:22,920 >> Κοινό: Έτσι, ο καθένας μπορεί να το εκτελέσει. 235 00:11:22,920 --> 00:11:23,920 ANDI PENG: Yup, ακριβώς. 236 00:11:23,920 --> 00:11:25,544 Κοινό: Αλλά κανείς δεν μπορεί να διαβάσει ή να γράψει. 237 00:11:25,544 --> 00:11:27,910 ANDI PENG: Και μη διστάσετε για να εξηγήσει σε όλους 238 00:11:27,910 --> 00:11:29,860 πώς κατέληξε στο συμπέρασμα αυτό. 239 00:11:29,860 --> 00:11:34,290 >> Κοινό: Λοιπόν, για το χρήστη, ο ομάδα, και ο κόσμος, είναι όλα 1, 240 00:11:34,290 --> 00:11:35,700 η οποία είναι ο κωδικός για το εκτελέσιμο. 241 00:11:35,700 --> 00:11:37,070 >> ANDI PENG: Ναι, ακριβώς. 242 00:11:37,070 --> 00:11:42,320 Έτσι 1, στην περίπτωση αυτή, όλοι γνωρίζουμε ότι είναι ότι αυτό είναι το εκτελέσιμο κώδικα. 243 00:11:42,320 --> 00:11:45,280 Επειδή η ανάγνωση είναι 4. 244 00:11:45,280 --> 00:11:45,990 Το γράψιμο είναι 2. 245 00:11:45,990 --> 00:11:47,230 Και το εκτελέσιμο είναι 1. 246 00:11:47,230 --> 00:11:51,580 Έτσι είναι και οι τρεις τριάδες είναι 1, ότι σημαίνει ότι στον κόσμο, για το χρήστη, 247 00:11:51,580 --> 00:11:54,680 και στην ομάδα, αυτοί είναι όλα τα εκτελέσιμα. 248 00:11:54,680 --> 00:11:56,170 >> Όλοι καλό με αυτό; 249 00:11:56,170 --> 00:11:56,940 ΕΝΤΆΞΕΙ. 250 00:11:56,940 --> 00:11:59,180 Και έτσι ο δεύτερος τρόπος ότι μπορούμε πράγματι 251 00:11:59,180 --> 00:12:01,220 γράφω αυτό, επίσης, είναι να σας θα μπορούσε να κάνει ακριβώς το chmod 252 00:12:01,220 --> 00:12:05,050 ένα συν x. α: το σύνολο ή ο καθένας. 253 00:12:05,050 --> 00:12:07,060 Η συν σημαίνει δίνοντας δικαιώματα. 254 00:12:07,060 --> 00:12:09,112 Και τότε το x είναι εκτελέσιμο. 255 00:12:09,112 --> 00:12:11,070 Έτσι, υπάρχουν δύο εντολές είναι στην πραγματικότητα ταυτόσημες. 256 00:12:11,070 --> 00:12:12,903 Έτσι, εάν θέλετε να εκτελέσετε αυτό στο τερματικό σας, 257 00:12:12,903 --> 00:12:15,830 κάνετε chmod 111, το όνομα του σας κατάλογο ή το αρχείο σας. 258 00:12:15,830 --> 00:12:18,520 Ή μπορείτε να κάνετε chmod a Plus X, Το όνομα του αρχείου καταλόγου σας. 259 00:12:18,520 --> 00:12:22,150 Το ίδιο πράγμα, απλά ένας ευκολότερος τρόπος, ίσως, για κάποιους να εκπροσωπεί ή αλλαγή 260 00:12:22,150 --> 00:12:24,280 δικαιώματα αρχείου. 261 00:12:24,280 --> 00:12:28,806 >> Κάθε μία εντάξει με chmod πριν προχωρήσουμε; 262 00:12:28,806 --> 00:12:31,700 Δροσερός. 263 00:12:31,700 --> 00:12:35,336 Έτσι, τώρα θα πάμε να το κεφάλι σε ένα λίγες διαφάνειες πολύ αφηρημένων εννοιών 264 00:12:35,336 --> 00:12:37,210 ότι είμαι λίγο πολύ πρόκειται να αεράκι μέσα. 265 00:12:37,210 --> 00:12:39,530 Και είναι εντελώς εντάξει, αν σας Δεν καταλαβαίνω τα πάντα. 266 00:12:39,530 --> 00:12:42,330 >> Ακόμη και τώρα, εγώ ακόμα δεν το κάνουν πραγματικά καταλαβαίνουν τα πάντα εντελώς. 267 00:12:42,330 --> 00:12:44,640 Αλλά είναι περισσότερο από να πάρει το ανώτερο επίπεδο κατανόησης 268 00:12:44,640 --> 00:12:47,280 το πώς μερικές από αυτές λειτουργούν τα πράγματα. 269 00:12:47,280 --> 00:12:50,490 Έτσι θα πάμε να μιλήσουμε γρήγορα για το πρωτόκολλο TCP / IP, 270 00:12:50,490 --> 00:12:54,880 το οποίο απέχει μόλις ελέγχου κιβωτίου ταχυτήτων Πρωτόκολλο κάθετο πρωτοκόλλου Internet. 271 00:12:54,880 --> 00:12:57,135 >> Ανάκληση από διάλεξη, David, έκανε σας διδάξει 272 00:12:57,135 --> 00:13:00,700 Το παράδειγμα όπου θα περάσει οι σημειώσεις σε ένα φάκελο 273 00:13:00,700 --> 00:13:02,790 έως αρέσει η κορυφή της αίθουσας διαλέξεων; 274 00:13:02,790 --> 00:13:06,990 Έτσι, στο αμφιθέατρο της Νομικής Σχολής David αποδεικνύεται ουσιαστικά 275 00:13:06,990 --> 00:13:10,370 πώς το TCP / IP λειτουργεί η αίσθηση ότι το μόνο που 276 00:13:10,370 --> 00:13:14,300 είναι είναι ένα μέσο για την εξασφάλιση ότι τα δεδομένα έχει παραδοθεί σε ένα διακομιστή 277 00:13:14,300 --> 00:13:15,870 ή στο διαδίκτυο. 278 00:13:15,870 --> 00:13:22,270 Έτσι, στο παράδειγμα του περιβλήματος και το μήνυμα, ο χρήστης στο τέλος 279 00:13:22,270 --> 00:13:26,410 θα μπορούσε να δει ότι, OH, έπρεπε να λαμβάνουν τέσσερα πακέτα πληροφοριών. 280 00:13:26,410 --> 00:13:28,096 >> Αλλά στην πραγματικότητα έλαβε μόνο τρεις. 281 00:13:28,096 --> 00:13:29,470 Αυτό σημαίνει ότι πρέπει να του λείπει ένα. 282 00:13:29,470 --> 00:13:30,760 Και κάποιος δεν παραδόθηκε. 283 00:13:30,760 --> 00:13:33,990 Και έτσι το πρωτόκολλο TCP / IP στο διαδίκτυο, μέσω του υπολογιστή σας και του διακομιστή, 284 00:13:33,990 --> 00:13:35,500 κάνει ακριβώς το ίδιο πράγμα. 285 00:13:35,500 --> 00:13:38,900 Το μόνο που κάνει είναι να καθορίσετε μια πλαίσιο, το οποίο τα χαμένα στοιχεία 286 00:13:38,900 --> 00:13:41,100 πακέτα μπορούν να δυσανασχετούν και να λάβει. 287 00:13:41,100 --> 00:13:44,760 >> Όπως και στο διαδίκτυο, όταν προσπαθείτε να έχουν πρόσβαση σε αρχεία στο διαδίκτυο ή να στείλετε αρχεία 288 00:13:44,760 --> 00:13:48,210 στο φίλο σας ή ματιά στο Web browsers, χιλιάδες και χιλιάδες 289 00:13:48,210 --> 00:13:50,440 της δισεκατομμύρια και δισεκατομμύρια των bytes πληροφοριών 290 00:13:50,440 --> 00:13:52,840 μεταφέρονται ανά χιλιοστό του δευτερολέπτου. 291 00:13:52,840 --> 00:13:54,560 Και είναι πραγματικά, πραγματικά σύγχυση. 292 00:13:54,560 --> 00:13:57,110 Και είναι πραγματικά δύσκολο να ξέρει πραγματικά τι έχει αποσταλεί 293 00:13:57,110 --> 00:13:58,270 και τι δεν έχει σταλεί. 294 00:13:58,270 --> 00:14:02,210 >> Και έτσι το πρωτόκολλο TCP / IP ορίζει μόνο ένα συνεκτικό πλαίσιο 295 00:14:02,210 --> 00:14:04,115 στην οποία ιστού σας browser και server σας 296 00:14:04,115 --> 00:14:05,990 μπορούν να επικοινωνούν είδος με το άλλο, μόλις 297 00:14:05,990 --> 00:14:08,550 βεβαιωθείτε ότι τα πακέτα όλοι εδώ και τίποτα δεν έχει χαθεί 298 00:14:08,550 --> 00:14:12,700 και όλα τα στοιχεία που ζητήσατε είναι στην πραγματικότητα εμφανίζεται σωστά. 299 00:14:12,700 --> 00:14:16,350 Όλοι ΟΚ για ακριβώς αυτό πολύ σύντομη υψηλού επιπέδου καταλαβαίνουν; 300 00:14:16,350 --> 00:14:18,510 Δροσερός. 301 00:14:18,510 --> 00:14:21,550 >> Μέχρι τότε θα πάμε για να μετακινήσετε σε μιλάμε για HTTP, η οποία 302 00:14:21,550 --> 00:14:24,610 Είναι ακριβώς Hypertext Transfer Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, όλα είναι είναι ανεξάρτητα από οποιαδήποτε σελίδα ή το αρχείο είναι προσβάσιμο στην ιστοσελίδα σας, 304 00:14:32,550 --> 00:14:35,810 ο διακομιστής επιστρέφει ένα HTTP κωδικός κατάστασης στην απάντηση 305 00:14:35,810 --> 00:14:39,869 με το αίτημα να διασφαλίσουμε ότι είτε, OH, το αίτημα αυτό πέρασε. 306 00:14:39,869 --> 00:14:41,410 Και όλα είναι εμφανίζεται σωστά. 307 00:14:41,410 --> 00:14:43,500 Ή, Ω, όχι, 404. 308 00:14:43,500 --> 00:14:44,730 Κάτι πήγε στραβά. 309 00:14:44,730 --> 00:14:45,940 Αχ, δεν μπορώ να εμφανίσει. 310 00:14:45,940 --> 00:14:50,370 >> Όλα είναι πως ό, τι είναι προσπαθείτε να αποκτήσετε πρόσβαση, 311 00:14:50,370 --> 00:14:55,160 χρησιμοποιήσετε ως χρήστης προσπαθεί να αποκτήσει πρόσβαση, σχετικά με την internet-- απλώς να διασφαλίσουμε 312 00:14:55,160 --> 00:15:00,080 ότι είτε έχετε επιτυχώς πρόσβαση ό, τι ήταν ή όχι 313 00:15:00,080 --> 00:15:02,080 επιτυχώς η πρόσβαση ό, τι ήταν. 314 00:15:02,080 --> 00:15:05,120 Και έτσι η κατάσταση HTTP κωδικός σας παρέχει μόνο 315 00:15:05,120 --> 00:15:09,910 ένα μέσο για να είναι σε θέση να γνωρίζουν αν ή δεν ήταν επιτυχής ή όχι. 316 00:15:09,910 --> 00:15:13,440 Έτσι, για παράδειγμα, ένα αίτημα παράδειγμα. 317 00:15:13,440 --> 00:15:16,050 >> Μπορείτε να δείτε εδώ είναι συνήθως συνήθως τέσσερις γραμμές. 318 00:15:16,050 --> 00:15:22,530 Έχουμε ένα HTTP GET 1.1, το οποίο είναι ακριβώς η διεύθυνση URL αιτήματος μέθοδο, το πρωτόκολλο 319 00:15:22,530 --> 00:15:24,490 εκδοχή, το όνομα του πεδίου, και η τιμή του πεδίου. 320 00:15:24,490 --> 00:15:26,810 Έτσι, δεν χρειάζεται να εντελώς απομνημονεύσουν τίποτα εδώ. 321 00:15:26,810 --> 00:15:29,960 Ακριβώς το είδος του συμβολαίου τον εαυτό σας με το πώς αυτοί φαίνονται. 322 00:15:29,960 --> 00:15:34,060 >> Σε αυτό το παράδειγμα, η αίτηση μέθοδος URL είναι απλά οποιοδήποτε αίτημα 323 00:15:34,060 --> 00:15:35,620 θέλετε να στείλετε το διακομιστή. 324 00:15:35,620 --> 00:15:40,710 Όπως, hey, server, θέλω πραγματικά να Πρόσβαση μπλα, μπλα, μπλα, σελίδα HTTP. 325 00:15:40,710 --> 00:15:43,785 Η έκδοση του πρωτοκόλλου είναι ακριβώς ό, τι έκδοση υποδοχής σας ή τον server σας 326 00:15:43,785 --> 00:15:45,490 χρησιμοποιεί για την πρόσβαση σε πληροφορίες. 327 00:15:45,490 --> 00:15:49,510 >> Το όνομα τομέα είναι η ιστοσελίδα ή η URL που προσπαθείτε να αποκτήσετε πρόσβαση, 328 00:15:49,510 --> 00:15:52,610 Στην περίπτωση αυτή, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Και η τιμή του πεδίου είναι ακριβώς όπως το πλήρες όνομα, αξία. 330 00:15:56,110 --> 00:15:59,540 Και μπορεί να είναι οποιοδήποτε είδος του συνδυασμού από γράμματα ή αριθμούς ή οτιδήποτε άλλο. 331 00:15:59,540 --> 00:16:02,890 >> Έτσι, ένα τυπικό αίτημα, έτσι τι ο υπολογιστής σας πραγματικότητα 332 00:16:02,890 --> 00:16:08,400 αποστέλλει στον server που λέει, hey, Ξέρετε τι χρειάζομαι αυτό εμφανίζεται, 333 00:16:08,400 --> 00:16:13,000 αυτό είναι το είδος του αιτήματος ότι πραγματικά λαμβάνουν. 334 00:16:13,000 --> 00:16:16,760 Ένα παράδειγμα απάντηση του ό, τι ο διακομιστής θα στείλει πίσω σε σας 335 00:16:16,760 --> 00:16:20,320 θα είναι λίγο πολύ το ίδιο πράγμα, παρά μόνο με έναν κωδικό κατάστασης στο επάνω μέρος. 336 00:16:20,320 --> 00:16:24,550 Έτσι, 200, 2 0 0 είναι πάντα ο κωδικός κατάστασης για OK. 337 00:16:24,550 --> 00:16:26,050 Όπως, εντάξει, το αίτημα αυτό πέρασε. 338 00:16:26,050 --> 00:16:27,980 Θα ήταν σε θέση να έχουν πρόσβαση σε τα πάντα σωστά. 339 00:16:27,980 --> 00:16:28,810 Η ζωή είναι ωραία. 340 00:16:28,810 --> 00:16:29,990 Η ζωή είναι ωραία. 341 00:16:29,990 --> 00:16:32,150 Τα πάντα είναι εντελώς καλά. 342 00:16:32,150 --> 00:16:36,050 >> Και έτσι αυτό ακριβώς λέει το πρόγραμμα περιήγησης και διακομιστή σας, hey, όλα είναι καλά. 343 00:16:36,050 --> 00:16:37,470 Πήρα όλες τις πληροφορίες που χρειάζεστε. 344 00:16:37,470 --> 00:16:39,160 Δροσερός. 345 00:16:39,160 --> 00:16:41,790 Αλλά το πρόβλημα είναι Μερικές φορές τα προβλήματα έρχονται 346 00:16:41,790 --> 00:16:46,850 όταν have-- διαρκέσει νομίζω Μίλησα για τα διπλότυπα. 347 00:16:46,850 --> 00:16:48,870 Έχετε λιγότερο καλές απαντήσεις. 348 00:16:48,870 --> 00:16:52,660 >> Έτσι, για παράδειγμα, 404 είναι η σελίδα δεν βρέθηκε. 349 00:16:52,660 --> 00:16:54,897 Έχετε μερικές φορές Απαγορευμένη πρόσβαση. 350 00:16:54,897 --> 00:16:56,730 Έχετε διάφορα άλλα κωδικοί κατάστασης που είμαι 351 00:16:56,730 --> 00:16:59,688 βεβαιωθείτε ότι έχετε δει όλα, όταν είστε προσπαθούν να κάνουν έρευνα στο διαδίκτυο. 352 00:16:59,688 --> 00:17:02,300 Και το πρόγραμμα περιήγησής σας δίνει η, όχι, δεν μπορούν να έχουν πρόσβαση. 353 00:17:02,300 --> 00:17:04,190 Και είστε όπως, επίσης, χάλια. 354 00:17:04,190 --> 00:17:09,260 >> Έτσι απλά λίγο πολύ, υπάρχει μερικά αρκετά κοινά κωδικούς κατάστασης. 355 00:17:09,260 --> 00:17:14,109 Ίσως να εξοικειωθείτε με την οποία αυτά είναι αυτά. 356 00:17:14,109 --> 00:17:16,000 Το πιο αστείο ότι ένα Νομίζω ότι έχω ακούσει ποτέ 357 00:17:16,000 --> 00:17:18,040 of-- αν τύχει να κοιτάζω προς τα πάνω όλα αυτά 358 00:17:18,040 --> 00:17:21,490 σε απευθείας σύνδεση, για κάποιο λόγο δεν υπάρχει στην πραγματικότητα ένα πραγματικό κωδικό κατάστασης 359 00:17:21,490 --> 00:17:26,619 ονομάζεται 418 Είμαι τσαγιέρα. 360 00:17:26,619 --> 00:17:29,610 >> Έψαξα στο Google, όπου η προέλευσή του ήταν από. 361 00:17:29,610 --> 00:17:33,150 Και προφανώς ένα Πρωταπριλιά Ημέρα μερικές δεκαετίες πριν, 362 00:17:33,150 --> 00:17:36,415 κάποιος σκέφτηκε ότι θα ήταν ξεκαρδιστικό για να δημιουργήσετε ένα νέο κωδικό κατάστασης που ονομάζεται 418 363 00:17:36,415 --> 00:17:37,380 Είμαι μια τσαγιέρα. 364 00:17:37,380 --> 00:17:40,760 Νόμιμα, το όνομα αυτό Κωδικός ονομάζεται είμαι τσαγιέρα. 365 00:17:40,760 --> 00:17:43,670 >> Ξεχάσω τι σελίδα θα πρέπει να πάει να κάνει πραγματικότητα αυτή την ένδειξη. 366 00:17:43,670 --> 00:17:47,955 Αλλά προφανώς, μπορείτε πραγματικά να αποκτήσετε έναν κωδικό κατάστασης του είμαι 367 00:17:47,955 --> 00:17:51,400 μια τσαγιέρα με κάποιο τρόπο μέσω κάνουμε κάτι. 368 00:17:51,400 --> 00:17:54,480 Έτσι, υπάρχει και εκατοντάδες εκατοντάδες των κωδικών κατάστασης. 369 00:17:54,480 --> 00:17:56,730 >> Μερικοί απ 'αυτούς κάνουν περισσότερα αίσθηση από ό, τι άλλοι. 370 00:17:56,730 --> 00:18:01,430 Αλλά λίγο πολύ απλά συμβολαίου τον εαυτό σας με τις πιο συνηθισμένες. 371 00:18:01,430 --> 00:18:04,090 Η ζητούμενη σώμα οντότητα σύντομη και stout, προφανώς. 372 00:18:04,090 --> 00:18:07,990 >> Έτσι, μερικές φορές υπάρχουν περισσότερα τρομακτικό λάθη από ό, τι είμαι τσαγιέρα. 373 00:18:07,990 --> 00:18:11,210 Αλλά αυτό είναι κάτι που υποθέτω κατά κάποιο τρόπο ελπίζουμε να χτυπήσει. 374 00:18:11,210 --> 00:18:14,130 Αλλά δεν νομίζω ότι θα σας. 375 00:18:14,130 --> 00:18:17,260 Όλοι καλή κατάσταση για λίγο κώδικες, τα αιτήματα, τις διαδικασίες, τη διαδικασία λήψης 376 00:18:17,260 --> 00:18:19,155 βεβαιωθείτε ότι τα στοιχεία παραδίδονται σωστά; 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Έτσι, τώρα θα πάμε να μετάβαση σε ένα διασκεδαστικό μέρος του τμήματος σήμερα, 379 00:18:26,120 --> 00:18:28,500 όπου μπορούμε να μιλήσουμε λίγο για την HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, όλα είναι υπερκειμένου Markup Language. 381 00:18:32,580 --> 00:18:35,160 Είναι ακριβώς η τυπική γλώσσα μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε όλα τα web 382 00:18:35,160 --> 00:18:36,690 σελίδες στο διαδίκτυο. 383 00:18:36,690 --> 00:18:39,560 >> Έτσι, κάθε ιστοσελίδα, τι είναι αγαπημένη σας ιστοσελίδα; 384 00:18:39,560 --> 00:18:40,855 Ποια είναι η αγαπημένη σας ιστοσελίδα; 385 00:18:40,855 --> 00:18:41,771 >> Κοινό: [δεν ακούγεται]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: Συγνώμη; 388 00:18:43,090 --> 00:18:43,980 >> Κοινό: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI PENG: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Έτσι Tumblr είναι γραμμένο σε HTML. 391 00:18:46,800 --> 00:18:50,700 Και έτσι θα πραγματικά να περάσει και παίζουν με μερικά από αυτά τα πράγματα 392 00:18:50,700 --> 00:18:51,980 αργότερα. 393 00:18:51,980 --> 00:18:54,980 Λίγο πολύ όλα όσα πρέπει να μάθουν, να γνωρίζουν, 394 00:18:54,980 --> 00:18:58,540 να γράφεις HTML μπορείτε πιθανώς μόνο το Google στο διαδίκτυο. 395 00:18:58,540 --> 00:19:04,490 >> HTML, δεν είναι ένα πρόγραμμα όπως η C όπου μπορείτε να δημιουργήσετε μεταβλητές και να κάνουμε 396 00:19:04,490 --> 00:19:05,600 δροσερά πράγματα με αυτό. 397 00:19:05,600 --> 00:19:08,747 Είναι περισσότερο από ακριβώς, ω, αυτό είναι το πώς θα θέλουν τα πράγματα να εμφανίζονται στην ιστοσελίδα μου. 398 00:19:08,747 --> 00:19:10,080 Και είμαι απλώς πρόκειται να το βάλετε σε. 399 00:19:10,080 --> 00:19:12,160 Και πρόκειται να το στυλ. 400 00:19:12,160 --> 00:19:15,650 >> Έτσι, HTML, κατά μία έννοια, είναι ακριβώς όπως μια μορφοποίηση ή πρότυπο γλώσσας. 401 00:19:15,650 --> 00:19:16,680 Είναι πολύ πιο εύκολο. 402 00:19:16,680 --> 00:19:19,030 Είναι πολύ πιο εύκολο να μάθουν, πολύ πιο εύκολο να γράψει στο 403 00:19:19,030 --> 00:19:21,450 ό, τι τυπικό προγραμματισμό σας γλώσσα, είναι πολύ εύκολο, 404 00:19:21,450 --> 00:19:24,310 προσιτό και πολύ φιλική. 405 00:19:24,310 --> 00:19:29,040 >> Έτσι, είμαστε πραγματικά πρόκειται να παίξει γύρω, γράψτε δική μας σελίδες σήμερα. 406 00:19:29,040 --> 00:19:32,900 Αλλά πριν ξεκινήσουμε, θα ήθελα απλώς να πάει πέρα ​​από κάποιες σύντομες βέλτιστες πρακτικές. 407 00:19:32,900 --> 00:19:35,660 Επειδή HTML είναι τόσο εύκολο γλώσσα και επειδή ακόμη 408 00:19:35,660 --> 00:19:39,012 Αν κάνετε μια-δυο πράγματα λάθος, μερικές φορές μπορεί να μην παρατηρήσετε, 409 00:19:39,012 --> 00:19:41,970 θέλουμε να διασφαλίσουμε ότι είμαστε στην πραγματικότητα ακολουθώντας τις βέλτιστες πρακτικές μας 410 00:19:41,970 --> 00:19:44,490 για να βεβαιωθείτε ότι τα πράγματα που θα μπορούσε να πηγαίνει γύρω, αλλά 411 00:19:44,490 --> 00:19:49,660 Δεν πρόκειται πάντα για να μην πάει δεξιά βεβαιωθείτε ότι είμαστε ελαχιστοποιείται. 412 00:19:49,660 --> 00:19:53,570 >> Έτσι, λίγο πολύ, βεβαιωθείτε κλείνοντας όλα τα tags σας σας 413 00:19:53,570 --> 00:19:54,737 όταν γράφετε σε μορφή HTML. 414 00:19:54,737 --> 00:19:56,486 Εάν το άνοιγμα σώμα, βεβαιωθείτε ότι είστε 415 00:19:56,486 --> 00:19:58,015 κλείνοντας με ένα σώμα κάπου. 416 00:19:58,015 --> 00:20:00,720 Θέλετε να βεβαιωθείτε ότι σας ιστοσελίδας επικυρώνει χρησιμοποιώντας 417 00:20:00,720 --> 00:20:02,070 ό, τι λέγεται η W3 επικύρωσης. 418 00:20:02,070 --> 00:20:05,460 Μπορείτε μόνο το Google ώστε online, και υπάρχει μια σύνδεση με αυτό. 419 00:20:05,460 --> 00:20:07,820 >> Και τότε θα θέλετε να ξεχωριστό HTML, η οποία 420 00:20:07,820 --> 00:20:13,060 είναι η γλώσσα σήμανσης σας από το ύφος σας, που είναι η γλώσσα του CSS ότι ο David 421 00:20:13,060 --> 00:20:17,510 έδειξε ότι είμαστε επίσης πρόκειται να παίξει λίγο με διάλεξη. 422 00:20:17,510 --> 00:20:19,120 Δροσερός. 423 00:20:19,120 --> 00:20:23,500 Έτσι, κάθε φορά που θέλετε να εκτελέσετε HTML στη συσκευή CS50, 424 00:20:23,500 --> 00:20:26,240 θα πάμε για να τρέξει ένα πρόγραμμα που ονομάζεται Apache, 425 00:20:26,240 --> 00:20:29,810 τα οποία όλα είναι απλά ένα ενσωματωμένο στο web server ότι όλοι στην CS50 426 00:20:29,810 --> 00:20:31,410 έχει πρόσβαση. 427 00:20:31,410 --> 00:20:35,700 Καλούμε το apache50 μόνο και μόνο επειδή ήθελα να καλέσω όλα 50 σε CS50. 428 00:20:35,700 --> 00:20:39,610 >> Έτσι, ο τρόπος που θα ξεκινήσετε το web CS50 server είναι πληκτρολογώντας στην εντολή σας 429 00:20:39,610 --> 00:20:42,860 γραμμή apache50 ξεκινήσει τελεία. 430 00:20:42,860 --> 00:20:46,665 Και αν θέλετε να τελειώσει σε οποιοδήποτε ώρα, μπορείτε να apache50 δεν λήγει τελεία. 431 00:20:46,665 --> 00:20:47,910 Και μπορείτε απλά να πατήσετε Enter. 432 00:20:47,910 --> 00:20:50,810 Και θα πρέπει να είναι τίτλος εδώ σύντομα. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Ναι. 435 00:20:54,130 --> 00:20:58,110 Έτσι, είμαι απλώς πρόκειται να πάει γρήγορα πάνω ένα παράδειγμα ενός πραγματικά σύντομη ιστοσελίδας. 436 00:20:58,110 --> 00:21:00,280 Και θα πάμε να δαπανήσει όπως 10, 15 λεπτά παίζοντας 437 00:21:00,280 --> 00:21:04,008 γύρω από τη σύνταξη του δικού μας ιστοσελίδες. 438 00:21:04,008 --> 00:21:05,320 ΕΝΤΆΞΕΙ. 439 00:21:05,320 --> 00:21:07,841 Έτσι, εδώ στο IDE-- μπορεί να δει ότι ο καθένας; 440 00:21:07,841 --> 00:21:08,340 Όχι ακριβώς. 441 00:21:08,340 --> 00:21:11,400 Εδώ, θα μεγεθύνετε. 442 00:21:11,400 --> 00:21:15,850 >> Έχω μόλις πήρε αυτή τη σύντομη πρότυπο εδώ με τίποτα πραγματικά σε αυτό. 443 00:21:15,850 --> 00:21:20,660 Είμαστε ακριβώς πρόκειται να γράψει γρήγορα ένα πρόγραμμα HTML στην οποία εμείς απλά 444 00:21:20,660 --> 00:21:22,050 να πω γεια στον κόσμο. 445 00:21:22,050 --> 00:21:24,970 Έτσι ίδιο πράγμα όπως στη C, τώρα είμαστε ακριβώς πρόκειται να το κάνει σε μορφή HTML. 446 00:21:24,970 --> 00:21:28,250 Υπάρχει κάποιος που θέλει πραγματικά να μόνο δοκιμάστε να μου δίνετε το πρώτο πράγμα που 447 00:21:28,250 --> 00:21:31,870 θα πρέπει να τεθεί σε ένα έγγραφο HTML; 448 00:21:31,870 --> 00:21:32,850 Ναι. 449 00:21:32,850 --> 00:21:35,965 >> Κοινό: Οι παρενθέσεις, η [δεν ακούγεται]. 450 00:21:35,965 --> 00:21:36,590 ANDI PENG: Ναι. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Έτσι, κάτι που είναι πολύ μοναδικό σε HTML που έχουμε συνήθως κατά παράδοση 453 00:21:50,930 --> 00:21:56,080 δεν αντιμετωπίζουν σε άλλες εντολή γλώσσες προγραμματισμού επίπεδο γραμμής 454 00:21:56,080 --> 00:21:59,890 είναι ότι στην πραγματικότητα να καθορίσετε τον τύπο του αρχείου 455 00:21:59,890 --> 00:22:01,987 ότι αυτό πρόκειται να είναι στην κορυφή του κώδικά μας. 456 00:22:01,987 --> 00:22:04,570 Έτσι σε αυτό το instance-- νομίζω αυτή είναι η σωστή εντολή, σωστά; 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Ναι. 459 00:22:10,550 --> 00:22:14,860 Στην κορυφή, απλά θέλετε να συμπεριλάβετε Έκρηξη DOCTYPE html σε παρένθεση μόνο 460 00:22:14,860 --> 00:22:17,670 για να πείτε στον υπολογιστή σας, hey, να κοιτάξει έξω. 461 00:22:17,670 --> 00:22:20,050 Και HTML έγγραφο έρχεται. 462 00:22:20,050 --> 00:22:22,250 Και τότε πώς θέλουμε για να ξεκινήσει το αρχείο μας; 463 00:22:22,250 --> 00:22:25,540 Αν θέλουμε απλώς να πω ένα γεια, έχουν web σελίδα που λέει γειά σου στον κόσμο, 464 00:22:25,540 --> 00:22:26,915 πώς θα πάτε για την οικοδόμηση αυτό; 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> Στην πραγματικότητα, ας γυρίσουμε στο Google. 467 00:22:35,300 --> 00:22:36,910 Και μπορούμε να το κάνουμε πραγματικότητα αυτό. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Ναι. 470 00:22:43,670 --> 00:22:44,840 Εκεί πάμε. 471 00:22:44,840 --> 00:22:47,630 Έτσι HTML. 472 00:22:47,630 --> 00:22:52,390 Όπως μπορείτε να δείτε, το πρόγραμμα περιήγησης μου είναι στην πραγματικότητα αυτόματα styling αυτό για μένα. 473 00:22:52,390 --> 00:22:56,010 >> Το ίδιο πράγμα όπως στη C, όταν τη δημιουργία ενός ανοικτού σγουρά στήριγμα, 474 00:22:56,010 --> 00:22:59,020 Ο περιηγητής σας αυτόματα προσθέτει σε μια στενή σγουρά στήριγμα. 475 00:22:59,020 --> 00:23:02,210 Ευτυχώς, IDE μας αγαπά να το κάνει αυτό για εμάς. 476 00:23:02,210 --> 00:23:05,490 Έτσι τώρα μπορούμε να το είδος του τύπου η αρχή μιας ετικέτας, 477 00:23:05,490 --> 00:23:09,139 και πρόκειται να μας πει πάντα να θυμηθείτε να πληκτρολογήσετε το τέλος της ετικέτας. 478 00:23:09,139 --> 00:23:10,680 Νομίζω ότι αυτό πρέπει να κεφαλαιοποιούνται. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Και μετά θέλουμε να προσθέσουμε, πάντα, μία κεφαλή στην οποία είναι ο τίτλος. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Εμείς απλά θέλουμε να καλέσετε ίσως γεια αυτή, και στη συνέχεια το σώμα. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Και εκεί θα πάτε. 485 00:23:36,310 --> 00:23:39,650 Αυτό είναι στην πραγματικότητα το έγγραφο HTML μας. 486 00:23:39,650 --> 00:23:45,030 Έτσι, ο τρόπος που κάθε έγγραφο HTML είναι πάντα στιλ in-- ίδιο πράγμα 487 00:23:45,030 --> 00:23:46,720 με int main άκυρη. 488 00:23:46,720 --> 00:23:49,600 Μπορείτε πάντα θέλουν να έχουν HTML μια ανοικτή και στενή ετικέτα 489 00:23:49,600 --> 00:23:52,100 στην κορυφή και στο κάτω μέρος του κωδικού σας. 490 00:23:52,100 --> 00:23:56,900 >> Θέλετε να έχετε ένα κεφάλι μέσα το οποίο περιέχει τον τίτλο, ακριβώς ό, τι 491 00:23:56,900 --> 00:24:01,430 πρόκειται να εμφανιστεί η καρτέλα του web σας σελίδα, και στη συνέχεια ένα σώμα μέσα από τα οποία 492 00:24:01,430 --> 00:24:04,120 θα εμφανιστεί στην πραγματικότητα το περιεχόμενο από ό, τι θέλετε να κάνετε. 493 00:24:04,120 --> 00:24:08,220 Έτσι, αν θέλετε να τρέξετε στην πραγματικότητα αυτό, Πάω να μεγεθύνετε έξω. 494 00:24:08,220 --> 00:24:12,740 Μπορείτε πραγματικά να αρχίσετε apache50 ξεκινήσει τελεία. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Δροσερός. 497 00:24:16,150 --> 00:24:18,980 Και έτσι όπως μπορείτε να δείτε, τώρα αυτός ο σύνδεσμος έχει σκάσει επάνω. 498 00:24:18,980 --> 00:24:21,940 Λέει το site σας είναι τώρα διαθέσιμο σε κάποιο παρακάτω σύνδεσμο. 499 00:24:21,940 --> 00:24:25,910 Έτσι, όλα τα IDE μας έχει done-- Δεν IDE, sorry-- ναι, 500 00:24:25,910 --> 00:24:33,280 IDE μας έχει κάνει είναι να δημιουργήσετε ένα web σύνδεσμος κατά την οποία όλες τις ιστοσελίδες μας 501 00:24:33,280 --> 00:24:35,407 Μπορείτε να έχετε πρόσβαση στο διακομιστή. 502 00:24:35,407 --> 00:24:36,490 Έτσι, ας ρίξουμε μια ματιά εδώ. 503 00:24:36,490 --> 00:24:40,240 >> Ας κλικ σε αυτό, πηγαίνετε στο hello.html. 504 00:24:40,240 --> 00:24:42,895 Και θα δείτε μια πολύ απλή ιστοσελίδα για την hello world. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 ΕΝΤΆΞΕΙ. 507 00:24:47,420 --> 00:24:50,513 Είμαστε στην πραγματικότητα πρόκειται για απλά έχουν everyone-- ναι, τι συμβαίνει; 508 00:24:50,513 --> 00:24:52,353 >> Κοινό: Έχω ένα βασικό ερώτημα. 509 00:24:52,353 --> 00:24:52,978 ANDI PENG: Yup. 510 00:24:52,978 --> 00:24:58,064 Κοινό: Πώς μπορείτε να αποθηκεύσετε το αρχείο σας ως αρχείο HTML; 511 00:24:58,064 --> 00:24:58,730 ANDI PENG: Ναι. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Έτσι, αν ήμουν στη θέση να δημιουργήσετε ένα νέο αρχείο, αν το κάνω νέου αρχείου, Untittle, αν το κάνω, 514 00:25:10,820 --> 00:25:14,390 section.html, έκρηξη, αυτό είναι το μόνο που έχω να κάνω. 515 00:25:14,390 --> 00:25:15,363 >> Κοινό: [δεν ακούγεται]; 516 00:25:15,363 --> 00:25:15,946 ANDI PENG: Όχι. 517 00:25:15,946 --> 00:25:16,660 Κοινό: [δεν ακούγεται]. 518 00:25:16,660 --> 00:25:17,240 ANDI PENG: Όχι. 519 00:25:17,240 --> 00:25:18,156 Κοινό: [δεν ακούγεται]. 520 00:25:18,156 --> 00:25:19,110 ANDI PENG: Ναι. 521 00:25:19,110 --> 00:25:24,300 Λίγο πολύ, η επέκταση το αρχείο που είναι μέσα σας IDE, 522 00:25:24,300 --> 00:25:27,840 ότι λέει στον υπολογιστή, ότι λέει το πρόγραμμα περιήγησης, hey, κοίτα έξω. 523 00:25:27,840 --> 00:25:30,480 Αυτό πρόκειται να είναι κωδικός γραμμένα σε αυτή τη γλώσσα. 524 00:25:30,480 --> 00:25:34,240 Έτσι, για παράδειγμα, στο Microsoft Word, τι κάνουν όλα τα έγγραφα του Word 525 00:25:34,240 --> 00:25:37,070 τελειώνουν με, τι παράταση; 526 00:25:37,070 --> 00:25:39,830 .doc ή .docx, σωστά; 527 00:25:39,830 --> 00:25:42,299 >> Το μόνο που κάνει είναι να διευκρινίζει του λειτουργικού σας συστήματος, hey, 528 00:25:42,299 --> 00:25:43,840 έχετε ένα έγγραφο του Word να ανεβαίνει. 529 00:25:43,840 --> 00:25:44,940 Ανοίξτε το με το Word. 530 00:25:44,940 --> 00:25:46,955 Το ίδιο πράγμα με αρχεία PDF. 531 00:25:46,955 --> 00:25:49,650 Γνωρίζει, OH, χρειάζομαι να ανοίξουν αυτό το αρχείο 532 00:25:49,650 --> 00:25:52,020 με το Adobe Reader ή Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Και έτσι λειτουργεί ο επεκτάσεις ίδιο τρόπο όπως και στον υπολογιστή σας. 534 00:25:56,130 --> 00:26:00,750 Αν έχετε ορίσει κωδικό σας σελίδα να ονομαστεί HTML, τότε ξέρει, 535 00:26:00,750 --> 00:26:01,880 Ω, έχεις κώδικα HTML. 536 00:26:01,880 --> 00:26:04,890 Πάω να την αντιμετωπίσουμε ως κώδικα HTML. 537 00:26:04,890 --> 00:26:06,600 Έτσι είναι πανέξυπνο με αυτή την έννοια. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Έτσι, ο καθένας, ας πάρουμε σαν 10 λεπτά και μόλις δημιουργήσετε τις δικές μας ιστοσελίδες. 540 00:26:18,730 --> 00:26:21,020 Ας προσθέσουμε στα υπέροχα πράγματα. 541 00:26:21,020 --> 00:26:23,440 Νιώστε ελεύθεροι να πείτε ό, τι θέλετε. 542 00:26:23,440 --> 00:26:27,890 Θέλω μόνο να βεβαιωθείτε ότι Οι διακομιστές του καθενός λειτουργεί σωστά 543 00:26:27,890 --> 00:26:31,220 πριν σας ελευθερώσει στη PSET. 544 00:26:31,220 --> 00:26:33,490 Διότι, αν οι διακομιστές σας Δεν τρέχει για την PSET, 545 00:26:33,490 --> 00:26:34,847 ότι θα είναι πραγματικά, πραγματικά κακός. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Είμαι ακριβώς πρόκειται να επιπλέουν γύρω και να δούμε τι ο καθένας εργάζεται πάνω. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Πώς πάει? 550 00:27:27,590 --> 00:27:29,048 >> Κοινό: Γύρισα μόλις στον υπολογιστή μου. 551 00:27:29,048 --> 00:27:29,923 >> ANDI PENG: Αυτό είναι ΟΚ. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> Κοινό: [δεν ακούγεται]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI PENG: Απλά IDE σας. 555 00:27:44,284 --> 00:27:44,784 Ναι. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> Κοινό: [δεν ακούγεται]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI PENG: Είναι εντάξει. 559 00:27:57,590 --> 00:27:59,491 >> Κοινό: [δεν ακούγεται]. 560 00:27:59,491 --> 00:28:00,490 ANDI PENG: Απόλυτα πρόστιμο. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Είναι όλοι πρόσβαση web server τους εντάξει; 563 00:28:51,530 --> 00:28:52,970 Είναι apache50 τρέχει εντάξει; 564 00:28:52,970 --> 00:28:54,700 Νομίζω ότι σε ορισμένες από τα άλλα τμήματα, εμείς 565 00:28:54,700 --> 00:28:58,790 είχε προβλήματα με τους ανθρώπους που δεν να είναι σε θέση να έχουν πρόσβαση στο διακομιστή. 566 00:28:58,790 --> 00:28:59,290 Ναι. 567 00:28:59,290 --> 00:29:05,764 Έτσι, μπορείτε απλά τρέξτε apache50 χώρο αρχίσει περίοδος χώρο. 568 00:29:05,764 --> 00:29:06,680 Κοινό: [δεν ακούγεται]. 569 00:29:06,680 --> 00:29:07,610 ANDI PENG: Yup. 570 00:29:07,610 --> 00:29:08,294 Καλός? 571 00:29:08,294 --> 00:29:09,210 >> Κοινό: [δεν ακούγεται]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI PENG: Ω, εντάξει. 574 00:29:13,350 --> 00:29:14,808 Έτσι, είστε υποτίθεται για να έχουν ένα χώρο. 575 00:29:14,808 --> 00:29:15,425 Έτσι apache50-- 576 00:29:15,425 --> 00:29:16,115 >> Κοινό: έκανα. 577 00:29:16,115 --> 00:29:17,661 >> ANDI PENG: --start χώρο. 578 00:29:17,661 --> 00:29:18,660 Κοινό: Ω, χώρος τελεία. 579 00:29:18,660 --> 00:29:20,110 ANDI PENG: Yup, χώρος τελεία. 580 00:29:20,110 --> 00:29:23,230 Ορίστε. 581 00:29:23,230 --> 00:29:25,490 Έτσι, στη συνέχεια, αν έχετε μια σελίδα HTML που δημιουργήθηκε, 582 00:29:25,490 --> 00:29:28,560 τότε μπορείτε απλά να πάτε απευθείας στο σύνδεσμο που καθορίζει. 583 00:29:28,560 --> 00:29:30,539 Και θα πρέπει να είναι σε θέση να έχουν πρόσβαση. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Ο καθένας ήταν σε θέση να πρόσβαση σε ιστοσελίδες τους εντάξει; 586 00:29:37,876 --> 00:29:39,339 >> Κοινό: [δεν ακούγεται]. 587 00:29:39,339 --> 00:29:40,380 ANDI PENG: Ω, αυτό είναι εντάξει. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> Κοινό: [δεν ακούγεται]. 590 00:29:44,964 --> 00:29:45,630 ANDI PENG: Ναι. 591 00:29:45,630 --> 00:29:48,171 Νομίζω ότι μπορείτε πραγματικά να ανοίξετε εντός του προγράμματος περιήγησης, το πρόγραμμα περιήγησης 592 00:29:48,171 --> 00:29:49,955 και όχι μόνο το πρόγραμμα περιήγησης σας IDE. 593 00:29:49,955 --> 00:29:51,580 Ναι, νομίζω ότι αν αντιγραφή και επικόλληση. 594 00:29:51,580 --> 00:29:53,920 >> Κοινό: Και στη συνέχεια, πώς μπορούμε να το κλείσετε; 595 00:29:53,920 --> 00:29:54,590 [ΜΗ ΑΚΟΥΣΤΌΣ] 596 00:29:54,590 --> 00:29:58,720 >> ANDI PENG: Ναι, το κάνετε apache50 σταματήσει χωρίς περίοδο. 597 00:29:58,720 --> 00:29:59,220 Ναι. 598 00:29:59,220 --> 00:30:01,180 >> Κοινό: [δεν ακούγεται]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI PENG: Χωρίς περίοδο. 600 00:30:02,768 --> 00:30:04,051 Ναι. 601 00:30:04,051 --> 00:30:04,550 Εκεί πάμε. 602 00:30:04,550 --> 00:30:05,050 Ναι. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Είμαστε δημιουργώντας τις δικές μας ιστοσελίδες. 605 00:30:09,855 --> 00:30:10,646 >> Κοινό: Ω, δροσερό. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI PENG: Ναι. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> Κοινό: Έχω μια ερώτηση. 610 00:30:22,420 --> 00:30:25,294 Έτσι apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI PENG: 50, ναι. 612 00:30:26,731 --> 00:30:28,168 >> Κοινό: [δεν ακούγεται]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI PENG: Τι; 614 00:30:29,130 --> 00:30:29,750 Αυτό είναι παράξενο. 615 00:30:29,750 --> 00:30:32,244 Βλέπε, ότι ήταν το είδος του θέματος ότι συνέβαινε πριν. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 ΕΝΤΆΞΕΙ. 618 00:30:38,730 --> 00:30:39,800 Δείτε μένα μετά ενότητα. 619 00:30:39,800 --> 00:30:42,320 Επειδή έχουν κάποια προβλήματα με τον server. 620 00:30:42,320 --> 00:30:44,325 >> Και θέλετε να κάνετε βεβαιωθείτε ότι ο διακομιστής σας είναι 621 00:30:44,325 --> 00:30:45,700 τρέχει πριν από την έναρξη του το chipset. 622 00:30:45,700 --> 00:30:47,800 Επειδή πρόκειται να το χρειαστείτε. 623 00:30:47,800 --> 00:30:48,300 Ναι. 624 00:30:48,300 --> 00:30:51,299 Υπάρχει κανείς άλλος που δεν ήταν εκεί είναι σε θέση να πάρει τους server για να ξεκινήσετε; 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Για όσους από εσάς θέλετε να προσθέσετε επιπλέον στυλ στις ιστοσελίδες σας, 627 00:31:17,840 --> 00:31:20,450 μπορούμε να κάνουμε πραγματικά ό, τι Ο David έκανε στην ομιλία καθώς και, 628 00:31:20,450 --> 00:31:24,070 η οποία είναι να δημιουργήσετε ένα πρόσθετο στυλ φύλλο, το οποίο είναι ένα CSS τελεία, με υπερχείλιση 629 00:31:24,070 --> 00:31:30,080 Στυλ Φύλλο και στην πραγματικότητα απλά προσθέστε στο. 630 00:31:30,080 --> 00:31:33,550 Έτσι, για παράδειγμα, έχω μόλις δημιουργήσατε λίγο πολύ σχεδόν το ίδιο ακριβώς ένα 631 00:31:33,550 --> 00:31:37,180 Ο David έκανε στη διάλεξη. 632 00:31:37,180 --> 00:31:39,220 Μπορείτε λίγο πολύ ακριβώς κάνει το σώμα. 633 00:31:39,220 --> 00:31:45,980 >> Έχετε ό, τι καλούνται ετικέτες στις οποίες μπορείτε να εφαρμόσετε σε IDE ανεξάρτητα από το τμήμα 634 00:31:45,980 --> 00:31:48,650 θέλετε μέσα σας πραγματική σε HTML σελίδα. 635 00:31:48,650 --> 00:31:54,890 Έτσι, το σώμα της σελίδας, μπορείτε μπορεί να κάνει το κείμενο Κέντρο Στοίχιση. 636 00:31:54,890 --> 00:31:58,110 Και τότε θα δημιουργικός μια ετικέτα που ονομάζεται κορυφή μέσα 637 00:31:58,110 --> 00:32:01,860 εκ των οποίων θέλω αυτά τα πράγματα να να συμβεί, να ορίσετε ένα μεγαλύτερο μέγεθος pixel 638 00:32:01,860 --> 00:32:03,104 για τη γραμματοσειρά. 639 00:32:03,104 --> 00:32:04,520 Θέλω το βάρος της γραμματοσειράς να είναι τολμηρή. 640 00:32:04,520 --> 00:32:06,478 Και θέλω να το χρώμα είναι μπλε, λίγο αυθαίρετο 641 00:32:06,478 --> 00:32:08,570 αξίες που αποφάσισα να επιλέξετε. 642 00:32:08,570 --> 00:32:10,870 Μπορώ να δημιουργήσω μια άλλη ετικέτα που ονομάζεται μέση. 643 00:32:10,870 --> 00:32:12,640 Μέγεθος γραμματοσειράς, το κάνουν ένα λίγο μικρότερο. 644 00:32:12,640 --> 00:32:17,730 Και τότε μπορώ να δημιουργήσω μια άλλη ετικέτα που ονομάζεται κάτω όπου θέλω το μέγεθος της γραμματοσειράς 645 00:32:17,730 --> 00:32:20,900 να είναι ακόμη μικρότερη ακόμα. 646 00:32:20,900 --> 00:32:25,630 >> Και έτσι λίγο πολύ αυτό είναι μόνο παράδειγμα του πηγαίου κώδικα ή κώδικα φύλλα στυλ 647 00:32:25,630 --> 00:32:27,400 ότι είναι πολύ εύκολο να απλά το Google. 648 00:32:27,400 --> 00:32:31,560 Εάν λέτε, OH, θέλω γραμματοσειρά μου να είναι πλάγια και σκούρο πράσινο, 649 00:32:31,560 --> 00:32:33,980 μπορείτε πιθανώς να το Google, και τότε θα σας πω 650 00:32:33,980 --> 00:32:37,590 οι κατάλληλες ετικέτες ή τα αναγνωριστικά για να δημιουργήσετε. 651 00:32:37,590 --> 00:32:41,670 Και έτσι ο τρόπος που θα πραγματικά είδος έχει αυτό σε ένα έγγραφο HTML 652 00:32:41,670 --> 00:32:45,660 ή να το χρησιμοποιήσετε είναι το μόνο που έχετε να κάνουμε εδώ είναι επικεφαλής 653 00:32:45,660 --> 00:32:48,560 προσθέσετε ένα σύνδεσμο με το φύλλο στυλ. 654 00:32:48,560 --> 00:32:53,600 >> Έτσι, μπορείτε να συνδέσετε μόνο href ίσων ανεξάρτητα από το όνομα του φύλλου στυλ σας 655 00:32:53,600 --> 00:32:54,590 είναι. 656 00:32:54,590 --> 00:32:56,740 Και τότε η σχέση είναι ένα φύλλο στυλ. 657 00:32:56,740 --> 00:33:00,700 Έτσι, μέσα σε οποιοδήποτε έγγραφο HTML, εφ ' όπως μπορείτε να συμπεριλάβετε το φυλλάδιο με CSS τελεία, 658 00:33:00,700 --> 00:33:07,140 θα πρέπει να είναι σε θέση να έχουν πρόσβαση σε και έχουν τις ιδιότητες εκεί. 659 00:33:07,140 --> 00:33:10,370 >> Έτσι, για παράδειγμα, εδώ έχω μόνο δημιουργήσετε μια άλλη ιστοσελίδα παράδειγμα. 660 00:33:10,370 --> 00:33:15,680 Αυτό είναι ευπρόσδεκτοι να ενότητα CS50 Τρίτη 2:00 - 3:30 με μένα. 661 00:33:15,680 --> 00:33:20,300 Και τότε έχω προσθέσει μία υπέροχη εικόνας που που ενδεχομένως θα πρέπει να είναι σε θέση να δουν. 662 00:33:20,300 --> 00:33:24,620 >> Έτσι, αν ρίξετε μια ματιά εδώ, αν πάτε να style.html, 663 00:33:24,620 --> 00:33:26,310 δημιουργήσαμε μια ιστοσελίδα με τα γατάκια. 664 00:33:26,310 --> 00:33:29,420 Επειδή το γατάκι είναι φοβερό. 665 00:33:29,420 --> 00:33:33,570 Έτσι, προσθέτοντας μια εικόνα ακριβώς img SRC σύνδεσμο. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Λίγο πολύ, αν υπάρχει κάθε είδους χαρακτηριστικό 668 00:33:38,310 --> 00:33:40,268 Θέλετε να προσθέσετε σας website-- οπότε ας πούμε, 669 00:33:40,268 --> 00:33:43,290 Θέλετε να προσθέσετε ένα μενού ή μια γραμμή αναζήτησης ή παρόμοια 670 00:33:43,290 --> 00:33:46,450 ένα image-- μόνο το Google πώς να το κάνουμε αυτό. 671 00:33:46,450 --> 00:33:48,277 Και απλά γδούπο σε αυτή τη μορφή. 672 00:33:48,277 --> 00:33:50,110 Και μπορείτε απλά όμορφο πολύ απλά προσθέστε στο. 673 00:33:50,110 --> 00:33:52,670 Είναι πραγματικά, πραγματικά εύκολο. 674 00:33:52,670 --> 00:33:55,014 >> Δημιουργούμε το δικό μας ιστοσελίδες τώρα. 675 00:33:55,014 --> 00:33:55,680 Αν θέλεις-- 676 00:33:55,680 --> 00:33:56,580 >> Κοινό: [δεν ακούγεται] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: Συγνώμη; 678 00:33:57,470 --> 00:33:59,310 >> Κοινό: [δεν ακούγεται]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI PENG: Ω, η div είναι απλά ένα τμήμα 680 00:34:01,340 --> 00:34:04,370 λέγοντάς μου ότι, OH, έχω ένα ορισμένο τμήμα που ονομάζεται 681 00:34:04,370 --> 00:34:07,480 μέση στην οποία είμαι εφαρμογή CSS ετικέτα μου, και στη συνέχεια, 682 00:34:07,480 --> 00:34:09,619 άλλο τμήμα μου με το κάτω μέρος. 683 00:34:09,619 --> 00:34:10,785 Αυτό είναι το μόνο που σας λέει. 684 00:34:10,785 --> 00:34:12,743 Επειδή είναι ωραίο να κρατήσει τακτοποιημένο πράγματα σε τάξη, 685 00:34:12,743 --> 00:34:16,304 ώστε το πρόγραμμα να γνωρίζει πώς ακριβώς να τρέξει. 686 00:34:16,304 --> 00:34:18,929 Και πιστεύω ότι μπορώ να αντιγράψετε επικολλήσετε αυτό σε πραγματικές μου browser σας. 687 00:34:18,929 --> 00:34:21,110 Θα πρέπει να είναι μια χαρά. 688 00:34:21,110 --> 00:34:21,610 Ναι. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Yay. 691 00:34:25,989 --> 00:34:29,380 Έτσι, αν ο καθένας θέλει να απλά προσπαθήστε να δημιουργήσετε μια ιστοσελίδα, 692 00:34:29,380 --> 00:34:32,169 θα πάρουμε ένα άλλο δύο έως τρία λεπτά. 693 00:34:32,169 --> 00:34:34,460 Θέλω μόνο να βεβαιωθείτε Οι διακομιστές του καθενός τρέχει 694 00:34:34,460 --> 00:34:36,941 και ο καθένας έχει μια ιδέα για το πώς να το κάνουμε αυτό. 695 00:34:36,941 --> 00:34:38,774 Αν εσείς θέλετε να βγάλτε τους υπολογιστές σας. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Ακόμα δεν λειτουργεί; 698 00:34:45,635 --> 00:34:47,420 >> Κοινό: Είμαι απλά [δεν ακούγεται]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: Ίσως προσπαθήσουμε να ενημερώσετε 50, καθώς και. 700 00:34:49,838 --> 00:34:51,392 Ναι. 701 00:34:51,392 --> 00:34:52,308 Κοινό: [δεν ακούγεται]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI PENG: Ναι. 704 00:35:18,990 --> 00:35:23,750 Έτσι, ο τρόπος που θα ξεκινήσετε μια νέα web server στο IDE είναι μόνο 705 00:35:23,750 --> 00:35:27,889 κάνει apache50 έναρξη space space τελεία. 706 00:35:27,889 --> 00:35:30,430 Ήθελα απλώς να βεβαιωθείτε Οι διακομιστές όλοι τρέχουν στο OK. 707 00:35:30,430 --> 00:35:31,763 >> Κοινό: Εδώ, στο τερματικό; 708 00:35:31,763 --> 00:35:33,334 ANDI PENG: Ναι. 709 00:35:33,334 --> 00:35:34,250 Κοινό: [δεν ακούγεται]. 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI PENG: Apache. 712 00:35:38,985 --> 00:35:42,010 Στην πραγματικότητα, νομίζω ότι είσαι τρέχει κάτι ήδη. 713 00:35:42,010 --> 00:35:43,145 Ναι, είστε πραγματικά τρέχει ένα διαφορετικό διακομιστή. 714 00:35:43,145 --> 00:35:43,830 Ναι, είσαι καλός. 715 00:35:43,830 --> 00:35:45,085 Εφ 'όσον αυτό δουλεύει, είσαι ΟΚ. 716 00:35:45,085 --> 00:35:45,626 >> Κοινό: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI PENG: Υπάρχουν δύο τρόπους για να τρέξει διακομιστές. 718 00:35:47,615 --> 00:35:49,990 Έτσι εφ 'όσον ένας από τους τρόπους εργάζεται, είναι εντάξει. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Θα πάρουμε άλλο ένα λεπτό ακριβώς το είδος της τελειώσουμε 721 00:36:21,680 --> 00:36:25,280 οι τελευταίες πινελιές ανεξαρτήτως Η ιστοσελίδα σας παιδιά ήθελα να κάνω. 722 00:36:25,280 --> 00:36:26,830 >> Είναι όλοι όσοι εργάζονται από το δρόμο; 723 00:36:26,830 --> 00:36:30,910 Όλοι οι διακομιστές είναι τρέχει εκτός για τα δικά σας; 724 00:36:30,910 --> 00:36:32,210 Θα καταλάβω. 725 00:36:32,210 --> 00:36:34,137 Και HTML είναι αρκετά απλή. 726 00:36:34,137 --> 00:36:35,220 Έτσι, νομίζω ότι είμαστε όλοι καλά. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Ναι. 729 00:36:38,760 --> 00:36:41,070 Θα επανέλθω. 730 00:36:41,070 --> 00:36:42,797 >> Κοινό: [δεν ακούγεται]. 731 00:36:42,797 --> 00:36:43,380 ANDI PENG: OK. 732 00:36:43,380 --> 00:36:44,770 Κοινό: Έτσι είναι ακριβώς άρχισε να φορτώσει. 733 00:36:44,770 --> 00:36:45,686 ANDI PENG: Δεν ανησυχεί. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Έτσι HTML, εκεί τον πηγαίο κώδικα που θα είναι σε απευθείας σύνδεση, μετά το τμήμα. 736 00:36:52,680 --> 00:36:54,810 Επίσης, ο David έχει ένα ολόκληρο μάτσο σε απευθείας σύνδεση, καθώς και. 737 00:36:54,810 --> 00:36:58,190 Ακριβώς το είδος του ματιά πάνω σε να δούμε πώς γράφονται σελίδες HTML. 738 00:36:58,190 --> 00:36:59,920 Είναι αρκετά εύκολο. 739 00:36:59,920 --> 00:37:03,979 Οτιδήποτε δεν ξέρετε, έχετε αρκετά πολύ απλά το Google και είστε καλοί. 740 00:37:03,979 --> 00:37:06,270 Θέλω μόνο να βεβαιωθείτε ότι Οι διακομιστές σας που τρέχει. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Κοινό: Μήπως να το κάνουμε αυτό συχνά; 743 00:37:14,880 --> 00:37:16,421 >> ANDI PENG: Έχει συμβεί ποτέ σε μένα. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Δεν ήξερα ότι θα μπορούσε ακόμη και αδρανοποίησης. 746 00:37:20,782 --> 00:37:22,516 >> Κοινό: [δεν ακούγεται]. 747 00:37:22,516 --> 00:37:25,140 ANDI PENG: Νομίζω everyone-- ορυχείο δεν έχει ποτέ πριν από νάρκη. 748 00:37:25,140 --> 00:37:26,860 Και δεν ξέρω γιατί. 749 00:37:26,860 --> 00:37:27,566 Είναι περίεργο. 750 00:37:27,566 --> 00:37:29,310 >> Κοινό: [δεν ακούγεται]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: Είναι δική σας χειμερία νάρκη; 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> Κοινό: [δεν ακούγεται]. 754 00:37:33,669 --> 00:37:34,335 ANDI PENG: Ναι. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 Κοινό: Είναι εντάξει. 757 00:37:39,872 --> 00:37:40,622 Έτσι, μόλις είναι ανοιχτή. 758 00:37:40,622 --> 00:37:41,760 ANDI PENG: OK. 759 00:37:41,760 --> 00:37:43,940 Θα ασχοληθεί με κάποιο διακομιστή ζητήματα μετά την ενότητα. 760 00:37:43,940 --> 00:37:44,860 Θα πρέπει να είναι μια χαρά. 761 00:37:44,860 --> 00:37:47,950 Παρά το γεγονός ότι, θέλετε να βεβαιωθείτε ότι έχετε να τους πάρει επιλυθεί πριν φύγετε. 762 00:37:47,950 --> 00:37:49,380 Διότι αν ο διακομιστής σας δεν λειτουργεί, τότε είστε 763 00:37:49,380 --> 00:37:52,004 δεν πρόκειται να είναι σε θέση να κάνει η το chipset, όπως και κάθε μέρος του το chipset. 764 00:37:52,004 --> 00:37:54,200 Έτσι θέλετε να είστε σίγουροι ότι δουλεύει. 765 00:37:54,200 --> 00:37:54,831 Δροσερός. 766 00:37:54,831 --> 00:37:55,330 Εντάξει. 767 00:37:55,330 --> 00:37:56,490 Πείτε αντίο γατάκια. 768 00:37:56,490 --> 00:37:59,670 Πέρασα πολύ χρόνο ψάχνοντας για ότι η εικόνα γατάκι να τεθεί σε. 769 00:37:59,670 --> 00:38:02,272 Έτσι, ούτως ή άλλως. 770 00:38:02,272 --> 00:38:04,950 >> Κοινό: [δεν ακούγεται]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: Συγνώμη; 772 00:38:05,770 --> 00:38:07,345 >> Κοινό: [δεν ακούγεται]. 773 00:38:07,345 --> 00:38:08,970 ANDI PENG: Νομίζω ότι είναι στην ιστοσελίδα. 774 00:38:08,970 --> 00:38:11,064 Όπως και το spec; 775 00:38:11,064 --> 00:38:12,020 >> Κοινό: [δεν ακούγεται]. 776 00:38:12,020 --> 00:38:16,080 Νομίζω ότι το spec είναι απλά σε απευθείας σύνδεση στην εβδομάδα επτά. 777 00:38:16,080 --> 00:38:18,850 Νομίζω ότι λέγεται pset6, ακόμη και αν και είμαστε στην εβδομάδα επτά, η οποία 778 00:38:18,850 --> 00:38:19,641 είναι ένα υπολογιστικό κομμάτι. 779 00:38:19,641 --> 00:38:23,130 Κοινό: Αλλά θέλω να πω αν Θέλετε να δείτε αν at-- 780 00:38:23,130 --> 00:38:28,666 Θέλετε να σηκώσει τη δική μας εκδοχή η ιστοσελίδα από την κόβω μας; 781 00:38:28,666 --> 00:38:31,820 Έτσι, όπως είναι η server.c το chipset, έτσι δεν είναι; 782 00:38:31,820 --> 00:38:36,514 Αν θέλετε να εξετάσουμε αυτό το θέμα, όπως το πώς ελέγχει έξω; 783 00:38:36,514 --> 00:38:38,680 ANDI PENG: Ω, έτσι στην πραγματικότητα η το chipset, το μόνο που κάνουμε 784 00:38:38,680 --> 00:38:41,405 εδώ implementing-- εδώ, Θα πάω πάνω από αυτό για λίγο. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Έτσι, για τον καθένα που μόλις πάρει στην ενότητα, εσείς είστε στην τύχη. 787 00:38:47,020 --> 00:38:49,340 Υπάρχει πολύ λίγο υλικό να καλύψει στην πραγματικότητα σήμερα. 788 00:38:49,340 --> 00:38:52,585 >> Είμαι ακριβώς πρόκειται να δαπανήσει το επόμενο 20 λεπτά που πηγαίνει πέρα ​​από το chipset βοήθεια. 789 00:38:52,585 --> 00:38:55,210 Επειδή υπάρχει κάποια χρήσιμα λειτουργίες που θα βοηθήσει τη ζωή σας. 790 00:38:55,210 --> 00:38:57,501 Και ελπίζουμε, θα είμαστε έξω εδώ μέσα όπως 20 λεπτά. 791 00:38:57,501 --> 00:38:58,360 ΕΝΤΆΞΕΙ. 792 00:38:58,360 --> 00:39:00,252 >> Έτσι pset7 είναι λάθος. 793 00:39:00,252 --> 00:39:02,460 Ακόμα κι αν είμαστε στην εβδομάδα επτά, είναι πραγματικά pset6. 794 00:39:02,460 --> 00:39:04,220 Θα αλλάξει αυτό. 795 00:39:04,220 --> 00:39:07,550 Όλα κάνουμε σε pset6 είναι η δημιουργία ενός web server. 796 00:39:07,550 --> 00:39:09,010 Αυτό ακούγεται τρομακτικό σούπερ. 797 00:39:09,010 --> 00:39:11,010 >> Και ειδικά για εκείνους από εσάς που έχετε ήδη 798 00:39:11,010 --> 00:39:14,530 κοίταξε τον κώδικα της διανομής, υπάρχει μια πολύ κώδικα, ένα πολύ κώδικα. 799 00:39:14,530 --> 00:39:15,570 Αλλά είναι εντελώς ΟΚ. 800 00:39:15,570 --> 00:39:17,750 Επειδή το κονιδιασμένος λιθίαση μέρος της δημιουργεί πραγματικά 801 00:39:17,750 --> 00:39:20,140 ο διακομιστής γίνεται από εμάς. 802 00:39:20,140 --> 00:39:22,090 Όλα είστε πραγματικά ρώτησε να κάνουμε σε αυτό το chipset 803 00:39:22,090 --> 00:39:25,350 είναι απλά για να κάνει κάποια επεξεργασία των strings στο αρχείο I / O. Είναι πραγματικά 804 00:39:25,350 --> 00:39:27,570 όπως αρκετά απλή. 805 00:39:27,570 --> 00:39:30,830 >> Έτσι, όταν πρώτα να κατεβάσετε that-- που εδώ έχει πράγματι ήδη κατεβάσει 806 00:39:30,830 --> 00:39:32,540 η το chipset και μια ματιά; 807 00:39:32,540 --> 00:39:33,040 Εντάξει. 808 00:39:33,040 --> 00:39:33,540 Ναι. 809 00:39:33,540 --> 00:39:36,042 Δεν υπάρχει σαν 500 γραμμές κώδικα ότι θα πάμε να είναι όπως, 810 00:39:36,042 --> 00:39:36,750 τι γίνεται? 811 00:39:36,750 --> 00:39:38,177 Και αυτό είναι εντελώς καλά. 812 00:39:38,177 --> 00:39:39,760 Βεβαιωθείτε ότι μπορείτε να παρακολουθήσετε τα περάσματα. 813 00:39:39,760 --> 00:39:41,610 Επειδή ο David and-- Δεν ξέρω. 814 00:39:41,610 --> 00:39:43,870 Δεν νομίζω ότι είναι Zamyla του, αυτό το ένα. 815 00:39:43,870 --> 00:39:47,040 Αλλά νομίζω ότι κάποιο άλλο περάσματα είναι αρκετά 816 00:39:47,040 --> 00:39:49,510 χρήσιμη από την άποψη της απλά επιτρέποντάς σας να γνωρίζετε 817 00:39:49,510 --> 00:39:51,780 τι συμβαίνει στο εσωτερικό του κώδικά σας. 818 00:39:51,780 --> 00:39:53,330 >> Και είναι εντελώς ΟΚ. 819 00:39:53,330 --> 00:39:57,860 Επειδή οι τέσσερις λειτουργίες που είστε ζήτησε να εφαρμόσει το έχουν πραγματικά 820 00:39:57,860 --> 00:39:59,720 μηδέν να κάνει με την πραγματική διακομιστή. 821 00:39:59,720 --> 00:40:02,590 Το μόνο που έχετε να κάνετε είναι απλά parsing διαφορετικές χορδές, 822 00:40:02,590 --> 00:40:05,780 αναζήτηση μέσω χορδές, για να βεβαιωθείτε ότι τα πράγματα που κάνουν 823 00:40:05,780 --> 00:40:07,750 ό, τι υποτίθεται ότι πρέπει να κάνει. 824 00:40:07,750 --> 00:40:11,200 >> Έτσι, για το σκοπό αυτό, υπάρχουν μερικά πολύ, πολύ χρήσιμες λειτουργίες, 825 00:40:11,200 --> 00:40:13,630 ειδικά για κορδόνι χειραγώγηση, ότι θα πρέπει όλοι να 826 00:40:13,630 --> 00:40:15,879 πάει πάνω από ότι σκέφτηκα είναι πολύ χρήσιμο για σας παιδιά 827 00:40:15,879 --> 00:40:19,130 να μάθουν πριν επιχειρήσετε την PSET. 828 00:40:19,130 --> 00:40:23,350 Και είναι όλα που περιέχονται εντός string.h βιβλιοθήκη σας. 829 00:40:23,350 --> 00:40:25,980 Δεν υπάρχει ίσως πιο χρήσιμη λειτουργίες δεν έχω περιλαμβάνονται εδώ, 830 00:40:25,980 --> 00:40:30,740 γιατί είτε δεν τους χρησιμοποιούν ποτέ ή ίσως απλά δεν ξέρουν ότι υπάρχουν. 831 00:40:30,740 --> 00:40:32,440 >> Μη διστάσετε να ρίξετε μια ματιά μέσα από student.h. 832 00:40:32,440 --> 00:40:36,460 Επειδή εκεί πρόκειται να είναι πολύ των λειτουργιών που είναι πολύ χρήσιμα. 833 00:40:36,460 --> 00:40:43,050 Έτσι, οι έξι που μπορώ να χρησιμοποιήσω τον περισσότερο μου PSET όταν έκανα την τελευταία εβδομάδα 834 00:40:43,050 --> 00:40:49,620 ήταν strtok, strchr, strrcher, strstr, strcasecmp, και strcpy. 835 00:40:49,620 --> 00:40:53,060 Και έτσι τα δύο τελευταία μπορεί να φαίνεται αρκετά γνωστό στους περισσότερους από εσάς. 836 00:40:53,060 --> 00:40:56,910 Περίπτωση Str συγκρίνουν, το μόνο που κάνει είναι να συγκρίνουμε χορδές για να ελέγξετε για την ισότητα, 837 00:40:56,910 --> 00:40:58,110 συμπεριλαμβανομένης και της περίπτωσης. 838 00:40:58,110 --> 00:41:01,430 Και strcpy απλά αντίγραφα μία χορδή σε ένα ρυθμιστικό διάλυμα. 839 00:41:01,430 --> 00:41:04,430 >> Και έτσι αυτά τα δύο θα πρέπει να φαίνεται πολύ γνωστά σε σας παιδιά σε αυτό το σημείο. 840 00:41:04,430 --> 00:41:07,100 Επειδή έχουμε χρησιμοποιήσει πολύ, ειδικά για τις τελευταίες psets. 841 00:41:07,100 --> 00:41:10,734 Αλλά η πρώτη ίσως τέσσερις δεν έχετε δει μέχρι τώρα. 842 00:41:10,734 --> 00:41:12,400 Αλλά Πάω να περπατήσετε λίγο μέσα από αυτά. 843 00:41:12,400 --> 00:41:15,620 Επειδή πρόκειται να κάνουν τη ζωή σας πραγματικά, πραγματικά εύκολο να μην for-- εύκολο, 844 00:41:15,620 --> 00:41:19,830 αλλά πολύ πιο εύκολο για το επερχόμενο το chipset. 845 00:41:19,830 --> 00:41:20,420 >> ΕΝΤΆΞΕΙ. 846 00:41:20,420 --> 00:41:27,720 Έτσι, char * strtok, αυτή είναι η λειτουργία ορισμός για τη λειτουργία αυτή περιείχε 847 00:41:27,720 --> 00:41:31,050 μέσα σε ένα αλφαριθμητικό, η βιβλιοθήκη. 848 00:41:31,050 --> 00:41:34,340 Αν σας δοθεί μια είσοδο του char * χορδών, η οποία είναι απλά μια κλωστή, 849 00:41:34,340 --> 00:41:38,220 ή μια σταθερή char * deliminator, DELIM για συντομία, 850 00:41:38,220 --> 00:41:42,410 όλα είναι που κάνει είναι το σπάσιμο το μεγαλύτερο string σε μια σειρά από αυτό που ονομάζουμε 851 00:41:42,410 --> 00:41:45,730 μάρκες που χωρίζονται από μια ορισμένη τιμή. 852 00:41:45,730 --> 00:42:03,340 Έτσι, κατά μία έννοια, αν ήταν να δώσει Σας section.7.php, αυτό είναι ένα string. 853 00:42:03,340 --> 00:42:09,520 >> Έτσι ώστε θα ήταν αν ήταν να περάσει σε αυτή την οδό, όπως μου, μου char * str, 854 00:42:09,520 --> 00:42:18,870 αν deliminator μου ήταν τελεία, όλα αυτά Θα κάνετε είναι να αναζητήσετε μέσα από κορδόνι. 855 00:42:18,870 --> 00:42:22,790 Και η πρώτη φορά που βλέπει μια τελεία, θα επιστρέψει μόνο με το δείκτη 856 00:42:22,790 --> 00:42:25,830 στην τελευταία συμβολική βρέθηκαν στη συμβολοσειρά πριν από αυτό. 857 00:42:25,830 --> 00:42:27,230 Γι 'αυτό θα πάει δεξιά εδώ. 858 00:42:27,230 --> 00:42:30,580 >> Και θα μου δώσει 7.php μόνο. 859 00:42:30,580 --> 00:42:34,070 Και αν ήταν να καλέσει το λειτουργήσει μια ακόμη φορά, 860 00:42:34,070 --> 00:42:37,580 θα μου δώσει μόνο το .php. 861 00:42:37,580 --> 00:42:41,540 Και έτσι όλα αυτά που κάνει η λειτουργία διασπά το μεγαλύτερο εγχόρδων 862 00:42:41,540 --> 00:42:44,620 σε μικρότερες χορδές ανάλογα σε ό, τι ψάχνετε. 863 00:42:44,620 --> 00:42:46,670 >> Και έτσι, για παράδειγμα, σε Look Up σας λειτουργία 864 00:42:46,670 --> 00:42:49,895 αν θέλετε να δούμε τι ορισμένους χαρακτήρες έρχονται για 865 00:42:49,895 --> 00:42:54,280 ή εάν συμβεί κουκκίδες ή επεκτάσεις συμβεί, Η λειτουργία αυτή θα ήταν αρκετά χρήσιμη. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Ναι. 868 00:42:59,010 --> 00:42:59,510 Μην ανησυχείς. 869 00:42:59,510 --> 00:43:01,339 Αυτό θα είναι όλα be-- ναι, τι συμβαίνει; 870 00:43:01,339 --> 00:43:07,087 >> Κοινό: Έτσι, στην πρώτη γραμμή, αν ήμασταν χρησιμοποιώντας αυτό το παράδειγμα, 871 00:43:07,087 --> 00:43:09,504 τι θα εισάγουμε σε αυτό; 872 00:43:09,504 --> 00:43:10,170 ANDI PENG: Ναι. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Θα καλέσει μόνο ένα strtok DELIM κορδόνι κόμμα. 875 00:43:25,640 --> 00:43:30,260 Και string είναι ίση με section.7.php. 876 00:43:30,260 --> 00:43:35,244 Και τότε είστε DELIM θα μπορούσε να είναι ίση με dot μόνο. 877 00:43:35,244 --> 00:43:36,654 >> Κοινό: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI PENG: Ναι. 879 00:43:39,010 --> 00:43:41,266 Σαν αυτό. 880 00:43:41,266 --> 00:43:43,890 Όλες αυτές οι λειτουργίες είναι αρκετά παρόμοιο όταν θα πάτε μέσω αυτών. 881 00:43:43,890 --> 00:43:45,514 Κάνουν μόνο ελαφρώς διαφορετικά πράγματα. 882 00:43:45,514 --> 00:43:49,530 Αλλά όλοι πηγαίνουν να κάνουν τη ζωή σας πολύ ευκολότερη. 883 00:43:49,530 --> 00:43:53,940 Δεύτερον λειτουργία, αυτό είναι σαν να super, super, super σημαντικό, 884 00:43:53,940 --> 00:43:58,254 είναι the-- κρατήσει ψηλά. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Ωχ. 887 00:44:08,730 --> 00:44:13,810 Strchr αναζητήσεις για την πρώτη occurrence-- πραγματικότητα, ναι. 888 00:44:13,810 --> 00:44:16,385 Strchr είναι η λειτουργία που Εγώ σίγουρα απλά πήγε πάνω. 889 00:44:16,385 --> 00:44:18,260 Έτσι αγνοούν τι είπα για την πρώτη λειτουργία. 890 00:44:18,260 --> 00:44:20,980 Είναι στην πραγματικότητα ονομάζεται strchr. 891 00:44:20,980 --> 00:44:24,840 >> Λοιπόν, τι θα συμβεί εδώ είναι αν σας δόθηκε ένα string σε μια char c, 892 00:44:24,840 --> 00:44:28,660 θα δώσει μόνο Σας όποια και αν ήταν. 893 00:44:28,660 --> 00:44:29,230 Ναι. 894 00:44:29,230 --> 00:44:33,700 Έτσι σκεφτείτε το σαν οδό, η οποία είναι ένα string, και CHR ως char. 895 00:44:33,700 --> 00:44:38,621 Έτσι το μόνο που προσπαθούμε να κάνουμε είναι να αναζητήσετε για την περίπτωση που μια χαρα είναι μέσα σε ένα string. 896 00:44:38,621 --> 00:44:41,120 Και γι 'αυτό ψάχνει για το πρώτο εμφάνιση του χαρακτήρα 897 00:44:41,120 --> 00:44:43,601 γ στην οδό κορδόνι. 898 00:44:43,601 --> 00:44:46,463 >> Κοινό: [δεν ακούγεται]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI PENG: Yup. 900 00:44:48,380 --> 00:44:51,230 Και στη συνέχεια, αν δεν βρείτε αυτό, πρόκειται να επιστρέψει NULL. 901 00:44:51,230 --> 00:44:54,313 Έτσι, κάτι που πρόκειται να είναι πολύ χρήσιμο για σας παιδιά να κάνουν το PSET 902 00:44:54,313 --> 00:44:59,030 αν, ας πούμε, που ψάχνατε για ένα επέκταση σαν ένα .docx για το Word 903 00:44:59,030 --> 00:45:04,740 εγγράφου ή .pdf για ένα έγγραφο PDF, μπορείτε να το είδος του να το χρησιμοποιήσει για να εξετάσει 904 00:45:04,740 --> 00:45:08,720 για ό, τι είναι στη συνέχεια Κάθε φορά που βλέπετε μια κουκκίδα, σωστά; 905 00:45:08,720 --> 00:45:11,880 Και έτσι λίγο πολύ, αν τρέχει ότι μέσω της λειτουργίας, 906 00:45:11,880 --> 00:45:13,610 σε περίπτωση που επιστρέφει NULL, τότε ξέρετε ότι 907 00:45:13,610 --> 00:45:17,292 δεν το βρείτε dot, το οποίο σημαίνει ότι αυτή η προφανώς δεν είναι έγκυρο επέκταση αρχείου. 908 00:45:17,292 --> 00:45:19,000 Ή σε περίπτωση που επιστρέφει κάτι, τότε ξέρετε 909 00:45:19,000 --> 00:45:21,940 πρόκειται να επιστρέψουν ανεξάρτητα του στην πραγματικότητα μετά από την επέκταση. 910 00:45:21,940 --> 00:45:24,190 Έτσι, όσοι από εσάς που είχε άρχισε να ψάχνει μέσα αναζήτησης 911 00:45:24,190 --> 00:45:28,640 και να αναλύσει, αυτή η λειτουργία του πρόκειται να είναι εξαιρετικά χρήσιμη. 912 00:45:28,640 --> 00:45:32,010 Έτσι είμαστε στην πραγματικότητα θα να αποδειχθεί με τη χρήση αυτού. 913 00:45:32,010 --> 00:45:36,670 >> Γιατί δεν σας παιδιά προσπαθήστε να γράψετε λειτουργία bool πρόταση char * s ότι 914 00:45:36,670 --> 00:45:39,610 απλά επιστρέφει true αν s είναι πρόταση και ψευδής αλλιώς. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Έτσι υπόδειξη, θα πάμε να χρησιμοποιήσει κατά πάσα πιθανότητα strchr. 917 00:45:46,830 --> 00:45:50,420 Ή μπορείτε απλά αναζήτηση στο κορδόνι για ένα συγκεκριμένο χαρακτήρα. 918 00:45:50,420 --> 00:45:54,950 Και έτσι σε μια πρόταση, αυτό που χωρίζει μια πρόταση 919 00:45:54,950 --> 00:45:57,510 από μια μη-πρόταση, τι ιδιοτυπίας; 920 00:45:57,510 --> 00:45:58,260 Κοινό: Ένας χώρος. 921 00:45:58,260 --> 00:45:59,343 ANDI PENG: Ένας χώρος, σωστά; 922 00:45:59,343 --> 00:46:03,354 Και έτσι αυτό που κάνουμε κατά πάσα πιθανότητα πρόκειται να Θέλετε να κάνετε κατά τη λειτουργία αυτή εδώ; 923 00:46:03,354 --> 00:46:04,290 >> Κοινό: [δεν ακούγεται]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI PENG: Εμείς πάμε να θέλουν να strchr κορδόνι για την εμφάνιση του χώρου. 925 00:46:07,623 --> 00:46:11,330 Διότι σε περίπτωση που επιστρέφει κάτι, στη συνέχεια, γνωρίζουμε ότι αυτό πρέπει να είναι μια πρόταση. 926 00:46:11,330 --> 00:46:14,510 Αυτό σημαίνει ότι πρέπει να έχουν ένα χώρο αυτής της στοιχειοσειράς. 927 00:46:14,510 --> 00:46:17,660 >> Εάν δεν υπάρχει χώρος, τότε ξέρουμε ότι, hey, υποθέτω ότι δεν είναι ένα string. 928 00:46:17,660 --> 00:46:20,060 Είναι πιθανώς μόνο μια πραγματικά μεγάλη λέξη. 929 00:46:20,060 --> 00:46:23,242 Γι 'αυτό θα σας δώσω ένα ζευγάρι παιδιά λεπτά για να γράψει αυτή τη λειτουργία. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Ναι. 932 00:46:45,874 --> 00:46:47,970 >> Κοινό: Πήρες Αυτή η σειρά από το χρήστη; 933 00:46:47,970 --> 00:46:48,440 >> ANDI PENG: Ναι. 934 00:46:48,440 --> 00:46:49,565 Έτσι, αυτό είναι μόνο μια λειτουργία. 935 00:46:49,565 --> 00:46:54,586 Φανταστείτε λοιπόν μέσα κύρια λειτουργία σας έχετε ήδη have-- ας πάμε εδώ. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 ΕΝΤΆΞΕΙ. 938 00:47:00,540 --> 00:47:05,270 Έτσι έχω γράψει αυτό το πρόγραμμα, εφόσον Έχω κύρια λειτουργία μου, όπου 939 00:47:05,270 --> 00:47:07,432 Έχω μόλις δημιουργήσατε δύο χορδές. 940 00:47:07,432 --> 00:47:09,890 Το πρώτο είναι Γεια σου, το όνομά μου είναι Andi-- σαφώς, μια φράση. 941 00:47:09,890 --> 00:47:13,240 Δεύτερο μου είναι ακριβώς Andi, σαφώς δεν είναι πρόταση. 942 00:47:13,240 --> 00:47:18,390 >> Και έτσι είμαι τρέχει τόσο εκείνων χορδές μέσω αυτής της λειτουργίας. 943 00:47:18,390 --> 00:47:20,540 Θέλω εσείς να γράψετε κρύο ποινή. 944 00:47:20,540 --> 00:47:23,380 Και είμαι αποθήκευση αυτές τις αξίες, και στη συνέχεια, μόλις εκτύπωσή τους. 945 00:47:23,380 --> 00:47:26,549 Έτσι σκεφτείτε ότι ο χρήστης είναι πρόκειται να περάσει σε μια σειρά. 946 00:47:26,549 --> 00:47:29,590 Και τότε θα πάμε σε ουσιαστικά καταλάβω αν είναι μια πρόταση ή όχι 947 00:47:29,590 --> 00:47:31,131 και να επιστρέψει true ή false ανάλογα. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Αν εσείς θέλετε να δώσετε ένα μπράβο ή heads-up, νεύμα το κεφάλι, 950 00:48:45,200 --> 00:48:49,080 Είναι κάποιος είναι έτοιμος να ξεκινήσει αυτό, ότι θα ήταν καλό. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Ίσως σαν 30 δευτερόλεπτα; 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Εντάξει. 955 00:50:50,070 --> 00:50:52,870 Ας δούμε αν μπορείτε να δοκιμάσετε γράφοντας αυτή τη λειτουργία. 956 00:50:52,870 --> 00:50:57,480 >> Έτσι ψευδο coding-- είμαι απλώς πρόκειται να είδος με τα πόδια μέσα από αυτό το δικαίωμα τώρα. 957 00:50:57,480 --> 00:51:00,570 Λίγο πολύ, γνωρίζουμε ότι η λειτουργία που πρέπει να χρησιμοποιήσουμε. 958 00:51:00,570 --> 00:51:04,390 Εμείς πάμε για να καλέσετε τη λειτουργία αυτή στις εγχόρδων και αναζήτηση για ένα χώρο μας. 959 00:51:04,390 --> 00:51:08,682 Εάν επιστρέφει κάτι, τότε πρέπει Γνωρίζουμε ότι, προφανώς, αυτό είναι μια πρόταση. 960 00:51:08,682 --> 00:51:09,640 Επειδή υπάρχει χώρους. 961 00:51:09,640 --> 00:51:10,930 Στη συνέχεια θα πάμε να επιστρέψει αλήθεια. 962 00:51:10,930 --> 00:51:12,310 Αλλιώς, θα πάμε να επιστρέψει false. 963 00:51:12,310 --> 00:51:14,393 Υπάρχει κάποιος που θέλει να δώσει μένα η πρώτη γραμμή του κώδικα 964 00:51:14,393 --> 00:51:16,890 ότι είμαστε στην πραγματικότητα θα να χρησιμοποιήσει για να γράψει αυτό; 965 00:51:16,890 --> 00:51:19,680 Είναι πραγματικά το πιο δύσκολο γραμμή κώδικα, καθώς και. 966 00:51:19,680 --> 00:51:21,026 Ναι. 967 00:51:21,026 --> 00:51:28,942 >> Κοινό: Αν strtok S-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: Ακριβώς strchr. 969 00:51:29,900 --> 00:51:35,354 Κοινό: [παρεμβάλλοντας ΦΩΝΕΣ] χώρος δεν είναι ίση με null. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI PENG: Cool. 972 00:51:40,710 --> 00:51:41,470 Ακριβώς δεξιά. 973 00:51:41,470 --> 00:51:43,200 Όλοι καταλαβαίνουν ότι η πρώτη γραμμή; 974 00:51:43,200 --> 00:51:46,110 Εμείς πάμε για να καλέσει strstr, η οποία είναι μια λειτουργία που αναζητήσεις 975 00:51:46,110 --> 00:51:51,830 το string s για την χαρα του χώρου. 976 00:51:51,830 --> 00:51:56,010 Και αν διαπιστώσει, ότι πρόκειται να επιστρέφει ένα δείκτη στο σημείο όπου αυτό είναι. 977 00:51:56,010 --> 00:51:58,500 >> Αν δεν το βρείτε, πρόκειται να επιστρέψει NULL. 978 00:51:58,500 --> 00:52:02,530 Έτσι, αν επιστρέφει οτιδήποτε άλλο εκτός από NULL, τότε ξέρουμε ότι βρήκε ένα κενό. 979 00:52:02,530 --> 00:52:03,553 Βγάζει νόημα αυτό? 980 00:52:03,553 --> 00:52:04,090 Δροσερός. 981 00:52:04,090 --> 00:52:04,590 Εντάξει. 982 00:52:04,590 --> 00:52:08,246 Έτσι, αν ξέρουμε ότι είναι βρεθεί μια χώρου, τι θέλουμε να κάνουμε; 983 00:52:08,246 --> 00:52:09,162 Κοινό: Επιστροφή αλήθεια. 984 00:52:09,162 --> 00:52:09,787 ANDI PENG: Yup. 985 00:52:09,787 --> 00:52:11,940 Επιστροφή αλήθεια. 986 00:52:11,940 --> 00:52:15,034 Και τότε, κάποιος θέλει να τελειώσω τη λειτουργία για μένα; 987 00:52:15,034 --> 00:52:16,300 Ναι. 988 00:52:16,300 --> 00:52:19,720 Αλλιώς, έτσι απλά. 989 00:52:19,720 --> 00:52:20,780 Και προσπαθήσετε να χτίσετε αυτό. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Ναι. 992 00:52:28,000 --> 00:52:33,099 Έτσι όπως εσείς να δείτε από το εξόδους, θυμηθείτε Booleans σε C 993 00:52:33,099 --> 00:52:34,390 Τα πάντα εκφράζονται σε δυαδικό. 994 00:52:34,390 --> 00:52:35,100 1 είναι αληθές. 995 00:52:35,100 --> 00:52:36,350 0 είναι ψευδής. 996 00:52:36,350 --> 00:52:39,720 >> Αν επρόκειτο να τρέξει αυτό λειτουργία σε ένα κορδόνι, το οποίο 997 00:52:39,720 --> 00:52:42,900 Είναι Γεια, το όνομά μου Andi-- σαφώς, ένα sentence-- το αποτέλεσμα 998 00:52:42,900 --> 00:52:45,700 εκτυπώνεται προς 1 η οποία είναι αληθής. 999 00:52:45,700 --> 00:52:48,420 Το δεύτερο, το οποίο είναι ακριβώς μια λέξη, τα αποτελέσματα εκτυπώνονται 1000 00:52:48,420 --> 00:52:50,630 με 0, η οποία είναι ψευδής. 1001 00:52:50,630 --> 00:52:54,820 Ο καθένας σαφές το είδος του σχετικά με το πώς η λειτουργία αυτή γράφτηκε; 1002 00:52:54,820 --> 00:52:55,800 Ναι. 1003 00:52:55,800 --> 00:52:59,770 >> Κοινό: Μπορούμε επίσης να κάνουμε, αντί δεν Ίδιος αριθμός, ισούται ισούται με 0, 1004 00:52:59,770 --> 00:53:03,677 έτσι ώστε να είναι ίση με; 1005 00:53:03,677 --> 00:53:04,260 ANDI PENG: Όχι. 1006 00:53:04,260 --> 00:53:07,480 Επειδή strchr είναι μια λειτουργία. 1007 00:53:07,480 --> 00:53:09,940 Πάω να επιστρέψω σε αυτό. 1008 00:53:09,940 --> 00:53:14,624 Έτσι τι είναι ο τύπος επιστροφής της λειτουργίας strchr μας; 1009 00:53:14,624 --> 00:53:15,332 Κοινό: Ω, εντάξει. 1010 00:53:15,332 --> 00:53:15,800 Ή null. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI PENG: Ναι. 1012 00:53:16,466 --> 00:53:20,890 Είναι ένα char * που μου λέει πως ό, τι Αυτή η λειτουργία πρόκειται να επιστρέψει, 1013 00:53:20,890 --> 00:53:22,090 πρόκειται να είναι ένας δείκτης. 1014 00:53:22,090 --> 00:53:24,860 Είτε ο δείκτης θα είναι επισημαίνοντας όπου αυτό είναι που βρέθηκαν, 1015 00:53:24,860 --> 00:53:27,550 ή πρόκειται να επιστρέψει ένας δείκτης για την τιμή null. 1016 00:53:27,550 --> 00:53:30,930 Σε κάθε περίπτωση, πρόκειται να επιστρέψει ένα δείκτη σε κάτι. 1017 00:53:30,930 --> 00:53:34,354 >> Και έτσι, αν ήταν να εξισώσουν Αυτό ισοδυναμεί, ισούται με 0, 1018 00:53:34,354 --> 00:53:36,020 θα πάμε να πάρετε ένα σφάλμα μεταγλώττισης. 1019 00:53:36,020 --> 00:53:37,645 Επειδή πρόκειται να επιστρέψει ένα δείκτη. 1020 00:53:37,645 --> 00:53:40,240 Και θα πάμε να προσπαθήσουμε να συγκρίνετε δείκτη σε ακέραιο. 1021 00:53:40,240 --> 00:53:42,515 Και ο υπολογιστής δεν είναι θα του αρέσει. 1022 00:53:42,515 --> 00:53:45,630 Ναι, ακριβώς. 1023 00:53:45,630 --> 00:53:46,540 Δροσερός. 1024 00:53:46,540 --> 00:53:47,525 Όλοι καλό; 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Και δεύτερον, θα πάμε για να πάει πάνω από μια λειτουργία που ονομάζεται strstr. 1027 00:53:59,770 --> 00:54:02,020 Μην ανησυχείτε αν αυτά Οι λειτουργίες που προκαλούν σύγχυση. 1028 00:54:02,020 --> 00:54:03,750 Είναι μου προκαλεί σύγχυση. 1029 00:54:03,750 --> 00:54:07,250 Ως εκ τούτου, εσείς θα μπορούσε να δει, όλα ακούγονται λίγο πολύ το ίδιο. 1030 00:54:07,250 --> 00:54:10,400 Απλά κάθε φορά που είστε σε σύγχυση, τραβήξτε το string.h βιβλιοθήκη. 1031 00:54:10,400 --> 00:54:13,290 Και εσείς μπορείτε να ταξινομήσετε μέσω των οποίων το ένα, το οποίο. 1032 00:54:13,290 --> 00:54:18,910 >> Έτσι strstr, το μόνο που κάνει είναι να αναζητήσεις μια σειρά για μια ολόκληρη άλλα έγχορδα. 1033 00:54:18,910 --> 00:54:21,980 Έτσι, όταν strchr μόλις αναζητήσεις για ένα μεμονωμένο χαρακτήρα, 1034 00:54:21,980 --> 00:54:24,090 strstr αναζητήσεις για έναν ολόκληρο εγχόρδων. 1035 00:54:24,090 --> 00:54:30,440 Ήθελα λοιπόν να εξετάσουμε, δεν το κάνω Ξέρετε, Γεια σας, το όνομά μου είναι ο Andi. 1036 00:54:30,440 --> 00:54:32,490 Και το όνομα του καλύτερου φίλου μου είναι, επίσης, ο Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Αν ήθελα να αναζητήσει σε αυτό πρόταση για ολόκληρη τη λέξη του Andi, 1038 00:54:37,180 --> 00:54:39,930 βελόνα μου θα ήταν ό, τι ψάχνετε. 1039 00:54:39,930 --> 00:54:43,440 Και άχυρα σας είναι ό, τι ψάχνετε αλλού. 1040 00:54:43,440 --> 00:54:47,050 Έτσι, αν ψάχνετε για ένα συγκεκριμένη λέξη μέσα σε μια φράση, 1041 00:54:47,050 --> 00:54:48,800 ότι η λέξη θα είναι βελόνα σας. 1042 00:54:48,800 --> 00:54:51,397 Και τότε η ίδια η φράση πρόκειται να είναι άχυρα σας. 1043 00:54:51,397 --> 00:54:53,230 Και γι 'αυτό ακριβώς αναζητήσεις η πρώτη εμφάνιση 1044 00:54:53,230 --> 00:54:55,063 της βελόνας συμβολοσειράς στα άχυρα κορδόνι. 1045 00:54:55,063 --> 00:54:57,140 Επιστρέφει το δείκτη με την πρώτη εμφάνιση. 1046 00:54:57,140 --> 00:55:00,510 Εκτός, θυμάμαι σε αυτή την περίπτωση, είναι η πρώτη εμφάνιση του συνόλου εγχόρδων 1047 00:55:00,510 --> 00:55:02,510 ότι ψάχνετε για, όχι μόνο ένας χαρακτήρας. 1048 00:55:02,510 --> 00:55:04,676 >> Και έτσι αυτό είναι σχεδόν το ίδιο πράγμα με τη λειτουργία 1049 00:55:04,676 --> 00:55:09,100 απλά κάναμε, μόνο με λίγο μεγαλύτερη εξειδίκευση. 1050 00:55:09,100 --> 00:55:12,730 Επειδή ψάχνετε για περισσότερο από ακριβώς ένα χαρακτήρα. 1051 00:55:12,730 --> 00:55:16,310 Και η χρήση του είναι ακριβώς το ίδιο όπως αυτή που μόλις κάναμε. 1052 00:55:16,310 --> 00:55:18,070 Όλοι εντάξει με αυτό; 1053 00:55:18,070 --> 00:55:20,250 ΕΝΤΆΞΕΙ. 1054 00:55:20,250 --> 00:55:23,560 >> Τελευταία μία θα πάμε για να πάει πάνω είναι strrchr, η οποία δεν είναι 1055 00:55:23,560 --> 00:55:26,320 συγχέεται με strstr ή με strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr έχει ένα επιπλέον r εκεί. 1057 00:55:27,890 --> 00:55:29,140 Να είστε προσεκτικοί όταν πληκτρολογείτε. 1058 00:55:29,140 --> 00:55:33,851 Μπορείτε να βρείτε τον εαυτό σας, συμπεριλαμβανομένων ένα επιπλέον r ή που δεν περιλαμβάνουν r, 1059 00:55:33,851 --> 00:55:35,850 και στη συνέχεια η λειτουργία σας δεν πήρε πρόκειται να λειτουργήσει. 1060 00:55:35,850 --> 00:55:37,183 Και θα πάμε να είναι συγκεχυμένη. 1061 00:55:37,183 --> 00:55:40,150 Να είστε προσεκτικοί ώστε να είστε ορθογραφία όλες αυτές οι λειτουργίες δεξιά. 1062 00:55:40,150 --> 00:55:43,770 >> Έτσι strrchr είναι η ακριβής ίδιο πράγμα όπως strchr 1063 00:55:43,770 --> 00:55:47,480 εκτός του ότι δεν ψάχνει για την πρώτη εμφάνιση ενός συγκεκριμένου χαρακτήρα, 1064 00:55:47,480 --> 00:55:49,350 αλλά μάλλον η τελευταία εμφάνιση. 1065 00:55:49,350 --> 00:55:52,800 Και έτσι, με αυτή την έννοια, είναι σχεδόν ακριβώς το ίδιο. 1066 00:55:52,800 --> 00:55:54,620 Όμως αντί να ασχοληθώ διαβιβάσει σε μια σειρά, 1067 00:55:54,620 --> 00:55:57,230 θα πάμε να κινείται προς τα πίσω σε μια σειρά. 1068 00:55:57,230 --> 00:56:00,510 Ακριβής ίδιο πράγμα, είστε ακριβώς αναζήτηση σε διαφορετική σειρά. 1069 00:56:00,510 --> 00:56:04,690 >> Και έτσι αυτό θα μπορούσε να είναι σούπερ, σούπερ χρήσιμο για την αναζήτηση σας 1070 00:56:04,690 --> 00:56:07,490 τη λειτουργία, η πρώτη λειτουργία για το chipset σας. 1071 00:56:07,490 --> 00:56:12,710 Ας προσποιηθούμε ότι έπρεπε να γράψω ένα λειτουργία του κενού επιμήκυνσης, του οποίου είμαστε 1072 00:56:12,710 --> 00:56:17,850 περάσει μια σταθερή char * όνομα αρχείου, μόνο ένα string, ένα όνομα αρχείου, 1073 00:56:17,850 --> 00:56:21,370 που παίρνει σε αυτό το όνομα και εκτυπώσεις από την επέκταση του αρχείου. 1074 00:56:21,370 --> 00:56:26,520 Έτσι, για παράδειγμα, εάν επρόκειτο να περάσει στη σειρά των pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 πρόκειται να εκτυπώσετε μόνο η επέκταση, η οποία είναι .zip. 1076 00:56:30,004 --> 00:56:31,920 Και αυτό θα μπορούσε να λειτουργήσει για οποιοδήποτε είδος επέκτασης, 1077 00:56:31,920 --> 00:56:38,290 .docx για το Word ή .pdf για PDF αρχείο ή .html για ένα αρχείο HTML. 1078 00:56:38,290 --> 00:56:40,425 Λίγο πολύ, γράφετε λειτουργία που μπορεί να το κάνει αυτό. 1079 00:56:40,425 --> 00:56:42,300 Είμαι πραγματικά πρόκειται να μετάβαση στο IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Δεν load-- εκεί πάμε. 1082 00:56:56,740 --> 00:57:00,990 >> Έτσι, όλα τα έχω κάνει εδώ είναι δημιούργησε ένα char *, μια πρώτη χορδή, 1083 00:57:00,990 --> 00:57:01,930 που ονομάζεται pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Πάω για μεγέθυνση. 1085 00:57:04,530 --> 00:57:08,520 Έχω δημιουργήσει μια δεύτερη σειρά που ονομάζεται finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Και μου γράψετε μια λειτουργία η οποία όταν κάλεσε πρόκειται απλά να εκτυπώσετε 1087 00:57:12,649 --> 00:57:13,690 οι επεκτάσεις ονόματος αρχείου. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Ίσως χρειαστούν μερικά λεπτά για να σκεφτείτε σχετικά με το πώς θα πάμε να το κάνουμε αυτό. 1090 00:57:19,660 --> 00:57:22,510 Ελαφρώς πιο δύσκολο από το τελευταίο, 1091 00:57:22,510 --> 00:57:24,770 αλλά η χρήση του είναι σχεδόν ακριβώς το ίδιο. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Ναι. 1094 00:57:30,170 --> 00:57:37,540 Έτσι γράψετε μια συνάρτηση που ονομάζεται επέκταση ότι, αν σου δώσω το όνομα του αρχείου, 1095 00:57:37,540 --> 00:57:41,340 αν ήμουν στη θέση να σας δώσει pset7.zip-- μου θέλετε να εκτυπώσετε μόνο το .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Αν σας δίνω αρέσει finalpaper.docx, μόλις εκτυπώσετε το .docx, 1098 00:57:49,890 --> 00:57:51,538 ακριβώς η επέκταση του αρχείου, ανεξάρτητα. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Αυτό στην πραγματικότητα μόνο Χρειάζονται δύο γραμμές κώδικα. 1101 00:59:07,790 --> 00:59:10,692 Έτσι προσπαθήστε να δείτε αν μπορείτε ίσως μπορεί να το κάνει σε αυτό. 1102 00:59:10,692 --> 00:59:12,400 Στην πραγματικότητα, μόνο παίρνει μία γραμμή κώδικα. 1103 00:59:12,400 --> 00:59:14,074 Ωστόσο, δύο γραμμές είναι ίσως πιο τυπική. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Ποια είναι η λειτουργία που πιθανώς πρόκειται να θέλετε να καλέσετε; 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> Κοινό: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI PENG: strrchr, δεξιά. 1109 00:59:27,343 --> 00:59:29,570 Επειδή ψάχνουμε από τη δεξιά αριστερά. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Δεν είχα να σας δώσω παιδιά ένα παράδειγμα όπως αυτό, 1112 00:59:33,940 --> 00:59:38,870 αλλά αν σας έδωσα ένα παράδειγμα, όπως www.apple.com και θα ήθελα απλώς 1113 00:59:38,870 --> 00:59:43,005 το .com, θα ήθελα να είναι ένα παράδειγμα για το πού θέλετε να καλέσετε τον τελευταίο βαθμό 1114 00:59:43,005 --> 00:59:44,630 της περιόδου και δεν είναι η πρώτη, έτσι δεν είναι; 1115 00:59:44,630 --> 00:59:47,470 Αν ήταν κλήση strchr αυτό, Θα έχετε δώσει την apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Εάν ονομάζεται strrchr αυτό, Θα έχετε δώσει το .com. 1117 00:59:49,966 --> 00:59:53,062 Και έτσι πρέπει να είστε προσεκτικοί κατά την οποία ways-- στο παράδειγμά μου, 1118 00:59:53,062 --> 00:59:55,520 θα μπορούσατε πιθανώς θα μπορούσε να έχει απλά γραμμένο χρησιμοποιώντας strchr, 1119 00:59:55,520 --> 00:59:57,130 δεδομένου ότι υπάρχει μόνο μία τελεία. 1120 00:59:57,130 --> 00:59:59,790 Αλλά σε άλλες περιπτώσεις, ότι δεν μπορεί να είναι η περίπτωση. 1121 00:59:59,790 --> 01:00:04,960 Και έτσι προσπαθούμε πάντα να σχεδιάσουμε κωδικό σας καλά, έτσι that-- ναι; 1122 01:00:04,960 --> 01:00:07,365 >> Κοινό: Έτσι, στο παράδειγμα που μόλις είπατε, 1123 01:00:07,365 --> 01:00:11,760 όταν κάνετε strrchr θα ήταν να σας δώσει com ή απλά να έρθει; 1124 01:00:11,760 --> 01:00:13,960 >> ANDI PENG: Θα σας δώσω το .com. 1125 01:00:13,960 --> 01:00:14,794 >> Κοινό: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI PENG: Ναι. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Επισημαίνει εκεί που το βρήκε. 1129 01:00:19,744 --> 01:00:20,244 Ναι. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 δευτερόλεπτα ίσως; 1132 01:00:25,188 --> 01:00:25,688 Ναι. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Ο καθένας καλό ή ίσως λίγο περισσότερο χρόνο; 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Εμφάνιση των χεριών; 1137 01:01:01,640 --> 01:01:02,320 Εμφάνιση των αρχηγών; 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Δροσερός. 1140 01:01:05,300 --> 01:01:07,924 Όποιος θέλει να μου δώσει την πρώτη γραμμή κώδικα για αυτό το πρόγραμμα; 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 Κοινό: [δεν ακούγεται]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: Έτσι, πρώτα απ 'όλα, ας ίσως σπάσει αυτό κάτω. 1145 01:01:20,160 --> 01:01:24,370 Έτσι τι είναι ο τύπος επιστροφής της strrchr; 1146 01:01:24,370 --> 01:01:26,150 Ας πάμε πίσω. 1147 01:01:26,150 --> 01:01:29,015 strrchr, τι είναι ο τύπος επιστροφής; 1148 01:01:29,015 --> 01:01:29,640 Κοινό: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI PENG: Είναι μια char *, σωστά; 1150 01:01:31,270 --> 01:01:35,760 Πράγμα που σημαίνει ότι πρόκειται πιθανώς να θέλουν να δημιουργήσουν μια άλλη char * σε είδος 1151 01:01:35,760 --> 01:01:40,400 του καταστήματος, όποτε αυτό είναι επιστροφή στην, έτσι δεν είναι; 1152 01:01:40,400 --> 01:01:43,200 Διότι, αν σας καλέσει η strrchr λειτουργία, 1153 01:01:43,200 --> 01:01:47,030 πρόκειται να σας δώσω ένα δείκτη σε όπου διαπίστωσε ότι την τελευταία περίοδο, 1154 01:01:47,030 --> 01:01:47,580 έτσι δεν είναι; 1155 01:01:47,580 --> 01:01:49,913 >> Αλλά θα πάμε να θέλουν να αποθηκεύσετε ότι κάπου, σωστά; 1156 01:01:49,913 --> 01:01:52,612 Και έτσι πώς θα κωδικοποιήσουν αυτό στο πρόγραμμά μας; 1157 01:01:52,612 --> 01:01:54,320 Κοινό: Μπορείτε να κάνετε το char * [δεν ακούγεται]. 1158 01:01:54,320 --> 01:01:55,240 ANDI PENG: Ναι. 1159 01:01:55,240 --> 01:01:57,120 Κοινό: [δεν ακούγεται]. 1160 01:01:57,120 --> 01:01:58,000 ANDI PENG: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Ναι. 1162 01:01:58,390 --> 01:01:59,306 Ω, έχασε ένα r εκεί. 1163 01:01:59,306 --> 01:02:02,877 Κοινό: όνομα αρχείου [δεν ακούγεται]. 1164 01:02:02,877 --> 01:02:03,376 Τι είναι αυτό? 1165 01:02:03,376 --> 01:02:04,420 Ω, είναι ακριβώς s. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI PENG: Ω, είναι ακριβώς s. 1167 01:02:04,940 --> 01:02:05,610 Yup, συγγνώμη. 1168 01:02:05,610 --> 01:02:06,330 Λάθος μου. 1169 01:02:06,330 --> 01:02:08,370 Παραδείγματα δεν ταιριάζουν. 1170 01:02:08,370 --> 01:02:12,130 >> Κοινό: Και τότε dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI PENG: Yup. 1172 01:02:13,970 --> 01:02:16,570 Να είστε προσεκτικοί όταν εσείς are-- εδώ, επιτρέψτε μου να μεγεθύνετε. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Εκεί πάμε. 1175 01:02:24,400 --> 01:02:26,770 Να είστε προσεκτικοί όταν εσείς πληκτρολόγηση, ειδικά όταν 1176 01:02:26,770 --> 01:02:27,920 κάνετε απλά μια χαρα. 1177 01:02:27,920 --> 01:02:32,480 Είναι πραγματικά εύκολο να τυχαία μόνο κάνει διπλά εισαγωγικά και όχι μεμονωμένα. 1178 01:02:32,480 --> 01:02:35,212 >> Αυτό δεν θα λειτουργήσει. 1179 01:02:35,212 --> 01:02:36,670 Compiler σας πρόκειται να παραπονεθεί. 1180 01:02:36,670 --> 01:02:38,790 Και η λειτουργία σας είναι Απλά δεν πρόκειται να τρέξει. 1181 01:02:38,790 --> 01:02:40,540 Και έτσι πρέπει να είστε προσεκτικοί όταν κάνετε τα πράγματα 1182 01:02:40,540 --> 01:02:42,622 με χαρακτήρες που είναι μονά εισαγωγικά. 1183 01:02:42,622 --> 01:02:44,830 Και το ίδιο κάνει και αυτή τη γραμμή Κωδικός νόημα για όλους; 1184 01:02:44,830 --> 01:02:46,810 Είμαστε δημιουργώντας ένα char * δείκτη. 1185 01:02:46,810 --> 01:02:50,310 Επειδή επιστρέφει strrchr κάτι δείκτη τύπου. 1186 01:02:50,310 --> 01:02:53,440 >> Και έτσι θα πάμε να καλέσετε strchr σε s, η οποία είναι το string, το αρχείο 1187 01:02:53,440 --> 01:02:55,140 αναφέρουμε, ότι είμαστε περνώντας. 1188 01:02:55,140 --> 01:02:59,750 Και ψάχνουμε για την τελευταία παράδειγμα της περιόδου, η οποία είναι 1189 01:02:59,750 --> 01:03:02,200 μόνο η μόνη προσφορά dot μόνη προσφορά. 1190 01:03:02,200 --> 01:03:02,700 Ναι. 1191 01:03:02,700 --> 01:03:05,180 >> Κοινό: Όταν χρησιμοποιούμε διπλά εισαγωγικά και όταν το κάνουμε εμείς, Χρησιμοποιήστε μονά εισαγωγικά; 1192 01:03:05,180 --> 01:03:05,320 >> ANDI PENG: Ναι. 1193 01:03:05,320 --> 01:03:07,180 Έτσι διπλά εισαγωγικά είναι χρησιμοποιείται πάντα όταν 1194 01:03:07,180 --> 01:03:10,120 έχουν μια σειρά από περισσότερα από ένα. 1195 01:03:10,120 --> 01:03:13,070 Έτσι, αν κάνετε strstr, το οποίο είναι αυτό που σας 1196 01:03:13,070 --> 01:03:16,320 αναζητήσετε ένα κορδόνι για το string, θα Θα πρέπει να το δώσετε σε διπλά εισαγωγικά. 1197 01:03:16,320 --> 01:03:18,070 Αλλά κάθε φορά που είναι ακριβώς ένα ενιαίο χαρακτήρα, 1198 01:03:18,070 --> 01:03:19,870 Θέλετε να κάνετε μονά εισαγωγικά. 1199 01:03:19,870 --> 01:03:22,880 >> Είναι ένα καλό πράγμα που πρέπει να θυμάστε. 1200 01:03:22,880 --> 01:03:25,864 Έτσι τώρα που έχουμε μας δείκτη, τι θα κάνουμε με αυτό; 1201 01:03:25,864 --> 01:03:27,780 Σας ζητάω παιδιά να εκτυπώνει, σωστά; 1202 01:03:27,780 --> 01:03:30,940 Έτσι, [δεν ακούγεται], που θέλετε να δώσε μου τη γραμμή του κώδικα; 1203 01:03:30,940 --> 01:03:31,780 >> Κοινό: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI PENG: Ναι. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 Κοινό: --you χρειάζονται ένα στήριγμα θέση. 1207 01:03:36,843 --> 01:03:37,340 ANDI PENG: Yup. 1208 01:03:37,340 --> 01:03:38,334 Κοινό: Εκτυπώστε τη θήκη θέση. 1209 01:03:38,334 --> 01:03:40,322 Δεν ξέρω ποια είναι η θέση κάτοχος είναι το σημείο, αλλά σε αυτό. 1210 01:03:40,322 --> 01:03:40,819 >> ΕΝΤΆΞΕΙ. 1211 01:03:40,819 --> 01:03:42,027 Ας παραλείψτε ότι προς το παρόν στη συνέχεια. 1212 01:03:42,027 --> 01:03:44,556 Κοινό: Και τότε comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI PENG: Πόιντερ, σωστά; 1214 01:03:45,720 --> 01:03:47,970 >> Κοινό: Πόιντερ, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: Έτσι το είδος της μια ερώτηση τέχνασμα, έχει να κάνει με δείκτες και έγχορδα 1216 01:03:51,140 --> 01:03:53,130 ότι έχουμε το είδος της μίλησε ήδη. 1217 01:03:53,130 --> 01:03:57,766 Τι είδους του δικαιούχου του τόπου κάνουμε χρειάζεστε για ένα δείκτη για μια char *; 1218 01:03:57,766 --> 01:03:59,574 >> Κοινό: [δεν ακούγεται]. 1219 01:03:59,574 --> 01:04:00,240 ANDI PENG: Ναι. 1220 01:04:00,240 --> 01:04:02,522 Είναι ευκολότερο από ό, τι εσείς πιστεύετε ότι είναι. 1221 01:04:02,522 --> 01:04:03,230 Κοινό: String; 1222 01:04:03,230 --> 01:04:04,730 ANDI PENG: Είναι απλά ένα string, ακριβώς. 1223 01:04:04,730 --> 01:04:06,595 Επειδή θυμάμαι χορδές δεν υπάρχουν πραγματικά. 1224 01:04:06,595 --> 01:04:09,430 Μια char * είναι το ακριβές ίδιο πράγμα όπως ένα string. 1225 01:04:09,430 --> 01:04:14,461 Και έτσι πραγματικά αυτό είναι ό, τι s θα πρέπει να έχουν χρησιμοποιηθεί σε όλο το μήκος. 1226 01:04:14,461 --> 01:04:14,960 ΕΝΤΆΞΕΙ. 1227 01:04:14,960 --> 01:04:17,810 >> Ας δούμε αν μπορούμε να προσπαθήστε να εκτελέσετε αυτή. 1228 01:04:17,810 --> 01:04:19,450 Ας κάνουμε μια επέκταση μάρκα. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Δροσερός. 1231 01:04:23,396 --> 01:04:28,830 Εσείς να δούμε πώς πέρασα στο psset7.zip και η finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 και εκτυπώνει ακριβώς έξω το .zip και το .docx; 1233 01:04:32,500 --> 01:04:34,150 Βγάζει νόημα? 1234 01:04:34,150 --> 01:04:36,660 >> Εντάξει Πιστεύω λοιπόν ότι στο βλέμμα σας προς τα πάνω λειτουργία σε PSET σας είστε 1235 01:04:36,660 --> 01:04:41,050 πρόκειται να ζητηθεί εάν η κορδόνι έχει μια συγκεκριμένη κατάληξη, 1236 01:04:41,050 --> 01:04:42,800 θα πρέπει να δώσει ένα συγκεκριμένο κωδικό σφάλματος. 1237 01:04:42,800 --> 01:04:44,820 Και έτσι αυτό θα είναι αρκετά φοβερό. 1238 01:04:44,820 --> 01:04:47,350 Διότι, αν μπορείτε να υπολογίσετε τι είναι η επέκταση, 1239 01:04:47,350 --> 01:04:49,810 μπορείτε στη συνέχεια να συγκρίνουμε επέκταση για να δείτε αν ταιριάζει 1240 01:04:49,810 --> 01:04:51,251 με μια ορισμένη επέκταση. 1241 01:04:51,251 --> 01:04:53,250 Και στη συνέχεια μπορείτε να επιστρέψετε ένα μήνυμα σφάλματος, σωστά; 1242 01:04:53,250 --> 01:04:53,860 Ναι. 1243 01:04:53,860 --> 01:04:55,370 >> Κοινό: Έτσι δεν κάνουμε Πρέπει να προσθέσετε 1 ή οτιδήποτε άλλο; 1244 01:04:55,370 --> 01:04:56,530 Ο δείκτης θα πάει να the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI PENG: Όχι. 1246 01:04:56,660 --> 01:04:57,530 >> Κοινό: --point μετά από αυτό. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI PENG: Ναι. 1248 01:04:58,196 --> 01:05:00,650 Επισημαίνει ακριβώς να όπου η εμφάνιση ήταν. 1249 01:05:00,650 --> 01:05:04,010 Έτσι, για παράδειγμα εδώ, είμαστε ψάχνοντας για την περίοδο. 1250 01:05:04,010 --> 01:05:06,597 Έτσι, πρόκειται να επιστρέψει ένας δείκτης για την περίοδο. 1251 01:05:06,597 --> 01:05:08,930 Και στη συνέχεια πρόκειται να εκτυπώσετε ξεκινώντας κατά τη διάρκεια της περιόδου. 1252 01:05:08,930 --> 01:05:10,260 >> Έτσι, δεν χρειάζεται να προσθέσετε 1. 1253 01:05:10,260 --> 01:05:15,000 Παρά το γεγονός ότι είναι εντελώς καλά σε αυτά, αν δεν είστε βέβαιοι, με ακριβώς το είδος 1254 01:05:15,000 --> 01:05:16,070 από το δοκιμάσετε μόνοι σας. 1255 01:05:16,070 --> 01:05:17,590 Φτιάξτε ένα πρόγραμμα δείγμα. 1256 01:05:17,590 --> 01:05:20,240 Δοκιμάστε το μόνοι σας και δείτε πού είναι η εκτύπωση. 1257 01:05:20,240 --> 01:05:23,380 Αυτό δεν είναι επίσης ένας κακός τρόπος για να το κάνουμε. 1258 01:05:23,380 --> 01:05:26,040 >> Δροσερός. 1259 01:05:26,040 --> 01:05:28,880 Και αυτό είναι λίγο πολύ όλα Είχα για σας παιδιά σήμερα. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Κάναμε πολλά πράγματα PSET σήμερα. 1262 01:05:33,300 --> 01:05:35,720 Έτσι, σε περίπτωση αμφιβολίας, όπως Είπα, πάντα κοιτάζω προς τα πάνω 1263 01:05:35,720 --> 01:05:37,620 η string.h βιβλιοθήκη για αυτό το chipset. 1264 01:05:37,620 --> 01:05:40,370 Εκεί πρόκειται να είναι πολύ λειτουργία εκεί που μπορεί να είναι χρήσιμη. 1265 01:05:40,370 --> 01:05:41,300 Ορισμένοι μπορεί να μην είναι χρήσιμο. 1266 01:05:41,300 --> 01:05:42,133 Εγώ δεν ξέρω πραγματικά. 1267 01:05:42,133 --> 01:05:44,370 Wade μέσα από αυτό, υπάρχει ένα σωρό από αυτά. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, είναι strrchr σούπερ, σούπερ εξυπηρετικό, καθώς και 1269 01:05:49,100 --> 01:05:52,080 οι strcpys και strcasecmps ότι έχουμε ήδη χρησιμοποιηθεί. 1270 01:05:52,080 --> 01:05:56,510 >> Είναι απλά πολύ Messing περίπου με χορδές, τον προσδιορισμό αν είναι ίσα, 1271 01:05:56,510 --> 01:05:59,960 να πάρει τα πράγματα έξω από χορδές, και να είναι σε θέση να ανοίξετε αρχεία σωστά. 1272 01:05:59,960 --> 01:06:02,252 Είναι μια πολύ αρχείο I / O. το chipset δεν είναι πραγματικά τόσο άσχημα. 1273 01:06:02,252 --> 01:06:04,210 Θα πάμε για να πάρει ένα το κοιτάξετε, να το κατεβάσετε, 1274 01:06:04,210 --> 01:06:05,590 και να δείτε ένα σωρό κώδικα. 1275 01:06:05,590 --> 01:06:09,220 Μην ανησυχείτε, ο κωδικός σας να γράψω πραγματικά δεν είναι καθόλου κακό. 1276 01:06:09,220 --> 01:06:12,870 Αν κάποιος έχει προβλήματα με τους server, έρχονται με δει μετά το τμήμα. 1277 01:06:12,870 --> 01:06:16,040 >> Συγγνώμη για άλλη μια φορά για να μην φέρνοντας καραμέλα για Απόκριες. 1278 01:06:16,040 --> 01:06:18,790 Δεν ξέρω τι ήταν λάθος με μένα. 1279 01:06:18,790 --> 01:06:20,800 Αλλά θα έχουμε διπλό η καραμέλα επόμενη φορά. 1280 01:06:20,800 --> 01:06:25,620 Και καλή τύχη σε PSET σας αυτή την εβδομάδα. 1281 01:06:25,620 --> 01:06:27,170 Ναι. 1282 01:06:27,170 --> 01:06:28,722