1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI Peng: We zijn bijna door alle psets. 3 00:00:08,770 --> 00:00:12,080 In feite, we zijn door de meerderheid van de moeilijkste psets. 4 00:00:12,080 --> 00:00:14,350 Dus we zijn eigenlijk alleen gaat soort wind 5 00:00:14,350 --> 00:00:16,050 door middel van de komende weken. 6 00:00:16,050 --> 00:00:19,520 >> We gaan beginnen te praten over onze afstudeeropdrachten, de beurzen op komst 7 00:00:19,520 --> 00:00:21,320 in de komende weken. 8 00:00:21,320 --> 00:00:23,825 En het leven zal een briesje. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Dus niet te veel vandaag. 11 00:00:27,680 --> 00:00:30,280 >> Hopelijk zal eigenlijk wind via de agenda voor vandaag, 12 00:00:30,280 --> 00:00:33,400 en dan hier weg met wat tijd te sparen. 13 00:00:33,400 --> 00:00:36,210 Ook wil ik mijn excuses aanbieden het ontbreken van snoep vandaag. 14 00:00:36,210 --> 00:00:37,030 Ik weet niet waarom. 15 00:00:37,030 --> 00:00:40,520 Maar in de week voorafgaand Halloween, ik wil snoep vergeten. 16 00:00:40,520 --> 00:00:43,290 >> Dus ik ben eigenlijk gewoon een uitgestrekt teleurstelling voor je nu. 17 00:00:43,290 --> 00:00:47,050 Want ik herinner me letterlijk snoep voor elke klasse, maar Halloween. 18 00:00:47,050 --> 00:00:49,345 Maar volgende week, zal ik breng het dubbele van de hoeveelheid snoep 19 00:00:49,345 --> 00:00:50,720 goed te maken voor dat allemaal voor jou. 20 00:00:50,720 --> 00:00:53,260 Het zal geweldig zijn. 21 00:00:53,260 --> 00:00:56,690 >> Dus ik heb een paar aankondigingen met betrekking tot een aantal plannen. 22 00:00:56,690 --> 00:00:59,520 Ik heb een aantal scheduling problemen. 23 00:00:59,520 --> 00:01:02,150 Dan gaan we door naar praten over wat er chmod genoemd. 24 00:01:02,150 --> 00:01:05,980 We gaan om te praten over snel TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> En dan gaan we onze code eigen website met behulp van HTML en CSS. 26 00:01:09,770 --> 00:01:13,030 En dan zal ik daadwerkelijk verlaten misschien zoals 20 minuten om te praten over pset6. 27 00:01:13,030 --> 00:01:16,550 Omdat pset6 is eigenlijk een heleboel dingen die we al eerder hebben gezien, 28 00:01:16,550 --> 00:01:19,090 maar ik wilde vernieuwen een aantal van deze concepten 29 00:01:19,090 --> 00:01:22,140 evenals leren een paar nieuwe functies. 30 00:01:22,140 --> 00:01:23,110 >> Koel. 31 00:01:23,110 --> 00:01:25,440 Dus allereerst welkom terug van vakantie. 32 00:01:25,440 --> 00:01:27,410 Ik hoop dat je pauze was aangenaam. 33 00:01:27,410 --> 00:01:29,695 Zou heb je voor de pauze? 34 00:01:29,695 --> 00:01:30,820 PUBLIEK: Ging naar New York. 35 00:01:30,820 --> 00:01:32,030 ANDI Peng: Je ging naar New York? 36 00:01:32,030 --> 00:01:33,738 Ik denk dat de helft van onze school ging naar New York. 37 00:01:33,738 --> 00:01:34,740 Dat zit wel goed. 38 00:01:34,740 --> 00:01:38,250 Ik heb de meeste van mijn pauze zittend in bed Netflixing. 39 00:01:38,250 --> 00:01:39,760 En het was een goede tijd. 40 00:01:39,760 --> 00:01:43,450 >> Maar we zijn nu terug, terug in sessie, terug in de swing van de dingen. 41 00:01:43,450 --> 00:01:47,900 We hebben een PSET vanwege deze vrijdag op de middag. 42 00:01:47,900 --> 00:01:50,240 >> Ik denk dat je al hebt opgepikt uw quiz, ja? 43 00:01:50,240 --> 00:01:52,140 Dus iedereen die heeft niet hadden hun quizzen, 44 00:01:52,140 --> 00:01:55,416 gelieve te komen en krijg je quizzen van mij aan het eind van de sectie. 45 00:01:55,416 --> 00:01:56,540 Of track me down op de campus. 46 00:01:56,540 --> 00:01:59,310 Ik zal het ergens met mij. 47 00:01:59,310 --> 00:02:02,120 >> Onze laatste project pre-voorstel ook. 48 00:02:02,120 --> 00:02:06,380 Dus voor degenen onder ons die nog nooit hebben genomen deze klasse voor, het sluitstuk van CS50 49 00:02:06,380 --> 00:02:11,150 is zeer culmineerde in deze grootse project dat studenten voorstellen. 50 00:02:11,150 --> 00:02:14,300 En de pre-voorstel, slechts een algemeen idee 51 00:02:14,300 --> 00:02:18,500 van wat men zou willen doen voor hun project, dat idee is te wijten maandag, 52 00:02:18,500 --> 00:02:20,780 volgende week maandag op de middag. 53 00:02:20,780 --> 00:02:23,800 >> Dus vrij veel, David denk ik zal praten meer over dit in collegezaal 54 00:02:23,800 --> 00:02:25,390 als hij al niet. 55 00:02:25,390 --> 00:02:28,710 En er is een solide pagina op onze website uit te leggen 56 00:02:28,710 --> 00:02:31,610 aan alle eisen van het project. 57 00:02:31,610 --> 00:02:34,082 Maar in wezen, pick een onderwerp dat je hebt 58 00:02:34,082 --> 00:02:35,915 is geïnteresseerd in in uw hele tijd hier 59 00:02:35,915 --> 00:02:41,760 bij CS, of het gamen of ontwerp of video of wat dan ook. 60 00:02:41,760 --> 00:02:44,920 >> En je kunt echt soort gelden nu een deel van de lessen 61 00:02:44,920 --> 00:02:52,470 dat we hier hebben geleerd in CS50-- hi, welcome-- vrijwel uitvoeren 62 00:02:52,470 --> 00:02:56,320 een afstudeerproject van uw keuze. 63 00:02:56,320 --> 00:02:59,570 Alle dat is te wijten maandag is slechts een korte blurb via e-mail 64 00:02:59,570 --> 00:03:02,010 voor mij, een korte zin, als, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Ik ben echt geïnteresseerd in het ontwerpen een spel dat dit doet voor iOS. 66 00:03:06,490 --> 00:03:07,420 Koel. 67 00:03:07,420 --> 00:03:10,767 Laat me je kort aanvankelijke ideeën voor uw laatste projecten. 68 00:03:10,767 --> 00:03:13,850 En we zullen door middel van praten of niet dat is eigenlijk een goed idee of niet, 69 00:03:13,850 --> 00:03:15,590 als het een haalbaar idee of niet. 70 00:03:15,590 --> 00:03:20,760 Maar de pre-voorstel is het gevolg van volgende week maandag. 71 00:03:20,760 --> 00:03:24,190 pset6, onze mooie web-- die verkeerd is. 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 Het is pset6, toch? 75 00:03:26,680 --> 00:03:32,690 >> pset6, onze webserver, is te wijten Vrijdag 's middags met de late dag. 76 00:03:32,690 --> 00:03:37,660 Kantooruren te hervatten normaal van maandag donderdag 8:00-11:00 deze week. 77 00:03:37,660 --> 00:03:39,710 Ik denk Commons voor de volgende drie nachten. 78 00:03:39,710 --> 00:03:40,310 Koel. 79 00:03:40,310 --> 00:03:44,260 Voordat we naar materiaal, doet iedereen Voor vragen, grappen, verhalen? 80 00:03:44,260 --> 00:03:46,662 Wat heb je gedaan voor de herfst break? 81 00:03:46,662 --> 00:03:48,640 >> Publiek: Wat ik doe? 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: Already het is eeuwen geleden eigenlijk. 83 00:03:52,834 --> 00:03:54,000 Christabel ging naar New York. 84 00:03:54,000 --> 00:03:55,614 Ik verbleef hier en Netflixed. 85 00:03:55,614 --> 00:03:56,864 PUBLIEK: Oh, ja ik was hier. 86 00:03:56,864 --> 00:03:57,614 ANDI Peng: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 Publiek: Ik weet het niet meer Wat bijzonder. 88 00:03:59,792 --> 00:04:00,710 ANDI PENG: Dat is OK. 89 00:04:00,710 --> 00:04:01,960 Publiek: Netflixing waarschijnlijk. 90 00:04:01,960 --> 00:04:02,990 ANDI Peng: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Ja, het is een goede tijd. 92 00:04:04,710 --> 00:04:05,780 OK. 93 00:04:05,780 --> 00:04:06,340 Prima. 94 00:04:06,340 --> 00:04:08,877 Heeft u vragen voordat We springen in materiaal? 95 00:04:08,877 --> 00:04:11,210 Ook gaan we proberen om snelheid door sectie vandaag, 96 00:04:11,210 --> 00:04:12,504 niet te veel te dekken. 97 00:04:12,504 --> 00:04:14,420 En hopelijk zullen we krijgen hier een beetje vroeg. 98 00:04:14,420 --> 00:04:15,580 Sorry voor niet snoep, ook. 99 00:04:15,580 --> 00:04:20,310 Ik ben een teleurstelling, vooral tijdens Halloween. 100 00:04:20,310 --> 00:04:21,110 >> Prima. 101 00:04:21,110 --> 00:04:21,810 Koel. 102 00:04:21,810 --> 00:04:28,370 Dus we gaan beginnen te praten over een command line argument genoemd chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, al is het slechts een Unix-systeem call uitgevoerd vanaf de opdrachtregel 104 00:04:32,850 --> 00:04:34,700 om permissies te veranderen. 105 00:04:34,700 --> 00:04:37,790 Dus bijvoorbeeld, we hebben Alle gestuit op een pagina 106 00:04:37,790 --> 00:04:40,550 als dit waarschijnlijk ergens in onze levensduur van het zijn een internet 107 00:04:40,550 --> 00:04:45,110 gebruiker, waar onze webserver ons de fout van Forbidden. 108 00:04:45,110 --> 00:04:49,086 Je hebt geen toestemming hebben om toegang te krijgen, yadda, yadda, yadda, op deze server. 109 00:04:49,086 --> 00:04:50,960 Al dat werkelijk betekent is dat de permissies 110 00:04:50,960 --> 00:04:53,920 die gekoppeld waren aan wat pagina die u probeert te bereiken 111 00:04:53,920 --> 00:04:55,840 waren niet voor u open. 112 00:04:55,840 --> 00:04:57,870 Dus vrij veel, chmod is de wijze waarop 113 00:04:57,870 --> 00:05:02,140 kunnen we die rechten systeem te wijzigen iedereen geven de gebruiker de groep, 114 00:05:02,140 --> 00:05:04,975 of de wereld, of combinatie van deze toegang 115 00:05:04,975 --> 00:05:07,900 bepaalde bestanden, directories, alles echt, 116 00:05:07,900 --> 00:05:11,720 een soort van systeem een besturingssysteem. 117 00:05:11,720 --> 00:05:14,039 Dus als een van de jongens hebben computers als je je voelt 118 00:05:14,039 --> 00:05:17,080 als het volgende samen met mij vandaag, helemaal gerust gewoon dingen typen 119 00:05:17,080 --> 00:05:17,580 in. 120 00:05:17,580 --> 00:05:19,790 Zo niet, dan kunt u gewoon rond te hangen. 121 00:05:19,790 --> 00:05:23,170 Dus ik ga eigenlijk trekken mijn terminal nu. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Dus de opdracht uit te voeren chmod of minstens even 124 00:05:32,310 --> 00:05:37,840 een lijst van de machtigingen van uw bestandsmap, net ls-l. 125 00:05:37,840 --> 00:05:42,270 Zoals u kunt zien, een heleboel stuff opduikt waarvan de meeste 126 00:05:42,270 --> 00:05:45,390 is belangrijk voor ons op de linkerkant hier. 127 00:05:45,390 --> 00:05:48,710 Jullie zien een bos van rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Ja. 129 00:05:49,210 --> 00:05:51,400 >> Die zijn in wezen net alle permissies de 130 00:05:51,400 --> 00:05:55,960 wat bepaalde mappen verklaren en bestanden van uw systeem. 131 00:05:55,960 --> 00:05:58,150 Dus laten we gaan terug naar de kracht punt hier. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Dus naast de bestandsnamen zoals jullie kunnen zien aan de rechterkant, 134 00:06:06,500 --> 00:06:10,312 We zijn op zoek naar in wezen te zien alleen de kolom aan de linkerkant. 135 00:06:10,312 --> 00:06:12,020 Dus naast gewoon de bestandsnamen, we 136 00:06:12,020 --> 00:06:16,240 kan de permissies van bestanden te zien, hun eigenaar groep, de groepsnaam, de datum 137 00:06:16,240 --> 00:06:18,460 dat het bestand voor het laatst gewijzigd, et cetera. 138 00:06:18,460 --> 00:06:20,640 U kunt een heleboel dingen met behulp van chmod zien. 139 00:06:20,640 --> 00:06:26,037 Dus de manier waarop we lezen chmod is dat de eerste letter die we vrij veel negeren 140 00:06:26,037 --> 00:06:27,370 in termen van het lezen toestemmingen. 141 00:06:27,370 --> 00:06:31,460 >> De eerste letter gewoon vertelt ons wat type systeem dat we toegang. 142 00:06:31,460 --> 00:06:34,240 d, in dit geval een map of directory. 143 00:06:34,240 --> 00:06:38,430 Dus we weten dat op dit moment mijn werkruimte sectie zeven was een directory. 144 00:06:38,430 --> 00:06:41,530 En dan zie je drie triades, in wezen net 145 00:06:41,530 --> 00:06:43,490 drie sets van drie karakters. 146 00:06:43,490 --> 00:06:45,680 En je kunt bedenken van elk als een beetje. 147 00:06:45,680 --> 00:06:49,260 >> Dus je hoeft alleen drie sets drie bits, negen bits in totaal. 148 00:06:49,260 --> 00:06:51,420 Je behandelt ze in groepjes van drie. 149 00:06:51,420 --> 00:06:56,230 Dus de eerste groep van drie is altijd uw gebruikersrechten. 150 00:06:56,230 --> 00:07:00,557 >> Uw tweede groep van drie is altijd uw groep permissies. 151 00:07:00,557 --> 00:07:02,765 En je derde set van drie is altijd als de wereld, 152 00:07:02,765 --> 00:07:04,380 het overal toestemmingen. 153 00:07:04,380 --> 00:07:06,320 Dus ik denk dat het makkelijk vraag is wat is 154 00:07:06,320 --> 00:07:08,051 het verschil tussen gebruikers en groepen. 155 00:07:08,051 --> 00:07:09,800 Het belangrijkste verschil tussen de gebruiker en de groep 156 00:07:09,800 --> 00:07:13,180 is dat een gebruiker is gewoon u persoonlijk toegang tot wat het nu is. 157 00:07:13,180 --> 00:07:18,070 Een groep kan zijn als u meerdere hebt gebruikers op een computer, bijvoorbeeld. 158 00:07:18,070 --> 00:07:20,280 Ieder van hen kan worden behandeld als een groep. 159 00:07:20,280 --> 00:07:23,220 >> En dan is de wereld alleen de wereld, iedereen. 160 00:07:23,220 --> 00:07:31,010 Dus we kunnen later zien hoe we kunnen wijzigen die in verschillende machtigingen. 161 00:07:31,010 --> 00:07:33,080 Dus vrij veel, we zijn gaat nog steeds focussen 162 00:07:33,080 --> 00:07:38,450 aan de zijde aan de linkerkant, waar voor directory CS50 we zien drwx, 163 00:07:38,450 --> 00:07:40,970 waar de r betekent gewoon dat het leesbaar. 164 00:07:40,970 --> 00:07:42,620 >> De w gewoon betekent dat het beschrijfbaar. 165 00:07:42,620 --> 00:07:45,470 En dan is het gewoon x betekent dat het uitvoerbaar. 166 00:07:45,470 --> 00:07:47,220 Je zou het soort denken van niet zinvol. 167 00:07:47,220 --> 00:07:47,993 Het moet e. 168 00:07:47,993 --> 00:07:50,150 Maar x eigenlijk soort werkt een beetje beter, 169 00:07:50,150 --> 00:07:51,690 want je kunt herinneren beter. 170 00:07:51,690 --> 00:07:56,406 >> Dus de drie soorten van dingen die je kunnen doen, kunt u ofwel een bestand te lezen, 171 00:07:56,406 --> 00:07:59,280 kunt u toestemming om een ​​te schrijven bestand, of je kan toestemming hebt 172 00:07:59,280 --> 00:08:00,780 een bestand uit te voeren. 173 00:08:00,780 --> 00:08:04,580 En dus is de manier waarop we eigenlijk vertegenwoordigen die in bits 174 00:08:04,580 --> 00:08:06,940 de nummers 4, 2 en 1. 175 00:08:06,940 --> 00:08:12,870 Dus alles is dat leesbaar is vertegenwoordigd door het aantal 4. 176 00:08:12,870 --> 00:08:15,150 >> Iets dat is beschrijfbaar wordt weergegeven door 2. 177 00:08:15,150 --> 00:08:18,880 En alles dat is uitvoerbaar zoals weergegeven door 1. 178 00:08:18,880 --> 00:08:22,860 Dus in die zin kunnen we ook vertegenwoordigen deze numbers-- 179 00:08:22,860 --> 00:08:25,281 Hallo, welkom, op een andere manier. 180 00:08:25,281 --> 00:08:25,780 Sorry. 181 00:08:25,780 --> 00:08:28,510 Voordat iedereen, ga ik verontschuldigingen namens iedereen 182 00:08:28,510 --> 00:08:29,468 het invoeren van nu de klas. 183 00:08:29,468 --> 00:08:30,810 Ik vergat snoep vandaag. 184 00:08:30,810 --> 00:08:33,640 Het spijt me dat ik ben een mislukking deze week van Halloween. 185 00:08:33,640 --> 00:08:37,070 Ik zal het dubbele van de hoeveelheid te brengen snoep volgende keer om het goed te maken. 186 00:08:37,070 --> 00:08:42,360 Maar anyways, sorry over die jongens, sorry. 187 00:08:42,360 --> 00:08:46,640 >> Dus de manier waarop we kunnen eigenlijk invoeren op onze commando het argument is dat we 188 00:08:46,640 --> 00:08:51,760 kan chmod groep slash toestemmingen te doen, waar de groep is gewoon wat 189 00:08:51,760 --> 00:08:54,130 groep we proberen te veranderen. 190 00:08:54,130 --> 00:08:56,600 En de machtigingen wat we willen toevoegen. 191 00:08:56,600 --> 00:08:58,860 Dus bijvoorbeeld de plus voegt permissies, 192 00:08:58,860 --> 00:09:01,590 en het aftrekken neemt permissies weg. 193 00:09:01,590 --> 00:09:07,060 >> En de aard van de groep hebben we ons een voor iedereen, u voor de gebruikers, g groepen, 194 00:09:07,060 --> 00:09:09,050 of o anderen. 195 00:09:09,050 --> 00:09:10,300 Het is een beetje abstract nu. 196 00:09:10,300 --> 00:09:13,550 Maar we gaan over een paar voorbeelden alleen maar om dit echt snel aan te tonen. 197 00:09:13,550 --> 00:09:16,960 Iedereen goed op deze glijbaan, dus ik kan verder gaan? 198 00:09:16,960 --> 00:09:18,280 Koel. 199 00:09:18,280 --> 00:09:21,290 >> Dus bijvoorbeeld, rwx. 200 00:09:21,290 --> 00:09:26,720 Voordat we praten over wat het voorstelt, allereerst wat betekent rwx betekenen? 201 00:09:26,720 --> 00:09:31,450 Als je ziet dat dit bepaalde bestand heeft machtigingen van rwx, 202 00:09:31,450 --> 00:09:34,270 wat betekent dat de persoon zou kunnen doen? 203 00:09:34,270 --> 00:09:35,740 >> PUBLIEK: lezen, schrijven en uitvoeren. 204 00:09:35,740 --> 00:09:36,420 >> ANDI Peng: Ja, precies. 205 00:09:36,420 --> 00:09:37,840 U kunt schrijven lezen en uitvoeren. 206 00:09:37,840 --> 00:09:40,790 Omdat alle drie van die personages aanwezig zijn. 207 00:09:40,790 --> 00:09:44,370 Dus als we doorgaan en praten dit in termen van bits, 208 00:09:44,370 --> 00:09:48,490 de rwx kan ook worden weergegeven als 700. 209 00:09:48,490 --> 00:09:53,370 Want zoals u kunt zien in welke soort file directory toestemming 210 00:09:53,370 --> 00:09:54,320 er drie triaden. 211 00:09:54,320 --> 00:09:58,060 >> In dit geval wordt alleen de eerste triade heeft alles daar. 212 00:09:58,060 --> 00:10:04,050 Dus in dit geval, de r 4, w is 2, en x is 1. 213 00:10:04,050 --> 00:10:05,860 Als je die bij elkaar optelt, is het 7. 214 00:10:05,860 --> 00:10:08,730 >> En dus als je om te zetten het naar binair, het is 700. 215 00:10:08,730 --> 00:10:10,310 Omdat 7 is de eerste triade. 216 00:10:10,310 --> 00:10:12,760 0, er is niets aanwezig in de tweede triade. 217 00:10:12,760 --> 00:10:15,850 En dan is er niets aanwezig is in de derde triade, dus dat is een andere 0. 218 00:10:15,850 --> 00:10:22,520 >> Dus in dezelfde zin, een bos van drietallen kunnen worden vertegenwoordigd alleen in stukjes, net 219 00:10:22,520 --> 00:10:23,600 binair ook. 220 00:10:23,600 --> 00:10:29,920 Dus 700 betekent precies hetzelfde als rwx ------ in termen van rechten. 221 00:10:29,920 --> 00:10:32,590 Iedereen duidelijk over? 222 00:10:32,590 --> 00:10:33,090 Koel. 223 00:10:33,090 --> 00:10:40,290 En zo chmod 111 zou geven die machtigingen voor het bestand? 224 00:10:40,290 --> 00:10:42,600 Geven jullie een paar seconden dit om te zetten. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Vergeet niet, de eerste triade is voor de gebruiker. 227 00:10:53,250 --> 00:10:56,320 De tweede triade is voor de groep. 228 00:10:56,320 --> 00:10:59,450 En de derde triade is voor iedereen. 229 00:10:59,450 --> 00:11:03,680 >> En zo chmod 111 zou geven die soort toestemmingen en aan wie? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Neem een ​​paar seconden denken en terug te komen. 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 >> Publiek: Dus iedereen kan het uit te voeren. 235 00:11:22,920 --> 00:11:23,920 ANDI Peng: Yup, precies. 236 00:11:23,920 --> 00:11:25,544 Publiek: Maar niemand kan lezen of schrijven. 237 00:11:25,544 --> 00:11:27,910 ANDI Peng: En voel vrij uit te leggen aan iedereen 238 00:11:27,910 --> 00:11:29,860 Hoe kwam je tot die conclusie. 239 00:11:29,860 --> 00:11:34,290 >> PUBLIEK: Nou, voor de gebruiker, de groep, en de wereld, het is allemaal 1, 240 00:11:34,290 --> 00:11:35,700 dat is de code voor executable. 241 00:11:35,700 --> 00:11:37,070 >> ANDI Peng: Ja, precies. 242 00:11:37,070 --> 00:11:42,320 Zo 1, in dit geval, alles wat we weten is dat is de uitvoerbare code. 243 00:11:42,320 --> 00:11:45,280 Omdat lezen 4. 244 00:11:45,280 --> 00:11:45,990 Schrijven is 2. 245 00:11:45,990 --> 00:11:47,230 En het uitvoerbare 1. 246 00:11:47,230 --> 00:11:51,580 Zo wordt alle drie triaden zijn 1, dat betekent dat de wereld, de gebruiker, 247 00:11:51,580 --> 00:11:54,680 en de groep, zij zijn allemaal uitvoerbaar. 248 00:11:54,680 --> 00:11:56,170 >> Iedereen goed met dat? 249 00:11:56,170 --> 00:11:56,940 OK. 250 00:11:56,940 --> 00:11:59,180 En dus is de tweede manier dat we kunnen eigenlijk 251 00:11:59,180 --> 00:12:01,220 schrijf dit ook is dat je kon gewoon chmod doen 252 00:12:01,220 --> 00:12:05,050 een plus x. a: alle of iedereen. 253 00:12:05,050 --> 00:12:07,060 De plus betekent het geven van rechten aan. 254 00:12:07,060 --> 00:12:09,112 En dan is de x betekent executable. 255 00:12:09,112 --> 00:12:11,070 Dus er is twee opdrachten eigenlijk identiek. 256 00:12:11,070 --> 00:12:12,903 Dus als je wilt uitvoeren dit in uw terminal, 257 00:12:12,903 --> 00:12:15,830 je doet chmod 111, naam van uw directory of het bestand. 258 00:12:15,830 --> 00:12:18,520 Of je kunt doen chmod een plus x, Naam van uw telefoonboek bestand. 259 00:12:18,520 --> 00:12:22,150 Hetzelfde, maar een eenvoudiger manier, misschien voor sommigen te vertegenwoordigen of te wijzigen 260 00:12:22,150 --> 00:12:24,280 bestandsrechten. 261 00:12:24,280 --> 00:12:28,806 >> Ieder OK met chmod voordat we verder gaan? 262 00:12:28,806 --> 00:12:31,700 Koel. 263 00:12:31,700 --> 00:12:35,336 Dus nu gaan we het hoofd in een paar slides van zeer abstracte begrippen 264 00:12:35,336 --> 00:12:37,210 dat ik vrij veel gaat door middel van wind. 265 00:12:37,210 --> 00:12:39,530 En het is helemaal OK als je niet alles begrijpen. 266 00:12:39,530 --> 00:12:42,330 >> Zelfs nu, doe ik nog steeds niet echt volledig begrijpt alles. 267 00:12:42,330 --> 00:12:44,640 Maar het is meer van het krijgen het hoogste niveau inzicht 268 00:12:44,640 --> 00:12:47,280 hoe sommige van deze dingen werken. 269 00:12:47,280 --> 00:12:50,490 Dus we gaan praten snel over TCP / IP, 270 00:12:50,490 --> 00:12:54,880 dat is gewoon Transmission Control Protocol slash Internet Protocol. 271 00:12:54,880 --> 00:12:57,135 >> Herinneren van de lezing, David, heeft hij je leren 272 00:12:57,135 --> 00:13:00,700 het voorbeeld, waar hij zou passeren de noten in een envelop 273 00:13:00,700 --> 00:13:02,790 naar de top van de collegezaal van? 274 00:13:02,790 --> 00:13:06,990 Dus in de wet school auditorium David aangetoond wezen 275 00:13:06,990 --> 00:13:10,370 Hoe TCP / IP werkt die zin dat alles wat 276 00:13:10,370 --> 00:13:14,300 is is een middel om ervoor te zorgen dat de gegevens is via een server geleverd 277 00:13:14,300 --> 00:13:15,870 of op het internet. 278 00:13:15,870 --> 00:13:22,270 Dus in het voorbeeld van de envelop en het bericht de gebruiker aan het einde 279 00:13:22,270 --> 00:13:26,410 kon zien dat, oh, moest ik krijgen vier pakketten van informatie. 280 00:13:26,410 --> 00:13:28,096 >> Maar ik eigenlijk alleen ontvangen drie. 281 00:13:28,096 --> 00:13:29,470 Dat betekent dat ik moet missen een. 282 00:13:29,470 --> 00:13:30,760 En één was niet geleverd. 283 00:13:30,760 --> 00:13:33,990 Zo TCP / IP op internet, via uw computer en de server, 284 00:13:33,990 --> 00:13:35,500 doet precies hetzelfde. 285 00:13:35,500 --> 00:13:38,900 Alles wat het doet is geeft u een kader waarin een verloren data 286 00:13:38,900 --> 00:13:41,100 pakketten kunnen opnieuw worden verzonden en ontvangen. 287 00:13:41,100 --> 00:13:44,760 >> Net als op het internet wanneer je probeert toegang tot bestanden online of stuur bestanden 288 00:13:44,760 --> 00:13:48,210 uw vriend of kijk op web browsers, duizenden en duizenden 289 00:13:48,210 --> 00:13:50,440 miljarden en miljarden bytes informatie 290 00:13:50,440 --> 00:13:52,840 worden overgedragen per milliseconde. 291 00:13:52,840 --> 00:13:54,560 En het is echt, echt verwarrend. 292 00:13:54,560 --> 00:13:57,110 En het is echt moeilijk om eigenlijk weten wat er is verzonden 293 00:13:57,110 --> 00:13:58,270 en wat niet is verzonden. 294 00:13:58,270 --> 00:14:02,210 >> En dus TCP / IP specificeert gewoon een samenhangend kader 295 00:14:02,210 --> 00:14:04,115 waarin uw web browser en uw server 296 00:14:04,115 --> 00:14:05,990 kan soort communiceren met elkaar, net 297 00:14:05,990 --> 00:14:08,550 zorg ervoor dat de pakketten zijn allemaal hier en niets is verloren 298 00:14:08,550 --> 00:14:12,700 en al de gegevens die u gevraagd eigenlijk correct weergegeven. 299 00:14:12,700 --> 00:14:16,350 Iedereen op OK gewoon dat zeer korte hoog niveau te begrijpen? 300 00:14:16,350 --> 00:14:18,510 Koel. 301 00:14:18,510 --> 00:14:21,550 >> Dus dan gaan we verhuizen in het over HTTP, dat 302 00:14:21,550 --> 00:14:24,610 is gewoon Hypertext Transfer Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, al is het is wat elke pagina of het bestand wordt geopend op uw website, 304 00:14:32,550 --> 00:14:35,810 retourneert de server een HTTP statuscode reactie 305 00:14:35,810 --> 00:14:39,869 het verzoek zorgen dat ofwel, oh, dit verzoek ging door. 306 00:14:39,869 --> 00:14:41,410 En alles is correct weergegeven. 307 00:14:41,410 --> 00:14:43,500 Of, oh, nee, 404. 308 00:14:43,500 --> 00:14:44,730 Er is iets fout gegaan. 309 00:14:44,730 --> 00:14:45,940 Oh, ik kan niet worden weergegeven. 310 00:14:45,940 --> 00:14:50,370 >> Al is het is dat wat je probeert om toegang te krijgen, 311 00:14:50,370 --> 00:14:55,160 te gebruiken als de gebruiker probeert toegang te krijgen, op de internet-- gewoon om ervoor te zorgen 312 00:14:55,160 --> 00:15:00,080 dat je ofwel met succes hebt toegankelijk wat het ook was of niet 313 00:15:00,080 --> 00:15:02,080 succes benaderd wat het ook was. 314 00:15:02,080 --> 00:15:05,120 En dus is de HTTP-status code geeft je gewoon 315 00:15:05,120 --> 00:15:09,910 een middel om te kunnen weten of of het niet succesvol was of niet. 316 00:15:09,910 --> 00:15:13,440 Dus bijvoorbeeld een voorbeeld verzoek. 317 00:15:13,440 --> 00:15:16,050 >> U kunt hier zien dat het meestal meestal vier lijnen. 318 00:15:16,050 --> 00:15:22,530 We hebben een GET HTTP 1.1, dat is gewoon de methode verzoek URL, het protocol 319 00:15:22,530 --> 00:15:24,490 versie, de naam van het veld, en het veld waarde. 320 00:15:24,490 --> 00:15:26,810 Dus geen noodzaak om volledig onthouden hier iets. 321 00:15:26,810 --> 00:15:29,960 Gewoon een soort van vertrouwd jezelf met hoe deze te kijken. 322 00:15:29,960 --> 00:15:34,060 >> In dit voorbeeld, de werkwijze verzoek URL is gewoon wat verzoek 323 00:15:34,060 --> 00:15:35,620 je stuurt de server. 324 00:15:35,620 --> 00:15:40,710 Als, hey, server, ik echt wil toegang yadda, yadda, yadda, HTTP-pagina. 325 00:15:40,710 --> 00:15:43,785 Het protocol versie is wat versie van uw gastheer of server 326 00:15:43,785 --> 00:15:45,490 wordt gebruikt om informatie. 327 00:15:45,490 --> 00:15:49,510 >> De naam van het veld is de website of de URL die u probeert te openen, 328 00:15:49,510 --> 00:15:52,610 in dit geval, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 En het veld waarde gewoon typisch naam, waarde. 330 00:15:56,110 --> 00:15:59,540 En het kan een soort van combinatie van letters of cijfers of wat dan ook. 331 00:15:59,540 --> 00:16:02,890 >> Dus een typisch verzoek, zodat wat uw computer eigenlijk 332 00:16:02,890 --> 00:16:08,400 stuurt naar de server die zegt: hey, weet je wat ik nodig heb dit weergegeven, 333 00:16:08,400 --> 00:16:13,000 dat is de aard van de aanvraag dat zij daadwerkelijk ontvangt. 334 00:16:13,000 --> 00:16:16,760 Een voorbeeld van wat de reactie server zou terug naar u 335 00:16:16,760 --> 00:16:20,320 zou vrijwel hetzelfde zijn, behalve een statuscode boven. 336 00:16:20,320 --> 00:16:24,550 Dus 200, 2 0 0 altijd de status code voor OK. 337 00:16:24,550 --> 00:16:26,050 Als, OK, dit verzoek ging door. 338 00:16:26,050 --> 00:16:27,980 Je was in staat om toegang te krijgen alles goed. 339 00:16:27,980 --> 00:16:28,810 Het leven is goed. 340 00:16:28,810 --> 00:16:29,990 Het leven is goed. 341 00:16:29,990 --> 00:16:32,150 Alles is helemaal goed. 342 00:16:32,150 --> 00:16:36,050 >> En dus dit gewoon vertelt uw browser en server, hey, goed alles is. 343 00:16:36,050 --> 00:16:37,470 Ik heb alle informatie die ik nodig heb. 344 00:16:37,470 --> 00:16:39,160 Koel. 345 00:16:39,160 --> 00:16:41,790 Maar het probleem is soms problemen komen 346 00:16:41,790 --> 00:16:46,850 wanneer je have-- duren denk ik Ik sprak over duplicaten. 347 00:16:46,850 --> 00:16:48,870 Je hebt minder goede reacties. 348 00:16:48,870 --> 00:16:52,660 >> Dus bijvoorbeeld, 404 is de pagina niet gevonden. 349 00:16:52,660 --> 00:16:54,897 Heb je soms een Verboden toegang. 350 00:16:54,897 --> 00:16:56,730 Je hebt verschillende andere statuscodes dat ik 351 00:16:56,730 --> 00:16:59,688 zeker dat je hebt allemaal gezien als je proberen om onderzoek te doen op het internet. 352 00:16:59,688 --> 00:17:02,300 En uw browser geeft u het, nee, geen toegang tot. 353 00:17:02,300 --> 00:17:04,190 En je bent als, nou, crap. 354 00:17:04,190 --> 00:17:09,260 >> Dus gewoon vrij veel, er is een aantal mooie gemeenschappelijke statuscodes. 355 00:17:09,260 --> 00:17:14,109 Misschien vertrouwd te maken met welke deze zijn. 356 00:17:14,109 --> 00:17:16,000 De grappigste die Ik denk dat ik ooit heb gehoord 357 00:17:16,000 --> 00:17:18,040 van-- als je toevallig opzoeken allemaal 358 00:17:18,040 --> 00:17:21,490 online, om wat voor reden is er eigenlijk een echte statuscode 359 00:17:21,490 --> 00:17:26,619 belde 418 Ik ben een theepot. 360 00:17:26,619 --> 00:17:29,610 >> Ik googled waar de oorsprong van deze was uit. 361 00:17:29,610 --> 00:17:33,150 En blijkbaar een April Fools ' Dag een paar decennia geleden, 362 00:17:33,150 --> 00:17:36,415 iemand dacht dat het hilarisch zou zijn een nieuwe status code genaamd 418 creëren 363 00:17:36,415 --> 00:17:37,380 Ik ben een theepot. 364 00:17:37,380 --> 00:17:40,760 Rechtmatig, de naam van deze code wordt genoemd Ik ben een theepot. 365 00:17:40,760 --> 00:17:43,670 >> Ik vergeet welke pagina je moet gaan om daadwerkelijk dit scherm. 366 00:17:43,670 --> 00:17:47,955 Maar blijkbaar, kun je eigenlijk krijgen de status code van ik ben 367 00:17:47,955 --> 00:17:51,400 een theepot of andere manier door middel van iets te doen. 368 00:17:51,400 --> 00:17:54,480 Dus er is honderden en honderden statuscodes. 369 00:17:54,480 --> 00:17:56,730 >> Sommigen van hen maken meer gevoel dan anderen. 370 00:17:56,730 --> 00:18:01,430 Maar vrijwel alleen vertrouwd jezelf met de meest voorkomende. 371 00:18:01,430 --> 00:18:04,090 De gevraagde entiteit lichaam is kort en stout, blijkbaar. 372 00:18:04,090 --> 00:18:07,990 >> Dus soms zijn er meer beangstigend fouten dan ben ik een theepot. 373 00:18:07,990 --> 00:18:11,210 Maar dit is er een die ik denk je soort van hoop te raken. 374 00:18:11,210 --> 00:18:14,130 Maar ik denk niet dat je wil. 375 00:18:14,130 --> 00:18:17,260 Iedereen goed op enkel de status codes, verzoeken, processen, maken 376 00:18:17,260 --> 00:18:19,155 ervoor dat informatie correct is geleverd? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Dus nu gaan we om de overgang in een leuke deel van de sectie vandaag, 379 00:18:26,120 --> 00:18:28,500 waar we een beetje praten over HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, al is het HyperText Markup Language. 381 00:18:32,580 --> 00:18:35,160 Het is gewoon de standaard taal u gebruiken om alle web te creëren 382 00:18:35,160 --> 00:18:36,690 pagina's op het internet. 383 00:18:36,690 --> 00:18:39,560 >> Dus elke webpagina, wat is uw favoriete website? 384 00:18:39,560 --> 00:18:40,855 Wat is uw favoriete webpagina? 385 00:18:40,855 --> 00:18:41,771 >> PUBLIEK: [onverstaanbaar]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: Sorry? 388 00:18:43,090 --> 00:18:43,980 >> Publiek: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI Peng: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Dus Tumblr is geschreven in HTML. 391 00:18:46,800 --> 00:18:50,700 En dus zullen we daadwerkelijk gaan door en spelen met een aantal van deze dingen 392 00:18:50,700 --> 00:18:51,980 later. 393 00:18:51,980 --> 00:18:54,980 Vrijwel alles wat je moeten leren, om te weten, 394 00:18:54,980 --> 00:18:58,540 naar HTML te schrijven kunt u waarschijnlijk gewoon Google op het internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, het is niet een programma als C waar u variabelen kunt maken en doen 396 00:19:04,490 --> 00:19:05,600 coole dingen mee. 397 00:19:05,600 --> 00:19:08,747 Het is meer gewoon, oh, dit is hoe ik willen dat dingen op mijn website. 398 00:19:08,747 --> 00:19:10,080 En ik ga gewoon om het in te zetten. 399 00:19:10,080 --> 00:19:12,160 En het gaat om het te stylen. 400 00:19:12,160 --> 00:19:15,650 >> Dus HTML, in zekere zin, het is net als een opmaak of sjabloon taal. 401 00:19:15,650 --> 00:19:16,680 Het is een stuk makkelijker. 402 00:19:16,680 --> 00:19:19,030 Het is een stuk makkelijker om te leren, een stuk makkelijker om in te schrijven 403 00:19:19,030 --> 00:19:21,450 dan uw typische programmering taal, zeer gemakkelijk, 404 00:19:21,450 --> 00:19:24,310 zeer gebruiksvriendelijk toegankelijk en vriendelijk. 405 00:19:24,310 --> 00:19:29,040 >> Dus we eigenlijk gaan spelen rond, schrijven onze eigen pagina's vandaag. 406 00:19:29,040 --> 00:19:32,900 Maar voordat we beginnen, ik wil gewoon gaan over enkele korte best practices. 407 00:19:32,900 --> 00:19:35,660 Omdat HTML is zo'n gemakkelijke taal en omdat zelfs 408 00:19:35,660 --> 00:19:39,012 als je een paar dingen mis, het soms misschien niet opmerkt, 409 00:19:39,012 --> 00:19:41,970 we willen ervoor zorgen dat we eigenlijk vast te houden aan onze 'best practices' 410 00:19:41,970 --> 00:19:44,490 om ervoor te zorgen dat de dingen die rond kon gaan, maar 411 00:19:44,490 --> 00:19:49,660 niet altijd van plan om niet rechts gaan zorg ervoor dat ze tot een minimum beperkt. 412 00:19:49,660 --> 00:19:53,570 >> Dus vrij veel, zorg ervoor dat Uw sluiten alle labels 413 00:19:53,570 --> 00:19:54,737 als je aan het schrijven bent in HTML. 414 00:19:54,737 --> 00:19:56,486 Als je het openen van een lichaam, zorg ervoor dat je bent 415 00:19:56,486 --> 00:19:58,015 te sluiten met een lichaam ergens. 416 00:19:58,015 --> 00:20:00,720 Wilt u ervoor zorgen dat uw webpagina valideert met behulp 417 00:20:00,720 --> 00:20:02,070 wat heet de W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Je kunt gewoon van Google dat online, en er is een link naar het. 419 00:20:05,460 --> 00:20:07,820 >> En dan wil je afzonderlijke HTML, waarbij 420 00:20:07,820 --> 00:20:13,060 is uw opmaaktaal van uw stijl, dat is de CSS taal die David 421 00:20:13,060 --> 00:20:17,510 aangetoond dat we ook gaan om een ​​beetje te spelen met een lezing. 422 00:20:17,510 --> 00:20:19,120 Koel. 423 00:20:19,120 --> 00:20:23,500 Dus wanneer u wilt uitvoeren HTML het CS50 apparaat, 424 00:20:23,500 --> 00:20:26,240 we gaan naar een run programma genaamd apache, 425 00:20:26,240 --> 00:20:29,810 die allemaal is het gewoon een ingebouwde webserver dat iedereen in CS50 426 00:20:29,810 --> 00:20:31,410 toegang heeft. 427 00:20:31,410 --> 00:20:35,700 We noemen het apache50 gewoon omdat we graag alles 50 in CS50 noemen. 428 00:20:35,700 --> 00:20:39,610 >> Dus de manier waarop u de CS50 web start server is door het typen op uw bevel 429 00:20:39,610 --> 00:20:42,860 lijn apache50 beginnen stip. 430 00:20:42,860 --> 00:20:46,665 En als je wilt om het te beëindigen op elk gewenst tijd, denk je apache50 uiteindelijk geen punt. 431 00:20:46,665 --> 00:20:47,910 En je gewoon op Enter. 432 00:20:47,910 --> 00:20:50,810 En het moet hier te stevenen tot binnenkort. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Ja. 435 00:20:54,130 --> 00:20:58,110 Dus ik ga gewoon om snel over te gaan een voorbeeld van een echt korte webpagina. 436 00:20:58,110 --> 00:21:00,280 En we gaan besteden zoals 10, 15 minuten speeltijd 437 00:21:00,280 --> 00:21:04,008 rond het schrijven van onze eigen webpagina's. 438 00:21:04,008 --> 00:21:05,320 OK. 439 00:21:05,320 --> 00:21:07,841 Dus hier in de IDE-- kan iedereen zien dat? 440 00:21:07,841 --> 00:21:08,340 Niet echt. 441 00:21:08,340 --> 00:21:11,400 Hier zal ik in te zoomen. 442 00:21:11,400 --> 00:21:15,850 >> Ik heb net deze korte template hier met niets eigenlijk in. 443 00:21:15,850 --> 00:21:20,660 We gaan gewoon om snel te schrijven een HTML-programma waarin we net 444 00:21:20,660 --> 00:21:22,050 zeg hallo tegen de wereld. 445 00:21:22,050 --> 00:21:24,970 Dus hetzelfde als in C, nu zijn we gewoon gaan om het te doen in HTML. 446 00:21:24,970 --> 00:21:28,250 Heeft iemand willen eigenlijk alleen probeer mij de eerste wat je 447 00:21:28,250 --> 00:21:31,870 zou hebben in een HTML-document om te zetten? 448 00:21:31,870 --> 00:21:32,850 Ja. 449 00:21:32,850 --> 00:21:35,965 >> Doelgroep: De beugels, de [onverstaanbaar]. 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 Dus iets dat zeer uniek aan HTML die we meestal traditioneel 453 00:21:50,930 --> 00:21:56,080 niet tegenkomen in de andere command lijnniveau programmeertalen 454 00:21:56,080 --> 00:21:59,890 is dat we eigenlijk aan geef het type bestand 455 00:21:59,890 --> 00:22:01,987 dat dit gaat worden aan de top van onze code. 456 00:22:01,987 --> 00:22:04,570 Dus in dit instance-- denk ik dat is de juiste commando, toch? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Ja. 459 00:22:10,550 --> 00:22:14,860 Op de top, je gewoon wilt opnemen knal DOCTYPE html haakjes net 460 00:22:14,860 --> 00:22:17,670 om uw computer te vertellen, he, kijk uit. 461 00:22:17,670 --> 00:22:20,050 En HTML-document komt. 462 00:22:20,050 --> 00:22:22,250 En hoe willen we om te beginnen ons bestand af? 463 00:22:22,250 --> 00:22:25,540 Als we willen gewoon om hallo te zeggen, hebben een webpagina die hallo zegt tegen de wereld, 464 00:22:25,540 --> 00:22:26,915 hoe kunnen we gaan over het bouwen van deze? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> Eigenlijk, laten we richten op Google. 467 00:22:35,300 --> 00:22:36,910 En we kunnen eigenlijk dit te doen. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Ja. 470 00:22:43,670 --> 00:22:44,840 Daar gaan we. 471 00:22:44,840 --> 00:22:47,630 Dus HTML. 472 00:22:47,630 --> 00:22:52,390 Zoals u kunt zien, mijn browser is eigenlijk dit automatisch styling voor mij. 473 00:22:52,390 --> 00:22:56,010 >> Hetzelfde als in C, wanneer u creëren van een open accolade, 474 00:22:56,010 --> 00:22:59,020 uw browser automatisch voegt in een nauwe accolade. 475 00:22:59,020 --> 00:23:02,210 Gelukkig, onze IDE houdt doet dit voor ons ook. 476 00:23:02,210 --> 00:23:05,490 Dus nu kunnen we vorm van het type het begin van een label, 477 00:23:05,490 --> 00:23:09,139 en het zal altijd vertellen ons vergeet om het uiteinde van de tag typen. 478 00:23:09,139 --> 00:23:10,680 Ik denk dat dit moet worden geactiveerd. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 En dan willen we naar toe, altijd, een kop waarin de titel. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 We willen gewoon misschien te bellen dit hallo, en vervolgens het lichaam. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> En daar ga je. 485 00:23:36,310 --> 00:23:39,650 Dat is eigenlijk onze HTML-document. 486 00:23:39,650 --> 00:23:45,030 Dus de manier waarop elk HTML-document is altijd vormgegeven in-- hetzelfde 487 00:23:45,030 --> 00:23:46,720 met int main leegte. 488 00:23:46,720 --> 00:23:49,600 Je wilt altijd hebben HTML een open en sluit tag 489 00:23:49,600 --> 00:23:52,100 aan de boven- en onderkant van uw code. 490 00:23:52,100 --> 00:23:56,900 >> U wilt een hoofd in hebben van die de titel bevat, maar wat 491 00:23:56,900 --> 00:24:01,430 gaat naar het tabblad van uw website te tonen pagina, en dan een lichaam binnen waarvan 492 00:24:01,430 --> 00:24:04,120 daadwerkelijk de inhoud weer te geven van wat je wilt doen. 493 00:24:04,120 --> 00:24:08,220 Dus als je wilde eigenlijk draaien dit, ik ga om uit opnieuw. 494 00:24:08,220 --> 00:24:12,740 Je kunt eigenlijk beginnen apache50 beginnen dot. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Koel. 497 00:24:16,150 --> 00:24:18,980 En dus zoals je kunt zien, nu deze link is opgedoken. 498 00:24:18,980 --> 00:24:21,940 Het zegt dat uw site is nu verkrijgbaar bij sommige onderstaande link. 499 00:24:21,940 --> 00:24:25,910 Dus al onze IDE heeft done-- niet IDE, sorry-- ja, 500 00:24:25,910 --> 00:24:33,280 onze IDE heeft gedaan is het creëren van een web koppeling waarop al onze webpagina's 501 00:24:33,280 --> 00:24:35,407 kan worden geraadpleegd op de server. 502 00:24:35,407 --> 00:24:36,490 Dus laten we eens een kijkje hier. 503 00:24:36,490 --> 00:24:40,240 >> Laten we op deze, ga naar hello.html. 504 00:24:40,240 --> 00:24:42,895 En zie je een heel eenvoudige webpagina hello wereld. 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 We eigenlijk zomaar hebben everyone-- ja, wat is er? 508 00:24:50,513 --> 00:24:52,353 >> Publiek: Ik heb een fundamentele vraag. 509 00:24:52,353 --> 00:24:52,978 ANDI Peng: Yup. 510 00:24:52,978 --> 00:24:58,064 PUBLIEK: Hoe ga je te redden het bestand als een 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 Dus als ik een nieuw bestand te maken, als ik dat doe Nieuw bestand, Untittle, als ik dat doe, 514 00:25:10,820 --> 00:25:14,390 section.html, boom, dat is alles wat ik moet doen. 515 00:25:14,390 --> 00:25:15,363 >> PUBLIEK: [onverstaanbaar]? 516 00:25:15,363 --> 00:25:15,946 ANDI PENG: No. 517 00:25:15,946 --> 00:25:16,660 PUBLIEK: [onverstaanbaar]. 518 00:25:16,660 --> 00:25:17,240 ANDI PENG: No. 519 00:25:17,240 --> 00:25:18,156 PUBLIEK: [onverstaanbaar]. 520 00:25:18,156 --> 00:25:19,110 ANDI PENG: Ja. 521 00:25:19,110 --> 00:25:24,300 Vrij veel, de uitbreiding op het bestand dat in je IDE, 522 00:25:24,300 --> 00:25:27,840 dat vertelt de computer, dat vertelt de browser, hey, kijk uit. 523 00:25:27,840 --> 00:25:30,480 Dit gaat code geschreven in deze taal. 524 00:25:30,480 --> 00:25:34,240 Dus bijvoorbeeld in Microsoft Woord, wat hebben alle Word-documenten 525 00:25:34,240 --> 00:25:37,070 eindigen met welke extensie? 526 00:25:37,070 --> 00:25:39,830 .doc of .docx, toch? 527 00:25:39,830 --> 00:25:42,299 >> Dat alles doet is specificeert aan uw besturingssysteem, hey, 528 00:25:42,299 --> 00:25:43,840 u een Word-document komen heb. 529 00:25:43,840 --> 00:25:44,940 Open het met Word. 530 00:25:44,940 --> 00:25:46,955 Hetzelfde met PDF's. 531 00:25:46,955 --> 00:25:49,650 Het weet, oh, ik moet het openstellen van dit bestand 532 00:25:49,650 --> 00:25:52,020 met Adobe Reader of Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> En zo extensies werken de op dezelfde manier als op uw computer. 534 00:25:56,130 --> 00:26:00,750 Als u uw code pagina opgeven te noemen HTML, dan weet 535 00:26:00,750 --> 00:26:01,880 oh, je hebt HTML-code. 536 00:26:01,880 --> 00:26:04,890 Ik ga om het te behandelen als html-code. 537 00:26:04,890 --> 00:26:06,600 Dus het is super slim in die zin. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Dus iedereen, laten we als 10 minuten en gewoon onze eigen websites. 540 00:26:18,730 --> 00:26:21,020 Laten toe te voegen in de mooie dingen. 541 00:26:21,020 --> 00:26:23,440 Voel je vrij om te zeggen wat je wilt. 542 00:26:23,440 --> 00:26:27,890 Ik wil alleen maar om ervoor te zorgen dat ieders servers correct worden uitgevoerd 543 00:26:27,890 --> 00:26:31,220 voordat we bevrijden u in de PSET. 544 00:26:31,220 --> 00:26:33,490 Want als uw servers niet lopen voor de PSET, 545 00:26:33,490 --> 00:26:34,847 dat zal echt, echt slecht. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Ik ga gewoon rond zweven en zien wat iedereen werkt. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Hoe gaat het? 550 00:27:27,590 --> 00:27:29,048 >> Publiek: Ik draaide op mijn computer. 551 00:27:29,048 --> 00:27:29,923 >> ANDI PENG: Dat is OK. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> PUBLIEK: [onverstaanbaar]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI Peng: gewoon je 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 >> PUBLIEK: [onverstaanbaar]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI Peng: Het is OK. 559 00:27:57,590 --> 00:27:59,491 >> PUBLIEK: [onverstaanbaar]. 560 00:27:59,491 --> 00:28:00,490 ANDI Peng: Helemaal prima. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Is iedereen toegang hun web-server OK? 563 00:28:51,530 --> 00:28:52,970 Wordt apache50 loopt OK? 564 00:28:52,970 --> 00:28:54,700 Ik denk dat in een aantal van de andere secties, we 565 00:28:54,700 --> 00:28:58,790 had problemen met mensen die niet de mogelijkheid om toegang te krijgen tot de server. 566 00:28:58,790 --> 00:28:59,290 Ja. 567 00:28:59,290 --> 00:29:05,764 Zodat je alleen nog maar apache50 ruimte startveld periode. 568 00:29:05,764 --> 00:29:06,680 PUBLIEK: [onverstaanbaar]. 569 00:29:06,680 --> 00:29:07,610 ANDI Peng: Yup. 570 00:29:07,610 --> 00:29:08,294 Goed? 571 00:29:08,294 --> 00:29:09,210 >> PUBLIEK: [onverstaanbaar]. 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 Dus je zou om een ​​ruimte te hebben. 575 00:29:14,808 --> 00:29:15,425 Dus apache50-- 576 00:29:15,425 --> 00:29:16,115 >> Publiek: ik deed. 577 00:29:16,115 --> 00:29:17,661 >> ANDI Peng: --start ruimte. 578 00:29:17,661 --> 00:29:18,660 PUBLIEK: Oh, ruimte stip. 579 00:29:18,660 --> 00:29:20,110 ANDI Peng: Yup, ruimte stip. 580 00:29:20,110 --> 00:29:23,230 Daar ga je. 581 00:29:23,230 --> 00:29:25,490 Dus dan als je een HTML-pagina aangemaakt, 582 00:29:25,490 --> 00:29:28,560 dan kun je gewoon direct naar om de link die het specificeert. 583 00:29:28,560 --> 00:29:30,539 En je moet in staat zijn om toegang te krijgen. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Iedereen in staat geweest om toegang tot hun webpagina's OK? 586 00:29:37,876 --> 00:29:39,339 >> PUBLIEK: [onverstaanbaar]. 587 00:29:39,339 --> 00:29:40,380 ANDI Peng: Oh, dat is OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> PUBLIEK: [onverstaanbaar]. 590 00:29:44,964 --> 00:29:45,630 ANDI PENG: Ja. 591 00:29:45,630 --> 00:29:48,171 Ik denk dat je eigenlijk kunt openen het binnen uw browser, browser 592 00:29:48,171 --> 00:29:49,955 en niet alleen uw IDE browser. 593 00:29:49,955 --> 00:29:51,580 Ja, ik denk dat als je kopiëren en plakken. 594 00:29:51,580 --> 00:29:53,920 >> Publiek: En dan hoe kunnen we zet het uit? 595 00:29:53,920 --> 00:29:54,590 [ONHOORBAAR] 596 00:29:54,590 --> 00:29:58,720 >> ANDI Peng: Ja, je doet apache50 stoppen zonder periode. 597 00:29:58,720 --> 00:29:59,220 Ja. 598 00:29:59,220 --> 00:30:01,180 >> PUBLIEK: [onverstaanbaar]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI Peng: Met geen tijd. 600 00:30:02,768 --> 00:30:04,051 Ja. 601 00:30:04,051 --> 00:30:04,550 Daar gaan we. 602 00:30:04,550 --> 00:30:05,050 Ja. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 We creëren onze eigen webpagina's. 605 00:30:09,855 --> 00:30:10,646 >> PUBLIEK: 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 >> Publiek: Ik heb een vraag. 610 00:30:22,420 --> 00:30:25,294 Dus apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI Peng: 50, ja. 612 00:30:26,731 --> 00:30:28,168 >> PUBLIEK: [onverstaanbaar]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI Peng: Wat? 614 00:30:29,130 --> 00:30:29,750 Dat is raar. 615 00:30:29,750 --> 00:30:32,244 Kijk, dat was een soort van het probleem Dat was voor het gebeuren. 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 Zie me na sectie. 619 00:30:39,800 --> 00:30:42,320 Omdat we met een aantal problemen met de server. 620 00:30:42,320 --> 00:30:44,325 >> En u wilt maken ervoor dat uw server 621 00:30:44,325 --> 00:30:45,700 running voor aanvang van de PSET. 622 00:30:45,700 --> 00:30:47,800 Want je zult het nodig hebben. 623 00:30:47,800 --> 00:30:48,300 Ja. 624 00:30:48,300 --> 00:30:51,299 Is er iemand anders die niet is geweest staat om hun server te beginnen? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Voor degenen onder u die wilt toevoegen extra stijl aan uw webpagina's, 627 00:31:17,840 --> 00:31:20,450 kunnen we eigenlijk doen wat David deed in collegezaal ook, 628 00:31:20,450 --> 00:31:24,070 die is het creëren van een extra stijl blad, dat is een punt CSS, Cascading 629 00:31:24,070 --> 00:31:30,080 Style Sheet en eigenlijk alleen maar toe te voegen in. 630 00:31:30,080 --> 00:31:33,550 Dus bijvoorbeeld, heb ik zojuist vrijwel bijna exact dezelfde één 631 00:31:33,550 --> 00:31:37,180 David deed in collegezaal. 632 00:31:37,180 --> 00:31:39,220 Je kunt vrijwel alleen lichaam doen. 633 00:31:39,220 --> 00:31:45,980 >> Je hebt wat zijn tags genoemd waarin u kunt toepassen op welke sectie IDE 634 00:31:45,980 --> 00:31:48,650 U wilt binnen uw werkelijke naar HTML-pagina. 635 00:31:48,650 --> 00:31:54,890 Zodat het lichaam van de pagina, u kunt tekst align center doen. 636 00:31:54,890 --> 00:31:58,110 En dan zal ik creatief een label genaamd top binnen 637 00:31:58,110 --> 00:32:01,860 die wil ik deze dingen gebeuren, wijs een grotere pixelgrootte 638 00:32:01,860 --> 00:32:03,104 voor het lettertype. 639 00:32:03,104 --> 00:32:04,520 Ik wil het lettertype gewicht te vet zijn. 640 00:32:04,520 --> 00:32:06,478 En ik wil de kleur zijn blauw, net willekeurige 641 00:32:06,478 --> 00:32:08,570 waarden die ik besloten om te kiezen. 642 00:32:08,570 --> 00:32:10,870 Ik kan een ander label genaamd midden te creëren. 643 00:32:10,870 --> 00:32:12,640 Lettergrootte, maken het een beetje kleiner. 644 00:32:12,640 --> 00:32:17,730 En dan kan ik nog een tag maken genaamd bodem waar ik wil de lettergrootte 645 00:32:17,730 --> 00:32:20,900 zelfs nog kleiner zijn. 646 00:32:20,900 --> 00:32:25,630 >> En zo vrij veel is dit enkel voorbeeld van de broncode of de bron style sheets 647 00:32:25,630 --> 00:32:27,400 dat het heel gemakkelijk om gewoon Google. 648 00:32:27,400 --> 00:32:31,560 Als je zegt, oh, ik wil dat mijn lettertype worden cursief en donkergroen, 649 00:32:31,560 --> 00:32:33,980 kunt u waarschijnlijk Google, en dan zal het u vertellen 650 00:32:33,980 --> 00:32:37,590 de juiste markeringen of ID's te creëren. 651 00:32:37,590 --> 00:32:41,670 En dus is de manier waarop je zou eigenlijk soort hebben dit in een HTML-document 652 00:32:41,670 --> 00:32:45,660 of gebruik het is alles wat je hebt om hier te doen is aan het hoofd 653 00:32:45,660 --> 00:32:48,560 Voeg een link naar de style sheet. 654 00:32:48,560 --> 00:32:53,600 >> Dus je kunt gewoon een link href gelijken ongeacht de naam van uw style sheet 655 00:32:53,600 --> 00:32:54,590 is. 656 00:32:54,590 --> 00:32:56,740 En dan is de relatie is een style sheet. 657 00:32:56,740 --> 00:33:00,700 Dus binnen een HTML document, zolang zoals u onder dit punt CSS-sheet, 658 00:33:00,700 --> 00:33:07,140 moet u in staat om toegang te krijgen en hebben de eigenschappen daar. 659 00:33:07,140 --> 00:33:10,370 >> Dus bijvoorbeeld, hier heb ik net maak een ander voorbeeld webpagina. 660 00:33:10,370 --> 00:33:15,680 Dit is van harte welkom om deel CS50 Dinsdag 2:00-03:30 met mij. 661 00:33:15,680 --> 00:33:20,300 En dan heb ik een mooi beeld toegevoegd dat we mogelijk moeten kunnen zien. 662 00:33:20,300 --> 00:33:24,620 >> Dus als je hier een kijkje nemen, als je naar style.html, 663 00:33:24,620 --> 00:33:26,310 hebben we een webpagina met kittens. 664 00:33:26,310 --> 00:33:29,420 Omdat kitten zijn geweldig. 665 00:33:29,420 --> 00:33:33,570 Dus het toevoegen van een afbeelding is gewoon img src link. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Vrij veel, als er een soort van functie 668 00:33:38,310 --> 00:33:40,268 u wilt toevoegen aan uw website-- dus laten we zeggen, 669 00:33:40,268 --> 00:33:43,290 je wilt een menu toevoegen of een zoekbalk of als 670 00:33:43,290 --> 00:33:46,450 een image-- alleen Google hoe dat te doen. 671 00:33:46,450 --> 00:33:48,277 En je gewoon plop in dat formaat. 672 00:33:48,277 --> 00:33:50,110 En je kan gewoon vrij veel gewoon toe te voegen in. 673 00:33:50,110 --> 00:33:52,670 Het is echt, echt makkelijk. 674 00:33:52,670 --> 00:33:55,014 >> We creëren onze eigen webpagina's nu. 675 00:33:55,014 --> 00:33:55,680 Als je wil-- 676 00:33:55,680 --> 00:33:56,580 >> PUBLIEK: [onverstaanbaar] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: Sorry? 678 00:33:57,470 --> 00:33:59,310 >> PUBLIEK: [onverstaanbaar]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI Peng: Oh, de div is slechts een divisie 680 00:34:01,340 --> 00:34:04,370 vertelde me dat, oh, ik heb een bepaald deel genaamd 681 00:34:04,370 --> 00:34:07,480 midden waarin ik ben het aanbrengen mijn CSS-tag, en daarna 682 00:34:07,480 --> 00:34:09,619 mijn andere divisie met de bodem. 683 00:34:09,619 --> 00:34:10,785 Dat is alles wat het is je te vertellen. 684 00:34:10,785 --> 00:34:12,743 Want het is leuk om te houden dingen keurig in orde, 685 00:34:12,743 --> 00:34:16,304 zodat het programma weet precies werking. 686 00:34:16,304 --> 00:34:18,929 En denk dat ik kan kopiëren plak deze in mijn werkelijke browser ook. 687 00:34:18,929 --> 00:34:21,110 Het moet wel goed. 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 Dus als iedereen wil gewoon probeer het creëren van een webpagina, 692 00:34:29,380 --> 00:34:32,169 we zullen nog twee tot drie minuten duren. 693 00:34:32,169 --> 00:34:34,460 Ik wil alleen maar om ervoor te zorgen ieders servers draaien 694 00:34:34,460 --> 00:34:36,941 en iedereen heeft een idee van hoe dat te doen. 695 00:34:36,941 --> 00:34:38,774 Als jullie willen neem uw computers. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Werkt nog steeds niet? 698 00:34:45,635 --> 00:34:47,420 >> Publiek: Ik ben gewoon [onverstaanbaar]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: Misschien proberen te werken 50 ook. 700 00:34:49,838 --> 00:34:51,392 Ja. 701 00:34:51,392 --> 00:34:52,308 PUBLIEK: [onverstaanbaar]. 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 Dus de manier waarop je een nieuwe start webserver op de IDE is gewoon 705 00:35:23,750 --> 00:35:27,889 doen apache50 ruimte startveld stip. 706 00:35:27,889 --> 00:35:30,430 Ik wilde alleen maar om ervoor te zorgen ieders servers draaien op OK. 707 00:35:30,430 --> 00:35:31,763 >> Publiek: Hier, op de terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI PENG: Ja. 709 00:35:33,334 --> 00:35:34,250 PUBLIEK: [onverstaanbaar]. 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 Eigenlijk denk ik dat je bent loopt al iets. 713 00:35:42,010 --> 00:35:43,145 Ja, je eigenlijk bent draaien van een andere server. 714 00:35:43,145 --> 00:35:43,830 Ja, je bent goed. 715 00:35:43,830 --> 00:35:45,085 Zolang die werkt, je bent OK. 716 00:35:45,085 --> 00:35:45,626 >> Publiek: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI Peng: Er zijn twee manieren om servers draaien. 718 00:35:47,615 --> 00:35:49,990 Zo lang als een van de manieren werkt, het is allemaal goed. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 We zullen nog een minuut te nemen gewoon soort eindigen 721 00:36:21,680 --> 00:36:25,280 de afwerking van welke webpagina jullie wilde maken. 722 00:36:25,280 --> 00:36:26,830 >> Wordt iedereen die werkzaam is op de weg? 723 00:36:26,830 --> 00:36:30,910 Servers iedereen zijn running naast voor jou? 724 00:36:30,910 --> 00:36:32,210 We zullen cijfer dat uit. 725 00:36:32,210 --> 00:36:34,137 En HTML is vrij eenvoudig. 726 00:36:34,137 --> 00:36:35,220 Dus ik denk dat we allemaal goed. 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 Ik kom terug. 730 00:36:41,070 --> 00:36:42,797 >> PUBLIEK: [onverstaanbaar]. 731 00:36:42,797 --> 00:36:43,380 ANDI Peng: OK. 732 00:36:43,380 --> 00:36:44,770 Publiek: Dus het is gewoon begon te laden. 733 00:36:44,770 --> 00:36:45,686 ANDI Peng: Geen zorgen. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Dus HTML, er is de broncode die zal online na sectie zijn. 736 00:36:52,680 --> 00:36:54,810 Ook, David een geheel bos ook online. 737 00:36:54,810 --> 00:36:58,190 Gewoon een soort van blik over het aan zien hoe HTML-pagina's worden geschreven. 738 00:36:58,190 --> 00:36:59,920 Het is vrij eenvoudig. 739 00:36:59,920 --> 00:37:03,979 Alles wat je niet weet, je behoorlijk veel alleen Google en je bent goed. 740 00:37:03,979 --> 00:37:06,270 Ik wil alleen maar om ervoor te zorgen dat uw servers draaien. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Publiek: Is het doen dit vaak? 743 00:37:14,880 --> 00:37:16,421 >> ANDI Peng: Het is nog nooit gebeurd met mij. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Ik wist niet dat het zou zelfs kunnen overwinteren. 746 00:37:20,782 --> 00:37:22,516 >> PUBLIEK: [onverstaanbaar]. 747 00:37:22,516 --> 00:37:25,140 ANDI Peng: Ik denk everyone-- de mijne is nog nooit eerder winterslaap. 748 00:37:25,140 --> 00:37:26,860 En ik weet niet waarom. 749 00:37:26,860 --> 00:37:27,566 Het is raar. 750 00:37:27,566 --> 00:37:29,310 >> PUBLIEK: [onverstaanbaar]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: Is jou winterslaap? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> PUBLIEK: [onverstaanbaar]. 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 Publiek: Het is OK. 757 00:37:39,872 --> 00:37:40,622 Dus zodra het is geopend. 758 00:37:40,622 --> 00:37:41,760 ANDI Peng: OK. 759 00:37:41,760 --> 00:37:43,940 We zullen omgaan met enkele server problemen na sectie. 760 00:37:43,940 --> 00:37:44,860 Je moet wel goed. 761 00:37:44,860 --> 00:37:47,950 Hoewel, wilt u ervoor zorgen dat u krijgen ze opgelost voordat u vertrekt. 762 00:37:47,950 --> 00:37:49,380 Want als je server niet actief, dan ben je 763 00:37:49,380 --> 00:37:52,004 niet van plan om in staat zijn om het te doen PSET, net als een deel van de PSET. 764 00:37:52,004 --> 00:37:54,200 Dus je wilt er zeker van dat werkt. 765 00:37:54,200 --> 00:37:54,831 Koel. 766 00:37:54,831 --> 00:37:55,330 Prima. 767 00:37:55,330 --> 00:37:56,490 Afscheid kittens. 768 00:37:56,490 --> 00:37:59,670 Ik heb een lange tijd op zoek naar dat kitten foto op te zetten. 769 00:37:59,670 --> 00:38:02,272 Dus, anyways. 770 00:38:02,272 --> 00:38:04,950 >> PUBLIEK: [onverstaanbaar]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: Sorry? 772 00:38:05,770 --> 00:38:07,345 >> PUBLIEK: [onverstaanbaar]. 773 00:38:07,345 --> 00:38:08,970 ANDI Peng: Ik denk dat het op de website. 774 00:38:08,970 --> 00:38:11,064 Net als de spec? 775 00:38:11,064 --> 00:38:12,020 >> PUBLIEK: [onverstaanbaar]. 776 00:38:12,020 --> 00:38:16,080 Ik denk dat de spec is gewoon online in week zeven. 777 00:38:16,080 --> 00:38:18,850 Ik denk dat het pset6 heet, zelfs hoewel we op week zeven, die 778 00:38:18,850 --> 00:38:19,641 is een beetje computing. 779 00:38:19,641 --> 00:38:23,130 Publiek: Maar ik bedoel als je willen at-- kijken als je 780 00:38:23,130 --> 00:38:28,666 willen trekken onze versie van de website van onze sever? 781 00:38:28,666 --> 00:38:31,820 Dus als server.c is de PSET, toch? 782 00:38:31,820 --> 00:38:36,514 Als je wilt kijken naar dit, zoals hoe het klopt? 783 00:38:36,514 --> 00:38:38,680 ANDI Peng: Oh, dus eigenlijk de PSET, we alles wat we doen 784 00:38:38,680 --> 00:38:41,405 hier is hier implementing--, Ik ga op dit kort. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Dus voor iedereen die net is geworden sectie, jullie zijn in geluk. 787 00:38:47,020 --> 00:38:49,340 Er is zeer weinig materiaal om daadwerkelijk te dekken vandaag. 788 00:38:49,340 --> 00:38:52,585 >> Ik ga gewoon naar de volgende te brengen 20 minuten gaan over PSET hulp. 789 00:38:52,585 --> 00:38:55,210 Want er is een aantal nuttige functies die je leven zal helpen. 790 00:38:55,210 --> 00:38:57,501 En hopelijk zullen we buiten te zijn hier in zo'n 20 minuten. 791 00:38:57,501 --> 00:38:58,360 OK. 792 00:38:58,360 --> 00:39:00,252 >> Dus pset7 is verkeerd. 793 00:39:00,252 --> 00:39:02,460 Ook al zijn we op de week zeven, het is eigenlijk pset6. 794 00:39:02,460 --> 00:39:04,220 Ik zal dat veranderen. 795 00:39:04,220 --> 00:39:07,550 Alles wat we doen in pset6 is het creëren van een webserver. 796 00:39:07,550 --> 00:39:09,010 Dat klinkt super eng. 797 00:39:09,010 --> 00:39:11,010 >> En vooral voor degenen van jullie die al 798 00:39:11,010 --> 00:39:14,530 keek naar de verdeelsleutel, er is veel van de code, een veel code. 799 00:39:14,530 --> 00:39:15,570 Maar is helemaal OK. 800 00:39:15,570 --> 00:39:17,750 Omdat de Nitty Gritty een deel van het daadwerkelijk creëren 801 00:39:17,750 --> 00:39:20,140 de server wordt gedaan door ons. 802 00:39:20,140 --> 00:39:22,090 Alles wat je echt gevraagd te doen in deze PSET 803 00:39:22,090 --> 00:39:25,350 is gewoon om wat string manipulatie doen in het dossier I / O. Het is eigenlijk 804 00:39:25,350 --> 00:39:27,570 als vrij eenvoudig. 805 00:39:27,570 --> 00:39:30,830 >> Dus als je voor het eerst dat-- downloaden die hier is eigenlijk al gedownload 806 00:39:30,830 --> 00:39:32,540 de PSET en meegenomen kijken? 807 00:39:32,540 --> 00:39:33,040 Prima. 808 00:39:33,040 --> 00:39:33,540 Ja. 809 00:39:33,540 --> 00:39:36,042 Er is net 500 regels code dat je gaat te zijn zoals, 810 00:39:36,042 --> 00:39:36,750 wat is er aan de hand? 811 00:39:36,750 --> 00:39:38,177 En dat is helemaal prima. 812 00:39:38,177 --> 00:39:39,760 Zorg ervoor dat u de walk-throughs te kijken. 813 00:39:39,760 --> 00:39:41,610 Omdat David en-- Ik weet het niet. 814 00:39:41,610 --> 00:39:43,870 Ik denk niet dat het Zamyla's, deze. 815 00:39:43,870 --> 00:39:47,040 Maar ik denk dat sommige andere walk-throughs zijn vrij 816 00:39:47,040 --> 00:39:49,510 behulpzaam in termen van gewoon laten weten 817 00:39:49,510 --> 00:39:51,780 Wat is er aan de binnenkant van je code. 818 00:39:51,780 --> 00:39:53,330 >> En het is helemaal OK. 819 00:39:53,330 --> 00:39:57,860 Omdat de vier functies die u bent vroeg uit te voeren eigenlijk 820 00:39:57,860 --> 00:39:59,720 nul te maken met de werkelijke server. 821 00:39:59,720 --> 00:40:02,590 Het enige wat ze hoeft te doen is gewoon parsing verschillende strijkers, 822 00:40:02,590 --> 00:40:05,780 zoeken via strings, om ervoor te zorgen dat dingen te doen 823 00:40:05,780 --> 00:40:07,750 wat ze zouden moeten doen. 824 00:40:07,750 --> 00:40:11,200 >> Dus in die zin, zijn er enkele zeer, zeer nuttige functies 825 00:40:11,200 --> 00:40:13,630 vooral voor strijkkwartet manipulatie, dat we moeten allemaal 826 00:40:13,630 --> 00:40:15,879 gaan over dat ik dacht dat ik zou zeer nuttig zijn voor jullie 827 00:40:15,879 --> 00:40:19,130 om te leren voordat de PSET. 828 00:40:19,130 --> 00:40:23,350 En ze zijn allemaal opgenomen binnen uw string.h bibliotheek. 829 00:40:23,350 --> 00:40:25,980 Er is waarschijnlijk meer bruikbaar functies die ik heb hier niet opgenomen, 830 00:40:25,980 --> 00:40:30,740 omdat ik ook nooit gebruiken of misschien heb ik gewoon niet weten dat ze bestaan. 831 00:40:30,740 --> 00:40:32,440 >> Voel je vrij om blik door student.h. 832 00:40:32,440 --> 00:40:36,460 Want er gaat veel te zijn functies die zeer nuttig. 833 00:40:36,460 --> 00:40:43,050 Zodat de zes die ik het meest gebruik maken van mijn PSET toen ik het deed dit afgelopen week 834 00:40:43,050 --> 00:40:49,620 waren strtok, strchr, strrcher, strstr, strcasecmp en strcpy. 835 00:40:49,620 --> 00:40:53,060 En zo de laatste twee lijken vrij bekend bij de meeste van jullie. 836 00:40:53,060 --> 00:40:56,910 Geval str vergelijken, alles wat het doet is te vergelijken snaren om ze te controleren op gelijkheid, 837 00:40:56,910 --> 00:40:58,110 inclusief koffer. 838 00:40:58,110 --> 00:41:01,430 En strcpy gewoon kopieën een string in een buffer. 839 00:41:01,430 --> 00:41:04,430 >> En dus die twee moet erg lijken bekend om jullie op dit punt. 840 00:41:04,430 --> 00:41:07,100 Omdat we ze veel hebt gebruikt, vooral voor de laatste psets. 841 00:41:07,100 --> 00:41:10,734 Maar de eerste vier misschien u nog niet gezien tot nu toe. 842 00:41:10,734 --> 00:41:12,400 Maar ik ga gewoon lopen via hen. 843 00:41:12,400 --> 00:41:15,620 Omdat ze gaan om je leven te maken echt, echt makkelijk voor-- niet gemakkelijk, 844 00:41:15,620 --> 00:41:19,830 maar veel gemakkelijker voor deze aankomende PSET. 845 00:41:19,830 --> 00:41:20,420 >> OK. 846 00:41:20,420 --> 00:41:27,720 Dus char * strtok, dit is de functie definitie van deze functie bevatte 847 00:41:27,720 --> 00:41:31,050 binnen de string, h bibliotheek. 848 00:41:31,050 --> 00:41:34,340 Als je krijgt een ingang van char * koord, dat is gewoon een string, 849 00:41:34,340 --> 00:41:38,220 of een constante char * deliminator, Delim voor de korte, 850 00:41:38,220 --> 00:41:42,410 alles wat het doet is het breken van de grotere string in een reeks van wat wij noemen 851 00:41:42,410 --> 00:41:45,730 tokens gescheiden door een bepaalde waarde. 852 00:41:45,730 --> 00:42:03,340 Dus in zekere zin, als ik op te geven U section.7.php dit een tekenreeks. 853 00:42:03,340 --> 00:42:09,520 >> Dus dat zou zijn als ik te passeren in dit als mijn str, mijn char * str, 854 00:42:09,520 --> 00:42:18,870 als mijn deliminator was stip, dit alles zou doen is zoeken door middel van string. 855 00:42:18,870 --> 00:42:22,790 En de eerste keer ziet een punt, het zou alleen maar terug te keren naar de wijzer 856 00:42:22,790 --> 00:42:25,830 naar de laatste token gevonden in de string voordat dit. 857 00:42:25,830 --> 00:42:27,230 Zo zou het hier gaan. 858 00:42:27,230 --> 00:42:30,580 >> En het zou geef me 7.php. 859 00:42:30,580 --> 00:42:34,070 En als ik het noemen functioneert nog een keer, 860 00:42:34,070 --> 00:42:37,580 Het zou me alleen de php. 861 00:42:37,580 --> 00:42:41,540 En zo al deze functie doet wordt het afbreken van de grotere reeks 862 00:42:41,540 --> 00:42:44,620 in kleinere strings, afhankelijk op wat u zoekt. 863 00:42:44,620 --> 00:42:46,670 >> Dus bijvoorbeeld in je look up functie 864 00:42:46,670 --> 00:42:49,895 als je wilt kijken naar wat bepaalde tekens komen over 865 00:42:49,895 --> 00:42:54,280 of als stippen gebeuren of uitbreidingen gebeuren, Deze functie zou tamelijk nuttig zijn. 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 Geen zorgen. 869 00:42:59,510 --> 00:43:01,339 Dit zal alle be-- ja, wat is er? 870 00:43:01,339 --> 00:43:07,087 >> Publiek: Dus in de eerste lijn, als we met behulp van dit voorbeeld, 871 00:43:07,087 --> 00:43:09,504 wat zouden we invoegen in dat? 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 Je zou gewoon bellen een strtok reeks komma delim. 875 00:43:25,640 --> 00:43:30,260 En strijkkwartet is gelijk aan section.7.php. 876 00:43:30,260 --> 00:43:35,244 En dan moet je delim bent gelijk aan enkel punt zijn. 877 00:43:35,244 --> 00:43:36,654 >> Publiek: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI PENG: Ja. 879 00:43:39,010 --> 00:43:41,266 Gewoon zo. 880 00:43:41,266 --> 00:43:43,890 Al deze functies zijn vrij vergelijkbaar als we gaan via hen. 881 00:43:43,890 --> 00:43:45,514 Ze doen net iets andere dingen. 882 00:43:45,514 --> 00:43:49,530 Maar ze gaan allemaal maak uw leven een stuk eenvoudiger. 883 00:43:49,530 --> 00:43:53,940 Tweede functie, dit is net als super, super, super belangrijk, 884 00:43:53,940 --> 00:43:58,254 is the-- houden. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Oeps. 887 00:44:08,730 --> 00:44:13,810 Strchr zoekopdrachten voor de eerste occurrence-- eigenlijk, ja. 888 00:44:13,810 --> 00:44:16,385 Strchr is de functie die Ik zeker net ging. 889 00:44:16,385 --> 00:44:18,260 Dus negeren wat ik zei de eerste functie. 890 00:44:18,260 --> 00:44:20,980 Het is eigenlijk heet strchr. 891 00:44:20,980 --> 00:44:24,840 >> Dus wat zou hier gebeurd is, is als u kregen een string in een char c, 892 00:44:24,840 --> 00:44:28,660 het zou gewoon geven je wat dat was. 893 00:44:28,660 --> 00:44:29,230 Ja. 894 00:44:29,230 --> 00:44:33,700 Dus denk dat het als str, die is een string en chr als char. 895 00:44:33,700 --> 00:44:38,621 Dus alles wat je probeert te doen is zoeken want waar een char is binnen een string. 896 00:44:38,621 --> 00:44:41,120 En dus zoekt het naar de eerste optreden van de aard 897 00:44:41,120 --> 00:44:43,601 c in de string str. 898 00:44:43,601 --> 00:44:46,463 >> PUBLIEK: [onverstaanbaar]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI Peng: Yup. 900 00:44:48,380 --> 00:44:51,230 En dan als het niet vinden het, het gaat om terug te keren NULL. 901 00:44:51,230 --> 00:44:54,313 Dus iets dat gaat heel zijn nuttig voor jullie in het doen van de PSET 902 00:44:54,313 --> 00:44:59,030 als, zeg, ben je op zoek naar een uitbreiding als een .docx voor Word 903 00:44:59,030 --> 00:45:04,740 document of een .pdf voor een PDF-document, u kunt soort gebruiken om te kijken 904 00:45:04,740 --> 00:45:08,720 voor alles wat daarna elke keer zie je een punt, toch? 905 00:45:08,720 --> 00:45:11,880 En zo vrij veel, als je lopen dat door middel van de functie, 906 00:45:11,880 --> 00:45:13,610 Als het terugkeert NULL, dan weet je dat het 907 00:45:13,610 --> 00:45:17,292 vond het niet dot, wat dit betekent duidelijk is geen geldige extensie. 908 00:45:17,292 --> 00:45:19,000 Of als het terugkeert iets, dan weet je 909 00:45:19,000 --> 00:45:21,940 het gaat om wat we terugkeren zelfs na de verlenging. 910 00:45:21,940 --> 00:45:24,190 Dus degenen onder u die had begon op zoek via lookup 911 00:45:24,190 --> 00:45:28,640 en ontleden, deze functie's zal super nuttig. 912 00:45:28,640 --> 00:45:32,010 Dus we eigenlijk gaan aantonen met deze. 913 00:45:32,010 --> 00:45:36,670 >> Waarom hebben jullie niet proberen het schrijven van een functie bool zin char * s die 914 00:45:36,670 --> 00:45:39,610 gewoon geeft true als s is een zin en anders false. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Dus hint, je gaat om waarschijnlijk gebruiken strchr. 917 00:45:46,830 --> 00:45:50,420 Of als je gewoon zoeken in de string voor een bepaald karakter. 918 00:45:50,420 --> 00:45:54,950 En zo in een zin, wat scheidt een zin 919 00:45:54,950 --> 00:45:57,510 van een niet-zin welke specifieke karakter? 920 00:45:57,510 --> 00:45:58,260 Publiek: Een ruimte. 921 00:45:58,260 --> 00:45:59,343 ANDI Peng: Een ruimte, toch? 922 00:45:59,343 --> 00:46:03,354 En dus wat doen we waarschijnlijk gaan om willen doen binnen deze functie hier? 923 00:46:03,354 --> 00:46:04,290 >> PUBLIEK: [onverstaanbaar]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI PENG: We gaan te willen strchr string voor het uiterlijk van de ruimte. 925 00:46:07,623 --> 00:46:11,330 Want als het iets, dan keert terug We weten dat dit een straf moet zijn. 926 00:46:11,330 --> 00:46:14,510 Dat betekent dat we moeten een ruimte in deze string. 927 00:46:14,510 --> 00:46:17,660 >> Als er geen ruimte, dan weten we dat, hey, denk dat het niet een string. 928 00:46:17,660 --> 00:46:20,060 Het is waarschijnlijk gewoon een heel lang woord. 929 00:46:20,060 --> 00:46:23,242 Dus ik geef je een paar jongens minuten om deze functie te schrijven. 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 >> PUBLIEK: Heb je deze string van de gebruiker? 933 00:46:47,970 --> 00:46:48,440 >> ANDI PENG: Ja. 934 00:46:48,440 --> 00:46:49,565 Dus dit is gewoon een functie. 935 00:46:49,565 --> 00:46:54,586 Dus stel in je belangrijkste functie je al have-- laten we gaan 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 Dus ik heb dit programma, waar schriftelijke Ik heb mijn belangrijkste functie, waar 939 00:47:05,270 --> 00:47:07,432 Ik heb zojuist twee snaren. 940 00:47:07,432 --> 00:47:09,890 De eerste is Hallo, mijn naam Andi-- is duidelijk, een zin. 941 00:47:09,890 --> 00:47:13,240 Mijn tweede is gewoon Andi, duidelijk niet veroordelen. 942 00:47:13,240 --> 00:47:18,390 >> En dus ik ben bijna allebei van die snaren door deze functie. 943 00:47:18,390 --> 00:47:20,540 Ik wil dat jullie koud zin te schrijven. 944 00:47:20,540 --> 00:47:23,380 En ik ben het opslaan van deze waarden, en dan gewoon printen ze uit. 945 00:47:23,380 --> 00:47:26,549 Dus denk dat de gebruiker zal geschieden in een string. 946 00:47:26,549 --> 00:47:29,590 En dan zul je in wezen erachter te komen of het een zin of niet 947 00:47:29,590 --> 00:47:31,131 en dus terug te keren waar of onwaar. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Als jullie willen geven duim omhoog of heads-up, hoofd knikken, 950 00:48:45,200 --> 00:48:49,080 is iedereen is klaar om te beginnen dit, dat zou goed zijn. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Misschien als 30 seconden? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Prima. 955 00:50:50,070 --> 00:50:52,870 Laten we eens kijken of je kunt proberen het schrijven van deze functie. 956 00:50:52,870 --> 00:50:57,480 >> Dus pseudo coding-- Ik ga gewoon soort wandeling door dit recht nu. 957 00:50:57,480 --> 00:51:00,570 Vrij veel, we weten dat de functie die we moeten gebruiken. 958 00:51:00,570 --> 00:51:04,390 We gaan die functie een beroep doen op onze string en zoeken naar een ruimte. 959 00:51:04,390 --> 00:51:08,682 Als het iets terugkomt, dan moeten we dat duidelijk is dit een zin. 960 00:51:08,682 --> 00:51:09,640 Want er is ruimte. 961 00:51:09,640 --> 00:51:10,930 Dan gaan we echt terug. 962 00:51:10,930 --> 00:51:12,310 Anders, we gaan return false. 963 00:51:12,310 --> 00:51:14,393 Heeft iemand willen geven mij de eerste regel van de code 964 00:51:14,393 --> 00:51:16,890 dat we eigenlijk gaan te gebruiken om dit te schrijven? 965 00:51:16,890 --> 00:51:19,680 Het is eigenlijk de moeilijkste regel code ook. 966 00:51:19,680 --> 00:51:21,026 Ja. 967 00:51:21,026 --> 00:51:28,942 >> Publiek: Als strtok S-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: Gewoon strchr. 969 00:51:29,900 --> 00:51:35,354 PUBLIEK: [onderbreekt hem VOICES] ruimte is niet gelijk aan null. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI Peng: Cool. 972 00:51:40,710 --> 00:51:41,470 Precies goed. 973 00:51:41,470 --> 00:51:43,200 Iedereen begrijpt dat de eerste lijn? 974 00:51:43,200 --> 00:51:46,110 We gaan strstr noemen, dat een functie die zoekt 975 00:51:46,110 --> 00:51:51,830 de string s de char ruimte. 976 00:51:51,830 --> 00:51:56,010 En als het vindt, gaat het om terug een pointer naar de plaats waar dat is. 977 00:51:56,010 --> 00:51:58,500 >> Als het niet vinden, het gaat om terug te keren NULL. 978 00:51:58,500 --> 00:52:02,530 Dus als het iets anders dan retourneert NULL, dan weten we dat het vinden van een ruimte. 979 00:52:02,530 --> 00:52:03,553 Slaat dat ergens op? 980 00:52:03,553 --> 00:52:04,090 Koel. 981 00:52:04,090 --> 00:52:04,590 Prima. 982 00:52:04,590 --> 00:52:08,246 Dus als we weten dat het vinden van een ruimte, wat willen we doen? 983 00:52:08,246 --> 00:52:09,162 Publiek: return true. 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 En dan, iemand willen eindigen de functie voor mij? 987 00:52:15,034 --> 00:52:16,300 Ja. 988 00:52:16,300 --> 00:52:19,720 Anders, net als dat. 989 00:52:19,720 --> 00:52:20,780 En probeer het samenstellen van dit. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Ja. 992 00:52:28,000 --> 00:52:33,099 Dus zoals jullie kunnen zien op de uitgangen, herinner Booleans in C 993 00:52:33,099 --> 00:52:34,390 worden altijd uitgedrukt in binaire. 994 00:52:34,390 --> 00:52:35,100 1 geldt. 995 00:52:35,100 --> 00:52:36,350 0 is vals. 996 00:52:36,350 --> 00:52:39,720 >> Als we dit uitvoeren functie snaar een, dat 997 00:52:39,720 --> 00:52:42,900 is Hallo, mijn naam is Andi-- duidelijk een sentence-- het resultaat 998 00:52:42,900 --> 00:52:45,700 uitgeprint met 1 waar is. 999 00:52:45,700 --> 00:52:48,420 De tweede, die net een woord, resultaatgericht uitgeprint 1000 00:52:48,420 --> 00:52:50,630 tot 0, dat is vals. 1001 00:52:50,630 --> 00:52:54,820 Iedereen duidelijke soort van hoe Deze functie is geschreven? 1002 00:52:54,820 --> 00:52:55,800 Ja. 1003 00:52:55,800 --> 00:52:59,770 >> Publiek: Kunnen we ook doen, in plaats van niet gelijk nee, gelijk gelijk is aan 0, 1004 00:52:59,770 --> 00:53:03,677 zodat het gelijk? 1005 00:53:03,677 --> 00:53:04,260 ANDI PENG: No. 1006 00:53:04,260 --> 00:53:07,480 Omdat strchr is een functie. 1007 00:53:07,480 --> 00:53:09,940 Ik ga terug naar dit. 1008 00:53:09,940 --> 00:53:14,624 Dus wat is de return type van onze strchr functie? 1009 00:53:14,624 --> 00:53:15,332 PUBLIEK: Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 Of NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI PENG: Ja. 1012 00:53:16,466 --> 00:53:20,890 Het is een char * die me vertelt dat wat Deze functie zal terugkeren, 1013 00:53:20,890 --> 00:53:22,090 het gaat om een ​​pointer zijn. 1014 00:53:22,090 --> 00:53:24,860 Ofwel de wijzer gaat worden wijzend naar de plaats waar het is gevonden, 1015 00:53:24,860 --> 00:53:27,550 of het gaat om terug te keren een verwijzing naar NULL. 1016 00:53:27,550 --> 00:53:30,930 In beide omstandigheden, gaat het een pointer terug iets. 1017 00:53:30,930 --> 00:53:34,354 >> En dus als je zou gelijk Dit is gelijk aan, gelijk, 0, 1018 00:53:34,354 --> 00:53:36,020 je gaat naar een compilatie fout. 1019 00:53:36,020 --> 00:53:37,645 Omdat het gaat om een ​​pointer terug. 1020 00:53:37,645 --> 00:53:40,240 En je gaat proberen om Vergelijk een pointer naar een integer. 1021 00:53:40,240 --> 00:53:42,515 En de computer is niet gaan als dat. 1022 00:53:42,515 --> 00:53:45,630 Ja, precies. 1023 00:53:45,630 --> 00:53:46,540 Koel. 1024 00:53:46,540 --> 00:53:47,525 Iedereen goed? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> En ten tweede, we gaan om te gaan over een functie genaamd strstr. 1027 00:53:59,770 --> 00:54:02,020 Geen zorgen als deze functies zijn verwarrend je. 1028 00:54:02,020 --> 00:54:03,750 Ze me verwarrend. 1029 00:54:03,750 --> 00:54:07,250 Als zodanig, kunnen jullie hebben gezien, ze klinken allemaal vrijwel hetzelfde. 1030 00:54:07,250 --> 00:54:10,400 Net wanneer je in de war bent, trek de string.h bibliotheek. 1031 00:54:10,400 --> 00:54:13,290 En jullie kunt sorteren waardoor je die. 1032 00:54:13,290 --> 00:54:18,910 >> Dus strstr, alles doet is zoekopdrachten een string voor een heel ander string. 1033 00:54:18,910 --> 00:54:21,980 Dus waar strchr gewoon zoekopdrachten voor een enkel teken, 1034 00:54:21,980 --> 00:54:24,090 strstr zoekopdrachten voor een hele reeks. 1035 00:54:24,090 --> 00:54:30,440 Dus ik wilde om te kijken in, ik niet weet, Hallo, mijn naam is Andi. 1036 00:54:30,440 --> 00:54:32,490 En de naam van mijn beste vriend is ook Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Als ik wilde om te zoeken in deze straf voor het hele woord van Andi, 1038 00:54:37,180 --> 00:54:39,930 mijn naald zou zijn geweest wat je zoekt. 1039 00:54:39,930 --> 00:54:43,440 En uw hooiberg is wat u zoekt in. 1040 00:54:43,440 --> 00:54:47,050 Dus als u op zoek bent naar een specifiek woord in een zin, 1041 00:54:47,050 --> 00:54:48,800 dat woord gaat de naald zijn. 1042 00:54:48,800 --> 00:54:51,397 En dan is de straf zelf gaat om uw hooiberg zijn. 1043 00:54:51,397 --> 00:54:53,230 En zo is het gewoon zoekt het eerste optreden 1044 00:54:53,230 --> 00:54:55,063 van de string naald in de string hooiberg. 1045 00:54:55,063 --> 00:54:57,140 Het geeft de wijzer het eerste voorkomen. 1046 00:54:57,140 --> 00:55:00,510 Behalve, herinner me in dit geval, het is de eerste exemplaar van de gehele reeks 1047 00:55:00,510 --> 00:55:02,510 die u zoekt voor, niet alleen een teken. 1048 00:55:02,510 --> 00:55:04,676 >> En dit is dus bijna de hetzelfde als de functie 1049 00:55:04,676 --> 00:55:09,100 we net deed, alleen met een beetje meer specificiteit. 1050 00:55:09,100 --> 00:55:12,730 Omdat je op zoek bent naar meer dan één teken. 1051 00:55:12,730 --> 00:55:16,310 En het gebruik is exact dezelfde als degene die we net gedaan. 1052 00:55:16,310 --> 00:55:18,070 Iedereen OK met dit? 1053 00:55:18,070 --> 00:55:20,250 OK. 1054 00:55:20,250 --> 00:55:23,560 >> Laatste gaan we om te gaan dan is strrchr, die niet 1055 00:55:23,560 --> 00:55:26,320 verward met strstr of strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr heeft een extra r in. 1057 00:55:27,890 --> 00:55:29,140 Wees voorzichtig wanneer u typt. 1058 00:55:29,140 --> 00:55:33,851 Vind je jezelf met inbegrip een extra r dan niet met inbegrip van een r, 1059 00:55:33,851 --> 00:55:35,850 en dan uw functie wordt raakte niet gaan werken. 1060 00:55:35,850 --> 00:55:37,183 En je gaat in de war te zijn. 1061 00:55:37,183 --> 00:55:40,150 Wees voorzichtig dat je spelling al deze functies gelijk. 1062 00:55:40,150 --> 00:55:43,770 >> Dus strrchr is de exacte hetzelfde als strchr 1063 00:55:43,770 --> 00:55:47,480 behalve dat het zoekt niet de eerste optreden van een specifiek karakter, 1064 00:55:47,480 --> 00:55:49,350 maar het laatste voorkomen. 1065 00:55:49,350 --> 00:55:52,800 En ja, in die zin, het is bijna precies hetzelfde. 1066 00:55:52,800 --> 00:55:54,620 Maar in plaats van het verplaatsen doorsturen in een string, 1067 00:55:54,620 --> 00:55:57,230 je gaat verhuizen achterwaarts in een string. 1068 00:55:57,230 --> 00:56:00,510 Precies hetzelfde, je bent gewoon het zoeken in een andere volgorde. 1069 00:56:00,510 --> 00:56:04,690 >> En zo kan deze super zijn, super handig voor uw lookup 1070 00:56:04,690 --> 00:56:07,490 functie, de eerste functie op uw PSET. 1071 00:56:07,490 --> 00:56:12,710 Laten we doen alsof we nodig hadden om een ​​schrijven functie void toestel waarin we 1072 00:56:12,710 --> 00:56:17,850 langs een constante char * bestandsnaam, gewoon een string, een bestandsnaam, 1073 00:56:17,850 --> 00:56:21,370 dat is in die naam en prenten het verlengstuk van dat bestand. 1074 00:56:21,370 --> 00:56:26,520 Dus bijvoorbeeld, als ik passeren in de string van pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 het gaat gewoon uit te printen de uitbreiding, die is .zip. 1076 00:56:30,004 --> 00:56:31,920 En dit zou voor een soort van uitbreiding, 1077 00:56:31,920 --> 00:56:38,290 .docx voor Word of .pdf voor een PDF- bestand of .html voor een HTML-bestand. 1078 00:56:38,290 --> 00:56:40,425 Vrij veel, brief functie die dat kan doen. 1079 00:56:40,425 --> 00:56:42,300 Ik ben eigenlijk van plan om overschakelen naar de IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Het wordt er niet load-- we gaan. 1082 00:56:56,740 --> 00:57:00,990 >> Dus alles wat ik heb hier gedaan is creëerde een char *, een eerste reeks, 1083 00:57:00,990 --> 00:57:01,930 genaamd pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Ik ga om in te zoomen. 1085 00:57:04,530 --> 00:57:08,520 Ik heb een tweede reeks gemaakt genaamd finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 En schrijf me een functie die bij riep gaat gewoon uitprinten 1087 00:57:12,649 --> 00:57:13,690 de bestandsextensies. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Misschien een paar minuten om na te denken over hoe je gaat om dit te doen. 1090 00:57:19,660 --> 00:57:22,510 Iets meer uitdagende dan de vorige, 1091 00:57:22,510 --> 00:57:24,770 maar het gebruik is bijna precies dezelfde. 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 Dus schrijf een functie genaamd extensie dat, als ik geef je de naam van een bestand, 1095 00:57:37,540 --> 00:57:41,340 als ik geef je pset7.zip-- I wilt u afdrukken alleen de .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Als ik geef je finalpaper.docx, gewoon uitprinten de .docx, 1098 00:57:49,890 --> 00:57:51,538 alleen de uitbreiding van welke file. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Dit eigenlijk alleen duurt twee regels code. 1101 00:59:07,790 --> 00:59:10,692 Dus probeer om te zien of u kan misschien doen het in dat. 1102 00:59:10,692 --> 00:59:12,400 Eigenlijk is alleen neemt een regel code. 1103 00:59:12,400 --> 00:59:14,074 Maar twee lijnen is waarschijnlijk standaard. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Welke functie zijn we waarschijnlijk gaat te willen noemen? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> Publiek: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI Peng: strrchr, rechts. 1109 00:59:27,343 --> 00:59:29,570 Omdat we zoeken van rechts links. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Ik wist niet geven jullie Een voorbeeld als dit, 1112 00:59:33,940 --> 00:59:38,870 maar als ik gaf je een voorbeeld als www.apple.com en ik wilde alleen 1113 00:59:38,870 --> 00:59:43,005 de .com, zou het een voorbeeld van, waar zijn je wilt de laatste instantie roepen 1114 00:59:43,005 --> 00:59:44,630 van de periode en niet de eerste, toch? 1115 00:59:44,630 --> 00:59:47,470 Als je oproep strchr het, zou je hebt gezien de apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Als u strrchr aangeroepen, zou je hebben gezien de .com. 1117 00:59:49,966 --> 00:59:53,062 En dus wees voorzichtig waar ways-- in mijn voorbeeld, 1118 00:59:53,062 --> 00:59:55,520 kon je waarschijnlijk zou kunnen hebben gewoon geschreven met behulp strchr, 1119 00:59:55,520 --> 00:59:57,130 want er is maar één punt. 1120 00:59:57,130 --> 00:59:59,790 Maar in andere gevallen, dat niet het geval. 1121 00:59:59,790 --> 01:00:04,960 En dus altijd proberen te ontwerpen uw code goed, dus dat-- ja? 1122 01:00:04,960 --> 01:00:07,365 >> Publiek: Dus in het Bijvoorbeeld je net zei, 1123 01:00:07,365 --> 01:00:11,760 als je het zou strrchr geef je .com of kom gewoon? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI PENG: Het zou de .com geven. 1125 01:00:13,960 --> 01:00:14,794 >> Publiek: 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 Hij wijst naar de plek waar hij het gevonden. 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 seconden misschien? 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 Iedereen goed of misschien een beetje meer tijd? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Show van handen? 1137 01:01:01,640 --> 01:01:02,320 Show van hoofden? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Koel. 1140 01:01:05,300 --> 01:01:07,924 Iedereen wil me de eerste geven regel code voor dit programma? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 PUBLIEK: [onverstaanbaar]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: Dus de eerste plaats, laten we misschien breken dit neer. 1145 01:01:20,160 --> 01:01:24,370 Dus wat is de return type van strrchr? 1146 01:01:24,370 --> 01:01:26,150 Laten we terug gaan. 1147 01:01:26,150 --> 01:01:29,015 strrchr, wat is de return type? 1148 01:01:29,015 --> 01:01:29,640 PUBLIEK: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI PENG: Het is een char *, toch? 1150 01:01:31,270 --> 01:01:35,760 Wat betekent dat je waarschijnlijk gaat te willen naar een andere char * om vriendelijk te creëren 1151 01:01:35,760 --> 01:01:40,400 van de winkel waar het is terug te keren naar, toch? 1152 01:01:40,400 --> 01:01:43,200 Want als je belt de functie strrchr, 1153 01:01:43,200 --> 01:01:47,030 het gaat om u een pointer op te geven waar bleek dat laatste periode, 1154 01:01:47,030 --> 01:01:47,580 toch? 1155 01:01:47,580 --> 01:01:49,913 >> Maar je gaat te willen slaan dat er ergens, toch? 1156 01:01:49,913 --> 01:01:52,612 En dus hoe kunnen we coderen Dit in ons programma? 1157 01:01:52,612 --> 01:01:54,320 Publiek: Je maakt de char * [onverstaanbaar]. 1158 01:01:54,320 --> 01:01:55,240 ANDI Peng: Yep. 1159 01:01:55,240 --> 01:01:57,120 PUBLIEK: [onverstaanbaar]. 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, miste een r daar. 1163 01:01:59,306 --> 01:02:02,877 PUBLIEK: Bestandsnaam [onverstaanbaar]. 1164 01:02:02,877 --> 01:02:03,376 Wat is het? 1165 01:02:03,376 --> 01:02:04,420 Oh, het is gewoon is. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI Peng: Oh, het is gewoon is. 1167 01:02:04,940 --> 01:02:05,610 Yup, sorry. 1168 01:02:05,610 --> 01:02:06,330 Mijn fout. 1169 01:02:06,330 --> 01:02:08,370 Voorbeelden niet overeen. 1170 01:02:08,370 --> 01:02:12,130 >> Publiek: En dan stip. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI Peng: Yup. 1172 01:02:13,970 --> 01:02:16,570 Wees voorzichtig wanneer u kerels zijn-- hier, laat me in te zoomen. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Daar gaan we. 1175 01:02:24,400 --> 01:02:26,770 Wees voorzichtig wanneer u kerels het typen, vooral wanneer 1176 01:02:26,770 --> 01:02:27,920 je doet gewoon een char. 1177 01:02:27,920 --> 01:02:32,480 Het is heel gemakkelijk om per ongeluk net doen dubbele aanhalingstekens in plaats van één. 1178 01:02:32,480 --> 01:02:35,212 >> Dat zal niet werken. 1179 01:02:35,212 --> 01:02:36,670 Compiler zal klagen. 1180 01:02:36,670 --> 01:02:38,790 En uw functie gewoon niet gaan lopen. 1181 01:02:38,790 --> 01:02:40,540 En dus wees voorzichtig bij je dingen te doen 1182 01:02:40,540 --> 01:02:42,622 met tekens dat het enkele aanhalingstekens. 1183 01:02:42,622 --> 01:02:44,830 En dat doet deze lijn van code zinvol om iedereen? 1184 01:02:44,830 --> 01:02:46,810 We creëren een char * pointer. 1185 01:02:46,810 --> 01:02:50,310 Omdat strrchr returns iets van het type pointer. 1186 01:02:50,310 --> 01:02:53,440 >> En dus gaan we strchr bellen on I, dat de snaar, het bestand 1187 01:02:53,440 --> 01:02:55,140 te noemen, dat we passeren. 1188 01:02:55,140 --> 01:02:59,750 En we zijn op zoek naar de laatste exemplaar van een periode, die is 1189 01:02:59,750 --> 01:03:02,200 alleen de enkele aanhalingstekens dot enkele offerte. 1190 01:03:02,200 --> 01:03:02,700 Ja. 1191 01:03:02,700 --> 01:03:05,180 >> Publiek: Wanneer gaan we gebruiken dubbele aanhalingstekens en wanneer gebruiken we enkele aanhalingstekens? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI PENG: Ja. 1193 01:03:05,320 --> 01:03:07,180 Dus dubbele aanhalingstekens zijn altijd gebruikt als u 1194 01:03:07,180 --> 01:03:10,120 een reeks van meer dan één. 1195 01:03:10,120 --> 01:03:13,070 Dus als je strstr doet, die degene die u 1196 01:03:13,070 --> 01:03:16,320 zoek een string voor strijkkwartet, u zou het pas in dubbele aanhalingstekens. 1197 01:03:16,320 --> 01:03:18,070 Maar elke keer is het gewoon een enkel teken, 1198 01:03:18,070 --> 01:03:19,870 je wilt enkele aanhalingstekens te doen. 1199 01:03:19,870 --> 01:03:22,880 >> Het is een goede zaak om in gedachten te houden. 1200 01:03:22,880 --> 01:03:25,864 Dus nu hebben we onze wijzer, wat doen we ermee? 1201 01:03:25,864 --> 01:03:27,780 Ik vraag jullie om printen het uit, toch? 1202 01:03:27,780 --> 01:03:30,940 Dus [onhoorbaar], je wilt geef mij de lijn van code? 1203 01:03:30,940 --> 01:03:31,780 >> PUBLIEK: 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 PUBLIEK: --u behoefte aan een plek houder. 1207 01:03:36,843 --> 01:03:37,340 ANDI Peng: Yup. 1208 01:03:37,340 --> 01:03:38,334 Publiek: Print de plaats houder. 1209 01:03:38,334 --> 01:03:40,322 Ik weet niet wat de plaats houder is maar wijzen op het. 1210 01:03:40,322 --> 01:03:40,819 >> OK. 1211 01:03:40,819 --> 01:03:42,027 Laten we overslaan dat voor nu dan. 1212 01:03:42,027 --> 01:03:44,556 Publiek: En dan comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI Peng: Pointer, toch? 1214 01:03:45,720 --> 01:03:47,970 >> PUBLIEK: Pointer, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: Dus een soort van een strikvraag, heeft te maken met pointers en strings 1216 01:03:51,140 --> 01:03:53,130 dat we soort hebben gesproken over al. 1217 01:03:53,130 --> 01:03:57,766 Wat voor soort plaats houder doen we nodig hebt voor een pointer naar een char *? 1218 01:03:57,766 --> 01:03:59,574 >> PUBLIEK: [onverstaanbaar]. 1219 01:03:59,574 --> 01:04:00,240 ANDI PENG: Ja. 1220 01:04:00,240 --> 01:04:02,522 Het is gemakkelijker dan jullie denken het is. 1221 01:04:02,522 --> 01:04:03,230 PUBLIEK: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI PENG: Het is gewoon een string, precies. 1223 01:04:04,730 --> 01:04:06,595 Omdat herinneren strings niet echt bestaan. 1224 01:04:06,595 --> 01:04:09,430 Een char * is de exacte hetzelfde als een string. 1225 01:04:09,430 --> 01:04:14,461 En dus echt dit is is wat moeten zijn langs gebruikt. 1226 01:04:14,461 --> 01:04:14,960 OK. 1227 01:04:14,960 --> 01:04:17,810 >> Laten we eens kijken of we kunnen proberen het uitvoeren van deze. 1228 01:04:17,810 --> 01:04:19,450 Laten we doen een make-extensie. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Koel. 1231 01:04:23,396 --> 01:04:28,830 Jullie zien hoe ik aangenomen in de psset7.zip en de finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 en drukt gewoon uit het .zip en .docx? 1233 01:04:32,500 --> 01:04:34,150 Zin? 1234 01:04:34,150 --> 01:04:36,660 >> OK Dus ik denk dat in je look up functie in uw PSET je 1235 01:04:36,660 --> 01:04:41,050 gaan als de te vroeg snaar heeft een zekere einde, 1236 01:04:41,050 --> 01:04:42,800 moet je een bepaalde foutcode te geven. 1237 01:04:42,800 --> 01:04:44,820 En dus dit zal zijn vrij verschrikkelijk. 1238 01:04:44,820 --> 01:04:47,350 Want als je kunt achterhalen wat de uitbreiding is, 1239 01:04:47,350 --> 01:04:49,810 u kunt dan dat vergelijken uitbreiding te zien of het past up 1240 01:04:49,810 --> 01:04:51,251 met een zekere verlenging. 1241 01:04:51,251 --> 01:04:53,250 En dan kunt u terugkeren een foutmelding, toch? 1242 01:04:53,250 --> 01:04:53,860 Ja. 1243 01:04:53,860 --> 01:04:55,370 >> Publiek: Dus we doen niet moet toevoegen 1 of iets? 1244 01:04:55,370 --> 01:04:56,530 De aanwijzer gaat naar the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI Peng: Nope. 1246 01:04:56,660 --> 01:04:57,530 >> Publiek: --point na het. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI PENG: Ja. 1248 01:04:58,196 --> 01:05:00,650 Zij wijst precies aan waar het voorval was. 1249 01:05:00,650 --> 01:05:04,010 Dus bijvoorbeeld hier, we zijn zoeken naar de periode. 1250 01:05:04,010 --> 01:05:06,597 Dus het gaat om terug te keren een pointer naar de periode. 1251 01:05:06,597 --> 01:05:08,930 En dan is het ter perse gaan uit vanaf de periode. 1252 01:05:08,930 --> 01:05:10,260 >> Zodat u niet hoeft te voegen 1. 1253 01:05:10,260 --> 01:05:15,000 Hoewel, het is helemaal prima om, indien je bent nooit zeker weet, om gewoon een soort 1254 01:05:15,000 --> 01:05:16,070 van test het zelf uit. 1255 01:05:16,070 --> 01:05:17,590 Bouw een monster programma. 1256 01:05:17,590 --> 01:05:20,240 Test het zelf uit en zie waar het afdrukken. 1257 01:05:20,240 --> 01:05:23,380 Dat is ook niet een slechte manier om het te doen. 1258 01:05:23,380 --> 01:05:26,040 >> Koel. 1259 01:05:26,040 --> 01:05:28,880 En dat is vrijwel alle Ik had voor jullie vandaag. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 We hebben veel van PSET dingen vandaag. 1262 01:05:33,300 --> 01:05:35,720 Dus in geval van twijfel, zoals Ik zei altijd opzoeken 1263 01:05:35,720 --> 01:05:37,620 de string.h bibliotheek voor deze PSET. 1264 01:05:37,620 --> 01:05:40,370 Er gaat een heleboel te zijn functie daar die nuttig zijn. 1265 01:05:40,370 --> 01:05:41,300 Sommige mogelijk niet effectief. 1266 01:05:41,300 --> 01:05:42,133 Ik weet niet echt. 1267 01:05:42,133 --> 01:05:44,370 Wade doorheen, er is een hele hoop van hen. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, strrchr zijn super, super behulpzaam, en 1269 01:05:49,100 --> 01:05:52,080 de strcpys en strcasecmps dat we al geprobeerd. 1270 01:05:52,080 --> 01:05:56,510 >> Het is gewoon veel gedoe met strings, bepalen of ze gelijk zijn, 1271 01:05:56,510 --> 01:05:59,960 het krijgen van spullen uit strijkers, en de mogelijkheid om bestanden correct openen. 1272 01:05:59,960 --> 01:06:02,252 Het is een stuk van het dossier van I / O. PSET is echt niet zo slecht. 1273 01:06:02,252 --> 01:06:04,210 Je gaat om een ​​te nemen kijken, downloaden, 1274 01:06:04,210 --> 01:06:05,590 en zie een hele hoop code. 1275 01:06:05,590 --> 01:06:09,220 Geen zorgen, de code eigenlijk schrijven is helemaal niet slecht. 1276 01:06:09,220 --> 01:06:12,870 Als iemand problemen met hun server, kom me zien na sectie. 1277 01:06:12,870 --> 01:06:16,040 >> Nogmaals excuses voor het niet brengen snoep Halloween. 1278 01:06:16,040 --> 01:06:18,790 Ik weet niet wat er mis was met mij. 1279 01:06:18,790 --> 01:06:20,800 Maar we zullen dubbele hebben de snoep volgende keer. 1280 01:06:20,800 --> 01:06:25,620 En veel geluk in uw PSET deze week. 1281 01:06:25,620 --> 01:06:27,170 Ja. 1282 01:06:27,170 --> 01:06:28,722