1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> Wir sind fast: ANDI PENG durch alle psets. 3 00:00:08,770 --> 00:00:12,080 In der Tat, durch die Mehrheit wir der schwierigsten psets. 4 00:00:12,080 --> 00:00:14,350 So sind wir eigentlich nur gehen, um Art von Brise 5 00:00:14,350 --> 00:00:16,050 durch die nächsten paar Wochen. 6 00:00:16,050 --> 00:00:19,520 >> Wir werden anfangen zu sprechen über unsere Abschlussarbeiten, die Ereignisse kommen 7 00:00:19,520 --> 00:00:21,320 in den nächsten Wochen. 8 00:00:21,320 --> 00:00:23,825 Und das Leben wird ein Kinderspiel. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Also nicht zu viel heute. 11 00:00:27,680 --> 00:00:30,280 >> Hoffentlich wird tatsächlich Brise durch die Tagesordnung der heutigen, 12 00:00:30,280 --> 00:00:33,400 und dann von hier mit etwas Zeit zu ersparen. 13 00:00:33,400 --> 00:00:36,210 Außerdem möchte ich mich entschuldigen das Fehlen von Süßigkeiten einander. 14 00:00:36,210 --> 00:00:37,030 Ich weiß nicht, warum. 15 00:00:37,030 --> 00:00:40,520 Aber in der Woche vor Halloween, ich habe vergessen, Süßigkeiten. 16 00:00:40,520 --> 00:00:43,290 >> Also ich bin eigentlich nur eine große Enttäuschung für Sie im Augenblick. 17 00:00:43,290 --> 00:00:47,050 Weil ich wörtlich erinnern candy für jede einzelne Klasse, aber Halloween. 18 00:00:47,050 --> 00:00:49,345 Aber nächste Woche werde ich bringen die doppelte Menge von Süßigkeiten 19 00:00:49,345 --> 00:00:50,720 um sich für das, alles für Sie. 20 00:00:50,720 --> 00:00:53,260 Es wird großartig sein. 21 00:00:53,260 --> 00:00:56,690 >> So habe ich ein paar Ankündigungen über eine gewisse Zeitplanung. 22 00:00:56,690 --> 00:00:59,520 Ich habe einige Scheduling-Probleme. 23 00:00:59,520 --> 00:01:02,150 Dann werden wir auf dem Weg zu darüber reden, was heißt chmod. 24 00:01:02,150 --> 00:01:05,980 Wir werden darüber reden schnell TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Und dann werden wir unseren Code Eigene Website mit HTML und CSS. 26 00:01:09,770 --> 00:01:13,030 Und dann werde ich tatsächlich vielleicht verlassen wie 20 Minuten bis etwa pset6 sprechen. 27 00:01:13,030 --> 00:01:16,550 Weil pset6 ist tatsächlich eine Menge von Sachen, die wir schon zuvor gesehen, 28 00:01:16,550 --> 00:01:19,090 aber ich wollte zu aktualisieren einige dieser Konzepte 29 00:01:19,090 --> 00:01:22,140 als auch zu lehren ein paar neue Funktionen. 30 00:01:22,140 --> 00:01:23,110 >> Cool. 31 00:01:23,110 --> 00:01:25,440 Also zunächst einmal, Willkommen zurück von Pause. 32 00:01:25,440 --> 00:01:27,410 Ich hoffe, du bist Pause war angenehm. 33 00:01:27,410 --> 00:01:29,695 Möchten hast du dich auf Pause zu tun? 34 00:01:29,695 --> 00:01:30,820 ZIELGRUPPE: ging nach New York. 35 00:01:30,820 --> 00:01:32,030 ANDI PENG: Sie ging nach New York? 36 00:01:32,030 --> 00:01:33,738 Ich denke, dass die Hälfte unserer Schule ging nach New York. 37 00:01:33,738 --> 00:01:34,740 Es ist alles in Ordnung. 38 00:01:34,740 --> 00:01:38,250 Ich die meisten meiner Pause verbracht Bewegungsmangel im Bett Netflixing. 39 00:01:38,250 --> 00:01:39,760 Und es war eine gute Zeit. 40 00:01:39,760 --> 00:01:43,450 >> Aber wir sind jetzt zurück, zurück in Sitzung zurück in den Swing der Dinge. 41 00:01:43,450 --> 00:01:47,900 Wir haben einen Grund an diesem Freitag um die Mittags pset. 42 00:01:47,900 --> 00:01:50,240 >> Ich denke, dass Sie bereits haben hob Ihr Quiz, yeah? 43 00:01:50,240 --> 00:01:52,140 Also alle anderen, hat kein Quiz hatten, 44 00:01:52,140 --> 00:01:55,416 Bitte kommen Sie und erhalten Sie Ihre Quiz von mir am Ende des Abschnitts. 45 00:01:55,416 --> 00:01:56,540 Oder verfolgen mich auf dem Campus. 46 00:01:56,540 --> 00:01:59,310 Ich werde es mit mir irgendwo. 47 00:01:59,310 --> 00:02:02,120 >> Unser letztes Projekt vor-Vorschlag auch. 48 00:02:02,120 --> 00:02:06,380 Also für diejenigen von uns, die noch nie getroffen haben diese Klasse vor, der Schlussstein des CS50 49 00:02:06,380 --> 00:02:11,150 ist sehr stark in diese gipfelten Großprojekt, die Studenten vor. 50 00:02:11,150 --> 00:02:14,300 Und der Vorantrag, nur eine allgemeine Vorstellung 51 00:02:14,300 --> 00:02:18,500 von dem, was man sich wünschen könnte, um zu tun ihre Projekt, ist diese Idee durch Montag, 52 00:02:18,500 --> 00:02:20,780 nächsten Montag am Mittag. 53 00:02:20,780 --> 00:02:23,800 >> So ziemlich, David ich denke, sprechen mehr dazu im Vortrag 54 00:02:23,800 --> 00:02:25,390 wenn er nicht bereits. 55 00:02:25,390 --> 00:02:28,710 Und es gibt eine feste Seite auf unserer Website erklären 56 00:02:28,710 --> 00:02:31,610 alle Anforderungen des Projekts. 57 00:02:31,610 --> 00:02:34,082 Aber im Grunde, Pick jedes Thema, das Sie haben 58 00:02:34,082 --> 00:02:35,915 im interessiert worden in Ihrer Zeit hier 59 00:02:35,915 --> 00:02:41,760 bei CS, ob es Gaming oder Design oder Video-oder nichts. 60 00:02:41,760 --> 00:02:44,920 >> Und man kann wirklich Art von jetzt einige der Lektionen anwenden 61 00:02:44,920 --> 00:02:52,470 dass wir hier in CS50-- gelernt hallo, welcome-- so ziemlich die Durchführung 62 00:02:52,470 --> 00:02:56,320 eine endgültige Projekt Ihrer Wahl. 63 00:02:56,320 --> 00:02:59,570 Alles, was aufgrund der Montag nur eine kurze Klappentext per E-Mail 64 00:02:59,570 --> 00:03:02,010 zu mir, ein schneller Satz, wie, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Ich bin wirklich interessiert an der Gestaltung ein Spiel, das dies für iOS tut. 66 00:03:06,490 --> 00:03:07,420 Cool. 67 00:03:07,420 --> 00:03:10,767 Lassen Sie mich einfach Ihren kurzen Anfangs Ideen für Ihre Abschlussarbeiten. 68 00:03:10,767 --> 00:03:13,850 Und wir werden durch reden, ob das ist eigentlich eine gute Idee ist oder nicht, 69 00:03:13,850 --> 00:03:15,590 wenn es eine praktikable Idee ist oder nicht. 70 00:03:15,590 --> 00:03:20,760 Aber gerade die Pre-Vorschlag ist auf nächsten Montag. 71 00:03:20,760 --> 00:03:24,190 pset6, unsere schöne web--, das ist falsch. 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 Es ist pset6, nicht wahr? 75 00:03:26,680 --> 00:03:32,690 >> pset6, unser Web-Server ist aufgrund Freitag Mittag mit dem späten Tag. 76 00:03:32,690 --> 00:03:37,660 Bürozeiten wieder normal von Montag bis Donnerstag von 8.00 bis 11.00 Uhr in dieser Woche. 77 00:03:37,660 --> 00:03:39,710 Ich denke, für die Commons die nächsten drei Nächte. 78 00:03:39,710 --> 00:03:40,310 Cool. 79 00:03:40,310 --> 00:03:44,260 Bevor wir in Material hatte, hat jemand Fragen, Witze, Geschichten? 80 00:03:44,260 --> 00:03:46,662 Was haben Sie für die Herbstferien zu tun? 81 00:03:46,662 --> 00:03:48,640 >> Publikum: Was kann ich tun? 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: Bereits es ist vor Ewigkeiten tatsächlich. 83 00:03:52,834 --> 00:03:54,000 Christ ging nach New York. 84 00:03:54,000 --> 00:03:55,614 Ich war hier und Netflixed. 85 00:03:55,614 --> 00:03:56,864 ZIELGRUPPE: Oh, ja, ich war hier. 86 00:03:56,864 --> 00:03:57,614 ANDI PENG: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 Publikum: Ich erinnere mich nicht was konkret. 88 00:03:59,792 --> 00:04:00,710 ANDI Peng: Das ist in Ordnung. 89 00:04:00,710 --> 00:04:01,960 ZIELGRUPPE: Netflixing wahrscheinlich. 90 00:04:01,960 --> 00:04:02,990 ANDI PENG: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Ja, es ist eine gute Zeit. 92 00:04:04,710 --> 00:04:05,780 OK. 93 00:04:05,780 --> 00:04:06,340 Gut. 94 00:04:06,340 --> 00:04:08,877 Haben Sie Fragen vor wir ins Material zu springen? 95 00:04:08,877 --> 00:04:11,210 Außerdem werden wir versuchen, Beschleunigung durch den Bereich heute 96 00:04:11,210 --> 00:04:12,504 nicht zu viel, um zu decken. 97 00:04:12,504 --> 00:04:14,420 Und hoffentlich werden wir bekommen hier ein bisschen zu früh. 98 00:04:14,420 --> 00:04:15,580 Sorry für die nicht Süßigkeiten, auch. 99 00:04:15,580 --> 00:04:20,310 Ich bin eine echte Enttäuschung vor allem während der Halloween. 100 00:04:20,310 --> 00:04:21,110 >> Gut. 101 00:04:21,110 --> 00:04:21,810 Cool. 102 00:04:21,810 --> 00:04:28,370 Also werden wir darüber zu sprechen, ein Kommandozeilen-Argument aufgerufen chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, ist alles, es ist nur ein Unix-System Anruf von der Kommandozeile durchgeführt 104 00:04:32,850 --> 00:04:34,700 Dateiberechtigungen zu ändern. 105 00:04:34,700 --> 00:04:37,790 So zum Beispiel, haben wir Alle begegnet eine Seite 106 00:04:37,790 --> 00:04:40,550 wie diese wahrscheinlich irgendwann in unsere Lebensspanne des Seins ein Internet- 107 00:04:40,550 --> 00:04:45,110 Benutzer, denen unsere Webserver gegeben uns den Fehler des Verbotenen. 108 00:04:45,110 --> 00:04:49,086 Sie sind nicht berechtigt, den Zugang, bla, bla, bla, auf diesem Server. 109 00:04:49,086 --> 00:04:50,960 All das wirklich bedeutet ist, dass die Berechtigungen 110 00:04:50,960 --> 00:04:53,920 daß wurden, die an was auch immer Seite, die Sie versuchten, den Zugang 111 00:04:53,920 --> 00:04:55,840 waren nicht offen. 112 00:04:55,840 --> 00:04:57,870 So ziemlich, chmod ist die Art, in der 113 00:04:57,870 --> 00:05:02,140 wir können diese Berechtigungen ändern für jeden geben, der Benutzer, die Gruppe, 114 00:05:02,140 --> 00:05:04,975 oder die Welt oder irgend Kombination dieser Zugang 115 00:05:04,975 --> 00:05:07,900 auf bestimmte Dateien, Verzeichnisse, etwas wirklich, 116 00:05:07,900 --> 00:05:11,720 jede Art von System ein Betriebssystem. 117 00:05:11,720 --> 00:05:14,039 Also, wenn eine der Jungs haben Computer, wenn Sie das Gefühl, 118 00:05:14,039 --> 00:05:17,080 wie folgt mit mir heute, völlig fühlen sich frei, geben Sie einfach die Dinge 119 00:05:17,080 --> 00:05:17,580 im. 120 00:05:17,580 --> 00:05:19,790 Wenn nicht, können Sie einfach nur rumhängen. 121 00:05:19,790 --> 00:05:23,170 Also werde ich tatsächlich ziehen meine Terminal jetzt. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> So der auszuführende Befehl chmod oder zumindest nur 124 00:05:32,310 --> 00:05:37,840 Zur Liste die Berechtigungen Ihres Dateiverzeichnis, ist nur ls-l. 125 00:05:37,840 --> 00:05:42,270 Wie Sie sehen können, eine Reihe von Zeug erscheint von denen die meisten 126 00:05:42,270 --> 00:05:45,390 ist wichtig, um uns auf der linken Seite hier. 127 00:05:45,390 --> 00:05:48,710 Ihr Jungs sehen eine Reihe von rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Ja. 129 00:05:49,210 --> 00:05:51,400 >> Das sind im Wesentlichen nur alle Dateiberechtigungen 130 00:05:51,400 --> 00:05:55,960 zu dem, was bestimmte Verzeichnisse zu erklären und Dateien in Ihrem System haben. 131 00:05:55,960 --> 00:05:58,150 Also lassen Sie uns zurück zu die Strom Punkt hier. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 So dass zusätzlich zu den Dateinamen wie euch kann auf der rechten Seite, 134 00:06:06,500 --> 00:06:10,312 Wir schauen, um im wesentlichen zu sehen nur die Spalte auf der linken Seite. 135 00:06:10,312 --> 00:06:12,020 So dass zusätzlich zu einfach die Dateinamen, die wir 136 00:06:12,020 --> 00:06:16,240 können die Berechtigungen von Dateien sehen, die ihre Eigentümer-Gruppe, der Gruppenname, das Datum 137 00:06:16,240 --> 00:06:18,460 , dass die Datei zuletzt modifiziert, et cetera. 138 00:06:18,460 --> 00:06:20,640 Sie können eine Menge Dinge mit chmod zu sehen. 139 00:06:20,640 --> 00:06:26,037 So ist die Art, wie wir lesen chmod ist, dass der erste Buchstabe wir ziemlich viel zu ignorieren 140 00:06:26,037 --> 00:06:27,370 in Bezug auf die Leseberechtigungen. 141 00:06:27,370 --> 00:06:31,460 >> Der erste Buchstabe zeigt uns genau das, was Art des Systems wir Zugriff. 142 00:06:31,460 --> 00:06:34,240 d, in diesem Fall ist ein Ordner oder Verzeichnis. 143 00:06:34,240 --> 00:06:38,430 So dass wir wissen, dass mein derzeitiger Arbeitsplatz Abschnitt sieben war ein Verzeichnis. 144 00:06:38,430 --> 00:06:41,530 Und dann drei sehen Sie Dreiklänge, im Wesentlichen nur 145 00:06:41,530 --> 00:06:43,490 drei Sätze von drei Zeichen. 146 00:06:43,490 --> 00:06:45,680 Und Sie jedes als ein wenig zu denken. 147 00:06:45,680 --> 00:06:49,260 >> So müssen Sie nur noch drei Sätze drei Bits, neun Bits insgesamt. 148 00:06:49,260 --> 00:06:51,420 Sie behandeln sie in Dreiergruppen. 149 00:06:51,420 --> 00:06:56,230 So ist die erste Gruppe von drei ist immer Ihren Benutzerberechtigungen. 150 00:06:56,230 --> 00:07:00,557 >> Ihre zweite Gruppe von drei ist immer die Gruppenberechtigungen. 151 00:07:00,557 --> 00:07:02,765 Und Ihre dritte Satz von drei ist immer, wie die Welt, 152 00:07:02,765 --> 00:07:04,380 die überall Berechtigungen. 153 00:07:04,380 --> 00:07:06,320 Also ich denke, die einfach Frage ist, was ist 154 00:07:06,320 --> 00:07:08,051 der Unterschied zwischen Benutzer- und Gruppen. 155 00:07:08,051 --> 00:07:09,800 Der Hauptunterschied zwischen Benutzer- und Gruppen- 156 00:07:09,800 --> 00:07:13,180 ist, dass ein Benutzer nur Sie persönlich Zugriff auf alles, was es jetzt ist. 157 00:07:13,180 --> 00:07:18,070 Eine Gruppe kann sein, wenn Sie mehrere Benutzern auf einem Computer, zum Beispiel. 158 00:07:18,070 --> 00:07:20,280 Alle von ihnen können als eine Gruppe behandelt werden. 159 00:07:20,280 --> 00:07:23,220 >> Und dann ist die Welt gerade die Welt, jeder. 160 00:07:23,220 --> 00:07:31,010 So dass wir später sehen können, wie wir können, ändern die in unterschiedliche Berechtigungen. 161 00:07:31,010 --> 00:07:33,080 So ziemlich genau, wir sind werde noch konzentrieren 162 00:07:33,080 --> 00:07:38,450 auf dem Teil auf der linken Seite, wo Verzeichnis für CS50 wir sehen drwx, 163 00:07:38,450 --> 00:07:40,970 wo die r bedeutet nur, es ist lesbar. 164 00:07:40,970 --> 00:07:42,620 >> Die w bedeutet nur, es ist beschreibbar. 165 00:07:42,620 --> 00:07:45,470 Und dann die x gerade bedeutet, dass es ausführbar. 166 00:07:45,470 --> 00:07:47,220 Sie würden denken, es Art der ist nicht sinnvoll. 167 00:07:47,220 --> 00:07:47,993 Es sei e sein. 168 00:07:47,993 --> 00:07:50,150 Aber x eigentlich ganz funktioniert ein wenig besser, 169 00:07:50,150 --> 00:07:51,690 da kann man es besser erinnern. 170 00:07:51,690 --> 00:07:56,406 >> So sind die drei Arten von Dingen, die Sie tun können, können Sie entweder eine Datei zu lesen, 171 00:07:56,406 --> 00:07:59,280 können Sie die Erlaubnis, einen zu schreiben Datei, oder Sie können die Berechtigung haben 172 00:07:59,280 --> 00:08:00,780 , eine Datei auszuführen. 173 00:08:00,780 --> 00:08:04,580 Und so ist die Art und Weise, dass wir tatsächlich stellen die in Bits 174 00:08:04,580 --> 00:08:06,940 die Zahlen 4, 2 und 1. 175 00:08:06,940 --> 00:08:12,870 Also alles, was lesbar ist durch die Anzahl der 4 dargestellt. 176 00:08:12,870 --> 00:08:15,150 >> Alles, was beschreibbar ist ist in 2 dargestellt. 177 00:08:15,150 --> 00:08:18,880 Und alles, was ausführbar ist wie durch 1 dargestellt. 178 00:08:18,880 --> 00:08:22,860 In diesem Sinne können wir auch stellen diese numbers-- 179 00:08:22,860 --> 00:08:25,281 hallo, willkommen, auf eine andere Weise. 180 00:08:25,281 --> 00:08:25,780 Es tut uns leid. 181 00:08:25,780 --> 00:08:28,510 Vor allen, ich bin zu gehen entschuldige mich im Namen aller 182 00:08:28,510 --> 00:08:29,468 Eingabe jetzt die Klasse. 183 00:08:29,468 --> 00:08:30,810 Ich habe vergessen, Süßigkeiten heute. 184 00:08:30,810 --> 00:08:33,640 Tut mir leid, ich bin ein Versager in dieser Woche von Halloween. 185 00:08:33,640 --> 00:08:37,070 Ich werde die doppelte Menge an zu bringen candy nächste Mal zu machen das wieder wett. 186 00:08:37,070 --> 00:08:42,360 Aber egal, sorry etwa, dass Jungs, sorry. 187 00:08:42,360 --> 00:08:46,640 >> So ist die Art und Weise, dass wir tatsächlich Eingangs auf unseren Befehl das Argument ist, dass wir 188 00:08:46,640 --> 00:08:51,760 kann chmod Gruppe Slash Berechtigungen zu tun, wo die Gruppe ist nur, was auch immer 189 00:08:51,760 --> 00:08:54,130 Gruppen wir versuchen zu ändern. 190 00:08:54,130 --> 00:08:56,600 Und die Berechtigungen was wir wollen, um es hinzuzufügen. 191 00:08:56,600 --> 00:08:58,860 So zum Beispiel die Plus fügt Berechtigungen, 192 00:08:58,860 --> 00:09:01,590 und subtrahieren nimmt Berechtigungen. 193 00:09:01,590 --> 00:09:07,060 >> Und die Art der Gruppe haben wir unsere a für alle, u für Benutzer, g für Gruppen, 194 00:09:07,060 --> 00:09:09,050 oder o für die anderen. 195 00:09:09,050 --> 00:09:10,300 Es ist ein bisschen abstrakt jetzt. 196 00:09:10,300 --> 00:09:13,550 Aber wir werden über ein paar Beispiele zu gehen nur um diese ganz schnell zu demonstrieren. 197 00:09:13,550 --> 00:09:16,960 Jeder gut auf diese Rutsche, so kann ich weiter? 198 00:09:16,960 --> 00:09:18,280 Cool. 199 00:09:18,280 --> 00:09:21,290 >> So zum Beispiel, rwx. 200 00:09:21,290 --> 00:09:26,720 Bevor wir über das, was sie repräsentiert zu sprechen, vor allem was rwx das? 201 00:09:26,720 --> 00:09:31,450 Wenn Sie sehen, dass dieser bestimmte Datei über Berechtigungen von rwx, 202 00:09:31,450 --> 00:09:34,270 was bedeutet das die Person könnte in der Lage sein zu tun? 203 00:09:34,270 --> 00:09:35,740 >> ZIELGRUPPE: Lesen, Schreiben und Ausführen. 204 00:09:35,740 --> 00:09:36,420 >> ANDI PENG: Ja, genau. 205 00:09:36,420 --> 00:09:37,840 Sie können schreiben, lesen und ausführen. 206 00:09:37,840 --> 00:09:40,790 Da alle drei derjenigen Zeichen vorhanden sind. 207 00:09:40,790 --> 00:09:44,370 Wenn wir also gehen Sie voran und Diskussion darüber in Bezug auf die Bits, 208 00:09:44,370 --> 00:09:48,490 die Rwx kann auch als 700 dargestellt werden. 209 00:09:48,490 --> 00:09:53,370 Weil, wie Sie in jeder sehen können Art von Datei-Verzeichnis Erlaubnis, 210 00:09:53,370 --> 00:09:54,320 es gibt drei Triaden. 211 00:09:54,320 --> 00:09:58,060 >> In diesem Fall ist nur die erste Trias hat alles, was es gibt. 212 00:09:58,060 --> 00:10:04,050 So dass in diesem Fall ist die R 4, W 2 ist, und die x-1 ist. 213 00:10:04,050 --> 00:10:05,860 Wenn Sie solche addieren, es ist 7. 214 00:10:05,860 --> 00:10:08,730 >> Und so, wenn Sie konvertieren es binär, es ist 700. 215 00:10:08,730 --> 00:10:10,310 Weil 7 ist die erste Dreiklang. 216 00:10:10,310 --> 00:10:12,760 0, es gibt nichts vorhanden in der zweiten Triade. 217 00:10:12,760 --> 00:10:15,850 Und dann gibt es nichts vorhanden in die dritte Triade, das ist also ein weiterer 0. 218 00:10:15,850 --> 00:10:22,520 >> Also im gleichen Sinne, ein Bündel von Triaden kann nur in Bits dargestellt werden, nur 219 00:10:22,520 --> 00:10:23,600 im binären als auch. 220 00:10:23,600 --> 00:10:29,920 So 700 bedeutet genau dasselbe wie rwx ------ in Bezug auf Berechtigungen. 221 00:10:29,920 --> 00:10:32,590 Jeder klar auf, dass? 222 00:10:32,590 --> 00:10:33,090 Cool. 223 00:10:33,090 --> 00:10:40,290 Und so chmod 111 geben würde, die Berechtigungen für die Datei? 224 00:10:40,290 --> 00:10:42,600 Gebt euch ein paar Sekunden, um diese zu konvertieren. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Denken Sie daran, das erste Triade ist für den Benutzer. 227 00:10:53,250 --> 00:10:56,320 Der zweite Dreiklang ist für die Gruppe. 228 00:10:56,320 --> 00:10:59,450 Und die dritte Triade ist für jeden etwas. 229 00:10:59,450 --> 00:11:03,680 >> Und so chmod 111 geben würde, die Art der Berechtigungen und an wen? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Nehmen Sie ein paar Sekunden, um denken Sie darüber nach und kommen zurück. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Ja. 234 00:11:20,910 --> 00:11:22,920 >> Publikum: So kann jeder sie auszuführen. 235 00:11:22,920 --> 00:11:23,920 ANDI PENG: Yup, genau. 236 00:11:23,920 --> 00:11:25,544 ZIELGRUPPE: Aber niemand kann lesen und schreiben. 237 00:11:25,544 --> 00:11:27,910 ANDI PENG: Und fühlen Sie sich frei um allen zu erklären 238 00:11:27,910 --> 00:11:29,860 wie Sie zu diesem Schluss gekommen. 239 00:11:29,860 --> 00:11:34,290 >> ZIELGRUPPE: Nun, für den Benutzer, die Gruppe, und die Welt, es ist alles 1, 240 00:11:34,290 --> 00:11:35,700 das ist der Code für die ausführbare Datei. 241 00:11:35,700 --> 00:11:37,070 >> ANDI PENG: Ja, genau. 242 00:11:37,070 --> 00:11:42,320 Also 1, in diesem Fall ist alles, was wir wissen, dass das die ausführbaren Code. 243 00:11:42,320 --> 00:11:45,280 Weil Lesen ist 4. 244 00:11:45,280 --> 00:11:45,990 Schreiben ist 2. 245 00:11:45,990 --> 00:11:47,230 Und die ausführbare Datei ist 1. 246 00:11:47,230 --> 00:11:51,580 So wird alle drei Dreiklänge sind 1, dass bedeutet, dass in der Welt, an den Benutzer, 247 00:11:51,580 --> 00:11:54,680 und zu der Gruppe, sie sind alle ausführbaren Datei. 248 00:11:54,680 --> 00:11:56,170 >> Jeder gut mit, dass? 249 00:11:56,170 --> 00:11:56,940 OK. 250 00:11:56,940 --> 00:11:59,180 Und so ist die zweite Möglichkeit, dass wir tatsächlich 251 00:11:59,180 --> 00:12:01,220 schreibe auch Sie konnte einfach chmod tun 252 00:12:01,220 --> 00:12:05,050 a plus x. a bedeutet, alle oder alle. 253 00:12:05,050 --> 00:12:07,060 Das Plus bedeutet Verzicht Berechtigungen. 254 00:12:07,060 --> 00:12:09,112 Und dann die x bedeutet, ausführbare Datei. 255 00:12:09,112 --> 00:12:11,070 Es gibt also zwei Befehle sind eigentlich identisch. 256 00:12:11,070 --> 00:12:12,903 Also, wenn Sie ausführen möchten dies in Ihrem Endgerät, 257 00:12:12,903 --> 00:12:15,830 Sie chmod 111, Namen zu tun Ihr Verzeichnis oder die Datei. 258 00:12:15,830 --> 00:12:18,520 Oder Sie tun können, chmod ein Plus x, Name des Verzeichnisdatei. 259 00:12:18,520 --> 00:12:22,150 Die gleiche Sache, nur ein einfacher Weg, vielleicht für einige zu stellen oder zu ändern 260 00:12:22,150 --> 00:12:24,280 Dateiberechtigungen. 261 00:12:24,280 --> 00:12:28,806 >> Jeder OK mit chmod bevor wir weitermachen? 262 00:12:28,806 --> 00:12:31,700 Cool. 263 00:12:31,700 --> 00:12:35,336 So, jetzt werden wir in einen Kopf einige Dias von sehr abstrakten Begriffen 264 00:12:35,336 --> 00:12:37,210 dass ich ziemlich viel gehen, um durch Wind. 265 00:12:37,210 --> 00:12:39,530 Und es ist völlig OK, wenn Sie nicht alles verstehen. 266 00:12:39,530 --> 00:12:42,330 >> Selbst jetzt, habe ich noch nicht wirklich alles verstehen komplett. 267 00:12:42,330 --> 00:12:44,640 Aber es ist mehr zu bekommen Die Top-Level-Verständnis 268 00:12:44,640 --> 00:12:47,280 der, wie einige dieser Dinge funktionieren. 269 00:12:47,280 --> 00:12:50,490 So werden wir sprechen schnell über TCP / IP, 270 00:12:50,490 --> 00:12:54,880 Das ist nur Transmission Control Protokoll Slash Internet Protocol. 271 00:12:54,880 --> 00:12:57,135 >> Daran erinnern, vom Vortrag, David, hat er dich lehren 272 00:12:57,135 --> 00:13:00,700 das Beispiel, in dem er übergeben die Notizen in einem Umschlag 273 00:13:00,700 --> 00:13:02,790 bis an die Spitze des Hörsaals gerne? 274 00:13:02,790 --> 00:13:06,990 So in der Law School Auditorium David zeigte im wesentlichen 275 00:13:06,990 --> 00:13:10,370 , wie TCP / IP arbeitet in dem Sinne, dass alle es 276 00:13:10,370 --> 00:13:14,300 ist ein Weg, damit die Daten hat in einem Server ausgeliefert 277 00:13:14,300 --> 00:13:15,870 oder über das Internet. 278 00:13:15,870 --> 00:13:22,270 So in dem Beispiel der Hüllkurve und die Nachricht kann der Benutzer am Ende 279 00:13:22,270 --> 00:13:26,410 konnte sehen, dass, oh, ich brauchte, um erhalten vier Informationspakete. 280 00:13:26,410 --> 00:13:28,096 >> Aber ich eigentlich nur drei erhalten. 281 00:13:28,096 --> 00:13:29,470 Das heißt, ich muss fehlen ein. 282 00:13:29,470 --> 00:13:30,760 Und einer wurde nicht geliefert. 283 00:13:30,760 --> 00:13:33,990 Und so TCP / IP über das Internet, über Ihren Computer und dem Server, 284 00:13:33,990 --> 00:13:35,500 tut genau dasselbe. 285 00:13:35,500 --> 00:13:38,900 Denn es macht nicht angeben, ein Rahmen, in dem ein verlorenes Daten 286 00:13:38,900 --> 00:13:41,100 Pakete können erneut gesendet und empfangen werden. 287 00:13:41,100 --> 00:13:44,760 >> Wie auf dem Internet, wenn Sie versuchen, um Dateien online zugreifen oder Dateien versenden 288 00:13:44,760 --> 00:13:48,210 an Ihren Freund oder schauen Sie auf Web- Browser, Tausende und Abertausende 289 00:13:48,210 --> 00:13:50,440 der Milliarden und Abermilliarden Byte-Daten 290 00:13:50,440 --> 00:13:52,840 werden pro Millisekunde übertragen. 291 00:13:52,840 --> 00:13:54,560 Und es ist wirklich sehr, sehr verwirrend. 292 00:13:54,560 --> 00:13:57,110 Und es ist wirklich schwer, tatsächlich wissen, was gesendet wurde 293 00:13:57,110 --> 00:13:58,270 und was nicht gesendet. 294 00:13:58,270 --> 00:14:02,210 >> Und so TCP / IP nur spezifiziert ein zusammenhängender Rahmen 295 00:14:02,210 --> 00:14:04,115 in denen Sie Ihre Web- Browser und dem Server 296 00:14:04,115 --> 00:14:05,990 kann Art von Kommunikation miteinander, genau 297 00:14:05,990 --> 00:14:08,550 stellen Sie sicher, dass Pakete alle hier und nichts ist verloren 298 00:14:08,550 --> 00:14:12,700 und alle Daten, die Sie angefordert ist eigentlich richtig angezeigt. 299 00:14:12,700 --> 00:14:16,350 Jeder OK auf nur, dass sehr kurze hohem Niveau zu verstehen? 300 00:14:16,350 --> 00:14:18,510 Cool. 301 00:14:18,510 --> 00:14:21,550 >> Also werden wir bewegen ins Gespräch über HTTP, die 302 00:14:21,550 --> 00:14:24,610 ist nur Hypertext Transfer Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, ist alles, was auch immer es ist, jede Seite oder eine Datei auf Ihrer Website zugegriffen wird, 304 00:14:32,550 --> 00:14:35,810 der Server eine HTTP-zurück Statuscode in Reaktion 305 00:14:35,810 --> 00:14:39,869 auf die Anforderung, sicherzustellen, dass entweder, oh, dieser Antrag durchgemacht. 306 00:14:39,869 --> 00:14:41,410 Und alles ist richtig angezeigt. 307 00:14:41,410 --> 00:14:43,500 Oder, oh, nein, 404. 308 00:14:43,500 --> 00:14:44,730 Etwas ist schief gelaufen. 309 00:14:44,730 --> 00:14:45,940 Oh, ich kann nicht angezeigt werden. 310 00:14:45,940 --> 00:14:50,370 >> Alles, was es ist, dass, was auch immer Sie zugreifen möchten, 311 00:14:50,370 --> 00:14:55,160 verwenden als der Benutzer versucht, zuzugreifen, auf der internet-- nur dafür, dass 312 00:14:55,160 --> 00:15:00,080 dass Sie entweder erfolgreich sind abgerufen, was auch immer es war oder nicht 313 00:15:00,080 --> 00:15:02,080 erfolgreich abgerufen, was auch immer es war. 314 00:15:02,080 --> 00:15:05,120 Und so ist die HTTP-Status Code liefert Ihnen gerade 315 00:15:05,120 --> 00:15:09,910 ein Mittel, um in der Lage zu wissen, ob oder nicht erfolgreich war oder nicht. 316 00:15:09,910 --> 00:15:13,440 So zum Beispiel, ein Beispiel Anfrage. 317 00:15:13,440 --> 00:15:16,050 >> Hier können Sie sehen, es ist in der Regel in der Regel vier Zeilen. 318 00:15:16,050 --> 00:15:22,530 Wir haben eine GET HTTP 1.1, das nur das Verfahren die Anfrage-URL, das Protokoll 319 00:15:22,530 --> 00:15:24,490 Version, der Feldname, und der Feldwert. 320 00:15:24,490 --> 00:15:26,810 Also keine Notwendigkeit, komplett merken hier nichts. 321 00:15:26,810 --> 00:15:29,960 Nur irgendwie vertraut zu machen sich mit, wie diese aussehen. 322 00:15:29,960 --> 00:15:34,060 >> In diesem Beispiel wird der Verfahrensanforderungs URL ist nur unabhängig Anfrage 323 00:15:34,060 --> 00:15:35,620 Sie senden den Server. 324 00:15:35,620 --> 00:15:40,710 Wie, hey, Server, ich möchte wirklich Zugang yadda, bla, bla, HTTP-Seite. 325 00:15:40,710 --> 00:15:43,785 Die Protokollversion ist nur, was auch immer Version Ihrer Host oder Server 326 00:15:43,785 --> 00:15:45,490 wird über den Zugang zu Informationen. 327 00:15:45,490 --> 00:15:49,510 >> Der Feldname ist die Website oder der URL, die Sie zugreifen möchten, 328 00:15:49,510 --> 00:15:52,610 in diesem Fall www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Und der Feldwert gerade in der Regel Name, Wert. 330 00:15:56,110 --> 00:15:59,540 Und es kann jede Art von Kombination sein von Buchstaben oder Zahlen oder was auch immer. 331 00:15:59,540 --> 00:16:02,890 >> Also eine typische Anforderung, so dass was Ihr Computer tatsächlich 332 00:16:02,890 --> 00:16:08,400 an den Server sendet, die, sagt hey, Sie wissen, was ich brauche diese angezeigt wird, 333 00:16:08,400 --> 00:16:13,000 das ist die Art der Anfrage dass sie tatsächlich empfangen. 334 00:16:13,000 --> 00:16:16,760 Ein Beispiel dessen, was die Reaktion würde Server zu schicken Ihnen zurück 335 00:16:16,760 --> 00:16:20,320 wäre so ziemlich das gleiche Sache, außer mit einem Statuscode an der Spitze. 336 00:16:20,320 --> 00:16:24,550 So 200, 2 0 0 ist immer den Statuscode für OK. 337 00:16:24,550 --> 00:16:26,050 Wie, OK, dieser Antrag durchgemacht. 338 00:16:26,050 --> 00:16:27,980 Sie waren in der Lage für den Zugriff auf alles richtig. 339 00:16:27,980 --> 00:16:28,810 Das leben ist gut. 340 00:16:28,810 --> 00:16:29,990 Das Leben ist gut. 341 00:16:29,990 --> 00:16:32,150 Alles ist ganz gut. 342 00:16:32,150 --> 00:16:36,050 >> Und so einfach sagt, Ihren Browser und Ihr Server, hey, alles ist gut. 343 00:16:36,050 --> 00:16:37,470 Ich habe alle Informationen, die ich brauche. 344 00:16:37,470 --> 00:16:39,160 Cool. 345 00:16:39,160 --> 00:16:41,790 Aber das Problem ist manchmal Probleme auftauchen 346 00:16:41,790 --> 00:16:46,850 wenn Sie have-- dauern Ich denke, Ich sprach über Duplikate. 347 00:16:46,850 --> 00:16:48,870 Sie haben weniger gute Antworten. 348 00:16:48,870 --> 00:16:52,660 >> So zum Beispiel 404 ist die Seite nicht gefunden. 349 00:16:52,660 --> 00:16:54,897 Sie haben manchmal eine verbotene Zugang. 350 00:16:54,897 --> 00:16:56,730 Sie haben verschiedene andere Statuscodes, die ich 351 00:16:56,730 --> 00:16:59,688 sicher, Sie haben alle gesehen, wenn Sie versuchen, Forschung über das Internet tun. 352 00:16:59,688 --> 00:17:02,300 Und der Browser gibt Ihnen das, nein, nicht zugreifen kann. 353 00:17:02,300 --> 00:17:04,190 Und du bist wie, na ja, Scheiße. 354 00:17:04,190 --> 00:17:09,260 >> Also einfach ziemlich viel, da ist einige ziemlich gemeinsame Statuscodes. 355 00:17:09,260 --> 00:17:14,109 Vielleicht machen Sie sich , mit dem diejenigen, die sind. 356 00:17:14,109 --> 00:17:16,000 Die lustigste eine, Ich denke, dass ich je gehört habe 357 00:17:16,000 --> 00:17:18,040 von--, wenn Sie geschehen, sehen alle von ihnen 358 00:17:18,040 --> 00:17:21,490 online, aus irgendeinem Grund gibt es tatsächlich eine echte Statuscode 359 00:17:21,490 --> 00:17:26,619 genannt 418 Ich bin eine Teekanne. 360 00:17:26,619 --> 00:17:29,610 >> Ich googeln, wo die Ursprung Dieses wurde aus. 361 00:17:29,610 --> 00:17:33,150 Und anscheinend einem April Fools ' Tag ein paar Jahrzehnten, 362 00:17:33,150 --> 00:17:36,415 jemand dachte, es wäre hilarious um einen neuen Statuscode genannt 418 erstellen 363 00:17:36,415 --> 00:17:37,380 Ich bin eine Teekanne. 364 00:17:37,380 --> 00:17:40,760 Legitim, den Namen der diese Code aufgerufen wird Ich bin eine Teekanne. 365 00:17:40,760 --> 00:17:43,670 >> Ich vergesse, welche Seite Sie haben gehen, um tatsächlich machen dieses Display. 366 00:17:43,670 --> 00:17:47,955 Aber anscheinend, können Sie tatsächlich erhalten einen Statuscode von mir 367 00:17:47,955 --> 00:17:51,400 eine Teekanne irgendwie durch, etwas zu tun. 368 00:17:51,400 --> 00:17:54,480 Also gibt es Hunderte und Hunderte von Status-Codes. 369 00:17:54,480 --> 00:17:56,730 >> Einige von ihnen machen mehr Sinn als andere. 370 00:17:56,730 --> 00:18:01,430 Aber ziemlich genau vertraut zu machen sich mit den gebräuchlichsten. 371 00:18:01,430 --> 00:18:04,090 Das angeforderte Entität Körper kurz und dick, anscheinend. 372 00:18:04,090 --> 00:18:07,990 >> Also manchmal gibt es mehr erschreckende Fehler, als ich eine Teekanne. 373 00:18:07,990 --> 00:18:11,210 Aber das ist eine, die ich schätze, Sie Art von Hoffnung zu treffen. 374 00:18:11,210 --> 00:18:14,130 Aber ich glaube nicht, dass man so will. 375 00:18:14,130 --> 00:18:17,260 Jeder gut auf nur Status Codes, Anträge, Verfahren, Herstellung 376 00:18:17,260 --> 00:18:19,155 sicher, dass Informationen ordnungsgemäß zugestellt werden? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> So, jetzt sind wir den Übergang gehen in einer Spaßteil des § heute 379 00:18:26,120 --> 00:18:28,500 wo wir über HTML ein wenig sprechen. 380 00:18:28,500 --> 00:18:32,580 HTML, allem ist es Hyper Auszeichnungssprache. 381 00:18:32,580 --> 00:18:35,160 Es ist nur die Standard-Sprache Sie alle Web zu erstellen verwenden 382 00:18:35,160 --> 00:18:36,690 Seiten im Internet. 383 00:18:36,690 --> 00:18:39,560 >> So dass jeder Web-Seite, was ist Ihre Lieblings-Web-Seite? 384 00:18:39,560 --> 00:18:40,855 Was ist Ihre Lieblings-Webseite? 385 00:18:40,855 --> 00:18:41,771 >> ZIELGRUPPE: [unverständlich]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: Es tut uns leid? 388 00:18:43,090 --> 00:18:43,980 >> ZIELGRUPPE: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI PENG: Tumblr. 390 00:18:44,730 --> 00:18:46,800 So Tumblr ist in HTML geschrieben. 391 00:18:46,800 --> 00:18:50,700 Und so werden wir tatsächlich durch zu gehen und spielen, um mit einige dieser Dinge 392 00:18:50,700 --> 00:18:51,980 später. 393 00:18:51,980 --> 00:18:54,980 So ziemlich alles, was Sie müssen lernen, zu wissen, 394 00:18:54,980 --> 00:18:58,540 HTML schreiben, können Sie wahrscheinlich nur Google auf dem Internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, es ist nicht ein Programm wie C in dem Sie Variablen zu erstellen und zu tun 396 00:19:04,490 --> 00:19:05,600 coole Dinge mit ihm. 397 00:19:05,600 --> 00:19:08,747 Es ist eher einfach, oh, das ist, wie ich wollen die Dinge auf meiner Webseite erscheint. 398 00:19:08,747 --> 00:19:10,080 Und ich werde einfach es in. 399 00:19:10,080 --> 00:19:12,160 Und es geht um Styling. 400 00:19:12,160 --> 00:19:15,650 >> So HTML, in gewissem Sinne, es ist wie eine Formatierung oder Template-Sprache. 401 00:19:15,650 --> 00:19:16,680 Es ist sehr viel einfacher. 402 00:19:16,680 --> 00:19:19,030 Es ist viel einfacher zu erlernen, viel einfacher zu schreiben, in 403 00:19:19,030 --> 00:19:21,450 als der typische Programmier Sprache, sehr einfach, 404 00:19:21,450 --> 00:19:24,310 sehr benutzer zugänglich und freundlich. 405 00:19:24,310 --> 00:19:29,040 >> So dass wir eigentlich vor sich geht, um zu spielen rund, schreiben unsere eigenen Seiten heute. 406 00:19:29,040 --> 00:19:32,900 Doch bevor wir beginnen, möchte ich nur gehen Sie über einige kurze Best Practices. 407 00:19:32,900 --> 00:19:35,660 Da HTML ist so einfach Sprache und weil selbst 408 00:19:35,660 --> 00:19:39,012 wenn Sie ein paar Dinge falsch machen, kann es manchmal nicht bemerken, 409 00:19:39,012 --> 00:19:41,970 wir sicherstellen, dass wir wollen, tatsächlich in unseren Best Practices anhaftende 410 00:19:41,970 --> 00:19:44,490 um sicherzustellen, dass Dinge, die könnte um zu gehen, aber 411 00:19:44,490 --> 00:19:49,660 sind nicht immer gehen, um nicht richtig gehen sicherstellen, dass sie minimiert sind. 412 00:19:49,660 --> 00:19:53,570 >> So ziemlich sicher, Ihre Schließung alle Tags 413 00:19:53,570 --> 00:19:54,737 wenn Sie in HTML zu schreiben. 414 00:19:54,737 --> 00:19:56,486 Wenn Sie öffnen ein Körper, stellen Sie sicher, du bist 415 00:19:56,486 --> 00:19:58,015 Schließen Sie es mit einem Körper irgendwo. 416 00:19:58,015 --> 00:20:00,720 Sie wollen sicherstellen, dass Ihr Web-Seite überprüft, indem 417 00:20:00,720 --> 00:20:02,070 was heißt das W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Sie können einfach Google, die online, und es gibt einen Link darauf. 419 00:20:05,460 --> 00:20:07,820 >> Und dann hast du zu wollen, separate HTML, die 420 00:20:07,820 --> 00:20:13,060 ist Ihr Markup-Sprache aus Stil, dem die CSS Sprache ist, dass David 421 00:20:13,060 --> 00:20:17,510 gezeigt, dass wir auch gehen, um ein wenig mit Vortrag zu spielen. 422 00:20:17,510 --> 00:20:19,120 Cool. 423 00:20:19,120 --> 00:20:23,500 Also, wenn Sie ausführen möchten HTML auf dem CS50-Appliance, 424 00:20:23,500 --> 00:20:26,240 wir werden einen Lauf Programm namens Apache, 425 00:20:26,240 --> 00:20:29,810 die alle es ist nur eine gebaut Web-Server, dass jeder in CS50 426 00:20:29,810 --> 00:20:31,410 Zugriff hat. 427 00:20:31,410 --> 00:20:35,700 Wir nennen es apache50 nur weil wir mag alles 50 in CS50 nennen. 428 00:20:35,700 --> 00:20:39,610 >> So ist die Möglichkeit, dass Sie die Web-CS50 starten Server, indem Sie auf Befehl 429 00:20:39,610 --> 00:20:42,860 Linie apache50 starten dot. 430 00:20:42,860 --> 00:20:46,665 Und wenn Sie es auf jeder enden soll Zeit, müssen Sie apache50 Ende keinen Punkt. 431 00:20:46,665 --> 00:20:47,910 Und Sie einfach Enter drücken. 432 00:20:47,910 --> 00:20:50,810 Und es sollte hier oben in Richtung früh. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Jep. 435 00:20:54,130 --> 00:20:58,110 Also ich werde einfach schnell über zu gehen ein Beispiel für eine wirklich kurze Web-Seite. 436 00:20:58,110 --> 00:21:00,280 Und wir gehen zu verbringen wie 10, 15 Minuten Spiel 437 00:21:00,280 --> 00:21:04,008 rund schreiben unsere eigenen Web-Seiten. 438 00:21:04,008 --> 00:21:05,320 OK. 439 00:21:05,320 --> 00:21:07,841 Also hier in der IDE-- kann jeder sehen, dass? 440 00:21:07,841 --> 00:21:08,340 Nicht wirklich. 441 00:21:08,340 --> 00:21:11,400 Hier, ich heranzoomen. 442 00:21:11,400 --> 00:21:15,850 >> Ich habe gerade diese kurze Vorlage bekam hier mit nichts wirklich in ihm. 443 00:21:15,850 --> 00:21:20,660 Wir sind gerade dabei, schnell zu schreiben ein HTML-Programm, in dem wir gerade 444 00:21:20,660 --> 00:21:22,050 sagen hallo zu der Welt. 445 00:21:22,050 --> 00:21:24,970 Also dasselbe wie in C, jetzt sind wir nur gehen, um es in HTML zu tun. 446 00:21:24,970 --> 00:21:28,250 Will jemand eigentlich nur versuchen, dass sie mir die erste, was Sie 447 00:21:28,250 --> 00:21:31,870 müsste in einem HTML-Dokument zu setzen? 448 00:21:31,870 --> 00:21:32,850 Ja. 449 00:21:32,850 --> 00:21:35,965 >> Publikum: Die Klammern, die [unverständlich]. 450 00:21:35,965 --> 00:21:36,590 ANDI PENG: Yep. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Also etwas, das sehr einzigartig ist HTML, die wir in der Regel traditionell 453 00:21:50,930 --> 00:21:56,080 nicht in andere Befehls begegnen Line-Level-Programmiersprachen 454 00:21:56,080 --> 00:21:59,890 ist, dass wir tatsächlich geben Sie den Dateityp 455 00:21:59,890 --> 00:22:01,987 dass dies sein wird, an der Spitze der unseren Code. 456 00:22:01,987 --> 00:22:04,570 Also in diesem instance-- Ich denke, das ist der richtige Befehl, nicht wahr? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Jep. 459 00:22:10,550 --> 00:22:14,860 An der Spitze, Sie wollen einfach nur schließen Knall DOCTYPE html in Klammern nur 460 00:22:14,860 --> 00:22:17,670 um Ihren Computer zu sagen, hey, wo sie nach. 461 00:22:17,670 --> 00:22:20,050 Und HTML-Dokument kommt. 462 00:22:20,050 --> 00:22:22,250 Und dann, wie wollen wir damit beginnen, unsere Datei? 463 00:22:22,250 --> 00:22:25,540 Wenn wir wollen, nur um Hallo zu sagen, haben eine Web-Seite, die sagt hallo an die Welt, 464 00:22:25,540 --> 00:22:26,915 wie gehen wir über den Bau dies gehen? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> Eigentlich, lassen Sie uns bei Google schalten. 467 00:22:35,300 --> 00:22:36,910 Und wir können tatsächlich tun. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Jep. 470 00:22:43,670 --> 00:22:44,840 Da gehen wir. 471 00:22:44,840 --> 00:22:47,630 So HTML. 472 00:22:47,630 --> 00:22:52,390 Wie Sie sehen können, ist mein Browser tatsächlich automatisch Styling dies für mich. 473 00:22:52,390 --> 00:22:56,010 >> Gleiche wie in C, wenn Sie schaffen eine offene geschweifte Klammer, 474 00:22:56,010 --> 00:22:59,020 Ihrem Browser automatisch fügt in einem engen geschweifte Klammer. 475 00:22:59,020 --> 00:23:02,210 Zum Glück liebt unsere IDE tun dies auch für uns. 476 00:23:02,210 --> 00:23:05,490 So, jetzt können wir Art von Typ der Anfang eines Tags, 477 00:23:05,490 --> 00:23:09,139 und es wird immer sagen uns, denken Sie daran, das Ende der Tag-Typ. 478 00:23:09,139 --> 00:23:10,680 Ich denke, das muss aktiviert werden. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Und dann hinzufügen möchten wir, immer, einen Kopf, in dem der Titel. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Wir wollen einfach nur vielleicht nennen Diese hallo, und dann Körper. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Und los gehts. 485 00:23:36,310 --> 00:23:39,650 Das ist eigentlich unsere HTML-Dokument. 486 00:23:39,650 --> 00:23:45,030 So ist die Art und Weise, dass jedes HTML-Dokument immer in-- elbe Stil 487 00:23:45,030 --> 00:23:46,720 mit int main nichtig. 488 00:23:46,720 --> 00:23:49,600 Sie wollen immer zu haben, HTML eine offene und enge tag 489 00:23:49,600 --> 00:23:52,100 an der Ober- und Unterseite des Codes. 490 00:23:52,100 --> 00:23:56,900 >> Sie möchten eine Kopf Innenseite haben die den Titel enthält, gerade was auch immer 491 00:23:56,900 --> 00:24:01,430 wird sich die Registerkarte Ihres Web-Anzeigen Seite, und ein Körper innerhalb dessen 492 00:24:01,430 --> 00:24:04,120 tatsächlich den Inhalt anzeigen von was auch immer Sie tun möchten. 493 00:24:04,120 --> 00:24:08,220 Also, wenn Sie wollte eigentlich laufen Dazu werde ich herausheranzoomen. 494 00:24:08,220 --> 00:24:12,740 Sie können tatsächlich beginnen apache50 starten dot. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Cool. 497 00:24:16,150 --> 00:24:18,980 So wie Sie sehen können, jetzt Link herausgeklappt ist. 498 00:24:18,980 --> 00:24:21,940 Er sagt, Ihre Website ist jetzt zur Verfügung zu einem bestimmten Link unten. 499 00:24:21,940 --> 00:24:25,910 So alle unsere IDE hat done-- keine IDE, sorry-- ja, 500 00:24:25,910 --> 00:24:33,280 unsere IDE getan hat, ist ein Web erstellen Link auf dem alle unsere Web-Seiten 501 00:24:33,280 --> 00:24:35,407 auf dem Server zugegriffen werden. 502 00:24:35,407 --> 00:24:36,490 Werfen wir also einen Blick hier. 503 00:24:36,490 --> 00:24:40,240 >> Lassen Sie auf diese, gehen Sie auf hello.html. 504 00:24:40,240 --> 00:24:42,895 Und Sie sehen, eine sehr einfache Web-Seite für Hallo Welt. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 OK. 507 00:24:47,420 --> 00:24:50,513 Wir sind eigentlich los, um nur haben everyone-- ja, was ist los? 508 00:24:50,513 --> 00:24:52,353 >> Publikum: Ich habe eine grundlegende Frage. 509 00:24:52,353 --> 00:24:52,978 ANDI PENG: Yup. 510 00:24:52,978 --> 00:24:58,064 Publikum: Wie bewerten Sie sparen Ihre Datei als HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI PENG: Ja. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Also, wenn ich eine neue Datei zu erstellen, wenn ich New File, Untittle, wenn ich es tue, 514 00:25:10,820 --> 00:25:14,390 section.html, boom, das ist alles, was ich tun muss. 515 00:25:14,390 --> 00:25:15,363 >> ZIELGRUPPE: [unverständlich]? 516 00:25:15,363 --> 00:25:15,946 ANDI PENG: Nein 517 00:25:15,946 --> 00:25:16,660 ZIELGRUPPE: [unverständlich]. 518 00:25:16,660 --> 00:25:17,240 ANDI PENG: Nein 519 00:25:17,240 --> 00:25:18,156 ZIELGRUPPE: [unverständlich]. 520 00:25:18,156 --> 00:25:19,110 ANDI PENG: Ja. 521 00:25:19,110 --> 00:25:24,300 Ziemlich viel, die Erweiterung auf die Datei, die in Ihrem IDE ist, 522 00:25:24,300 --> 00:25:27,840 daß teilt dem Computer mit, dass teilt dem Browser mit, hey, wo sie nach. 523 00:25:27,840 --> 00:25:30,480 Das wird Code in dieser Sprache geschrieben. 524 00:25:30,480 --> 00:25:34,240 So beispielsweise in Microsoft Wort, was zu tun alle Word-Dokumente 525 00:25:34,240 --> 00:25:37,070 am Ende mit, welche Erweiterungs? 526 00:25:37,070 --> 00:25:39,830 .doc oder .docx, nicht wahr? 527 00:25:39,830 --> 00:25:42,299 >> Alles, was tut, ist, gibt an, Ihr Betriebssystem, hey, 528 00:25:42,299 --> 00:25:43,840 Sie ein Worddokument kommen haben. 529 00:25:43,840 --> 00:25:44,940 Öffnen Sie es mit Word. 530 00:25:44,940 --> 00:25:46,955 Das Gleiche gilt für PDFs. 531 00:25:46,955 --> 00:25:49,650 Es weiß, oh, ich brauche zu öffnen, diese Datei 532 00:25:49,650 --> 00:25:52,020 mit Adobe Reader oder Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Und so funktionieren die Erweiterungen genauso wie in Ihrem Computer. 534 00:25:56,130 --> 00:26:00,750 Wenn Sie Ihre Codepage angeben HTML benannt werden kann, dann weiß es, 535 00:26:00,750 --> 00:26:01,880 oh, du HTML-Code haben. 536 00:26:01,880 --> 00:26:04,890 Ich werde es als HTML-Code zu behandeln. 537 00:26:04,890 --> 00:26:06,600 So ist es in diesem Sinne Super smart. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> So dass jeder, lassen Sie uns wie 10 Minuten dauern und erstellen Sie einfach unsere eigenen Websites. 540 00:26:18,730 --> 00:26:21,020 Lassen Sie uns in die schönen Dinge hinzuzufügen. 541 00:26:21,020 --> 00:26:23,440 Fühlen Sie sich frei zu sagen, was Sie wollen. 542 00:26:23,440 --> 00:26:27,890 Ich möchte nur, um sicherzustellen, dass jeder Server ordnungsgemäß ausgeführt werden 543 00:26:27,890 --> 00:26:31,220 bevor wir befreien Sie in das pset. 544 00:26:31,220 --> 00:26:33,490 Denn wenn Sie Ihre Server nicht für die pset laufen, 545 00:26:33,490 --> 00:26:34,847 dass wird wirklich, wirklich schlecht. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Ich werde einfach zu schweben und sehen, was jeder gerade arbeitet. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Wie geht's? 550 00:27:27,590 --> 00:27:29,048 >> Publikum: Ich drehte mich nur auf meinem Computer. 551 00:27:29,048 --> 00:27:29,923 >> ANDI Peng: Das ist in Ordnung. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> ZIELGRUPPE: [unverständlich]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI PENG: Sie Ihre IDE. 555 00:27:44,284 --> 00:27:44,784 Ja. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> ZIELGRUPPE: [unverständlich]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI PENG: Es ist OK. 559 00:27:57,590 --> 00:27:59,491 >> ZIELGRUPPE: [unverständlich]. 560 00:27:59,491 --> 00:28:00,490 ANDI PENG: Völlig in Ordnung. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Ist jeder Zugriff ihre Web-Server OK? 563 00:28:51,530 --> 00:28:52,970 Wird apache50 läuft OK? 564 00:28:52,970 --> 00:28:54,700 Ich denke, in einigen die anderen Abschnitte, die wir 565 00:28:54,700 --> 00:28:58,790 hatte Probleme mit Menschen nicht in der Lage, auf den Server zuzugreifen. 566 00:28:58,790 --> 00:28:59,290 Ja. 567 00:28:59,290 --> 00:29:05,764 So können Sie einfach laufen apache50 Raum beginnen Raumzeit. 568 00:29:05,764 --> 00:29:06,680 ZIELGRUPPE: [unverständlich]. 569 00:29:06,680 --> 00:29:07,610 ANDI PENG: Yup. 570 00:29:07,610 --> 00:29:08,294 Gut? 571 00:29:08,294 --> 00:29:09,210 >> ZIELGRUPPE: [unverständlich]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI PENG: Oh, OK. 574 00:29:13,350 --> 00:29:14,808 Also man eigentlich, um einen Raum zu haben. 575 00:29:14,808 --> 00:29:15,425 So apache50-- 576 00:29:15,425 --> 00:29:16,115 >> ZIELGRUPPE: ich tat. 577 00:29:16,115 --> 00:29:17,661 >> ANDI PENG: --start Raum. 578 00:29:17,661 --> 00:29:18,660 ZIELGRUPPE: Oh, Raum dot. 579 00:29:18,660 --> 00:29:20,110 ANDI PENG: Yup, Raum dot. 580 00:29:20,110 --> 00:29:23,230 Dort gehen Sie. 581 00:29:23,230 --> 00:29:25,490 Also, wenn Sie eine HTML-Seite erstellt, 582 00:29:25,490 --> 00:29:28,560 dann können Sie einfach gehen Sie direkt auf die Verbindung, die es gibt. 583 00:29:28,560 --> 00:29:30,539 Und Sie sollten in der Lage, darauf zuzugreifen. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Jeder war in der Lage Zugriff auf ihre Webseiten OK? 586 00:29:37,876 --> 00:29:39,339 >> ZIELGRUPPE: [unverständlich]. 587 00:29:39,339 --> 00:29:40,380 ANDI PENG: Oh, das ist OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> ZIELGRUPPE: [unverständlich]. 590 00:29:44,964 --> 00:29:45,630 ANDI PENG: Ja. 591 00:29:45,630 --> 00:29:48,171 Ich denke, dass Sie tatsächlich öffnen kann es in Ihrem Browser, Browser 592 00:29:48,171 --> 00:29:49,955 und nicht nur Ihre IDE Browser. 593 00:29:49,955 --> 00:29:51,580 Ja, ich denke, wenn Sie kopieren und. 594 00:29:51,580 --> 00:29:53,920 >> Publikum: Und dann Wie können wir schalten Sie es aus? 595 00:29:53,920 --> 00:29:54,590 [UNVERSTÄNDLICH] 596 00:29:54,590 --> 00:29:58,720 >> ANDI PENG: Ja, tun Sie apache50 stoppen ohne Zeitraum. 597 00:29:58,720 --> 00:29:59,220 Jep. 598 00:29:59,220 --> 00:30:01,180 >> ZIELGRUPPE: [unverständlich]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI PENG: Ohne Zeitraum. 600 00:30:02,768 --> 00:30:04,051 Ja. 601 00:30:04,051 --> 00:30:04,550 Da gehen wir. 602 00:30:04,550 --> 00:30:05,050 Jep. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Wir schaffen unsere eigenen Web-Seiten. 605 00:30:09,855 --> 00:30:10,646 >> ZIELGRUPPE: Oh, cool. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI PENG: Ja. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> Publikum: Ich habe eine Frage. 610 00:30:22,420 --> 00:30:25,294 So Apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI PENG: 50, yeah. 612 00:30:26,731 --> 00:30:28,168 >> ZIELGRUPPE: [unverständlich]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI PENG: Was? 614 00:30:29,130 --> 00:30:29,750 Das ist komisch. 615 00:30:29,750 --> 00:30:32,244 Siehst du, das war eine Art der Ausgabe Das war, bevor geschieht. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 OK. 618 00:30:38,730 --> 00:30:39,800 Sehen Sie mich nach dem Abschnitt. 619 00:30:39,800 --> 00:30:42,320 Weil wir mit einigen Probleme mit dem Server. 620 00:30:42,320 --> 00:30:44,325 >> Und Sie machen wollen Sie sicher, dass Ihr Server 621 00:30:44,325 --> 00:30:45,700 vor dem Start der pset läuft. 622 00:30:45,700 --> 00:30:47,800 Denn du wirst es brauchen. 623 00:30:47,800 --> 00:30:48,300 Ja. 624 00:30:48,300 --> 00:30:51,299 Gibt es jemand, der nicht gewesen ist in der Lage, um ihre Server zu starten? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Für diejenigen unter Ihnen, die hinzugefügt werden soll zusätzliche Stil, um Ihre Web-Seiten, 627 00:31:17,840 --> 00:31:20,450 wir tatsächlich tun, was David tat im Vortrag als auch, 628 00:31:20,450 --> 00:31:24,070 das erstellen eines zusätzlichen Stil ist Blatt, das einen Punkt CSS ist, Cascading 629 00:31:24,070 --> 00:31:30,080 Style Sheet und eigentlich nur in hinzuzufügen. 630 00:31:30,080 --> 00:31:33,550 So zum Beispiel, Ich habe gerade erstellt haben so ziemlich fast genau die gleiche einem 631 00:31:33,550 --> 00:31:37,180 David tat im Vortrag. 632 00:31:37,180 --> 00:31:39,220 Sie können ziemlich einfach zu tun Körper. 633 00:31:39,220 --> 00:31:45,980 >> Sie haben, was sind Tags genannt, in denen Sie anwenden können, um was auch immer Schnitt IDE 634 00:31:45,980 --> 00:31:48,650 Sie möchten, dass Ihr innerhalb Ist auf HTML-Seite. 635 00:31:48,650 --> 00:31:54,890 So dass der Körper der Seite können Sie können Text align Zentrum zu tun. 636 00:31:54,890 --> 00:31:58,110 Und dann werde ich kreativ ein Tag namens oberen Innen 637 00:31:58,110 --> 00:32:01,860 von denen ich möchte diese Dinge passieren, weisen eine größere Pixelgröße 638 00:32:01,860 --> 00:32:03,104 für die Schriftart. 639 00:32:03,104 --> 00:32:04,520 Ich möchte die Schriftstärke, kühn zu sein. 640 00:32:04,520 --> 00:32:06,478 Und ich möchte die Farbe sein blau, nur willkürlich 641 00:32:06,478 --> 00:32:08,570 Werte, die ich beschlossen, zu wählen. 642 00:32:08,570 --> 00:32:10,870 Ich kann einen weiteren Tag mit der Bezeichnung Mittel erstellen. 643 00:32:10,870 --> 00:32:12,640 Schriftgröße, um es ein bisschen kleiner. 644 00:32:12,640 --> 00:32:17,730 Und dann kann ich einen anderen Tag zu erstellen rief unten, wo ich die Schriftgröße 645 00:32:17,730 --> 00:32:20,900 sogar noch kleiner sein. 646 00:32:20,900 --> 00:32:25,630 >> Und so ziemlich genau das ist nur Beispiel der Quellcode oder Source-Stylesheets 647 00:32:25,630 --> 00:32:27,400 dass es sehr leicht, einfach Google. 648 00:32:27,400 --> 00:32:31,560 Wenn Sie sagen, oh, ich will, dass meine Schrift kursiv und dunkelgrün werden, 649 00:32:31,560 --> 00:32:33,980 können Sie wahrscheinlich Google, und dann wird es Ihnen sagen, 650 00:32:33,980 --> 00:32:37,590 die entsprechenden Tags oder IDs zu erstellen. 651 00:32:37,590 --> 00:32:41,670 Und so ist die Art und Weise, dass Sie tatsächlich Art haben dies in einem HTML-Dokument 652 00:32:41,670 --> 00:32:45,660 oder verwenden Sie es alles, was Sie haben, hier zu tun ist an der Spitze 653 00:32:45,660 --> 00:32:48,560 einen Link zu dem Stylesheet. 654 00:32:48,560 --> 00:32:53,600 >> So können Sie einfach link href equals was auch immer der Name des Stylesheet 655 00:32:53,600 --> 00:32:54,590 ist. 656 00:32:54,590 --> 00:32:56,740 Und dann wird die Beziehung ist ein Stylesheet. 657 00:32:56,740 --> 00:33:00,700 Also innerhalb eines HTML-Dokuments, so lange, wie Sie, um diesen Punkt CSS Blatt, 658 00:33:00,700 --> 00:33:07,140 Sie sollten in der Lage sein, den Zugriff auf und die Eigenschaften gibt. 659 00:33:07,140 --> 00:33:10,370 >> So zum Beispiel, hier habe ich gerade erstellen ein weiteres Beispiel Web-Seite. 660 00:33:10,370 --> 00:33:15,680 Dies ist herzlich eingeladen, CS50 Schnitt Dienstags von 2.00 Uhr bis 3.30 Uhr bei mir. 661 00:33:15,680 --> 00:33:20,300 Und dann habe ich ein schönes Bild fügte hinzu, dass sollten wir möglicherweise in der Lage, zu sehen. 662 00:33:20,300 --> 00:33:24,620 >> Also, wenn Sie hier einen Blick, Wenn Sie gehen, um style.html, 663 00:33:24,620 --> 00:33:26,310 wir eine Webseite erstellt mit Kätzchen. 664 00:33:26,310 --> 00:33:29,420 Weil kitten sind genial. 665 00:33:29,420 --> 00:33:33,570 So dass das Hinzufügen eines Bildes nur img src Link. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Ziemlich viel, wenn es jede Art von Funktion 668 00:33:38,310 --> 00:33:40,268 Sie hinzufügen möchten Ihren website-- so lassen Sie uns sagen, 669 00:33:40,268 --> 00:33:43,290 Sie ein Menü hinzufügen möchten oder eine Suchleiste oder dergleichen 670 00:33:43,290 --> 00:33:46,450 ein image-- nur Google, wie das geht. 671 00:33:46,450 --> 00:33:48,277 Und Sie nur plop in diesem Format. 672 00:33:48,277 --> 00:33:50,110 Und man kann einfach hübsch viel gerade in hinzuzufügen. 673 00:33:50,110 --> 00:33:52,670 Es ist wirklich, wirklich einfach. 674 00:33:52,670 --> 00:33:55,014 >> Wir schaffen unsere eigene Web-Seiten jetzt. 675 00:33:55,014 --> 00:33:55,680 Wenn Sie wollen-- 676 00:33:55,680 --> 00:33:56,580 >> ZIELGRUPPE: [unverständlich] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: Es tut uns leid? 678 00:33:57,470 --> 00:33:59,310 >> ZIELGRUPPE: [unverständlich]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI PENG: Oh, das div ist nur ein Unternehmensbereich 680 00:34:01,340 --> 00:34:04,370 erzählte mir, dass, oh, ich habe ein bestimmter Abschnitt namens 681 00:34:04,370 --> 00:34:07,480 Mitte, in der ich die Anwendung meine CSS-Tag, und dann 682 00:34:07,480 --> 00:34:09,619 meine anderen Sparte mit dem Boden. 683 00:34:09,619 --> 00:34:10,785 Das ist alles, es sage. 684 00:34:10,785 --> 00:34:12,743 Da ist es schön zu halten Dinge ordentlich in Ordnung, 685 00:34:12,743 --> 00:34:16,304 so erkennt das Programm, wie genau zu laufen. 686 00:34:16,304 --> 00:34:18,929 Und denke, ich kann diese kopieren und einfügen in meine aktuellen Browser auch. 687 00:34:18,929 --> 00:34:21,110 Es sollte in Ordnung sein. 688 00:34:21,110 --> 00:34:21,610 Ja. 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 Also, wenn jeder will nur versuchen, die Schaffung einer Web-Seite, 692 00:34:29,380 --> 00:34:32,169 wir werden noch zwei bis drei Minuten. 693 00:34:32,169 --> 00:34:34,460 Ich will einfach nur, um sicherzustellen, jeden Server ausgeführt werden 694 00:34:34,460 --> 00:34:36,941 und jeder hat ein Vorstellung davon, wie man das macht. 695 00:34:36,941 --> 00:34:38,774 Wenn Sie Jungs wollen nehmen Sie Ihre Computer. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Funktioniert immer noch nicht? 698 00:34:45,635 --> 00:34:47,420 >> ZIELGRUPPE: Ich bin nur [unverständlich]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: Vielleicht versuchen aktualisieren 50 als gut. 700 00:34:49,838 --> 00:34:51,392 Ja. 701 00:34:51,392 --> 00:34:52,308 ZIELGRUPPE: [unverständlich]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI PENG: Ja. 704 00:35:18,990 --> 00:35:23,750 So ist die Möglichkeit, dass Sie einen neuen starten Web-Server auf dem IDE ist nur 705 00:35:23,750 --> 00:35:27,889 tun apache50 Raum Startfeld dot. 706 00:35:27,889 --> 00:35:30,430 Ich wollte nur, um sicherzustellen, jeder Server laufen OK. 707 00:35:30,430 --> 00:35:31,763 >> Publikum: Hier, auf dem Terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI PENG: Ja. 709 00:35:33,334 --> 00:35:34,250 ZIELGRUPPE: [unverständlich]. 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 Eigentlich denke ich, du bist läuft schon etwas. 713 00:35:42,010 --> 00:35:43,145 Ja, eigentlich bist du Laufen einen anderen Server. 714 00:35:43,145 --> 00:35:43,830 Ja, du bist gut. 715 00:35:43,830 --> 00:35:45,085 Solange das funktioniert, du bist OK. 716 00:35:45,085 --> 00:35:45,626 >> ZIELGRUPPE: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI PENG: Es gibt zwei Möglichkeiten, um Server laufen. 718 00:35:47,615 --> 00:35:49,990 So lange, wie eine der Möglichkeiten, arbeitet, es ist alles in Ordnung. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Wir werden noch eine Minute dauern nur um Art beenden 721 00:36:21,680 --> 00:36:25,280 den letzten Schliff von was auch immer Webseite euch machen wollte. 722 00:36:25,280 --> 00:36:26,830 >> Ist alle, die durch die Art und Weise? 723 00:36:26,830 --> 00:36:30,910 Jeder Server sind laufen zudem für Sie? 724 00:36:30,910 --> 00:36:32,210 Wir werden das herausfinden. 725 00:36:32,210 --> 00:36:34,137 Und HTML ist recht einfach. 726 00:36:34,137 --> 00:36:35,220 Also ich denke, wir sind alle gut. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Ja. 729 00:36:38,760 --> 00:36:41,070 Ich werde zurück kommen. 730 00:36:41,070 --> 00:36:42,797 >> ZIELGRUPPE: [unverständlich]. 731 00:36:42,797 --> 00:36:43,380 ANDI PENG: OK. 732 00:36:43,380 --> 00:36:44,770 Publikum: So ist es nur begann zu laden. 733 00:36:44,770 --> 00:36:45,686 ANDI PENG: Keine Sorge. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 So HTML, es gibt Quellcode, werden online nach Schnitt sein. 736 00:36:52,680 --> 00:36:54,810 Außerdem hat David eine ganze Haufen auch online. 737 00:36:54,810 --> 00:36:58,190 Nur irgendwie Blick über sie sehen, wie HTML-Seiten geschrieben werden. 738 00:36:58,190 --> 00:36:59,920 Es ist ziemlich einfach. 739 00:36:59,920 --> 00:37:03,979 Alles, was Sie nicht wissen, Sie ziemlich viel nur Google und du bist gut. 740 00:37:03,979 --> 00:37:06,270 Ich möchte nur, um sicherzustellen, dass Ihre Server laufen. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Publikum: Gibt es dazu oft? 743 00:37:14,880 --> 00:37:16,421 >> ANDI PENG: Es ist mir nie passiert. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Ich wusste nicht, es auch überwintern konnte. 746 00:37:20,782 --> 00:37:22,516 >> ZIELGRUPPE: [unverständlich]. 747 00:37:22,516 --> 00:37:25,140 ANDI PENG: Ich denke, everyone-- mir hat noch nie Winterschlaf. 748 00:37:25,140 --> 00:37:26,860 Und ich weiß nicht, warum. 749 00:37:26,860 --> 00:37:27,566 Es ist komisch. 750 00:37:27,566 --> 00:37:29,310 >> ZIELGRUPPE: [unverständlich]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: Ist Ihnen im Winterschlaf? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> ZIELGRUPPE: [unverständlich]. 754 00:37:33,669 --> 00:37:34,335 ANDI PENG: Ja. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 Publikum: Es ist in Ordnung. 757 00:37:39,872 --> 00:37:40,622 Also, wenn es geöffnet ist. 758 00:37:40,622 --> 00:37:41,760 ANDI PENG: OK. 759 00:37:41,760 --> 00:37:43,940 Wir werden mit einem Server umgehen Fragen nach dem Abschnitt. 760 00:37:43,940 --> 00:37:44,860 Sie sollten in Ordnung sein. 761 00:37:44,860 --> 00:37:47,950 Sicherstellen, dass Sie, obwohl, Sie wollen sie gelöst bekommen, bevor Sie verlassen. 762 00:37:47,950 --> 00:37:49,380 Denn wenn Ihre Server nicht läuft, dann bist du 763 00:37:49,380 --> 00:37:52,004 nicht in der Lage, um das zu tun PSET wie jeder Teil der PSET. 764 00:37:52,004 --> 00:37:54,200 So können Sie sicherstellen möchten, dass diese funktioniert. 765 00:37:54,200 --> 00:37:54,831 Cool. 766 00:37:54,831 --> 00:37:55,330 Gut. 767 00:37:55,330 --> 00:37:56,490 Verabschieden Kätzchen. 768 00:37:56,490 --> 00:37:59,670 Ich verbrachte eine lange Zeit auf der Suche nach dass kitten Bild, um anzuziehen. 769 00:37:59,670 --> 00:38:02,272 Also, sowieso. 770 00:38:02,272 --> 00:38:04,950 >> ZIELGRUPPE: [unverständlich]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: Es tut uns leid? 772 00:38:05,770 --> 00:38:07,345 >> ZIELGRUPPE: [unverständlich]. 773 00:38:07,345 --> 00:38:08,970 ANDI Peng: Ich denke, es ist auf der Website. 774 00:38:08,970 --> 00:38:11,064 Wie die spec? 775 00:38:11,064 --> 00:38:12,020 >> ZIELGRUPPE: [unverständlich]. 776 00:38:12,020 --> 00:38:16,080 Ich denke, das ist nur spec Online in Woche sieben. 777 00:38:16,080 --> 00:38:18,850 Ich glaube, es heißt pset6 selbst wenn wir am Wochenende sieben, sind die 778 00:38:18,850 --> 00:38:19,641 ist ein Bit-Computing. 779 00:38:19,641 --> 00:38:23,130 ZIELGRUPPE: Aber ich meine, wenn Sie aussehen wollen at-- wenn Sie 780 00:38:23,130 --> 00:38:28,666 wollen unsere Version nach oben ziehen die Website, von unserer sever? 781 00:38:28,666 --> 00:38:31,820 So wie server.c ist die pset, nicht wahr? 782 00:38:31,820 --> 00:38:36,514 Wenn Sie wollen, dies zu betrachten, wie, wie sie überprüft heraus? 783 00:38:36,514 --> 00:38:38,680 ANDI PENG: Oh, also eigentlich die pset, sind alles, was wir tun, 784 00:38:38,680 --> 00:38:41,405 Hier ist hier implementing--, Ich werde über diese kurz zu gehen. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Also für alle, die gerade bekommen hat Abschnitt, ihr Jungs haben Glück. 787 00:38:47,020 --> 00:38:49,340 Es gibt sehr wenig Material heute tatsächlich decken. 788 00:38:49,340 --> 00:38:52,585 >> Ich werde einfach die nächste zu verbringen 20 Minuten gehen über pset Hilfe. 789 00:38:52,585 --> 00:38:55,210 Denn es gibt einige nützliche Funktionen, die Ihr Leben helfen. 790 00:38:55,210 --> 00:38:57,501 Und hoffentlich werden wir heraus sein der hier in wie 20 Minuten. 791 00:38:57,501 --> 00:38:58,360 OK. 792 00:38:58,360 --> 00:39:00,252 >> So pset7 ist falsch. 793 00:39:00,252 --> 00:39:02,460 Auch wenn wir am Wochenende sind sieben, es ist eigentlich pset6. 794 00:39:02,460 --> 00:39:04,220 Ich werde das ändern. 795 00:39:04,220 --> 00:39:07,550 Alles, was wir tun, in pset6 ist die Schaffung einer Web-Server. 796 00:39:07,550 --> 00:39:09,010 Das klingt Super beängstigend. 797 00:39:09,010 --> 00:39:11,010 >> Und vor allem für diejenigen von Ihnen, die bereits 798 00:39:11,010 --> 00:39:14,530 sah den Verteilungscode, es gibt eine Menge Code, eine Menge Code. 799 00:39:14,530 --> 00:39:15,570 Aber ist völlig OK. 800 00:39:15,570 --> 00:39:17,750 Weil die Nitty Gritty Teil der eigentlichen Erstellung 801 00:39:17,750 --> 00:39:20,140 der Server wird von uns durchgeführt. 802 00:39:20,140 --> 00:39:22,090 Alle Sie wirklich gefragt in diesem pset tun 803 00:39:22,090 --> 00:39:25,350 ist nur einige String-Manipulation zu tun in-Datei-I / O. Es ist eigentlich 804 00:39:25,350 --> 00:39:27,570 wie recht einfach. 805 00:39:27,570 --> 00:39:30,830 >> Also, wenn Sie zunächst die dass-- Hier hat tatsächlich bereits heruntergeladen 806 00:39:30,830 --> 00:39:32,540 die pset und genommen einen Blick? 807 00:39:32,540 --> 00:39:33,040 Gut. 808 00:39:33,040 --> 00:39:33,540 Ja. 809 00:39:33,540 --> 00:39:36,042 Es ist wie 500 Zeilen Code dass Sie gehen, um wie sein wirst, 810 00:39:36,042 --> 00:39:36,750 Was ist hier los? 811 00:39:36,750 --> 00:39:38,177 Und das ist völlig in Ordnung. 812 00:39:38,177 --> 00:39:39,760 Stellen Sie sicher, dass Sie die zu durchschreiten zu sehen. 813 00:39:39,760 --> 00:39:41,610 Weil David und-- Ich weiß nicht. 814 00:39:41,610 --> 00:39:43,870 Ich glaube nicht, es ist Zamyla ist, diese ein. 815 00:39:43,870 --> 00:39:47,040 Aber ich denke, eine andere Fuß Durch sind ziemlich 816 00:39:47,040 --> 00:39:49,510 hilfreich im Hinblick auf die nur um dich wissen zu lassen 817 00:39:49,510 --> 00:39:51,780 was los ist im Inneren des Codes. 818 00:39:51,780 --> 00:39:53,330 >> Und es ist total OK. 819 00:39:53,330 --> 00:39:57,860 Da die vier Funktionen, die Sie aufgefordert, die tatsächlich zu implementieren 820 00:39:57,860 --> 00:39:59,720 Null mit dem eigentlichen Server zu tun. 821 00:39:59,720 --> 00:40:02,590 Alles, was sie tun müssen, ist nur Parsen von verschiedenen Saiten, 822 00:40:02,590 --> 00:40:05,780 Suche durch Saiten, um sicherzustellen, dass die Dinge tun, 823 00:40:05,780 --> 00:40:07,750 was von ihnen erwartet sind, zu tun. 824 00:40:07,750 --> 00:40:11,200 >> Also in diesem Sinne gibt es einige sehr, sehr nützliche Funktionen, 825 00:40:11,200 --> 00:40:13,630 insbesondere für String Manipulation, dass wir alle 826 00:40:13,630 --> 00:40:15,879 übergehen, dass ich dachte, ich würde sehr nützlich für euch 827 00:40:15,879 --> 00:40:19,130 , bevor Sie versuchen die pset zu lernen. 828 00:40:19,130 --> 00:40:23,350 Und sie sind alle enthalten innerhalb Ihrer string.h Bibliothek. 829 00:40:23,350 --> 00:40:25,980 Es ist wahrscheinlich sinnvoller Funktionen habe ich hier nicht enthalten, 830 00:40:25,980 --> 00:40:30,740 weil ich entweder nie benutzen sie oder vielleicht habe ich einfach nicht wissen, dass sie existieren. 831 00:40:30,740 --> 00:40:32,440 >> Fühlen Sie sich frei, um Blick durch student.h. 832 00:40:32,440 --> 00:40:36,460 Denn es geht um eine Menge sein Funktionen, die sehr nützlich sind. 833 00:40:36,460 --> 00:40:43,050 Also die sechs, die ich verwenden die meisten in meinem pset, wenn ich tat es in der vergangenen Woche 834 00:40:43,050 --> 00:40:49,620 waren strtok, strchr, strrcher, strstr, strcasecmp und strcpy. 835 00:40:49,620 --> 00:40:53,060 Und so ist die letzten zwei mag ziemlich vertraut, um die meisten von euch. 836 00:40:53,060 --> 00:40:56,910 Str Fall zu vergleichen, alle es tut, ist zu vergleichen Zeichenfolgen, um sie für die Gleichstellung zu überprüfen, 837 00:40:56,910 --> 00:40:58,110 einschließlich der Fall. 838 00:40:58,110 --> 00:41:01,430 Und strcpy nur Kopien eine Zeichenkette in einen Puffer. 839 00:41:01,430 --> 00:41:04,430 >> Und so diese beiden sollte sehr scheinen vertraut euch an dieser Stelle. 840 00:41:04,430 --> 00:41:07,100 Weil wir ihnen eine Menge verwendet haben, vor allem in den letzten psets. 841 00:41:07,100 --> 00:41:10,734 Aber die ersten vier vielleicht Sie haben noch bis heute zu sehen. 842 00:41:10,734 --> 00:41:12,400 Aber ich werde nur durch sie gehen. 843 00:41:12,400 --> 00:41:15,620 Denn sie gehen, um euer Leben zu machen wirklich, wirklich einfach for-- nicht einfach, 844 00:41:15,620 --> 00:41:19,830 aber viel einfacher für dieses kommende pset. 845 00:41:19,830 --> 00:41:20,420 >> OK. 846 00:41:20,420 --> 00:41:27,720 So char * Strtok, ist dies die Funktion Definition für diese Funktion enthalten 847 00:41:27,720 --> 00:41:31,050 innerhalb der Zeichenfolge, h Bibliothek. 848 00:41:31,050 --> 00:41:34,340 Wenn Sie einen Eingang von char * gegeben sind String, der nur ein String ist, 849 00:41:34,340 --> 00:41:38,220 oder eine konstante char * deliminator, delim für kurze, 850 00:41:38,220 --> 00:41:42,410 Alle es tut bricht die größere Folge in einer Reihe von was wir 851 00:41:42,410 --> 00:41:45,730 Token, die durch einen bestimmten Wert getrennt. 852 00:41:45,730 --> 00:42:03,340 In einem gewissen Sinn, wenn ich zu geben, Sie section.7.php, dies ist ein String. 853 00:42:03,340 --> 00:42:09,520 >> Also das wäre, wenn ich einen Pass zu spielen in diesem als meine str, mein char * str, 854 00:42:09,520 --> 00:42:18,870 wenn meine deliminator war dot, all dies tun würde, ist Suche über Strings. 855 00:42:18,870 --> 00:42:22,790 Und das erste Mal, er sieht einen Punkt, es wäre nur auf den Zeiger zurück 856 00:42:22,790 --> 00:42:25,830 bis zum letzten Zeichen gefunden in der Zeichenfolge vor diesem. 857 00:42:25,830 --> 00:42:27,230 So wäre es hier zu gehen. 858 00:42:27,230 --> 00:42:30,580 >> Und es würde nur geben Sie mir 7.php. 859 00:42:30,580 --> 00:42:34,070 Und wenn ich, um den Anruf Funktion ein weiteres Mal, 860 00:42:34,070 --> 00:42:37,580 es würde mich nur die .php zu geben. 861 00:42:37,580 --> 00:42:41,540 Und so all diese Funktion zu tun ist der größere String brechen 862 00:42:41,540 --> 00:42:44,620 in kleinere Strings je auf das, was Sie suchen. 863 00:42:44,620 --> 00:42:46,670 >> Und so zum Beispiel in Ihren Look up-Funktion 864 00:42:46,670 --> 00:42:49,895 wenn Sie wollen, zu betrachten, was bestimmte Zeichen zustande kommen 865 00:42:49,895 --> 00:42:54,280 oder wenn Punkte geschehen oder Erweiterungen geschehen, Diese Funktion würde ziemlich nützlich sein. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Ja. 868 00:42:59,010 --> 00:42:59,510 Keine Sorge. 869 00:42:59,510 --> 00:43:01,339 Dadurch werden alle be-- ja, was ist los? 870 00:43:01,339 --> 00:43:07,087 >> Publikum: So in der ersten Zeile, wenn wir mit diesem Beispiel, 871 00:43:07,087 --> 00:43:09,504 was würden wir Einsatz in das? 872 00:43:09,504 --> 00:43:10,170 ANDI PENG: Ja. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Rufen Sie einfach wäre eine strtok String Komma delim. 875 00:43:25,640 --> 00:43:30,260 Und String ist gleich section.7.php. 876 00:43:30,260 --> 00:43:35,244 Und dann bist delim konnte gleich nur Punkt zu sein. 877 00:43:35,244 --> 00:43:36,654 >> ZIELGRUPPE: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI PENG: Ja. 879 00:43:39,010 --> 00:43:41,266 Einfach so. 880 00:43:41,266 --> 00:43:43,890 Alle diese Funktionen sind recht ähnlich, wenn wir gehen durch sie hindurch. 881 00:43:43,890 --> 00:43:45,514 Sie tun nur leicht unterschiedliche Dinge. 882 00:43:45,514 --> 00:43:49,530 Aber sie sind alle zu gehen machen Ihnen das Leben viel einfacher. 883 00:43:49,530 --> 00:43:53,940 Zweite Funktion, dieses irgendjemandes wie super, super, super wichtig, 884 00:43:53,940 --> 00:43:58,254 ist the-- halten. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Hoppla. 887 00:44:08,730 --> 00:44:13,810 Strchr sucht nach dem ersten occurrence-- eigentlich, ja. 888 00:44:13,810 --> 00:44:16,385 Strchr ist die Funktion, Ich auf jeden Fall nur ging. 889 00:44:16,385 --> 00:44:18,260 So ignorieren, was ich sagte, für die erste Funktion. 890 00:44:18,260 --> 00:44:20,980 Es ist eigentlich genannt strchr. 891 00:44:20,980 --> 00:44:24,840 >> Also, was wäre hier passiert ist, ist, wenn Sie wurden einen String in einem char c gegeben, 892 00:44:24,840 --> 00:44:28,660 es nur geben würde Sie, was auch immer das war. 893 00:44:28,660 --> 00:44:29,230 Ja. 894 00:44:29,230 --> 00:44:33,700 So betrachten Sie es als str, die ist ein String und chr als char. 895 00:44:33,700 --> 00:44:38,621 Also alles, was Sie zu tun versuchen, ist die Suche für wo eine char ist in einem String. 896 00:44:38,621 --> 00:44:41,120 Und so ist es für die erste sucht Auftreten des Zeichen 897 00:44:41,120 --> 00:44:43,601 c im String str. 898 00:44:43,601 --> 00:44:46,463 >> ZIELGRUPPE: [unverständlich]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI PENG: Yup. 900 00:44:48,380 --> 00:44:51,230 Und dann, wenn es nicht das finden es, es wird NULL zurückgeben. 901 00:44:51,230 --> 00:44:54,313 Also etwas, das geht bis sehr werden nützlich für euch dabei die pset 902 00:44:54,313 --> 00:44:59,030 wenn, sagen wir, Sie waren für eine Suche Erweiterung wie eine .docx für Word- 903 00:44:59,030 --> 00:45:04,740 Dokument oder ein .pdf für ein PDF-Dokument, Sie Art von es verwenden, um zu suchen 904 00:45:04,740 --> 00:45:08,720 Denn alles, was nachher jedes Mal, wenn Sie sehen, ein Punkt, nicht wahr? 905 00:45:08,720 --> 00:45:11,880 Und so ziemlich genau, wenn Sie ausgeführt, dass durch die Funktion, 906 00:45:11,880 --> 00:45:13,610 wenn es NULL zurückgibt, dann wissen Sie, dass es 907 00:45:13,610 --> 00:45:17,292 fand es nicht Punkt, was das bedeutet, klar ist keine gültige Dateierweiterung. 908 00:45:17,292 --> 00:45:19,000 Oder wenn er zurückkehrt etwas, dann wissen Sie, 909 00:45:19,000 --> 00:45:21,940 es geht um was auch immer zurückkehren tatsächlich nach der Erweiterung. 910 00:45:21,940 --> 00:45:24,190 Also diejenigen, die hatten suchte durch Lookup- 911 00:45:24,190 --> 00:45:28,640 und analysieren Sie diese Funktion geht super nützlich zu sein. 912 00:45:28,640 --> 00:45:32,010 So dass wir eigentlich vor sich geht um zu zeigen, mit diesem. 913 00:45:32,010 --> 00:45:36,670 >> Warum gehst du nicht Jungs versuchen, schriftlich ein Funktion bool Satz char * s, dass 914 00:45:36,670 --> 00:45:39,610 nur wahr, wenn s ein Satz und andernfalls false. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 So deuten, Sie gehen wahrscheinlich verwenden strchr. 917 00:45:46,830 --> 00:45:50,420 Oder Sie gerade im Thesaurus String für einen bestimmten Charakter. 918 00:45:50,420 --> 00:45:54,950 Und so in einem Satz, das, was trennt einen Satz 919 00:45:54,950 --> 00:45:57,510 von einem nicht-Satz, welche spezifischen Charakter? 920 00:45:57,510 --> 00:45:58,260 ZIELGRUPPE: Einen Raum. 921 00:45:58,260 --> 00:45:59,343 ANDI PENG: Ein Raum, oder? 922 00:45:59,343 --> 00:46:03,354 Und so was haben wir wahrscheinlich zu wollen in dieser Funktion hier zu tun? 923 00:46:03,354 --> 00:46:04,290 >> ZIELGRUPPE: [unverständlich]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI PENG: Wir werden strchr zu wollen String für das Erscheinungsbild des Raumes. 925 00:46:07,623 --> 00:46:11,330 Denn wenn es etwas ist, dann kehrt wir wissen, dass dies ein Satz sein. 926 00:46:11,330 --> 00:46:14,510 Das bedeutet, dass wir haben einen Platz in diesem String. 927 00:46:14,510 --> 00:46:17,660 >> Wenn es keinen Platz, dann wissen wir, dass, hey, ich denke, es ist nicht eine Zeichenfolge. 928 00:46:17,660 --> 00:46:20,060 Es ist wahrscheinlich nur ein sehr langes Wort. 929 00:46:20,060 --> 00:46:23,242 Also gebe ich dir ein paar Jungs, Minuten, um diese Funktion zu schreiben. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Ja. 932 00:46:45,874 --> 00:46:47,970 >> ZIELGRUPPE: Hast du Diese Saite vom Benutzer? 933 00:46:47,970 --> 00:46:48,440 >> ANDI PENG: Ja. 934 00:46:48,440 --> 00:46:49,565 So ist dies nur eine Funktion. 935 00:46:49,565 --> 00:46:54,586 Also in Ihrem Hauptfunktion vorstellen Sie bereits have-- lassen Sie uns hier. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 OK. 938 00:47:00,540 --> 00:47:05,270 Also habe ich dieses Programm, in dem geschrieben Ich habe meine Hauptfunktion, wo 939 00:47:05,270 --> 00:47:07,432 Ich habe gerade erstellt zwei Strings. 940 00:47:07,432 --> 00:47:09,890 Die erste ist Hallo, mein Name ist ist Andi-- klar, ein Satz. 941 00:47:09,890 --> 00:47:13,240 Meine zweite ist einfach Andi, eindeutig nicht zu verurteilen. 942 00:47:13,240 --> 00:47:18,390 >> Und so habe ich laufen lasse beide von denen Saiten mit dieser Funktion. 943 00:47:18,390 --> 00:47:20,540 Ich möchte euch zu kalt Satz zu schreiben. 944 00:47:20,540 --> 00:47:23,380 Und ich bin die Speicherung dieser Werte, und dann einfach ausdrucken. 945 00:47:23,380 --> 00:47:26,549 Also denken Sie, dass der Benutzer gehen, um in einer Zeichenkette übergeben. 946 00:47:26,549 --> 00:47:29,590 Und dann wirst du im wesentlichen herauszufinden, ob es ein Satz oder nicht 947 00:47:29,590 --> 00:47:31,131 und Rück wahr oder falsch entsprechend. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Wenn Sie Jungs wollen einen geben Daumen nach oben oder Heads-up, Kopfnicken, 950 00:48:45,200 --> 00:48:49,080 ist jemand bereit ist, zu starten Dieses, das wäre gut. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Vielleicht wie 30 Sekunden? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Gut. 955 00:50:50,070 --> 00:50:52,870 Mal sehen, ob Sie versuchen, Schreiben Sie diese Funktion. 956 00:50:52,870 --> 00:50:57,480 >> So pseudo coding-- Ich werde einfach Art gehen jetzt durch dieses Recht. 957 00:50:57,480 --> 00:51:00,570 Ziemlich viel, wir wissen, die Funktion, die wir brauchen, um zu verwenden. 958 00:51:00,570 --> 00:51:04,390 Wir werden diese Funktion zu nennen unsere String und der Suche nach einem Raum. 959 00:51:04,390 --> 00:51:08,682 Wenn es etwas gibt, dann müssen wir wissen, dass deutlich ist dies ein Satz. 960 00:51:08,682 --> 00:51:09,640 Denn es gibt Räume. 961 00:51:09,640 --> 00:51:10,930 Dann werden wir wahre, um zurückzukehren. 962 00:51:10,930 --> 00:51:12,310 Else, werden wir return false. 963 00:51:12,310 --> 00:51:14,393 Möchte jemand zu geben, mir die erste Zeile des Codes 964 00:51:14,393 --> 00:51:16,890 dass wir eigentlich vor sich geht zu verwenden, um dies zu schreiben? 965 00:51:16,890 --> 00:51:19,680 Es ist wirklich das härteste Codezeile als auch. 966 00:51:19,680 --> 00:51:21,026 Ja. 967 00:51:21,026 --> 00:51:28,942 >> Publikum: Wenn strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: Just strchr. 969 00:51:29,900 --> 00:51:35,354 ZIELGRUPPE: [Zwischen Stimmen] Raum ist nicht gleich null. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI PENG: Kühle. 972 00:51:40,710 --> 00:51:41,470 Genau richtig. 973 00:51:41,470 --> 00:51:43,200 Jeder verstehen, dass die erste Zeile? 974 00:51:43,200 --> 00:51:46,110 Wir werden strstr nennen, welche eine Funktion, die durchsucht wird 975 00:51:46,110 --> 00:51:51,830 der String s für den char Platz. 976 00:51:51,830 --> 00:51:56,010 Und wenn er sie findet, es zu gehen liefern einen Zeiger auf, wo das ist. 977 00:51:56,010 --> 00:51:58,500 >> Wenn es nicht zu finden, es wird NULL zurückgeben. 978 00:51:58,500 --> 00:52:02,530 Also, wenn es alles andere als zurück NULL, dann wissen wir, dass es einen Raum gefunden. 979 00:52:02,530 --> 00:52:03,553 Ist das sinnvoll? 980 00:52:03,553 --> 00:52:04,090 Cool. 981 00:52:04,090 --> 00:52:04,590 Gut. 982 00:52:04,590 --> 00:52:08,246 Also, wenn wir wissen, dass es fand ein Raum, was wollen wir tun? 983 00:52:08,246 --> 00:52:09,162 Publikum: Gibt true zurück. 984 00:52:09,162 --> 00:52:09,787 ANDI PENG: Yup. 985 00:52:09,787 --> 00:52:11,940 Return true. 986 00:52:11,940 --> 00:52:15,034 Und dann, jemand will beenden Sie die Funktion für mich? 987 00:52:15,034 --> 00:52:16,300 Ja. 988 00:52:16,300 --> 00:52:19,720 Else, einfach so. 989 00:52:19,720 --> 00:52:20,780 Und versuchen Kompilieren diese. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Jep. 992 00:52:28,000 --> 00:52:33,099 So wie Sie Jungs können aus dem zu sehen Ausgänge, erinnern Boolesche Werte in C 993 00:52:33,099 --> 00:52:34,390 wird immer im Binärformat ausgedrückt. 994 00:52:34,390 --> 00:52:35,100 1 wahr. 995 00:52:35,100 --> 00:52:36,350 0 ist falsch. 996 00:52:36,350 --> 00:52:39,720 >> Wenn wir diese laufen waren Funktion String ein, der 997 00:52:39,720 --> 00:52:42,900 ist Hallo, mein Name ist Andi-- klar, ein sentence-- das Ergebnis 998 00:52:42,900 --> 00:52:45,700 aus Anspruch 1, das wahr ist, gedruckt. 999 00:52:45,700 --> 00:52:48,420 Das zweite, das nur ein Wort, ausgedruckt Ergebnis 1000 00:52:48,420 --> 00:52:50,630 auf 0, was falsch ist. 1001 00:52:50,630 --> 00:52:54,820 Jeder klare Art, wie diese Funktion geschrieben wurde? 1002 00:52:54,820 --> 00:52:55,800 Ja. 1003 00:52:55,800 --> 00:52:59,770 >> ZIELGRUPPE: Können wir auch tun, statt nicht gleich nein, gleich gleich 0 ist, 1004 00:52:59,770 --> 00:53:03,677 so dass es gleich? 1005 00:53:03,677 --> 00:53:04,260 ANDI PENG: Nein 1006 00:53:04,260 --> 00:53:07,480 Weil strchr eine Funktion ist. 1007 00:53:07,480 --> 00:53:09,940 Ich werde die dies untermauern. 1008 00:53:09,940 --> 00:53:14,624 Also, was ist der Rückgabetyp unserer strchr Funktion? 1009 00:53:14,624 --> 00:53:15,332 ZIELGRUPPE: Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 Oder NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI PENG: Ja. 1012 00:53:16,466 --> 00:53:20,890 Es ist ein char *, die mir sagt, dass was auch immer diese Funktion wird, zurückzukehren, 1013 00:53:20,890 --> 00:53:22,090 es wird ein Zeiger sein. 1014 00:53:22,090 --> 00:53:24,860 Entweder der Zeiger sein wird zeigt auf, wo es festgestellt, 1015 00:53:24,860 --> 00:53:27,550 oder es wird zurückkehren ein Zeiger auf NULL. 1016 00:53:27,550 --> 00:53:30,930 In jedem Umstand, es geht um einen Zeiger auf etwas zurückzugeben. 1017 00:53:30,930 --> 00:53:34,354 >> Und so, wenn Sie gleichzusetzen waren dies entspricht, gleich, 0, 1018 00:53:34,354 --> 00:53:36,020 wirst du einen Kompilierungsfehler zu bekommen. 1019 00:53:36,020 --> 00:53:37,645 Weil es sich um einen Zeiger zurück. 1020 00:53:37,645 --> 00:53:40,240 Und du wirst, um zu versuchen sind Vergleichen einen Zeiger auf eine Ganzzahl. 1021 00:53:40,240 --> 00:53:42,515 Und der Computer ist nicht gehen, um das wie. 1022 00:53:42,515 --> 00:53:45,630 Ja genau. 1023 00:53:45,630 --> 00:53:46,540 Cool. 1024 00:53:46,540 --> 00:53:47,525 Jeder gut? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Und zweitens, wir werden gehen über eine Funktion namens strstr. 1027 00:53:59,770 --> 00:54:02,020 Keine Sorge, wenn diese Funktionen verwirren. 1028 00:54:02,020 --> 00:54:03,750 Sie sind verwirrt mich. 1029 00:54:03,750 --> 00:54:07,250 Als solches könnte euch gesehen haben, sie klingen alle so ziemlich das gleiche. 1030 00:54:07,250 --> 00:54:10,400 Nur, wenn Sie verwirrt sind, ziehen Sie die string.h Bibliothek. 1031 00:54:10,400 --> 00:54:13,290 Und euch kann sortieren durch die man zu denen. 1032 00:54:13,290 --> 00:54:18,910 >> So strstr, ist alles, was tut Suchanfragen ein String für eine ganz andere Zeichenfolge. 1033 00:54:18,910 --> 00:54:21,980 Also, wo strchr nur Suchanfragen für ein einzelnes Zeichen, 1034 00:54:21,980 --> 00:54:24,090 strstr sucht nach einem ganzen String. 1035 00:54:24,090 --> 00:54:30,440 Also wollte ich schauen, weiß ich nicht weiß, Hallo, mein Name ist Andi. 1036 00:54:30,440 --> 00:54:32,490 Und den Namen meines besten Freundes ist auch Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Wenn ich wollte, um in so aussehen Satz für das gesamte Wort der Andi, 1038 00:54:37,180 --> 00:54:39,930 meine Nadel hätte was auch immer Sie suchen. 1039 00:54:39,930 --> 00:54:43,440 Und Ihre Heuhaufen ist, was auch immer Sie dafür suchen in. 1040 00:54:43,440 --> 00:54:47,050 Also, wenn Sie für einen suchen bestimmtes Wort innerhalb eines Satzes, 1041 00:54:47,050 --> 00:54:48,800 dieses Wort wird Ihre Nadel sein. 1042 00:54:48,800 --> 00:54:51,397 Und dann der Satz selbst wird Ihre Heuhaufen. 1043 00:54:51,397 --> 00:54:53,230 Und so ist es einfach durchsucht das erste Vorkommen 1044 00:54:53,230 --> 00:54:55,063 des Strings Nadel in der Zeichenkette haystack. 1045 00:54:55,063 --> 00:54:57,140 Es gibt den Zeiger bis zum ersten Auftreten. 1046 00:54:57,140 --> 00:55:00,510 Außer, erinnere mich, in diesem Fall ist es die erste Auftreten des gesamten Strangs 1047 00:55:00,510 --> 00:55:02,510 dass du suchst für, nicht nur ein Charakter. 1048 00:55:02,510 --> 00:55:04,676 >> Und so ist dies fast dasselbe wie die Funktion 1049 00:55:04,676 --> 00:55:09,100 wir gerade getan haben, nur mit etwas Spezifität. 1050 00:55:09,100 --> 00:55:12,730 Weil die Sie suchen mehr als nur ein Zeichen. 1051 00:55:12,730 --> 00:55:16,310 Und die Nutzung ist genau das gleiche wie die, die wir gerade getan. 1052 00:55:16,310 --> 00:55:18,070 Jeder OK mit diesem? 1053 00:55:18,070 --> 00:55:20,250 OK. 1054 00:55:20,250 --> 00:55:23,560 >> Zuletzt werden wir zu gehen, vorbei ist strrchr, was nicht 1055 00:55:23,560 --> 00:55:26,320 mit strstr oder strchr verwirrt. 1056 00:55:26,320 --> 00:55:27,890 strrchr hat eine extra r drin. 1057 00:55:27,890 --> 00:55:29,140 Seien Sie vorsichtig, wenn Sie tippen. 1058 00:55:29,140 --> 00:55:33,851 Sie können sich finden, einschließlich ein extra r oder nicht mit einem r, 1059 00:55:33,851 --> 00:55:35,850 und dann Ihre Funktion ist habe nicht zur Arbeit gehen. 1060 00:55:35,850 --> 00:55:37,183 Und du wirst verwirrt zu sein. 1061 00:55:37,183 --> 00:55:40,150 Achten Sie darauf, dass Sie die Rechtschreibung sind Alle diese Funktionen richtig. 1062 00:55:40,150 --> 00:55:43,770 >> So strrchr ist das genaue Gleiche wie strchr 1063 00:55:43,770 --> 00:55:47,480 außer es nicht das erste sucht Vorkommen eines bestimmten Zeichens, 1064 00:55:47,480 --> 00:55:49,350 sondern das letzte Vorkommen. 1065 00:55:49,350 --> 00:55:52,800 Und so weiter, in dem Sinne, es ist fast genau die gleiche. 1066 00:55:52,800 --> 00:55:54,620 Aber statt Bewegen mitteln in einem String, 1067 00:55:54,620 --> 00:55:57,230 Sie gehen zu bewegen sind rückwärts in einen String. 1068 00:55:57,230 --> 00:56:00,510 Genau dasselbe, du bist nur Suche in einer anderen Reihenfolge. 1069 00:56:00,510 --> 00:56:04,690 >> Und so könnte dies Super sein, super nützlich für Ihre Lookup 1070 00:56:04,690 --> 00:56:07,490 Funktion, wobei die erste Funktion auf Ihrem pset. 1071 00:56:07,490 --> 00:56:12,710 Nehmen wir an, dass wir brauchten, um einen zu schreiben Funktion der Hohlraumerweiterung in dem wir 1072 00:56:12,710 --> 00:56:17,850 passieren eine konstante char * Dateinamen, nur einen String, einen Dateinamen, 1073 00:56:17,850 --> 00:56:21,370 das dauert in diesem Namen und Drucke aus der Erweiterung der Datei. 1074 00:56:21,370 --> 00:56:26,520 So zum Beispiel, wenn ich Pass in der Kette von pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 es wird einfach nur auszudrucken die Erweiterung, die .zip ist. 1076 00:56:30,004 --> 00:56:31,920 Und dies wäre für die Arbeit jede Art von Erweiterung, 1077 00:56:31,920 --> 00:56:38,290 .docx für Word oder pdf für eine PDF- Datei oder HTML für eine HTML-Datei. 1078 00:56:38,290 --> 00:56:40,425 Ziemlich viel, schreibe ein Funktion, die das tun können. 1079 00:56:40,425 --> 00:56:42,300 Ich bin eigentlich los, um schalten Sie in die IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Es ist nicht da load-- wir gehen. 1082 00:56:56,740 --> 00:57:00,990 >> Also alles, was ich hier getan wird, schuf eine char *, einen ersten String, 1083 00:57:00,990 --> 00:57:01,930 genannt pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Ich werde zoomen. 1085 00:57:04,530 --> 00:57:08,520 Ich habe eine zweite Zeichenfolge erstellt genannt finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Und schreiben Sie mir eine Funktion, dass, wenn genannt wird, nur ausdrucken 1087 00:57:12,649 --> 00:57:13,690 die Dateinamenerweiterungen. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Vielleicht nehmen Sie sich ein paar Minuten zu denken, darüber, wie Sie, dies zu tun sind. 1090 00:57:19,660 --> 00:57:22,510 Etwas anspruchsvoller als der letzte ist, 1091 00:57:22,510 --> 00:57:24,770 aber die Nutzung ist fast genau die gleiche. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Ja. 1094 00:57:30,170 --> 00:57:37,540 So schreiben Sie eine Funktion namens Erweiterung , dass, wenn ich Ihnen den Namen einer Datei, 1095 00:57:37,540 --> 00:57:41,340 wenn ich Ihnen Ich pset7.zip-- wollen Sie ausdrucken nur die .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Wenn ich Ihnen gerne finalpaper.docx, gerade aus dem .docx zu drucken, 1098 00:57:49,890 --> 00:57:51,538 nur die Verlängerung der unabhängig von Datei. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Diese eigentlich nur nimmt zwei Zeilen Code. 1101 00:59:07,790 --> 00:59:10,692 So versuchen, wenn Sie sehen, kann vielleicht tun es, dass. 1102 00:59:10,692 --> 00:59:12,400 Eigentlich nur sie nimmt eine Zeile Code. 1103 00:59:12,400 --> 00:59:14,074 Aber zwei Linien ist wohl eher Standard. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Welche Funktion sind wir wahrscheinlich gehen zu nennen zu wollen? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> ZIELGRUPPE: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI PENG: strrchr, richtig. 1109 00:59:27,343 --> 00:59:29,570 Weil wir suchen von rechts nach links. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Ich gab nicht auf euch ein Beispiel wie diese, 1112 00:59:33,940 --> 00:59:38,870 aber wenn ich Ihnen ein Beispiel, wie www.apple.com und ich wollte nur 1113 00:59:38,870 --> 00:59:43,005 die .com, wäre es ein Beispiel dafür, wo sein Sie die letzte Instanz anrufen möchten 1114 00:59:43,005 --> 00:59:44,630 der Periode und nicht der erste, nicht wahr? 1115 00:59:44,630 --> 00:59:47,470 Wenn Sie Call strchr waren es, würden Sie die apple.com gegeben haben. 1116 00:59:47,470 --> 00:59:49,966 >> Wenn Sie strrchr es nannte, würden Sie die .com gegeben haben. 1117 00:59:49,966 --> 00:59:53,062 Und so vorsichtig, auf dem sein ways-- in meinem Beispiel, 1118 00:59:53,062 --> 00:59:55,520 Sie könnten wahrscheinlich haben könnte gerade geschrieben es mit strchr, 1119 00:59:55,520 --> 00:59:57,130 denn es gibt nur einen Punkt. 1120 00:59:57,130 --> 00:59:59,790 Aber in anderen Fällen, das kann nicht der Fall sein. 1121 00:59:59,790 --> 01:00:04,960 Und so immer versuchen, entwerfen Ihr Code gut, so dass-- ja? 1122 01:00:04,960 --> 01:00:07,365 >> Publikum: So in der Beispiel Sie gerade gesagt, 1123 01:00:07,365 --> 01:00:11,760 wenn Sie strrchr es würde geben Ihnen .com oder einfach nur gekommen? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI PENG: Es würde Ihnen die .com. 1125 01:00:13,960 --> 01:00:14,794 >> ZIELGRUPPE: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI PENG: Ja. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Es weist auf, wo sie es gefunden. 1129 01:00:19,744 --> 01:00:20,244 Ja. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 Sekunden vielleicht? 1132 01:00:25,188 --> 01:00:25,688 Ja. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Jeder gute oder vielleicht ein bisschen mehr Zeit? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Handzeichen? 1137 01:01:01,640 --> 01:01:02,320 Karte von Köpfen? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Cool. 1140 01:01:05,300 --> 01:01:07,924 Wer will mir die erste sein, die Codezeile für dieses Programm? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 ZIELGRUPPE: [unverständlich]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: Also zunächst einmal, Lassen Sie uns vielleicht brechen diese nach unten. 1145 01:01:20,160 --> 01:01:24,370 Also, was ist der Rückgabetyp strrchr? 1146 01:01:24,370 --> 01:01:26,150 Lass uns zurück gehen. 1147 01:01:26,150 --> 01:01:29,015 strrchr, was ist der Rückgabetyp? 1148 01:01:29,015 --> 01:01:29,640 ZIELGRUPPE: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI PENG: Es ist ein char *, nicht wahr? 1150 01:01:31,270 --> 01:01:35,760 Was bedeutet, dass du bist wahrscheinlich In ein anderes char * zu Art erstellen möchten 1151 01:01:35,760 --> 01:01:40,400 der Speicher, wann immer es ist Rückkehr zu, nicht wahr? 1152 01:01:40,400 --> 01:01:43,200 Denn wenn Sie anrufen die Funktion strrchr, 1153 01:01:43,200 --> 01:01:47,030 es wird Sie einen Zeiger auf zu geben, wo immer sie festgestellt, dass letzten Periode, 1154 01:01:47,030 --> 01:01:47,580 Recht? 1155 01:01:47,580 --> 01:01:49,913 >> Aber Sie gehen zu wollen, um gerade zu speichern, dass irgendwo, nicht wahr? 1156 01:01:49,913 --> 01:01:52,612 Und so, wie wir zu codieren diese in unser Programm? 1157 01:01:52,612 --> 01:01:54,320 ZIELGRUPPE: Sie machen die char * [unverständlich]. 1158 01:01:54,320 --> 01:01:55,240 ANDI PENG: Yep. 1159 01:01:55,240 --> 01:01:57,120 ZIELGRUPPE: [unverständlich]. 1160 01:01:57,120 --> 01:01:58,000 ANDI PENG: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Ja. 1162 01:01:58,390 --> 01:01:59,306 Oh, verpasst eine r gibt. 1163 01:01:59,306 --> 01:02:02,877 ZIELGRUPPE: Dateiname [unverständlich]. 1164 01:02:02,877 --> 01:02:03,376 Was ist es? 1165 01:02:03,376 --> 01:02:04,420 Oh, es ist nur s. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI PENG: Oh, es ist nur s. 1167 01:02:04,940 --> 01:02:05,610 Yup, sorry. 1168 01:02:05,610 --> 01:02:06,330 Mein Fehler. 1169 01:02:06,330 --> 01:02:08,370 Beispiele stimmen nicht überein. 1170 01:02:08,370 --> 01:02:12,130 >> Publikum: Und dann dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI PENG: Yup. 1172 01:02:13,970 --> 01:02:16,570 Seien Sie vorsichtig, wenn Sie Kerle sind-- hier, lassen Sie mich zoomen. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Da gehen wir. 1175 01:02:24,400 --> 01:02:26,770 Seien Sie vorsichtig, wenn Sie Kerle sind die Eingabe, vor allem, wenn 1176 01:02:26,770 --> 01:02:27,920 Sie tun nur ein char sind. 1177 01:02:27,920 --> 01:02:32,480 Es ist wirklich einfach, versehentlich nur tun doppelte Anführungszeichen statt Einzel. 1178 01:02:32,480 --> 01:02:35,212 >> Das wird nicht funktionieren. 1179 01:02:35,212 --> 01:02:36,670 Ihr Compiler wird sich beschweren. 1180 01:02:36,670 --> 01:02:38,790 Und Ihre Funktion ist einfach nicht zu laufen. 1181 01:02:38,790 --> 01:02:40,540 Und so vorsichtig, wenn sein Sie, Dinge zu tun 1182 01:02:40,540 --> 01:02:42,622 mit Zeichen, dass es einfache Anführungszeichen. 1183 01:02:42,622 --> 01:02:44,830 Und so funktioniert das Linie Code sinnvoll, alle? 1184 01:02:44,830 --> 01:02:46,810 Wir schaffen ein char * Zeiger. 1185 01:02:46,810 --> 01:02:50,310 Weil strrchr Renditen etwas vom Typ Zeiger. 1186 01:02:50,310 --> 01:02:53,440 >> Und so werden wir strchr nennen auf S, die die Zeichenfolge, die Datei 1187 01:02:53,440 --> 01:02:55,140 zu nennen, dass wir im Vorbeigehen. 1188 01:02:55,140 --> 01:02:59,750 Und wir sind für das letzte suchen Instanz einer Periode, die ist 1189 01:02:59,750 --> 01:03:02,200 nur die einfachen Anführungszeichen dot Apostroph. 1190 01:03:02,200 --> 01:03:02,700 Ja. 1191 01:03:02,700 --> 01:03:05,180 >> Publikum: Wenn verwenden wir doppelte Anführungszeichen und wenn verwenden wir einfache Anführungszeichen? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI PENG: Ja. 1193 01:03:05,320 --> 01:03:07,180 So doppelte Anführungszeichen sind immer dann verwendet, wenn Sie 1194 01:03:07,180 --> 01:03:10,120 haben eine Reihe von mehr als nur eines. 1195 01:03:10,120 --> 01:03:13,070 Also, wenn Sie strstr tust, denen der eine ist, dass Sie 1196 01:03:13,070 --> 01:03:16,320 Suche nach einem Saite ist für Sie wäre es in doppelte Anführungszeichen übergeben. 1197 01:03:16,320 --> 01:03:18,070 Aber jedes Mal, es ist nur, ein einzelnes Zeichen, 1198 01:03:18,070 --> 01:03:19,870 Sie einfache Anführungszeichen zu tun. 1199 01:03:19,870 --> 01:03:22,880 >> Es ist eine gute Sache im Auge zu behalten. 1200 01:03:22,880 --> 01:03:25,864 So, jetzt, da wir unsere Zeiger, was machen wir mit ihm? 1201 01:03:25,864 --> 01:03:27,780 Ich bitte euch um Drucken Sie es aus, oder? 1202 01:03:27,780 --> 01:03:30,940 So [unverständlich], zu wollen, dass Sie geben Sie mir die Codezeile? 1203 01:03:30,940 --> 01:03:31,780 >> ZIELGRUPPE: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI PENG: Ja. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 ZIELGRUPPE: --Sie müssen einen Platzhalter. 1207 01:03:36,843 --> 01:03:37,340 ANDI PENG: Yup. 1208 01:03:37,340 --> 01:03:38,334 ZIELGRUPPE: Drucken Sie die Platzhalter. 1209 01:03:38,334 --> 01:03:40,322 Ich weiß nicht, was diesen Ort kennen Halter ist aber zeigen Sie es. 1210 01:03:40,322 --> 01:03:40,819 >> OK. 1211 01:03:40,819 --> 01:03:42,027 Lassen Sie uns zu überspringen, dass für jetzt dann. 1212 01:03:42,027 --> 01:03:44,556 Publikum: Und dann comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI PENG: Pointer, nicht wahr? 1214 01:03:45,720 --> 01:03:47,970 >> ZIELGRUPPE: Pointer, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: So Art von eine Fangfrage, hat mit Zeiger und Strings zu tun 1216 01:03:51,140 --> 01:03:53,130 dass wir Art von bereits darüber gesprochen. 1217 01:03:53,130 --> 01:03:57,766 Welche Art von Platzhalter tun wir müssen für einen Zeiger für einen char *? 1218 01:03:57,766 --> 01:03:59,574 >> ZIELGRUPPE: [unverständlich]. 1219 01:03:59,574 --> 01:04:00,240 ANDI PENG: Ja. 1220 01:04:00,240 --> 01:04:02,522 Es ist einfacher als Sie Kerle denken, es ist. 1221 01:04:02,522 --> 01:04:03,230 ZIELGRUPPE: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI PENG: Es ist nur eine Zeichenfolge, genau. 1223 01:04:04,730 --> 01:04:06,595 Da erinnern Saiten nicht wirklich existieren. 1224 01:04:06,595 --> 01:04:09,430 Ein char * ist das genaue Gleiche wie einen String. 1225 01:04:09,430 --> 01:04:14,461 Und so wirklich dieses s ist, was sollte die ganze Zeit benutzt haben. 1226 01:04:14,461 --> 01:04:14,960 OK. 1227 01:04:14,960 --> 01:04:17,810 >> Mal sehen, ob wir können versuchen, diese. 1228 01:04:17,810 --> 01:04:19,450 Lass uns einen Make-Erweiterung. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Cool. 1231 01:04:23,396 --> 01:04:28,830 Ihr Jungs sehen, wie ich in der übergebene psset7.zip und die finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 und er druckt gerade aus die .zip und .docx? 1233 01:04:32,500 --> 01:04:34,150 Sinn ergeben? 1234 01:04:34,150 --> 01:04:36,660 >> OK Ich denke also, in Ihren Look up Funktion in Ihrem pset Sie 1235 01:04:36,660 --> 01:04:41,050 gehen, wenn die, die gestellt werden String hat eine bestimmte Endung, 1236 01:04:41,050 --> 01:04:42,800 Sie müssen eine bestimmte Fehlercode zu geben. 1237 01:04:42,800 --> 01:04:44,820 Und so wird dies ziemlich schrecklich. 1238 01:04:44,820 --> 01:04:47,350 Weil, wenn Sie herausfinden können heraus, was die Erweiterung ist, 1239 01:04:47,350 --> 01:04:49,810 Sie können dann vergleichen, dass Erweiterung zu sehen, ob es passt up 1240 01:04:49,810 --> 01:04:51,251 mit einer bestimmten Endung. 1241 01:04:51,251 --> 01:04:53,250 Und dann zurückkehren können wird eine Fehlermeldung, oder? 1242 01:04:53,250 --> 01:04:53,860 Ja. 1243 01:04:53,860 --> 01:04:55,370 >> Publikum: so haben wir nicht muss 1 oder etwas hinzufügen? 1244 01:04:55,370 --> 01:04:56,530 Der Zeiger geht zu the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI PENG: Nope. 1246 01:04:56,660 --> 01:04:57,530 >> ZIELGRUPPE: --point danach. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI PENG: Ja. 1248 01:04:58,196 --> 01:05:00,650 Es weist genau auf wenn das Ereignis war. 1249 01:05:00,650 --> 01:05:04,010 So zum Beispiel, hier sind wir auf der Suche nach der Zeit. 1250 01:05:04,010 --> 01:05:06,597 Also, es wird zurück ein Zeiger zu der Periode. 1251 01:05:06,597 --> 01:05:08,930 Und dann, es wird gedruckt ausgehend in der Periode. 1252 01:05:08,930 --> 01:05:10,260 >> So dass Sie nicht brauchen, um 1 hinzuzufügen. 1253 01:05:10,260 --> 01:05:15,000 Obwohl, es ist völlig in Ordnung, wenn du bist überhaupt nicht sicher, um nur irgendwie 1254 01:05:15,000 --> 01:05:16,070 der zu testen Sie es selbst heraus. 1255 01:05:16,070 --> 01:05:17,590 Bauen Sie ein Beispielprogramm. 1256 01:05:17,590 --> 01:05:20,240 Testen Sie es selbst und sehen, wo es Druck. 1257 01:05:20,240 --> 01:05:23,380 Das ist auch kein schlechter Weg, es zu tun. 1258 01:05:23,380 --> 01:05:26,040 >> Cool. 1259 01:05:26,040 --> 01:05:28,880 Und das ist so ziemlich alles, Ich hatte für euch heute. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Wir haben heute eine Menge pset Zeug. 1262 01:05:33,300 --> 01:05:35,720 Also, wenn Sie Zweifel haben, wie Ich sagte immer nachschlagen 1263 01:05:35,720 --> 01:05:37,620 die string.h Bibliothek für dieses pset. 1264 01:05:37,620 --> 01:05:40,370 Es geht um eine Menge sein, Funktion gibt, die nützlich sein kann. 1265 01:05:40,370 --> 01:05:41,300 Einige können nicht sinnvoll sein. 1266 01:05:41,300 --> 01:05:42,133 Ich weiß es wirklich nicht. 1267 01:05:42,133 --> 01:05:44,370 Wade durch sie, es gibt eine ganze Reihe von ihnen. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr sind strrchr super, super hilfsbereit, wie auch 1269 01:05:49,100 --> 01:05:52,080 die strcpys und strcasecmps dass wir bereits benutzt. 1270 01:05:52,080 --> 01:05:56,510 >> Es ist nur so viel Herumspielen mit Zeichenfolgen, die Bestimmung, wenn sie gleich sind, 1271 01:05:56,510 --> 01:05:59,960 immer Sachen aus Zeichenfolgen und in der Lage, Dateien korrekt zu öffnen. 1272 01:05:59,960 --> 01:06:02,252 Es gibt eine Menge von Datei-I / O. pset ist wirklich nicht so schlimm. 1273 01:06:02,252 --> 01:06:04,210 Du wirst ein nehmen betrachten, laden Sie es, 1274 01:06:04,210 --> 01:06:05,590 und sehen eine ganze Reihe von Code. 1275 01:06:05,590 --> 01:06:09,220 Keine Sorge, der Code, den Sie tatsächlich zu schreiben, ist überhaupt nicht schlecht. 1276 01:06:09,220 --> 01:06:12,870 Wenn jemand Probleme mit hat seine Server, mich zu sehen, nachdem Abschnitt. 1277 01:06:12,870 --> 01:06:16,040 >> Entschuldigen uns noch einmal für nicht bringen Süßigkeiten an Halloween. 1278 01:06:16,040 --> 01:06:18,790 Ich weiß nicht, was mit mir los war. 1279 01:06:18,790 --> 01:06:20,800 Aber wir werden Doppel haben die Süßigkeiten zum nächsten Mal. 1280 01:06:20,800 --> 01:06:25,620 Und viel Glück in Ihrem pset dieser Woche. 1281 01:06:25,620 --> 01:06:27,170 Jep. 1282 01:06:27,170 --> 01:06:28,722