1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI Peng: Suntem aproape prin toate psets. 3 00:00:08,770 --> 00:00:12,080 De fapt, suntem prin majoritatea dintre cele mai dificile psets. 4 00:00:12,080 --> 00:00:14,350 Deci suntem de fapt, doar O să fel de briză 5 00:00:14,350 --> 00:00:16,050 prin următoarele două săptămâni. 6 00:00:16,050 --> 00:00:19,520 >> Vom începem să discutăm despre nostru proiecte finale, evenimentele vine 7 00:00:19,520 --> 00:00:21,320 în următoarele câteva săptămâni. 8 00:00:21,320 --> 00:00:23,825 Și viața va fi floare la ureche. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Deci, nu prea mult azi. 11 00:00:27,680 --> 00:00:30,280 >> Să sperăm că, de fapt, va briza prin ordinea de zi de astăzi, 12 00:00:30,280 --> 00:00:33,400 și apoi să fie de aici cu ceva timp de pierdut. 13 00:00:33,400 --> 00:00:36,210 De asemenea, vreau să-mi cer scuze pentru lipsa de bomboane astăzi. 14 00:00:36,210 --> 00:00:37,030 Nu știu de ce. 15 00:00:37,030 --> 00:00:40,520 Dar în săptămâna premergatoare Halloween, aș uita bomboane. 16 00:00:40,520 --> 00:00:43,290 >> Deci, eu sunt de fapt doar un vast dezamăgire pentru tine acum. 17 00:00:43,290 --> 00:00:47,050 Pentru că îmi amintesc literalmente bomboane pentru fiecare clasă unică, dar Halloween. 18 00:00:47,050 --> 00:00:49,345 Dar saptamana viitoare, voi aduce dubla cantitatea de bomboane 19 00:00:49,345 --> 00:00:50,720 pentru a compensa faptul că, toate pentru tine. 20 00:00:50,720 --> 00:00:53,260 Va fi minunat. 21 00:00:53,260 --> 00:00:56,690 >> Deci, am o pereche de anunțuri în ceea ce privește unele programarea. 22 00:00:56,690 --> 00:00:59,520 Am unele probleme de programare. 23 00:00:59,520 --> 00:01:02,150 Apoi vom trece la vorbesc despre ceea ce se numește chmod. 24 00:01:02,150 --> 00:01:05,980 Vom vorbi despre rapid TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Și apoi vom Codul nostru site-ul propriu, folosind HTML si CSS. 26 00:01:09,770 --> 00:01:13,030 Și apoi voi pleca de fapt, poate ca de 20 de minute pentru a vorbi despre pset6. 27 00:01:13,030 --> 00:01:16,550 Deoarece pset6 este de fapt o mulțime de lucruri pe care le-am văzut deja mai înainte, 28 00:01:16,550 --> 00:01:19,090 dar am vrut pentru a reîmprospăta unele dintre aceste concepte 29 00:01:19,090 --> 00:01:22,140 precum și învăța câteva funcții noi. 30 00:01:22,140 --> 00:01:23,110 >> Misto. 31 00:01:23,110 --> 00:01:25,440 Deci primul rând, bun venit înapoi de la pauză. 32 00:01:25,440 --> 00:01:27,410 Sper că ești pauză a fost plăcută. 33 00:01:27,410 --> 00:01:29,695 Vrei ai făcut pentru pauza? 34 00:01:29,695 --> 00:01:30,820 Audiența: Am fost la New York. 35 00:01:30,820 --> 00:01:32,030 ANDI Peng: Ai fost la New York? 36 00:01:32,030 --> 00:01:33,738 Cred că jumătate școala noastră a plecat la New York. 37 00:01:33,738 --> 00:01:34,740 E în regulă. 38 00:01:34,740 --> 00:01:38,250 Mi-am petrecut cea mai mare parte pauză sedentar în pat Netflixing. 39 00:01:38,250 --> 00:01:39,760 Și a fost un moment bun. 40 00:01:39,760 --> 00:01:43,450 >> Dar acum suntem din nou, din nou în sesiune, înapoi în leagăn de lucruri. 41 00:01:43,450 --> 00:01:47,900 Avem o PSET datorită vineri la prânz. 42 00:01:47,900 --> 00:01:50,240 >> Cred că ai deja luat testul tău, da? 43 00:01:50,240 --> 00:01:52,140 Deci oricine altcineva care are nu au avut teste lor 44 00:01:52,140 --> 00:01:55,416 vă rugăm să vină și de a lua teste dvs. la mine la sfârșitul secțiunii. 45 00:01:55,416 --> 00:01:56,540 Sau urmări mă jos de pe campus. 46 00:01:56,540 --> 00:01:59,310 Voi avea cu mine undeva. 47 00:01:59,310 --> 00:02:02,120 >> Proiectul nostru final Propunere pre-asemenea. 48 00:02:02,120 --> 00:02:06,380 Deci, pentru cei dintre noi care nu au luat această clasă înainte, cheia de boltă a CS50 49 00:02:06,380 --> 00:02:11,150 este foarte mult culminat în acest Grand proiect pe care elevii să propună. 50 00:02:11,150 --> 00:02:14,300 Și pre-propunerea, doar o idee generală 51 00:02:14,300 --> 00:02:18,500 de ce s-ar putea dori să facă pentru lor proiect, această idee se datorează luni, 52 00:02:18,500 --> 00:02:20,780 Luni la prânz. 53 00:02:20,780 --> 00:02:23,800 >> Deci destul de mult, David cred ca va vorbi mai mult despre acest lucru în curs 54 00:02:23,800 --> 00:02:25,390 dacă nu are deja. 55 00:02:25,390 --> 00:02:28,710 Și există o pagină solid pe site-ul nostru explicarea 56 00:02:28,710 --> 00:02:31,610 toate cerințele proiectului. 57 00:02:31,610 --> 00:02:34,082 Dar, în esență, alege orice subiect care le-ați 58 00:02:34,082 --> 00:02:35,915 fost interesat în a lungul timpului aici 59 00:02:35,915 --> 00:02:41,760 la CS, fie că este vorba de jocuri de noroc sau proiectare sau video sau ceva. 60 00:02:41,760 --> 00:02:44,920 >> Și vă puteți într-adevăr un fel de acum se aplică unele dintre lecțiile 61 00:02:44,920 --> 00:02:52,470 că am învățat aici, în CS50-- hi, welcome-- la destul de mult efectuarea 62 00:02:52,470 --> 00:02:56,320 un proiect final de alegerea ta. 63 00:02:56,320 --> 00:02:59,570 Tot ce e luni din cauza este doar un blurb scurt prin e-mail 64 00:02:59,570 --> 00:03:02,010 pentru mine, o propoziție rapid, cum ar fi, hei, Andi, 65 00:03:02,010 --> 00:03:06,490 Sunt foarte interesat de proiectarea un joc care face acest lucru pentru iOS. 66 00:03:06,490 --> 00:03:07,420 Misto. 67 00:03:07,420 --> 00:03:10,767 Lasă-mă să inițială dumneavoastră scurt idei pentru proiectele finale. 68 00:03:10,767 --> 00:03:13,850 Și vom vorbi prin sau nu care este de fapt o idee bună sau nu, 69 00:03:13,850 --> 00:03:15,590 dacă este o idee fezabilă sau nu. 70 00:03:15,590 --> 00:03:20,760 Dar doar pre-propunerea se datorează lunea viitoare. 71 00:03:20,760 --> 00:03:24,190 pset6, minunat web-- nostru, care este greșit. 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 E pset6, nu? 75 00:03:26,680 --> 00:03:32,690 >> pset6, serverul nostru web, se datorează Vineri la prânz cu întârziere zi. 76 00:03:32,690 --> 00:03:37,660 Orelor relua în mod normal, de luni până joi 8:00 - 11:00 în această săptămână. 77 00:03:37,660 --> 00:03:39,710 Cred că Commons pentru următoarele trei nopți. 78 00:03:39,710 --> 00:03:40,310 Misto. 79 00:03:40,310 --> 00:03:44,260 Înainte de a avea în materiale, nimeni nu nici întrebări, bancuri, povesti? 80 00:03:44,260 --> 00:03:46,662 Ce ai face pentru pauza toamna? 81 00:03:46,662 --> 00:03:48,640 >> Audiența: Ce să fac? 82 00:03:48,640 --> 00:03:52,834 >> ANDI Peng: Deja e vârstele în urmă, de fapt. 83 00:03:52,834 --> 00:03:54,000 Christabel a plecat la New York. 84 00:03:54,000 --> 00:03:55,614 Am stat aici și Netflixed. 85 00:03:55,614 --> 00:03:56,864 Audiența: Da am fost aici. 86 00:03:56,864 --> 00:03:57,614 ANDI Peng: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 Audiența: Nu-mi amintesc ce anume. 88 00:03:59,792 --> 00:04:00,710 ANDI Peng: Asta e OK. 89 00:04:00,710 --> 00:04:01,960 Audiența: Netflixing probabil. 90 00:04:01,960 --> 00:04:02,990 ANDI Peng: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Da, e un moment bun. 92 00:04:04,710 --> 00:04:05,780 BINE. 93 00:04:05,780 --> 00:04:06,340 In regula. 94 00:04:06,340 --> 00:04:08,877 Orice întrebări înainte sărim în materiale? 95 00:04:08,877 --> 00:04:11,210 De asemenea, vom încerca să viteza prin secțiunea astăzi, 96 00:04:11,210 --> 00:04:12,504 nu prea mult pentru a acoperi. 97 00:04:12,504 --> 00:04:14,420 Și sperăm, vom ajunge aici un pic mai devreme. 98 00:04:14,420 --> 00:04:15,580 Ne pare rău pentru că nu bomboane, de asemenea. 99 00:04:15,580 --> 00:04:20,310 Sunt o dezamăgire, în special în timpul Halloween. 100 00:04:20,310 --> 00:04:21,110 >> In regula. 101 00:04:21,110 --> 00:04:21,810 Misto. 102 00:04:21,810 --> 00:04:28,370 Deci vom începem să discutăm despre un argument linie de comandă numit chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, tot ce este este doar un sistem de Unix apel efectuat de la linia de comandă 104 00:04:32,850 --> 00:04:34,700 pentru a schimba permisiunile de fișiere. 105 00:04:34,700 --> 00:04:37,790 Deci, de exemplu, ne-am toate întâlnit o pagină 106 00:04:37,790 --> 00:04:40,550 ca acest lucru, probabil, undeva în durata de viata de a fi nostru un internet 107 00:04:40,550 --> 00:04:45,110 utilizator, în cazul în care server-ul nostru are ne-a dat eroarea Interzis. 108 00:04:45,110 --> 00:04:49,086 Nu aveți permisiunea de a accesa, bla, bla, bla, pe acest server. 109 00:04:49,086 --> 00:04:50,960 Tot ceea ce înseamnă cu adevărat este că permisiunile 110 00:04:50,960 --> 00:04:53,920 care au fost atașate la orice pagina pe care încercați să acces 111 00:04:53,920 --> 00:04:55,840 nu au fost deschise pentru tine. 112 00:04:55,840 --> 00:04:57,870 Deci destul de mult, chmod este modul în care 113 00:04:57,870 --> 00:05:02,140 putem modifica aceste permisiuni de sistem pentru a oferi tuturor, utilizatorul, grupul, 114 00:05:02,140 --> 00:05:04,975 sau lumea, sau la oricare combinație a acestora acces 115 00:05:04,975 --> 00:05:07,900 la anumite fișiere, directoare, într-adevăr ceva, 116 00:05:07,900 --> 00:05:11,720 orice fel de sistem de pe un sistem de operare. 117 00:05:11,720 --> 00:05:14,039 Deci, dacă oricare dintre baieti au computere dacă vă simțiți 118 00:05:14,039 --> 00:05:17,080 ca urmare a cu mine astăzi, complet nu ezitați să scrieți doar lucruri 119 00:05:17,080 --> 00:05:17,580 în. 120 00:05:17,580 --> 00:05:19,790 Dacă nu, puteți închide pur și simplu afară. 121 00:05:19,790 --> 00:05:23,170 Deci, am de gând să trageți de fapt up terminalul mea acum. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Deci comanda pentru a rula chmod, sau cel puțin la fel 124 00:05:32,310 --> 00:05:37,840 pentru a lista permisiunile dvs. director de fișiere, este doar ls-l. 125 00:05:37,840 --> 00:05:42,270 După cum puteți vedea, o grămadă de chestii apare de cele mai multe 126 00:05:42,270 --> 00:05:45,390 Este important să ne pe partea stângă aici. 127 00:05:45,390 --> 00:05:48,710 Voi vedea o grămadă de rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Da. 129 00:05:49,210 --> 00:05:51,400 >> Acestea sunt, în esență, doar toate permisiunile de fișiere 130 00:05:51,400 --> 00:05:55,960 pentru a explica ce anumite directoare și fișierele din sistemul dvs. are. 131 00:05:55,960 --> 00:05:58,150 Deci, să ne întoarcem la punctul de putere aici. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Deci, în plus față de numele de fișiere ca voi se poate vedea pe dreapta, 134 00:06:06,500 --> 00:06:10,312 suntem în căutarea de a vedea, în esență, doar coloana din stânga. 135 00:06:10,312 --> 00:06:12,020 Deci, în plus față de doar numele fișierelor, am 136 00:06:12,020 --> 00:06:16,240 Puteti vedea permisiunile de fișiere, lor grup proprietar, numele grupului, data 137 00:06:16,240 --> 00:06:18,460 că dosarul a fost ultima modificată, etc.. 138 00:06:18,460 --> 00:06:20,640 Puteți vedea o mulțime de lucruri folosind chmod. 139 00:06:20,640 --> 00:06:26,037 Deci felul în care citim chmod este că prima literă am ignora destul de mult 140 00:06:26,037 --> 00:06:27,370 în ceea ce privește permisiuni de citire. 141 00:06:27,370 --> 00:06:31,460 >> Prima scrisoare doar ne spune ce tip de sistem ne accesarea. 142 00:06:31,460 --> 00:06:34,240 d, în acest caz, este o folder sau director. 143 00:06:34,240 --> 00:06:38,430 Deci, noi știm că, în prezent spațiul de lucru meu secțiune șapte a fost un director. 144 00:06:38,430 --> 00:06:41,530 Și apoi veți vedea trei triade, în esență doar 145 00:06:41,530 --> 00:06:43,490 trei seturi de trei caractere. 146 00:06:43,490 --> 00:06:45,680 Și vă puteți gândi la fiecare ca un pic. 147 00:06:45,680 --> 00:06:49,260 >> Deci, trebuie doar trei seturi de trei biți, noua biți în total. 148 00:06:49,260 --> 00:06:51,420 Tu le trateze în grupuri de câte trei. 149 00:06:51,420 --> 00:06:56,230 Deci primul grup de trei este întotdeauna permisiunile dvs. de utilizator. 150 00:06:56,230 --> 00:07:00,557 >> Al doilea grup de trei este dvs. întotdeauna permisiunile de grup. 151 00:07:00,557 --> 00:07:02,765 Și al treilea set de trei este întotdeauna ca lumea, 152 00:07:02,765 --> 00:07:04,380 de peste tot. permisiunile 153 00:07:04,380 --> 00:07:06,320 Deci cred ușor Întrebarea care se pune este ce este 154 00:07:06,320 --> 00:07:08,051 diferența dintre utilizator și de grup. 155 00:07:08,051 --> 00:07:09,800 Diferența principală între utilizator și de grup 156 00:07:09,800 --> 00:07:13,180 este faptul că un utilizator este doar dvs. personal accesarea orice ar fi acum. 157 00:07:13,180 --> 00:07:18,070 Un grup poate fi, dacă aveți mai multe utilizatorii de pe un computer, de exemplu. 158 00:07:18,070 --> 00:07:20,280 Toate acestea pot fi tratate ca un grup. 159 00:07:20,280 --> 00:07:23,220 >> Și atunci lumea este doar lumea, toată lumea. 160 00:07:23,220 --> 00:07:31,010 Astfel încât să putem vedea mai târziu cum putem modifica pe cei în diferite permisiuni. 161 00:07:31,010 --> 00:07:33,080 Deci destul de mult, suntem gând să se concentreze în continuare 162 00:07:33,080 --> 00:07:38,450 pe de o parte din stânga, în cazul în care pentru directorul CS50 vedem drwx, 163 00:07:38,450 --> 00:07:40,970 în cazul în care R reprezintă doar că este ușor de citit. 164 00:07:40,970 --> 00:07:42,620 >> W înseamnă doar că este inscriptibil. 165 00:07:42,620 --> 00:07:45,470 Și apoi doar x înseamnă că este executabil. 166 00:07:45,470 --> 00:07:47,220 Ai crede că-l fel de nu are sens. 167 00:07:47,220 --> 00:07:47,993 Ar trebui să fie e. 168 00:07:47,993 --> 00:07:50,150 Dar x fapt un fel de functioneaza un pic mai bine, 169 00:07:50,150 --> 00:07:51,690 pentru că puteți aminti mai bine. 170 00:07:51,690 --> 00:07:56,406 >> Deci cele trei tipuri de lucruri pe care le poate face, puteți citi fie un fișier, 171 00:07:56,406 --> 00:07:59,280 puteți avea permisiunea de a scrie o fișier, sau ai putea avea permisiunea 172 00:07:59,280 --> 00:08:00,780 pentru a executa un fișier. 173 00:08:00,780 --> 00:08:04,580 Și astfel modul în care suntem de fapt reprezintă cele în biți 174 00:08:04,580 --> 00:08:06,940 este numărul 4, 2 și 1. 175 00:08:06,940 --> 00:08:12,870 Deci tot ce e de citit este reprezentată de numărul de 4. 176 00:08:12,870 --> 00:08:15,150 >> Orice lucru care este inscriptibil este reprezentat de 2. 177 00:08:15,150 --> 00:08:18,880 Și nimic din ce e executabil așa cum este reprezentat prin 1. 178 00:08:18,880 --> 00:08:22,860 Deci, în acest sens, putem, de asemenea, reprezintă aceste Numere 179 00:08:22,860 --> 00:08:25,281 hi, bine ai venit, într-un mod diferit. 180 00:08:25,281 --> 00:08:25,780 Scuze. 181 00:08:25,780 --> 00:08:28,510 Înaintea tuturor, am de gând să mi cer scuze în numele tuturor 182 00:08:28,510 --> 00:08:29,468 care intră în clasa acum. 183 00:08:29,468 --> 00:08:30,810 Am uitat bomboane astăzi. 184 00:08:30,810 --> 00:08:33,640 Îmi pare rău că sunt un eșec în această săptămână de Halloween. 185 00:08:33,640 --> 00:08:37,070 Voi aduce dubla cantitatea de bomboane data viitoare pentru a face pentru el. 186 00:08:37,070 --> 00:08:42,360 Dar oricum, îmi pare rău despre faptul că băieți, îmi pare rău. 187 00:08:42,360 --> 00:08:46,640 >> Deci felul în care putem de fapt de intrare pe comanda noastră argumentul este că 188 00:08:46,640 --> 00:08:51,760 poate face chmod permisiuni slash de grup, în cazul în care grupul este doar ceea ce 189 00:08:51,760 --> 00:08:54,130 grup încercăm să schimbe. 190 00:08:54,130 --> 00:08:56,600 Și permisiunile sunt ce vrem să adăugați la acesta. 191 00:08:56,600 --> 00:08:58,860 Astfel de exemplu, plus adaugă permisiuni, 192 00:08:58,860 --> 00:09:01,590 și Scădere ia departe permisiuni. 193 00:09:01,590 --> 00:09:07,060 >> Și tipurile de grupul nostru, avem o pentru toți, u pentru utilizatori, g pentru grupuri, 194 00:09:07,060 --> 00:09:09,050 sau o pentru alții. 195 00:09:09,050 --> 00:09:10,300 E un pic abstract acum. 196 00:09:10,300 --> 00:09:13,550 Dar vom trece peste câteva exemple de doar pentru a demonstra acest lucru rapid reală. 197 00:09:13,550 --> 00:09:16,960 Toată lumea bine pe acest diapozitiv, așa că am putea merge mai departe? 198 00:09:16,960 --> 00:09:18,280 Misto. 199 00:09:18,280 --> 00:09:21,290 >> Deci, de exemplu, rwx. 200 00:09:21,290 --> 00:09:26,720 Înainte de a vorbi despre ceea ce reprezintă, în primul rând ce înseamnă rwx? 201 00:09:26,720 --> 00:09:31,450 Dacă vedeți că acest anumită fișier are permisiuni de rwx, 202 00:09:31,450 --> 00:09:34,270 Ce înseamnă asta persoană ar putea fi capabil să facă? 203 00:09:34,270 --> 00:09:35,740 >> Audiența: Read, scrie și să execute. 204 00:09:35,740 --> 00:09:36,420 >> ANDI Peng: Da, exact. 205 00:09:36,420 --> 00:09:37,840 Puteți citi scrie și executa. 206 00:09:37,840 --> 00:09:40,790 Din cauza toate cele trei din cei caractere sunt prezente. 207 00:09:40,790 --> 00:09:44,370 Deci, dacă mergem mai departe și să vorbim despre acest lucru în ceea ce privește biți, 208 00:09:44,370 --> 00:09:48,490 rwx poate fi, de asemenea, reprezentat ca 700. 209 00:09:48,490 --> 00:09:53,370 Pentru că după cum puteți vedea în orice un fel de fișier director permisiune, 210 00:09:53,370 --> 00:09:54,320 există trei triade. 211 00:09:54,320 --> 00:09:58,060 >> În acest caz, doar primele triadă are nimic acolo. 212 00:09:58,060 --> 00:10:04,050 Deci, în acest caz, r este de 4, W este 2, iar x este 1. 213 00:10:04,050 --> 00:10:05,860 Dacă adăugați cei împreună, e 7. 214 00:10:05,860 --> 00:10:08,730 >> Și așa că, dacă conversia să binar, e 700. 215 00:10:08,730 --> 00:10:10,310 Deoarece 7 este prima triada. 216 00:10:10,310 --> 00:10:12,760 0, nu e nimic de față în al doilea triada. 217 00:10:12,760 --> 00:10:15,850 Și apoi nu e nimic în prezent a treia triada, așa că e un alt 0. 218 00:10:15,850 --> 00:10:22,520 >> Deci, în același sens, o grămadă de triade poate fi reprezentat doar în biți, doar 219 00:10:22,520 --> 00:10:23,600 în binar, de asemenea. 220 00:10:23,600 --> 00:10:29,920 Deci 700 înseamnă exact același lucru ca și rwx ------ în termeni de permisiuni. 221 00:10:29,920 --> 00:10:32,590 Toată lumea clar pe care? 222 00:10:32,590 --> 00:10:33,090 Misto. 223 00:10:33,090 --> 00:10:40,290 Și așa chmod 111 ar da care permisiuni la dosar? 224 00:10:40,290 --> 00:10:42,600 Da voi un cuplu secunde pentru a converti acest. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Amintiți-vă, primul triadă este pentru utilizator. 227 00:10:53,250 --> 00:10:56,320 Cea de a doua triada este pentru grup. 228 00:10:56,320 --> 00:10:59,450 Și a treia triada este pentru toată lumea. 229 00:10:59,450 --> 00:11:03,680 >> Și așa chmod 111 ar da care tip de permisiuni și cui? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Dura câteva secunde pentru a gândiți-vă și să vină înapoi. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Da. 234 00:11:20,910 --> 00:11:22,920 >> Audiența: Deci, toată lumea poate executa. 235 00:11:22,920 --> 00:11:23,920 ANDI Peng: Da, exact. 236 00:11:23,920 --> 00:11:25,544 Audiența: Dar nimeni nu poate citi sau scrie. 237 00:11:25,544 --> 00:11:27,910 ANDI Peng: și nu ezitați pentru a explica tuturor 238 00:11:27,910 --> 00:11:29,860 cum ai ajuns la această concluzie. 239 00:11:29,860 --> 00:11:34,290 >> Audiența: Ei bine, pentru utilizator, de grup, și în lume, totul este 1, 240 00:11:34,290 --> 00:11:35,700 care este codul pentru executabil. 241 00:11:35,700 --> 00:11:37,070 >> ANDI Peng: Da, exact. 242 00:11:37,070 --> 00:11:42,320 Deci 1, în acest caz, tot ce știm este că este codul executabil. 243 00:11:42,320 --> 00:11:45,280 Deoarece lectură este de 4. 244 00:11:45,280 --> 00:11:45,990 Scrisul este 2. 245 00:11:45,990 --> 00:11:47,230 Și executabilul este de 1. 246 00:11:47,230 --> 00:11:51,580 Deci, este toate cele trei triade sunt 1, care înseamnă că în lume, pentru utilizator, 247 00:11:51,580 --> 00:11:54,680 și grupului, ele sunt toate executabil. 248 00:11:54,680 --> 00:11:56,170 >> Toată lumea bună cu asta? 249 00:11:56,170 --> 00:11:56,940 BINE. 250 00:11:56,940 --> 00:11:59,180 Și astfel a doua cale că putem de fapt 251 00:11:59,180 --> 00:12:01,220 scrie aceasta, de asemenea, este de tine ar putea face doar chmod 252 00:12:01,220 --> 00:12:05,050 un x plus. un înseamnă toate sau toată lumea. 253 00:12:05,050 --> 00:12:07,060 Plus înseamnă a da permisiuni. 254 00:12:07,060 --> 00:12:09,112 Și apoi x înseamnă executabil. 255 00:12:09,112 --> 00:12:11,070 Deci sunt două comenzi sunt de fapt identice. 256 00:12:11,070 --> 00:12:12,903 Deci, dacă doriți să rulați acest lucru în terminalul, 257 00:12:12,903 --> 00:12:15,830 faci chmod 111, numele de directorul sau fișierul. 258 00:12:15,830 --> 00:12:18,520 Sau puteți face chmod un plus x, Numele fișierului director. 259 00:12:18,520 --> 00:12:22,150 Același lucru, doar un mod mai ușor, probabil, pentru unii de a reprezenta sau schimbare 260 00:12:22,150 --> 00:12:24,280 permisiunile de fișiere. 261 00:12:24,280 --> 00:12:28,806 >> Fiecare OK cu chmod înainte de a ne muta pe? 262 00:12:28,806 --> 00:12:31,700 Misto. 263 00:12:31,700 --> 00:12:35,336 Deci, acum vom merge într-un câteva slide-uri ale unor concepte abstracte foarte 264 00:12:35,336 --> 00:12:37,210 că eu sunt destul de mult O să briza prin. 265 00:12:37,210 --> 00:12:39,530 Și este absolut OK dacă Nu înțeleg totul. 266 00:12:39,530 --> 00:12:42,330 >> Chiar și acum, eu încă nu prea înțelege totul complet. 267 00:12:42,330 --> 00:12:44,640 Dar e mai mult de a obține înțelegerea de nivel superior 268 00:12:44,640 --> 00:12:47,280 de modul în care unele dintre aceste lucruri de lucru. 269 00:12:47,280 --> 00:12:50,490 Deci vom vorbi rapid despre TCP / IP, 270 00:12:50,490 --> 00:12:54,880 care este doar de control al transmisiei Protocol slash Internet Protocol. 271 00:12:54,880 --> 00:12:57,135 >> Amintiți de curs, David, te-a învăța 272 00:12:57,135 --> 00:13:00,700 exemplul unde el ar trece notele într-un plic 273 00:13:00,700 --> 00:13:02,790 până la ca partea de sus a sala de curs? 274 00:13:02,790 --> 00:13:06,990 Deci, în sala facultatea de drept David a demonstrat, în esență, 275 00:13:06,990 --> 00:13:10,370 cum TCP / IP funcționează în sensul că tot ce 276 00:13:10,370 --> 00:13:14,300 este este un mijloc de a se asigura că datele a fost livrat peste un server 277 00:13:14,300 --> 00:13:15,870 sau pe internet. 278 00:13:15,870 --> 00:13:22,270 Deci în exemplul plicului și mesajul, utilizatorul la sfârșitul 279 00:13:22,270 --> 00:13:26,410 ar putea vedea că, oh, am nevoie pentru a primi patru pachete de informații. 280 00:13:26,410 --> 00:13:28,096 >> Dar, de fapt am primit doar trei. 281 00:13:28,096 --> 00:13:29,470 Asta înseamnă că trebuie să fie lipsește unul. 282 00:13:29,470 --> 00:13:30,760 Și nu a fost livrat. 283 00:13:30,760 --> 00:13:33,990 Și astfel TCP / IP de pe internet, prin intermediul computerului și server, 284 00:13:33,990 --> 00:13:35,500 face exact același lucru. 285 00:13:35,500 --> 00:13:38,900 Tot ce face este specifica o cadru în care o transmisie de date pierdute 286 00:13:38,900 --> 00:13:41,100 pachetele pot fi retrimis și primit. 287 00:13:41,100 --> 00:13:44,760 >> Ca pe internet atunci când sunteți încercarea pentru a accesa fișiere online sau trimite fișiere 288 00:13:44,760 --> 00:13:48,210 unui prieten sau uita-te la web browsere, mii și mii 289 00:13:48,210 --> 00:13:50,440 de miliarde și miliarde de bytes informații 290 00:13:50,440 --> 00:13:52,840 sunt transferate pe milisecundă. 291 00:13:52,840 --> 00:13:54,560 Și e foarte, foarte confuz. 292 00:13:54,560 --> 00:13:57,110 Și e foarte greu să știu de fapt ce a fost trimis 293 00:13:57,110 --> 00:13:58,270 și ceea ce nu a fost trimis. 294 00:13:58,270 --> 00:14:02,210 >> Și astfel TCP / IP specifică doar un cadru coerent 295 00:14:02,210 --> 00:14:04,115 în care dvs. de web browser-ul și server-ul dvs. 296 00:14:04,115 --> 00:14:05,990 poate un fel de a comunica unul cu celălalt, doar 297 00:14:05,990 --> 00:14:08,550 asigurați-vă că pachetele sunt toate aici și nimic nu e pierdut 298 00:14:08,550 --> 00:14:12,700 și toate datele pe care le-ai solicitat este, de fapt afișarea în mod corespunzător. 299 00:14:12,700 --> 00:14:16,350 Toată lumea OK pe care foarte doar la nivel înalt scurt înțeles? 300 00:14:16,350 --> 00:14:18,510 Misto. 301 00:14:18,510 --> 00:14:21,550 >> Deci vom muta în a vorbi despre HTTP, care 302 00:14:21,550 --> 00:14:24,610 este doar Protocolul de transfer hipertext. 303 00:14:24,610 --> 00:14:32,550 HTTP, tot ce este este ceea ce orice pagină sau fișier este accesat pe site-ul dvs., 304 00:14:32,550 --> 00:14:35,810 serverul returnează un HTTP cod de stare răspuns 305 00:14:35,810 --> 00:14:39,869 la cererea asigurându-vă că fie, oh, această cerere a trecut prin. 306 00:14:39,869 --> 00:14:41,410 Și totul a afișate în mod corespunzător. 307 00:14:41,410 --> 00:14:43,500 Sau, oh, nu, 404. 308 00:14:43,500 --> 00:14:44,730 Ceva n-a mers bine. 309 00:14:44,730 --> 00:14:45,940 Oh, nu pot afișa. 310 00:14:45,940 --> 00:14:50,370 >> Tot ce este este că, indiferent de încerci să acces, 311 00:14:50,370 --> 00:14:55,160 utilizați ca utilizatorul încearcă să acceseze, pe internet-- doar asigurându-vă 312 00:14:55,160 --> 00:15:00,080 că fie au succes accesat orice ar fi fost sau nu 313 00:15:00,080 --> 00:15:02,080 accesat cu succes orice ar fi fost. 314 00:15:02,080 --> 00:15:05,120 Și astfel de stare HTTP Codul doar vă oferă 315 00:15:05,120 --> 00:15:09,910 un mijloc de a fi în măsură să știe dacă sau nu a fost de succes sau nu. 316 00:15:09,910 --> 00:15:13,440 Deci, de exemplu, o cerere de exemplu. 317 00:15:13,440 --> 00:15:16,050 >> Puteți vedea aici e de obicei în mod obișnuit patru linii. 318 00:15:16,050 --> 00:15:22,530 Avem un HTTP GET 1.1, care este doar URL-ul cerere metodă, protocolul 319 00:15:22,530 --> 00:15:24,490 versiune, numele câmpului, și valoarea câmpului. 320 00:15:24,490 --> 00:15:26,810 Deci nu este nevoie să complet memora nimic aici. 321 00:15:26,810 --> 00:15:29,960 Doar un fel de facut cunostinta vă cu modul în care acestea arata. 322 00:15:29,960 --> 00:15:34,060 >> In acest exemplu, cererea metoda URL-ul este doar ceea ce cerere 323 00:15:34,060 --> 00:15:35,620 pe care îl trimiteți pe server. 324 00:15:35,620 --> 00:15:40,710 Ca, hei, server, chiar vreau să acces bla, bla, bla, pagina HTTP. 325 00:15:40,710 --> 00:15:43,785 Versiunea de protocol este doar ceea ce versiunea gazdă sau server-ul dvs. 326 00:15:43,785 --> 00:15:45,490 este folosit pentru a avea acces la informații. 327 00:15:45,490 --> 00:15:49,510 >> Numele câmpului este site-ul sau URL pe care încercați să îl accesați, 328 00:15:49,510 --> 00:15:52,610 În acest caz, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Iar valoarea câmp este doar în mod tipic nume, valoare. 330 00:15:56,110 --> 00:15:59,540 Și poate fi un fel de combinații orice de litere sau cifre sau orice altceva. 331 00:15:59,540 --> 00:16:02,890 >> Deci o cerere tipic, așa ce computerul de fapt 332 00:16:02,890 --> 00:16:08,400 trimite la serverul care spune, hei, Știi ce am nevoie de acest afișat, 333 00:16:08,400 --> 00:16:13,000 asta e un fel de cerere că ei de fapt primesc. 334 00:16:13,000 --> 00:16:16,760 Un răspuns exemplu de ceea ce serverul va trimite înapoi la tine 335 00:16:16,760 --> 00:16:20,320 ar fi destul de mult același lucru, cu excepția un cod de stare în partea de sus. 336 00:16:20,320 --> 00:16:24,550 Deci 200, 2 0 0 este întotdeauna codul de stare pentru OK. 337 00:16:24,550 --> 00:16:26,050 Cum ar fi, OK, această cerere a trecut prin. 338 00:16:26,050 --> 00:16:27,980 Ai fost accesa totul corect. 339 00:16:27,980 --> 00:16:28,810 Viata e buna. 340 00:16:28,810 --> 00:16:29,990 Viața este în regulă. 341 00:16:29,990 --> 00:16:32,150 Totul este complet bun. 342 00:16:32,150 --> 00:16:36,050 >> Și astfel acest spune doar browser-ul dvs. și server-ul dvs., hei, bine totul e. 343 00:16:36,050 --> 00:16:37,470 Am toate informațiile de care am nevoie. 344 00:16:37,470 --> 00:16:39,160 Misto. 345 00:16:39,160 --> 00:16:41,790 Dar problema este uneori probleme veni 346 00:16:41,790 --> 00:16:46,850 când have-- ultima cred Am vorbit despre duplicate. 347 00:16:46,850 --> 00:16:48,870 Aveți răspunsuri mai puțin bune. 348 00:16:48,870 --> 00:16:52,660 >> Deci, de exemplu, 404 este Page Nu a fost găsit. 349 00:16:52,660 --> 00:16:54,897 Uneori trebuie un acces Interzis. 350 00:16:54,897 --> 00:16:56,730 Aveți diverse alte coduri de stare care eu sunt 351 00:16:56,730 --> 00:16:59,688 sigur că ați văzut tot atunci când sunteți încercarea de a face cercetare pe internet. 352 00:16:59,688 --> 00:17:02,300 Și browser-ul vă oferă , nu, nu pot accesa. 353 00:17:02,300 --> 00:17:04,190 Și tu ești ca, de bine, rahat. 354 00:17:04,190 --> 00:17:09,260 >> Așa că destul de mult, nu e unele coduri de stare destul de comune. 355 00:17:09,260 --> 00:17:14,109 Poate vă familiarizați cu cele care sunt cele. 356 00:17:14,109 --> 00:17:16,000 Cel mai amuzant cel care Cred că am auzit vreodată 357 00:17:16,000 --> 00:17:18,040 de-- dacă se întâmplă să privi în sus toți 358 00:17:18,040 --> 00:17:21,490 on-line, pentru un motiv oarecare nu e de fapt, un cod de stare reală 359 00:17:21,490 --> 00:17:26,619 numit 418 Sunt un ceainic. 360 00:17:26,619 --> 00:17:29,610 >> Am googled în cazul în care origine aceasta a fost de la. 361 00:17:29,610 --> 00:17:33,150 Și se pare că unul April Fools ' Zi un cuplu decenii în urmă, 362 00:17:33,150 --> 00:17:36,415 cineva gândit că ar fi hilar pentru a crea un nou cod de stare numită 418 363 00:17:36,415 --> 00:17:37,380 Sunt un ceainic. 364 00:17:37,380 --> 00:17:40,760 În mod legitim, numele acestei Codul se numește eu sunt un ceainic. 365 00:17:40,760 --> 00:17:43,670 >> Am uitat ce pagina trebuie sa du-te pentru a face de fapt, acest ecran. 366 00:17:43,670 --> 00:17:47,955 Dar se pare că, de fapt, puteți obține un cod de stare de Sunt 367 00:17:47,955 --> 00:17:51,400 un ceainic oarecum prin a face ceva. 368 00:17:51,400 --> 00:17:54,480 Deci, există sute și sute de coduri de stare. 369 00:17:54,480 --> 00:17:56,730 >> Unii dintre ei face mai mult sens decât altele. 370 00:17:56,730 --> 00:18:01,430 Dar destul de mult doar facut cunostinta te cu cele mai comune. 371 00:18:01,430 --> 00:18:04,090 Organismul entitate solicitată este scurt și robust, se pare. 372 00:18:04,090 --> 00:18:07,990 >> Astfel încât, uneori, există mai multe erori înfricoșătoare decât că sunt un ceainic. 373 00:18:07,990 --> 00:18:11,210 Dar aceasta este una care cred ai un fel de speranță pentru a lovi. 374 00:18:11,210 --> 00:18:14,130 Dar nu cred că o vei face. 375 00:18:14,130 --> 00:18:17,260 Toată lumea bună cu privire la statutul doar coduri, cereri, procese, procesul de luare a 376 00:18:17,260 --> 00:18:19,155 sigur de informații sunt livrate în mod corespunzător? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Deci, acum vom tranziție într-o parte de distracție de la punctul astăzi, 379 00:18:26,120 --> 00:18:28,500 în cazul în care vorbim un pic despre HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, tot ce este HyperText Limbaj de marcare. 381 00:18:32,580 --> 00:18:35,160 E doar limba standard de utilizați pentru a crea toate web 382 00:18:35,160 --> 00:18:36,690 pagini pe internet. 383 00:18:36,690 --> 00:18:39,560 >> Deci, orice pagină web, ceea ce este pagina web preferat? 384 00:18:39,560 --> 00:18:40,855 Care este pagina web preferat? 385 00:18:40,855 --> 00:18:41,771 >> Audiența: [neauzit]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI Peng: Îmi pare rău? 388 00:18:43,090 --> 00:18:43,980 >> Audiența: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI Peng: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Deci, Tumblr este scris în HTML. 391 00:18:46,800 --> 00:18:50,700 Și așa vom merge de fapt, prin și juca în jurul cu unele dintre aceste lucruri 392 00:18:50,700 --> 00:18:51,980 mai târziu. 393 00:18:51,980 --> 00:18:54,980 Destul de mult ai totul trebuie să învețe, să cunoască, 394 00:18:54,980 --> 00:18:58,540 pentru a scrie HTML puteți probabil doar Google pe internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, nu e un program ca C în cazul în care puteți crea și de a face variabile 396 00:19:04,490 --> 00:19:05,600 lucruri interesante cu ea. 397 00:19:05,600 --> 00:19:08,747 E mai mult de doar, oh, acest lucru este cum am doresc ca lucrurile să apară pe site-ul meu. 398 00:19:08,747 --> 00:19:10,080 Și Mă duc să-l puneți în. 399 00:19:10,080 --> 00:19:12,160 Și o să-l stil. 400 00:19:12,160 --> 00:19:15,650 >> Deci HTML, într-un sens, e la fel ca o formatare sau șablon limbă. 401 00:19:15,650 --> 00:19:16,680 Este mult mai ușor. 402 00:19:16,680 --> 00:19:19,030 Este mult mai ușor de a învăța, mult mai ușor să scrie în 403 00:19:19,030 --> 00:19:21,450 decât programarea tipic limbă, foarte ușor, 404 00:19:21,450 --> 00:19:24,310 foarte ușor accesibil și prietenos. 405 00:19:24,310 --> 00:19:29,040 >> Așa că, de fapt de gând să joace în jurul valorii de, scrie propriile pagini de astăzi. 406 00:19:29,040 --> 00:19:32,900 Dar înainte de a începe, vreau doar să du-te asupra unor bune practici scurte. 407 00:19:32,900 --> 00:19:35,660 Deoarece HTML este un astfel de ușor limbă și pentru că chiar 408 00:19:35,660 --> 00:19:39,012 dacă faci câteva lucruri greșite, uneori nu se poate observa, 409 00:19:39,012 --> 00:19:41,970 vrem să ne asigurăm că suntem de fapt, aderarea la cele mai bune practici noastre 410 00:19:41,970 --> 00:19:44,490 să vă asigurați că lucrurile pe care ar putea fi întâmplă în jurul, dar 411 00:19:44,490 --> 00:19:49,660 nu sunt întotdeauna de gând să nu meargă drept asigurați-vă că acestea sunt minimizate. 412 00:19:49,660 --> 00:19:53,570 >> Deci destul de mult, asigurați-vă că toate dvs. de închidere etichetele 413 00:19:53,570 --> 00:19:54,737 atunci când scrieți în HTML. 414 00:19:54,737 --> 00:19:56,486 Dacă sunteți de deschidere a unei corp, asigurați-vă că sunteți 415 00:19:56,486 --> 00:19:58,015 închide cu un corp undeva. 416 00:19:58,015 --> 00:20:00,720 Doriți să vă asigurați că dvs. Pagina web validează cu ajutorul 417 00:20:00,720 --> 00:20:02,070 ceea ce se numește W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Puteți doar Google, care on-line, și nu există o legătură la ea. 419 00:20:05,460 --> 00:20:07,820 >> Și apoi doriți să HTML separat, care 420 00:20:07,820 --> 00:20:13,060 este limba de marcare de la stilul tau, care este limba CSS David 421 00:20:13,060 --> 00:20:17,510 a demonstrat că suntem, de asemenea, de gând să joace un pic cu prelegere. 422 00:20:17,510 --> 00:20:19,120 Misto. 423 00:20:19,120 --> 00:20:23,500 Deci, oricând doriți să rulați HTML aparatul CS50, 424 00:20:23,500 --> 00:20:26,240 vom rula un program numit apache, 425 00:20:26,240 --> 00:20:29,810 care tot ce este doar un construit în server de web care toată lumea din CS50 426 00:20:29,810 --> 00:20:31,410 are acces la. 427 00:20:31,410 --> 00:20:35,700 Noi o numim apache50 doar pentru că ne-am place să numesc tot 50 în CS50. 428 00:20:35,700 --> 00:20:39,610 >> Deci modul în care începe pe web CS50 server este prin tastarea pe comanda ta 429 00:20:39,610 --> 00:20:42,860 line apache50 începe punct. 430 00:20:42,860 --> 00:20:46,665 Și dacă vrei să-l termine în orice timp, se termina apache50 nr punct. 431 00:20:46,665 --> 00:20:47,910 Și te-a lovit Enter. 432 00:20:47,910 --> 00:20:50,810 Și ar trebui să fie poziția aici în curând. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Da. 435 00:20:54,130 --> 00:20:58,110 Deci, eu sunt doar de gând să merg repede peste un exemplu de pagină web într-adevăr scurt. 436 00:20:58,110 --> 00:21:00,280 Și vom să-și petreacă ca 10, 15 minute de joc 437 00:21:00,280 --> 00:21:04,008 în jurul valorii de scris propriile noastre pagini web. 438 00:21:04,008 --> 00:21:05,320 BINE. 439 00:21:05,320 --> 00:21:07,841 Deci, aici, în IDE-- poate toată lumea vedea că? 440 00:21:07,841 --> 00:21:08,340 Nu chiar. 441 00:21:08,340 --> 00:21:11,400 Aici, voi mări. 442 00:21:11,400 --> 00:21:15,850 >> Tocmai am acest șablon scurt aici cu nimic de fapt, în el. 443 00:21:15,850 --> 00:21:20,660 Noi doar de gând să scrie rapid un program de HTML în care ne-am 444 00:21:20,660 --> 00:21:22,050 salut la lumea. 445 00:21:22,050 --> 00:21:24,970 Deci, aceeași lucru ca și în C, acum suntem doar de gând să o fac în HTML. 446 00:21:24,970 --> 00:21:28,250 Nimeni nu vrea să de fapt doar încercați să-mi dea primul lucru pe care 447 00:21:28,250 --> 00:21:31,870 ar trebui să pună într-un document HTML? 448 00:21:31,870 --> 00:21:32,850 Da. 449 00:21:32,850 --> 00:21:35,965 >> Audiența: Parantezele, sau [] neauzit. 450 00:21:35,965 --> 00:21:36,590 ANDI Peng: Da. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Deci ceva care este foarte unic la HTML pe care le de obicei în mod tradițional 453 00:21:50,930 --> 00:21:56,080 nu se confruntă în alte comandă limbaje de programare de nivel linie 454 00:21:56,080 --> 00:21:59,890 este că noi de fapt la specificați tipul de fișier 455 00:21:59,890 --> 00:22:01,987 că acest lucru se întâmplă pentru a fi în partea de sus a codului nostru. 456 00:22:01,987 --> 00:22:04,570 Deci, în acest instance-- cred asta e comanda corect, nu? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Da. 459 00:22:10,550 --> 00:22:14,860 În partea de sus, vrei doar să includă bang DOCTYPE html în paranteze doar 460 00:22:14,860 --> 00:22:17,670 pentru a spune computer, hei, uite. 461 00:22:17,670 --> 00:22:20,050 Și document HTML se apropie. 462 00:22:20,050 --> 00:22:22,250 Și atunci cum vrem pentru a începe fișierul nostru? 463 00:22:22,250 --> 00:22:25,540 Dacă vrem doar să spun salut, au un pagină web care spune salut la lume, 464 00:22:25,540 --> 00:22:26,915 cum vom merge despre construirea asta? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> De fapt, să ne întoarcem la Google. 467 00:22:35,300 --> 00:22:36,910 Și putem face de fapt acest lucru. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Da. 470 00:22:43,670 --> 00:22:44,840 Nu mergem. 471 00:22:44,840 --> 00:22:47,630 Deci HTML. 472 00:22:47,630 --> 00:22:52,390 După cum puteți vedea, browser-ul meu este de fapt styling automat asta pentru mine. 473 00:22:52,390 --> 00:22:56,010 >> Acelasi lucru ca și în C, atunci când a crea un bretele buclat deschis, 474 00:22:56,010 --> 00:22:59,020 browser-ul în mod automat adaugă în acoladă aproape. 475 00:22:59,020 --> 00:23:02,210 Din fericire, IDE nostru îi place să face acest lucru pentru noi. 476 00:23:02,210 --> 00:23:05,490 Deci, acum putem fel de tip începutul unei etichete, 477 00:23:05,490 --> 00:23:09,139 și o să ne spună întotdeauna să amintiți-vă pentru a introduce la sfârșitul tag-ul. 478 00:23:09,139 --> 00:23:10,680 Cred că acest lucru trebuie să fie capitalizate. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Și apoi ne-o dorim pentru a adăuga, întotdeauna, un cap în care este titlul. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Vrem doar pentru a apela poate acest salut, iar apoi corpul. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Și acolo te duci. 485 00:23:36,310 --> 00:23:39,650 Care este de fapt documentul nostru HTML. 486 00:23:39,650 --> 00:23:45,030 Deci felul în care orice document HTML este întotdeauna în stil in-- același lucru 487 00:23:45,030 --> 00:23:46,720 cu void main Int. 488 00:23:46,720 --> 00:23:49,600 Mereu doriți să aveți HTML o etichetă deschide și închide 489 00:23:49,600 --> 00:23:52,100 în partea de sus și de jos a codului. 490 00:23:52,100 --> 00:23:56,900 >> Vrei sa ai un cap în interiorul care conține titlul, doar indiferent 491 00:23:56,900 --> 00:24:01,430 va afișa fila de dvs. de web pagină, și apoi un corp în interiorul, care 492 00:24:01,430 --> 00:24:04,120 va afișa, de fapt conținutul de ce vrei sa faci. 493 00:24:04,120 --> 00:24:08,220 Deci, dacă ai vrut pentru a rula de fapt, asta, am de gând pentru a micșora înapoi. 494 00:24:08,220 --> 00:24:12,740 Puteți începe efectiv apache50 începe punct. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Misto. 497 00:24:16,150 --> 00:24:18,980 Și astfel, după cum puteți vedea, acum această legătură a apărut. 498 00:24:18,980 --> 00:24:21,940 Se spune site-ul dvs. este acum disponibil la un link de mai jos. 499 00:24:21,940 --> 00:24:25,910 Deci, toate IDE noastră are done-- nu IDE, sorry-- da, 500 00:24:25,910 --> 00:24:33,280 IDE noastră a făcut este crearea unui web link pe care toate paginile noastre web 501 00:24:33,280 --> 00:24:35,407 pot fi accesate de pe server. 502 00:24:35,407 --> 00:24:36,490 Deci, haideți să aruncăm o privire aici. 503 00:24:36,490 --> 00:24:40,240 >> Să faceți clic pe acest lucru, du-te la hello.html. 504 00:24:40,240 --> 00:24:42,895 Și veți vedea o foarte simplu Pagina web pentru lumea salut. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 BINE. 507 00:24:47,420 --> 00:24:50,513 Vom merge la doar fapt au everyone-- Da, ce mai faci? 508 00:24:50,513 --> 00:24:52,353 >> Audiența: Am o întrebare de bază. 509 00:24:52,353 --> 00:24:52,978 ANDI Peng: Da. 510 00:24:52,978 --> 00:24:58,064 Audiența: Cum salvați fișierul ca un HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI Peng: Da. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Deci, dacă ar fi să crea un nou fișier, dacă fac New File, Untittle, dacă o fac, 514 00:25:10,820 --> 00:25:14,390 section.html, boom-ul, asta e tot ce trebuie să fac. 515 00:25:14,390 --> 00:25:15,363 >> Audiența: [inaudibil]? 516 00:25:15,363 --> 00:25:15,946 ANDI Peng: Nu. 517 00:25:15,946 --> 00:25:16,660 Audiența: [neauzit]. 518 00:25:16,660 --> 00:25:17,240 ANDI Peng: Nu. 519 00:25:17,240 --> 00:25:18,156 Audiența: [neauzit]. 520 00:25:18,156 --> 00:25:19,110 ANDI Peng: Da. 521 00:25:19,110 --> 00:25:24,300 Destul de mult, extinderea pe fișierul pe care se află în interiorul IDE dvs., 522 00:25:24,300 --> 00:25:27,840 care spune computerul, care spune browser-ului, hei, uite. 523 00:25:27,840 --> 00:25:30,480 Acest lucru va fi cod scris în această limbă. 524 00:25:30,480 --> 00:25:34,240 Astfel, de exemplu, în Microsoft Cuvânt, ce fac toate documentele Word 525 00:25:34,240 --> 00:25:37,070 final, ceea ce extensie? 526 00:25:37,070 --> 00:25:39,830 .doc sau .docx, nu? 527 00:25:39,830 --> 00:25:42,299 >> Tot ceea ce face este specifică la sistemului de operare, hei, 528 00:25:42,299 --> 00:25:43,840 ai un document Word vine. 529 00:25:43,840 --> 00:25:44,940 Deschideți-l cu Word. 530 00:25:44,940 --> 00:25:46,955 Acelasi lucru cu PDF-uri. 531 00:25:46,955 --> 00:25:49,650 Stie, oh, am nevoie de pentru a deschide acest fișier 532 00:25:49,650 --> 00:25:52,020 cu Adobe Reader sau Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Și astfel extensii opera același mod ca și în calculatorul dumneavoastră. 534 00:25:56,130 --> 00:26:00,750 Dacă specificați pagina de cod să fie numit HTML, atunci știe, 535 00:26:00,750 --> 00:26:01,880 oh, ai codul HTML. 536 00:26:01,880 --> 00:26:04,890 Am de gând să-l trateze ca cod html. 537 00:26:04,890 --> 00:26:06,600 Deci, este foarte inteligent în acest sens. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Deci, toată lumea, să luăm ca 10 minute și doar a crea propriile noastre site-uri web. 540 00:26:18,730 --> 00:26:21,020 Să adăugăm în lucrurile minunate. 541 00:26:21,020 --> 00:26:23,440 Simțiți-vă liber să spun ce vrei. 542 00:26:23,440 --> 00:26:27,890 Vreau doar să vă asigurați că Serverele tuturor rulează corect 543 00:26:27,890 --> 00:26:31,220 înainte de a vă elibera în PSET. 544 00:26:31,220 --> 00:26:33,490 Pentru că dacă serverele nu alerga pentru PSET, 545 00:26:33,490 --> 00:26:34,847 care va fi foarte, foarte rău. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Mă duc să plutească în jurul valorii de și vezi ce toată lumea lucrează la. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Cum stă treaba? 550 00:27:27,590 --> 00:27:29,048 >> Audiența: Tocmai am întors de pe computerul meu. 551 00:27:29,048 --> 00:27:29,923 >> ANDI Peng: Asta e OK. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> Audiența: [neauzit]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI Peng: Doar IDE dumneavoastră. 555 00:27:44,284 --> 00:27:44,784 Da. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> Audiența: [neauzit]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI Peng: E ​​OK. 559 00:27:57,590 --> 00:27:59,491 >> Audiența: [neauzit]. 560 00:27:59,491 --> 00:28:00,490 ANDI Peng: Total amendă. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Este toată lumea accesarea serverul lor OK web? 563 00:28:51,530 --> 00:28:52,970 Este apache50 rulează bine? 564 00:28:52,970 --> 00:28:54,700 Cred că în unele dintre alte secțiuni, am 565 00:28:54,700 --> 00:28:58,790 a avut probleme cu oamenii nu posibilitatea de a accesa serverul. 566 00:28:58,790 --> 00:28:59,290 Da. 567 00:28:59,290 --> 00:29:05,764 Deci, doar tu a alerga apache50 spațiu începe perioada de spațiu. 568 00:29:05,764 --> 00:29:06,680 Audiența: [neauzit]. 569 00:29:06,680 --> 00:29:07,610 ANDI Peng: Da. 570 00:29:07,610 --> 00:29:08,294 Bine? 571 00:29:08,294 --> 00:29:09,210 >> Audiența: [neauzit]. 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 Deci tu ar trebui să aibă un spațiu. 575 00:29:14,808 --> 00:29:15,425 Deci apache50-- 576 00:29:15,425 --> 00:29:16,115 >> Audiența: Am făcut-o. 577 00:29:16,115 --> 00:29:17,661 >> ANDI Peng: spațiu --start. 578 00:29:17,661 --> 00:29:18,660 Audiența: Oh, spațiu punct. 579 00:29:18,660 --> 00:29:20,110 ANDI Peng: Da, spațiu punct. 580 00:29:20,110 --> 00:29:23,230 Nu te duci. 581 00:29:23,230 --> 00:29:25,490 Deci, atunci, dacă aveți o pagină HTML creat, 582 00:29:25,490 --> 00:29:28,560 atunci poti sa te duci doar direct la link-ul pe care îl specifică. 583 00:29:28,560 --> 00:29:30,539 Și ar trebui să fie capabil să-l acceseze. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Toată lumea fost în măsură să accesa paginile lor web OK? 586 00:29:37,876 --> 00:29:39,339 >> Audiența: [neauzit]. 587 00:29:39,339 --> 00:29:40,380 ANDI Peng: Oh, asta e OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> Audiența: [neauzit]. 590 00:29:44,964 --> 00:29:45,630 ANDI Peng: Da. 591 00:29:45,630 --> 00:29:48,171 Cred că aveți posibilitatea să deschideți de fapt acesta, în browser-ul dvs., browser 592 00:29:48,171 --> 00:29:49,955 și nu doar browser-ul dvs. IDE. 593 00:29:49,955 --> 00:29:51,580 Da, cred că dacă copiați și lipiți-l. 594 00:29:51,580 --> 00:29:53,920 >> Audiența: Și apoi cum am opri? 595 00:29:53,920 --> 00:29:54,590 [Inaudibil] 596 00:29:54,590 --> 00:29:58,720 >> ANDI Peng: Da, faci apache50 opri cu nici o perioadă. 597 00:29:58,720 --> 00:29:59,220 Da. 598 00:29:59,220 --> 00:30:01,180 >> Audiența: [neauzit]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI Peng: Cu nici o perioadă. 600 00:30:02,768 --> 00:30:04,051 Da. 601 00:30:04,051 --> 00:30:04,550 Nu mergem. 602 00:30:04,550 --> 00:30:05,050 Da. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Ne crearea propriile noastre pagini web. 605 00:30:09,855 --> 00:30:10,646 >> Audiența: Oh, rece. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI Peng: Da. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> Audiența: Am o întrebare. 610 00:30:22,420 --> 00:30:25,294 Deci apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI Peng: 50, da. 612 00:30:26,731 --> 00:30:28,168 >> Audiența: [neauzit]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI Peng: Ce? 614 00:30:29,130 --> 00:30:29,750 Asta este ciudat. 615 00:30:29,750 --> 00:30:32,244 Vezi, asta a fost un fel de problema ce se întâmpla înainte. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 BINE. 618 00:30:38,730 --> 00:30:39,800 Vezi mine după secțiune. 619 00:30:39,800 --> 00:30:42,320 Pentru că noi avem unele probleme cu serverul. 620 00:30:42,320 --> 00:30:44,325 >> Și doriți să faceți vă că server-ul dvs. este 621 00:30:44,325 --> 00:30:45,700 rulează înainte de a începe PSET. 622 00:30:45,700 --> 00:30:47,800 Pentru că ai de gând să nevoie de ea. 623 00:30:47,800 --> 00:30:48,300 Da. 624 00:30:48,300 --> 00:30:51,299 Mai este cineva care nu a fost capabil de a obține serverul lor de a începe? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Pentru aceia dintre dvs. care doresc să adauge Stilul suplimentare pentru paginile dvs. de web, 627 00:31:17,840 --> 00:31:20,450 putem face de fapt ceea ce David a făcut în curs, precum și, 628 00:31:20,450 --> 00:31:24,070 care este un stil suplimentar crearea foaie, care este un punct CSS, Cascading 629 00:31:24,070 --> 00:31:30,080 Foaie de stil și de fapt doar adauga in. 630 00:31:30,080 --> 00:31:33,550 Deci, de exemplu, am creat doar destul de mult aproape același cu cel exact 631 00:31:33,550 --> 00:31:37,180 David a făcut în curs. 632 00:31:37,180 --> 00:31:39,220 Puteți destul de mult face doar corpul. 633 00:31:39,220 --> 00:31:45,980 >> Aveți ceea ce se numesc tag-uri în care puteți aplica la orice IDE secțiunea 634 00:31:45,980 --> 00:31:48,650 vrei în dumneavoastră efectivă la pagina HTML. 635 00:31:48,650 --> 00:31:54,890 Deci, corpul a paginii, vă poate face centru alin text. 636 00:31:54,890 --> 00:31:58,110 Și apoi voi creative o etichetă numită top în interiorul 637 00:31:58,110 --> 00:32:01,860 din care vreau aceste lucruri se întâmplă, atribui o dimensiune mai mare de pixeli 638 00:32:01,860 --> 00:32:03,104 pentru fontul. 639 00:32:03,104 --> 00:32:04,520 Vreau greutate font pentru a fi aldine. 640 00:32:04,520 --> 00:32:06,478 Și vreau culoarea la fie albastru, doar arbitrar 641 00:32:06,478 --> 00:32:08,570 valori pe care am decis sa aleg. 642 00:32:08,570 --> 00:32:10,870 Pot crea un alt tag numit de mijloc. 643 00:32:10,870 --> 00:32:12,640 Dimensiunea fontului, face un pic mai mic. 644 00:32:12,640 --> 00:32:17,730 Și apoi eu pot crea un alt tag numit de jos în cazul în care vreau dimensiunea fontului 645 00:32:17,730 --> 00:32:20,900 să fie chiar mai mici încă. 646 00:32:20,900 --> 00:32:25,630 >> Și așa destul de mult acest lucru este doar exemplu de cod sursă sau sursă foi de stil 647 00:32:25,630 --> 00:32:27,400 că este foarte ușor de doar Google. 648 00:32:27,400 --> 00:32:31,560 Dacă spui, oh, vreau font meu care urmează să fie înclinat și verde închis, 649 00:32:31,560 --> 00:32:33,980 puteți probabil Google, și apoi vă va spune 650 00:32:33,980 --> 00:32:37,590 Tag-urile sau ID-urile corespunzătoare pentru a crea. 651 00:32:37,590 --> 00:32:41,670 Și astfel modul în care le-ar de fapt fel de au această intr-un document HTML 652 00:32:41,670 --> 00:32:45,660 sau de a folosi este tot ce trebuie de a face aici, se află în fruntea 653 00:32:45,660 --> 00:32:48,560 adăuga un link la foaia de stil. 654 00:32:48,560 --> 00:32:53,600 >> Astfel încât să puteți conecta doar egali href indiferent de numele dvs. de foaie de stil 655 00:32:53,600 --> 00:32:54,590 este. 656 00:32:54,590 --> 00:32:56,740 Și apoi relația este o foaie de stil. 657 00:32:56,740 --> 00:33:00,700 Deci, în orice document HTML, atâta timp în timp ce includ această foaie CSS punct, 658 00:33:00,700 --> 00:33:07,140 ar trebui să puteți accesa și au proprietăți acolo. 659 00:33:07,140 --> 00:33:10,370 >> Deci, de exemplu, aici tocmai am a crea altă pagină web exemplu. 660 00:33:10,370 --> 00:33:15,680 Acest lucru este binevenit la secțiunea CS50 Marți de la 02:00 la 03:30 cu mine. 661 00:33:15,680 --> 00:33:20,300 Și apoi m-am adăugat o imagine frumoasă care ne potențial ar trebui să poată vedea. 662 00:33:20,300 --> 00:33:24,620 >> Deci, dacă aruncăm o privire aici, dacă te duci la style.html, 663 00:33:24,620 --> 00:33:26,310 am creat o pagină web cu pisoi. 664 00:33:26,310 --> 00:33:29,420 Deoarece pisoi sunt minunat. 665 00:33:29,420 --> 00:33:33,570 Deci, adăugând o imagine este doar img link SRC. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Destul de mult, dacă e orice fel de facilitate 668 00:33:38,310 --> 00:33:40,268 doriți să adăugați dvs. website-- Să spunem, 669 00:33:40,268 --> 00:33:43,290 doriți să adăugați un meniu sau un bar de căutare sau ca 670 00:33:43,290 --> 00:33:46,450 un image-- doar Google cum să faci asta. 671 00:33:46,450 --> 00:33:48,277 Și tu Plop în format. 672 00:33:48,277 --> 00:33:50,110 Și tu poți doar destul de mult doar adauga in. 673 00:33:50,110 --> 00:33:52,670 Este foarte, foarte usor. 674 00:33:52,670 --> 00:33:55,014 >> Suntem crearea de propria pagini web chiar acum. 675 00:33:55,014 --> 00:33:55,680 Dacă dorești-- 676 00:33:55,680 --> 00:33:56,580 >> Audiența: [inaudibil] 677 00:33:56,580 --> 00:33:57,470 >> ANDI Peng: Îmi pare rău? 678 00:33:57,470 --> 00:33:59,310 >> Audiența: [neauzit]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI Peng: Oh, div este doar o divizie 680 00:34:01,340 --> 00:34:04,370 spunându-mi că, oh, am o anumită secțiune numită 681 00:34:04,370 --> 00:34:07,480 mijloc în care aplic tag meu CSS, și apoi 682 00:34:07,480 --> 00:34:09,619 alte divizare mea cu partea de jos. 683 00:34:09,619 --> 00:34:10,785 Asta e tot ce îți spune. 684 00:34:10,785 --> 00:34:12,743 Pentru că e frumos să păstreze lucruri îngrijite în ordine, 685 00:34:12,743 --> 00:34:16,304 astfel încât programul știe cum exact pentru a rula. 686 00:34:16,304 --> 00:34:18,929 Și cred că pot copia inserați acest în browser-ul meu actual, de asemenea. 687 00:34:18,929 --> 00:34:21,110 Ar trebui să fie în regulă. 688 00:34:21,110 --> 00:34:21,610 Da. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Ura. 691 00:34:25,989 --> 00:34:29,380 Deci, dacă toată lumea vrea să doar încercați să creați o pagină web, 692 00:34:29,380 --> 00:34:32,169 vom lua încă două-trei minute. 693 00:34:32,169 --> 00:34:34,460 Vreau doar să vă asigurați Serverele tuturor rulează 694 00:34:34,460 --> 00:34:36,941 și toată lumea are un idee despre cum să faci asta. 695 00:34:36,941 --> 00:34:38,774 Dacă vreți să scoate computerele. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Încă nu funcționează? 698 00:34:45,635 --> 00:34:47,420 >> Audiența: Sunt doar [neauzit]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI Peng: Poate încerca să actualizeze 50, de asemenea. 700 00:34:49,838 --> 00:34:51,392 Da. 701 00:34:51,392 --> 00:34:52,308 Audiența: [neauzit]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI Peng: Da. 704 00:35:18,990 --> 00:35:23,750 Deci modul în care începe o nouă server web pe IDE este doar 705 00:35:23,750 --> 00:35:27,889 face apache50 spațiu start spațiu punct. 706 00:35:27,889 --> 00:35:30,430 Am vrut doar să vă asigurați că Serverele tuturor se execută OK. 707 00:35:30,430 --> 00:35:31,763 >> Audiența: Aici, pe terminalul? 708 00:35:31,763 --> 00:35:33,334 ANDI Peng: Da. 709 00:35:33,334 --> 00:35:34,250 Audiența: [neauzit]. 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 De fapt, cred că ești rulează deja ceva. 713 00:35:42,010 --> 00:35:43,145 Da, tu ești de fapt rulează un server diferit. 714 00:35:43,145 --> 00:35:43,830 Da, ești bun. 715 00:35:43,830 --> 00:35:45,085 Atâta timp cât funcționează, ești OK. 716 00:35:45,085 --> 00:35:45,626 >> Audiența: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI Peng: Sunt două moduri de a rula servere. 718 00:35:47,615 --> 00:35:49,990 Deci, atâta timp cât unul dintre modurile este de lucru, e în regulă. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Vom lua un minut doar să fel de a termina până 721 00:36:21,680 --> 00:36:25,280 ultimele retușuri, indiferent de Pagina web voi a vrut să facă. 722 00:36:25,280 --> 00:36:26,830 >> Este toată lumea de lucru de drum? 723 00:36:26,830 --> 00:36:30,910 Serverele tuturor sunt funcționare în afară de a ta? 724 00:36:30,910 --> 00:36:32,210 Vom seama de asta. 725 00:36:32,210 --> 00:36:34,137 Și lui HTML destul de simplu. 726 00:36:34,137 --> 00:36:35,220 Deci, eu cred că suntem bine. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Da. 729 00:36:38,760 --> 00:36:41,070 Ma voi intoarce. 730 00:36:41,070 --> 00:36:42,797 >> Audiența: [neauzit]. 731 00:36:42,797 --> 00:36:43,380 ANDI Peng: OK. 732 00:36:43,380 --> 00:36:44,770 Audiența: Deci e doar a început să încărcați până. 733 00:36:44,770 --> 00:36:45,686 ANDI Peng: Nu vă faceți griji. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Deci HTML, nu e cod sursă care va fi online după secțiune. 736 00:36:52,680 --> 00:36:54,810 De asemenea, David are un întreg buchet on-line, de asemenea. 737 00:36:54,810 --> 00:36:58,190 Doar un fel de privire peste ea la a vedea cum sunt scrise paginile HTML. 738 00:36:58,190 --> 00:36:59,920 Este destul de ușor. 739 00:36:59,920 --> 00:37:03,979 Ceva ce nu știu, tu destul de de mult doar Google si tu esti bine. 740 00:37:03,979 --> 00:37:06,270 Vreau doar să vă asigurați că serverele dvs. sunt difuzate. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Audiența: Are face acest lucru de multe ori? 743 00:37:14,880 --> 00:37:16,421 >> ANDI Peng: Nu e niciodată sa întâmplat cu mine. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Nu știam că ar putea hibernare chiar. 746 00:37:20,782 --> 00:37:22,516 >> Audiența: [neauzit]. 747 00:37:22,516 --> 00:37:25,140 ANDI Peng: Cred că everyone-- mea nu a hibernat înainte. 748 00:37:25,140 --> 00:37:26,860 Și nu știu de ce. 749 00:37:26,860 --> 00:37:27,566 E ciudat. 750 00:37:27,566 --> 00:37:29,310 >> Audiența: [neauzit]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI Peng: este a ta hibernare? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> Audiența: [neauzit]. 754 00:37:33,669 --> 00:37:34,335 ANDI Peng: Da. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 Audiența: E OK. 757 00:37:39,872 --> 00:37:40,622 Deci odată ce e deschis. 758 00:37:40,622 --> 00:37:41,760 ANDI Peng: OK. 759 00:37:41,760 --> 00:37:43,940 Ne vom ocupa de un server probleme după secțiunea. 760 00:37:43,940 --> 00:37:44,860 Tu ar trebui să fie în regulă. 761 00:37:44,860 --> 00:37:47,950 Deși, doriți să vă asigurați că sa le rezolvate înainte de a pleca. 762 00:37:47,950 --> 00:37:49,380 Pentru că dacă server-ul dvs. de nu rulează, atunci esti 763 00:37:49,380 --> 00:37:52,004 nu va fi capabil să facă PSET, ca orice parte a PSET. 764 00:37:52,004 --> 00:37:54,200 Deci, doriți să vă asigurați că lucrează. 765 00:37:54,200 --> 00:37:54,831 Misto. 766 00:37:54,831 --> 00:37:55,330 In regula. 767 00:37:55,330 --> 00:37:56,490 Spune pisoi la revedere. 768 00:37:56,490 --> 00:37:59,670 Am petrecut mult timp în căutarea pentru care poza pisoi pentru a pune pe. 769 00:37:59,670 --> 00:38:02,272 Deci, oricum. 770 00:38:02,272 --> 00:38:04,950 >> Audiența: [neauzit]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI Peng: Îmi pare rău? 772 00:38:05,770 --> 00:38:07,345 >> Audiența: [neauzit]. 773 00:38:07,345 --> 00:38:08,970 ANDI Peng: Cred că este pe site-ul. 774 00:38:08,970 --> 00:38:11,064 Ca spec? 775 00:38:11,064 --> 00:38:12,020 >> Audiența: [neauzit]. 776 00:38:12,020 --> 00:38:16,080 Cred că spec este doar on-line în săptămâna de șapte. 777 00:38:16,080 --> 00:38:18,850 Cred că se numește pset6, chiar deși suntem pe săptămână șapte, care 778 00:38:18,850 --> 00:38:19,641 este un pic de calcul. 779 00:38:19,641 --> 00:38:23,130 Audiența: Dar vreau să spun, dacă vrei să te uiți at-- dacă 780 00:38:23,130 --> 00:38:28,666 doresc să trage versiune noastre de site-ul web de la Sever nostru? 781 00:38:28,666 --> 00:38:31,820 Deci ca server.c este PSET, nu? 782 00:38:31,820 --> 00:38:36,514 Dacă vrei să te uiți la asta, cum ar fi modul se verifică? 783 00:38:36,514 --> 00:38:38,680 ANDI Peng: Oh, așa de fapt PSET, toate facem 784 00:38:38,680 --> 00:38:41,405 aici este implementing-- aici, Voi trece peste acest scurt. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Deci, pentru toată lumea că e doar ajuns la sectiunea, voi sunteți în noroc. 787 00:38:47,020 --> 00:38:49,340 Nu este un material foarte puțin pentru a acoperi de fapt astăzi. 788 00:38:49,340 --> 00:38:52,585 >> Mă duc să-și petreacă următoarea 20 de minute trecând peste PSET ajutor. 789 00:38:52,585 --> 00:38:55,210 Pentru că există unele utile funcții care vor ajuta viața ta. 790 00:38:55,210 --> 00:38:57,501 Și sperăm, vom fi în de aici, în ca 20 de minute. 791 00:38:57,501 --> 00:38:58,360 BINE. 792 00:38:58,360 --> 00:39:00,252 >> Deci pset7 este greșit. 793 00:39:00,252 --> 00:39:02,460 Chiar dacă suntem pe săptămână șapte, este de fapt pset6. 794 00:39:02,460 --> 00:39:04,220 Voi schimba asta. 795 00:39:04,220 --> 00:39:07,550 Tot ce facem în pset6 este de a crea un server de web. 796 00:39:07,550 --> 00:39:09,010 Sună foarte înfricoșător. 797 00:39:09,010 --> 00:39:11,010 >> Și mai ales pentru cei dintre voi care au deja 798 00:39:11,010 --> 00:39:14,530 sa uitat la codul de distribuție, există o mulțime de cod, o mulțime de cod. 799 00:39:14,530 --> 00:39:15,570 Dar este total OK. 800 00:39:15,570 --> 00:39:17,750 Deoarece curajos nitty parte din efectiv a crea 801 00:39:17,750 --> 00:39:20,140 serverul se face de către noi. 802 00:39:20,140 --> 00:39:22,090 Tot ce într-adevăr a cerut să facă în acest PSET 803 00:39:22,090 --> 00:39:25,350 este doar pentru a face unele manipulare șir în fișier I / O. Este de fapt 804 00:39:25,350 --> 00:39:27,570 ca destul de simplu. 805 00:39:27,570 --> 00:39:30,830 >> Deci, atunci când descărcați prima that-- care aici are de fapt deja descărcat 806 00:39:30,830 --> 00:39:32,540 PSET și a luat o privire? 807 00:39:32,540 --> 00:39:33,040 In regula. 808 00:39:33,040 --> 00:39:33,540 Da. 809 00:39:33,540 --> 00:39:36,042 Nu e ca și cum 500 de linii de cod care ai de gând să fie ca, 810 00:39:36,042 --> 00:39:36,750 Ce se întâmplă? 811 00:39:36,750 --> 00:39:38,177 Și asta e în regulă. 812 00:39:38,177 --> 00:39:39,760 Asigurați-vă că urmăriți Walk-throughs. 813 00:39:39,760 --> 00:39:41,610 Pentru că David si-- eu nu știu. 814 00:39:41,610 --> 00:39:43,870 Nu cred că e de Zamyla, aceasta. 815 00:39:43,870 --> 00:39:47,040 Dar cred că un alt Walk-through sunt destul de 816 00:39:47,040 --> 00:39:49,510 de ajutor în ceea ce privește doar permițându-vă să știi 817 00:39:49,510 --> 00:39:51,780 ceea ce se întâmplă în interiorul codului. 818 00:39:51,780 --> 00:39:53,330 >> Și este absolut OK. 819 00:39:53,330 --> 00:39:57,860 Deoarece cele patru funcții pe care sunteți a cerut să pună în aplicare de fapt, au 820 00:39:57,860 --> 00:39:59,720 zero, de a face cu serverul actuale. 821 00:39:59,720 --> 00:40:02,590 Tot ce trebuie sa faci este doar parsarea diferite siruri de caractere, 822 00:40:02,590 --> 00:40:05,780 căutarea prin siruri de caractere, să se asigure că lucrurile fac 823 00:40:05,780 --> 00:40:07,750 ceea ce ei ar trebui să faci. 824 00:40:07,750 --> 00:40:11,200 >> Deci, în acest sens, există unele funcții foarte, foarte utile, 825 00:40:11,200 --> 00:40:13,630 în special pentru string manipulare, că ar trebui să ne toți 826 00:40:13,630 --> 00:40:15,879 du-te peste faptul că m-am gândit fi foarte util pentru voi 827 00:40:15,879 --> 00:40:19,130 pentru a afla înainte de a încerca PSET. 828 00:40:19,130 --> 00:40:23,350 Și sunt cuprinse toate în biblioteca string.h. 829 00:40:23,350 --> 00:40:25,980 Există, probabil, mult mai util Funcțiile nu am inclus aici, 830 00:40:25,980 --> 00:40:30,740 pentru că fie nu le folosesc sau poate că pur și simplu nu știam că există. 831 00:40:30,740 --> 00:40:32,440 >> Simțiți-vă liber pentru a privire prin student.h. 832 00:40:32,440 --> 00:40:36,460 Pentru că nu va fi o mulțime de funcții, care sunt foarte utile. 833 00:40:36,460 --> 00:40:43,050 Deci, șase pe care am folosi cel mai mult în meu PSET când făceam o în această săptămână trecut 834 00:40:43,050 --> 00:40:49,620 au fost strtok, strchr, strrcher, strstr, strcasecmp, și strcpy. 835 00:40:49,620 --> 00:40:53,060 Și astfel ultimele două poate părea destul de familiar pentru majoritatea dintre voi. 836 00:40:53,060 --> 00:40:56,910 Caz Str compara, tot ce face este compara siruri de caractere pentru a le verifica pentru egalitate, 837 00:40:56,910 --> 00:40:58,110 inclusiv caz. 838 00:40:58,110 --> 00:41:01,430 Și strcpy doar copii o string într-un tampon. 839 00:41:01,430 --> 00:41:04,430 >> Și așa ar trebui să cei doi par a fi foarte familiar pentru voi în acest moment. 840 00:41:04,430 --> 00:41:07,100 Pentru că le-am folosit foarte mult, în special pentru ultimele psets. 841 00:41:07,100 --> 00:41:10,734 Dar primele patru, probabil, nu ați văzut până acum. 842 00:41:10,734 --> 00:41:12,400 Dar am de gând să meargă doar prin ele. 843 00:41:12,400 --> 00:41:15,620 Pentru că ei vor să facă viața voastră foarte, foarte ușor, nu for-- ușor, 844 00:41:15,620 --> 00:41:19,830 dar mult mai ușor pentru acest PSET viitoare. 845 00:41:19,830 --> 00:41:20,420 >> BINE. 846 00:41:20,420 --> 00:41:27,720 Deci, char * strtok, aceasta este funcția definitie pentru această funcție a conținut 847 00:41:27,720 --> 00:41:31,050 în șir, biblioteca h. 848 00:41:31,050 --> 00:41:34,340 Dacă vi se administrează o intrare de char * string, care este doar un șir de caractere, 849 00:41:34,340 --> 00:41:38,220 sau un char * constant deliminator, delim pe scurt, 850 00:41:38,220 --> 00:41:42,410 tot ce face este de rupere mai mare string într-o serie de ceea ce noi numim 851 00:41:42,410 --> 00:41:45,730 jetoane separate de o anumită valoare. 852 00:41:45,730 --> 00:42:03,340 Deci, într-un sens, dacă ar fi să dau te section.7.php, acest este un șir. 853 00:42:03,340 --> 00:42:09,520 >> Deci care ar fi dacă aș trece în acest lucru ca str meu, char meu * Str, 854 00:42:09,520 --> 00:42:18,870 dacă deliminator mea a fost punct, toate acestea ar face este căutarea prin șir. 855 00:42:18,870 --> 00:42:22,790 Și prima dată când vede un punct, ar reveni doar la indicatorul 856 00:42:22,790 --> 00:42:25,830 la ultima jetonul găsit în șir, înainte de acest lucru. 857 00:42:25,830 --> 00:42:27,230 Asa ca ar merge chiar aici. 858 00:42:27,230 --> 00:42:30,580 >> Și ar da mi 7.php. 859 00:42:30,580 --> 00:42:34,070 Și dacă aș fi pentru a apela funcționeze încă o dată, 860 00:42:34,070 --> 00:42:37,580 mi-ar da doar .php. 861 00:42:37,580 --> 00:42:41,540 Și atunci tot această funcție este de a face este de rupere jos șirul mai mare 862 00:42:41,540 --> 00:42:44,620 în siruri de caractere mai mici, în funcție pe ceea ce căutați. 863 00:42:44,620 --> 00:42:46,670 >> Și astfel, de exemplu, în funcția Look Up 864 00:42:46,670 --> 00:42:49,895 dacă vrei să te uiți la ceea ce anumite caractere întâmpla 865 00:42:49,895 --> 00:42:54,280 sau în cazul în care se întâmplă puncte sau extensii se întâmple, Această funcție ar fi destul de util. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Da. 868 00:42:59,010 --> 00:42:59,510 Fără griji. 869 00:42:59,510 --> 00:43:01,339 Acest lucru va toate be-- Da, ce mai faci? 870 00:43:01,339 --> 00:43:07,087 >> Audiența: Deci, în primul rând, dacă am fost folosind acest exemplu, 871 00:43:07,087 --> 00:43:09,504 ceea ce ne-ar introduce în asta? 872 00:43:09,504 --> 00:43:10,170 ANDI Peng: Da. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Ați numi doar un strtok delim șir virgulă. 875 00:43:25,640 --> 00:43:30,260 Și șir este egală cu section.7.php. 876 00:43:30,260 --> 00:43:35,244 Și atunci esti delim ar putea fi egală cu dot doar. 877 00:43:35,244 --> 00:43:36,654 >> Audiența: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI Peng: Da. 879 00:43:39,010 --> 00:43:41,266 Exact așa. 880 00:43:41,266 --> 00:43:43,890 Toate aceste funcții sunt destul de similară atunci când trecem prin ele. 881 00:43:43,890 --> 00:43:45,514 Ei fac doar lucruri ușor diferite. 882 00:43:45,514 --> 00:43:49,530 Dar toate sunt de gând să face viata mult mai ușor. 883 00:43:49,530 --> 00:43:53,940 A doua funcție, asta e ca super, super, super-importante, 884 00:43:53,940 --> 00:43:58,254 este the-- rezista. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Oops. 887 00:44:08,730 --> 00:44:13,810 Cautari Strchr pentru prima occurrence-- de fapt, da. 888 00:44:13,810 --> 00:44:16,385 Strchr este funcția pe care Eu cu siguranta doar dus peste. 889 00:44:16,385 --> 00:44:18,260 Deci, ignora ceea ce am spus pentru prima funcție. 890 00:44:18,260 --> 00:44:20,980 De fapt, numit strchr. 891 00:44:20,980 --> 00:44:24,840 >> Deci, ce s-ar întâmplat aici este dacă s-au dat un șir într-un char C, 892 00:44:24,840 --> 00:44:28,660 s-ar da doar ai tot ce a fost. 893 00:44:28,660 --> 00:44:29,230 Da. 894 00:44:29,230 --> 00:44:33,700 Deci, cred că de ea ca str, care este un șir de caractere, și chr ca char. 895 00:44:33,700 --> 00:44:38,621 Deci tot ce încerci să faci este căutare pentru cazul în care un char este într-un șir. 896 00:44:38,621 --> 00:44:41,120 Și așa caută primul apariție a caracterului 897 00:44:41,120 --> 00:44:43,601 C în str șir. 898 00:44:43,601 --> 00:44:46,463 >> Audiența: [neauzit]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI Peng: Da. 900 00:44:48,380 --> 00:44:51,230 Și apoi, dacă aceasta nu a găsit ea, o să se întoarcă NULL. 901 00:44:51,230 --> 00:44:54,313 Deci ceva care va fi foarte util pentru voi în a face PSET 902 00:44:54,313 --> 00:44:59,030 dacă, să zicem, pe care o căutați o prelungire ca un .docx un cuvânt 903 00:44:59,030 --> 00:45:04,740 document sau un .pdf pentru un document PDF, puteți fel de utiliza pentru a căuta 904 00:45:04,740 --> 00:45:08,720 pentru tot ceea ce este după aceea de fiecare dată când vedeți un punct, nu? 905 00:45:08,720 --> 00:45:11,880 Și așa destul de mult, dacă alerga că, prin funcția, 906 00:45:11,880 --> 00:45:13,610 în cazul în care se întoarce NULL, atunci știți că 907 00:45:13,610 --> 00:45:17,292 nu-l găsiți punct, ceea ce înseamnă că acest în mod clar nu este o extensie de fișier valid. 908 00:45:17,292 --> 00:45:19,000 Sau dacă se întoarce ceva, atunci știi 909 00:45:19,000 --> 00:45:21,940 se va reveni la orice de de fapt, după extinderea. 910 00:45:21,940 --> 00:45:24,190 Deci cei dintre voi care au avut a început să caute prin căutare 911 00:45:24,190 --> 00:45:28,640 și analiza, această funcție a va fi foarte util. 912 00:45:28,640 --> 00:45:32,010 Așa că de fapt merge pentru a demonstra utilizarea acestui. 913 00:45:32,010 --> 00:45:36,670 >> De ce nu voi încearcă să scrii un Funcția bool char * s frază care 914 00:45:36,670 --> 00:45:39,610 doar returneaza true daca s este un teză și false în caz contrar. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Deci sugestie, te duci de a utiliza, probabil, strchr. 917 00:45:46,830 --> 00:45:50,420 Sau doar Caută în string pentru un anumit caracter. 918 00:45:50,420 --> 00:45:54,950 Și așa mai departe într-o propoziție, ceea ce separă o propoziție 919 00:45:54,950 --> 00:45:57,510 de la un non-teză, ce caracter specific? 920 00:45:57,510 --> 00:45:58,260 Audiența: Un spațiu. 921 00:45:58,260 --> 00:45:59,343 ANDI Peng: un spațiu, nu? 922 00:45:59,343 --> 00:46:03,354 Și ce facem, probabil, va vrei să faci în această funcție aici? 923 00:46:03,354 --> 00:46:04,290 >> Audiența: [neauzit]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI Peng: Vom vrea să strchr șir de apariția spațiului. 925 00:46:07,623 --> 00:46:11,330 Pentru că dacă se întoarce ceva, atunci știm că acest lucru trebuie să fie o propoziție. 926 00:46:11,330 --> 00:46:14,510 Asta înseamnă că trebuie să ne au un spațiu în acest șir. 927 00:46:14,510 --> 00:46:17,660 >> Dacă nu există spațiu, atunci știm că, hei, cred că nu e un șir. 928 00:46:17,660 --> 00:46:20,060 Este, probabil, doar un cuvânt foarte lung. 929 00:46:20,060 --> 00:46:23,242 Așa că voi da un cuplu baieti minute pentru a scrie această funcție. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Da. 932 00:46:45,874 --> 00:46:47,970 >> Audiența: Ai acest șir de utilizator? 933 00:46:47,970 --> 00:46:48,440 >> ANDI Peng: Da. 934 00:46:48,440 --> 00:46:49,565 Deci, aceasta este doar o funcție. 935 00:46:49,565 --> 00:46:54,586 Deci, imaginați-vă în interiorul funcția principală ai deja have-- să mergem aici. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 BINE. 938 00:47:00,540 --> 00:47:05,270 Așa că am scris acest program în cazul în care Am principal funcția mea în cazul în care 939 00:47:05,270 --> 00:47:07,432 Tocmai am creat două șiruri. 940 00:47:07,432 --> 00:47:09,890 Prima dintre ele este Salut, numele meu este în mod clar Andi--, o propoziție. 941 00:47:09,890 --> 00:47:13,240 Al doilea meu este doar Andi, în mod clar nu condamna. 942 00:47:13,240 --> 00:47:18,390 >> Și așa că eu sunt difuzate atât a celor siruri de caractere, prin această funcție. 943 00:47:18,390 --> 00:47:20,540 Vreau ca voi să scrie propoziții rece. 944 00:47:20,540 --> 00:47:23,380 Și eu stocarea acestor valori, și apoi doar tipărirea le. 945 00:47:23,380 --> 00:47:26,549 Deci cred că utilizatorul este O să treacă într-un șir. 946 00:47:26,549 --> 00:47:29,590 Si apoi vei esență dau seama dacă e sau nu o propoziție 947 00:47:29,590 --> 00:47:31,131 și să se întoarcă adevărat sau fals în consecință. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Dacă vreți să dea un Thumbs up sau heads-up, da din cap, 950 00:48:45,200 --> 00:48:49,080 este cineva e gata să înceapă acest, că ar fi bine. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Poate ca 30 de secunde? Mai multe 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 In regula. 955 00:50:50,070 --> 00:50:52,870 Să vedem dacă puteți încerca scris această funcție. 956 00:50:52,870 --> 00:50:57,480 >> Deci, pseudo coding-- Mă duc la un fel de plimbare prin asta acum. 957 00:50:57,480 --> 00:51:00,570 Destul de mult, știm Funcția de care avem nevoie pentru a utiliza. 958 00:51:00,570 --> 00:51:04,390 Vom apela această funcție pe șir si cauta un spatiu nostru. 959 00:51:04,390 --> 00:51:08,682 În cazul în care se întoarce ceva, atunci trebuie să ne Știu că, în mod clar, aceasta este o propoziție. 960 00:51:08,682 --> 00:51:09,640 Pentru că nu e spații. 961 00:51:09,640 --> 00:51:10,930 Apoi vom reveni adevărat. 962 00:51:10,930 --> 00:51:12,310 Altfel, vom reveni false. 963 00:51:12,310 --> 00:51:14,393 Nimeni nu vrea să dea mi prima linie de cod 964 00:51:14,393 --> 00:51:16,890 că suntem de fapt de gând pentru a utiliza pentru a scrie acest lucru? 965 00:51:16,890 --> 00:51:19,680 Este de fapt cel mai greu linie de cod, de asemenea. 966 00:51:19,680 --> 00:51:21,026 Da. 967 00:51:21,026 --> 00:51:28,942 >> Audiența: Dacă strtok S- 968 00:51:28,942 --> 00:51:29,900 ANDI Peng: Doar strchr. 969 00:51:29,900 --> 00:51:35,354 Audiența: [interpunerea VOCI] spațiul nu este egal cu 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 Exact dreapta. 973 00:51:41,470 --> 00:51:43,200 Toată lumea înțelege că prima linie? 974 00:51:43,200 --> 00:51:46,110 Vom apela la strstr, care este o funcție care caută 975 00:51:46,110 --> 00:51:51,830 sirul s pentru char de spațiu. 976 00:51:51,830 --> 00:51:56,010 Și dacă o găsește, o să reveni un pointer la unde este. 977 00:51:56,010 --> 00:51:58,500 >> În cazul în care nu-l găsiți, se va întoarce NULL pentru a. 978 00:51:58,500 --> 00:52:02,530 Deci, în cazul în care se întoarce altceva decât NULL, atunci știm că a găsit un spațiu. 979 00:52:02,530 --> 00:52:03,553 Are sens? 980 00:52:03,553 --> 00:52:04,090 Misto. 981 00:52:04,090 --> 00:52:04,590 In regula. 982 00:52:04,590 --> 00:52:08,246 Deci, dacă știm că a găsit un spațiu, ceea ce vrem să facem? 983 00:52:08,246 --> 00:52:09,162 Audiența: return true. 984 00:52:09,162 --> 00:52:09,787 ANDI Peng: Da. 985 00:52:09,787 --> 00:52:11,940 Return true. 986 00:52:11,940 --> 00:52:15,034 Și apoi, cineva vrea să termina funcția de mine? 987 00:52:15,034 --> 00:52:16,300 Da. 988 00:52:16,300 --> 00:52:19,720 Altfel, la fel ca asta. 989 00:52:19,720 --> 00:52:20,780 Și să încerce realizarea acestui. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Da. 992 00:52:28,000 --> 00:52:33,099 Deci, ca voi poate vedea din ieșiri, amintiți-vă Booleans în C 993 00:52:33,099 --> 00:52:34,390 sunt întotdeauna exprimate în binar. 994 00:52:34,390 --> 00:52:35,100 1 este adevărat. 995 00:52:35,100 --> 00:52:36,350 0 este falsă. 996 00:52:36,350 --> 00:52:39,720 >> Dacă ar fi pentru a rula acest Funcția pe string o, care 997 00:52:39,720 --> 00:52:42,900 este Buna, numele meu este Andi-- în mod clar, un sentence-- rezultatul 998 00:52:42,900 --> 00:52:45,700 imprimate la 1, care este adevărat. 999 00:52:45,700 --> 00:52:48,420 Al doilea, care este doar un cuvânt, rezultatul imprimate 1000 00:52:48,420 --> 00:52:50,630 la 0, ceea ce este fals. 1001 00:52:50,630 --> 00:52:54,820 Toată lumea fel de clar cu privire la modul Această funcție a fost scris? 1002 00:52:54,820 --> 00:52:55,800 Da. 1003 00:52:55,800 --> 00:52:59,770 >> Audiența: Putem face, de asemenea, în loc de nu Același, egal este egal cu 0, 1004 00:52:59,770 --> 00:53:03,677 astfel că este egal cu? 1005 00:53:03,677 --> 00:53:04,260 ANDI Peng: Nu. 1006 00:53:04,260 --> 00:53:07,480 Deoarece strchr este o funcție. 1007 00:53:07,480 --> 00:53:09,940 Am de gând să sprijine în acest sens. 1008 00:53:09,940 --> 00:53:14,624 Deci, ce este de tipul de retur de funcția noastră strchr? 1009 00:53:14,624 --> 00:53:15,332 Audiența: Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 Sau NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI Peng: Da. 1012 00:53:16,466 --> 00:53:20,890 Este un char * care mi-a spus că, indiferent de Această funcție se va să se întoarcă, 1013 00:53:20,890 --> 00:53:22,090 se va fi un pointer. 1014 00:53:22,090 --> 00:53:24,860 Fie indicatorul va fi arătând unde este găsit, 1015 00:53:24,860 --> 00:53:27,550 sau va pentru a reveni un pointer la NULL. 1016 00:53:27,550 --> 00:53:30,930 În oricare caz, se va pentru a reveni un pointer la ceva. 1017 00:53:30,930 --> 00:53:34,354 >> Și așa dacă ar fi să echivala acest egal, egal, 0, 1018 00:53:34,354 --> 00:53:36,020 ai de gând pentru a obține o eroare de compilare. 1019 00:53:36,020 --> 00:53:37,645 Pentru că o să se întoarcă un pointer. 1020 00:53:37,645 --> 00:53:40,240 Și ai de gând să încerce să compara un pointer la un întreg. 1021 00:53:40,240 --> 00:53:42,515 Și calculatorul nu este va plăcea asta. 1022 00:53:42,515 --> 00:53:45,630 Da, exact. 1023 00:53:45,630 --> 00:53:46,540 Misto. 1024 00:53:46,540 --> 00:53:47,525 Toată lumea bună? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Și în al doilea rând, vom merge pe o funcție numită strstr. 1027 00:53:59,770 --> 00:54:02,020 Nu vă faceți griji dacă acestea Funcțiile sunt confuze tine. 1028 00:54:02,020 --> 00:54:03,750 Mă confuz. 1029 00:54:03,750 --> 00:54:07,250 Ca atare, voi ar fi putut vedea, toate acestea suna cam la fel. 1030 00:54:07,250 --> 00:54:10,400 Doar atunci când ești confuz, trageți în sus biblioteca string.h. 1031 00:54:10,400 --> 00:54:13,290 Și voi puteți sorta prin care cuiva care. 1032 00:54:13,290 --> 00:54:18,910 >> Deci strstr, tot ceea ce face este căutările un șir de alte șir întreg. 1033 00:54:18,910 --> 00:54:21,980 Deci, unde strchr doar căutări pentru un singur caracter, 1034 00:54:21,980 --> 00:54:24,090 Cautari strstr pentru o întreagă șir. 1035 00:54:24,090 --> 00:54:30,440 Așa că am vrut să se uite la, eu nu Știu, Buna, numele meu este Andi. 1036 00:54:30,440 --> 00:54:32,490 Și numele prietenului meu cel mai bun este, de asemenea Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Dacă aș fi vrut să caute în acest teză pentru întregul cuvânt de Andi, 1038 00:54:37,180 --> 00:54:39,930 ac mea ar fi fost indiferent de ce căutați. 1039 00:54:39,930 --> 00:54:43,440 Și carul cu fân este indiferent sunteți în căutarea pentru el în. 1040 00:54:43,440 --> 00:54:47,050 Deci, dacă sunteți în căutarea pentru o cuvânt specific într-o propoziție, 1041 00:54:47,050 --> 00:54:48,800 acel cuvânt va fi ac dumneavoastră. 1042 00:54:48,800 --> 00:54:51,397 Și apoi sentința în sine va fi carul cu fân dumneavoastră. 1043 00:54:51,397 --> 00:54:53,230 Și așa doar caută prima apariție 1044 00:54:53,230 --> 00:54:55,063 acului string în carul cu fân șir. 1045 00:54:55,063 --> 00:54:57,140 Se întoarce indicatorul la prima apariție. 1046 00:54:57,140 --> 00:55:00,510 Cu excepția, amintiți-vă în acest caz, că este vorba de prima apariție a întregul șir 1047 00:55:00,510 --> 00:55:02,510 pe care le căutați pentru, nu doar un caracter. 1048 00:55:02,510 --> 00:55:04,676 >> Și astfel încât acesta este aproape același lucru ca și funcția 1049 00:55:04,676 --> 00:55:09,100 tocmai am făcut-o, doar cu un pic mai mult specificitate. 1050 00:55:09,100 --> 00:55:12,730 Pentru că sunteți în căutare de mai mult decât un caracter. 1051 00:55:12,730 --> 00:55:16,310 Și utilizarea este exact același lucru ca cel pe care tocmai l-am făcut. 1052 00:55:16,310 --> 00:55:18,070 Toată lumea OK cu asta? 1053 00:55:18,070 --> 00:55:20,250 BINE. 1054 00:55:20,250 --> 00:55:23,560 >> Ultima vom merge peste este strrchr, care nu este 1055 00:55:23,560 --> 00:55:26,320 confundat cu strstr sau cu strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr are un r plus acolo. 1057 00:55:27,890 --> 00:55:29,140 Fiți atenți atunci când sunteți tastați. 1058 00:55:29,140 --> 00:55:33,851 Ați putea găsi te, inclusiv un R în plus nu include o r, 1059 00:55:33,851 --> 00:55:35,850 și apoi funcția nu a fost de gând să lucreze. 1060 00:55:35,850 --> 00:55:37,183 Și ai de gând să fie confuz. 1061 00:55:37,183 --> 00:55:40,150 Fii atent că sunteți ortografie toate aceste funcții chiar. 1062 00:55:40,150 --> 00:55:43,770 >> Deci strrchr este exact același lucru ca și strchr 1063 00:55:43,770 --> 00:55:47,480 cu excepția că nu caută primul apariție a unui caracter specific, 1064 00:55:47,480 --> 00:55:49,350 ci mai degrabă ultima apariție. 1065 00:55:49,350 --> 00:55:52,800 Și astfel, în acest sens, este aproape exact aceeași. 1066 00:55:52,800 --> 00:55:54,620 Dar, în loc de mișcare înainte într-un șir de caractere, 1067 00:55:54,620 --> 00:55:57,230 ai de gând să fie în mișcare înapoi într-un șir. 1068 00:55:57,230 --> 00:56:00,510 Exact același lucru, ești doar căutarea într-o ordine diferită. 1069 00:56:00,510 --> 00:56:04,690 >> Și așa ar putea fi super, foarte util pentru dvs. de căutare 1070 00:56:04,690 --> 00:56:07,490 Funcția, primul Funcția pe PSET dumneavoastră. 1071 00:56:07,490 --> 00:56:12,710 Să ne prefacem că avem nevoie pentru a scrie un în funcție de extensie gol în care ne-am 1072 00:56:12,710 --> 00:56:17,850 treci un nume de fișier * char constant, doar un șir de caractere, un nume de fișier, 1073 00:56:17,850 --> 00:56:21,370 care ia în acest nume și imprimă din extinderea acelui fișier. 1074 00:56:21,370 --> 00:56:26,520 Deci, de exemplu, dacă ar fi să trece în șirul de pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 se va imprima doar extensia, care este zip. 1076 00:56:30,004 --> 00:56:31,920 Și acest lucru ar lucra pentru orice fel de prelungire, 1077 00:56:31,920 --> 00:56:38,290 .docx pentru Word sau .pdf pentru un PDF fișier sau .html pentru un fișier HTML. 1078 00:56:38,290 --> 00:56:40,425 Destul de mult, scrie funcție care poate face asta. 1079 00:56:40,425 --> 00:56:42,300 Sunt de fapt de gând să comuta pe IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Nu este load-- acolo mergem. 1082 00:56:56,740 --> 00:57:00,990 >> Deci tot ce am făcut aici este a creat un char *, un prim șir, 1083 00:57:00,990 --> 00:57:01,930 numit pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Am de gând pentru a mări. 1085 00:57:04,530 --> 00:57:08,520 Am creat un al doilea șir numit finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Si scrie-mi o funcție ca, atunci cand chemat va imprima doar din 1087 00:57:12,649 --> 00:57:13,690 extensiile numele fișierului. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Poate dura câteva minute să se gândească despre cum ai de gând să faci asta. 1090 00:57:19,660 --> 00:57:22,510 Puțin mai provocatoare decât ultima, 1091 00:57:22,510 --> 00:57:24,770 dar utilizarea este aproape exact aceeași. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Da. 1094 00:57:30,170 --> 00:57:37,540 Deci, scrie o extensie funcție numită că, dacă ți-aș da numele unui fișier, 1095 00:57:37,540 --> 00:57:41,340 dacă ar fi să vă dau pset7.zip-- I Vreau să imprimați doar .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Dacă dau vă place finalpaper.docx, doar imprima .docx, 1098 00:57:49,890 --> 00:57:51,538 doar extensia de orice fișier. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Acest fapt, doar ia două linii de cod. 1101 00:59:07,790 --> 00:59:10,692 Deci, încercați pentru a vedea dacă poate poate face acest lucru în asta. 1102 00:59:10,692 --> 00:59:12,400 De fapt, doar ia o linie de cod. 1103 00:59:12,400 --> 00:59:14,074 Dar două linii este, probabil, mai mult standardul. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Ce funcție suntem, probabil, de gând să doriți pentru a apela? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> Audiența: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI Peng: strrchr, dreapta. 1109 00:59:27,343 --> 00:59:29,570 Pentru că suntem în căutarea de la stânga dreapta. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 N-am să vă dau baieti un exemplu de acest fel, 1112 00:59:33,940 --> 00:59:38,870 dar dacă ți-am dat un exemplu ca www.apple.com și am vrut doar 1113 00:59:38,870 --> 00:59:43,005 .com, că ar fi un exemplu de unde doriți să apelați ultimă instanță 1114 00:59:43,005 --> 00:59:44,630 perioadei și nu prima, nu? 1115 00:59:44,630 --> 00:59:47,470 Dacă ai fi fost strchr numesc, te-ar fi dat Apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Dacă te-a chemat strrchr l, ai fi dat .com. 1117 00:59:49,966 --> 00:59:53,062 Și astfel încât să fie atent pe care ways-- în exemplul meu, 1118 00:59:53,062 --> 00:59:55,520 ai putea avea, probabil, ar putea doar scris folosind strchr, 1119 00:59:55,520 --> 00:59:57,130 deoarece există o singură punct. 1120 00:59:57,130 --> 00:59:59,790 Dar în alte cazuri, care nu poate fi cazul. 1121 00:59:59,790 --> 01:00:04,960 Și așa mereu încerca să proiecteze codul bine, așa that-- da? 1122 01:00:04,960 --> 01:00:07,365 >> Audiența: Deci, în exemplu tocmai ai spus, 1123 01:00:07,365 --> 01:00:11,760 atunci când faci strrchr ca ar fi da .com sau doar vin? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI Peng: Acesta vă va oferi .com. 1125 01:00:13,960 --> 01:00:14,794 >> Audiența: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI Peng: Da. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Se indică în cazul în care a găsit. 1129 01:00:19,744 --> 01:00:20,244 Da. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 de secunde, poate? 1132 01:00:25,188 --> 01:00:25,688 Da. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Toată lumea bună sau poate un pic mai mult timp? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Spectacol de mâini? 1137 01:01:01,640 --> 01:01:02,320 Arată de capete? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Misto. 1140 01:01:05,300 --> 01:01:07,924 Oricine vrea să-mi dea primul linie de cod pentru acest program? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 Audiența: [neauzit]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI Peng: Deci în primul rând, hai poate rupe acest jos. 1145 01:01:20,160 --> 01:01:24,370 Deci, ce este de tipul de întoarcere de strrchr? 1146 01:01:24,370 --> 01:01:26,150 Hai sa ne intoarcem. 1147 01:01:26,150 --> 01:01:29,015 strrchr, ceea ce este tipul de întoarcere? 1148 01:01:29,015 --> 01:01:29,640 Audiența: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI Peng: E ​​un char *, nu? 1150 01:01:31,270 --> 01:01:35,760 Ceea ce înseamnă că te, probabil, va pentru a doriți să creați un alt char * la fel 1151 01:01:35,760 --> 01:01:40,400 de magazin ori de câte ori este revenind la, dreapta? 1152 01:01:40,400 --> 01:01:43,200 Pentru că dacă te sun strrchr funcție, 1153 01:01:43,200 --> 01:01:47,030 este de gând să vă dau un pointer la ori de câte ori se constată că ultima perioadă, 1154 01:01:47,030 --> 01:01:47,580 dreapta? 1155 01:01:47,580 --> 01:01:49,913 >> Dar ai de gând să doriți să stoca că undeva, nu? 1156 01:01:49,913 --> 01:01:52,612 Și așa cum putem cod acest lucru în programul nostru? 1157 01:01:52,612 --> 01:01:54,320 Audiența: Tu faci char * [neauzit]. 1158 01:01:54,320 --> 01:01:55,240 ANDI Peng: Da. 1159 01:01:55,240 --> 01:01:57,120 Audiența: [neauzit]. 1160 01:01:57,120 --> 01:01:58,000 ANDI Peng: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Da. 1162 01:01:58,390 --> 01:01:59,306 Oh, a ratat un r acolo. 1163 01:01:59,306 --> 01:02:02,877 Audiența: Nume fișier [neauzit]. 1164 01:02:02,877 --> 01:02:03,376 Ce este? 1165 01:02:03,376 --> 01:02:04,420 Oh, e doar e. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI Peng: Oh, e doar e. 1167 01:02:04,940 --> 01:02:05,610 Da, îmi pare rău. 1168 01:02:05,610 --> 01:02:06,330 Greșeala mea. 1169 01:02:06,330 --> 01:02:08,370 Exemplele nu se potrivesc. 1170 01:02:08,370 --> 01:02:12,130 >> Audiența: Și apoi dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI Peng: Da. 1172 01:02:13,970 --> 01:02:16,570 Fiți atenți atunci când voi are-- aici, lasă-mă să măriți. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Nu mergem. 1175 01:02:24,400 --> 01:02:26,770 Fiți atenți atunci când voi tastați, mai ales atunci când 1176 01:02:26,770 --> 01:02:27,920 faci doar o char. 1177 01:02:27,920 --> 01:02:32,480 Este foarte ușor să accidental doar face ghilimele duble, mai degrabă decât o singură. 1178 01:02:32,480 --> 01:02:35,212 >> Că nu va funcționa. 1179 01:02:35,212 --> 01:02:36,670 Compilator dvs. va plânge. 1180 01:02:36,670 --> 01:02:38,790 Și funcția dumneavoastră este pur si simplu nu merge pentru a rula. 1181 01:02:38,790 --> 01:02:40,540 Și așa fie atenți atunci când faci lucruri 1182 01:02:40,540 --> 01:02:42,622 cu caractere că este ghilimele simple. 1183 01:02:42,622 --> 01:02:44,830 Și așa face această linie de cod sens pentru toată lumea? 1184 01:02:44,830 --> 01:02:46,810 Suntem crearea unui char * pointer. 1185 01:02:46,810 --> 01:02:50,310 Deoarece se întoarce strrchr ceva de tip pointer. 1186 01:02:50,310 --> 01:02:53,440 >> Și așa vom apela la strchr pe s, care este șirul, fișierul 1187 01:02:53,440 --> 01:02:55,140 nume, că ne trece în. 1188 01:02:55,140 --> 01:02:59,750 Și suntem în căutarea pentru ultima instanță a unei perioade, care este 1189 01:02:59,750 --> 01:03:02,200 doar citat singur punct unic citat. 1190 01:03:02,200 --> 01:03:02,700 Da. 1191 01:03:02,700 --> 01:03:05,180 >> Audiența: Când folosim ghilimele și când folosim ghilimele simple? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI Peng: Da. 1193 01:03:05,320 --> 01:03:07,180 Citate Deci duble sunt folosit întotdeauna când 1194 01:03:07,180 --> 01:03:10,120 au un șir de mai mult decât unul. 1195 01:03:10,120 --> 01:03:13,070 Deci, dacă faci strstr, care este cea care te 1196 01:03:13,070 --> 01:03:16,320 căuta un șir de șir, ai ar trece în ghilimele. 1197 01:03:16,320 --> 01:03:18,070 Dar în orice moment e doar un singur caracter, 1198 01:03:18,070 --> 01:03:19,870 vrei sa faci ghilimele simple. 1199 01:03:19,870 --> 01:03:22,880 >> E un lucru bun de a păstra în minte. 1200 01:03:22,880 --> 01:03:25,864 Deci, acum că ne-am nostru pointer, ce facem cu ea? 1201 01:03:25,864 --> 01:03:27,780 Îți cer voi să imprimarea l, nu? 1202 01:03:27,780 --> 01:03:30,940 Deci [auzite], pe care doriți să da-mi linia de cod? 1203 01:03:30,940 --> 01:03:31,780 >> Audiența: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI Peng: Da. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 Audiența: --you nevoie de un loc de titular. 1207 01:03:36,843 --> 01:03:37,340 ANDI Peng: Da. 1208 01:03:37,340 --> 01:03:38,334 Audiența: Print titularul loc. 1209 01:03:38,334 --> 01:03:40,322 Nu știu ce locul titularul este dar punctul să-l. 1210 01:03:40,322 --> 01:03:40,819 >> BINE. 1211 01:03:40,819 --> 01:03:42,027 Să skip că pentru moment, apoi. 1212 01:03:42,027 --> 01:03:44,556 Audiența: Și apoi comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI Peng: Pointer, nu? 1214 01:03:45,720 --> 01:03:47,970 >> Audiența: Pointer, Da. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI Peng: Deci un fel de întrebare capcană, are de a face cu indicii si siruri de caractere 1216 01:03:51,140 --> 01:03:53,130 că am un fel de vorbit despre deja. 1217 01:03:53,130 --> 01:03:57,766 Ce fel de loc de titular facem nevoie pentru un pointer pentru un char *? 1218 01:03:57,766 --> 01:03:59,574 >> Audiența: [neauzit]. 1219 01:03:59,574 --> 01:04:00,240 ANDI Peng: Da. 1220 01:04:00,240 --> 01:04:02,522 E mai ușor decât voi cred că este. 1221 01:04:02,522 --> 01:04:03,230 Audiența: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI Peng: E ​​doar un șir de caractere, exact. 1223 01:04:04,730 --> 01:04:06,595 Deoarece amintesc siruri de caractere nu există cu adevărat. 1224 01:04:06,595 --> 01:04:09,430 O char * este exact același lucru ca un șir. 1225 01:04:09,430 --> 01:04:14,461 Și așa mai departe într-adevăr acest lucru este ceea ce s ar fi trebuit folosite tot timpul. 1226 01:04:14,461 --> 01:04:14,960 BINE. 1227 01:04:14,960 --> 01:04:17,810 >> Să vedem dacă putem încerca rulează acest lucru. 1228 01:04:17,810 --> 01:04:19,450 Să facem o extensie face. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Misto. 1231 01:04:23,396 --> 01:04:28,830 Voi vedea cum am votat în psset7.zip și finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 și doar imprimă .zip și .docx? 1233 01:04:32,500 --> 01:04:34,150 Are sens? 1234 01:04:34,150 --> 01:04:36,660 >> OK Deci, cred că în look-ul în sus funcție în PSET dumneavoastră sunteți 1235 01:04:36,660 --> 01:04:41,050 va fi întrebat dacă string are un anumit final, 1236 01:04:41,050 --> 01:04:42,800 va trebui să dea un anumit cod de eroare. 1237 01:04:42,800 --> 01:04:44,820 Și așa va fi destul de groaznic. 1238 01:04:44,820 --> 01:04:47,350 Pentru că dacă vă puteți da seama ce extensia este, 1239 01:04:47,350 --> 01:04:49,810 atunci puteți compara că extensie pentru a vedea dacă se potrivește 1240 01:04:49,810 --> 01:04:51,251 cu o anumită extensie. 1241 01:04:51,251 --> 01:04:53,250 Și apoi vă puteți întoarce un mesaj de eroare, nu? 1242 01:04:53,250 --> 01:04:53,860 Da. 1243 01:04:53,860 --> 01:04:55,370 >> Audiența: Deci, noi nu trebuie să adăugați 1 sau ceva? 1244 01:04:55,370 --> 01:04:56,530 Indicatorul va merge la the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI Peng: Nope. 1246 01:04:56,660 --> 01:04:57,530 >> Audiența: --point după el. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI Peng: Da. 1248 01:04:58,196 --> 01:05:00,650 Aceasta subliniază exact unde apariția fost. 1249 01:05:00,650 --> 01:05:04,010 Deci, de exemplu aici, suntem căutarea perioada. 1250 01:05:04,010 --> 01:05:06,597 Asa ca va să se întoarcă un pointer la perioada. 1251 01:05:06,597 --> 01:05:08,930 Și apoi o să imprime pornind de la perioada. 1252 01:05:08,930 --> 01:05:10,260 >> Deci nu este nevoie să adăugați 1. 1253 01:05:10,260 --> 01:05:15,000 Deși, este absolut în regulă la, în cazul în care ești vreodată sigur, la doar un fel 1254 01:05:15,000 --> 01:05:16,070 de a testa în tine. 1255 01:05:16,070 --> 01:05:17,590 Construi un program de probă. 1256 01:05:17,590 --> 01:05:20,240 Testați-l singur și vezi în cazul în care este de imprimare. 1257 01:05:20,240 --> 01:05:23,380 Asta nu e, de asemenea, o modalitate de rău de a face acest lucru. 1258 01:05:23,380 --> 01:05:26,040 >> Misto. 1259 01:05:26,040 --> 01:05:28,880 Și asta e destul de mult tot Am avut pentru voi astăzi. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Am făcut o mulțime de lucruri PSET astăzi. 1262 01:05:33,300 --> 01:05:35,720 Deci, atunci când în dubiu, ca I-am spus, uita-te mereu 1263 01:05:35,720 --> 01:05:37,620 biblioteca string.h pentru acest PSET. 1264 01:05:37,620 --> 01:05:40,370 Nu va fi o mulțime de Funcția acolo care pot fi utile. 1265 01:05:40,370 --> 01:05:41,300 Unii nu pot fi utile. 1266 01:05:41,300 --> 01:05:42,133 Nu prea știu. 1267 01:05:42,133 --> 01:05:44,370 Wade prin ea, nu e o grămadă de ele. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, strrchr sunt super, super-util, precum și 1269 01:05:49,100 --> 01:05:52,080 de strcpys și strcasecmps pe care le-am folosit deja. 1270 01:05:52,080 --> 01:05:56,510 >> E doar mulțime de în jur de joc cu siruri de caractere, a determina dacă acestea sunt egale, 1271 01:05:56,510 --> 01:05:59,960 obtinerea lucruri de siruri de caractere, și posibilitatea de a deschide fișiere în mod corect. 1272 01:05:59,960 --> 01:06:02,252 Este o mulțime de fișier I / O. PSET nu e chiar așa de rău. 1273 01:06:02,252 --> 01:06:04,210 Ai de gând să ia o uita-te la ea, descărcați-l, 1274 01:06:04,210 --> 01:06:05,590 și a vedea o grămadă de cod. 1275 01:06:05,590 --> 01:06:09,220 Nu vă faceți griji, codul pe care îl de fapt, scrie nu este rău deloc. 1276 01:06:09,220 --> 01:06:12,870 Dacă cineva are probleme cu lor Server, vii să mă vezi după secțiune. 1277 01:06:12,870 --> 01:06:16,040 >> Cer scuze încă o dată pentru a nu aducând bomboane la Halloween. 1278 01:06:16,040 --> 01:06:18,790 Nu știu ce a fost în neregulă cu mine. 1279 01:06:18,790 --> 01:06:20,800 Dar vom avea dubla bomboane data viitoare. 1280 01:06:20,800 --> 01:06:25,620 Și noroc în PSET dvs. în această săptămână. 1281 01:06:25,620 --> 01:06:27,170 Da. 1282 01:06:27,170 --> 01:06:28,722