1 00:00:00,000 --> 00:00:01,390 2 00:00:01,390 --> 00:00:04,890 >> [MUZIKO Ludante] 3 00:00:04,890 --> 00:00:10,955 4 00:00:10,955 --> 00:00:12,580 DAVID J Malan: Bone, bonvenigas reen. 5 00:00:12,580 --> 00:00:13,600 Tio estas CS50. 6 00:00:13,600 --> 00:00:15,540 Jen la fino de semajno sep. 7 00:00:15,540 --> 00:00:18,180 Kaj ĝi estas la fino de tiu kadavromanĝanto ĉaso de problemo starigis kvar 8 00:00:18,180 --> 00:00:19,220 ke vi eble memoras. 9 00:00:19,220 --> 00:00:21,650 Post rekuperi ĉiuj tiuj JPEGs de personaro, 10 00:00:21,650 --> 00:00:24,820 vi defiita, se vi ŝatus, foti vin per tiom da 11 00:00:24,820 --> 00:00:25,981 de tiuj homoj kiel vi povas. 12 00:00:25,981 --> 00:00:28,480 Ni havas ĉiu faskon de formularoj dum la lastaj semajnoj, 13 00:00:28,480 --> 00:00:32,980 ja sufiĉe da tuj antaŭ tagmezo hodiaŭ, iuj de kiuj estas tiuj tie, 14 00:00:32,980 --> 00:00:37,670 kaptita tie in-- aspektas like-- Annenberg Salono en oficejo horoj, oni tie 15 00:00:37,670 --> 00:00:39,530 en Lowell House kun Nick. 16 00:00:39,530 --> 00:00:41,750 Jen Ramon esti kaptita en la telefono. 17 00:00:41,750 --> 00:00:43,870 Tiu estis en CS50 lunĉo. 18 00:00:43,870 --> 00:00:46,840 Ĉi estis Jason Skyping kun pli creativos samklasano, 19 00:00:46,840 --> 00:00:48,280 kiuj telefonis al li tiamaniere. 20 00:00:48,280 --> 00:00:49,690 Ni ne scias kio tio estis. 21 00:00:49,690 --> 00:00:51,940 >> [Ridado] 22 00:00:51,940 --> 00:00:54,570 >> DAVID J Malan: Sed ke valoras gigabajto. 23 00:00:54,570 --> 00:00:56,960 Jen Chang, kiu laŭvorte kuris de la scenejo 24 00:00:56,960 --> 00:01:00,480 eviti esti fotita unu tago, sed estis finfine kaptita. 25 00:01:00,480 --> 00:01:02,050 Jen estas Nick. 26 00:01:02,050 --> 00:01:03,480 Jen estas Nick. 27 00:01:03,480 --> 00:01:04,080 Jen estas Nick. 28 00:01:04,080 --> 00:01:05,090 29 00:01:05,090 --> 00:01:07,670 Kaj tie ĉi estas Alison malsupren por la kampoj. 30 00:01:07,670 --> 00:01:11,840 Kaj Zamyla eĉ troviĝis en dancejo konkurado. 31 00:01:11,840 --> 00:01:14,100 Do ni iru tra tiuj fotoj, elŝeligi 32 00:01:14,100 --> 00:01:16,690 kiu prezentis la plej la plej fruaj kaj rekompenco 33 00:01:16,690 --> 00:01:20,662 unu fabela premio, kiel promesita en la spec. 34 00:01:20,662 --> 00:01:23,120 Kaj ni ankaŭ sekvi supren proksimume la spaco kiu estis implikita. 35 00:01:23,120 --> 00:01:26,860 >> Paro de announcements-- tiel tagmanĝi estas, denove, ĉi vendredo je 1:15 ptm. 36 00:01:26,860 --> 00:01:30,420 Se vi ŝatus aliĝi nin RSVP en tiu URL tie. 37 00:01:30,420 --> 00:01:33,730 Jason aperas denove tien el unu el la sekcioj de paro de jaroj 38 00:01:33,730 --> 00:01:35,510 dorso, kio okazis fali sur Halloween. 39 00:01:35,510 --> 00:01:38,950 Kaj efektive, li vestis kiel kukurbo tiu aparta jaro. 40 00:01:38,950 --> 00:01:42,700 Se vi rigardas tiun sekcion el lia de 2011 sekcio 41 00:01:42,700 --> 00:01:46,480 ok, se vi estas scivolema, ĉe CS50.tv, furaĝo 42 00:01:46,480 --> 00:01:49,730 tio estis la jaro en kiu lia aerumo laboris. 43 00:01:49,730 --> 00:01:52,490 >> Se vi do rigardas la simila sekcio en 2012, 44 00:01:52,490 --> 00:01:55,620 vi vidos ĉi Jason multe desinflado, ekde la kostumo ne plu funkciis, 45 00:01:55,620 --> 00:01:58,060 kio estas nur por diri tiu vendredo, se vi volas 46 00:01:58,060 --> 00:02:02,720 plaĉas skulpti kukurbo kun Daven kaj Gabe kaj aliaj, RSVP al la kapoj 47 00:02:02,720 --> 00:02:04,480 ĉe cs50.harvard.edu adreso. 48 00:02:04,480 --> 00:02:06,200 Ĝi promesas esti granda amuzo. 49 00:02:06,200 --> 00:02:08,660 Daven, ni diris, ĝi skulptita Kukurboj ĉiuj de lia vivo. 50 00:02:08,660 --> 00:02:11,930 Gabriel el Brazilo havas neniam skulptita kukurbo por Halloween. 51 00:02:11,930 --> 00:02:14,700 Do vi kun ili, kiel Li lernas. 52 00:02:14,700 --> 00:02:16,830 >> Seminarioj, meanwhile-- tiel vi lernos frue 53 00:02:16,830 --> 00:02:20,650 pri kio nia atendoj estas por la fina projekto, kiu esence 54 00:02:20,650 --> 00:02:23,150 Mi bolas malsupren al desegni kaj efektivigi 55 00:02:23,150 --> 00:02:26,440 plej ajna projekto de intereso al vin, kvankam temo por la aprobo 56 00:02:26,440 --> 00:02:28,490 kaj gvido de via instruado ulo. 57 00:02:28,490 --> 00:02:32,110 Al la fino de la semestro, ni enkondukas nombro 58 00:02:32,110 --> 00:02:35,610 de seminarioj, kiuj estas laŭvolaj klasoj gvidata de la instruado uloj kaj Harvard 59 00:02:35,610 --> 00:02:38,570 bastono, amikoj de la kurso trans campus, pri diversaj temoj kiuj 60 00:02:38,570 --> 00:02:41,470 estas tuŝaj al la Certe la suba Syllabus 61 00:02:41,470 --> 00:02:45,590 sed tamen aplikebla, amuza, kaj malsama por potenciala fina projektoj. 62 00:02:45,590 --> 00:02:49,530 >> Ekzemple, la unua, se vi volus registri, kapo al tiu URL tie. 63 00:02:49,530 --> 00:02:53,010 Kaj jen estas la formado de ĉijara seminarioj sola. 64 00:02:53,010 --> 00:02:56,060 Sed rimarkas ke ni havas dekojn da seminarioj de jaroj pasintaj, ĉiuj el kiuj 65 00:02:56,060 --> 00:02:59,774 estas ligitaj en la Seminarioj menuo eblo de la kurso de afiŝinto. 66 00:02:59,774 --> 00:03:02,190 Do, se vi pensas pri iri preter vian komforto zono 67 00:03:02,190 --> 00:03:05,060 aŭ repreni iujn novajn kapablecojn, ekzemple programado iPhone 68 00:03:05,060 --> 00:03:08,100 apps kun Swift, nova lingvo de Apple aŭ Objective-C 69 00:03:08,100 --> 00:03:11,230 aŭ Android apps aŭ programado [? Cue?] ampoloj, aŭ ĉiu de la temoj 70 00:03:11,230 --> 00:03:15,490 tie supre kaj pli, pro ĉeko la enskribo paĝo. 71 00:03:15,490 --> 00:03:19,730 >> Do ni komencis kaj finis la Lundo per rigardante HTTP. 72 00:03:19,730 --> 00:03:22,675 Tiel rapide refresher-- HTTP, Hiperteksto-Transiga Protokolo. 73 00:03:22,675 --> 00:03:24,045 Sed kion signifas tiu vere signifas? 74 00:03:24,045 --> 00:03:26,805 75 00:03:26,805 --> 00:03:27,930 Kion tio vere signifas? 76 00:03:27,930 --> 00:03:30,665 77 00:03:30,665 --> 00:03:31,290 Ĉu tio estas la mano? 78 00:03:31,290 --> 00:03:33,074 79 00:03:33,074 --> 00:03:34,740 Mi scias ke vi simple skrapante via kapo. 80 00:03:34,740 --> 00:03:36,400 Sed vi volas proponi kion HTTP estas? 81 00:03:36,400 --> 00:03:37,792 82 00:03:37,792 --> 00:03:40,576 >> Publiko: Kiel komputiloj komuniki kun [inaudible]. 83 00:03:40,576 --> 00:03:41,517 84 00:03:41,517 --> 00:03:43,100 DAVID J Malan: Mi perdis la lastan parton. 85 00:03:43,100 --> 00:03:45,774 Kiel komputiloj komuniki with-- 86 00:03:45,774 --> 00:03:47,325 >> Publiko: Interreto serviloj. 87 00:03:47,325 --> 00:03:50,450 DAVID J Malan: Good-- kun interreto serviloj, kaj specife, ttt-serviloj. 88 00:03:50,450 --> 00:03:53,533 Pro memoro, estas aro da servoj sur la interreto, el kiuj 89 00:03:53,533 --> 00:03:57,349 vi uzas verŝajne ĉiutage inter babilejo kaj mesaĝo, babilejo kaj retejo, retpoŝtilo, 90 00:03:57,349 --> 00:03:57,890 kaj similaj. 91 00:03:57,890 --> 00:04:00,900 Kaj HTTP estas nur la protokolo kiu foliumiloj 92 00:04:00,900 --> 00:04:03,750 paroli kiam komuniki kun retserviloj, kaj inverse. 93 00:04:03,750 --> 00:04:05,580 Kaj la analoga en la homa mondo povus esti, 94 00:04:05,580 --> 00:04:08,730 Mi etendos Mian manon skui iuj aliaj homaj aj kaj li aŭ ŝi 95 00:04:08,730 --> 00:04:11,970 agnoskas etendante sian manon tiel. 96 00:04:11,970 --> 00:04:13,970 Do tio estas nur protokolon, aro de konvencioj. 97 00:04:13,970 --> 00:04:15,630 >> Kaj kio ja estas tiuj konvencioj? 98 00:04:15,630 --> 00:04:18,640 Nu, ĝuste bolas malsupren al sendante mesaĝojn tien kaj reen, 99 00:04:18,640 --> 00:04:19,770 kiel ni priskribis tie. 100 00:04:19,770 --> 00:04:22,520 Kaj tie estas kelkaj manieroj kiun vi povas sendi tiujn mesaĝojn. 101 00:04:22,520 --> 00:04:24,360 Kaj eble la plej komuna estas konata kiel get. 102 00:04:24,360 --> 00:04:26,510 Kaj ni vidos kontraston al tiu antaŭ longe. 103 00:04:26,510 --> 00:04:30,010 >> Sed get peto de navegador al servilo simple aspektas kiel ĉi. 104 00:04:30,010 --> 00:04:32,960 Estas aro da teksto kiu metas ene de virtuala koverton. 105 00:04:32,960 --> 00:04:35,854 Ekster tiu koverto iri paro pecoj de detaloj. 106 00:04:35,854 --> 00:04:37,770 Kion bezonas iri en la koverto, por tiel diri, 107 00:04:37,770 --> 00:04:41,820 por akiri peton kiel tiu de mi al reta servilo? 108 00:04:41,820 --> 00:04:42,320 Yeah. 109 00:04:42,320 --> 00:04:43,270 >> Publiko: Via IP-adreso. 110 00:04:43,270 --> 00:04:45,890 >> DAVID J Malan: Mia IP-adreso en la De kampo, tiel diri, 111 00:04:45,890 --> 00:04:49,490 kaj kompreneble la ricevanto IP adreso. 112 00:04:49,490 --> 00:04:52,710 Sed en la kazo de TTT pakoj, ni bezonas iom pli detale 113 00:04:52,710 --> 00:04:55,254 Ne estas sufiĉa nur por sendu koverton al servanto, 114 00:04:55,254 --> 00:04:57,670 ĉar tiu servilo eble aŭskultante por malsamaj tipoj 115 00:04:57,670 --> 00:04:59,180 de interreto trafiko. 116 00:04:59,180 --> 00:05:01,370 Do kion ajn ni bezonas krom la ricevanto IP? 117 00:05:01,370 --> 00:05:02,723 118 00:05:02,723 --> 00:05:03,222 Yeah? 119 00:05:03,222 --> 00:05:04,241 >> Publiko: CXu TCP? 120 00:05:04,241 --> 00:05:05,074 DAVID J Malan: Bone. 121 00:05:05,074 --> 00:05:06,470 TCP-- 122 00:05:06,470 --> 00:05:07,340 >> Publiko: Adreso. 123 00:05:07,340 --> 00:05:09,340 >> DAVID J Malan: Adreso: aŭ haveno, kiel ĝi nomiĝas. 124 00:05:09,340 --> 00:05:11,010 Apude, sed TCP haveno nombro. 125 00:05:11,010 --> 00:05:12,220 Kaj estas faskon de tiuj. 126 00:05:12,220 --> 00:05:14,310 Sed verŝajne la plej familiara devus eventuale 127 00:05:14,310 --> 00:05:17,590 esti 80, kiu estas la defaŭlta oni uzas por reta trafiko. 128 00:05:17,590 --> 00:05:20,040 Kaj alia familiara oni baldaŭ estos 443, 129 00:05:20,040 --> 00:05:24,280 kiu estas uzita por sekura retejo trafiko, URLoj kiuj komenciĝas per https. 130 00:05:24,280 --> 00:05:26,650 >> Do jen kion sekvinbero ene de tiu koverto. 131 00:05:26,650 --> 00:05:29,780 Kaj instigi / simple signifas, doni mi la defaŭlta retpaĝo. 132 00:05:29,780 --> 00:05:32,700 Donu al mi la radiko de la malmola stiras sur tiu TTT-servilo. 133 00:05:32,700 --> 00:05:36,050 Kaj espereble, la retejo servilo respondos kun, OK 134 00:05:36,050 --> 00:05:39,630 kaj la numero 200, kiu estas ĝuste konvencio dirante, jes, ĉiuj 135 00:05:39,630 --> 00:05:40,470 Estas ja bone. 136 00:05:40,470 --> 00:05:41,680 Jen la paĝo. 137 00:05:41,680 --> 00:05:45,510 La tipo de la retpaĝo tuj esti teksto, sed pli specife, HTML, 138 00:05:45,510 --> 00:05:47,010 kiun ni pri plonĝi reen en. 139 00:05:47,010 --> 00:05:49,877 Kaj la skalara dot ŝprucas simple pere, jen HTML. 140 00:05:49,877 --> 00:05:51,710 Kaj tio estas kie ni Repreni la rakonton hodiaŭ, 141 00:05:51,710 --> 00:05:55,740 efektive skribi HTML, Hiperteksto Markup Language, kiu 142 00:05:55,740 --> 00:05:57,727 estas la lingvo en kiu retpaĝojn skribitajn. 143 00:05:57,727 --> 00:05:59,060 Tio ne estas programlingvo. 144 00:05:59,060 --> 00:06:01,270 Mankas funkcioj aŭ bantoj aŭ kondiĉojn. 145 00:06:01,270 --> 00:06:03,800 Estas markado lingvon, tiel denove vidi hodiaŭ, 146 00:06:03,800 --> 00:06:07,240 kiu permesas entajpi kiel strukturi kaj stylize 147 00:06:07,240 --> 00:06:09,300 estetike retpaĝo. 148 00:06:09,300 --> 00:06:11,470 >> Do tio estis la kaj nur paĝaro ni vere 149 00:06:11,470 --> 00:06:13,930 rigardis, se mallonge, lunde. 150 00:06:13,930 --> 00:06:16,250 Kaj rimarkis kelkajn elstaraĵo karakterizaĵoj. 151 00:06:16,250 --> 00:06:20,170 Ekzistas amaso de malferma angled krampo kaj proksima angled krampo. 152 00:06:20,170 --> 00:06:23,160 Inter tiuj angled krampoj estas vortoj. 153 00:06:23,160 --> 00:06:25,660 Kaj ni tuj komencas nomante tiujn vortojn etikedojn. 154 00:06:25,660 --> 00:06:28,800 Tiel malferma krampo kapo kaj fermita krampo kapo 155 00:06:28,800 --> 00:06:33,620 estas la malfermitaj kaj fermitaj etikedoj, aŭ la komenco kaj fino etikedoj 156 00:06:33,620 --> 00:06:37,660 respektive, de HTML elemento, kiel ni nomas ĝin, nomita kapo. 157 00:06:37,660 --> 00:06:41,760 Kaj la sama ĵargono validas al korpo en HTML ktp. 158 00:06:41,760 --> 00:06:43,970 >> Kaj kio estas agrabla estas HTML-- kaj ja, ni 159 00:06:43,970 --> 00:06:47,187 elspezi terure malmulte tempo sur ĝi, ĉar vi plejparte nur elkompreni 160 00:06:47,187 --> 00:06:49,770 kio montras ke ĝi havas kiam fakte havas konkretan problemon 161 00:06:49,770 --> 00:06:52,820 al solve-- vi trovos ke navegador estas bela muta. 162 00:06:52,820 --> 00:06:56,450 Estas nur tuj do-- ne kontraste oni computer-- kion vi diros al fari. 163 00:06:56,450 --> 00:06:59,279 Do kiam vi havas malfermita krampo HTML ĉe la plejsupro 164 00:06:59,279 --> 00:07:01,320 tie, ke esence simple signifas, hej, retumilo, 165 00:07:01,320 --> 00:07:04,090 tien venas retpaĝo skribitaj en HTML. 166 00:07:04,090 --> 00:07:06,130 >> Kiam vidas malferma krampo kapo, tio signifas nur, 167 00:07:06,130 --> 00:07:10,350 hey, retumilo, tie venas la kapo, aŭ la plejsupra parto de mia retpaĝo. 168 00:07:10,350 --> 00:07:14,192 Kiam vidas fermita krampo kapo, tio nur signifas, he, 169 00:07:14,192 --> 00:07:15,150 tio estas por la kapo. 170 00:07:15,150 --> 00:07:16,420 Standby por io alia. 171 00:07:16,420 --> 00:07:18,878 Kaj ke io estas ŝajne tuj estos la korpo. 172 00:07:18,878 --> 00:07:22,630 Kaj vi ne havas etikedon, kiel Vi havas nur saluton, komo, mondo, 173 00:07:22,630 --> 00:07:26,610 Tio estas nur tuj estos krudan tekston kiu fine montriĝas sur la ekrano. 174 00:07:26,610 --> 00:07:29,220 >> Nun, vi rimarkos tro la deŝovon tie. 175 00:07:29,220 --> 00:07:32,160 Vi povas probable konkludi kiel ni stylizing ĝin. 176 00:07:32,160 --> 00:07:34,850 Ĉiufoje mi malfermos etikedo, tiel diri, mi Krommarĝenon. 177 00:07:34,850 --> 00:07:38,540 Kaj ĉiufoje kiam mi fermas tag: Mi mal-skripton, 178 00:07:38,540 --> 00:07:40,690 simila en spirito al krispa krampoj. 179 00:07:40,690 --> 00:07:43,470 Kaj preter tio, mi estas afabla uzi mian juĝon. 180 00:07:43,470 --> 00:07:48,380 Rimarki ke mi ne ĝenas bati Eniri ene de tiu titolo etikedo. 181 00:07:48,380 --> 00:07:48,990 Kial? 182 00:07:48,990 --> 00:07:51,920 Nu, mi simple decidis ke atendinte iom purigisto al mi la homo, 183 00:07:51,920 --> 00:07:53,181 por simple ne tedis fari tion. 184 00:07:53,181 --> 00:07:54,930 Do denove, ekzistas iuj juĝo nomas simple 185 00:07:54,930 --> 00:07:57,670 kiel ekzistas en C aŭ ajna lingvo. 186 00:07:57,670 --> 00:08:04,110 >> Sed rimarkas ankaŭ, ke ĉi deŝovon pruntas al mensa modelo, 187 00:08:04,110 --> 00:08:05,670 Ne over kompliki ĝin. 188 00:08:05,670 --> 00:08:07,020 Sed arbo, ĉu ne? 189 00:08:07,020 --> 00:08:09,290 Se vi pensas pri retejo paĝo, ŝajne skribita 190 00:08:09,290 --> 00:08:12,050 tiel, kiel estante bele dentado aliflanken, 191 00:08:12,050 --> 00:08:17,390 vi povas preskaŭ pensas pri la malferma krampo HTML fermita krampo etikedo estas Marki 192 00:08:17,390 --> 00:08:21,380 la radiko de nodo, familio arbo stilo nodo en la stilo de la arboj 193 00:08:21,380 --> 00:08:22,900 ni rigardis pasintan vendredon. 194 00:08:22,900 --> 00:08:27,630 >> Kaj efektive ni havos en la dekstra tie kion ni nomas DOM, D-O-M, dokumento 195 00:08:27,630 --> 00:08:31,680 objekto modelo, fantazio maniero diri arbo kiu reprezentas tiun HTML. 196 00:08:31,680 --> 00:08:36,140 Kaj rimarki ke HTML havas, ni diras, kiel familio arbo, du infanoj. 197 00:08:36,140 --> 00:08:37,659 Maldekstre estas kapo. 198 00:08:37,659 --> 00:08:39,179 Dekstre estas korpo. 199 00:08:39,179 --> 00:08:44,220 >> Kaj same kiel senhonta penso ekzercon, kapon, kompreneble, havas kiom da infanoj 200 00:08:44,220 --> 00:08:46,070 laŭ tiu strukturo? 201 00:08:46,070 --> 00:08:48,200 Do nur unu, title-- kaj tial ni havas 202 00:08:48,200 --> 00:08:50,580 La sago iranta de kapo al la titolo. 203 00:08:50,580 --> 00:08:55,110 Do estas kvazaŭ tiu persono en la genealogia arbo havis nur unu ido. 204 00:08:55,110 --> 00:08:58,230 Kaj tiam titolo mem povas diri havi infanon ankaŭ. 205 00:08:58,230 --> 00:09:01,780 >> Memoru ke la HTML havis saluton, komo, mondo sub ĝi. 206 00:09:01,780 --> 00:09:06,090 Kaj mi simple desegnita ŝin ene ovala anstataŭ ortangulo simple 207 00:09:06,090 --> 00:09:10,559 transdoni semantike ke kvankam ĝi estas nodo en la arbo, tiel diri, 208 00:09:10,559 --> 00:09:12,100 ĝi estas ia fundamente malsama. 209 00:09:12,100 --> 00:09:12,800 Ne estas tag. 210 00:09:12,800 --> 00:09:14,780 Aŭ pli ĝuste, ĝi estas ne ero. 211 00:09:14,780 --> 00:09:16,590 Estas nur tekston nodo, se vi volas. 212 00:09:16,590 --> 00:09:18,990 Sed tio estas tute ajnaj homaj konvencioj. 213 00:09:18,990 --> 00:09:23,180 Tiu estas ĝuste nun mia formo de reprezenti kion Mi timige kiel aldonita 214 00:09:23,180 --> 00:09:24,340 vokas la dokumenton. 215 00:09:24,340 --> 00:09:27,750 >> Kaj kiel flanken, la afero la super supra maldekstra angulo, 216 00:09:27,750 --> 00:09:32,080 malferma krampo ekkrion punkto doc tipo de HTML, tio aspektas kiel etikedo, 217 00:09:32,080 --> 00:09:35,560 sed estas la stulta angulo kazo kie ke estas ĝuste tie, kopiis nuda 218 00:09:35,560 --> 00:09:38,460 indiki la retumiloj tio estas HTML versio 5. 219 00:09:38,460 --> 00:09:41,540 La mondo daŭre ŝanĝanta kion la unua linio de kodo en paĝo devus esti. 220 00:09:41,540 --> 00:09:43,820 Tiu nur signifas versio 5. 221 00:09:43,820 --> 00:09:45,950 Do ĝi ne tute aspektas kiel la aliaj. 222 00:09:45,950 --> 00:09:48,120 >> Bone, do kun tiu diris, ke vi nun estimi 223 00:09:48,120 --> 00:09:50,767 tiu sufiĉe sensenca tatuaje iu havas. 224 00:09:50,767 --> 00:09:51,990 >> [Ridado] 225 00:09:51,990 --> 00:09:54,210 >> DAVID J Malan: Bone, kaj nun ni efektive dive 226 00:09:54,210 --> 00:09:55,710 en faranta ion per tio. 227 00:09:55,710 --> 00:09:58,610 Vi memoras ke la lasta tempo Mi malfermis la CS50 Appliance 228 00:09:58,610 --> 00:10:01,650 kaj mi faris ion kiel simpla malfermado gedit. 229 00:10:01,650 --> 00:10:05,190 Kaj Mi savis la dosieron eĉ miaj desktop-- nenie special-- 230 00:10:05,190 --> 00:10:05,870 kiel hello.html. 231 00:10:05,870 --> 00:10:07,100 232 00:10:07,100 --> 00:10:10,984 >> Do lasu min fari tion again-- hello.html eniri. 233 00:10:10,984 --> 00:10:13,900 Kaj nun en tiu ĉi dosiero, mi tuj bonvolu repliki kion ni ĵus 234 00:10:13,900 --> 00:10:18,850 saw-- doc tipo html Do mi tuj fari malferma krampo html fermita krampo. 235 00:10:18,850 --> 00:10:21,890 Kaj poste mi iros al preventa formo malfermi kaj fermi la tag. 236 00:10:21,890 --> 00:10:22,390 Kial? 237 00:10:22,390 --> 00:10:23,598 Nur por ke mi ne forgesu poste. 238 00:10:23,598 --> 00:10:26,850 Estas nur bona praktiko, kiel malfermo kaj fermante frizita krampoj ĉiuj samtempe. 239 00:10:26,850 --> 00:10:28,900 >> Kaj tiam kia venis poste? 240 00:10:28,900 --> 00:10:30,582 Vi povas pensi pri la tatuaje. 241 00:10:30,582 --> 00:10:31,450 >> Publiko: La kapon. 242 00:10:31,450 --> 00:10:32,500 >> DAVID J Malan: La kapon. 243 00:10:32,500 --> 00:10:36,020 Kaj tiam ĉi tie, mi havis la titolon, mi pensas. 244 00:10:36,020 --> 00:10:39,886 Kaj la titolo estis arbitre, saluton, mondo proksima titolo. 245 00:10:39,886 --> 00:10:42,760 Kaj poste malsupren tie, la korpo de course-- tiam ni fermas la korpo etikedo. 246 00:10:42,760 --> 00:10:45,660 Kaj tiam simple iom redunde, Mi havis la saman aferon ĉi tie. 247 00:10:45,660 --> 00:10:47,150 >> Do mi asertas ke tiu estas retpaĝo. 248 00:10:47,150 --> 00:10:49,050 Tiu estas iu kiu nun povis vivi en la reto, 249 00:10:49,050 --> 00:10:51,925 kvankam kompreneble, estas laŭvorte vivanta sur mia labortablo nun. 250 00:10:51,925 --> 00:10:55,837 Sed ja, se mi minimumigi gedit, Mi vidos sur mia labortablo lia ikono. 251 00:10:55,837 --> 00:10:58,420 Kvankam ĉi tiu estas la aparato, Vi povus fari tion en Mac OS 252 00:10:58,420 --> 00:11:01,580 sen TextEdit aŭ Fenestroj kun Notepad vespero. 253 00:11:01,580 --> 00:11:06,115 >> Kaj se mi iros antaŭen kaj duobla klako ke eĉ, kaj select-- bone, ni 254 00:11:06,115 --> 00:11:07,990 Ne elektu ke pro Chrome ne estas malfermi. 255 00:11:07,990 --> 00:11:09,281 Ni iru antaŭen kaj malfermi Chrome. 256 00:11:09,281 --> 00:11:10,160 257 00:11:10,160 --> 00:11:14,040 Kaj tiam fari Comando-O por malfermi Kaj navigi al mia labortablo 258 00:11:14,040 --> 00:11:15,320 kaj malfermi la dosieron. 259 00:11:15,320 --> 00:11:20,120 Tio estas kiel navegador interpretas HTML, supre sube, maldekstre dekstren. 260 00:11:20,120 --> 00:11:21,314 Hej, retumilo jen HTML. 261 00:11:21,314 --> 00:11:21,980 Jen la kapo. 262 00:11:21,980 --> 00:11:23,250 Jen la titolo. 263 00:11:23,250 --> 00:11:24,090 Jen la korpo. 264 00:11:24,090 --> 00:11:26,620 Kaj efektive, jen kiel Ĝi bildigas tiu retpaĝo. 265 00:11:26,620 --> 00:11:27,800 >> Sed rimarki la URL. 266 00:11:27,800 --> 00:11:32,430 Neniu povis tiri tiun specifan paĝo en via tekkomputiloj nun, 267 00:11:32,430 --> 00:11:34,910 eĉ ene de via aparaton tra tiu URL 268 00:11:34,910 --> 00:11:40,130 ĉar dosiero: // indikas estas reale sur mia dosiersistemo, mia malmola disko, 269 00:11:40,130 --> 00:11:40,990 ne via. 270 00:11:40,990 --> 00:11:42,440 Do tio ne estas ĉio, kion utila. 271 00:11:42,440 --> 00:11:44,940 >> Ni nun movi al uzante reala retservilo. 272 00:11:44,940 --> 00:11:48,309 Kaj ĝi rezultas la CS50 Appliance estas pli ol nur medion kie 273 00:11:48,309 --> 00:11:51,100 Vi povas skribi C kodon kaj kompili kaj ruli ĝin kiel vi estis faranta. 274 00:11:51,100 --> 00:11:55,500 Ĝi ankaŭ estis agordita por bastono reprezenti tipa retejo 275 00:11:55,500 --> 00:11:58,290 servilo kiu estas sur la interreto, Kiu vi povus pagi 276 00:11:58,290 --> 00:12:00,210 aŭ kiu estas en la tn nubo. 277 00:12:00,210 --> 00:12:02,600 >> Kaj ĝin kurante norma libera fonto malfermita 278 00:12:02,600 --> 00:12:06,160 programaro, ekzemple, iu nomata Apache, kiu estas eble 279 00:12:06,160 --> 00:12:08,700 ankoraŭ la plej populara retejo servilo programaro en la mondo 280 00:12:08,700 --> 00:12:11,030 ke miloj da retejoj uzas hodiaŭ. 281 00:12:11,030 --> 00:12:13,420 Kaj ĝi ankaŭ havas eĉ programaro kiel MySQL, 282 00:12:13,420 --> 00:12:16,240 kio estas datumbazo servilo ke ni eventuale atingi, 283 00:12:16,240 --> 00:12:18,330 kio estas nur por diri Mi povas komenci trakti 284 00:12:18,330 --> 00:12:22,040 mia aparato kiel plena disvolviĝinta servilo ke mi ne pagis por aliloke. 285 00:12:22,040 --> 00:12:25,980 Ĝi apenaŭ vivas en mia propra tekkomputilo por disvolviĝo kaj oportuneco celoj. 286 00:12:25,980 --> 00:12:27,870 >> Do ni iru antaŭen kaj utiligas ĉi. 287 00:12:27,870 --> 00:12:30,120 Mi tuj iros antaŭen kaj malfermi fina fenestro. 288 00:12:30,120 --> 00:12:33,030 Kaj mi tuj iros antaŭen kaj move-- reale, unue mi estas 289 00:12:33,030 --> 00:12:34,860 tuj navigi al mia labortablo. 290 00:12:34,860 --> 00:12:36,400 Se mi faras ls, ekzistas hello.html. 291 00:12:36,400 --> 00:12:37,022 292 00:12:37,022 --> 00:12:38,730 Kaj mi tuj iros antaŭeniras kaj ekuzi 293 00:12:38,730 --> 00:12:40,800 nova dosierujo ni ne uzata antaŭ hodiaŭ. 294 00:12:40,800 --> 00:12:46,840 >> hello.html-- Mi tuj movas al ../vhosts por virtualaj hosts-- 295 00:12:46,840 --> 00:12:50,940 pli sur tiu en la future-- kaj tiam en dosierujo nomita localhost, 296 00:12:50,940 --> 00:12:54,420 kiu estas la kromnomo donita al preskaŭ ajna komputilo, ĉu ĝi estas Mac, PC, 297 00:12:54,420 --> 00:12:57,560 aŭ Linuksa komputilo, kaj poste specife en dosierujo kiun ni, 298 00:12:57,560 --> 00:13:01,260 la bastono jam kreita por vi, kiam vi elŝutis la aparato nomita 299 00:13:01,260 --> 00:13:01,760 publikaj. 300 00:13:01,760 --> 00:13:04,551 Kaj kiel lia nomo lin indikas, io Mi metis en tiu leterujo, teorie, 301 00:13:04,551 --> 00:13:07,790 tuj nun publikon, almenaŭ al homoj 302 00:13:07,790 --> 00:13:10,030 kiu havas rektan konektiĝi al mia komputilo. 303 00:13:10,030 --> 00:13:13,160 >> Do lasu min antaŭeniri kaj fari kd por tiu sama dosierujo 304 00:13:13,160 --> 00:13:15,490 tial mi povas vidi kio estas irante kaj tipon ls. 305 00:13:15,490 --> 00:13:17,630 Kaj efektive, jen la nur afero en tie. 306 00:13:17,630 --> 00:13:23,250 Mi asertas nun ke ĉar mi metis en ĉi file hello.html ene de dosierujo 307 00:13:23,250 --> 00:13:26,940 nomitaj publikaj ene de dosierujo nomita localhost ene de dosierujo 308 00:13:26,940 --> 00:13:29,810 nomita vhosts, kiu danke al CS50 bastonon 309 00:13:29,810 --> 00:13:34,390 estis pre-agordita por esti la radiko de via TTT-servilo, 310 00:13:34,390 --> 00:13:36,900 Mi povas nun espereble faros. 311 00:13:36,900 --> 00:13:38,390 >> Mi tuj malfermos novan folion. 312 00:13:38,390 --> 00:13:40,090 Kaj mi tuj iros ne al file: //. 313 00:13:40,090 --> 00:13:44,520 Mi tuj uzos fakta http / localhost, kiu 314 00:13:44,520 --> 00:13:47,470 denove estas la alnomo mian propran servilon. 315 00:13:47,470 --> 00:13:51,085 Kaj poste mi iros al kio Dosiera nomo, nur por esti klara? 316 00:13:51,085 --> 00:13:52,680 317 00:13:52,680 --> 00:13:54,320 Kie estas tiu rakonto verŝajne iras? 318 00:13:54,320 --> 00:13:56,066 319 00:13:56,066 --> 00:13:56,565 hello.html. 320 00:13:56,565 --> 00:13:58,350 321 00:13:58,350 --> 00:14:04,270 >> Do alivorte, mi volas nun ĉi Estas mia propra komputilo, mian propran aparaton, 322 00:14:04,270 --> 00:14:05,660 kvazaŭ ĝi estas reala servilo. 323 00:14:05,660 --> 00:14:07,490 Lia kromnomo estas localhost. 324 00:14:07,490 --> 00:14:10,210 Sed pensu pri localhost kiel ŝatas Facebook.com google.com ajn. 325 00:14:10,210 --> 00:14:11,600 Estas nur mia loka nomo. 326 00:14:11,600 --> 00:14:14,810 Kaj tiam la fino mi volas estas en la radiko de la malmola disko, tiel diri, 327 00:14:14,810 --> 00:14:17,729 aŭ la radiko de la TTT-servilo, Ergo la antaŭen oblikvo kaj tiam 328 00:14:17,729 --> 00:14:18,770 la dosiernomo hello.html. 329 00:14:18,770 --> 00:14:19,880 330 00:14:19,880 --> 00:14:21,930 >> Lasu min malzomi kaj batis eniri. 331 00:14:21,930 --> 00:14:24,266 Kaj efektive, estas nun mia retpaĝo. 332 00:14:24,266 --> 00:14:25,390 Do ĝi estas iomete malsamaj. 333 00:14:25,390 --> 00:14:26,880 Kaj estas same underwhelming. 334 00:14:26,880 --> 00:14:27,904 Tiu estas la malnova versio. 335 00:14:27,904 --> 00:14:29,070 Lasu min ŝrumpi la tiparo dorso. 336 00:14:29,070 --> 00:14:29,745 Tiu estas la malnova. 337 00:14:29,745 --> 00:14:30,890 Ĉi tiu estas la nova. 338 00:14:30,890 --> 00:14:35,430 Sed kio okazas fundamente nun estas ke HTTP uzas. 339 00:14:35,430 --> 00:14:39,344 >> Ni faras ĉi iom pli klara aŭ, se vi volas, iom pli komplika. 340 00:14:39,344 --> 00:14:41,760 Permesu al mi iri al la fundo dekstre mano angulo de mia aparato. 341 00:14:41,760 --> 00:14:44,000 Kaj rimarki ke ĉiuj ĉi Iam pasis nombro. 342 00:14:44,000 --> 00:14:47,330 Tio estas la sola adreso de via CS50 Appliance. 343 00:14:47,330 --> 00:14:50,800 Estas privata adreso, kiel implicita de la 172,16, 344 00:14:50,800 --> 00:14:53,860 kio ĝuste signifas nur vin fizike povas aliri ĉi ttt-servilo. 345 00:14:53,860 --> 00:14:56,340 Ĉiu firewalled kaj bele protektitaj de la cetero 346 00:14:56,340 --> 00:14:58,130 de la mondo pro tio parolante. 347 00:14:58,130 --> 00:15:01,920 >> Kaj nun rimarkis kvankam se mi iru al tiu adreso ne mian aparaton, 348 00:15:01,920 --> 00:15:04,340 sed en Mac OS-- Mi iras reiri tien. 349 00:15:04,340 --> 00:15:05,930 Tiu estas mia Mac nun. 350 00:15:05,930 --> 00:15:08,460 Kaj nun mi iras al malfermi tiu versio de Chrome tie. 351 00:15:08,460 --> 00:15:17,370 Kaj mi tuj iru al http: //172.16.25 / Kaj mi forgesas la rest-- 133. 352 00:15:17,370 --> 00:15:25,210 >> Do mi tuj vizitos mian Mac ke IP adreso /hello.html eniri. 353 00:15:25,210 --> 00:15:29,850 Kaj nun mi vidas el mia Mac ke mia CS50 Appliance, kiuj estas 354 00:15:29,850 --> 00:15:32,600 IP adreso estas ke nombro, oni ja kondutas 355 00:15:32,600 --> 00:15:34,320 kiel servanto retejo sur la interreto. 356 00:15:34,320 --> 00:15:36,944 Ĝi ne havas belan facile memoru nomo kiel Facebook.com, 357 00:15:36,944 --> 00:15:40,370 sed ĝi uzante HTTP ŝajne, kvankam Chrome 358 00:15:40,370 --> 00:15:43,560 Estas speco de simpligante la mondo por ni sed ne montras al ni HTTP. 359 00:15:43,560 --> 00:15:46,210 Sed tio estas ja ĝuste tio. 360 00:15:46,210 --> 00:15:48,470 Chrome nur ŝparas iom pulsbatoj tiujn tagojn. 361 00:15:48,470 --> 00:15:50,530 Kaj tio estas kion ni nun vidas. 362 00:15:50,530 --> 00:15:51,890 >> Do jen ĉio fajnan kaj bonan. 363 00:15:51,890 --> 00:15:53,740 Sed gxi estas bela underwhelming paĝo. 364 00:15:53,740 --> 00:15:56,230 Lasu min iri en kaj fari ion iom malsama nun. 365 00:15:56,230 --> 00:15:57,910 Do lasu min reiri al gedit. 366 00:15:57,910 --> 00:16:00,580 Kaj anstataŭ saluton, mondon, ni metis bildon. 367 00:16:00,580 --> 00:16:05,880 Kaj mi asertas el before-- lasu min iri En miajn localhost dosierujo publiko. 368 00:16:05,880 --> 00:16:10,580 Kaj lasu min iri antaŭen kaj kopii tutajn faskon de dosieroj de hodiaŭ 369 00:16:10,580 --> 00:16:15,633 el mia Dropbox dosierujo en ĉi tie. 370 00:16:15,633 --> 00:16:19,470 371 00:16:19,470 --> 00:16:21,680 >> Nun, se mi tajpas ls rigardu tute tiujn dosierojn 372 00:16:21,680 --> 00:16:24,940 kiun mi disdonis por la Certe la paĝaro anticipe de hodiaŭ, 373 00:16:24,940 --> 00:16:26,830 unu el kiuj estas ankoraŭ hello.html. 374 00:16:26,830 --> 00:16:27,830 Do ekzistas tiu. 375 00:16:27,830 --> 00:16:30,730 Kaj memori tion stulta unu el lastaj time-- cat.jpg. 376 00:16:30,730 --> 00:16:34,550 Do lasu min provi enkorpigi cat.jpg interne de mia retpaĝo. 377 00:16:34,550 --> 00:16:37,690 >> Mi tuj iros antaŭen kaj fari cat.jpg savu. 378 00:16:37,690 --> 00:16:38,950 Lasu min reiri al Chrome. 379 00:16:38,950 --> 00:16:41,140 Kaj lasu min zomi la tiparo kaj nun reŝarĝi. 380 00:16:41,140 --> 00:16:43,090 381 00:16:43,090 --> 00:16:45,030 Oops, kie mi metis ĉi? 382 00:16:45,030 --> 00:16:48,210 383 00:16:48,210 --> 00:16:51,520 Standby-- mi ankoraŭ havas la malnova versio de mia labortabla malferma. 384 00:16:51,520 --> 00:16:56,020 Do lasu min iri al mia vhost, mia localhost mia publiko, kaj hello.html. 385 00:16:56,020 --> 00:16:57,320 386 00:16:57,320 --> 00:17:00,670 Do lasu min antaŭeniri kaj diru cat.jpg ene de la korpo 387 00:17:00,670 --> 00:17:02,830 kie mi volas ke ĝi estu montrataj kaj reŝarĝi. 388 00:17:02,830 --> 00:17:04,560 Kompreneble, tio ne estas ĝusta. 389 00:17:04,560 --> 00:17:08,050 >> Do mi bezonas diri al la retumilo iom pli intence kion mi volas ĝin fari. 390 00:17:08,050 --> 00:17:10,210 Simple tajpi la nomon evidente ne sufiĉa. 391 00:17:10,210 --> 00:17:15,134 Do memoru, ke estis alia etikedo, bildo, img mallonge. 392 00:17:15,134 --> 00:17:17,550 Tio estas nur ĉar homoj ne ŝatas la tipo plenajn vortojn. 393 00:17:17,550 --> 00:17:19,050 Kaj tiam ni povas fari fonto = "cat.jpg". 394 00:17:19,050 --> 00:17:21,470 395 00:17:21,470 --> 00:17:23,550 >> Nun mi intencas fari ion malsaman tie. 396 00:17:23,550 --> 00:17:25,390 Kvankam ĉiuj nia tags tiel malproksime havi 397 00:17:25,390 --> 00:17:28,086 havis tiun nocion de komenci etikedo kaj finon etikedo, 398 00:17:28,086 --> 00:17:30,210 kiu ne vere fari senson por bildo, ĉu ne? 399 00:17:30,210 --> 00:17:32,430 Bildo estas ĉu ekzistas aŭ ne ekzistas. 400 00:17:32,430 --> 00:17:36,650 Kaj tiel la homoj venis supre kun simpla konvencio. 401 00:17:36,650 --> 00:17:40,310 Kiam vi havas etikedon kiu povas ambaŭ komenci kaj fini en la sama time-- 402 00:17:40,310 --> 00:17:43,790 ĝi povas esti malplena, por tiel speak-- simple metis la antaŭen oblikvo ene de la etikedo 403 00:17:43,790 --> 00:17:44,710 ĉe la fino mem. 404 00:17:44,710 --> 00:17:45,776 405 00:17:45,776 --> 00:17:47,150 Nun mi iros al mia retumilo. 406 00:17:47,150 --> 00:17:50,377 Hit Reŝarĝi Damn, io malĝustas. 407 00:17:50,377 --> 00:17:52,460 Vi verŝajne vidis tiun foje en la retejo, 408 00:17:52,460 --> 00:17:53,600 eĉ se ĝi ne estis via kulpo. 409 00:17:53,600 --> 00:17:54,766 Ĝi estas la ret-servilo kulpo. 410 00:17:54,766 --> 00:17:56,240 Kio odoj ĉi ŝajnas indiki? 411 00:17:56,240 --> 00:17:57,450 412 00:17:57,450 --> 00:17:58,009 Ĝi estas rompita. 413 00:17:58,009 --> 00:17:59,300 Tio estas kie la bildo apartenas. 414 00:17:59,300 --> 00:17:59,700 Yeah? 415 00:17:59,700 --> 00:18:01,560 >> Publiko: Sed tio ne havas aliron al la bildo. 416 00:18:01,560 --> 00:18:03,070 >> DAVID J Malan: ne havas aliron al la bildo. 417 00:18:03,070 --> 00:18:05,230 Tio, aŭ eĉ pli malbone, eble ĝi eĉ ne ekzistas. 418 00:18:05,230 --> 00:18:06,729 Vidu se ni ne povas diagnozi tio. 419 00:18:06,729 --> 00:18:09,390 Rememoran de lasta tempo ke se en Chrome, en la aparato, 420 00:18:09,390 --> 00:18:11,870 aŭ eĉ sur via Mac aŭ PC, Vi iras al la Developer menuo 421 00:18:11,870 --> 00:18:14,650 kaj iru al la Developer Tools eblo, kiun verŝajne vi jam 422 00:18:14,650 --> 00:18:16,850 ne uzata multe aŭ neniam. 423 00:18:16,850 --> 00:18:20,780 Kaj se mi iros al Reto kaj reŝarĝi la paĝon, 424 00:18:20,780 --> 00:18:24,110 ni fakte rigardas la HTTP petoj kiuj estas faritaj. 425 00:18:24,110 --> 00:18:28,400 >> Ĝi aspektas kiel hello.html estas ja bone, ĉi tie la 200. 426 00:18:28,400 --> 00:18:30,630 Sed cat.jpg estas 403. 427 00:18:30,630 --> 00:18:31,650 Do ĝi ne estas 404. 428 00:18:31,650 --> 00:18:33,490 Dosiero probable ekzistas. 429 00:18:33,490 --> 00:18:35,250 403 signifas malpermesita. 430 00:18:35,250 --> 00:18:37,790 Do tio estas iom konfuza. 431 00:18:37,790 --> 00:18:42,340 Mi tuj iros reen al mia fina fenestro. 432 00:18:42,340 --> 00:18:43,700 Lasu min zomi tien. 433 00:18:43,700 --> 00:18:44,750 Kaj lasu min fari ls. 434 00:18:44,750 --> 00:18:46,430 Ekzistas tiuj samaj arkivoj. 435 00:18:46,430 --> 00:18:49,410 >> Nun lasu min fari ls-l, kiuj vi probable 436 00:18:49,410 --> 00:18:53,350 uzata antaŭ rigardi dosieron grandecoj eble aŭ timestamps. 437 00:18:53,350 --> 00:18:55,590 Kaj ni vidos tutan faskon da abrumadora informo. 438 00:18:55,590 --> 00:18:57,040 Sed rimarki kelkajn detalojn. 439 00:18:57,040 --> 00:19:01,660 Jen hello.html en ĉi remi tie kaj jen cat.jpg. 440 00:19:01,660 --> 00:19:02,934 441 00:19:02,934 --> 00:19:05,850 Kaj estas simple la aparato estas uzanto amika per reliefigante JPEG La 442 00:19:05,850 --> 00:19:07,380 purpura ŝatas ĉi. 443 00:19:07,380 --> 00:19:11,470 Sed kio alia estas malsama flanko La grandeco de dosiero kaj la dosiernomo? 444 00:19:11,470 --> 00:19:13,438 445 00:19:13,438 --> 00:19:14,754 >> Publiko: [inaudible]. 446 00:19:14,754 --> 00:19:16,920 DAVID J Malan: Jes, ekzistas du R super tie. 447 00:19:16,920 --> 00:19:20,170 Rimarku kion hello.html jam okazas. 448 00:19:20,170 --> 00:19:24,050 Do rezultas ke la nomo de ĉi dosierujo publiko estas grava. 449 00:19:24,050 --> 00:19:26,400 Ion en tiu ĉi dosierujo estas intencita esti publikaj. 450 00:19:26,400 --> 00:19:28,790 Sed ĝi ne estas sufiĉa nur faligi dosierojn tie. 451 00:19:28,790 --> 00:19:31,480 Vi ankaŭ bezonos ŝanĝi la modo de la dosieroj, 452 00:19:31,480 --> 00:19:35,180 ŝanĝi la permesojn de la dosieron proactivamente ne 453 00:19:35,180 --> 00:19:37,650 la defaŭlta opcio, kio estas ke mi nur povas legi 454 00:19:37,650 --> 00:19:39,220 kaj ni skribas, mi estas la mastro. 455 00:19:39,220 --> 00:19:43,540 Mi volas ke la tuta mondo ĉiuj al povos legi mian dosieron, por tiel diri. 456 00:19:43,540 --> 00:19:44,950 Legi simple signifas vidi. 457 00:19:44,950 --> 00:19:49,780 >> Kaj efektive, kiel vi vidos en problemo starigis sep, tion tiuj R meznombra. 458 00:19:49,780 --> 00:19:53,160 Tiuj du R meznombra lasu ĉiuj alia en la mondo ankaŭ legis ĝin, 459 00:19:53,160 --> 00:19:55,300 speciale nun ke ĝi estas en tiu ĉi dosierujo. 460 00:19:55,300 --> 00:19:59,620 Do la plej simpla maniero por ripari ĉi estas iru al mia prompto kaj fari chmod por ŝanĝo 461 00:19:59,620 --> 00:20:05,580 Modo kaj tiam fari + r, en aro, ĉiuj, ĉiuj, plus r por legado, 462 00:20:05,580 --> 00:20:07,944 kaj tiam cat.jpg eniri. 463 00:20:07,944 --> 00:20:10,360 Nenio ŝajnas okazi, kiu kutime signifas bonon. 464 00:20:10,360 --> 00:20:13,850 Do ls-l again-- nun ni rigardu cat.jpg. 465 00:20:13,850 --> 00:20:15,750 Kaj tiu permeso ŝajnas esti ŝanĝita. 466 00:20:15,750 --> 00:20:18,670 Kiel flanken, se vi faras eraron kaj vi, ekzemple, 467 00:20:18,670 --> 00:20:23,210 ĵus faris your-- Ne know-- eseo publike alirebla per akcidento, 468 00:20:23,210 --> 00:20:25,480 Vi povas fari la malon: chmod a-r. 469 00:20:25,480 --> 00:20:25,909 470 00:20:25,909 --> 00:20:28,200 Kvankam sincere, ĝi ne devus esti en la publika dosierujo 471 00:20:28,200 --> 00:20:29,760 ĉiukaze se tio estas la maltrankvilo. 472 00:20:29,760 --> 00:20:32,475 >> Do nun ni revenu al mia retumilo freŝigi. 473 00:20:32,475 --> 00:20:32,904 474 00:20:32,904 --> 00:20:34,820 Kaj mi tuj klaku la eta Cazafantasmas 475 00:20:34,820 --> 00:20:38,030 simbolo por liberigi tiun parton de la ekrano tiel ni povas vidi novajn petojn. 476 00:20:38,030 --> 00:20:40,630 Kaj efektive, jen Grump Kato de antaŭe. 477 00:20:40,630 --> 00:20:43,010 Sed pli grave, teknike, estas 478 00:20:43,010 --> 00:20:45,565 la numeron 200, kiu signifas ke ni havas ĝin OK. 479 00:20:45,565 --> 00:20:47,190 Bone, do jen ĉio fajnan kaj bonan. 480 00:20:47,190 --> 00:20:48,940 Sed ni ne farante La bona de retejoj, 481 00:20:48,940 --> 00:20:51,967 nek ni provos tro malfacile fari la fanciest de retejoj hodiaŭ. 482 00:20:51,967 --> 00:20:54,550 Sed ni almenaŭ ion fari súper familiara antaŭ klakas 483 00:20:54,550 --> 00:20:56,030 ekstere kelkaj aliaj etikedoj. 484 00:20:56,030 --> 00:20:58,470 Do supozu mi ne volas nur kato tie. 485 00:20:58,470 --> 00:21:02,530 Supozi mi efektive volas ĉi kato ligi al io. 486 00:21:02,530 --> 00:21:07,210 >> Mi povus, ekzemple fari ion kiel tiu. 487 00:21:07,210 --> 00:21:08,580 488 00:21:08,580 --> 00:21:12,890 a por ankron href por hiper referenco equals-- 489 00:21:12,890 --> 00:21:17,440 kaj ni nur faru ion kiel www.google.com Fermi 490 00:21:17,440 --> 00:21:19,540 citi Fermi krampo. 491 00:21:19,540 --> 00:21:22,000 Kaj nun serĉu por katoj. 492 00:21:22,000 --> 00:21:23,520 Fermi ankron etikedo. 493 00:21:23,520 --> 00:21:26,760 Do tiu havas nur unu speco de fundamente nova detalo. 494 00:21:26,760 --> 00:21:28,190 La etikedo kompreneble diferencas. 495 00:21:28,190 --> 00:21:31,770 Ĝi estas la nomo por ankron Eksteraj aŭ hiper referenco. 496 00:21:31,770 --> 00:21:35,269 >> Sed pli grave, ekzistas tiu sintaksa trajto tie. 497 00:21:35,269 --> 00:21:37,810 Jen kion ni komencu nomi Ne etikedo, sed atributo. 498 00:21:37,810 --> 00:21:40,830 Kaj atributo estas iu kiu modifas la konduton de etikedo. 499 00:21:40,830 --> 00:21:45,400 Kaj tiu atributo href, pere modifi la konduton de ĉi ankron 500 00:21:45,400 --> 00:21:48,430 tial, kiam ĝi klakis, iras al tiu URL tie. 501 00:21:48,430 --> 00:21:50,330 Kaj kompreneble, ke URL estas Google. 502 00:21:50,330 --> 00:21:53,951 >> Dume, kian Teksto ĉi tie tuj estos? 503 00:21:53,951 --> 00:21:55,950 Nu, tiu tuj estos kion la homa reale 504 00:21:55,950 --> 00:21:58,470 iru kiel la substrekita ligilo, tiel simpla kiel tio. 505 00:21:58,470 --> 00:21:59,220 Do ni provu tion. 506 00:21:59,220 --> 00:21:59,980 Lasu min savos. 507 00:21:59,980 --> 00:22:01,650 Mi ankoraŭ en hello.html. 508 00:22:01,650 --> 00:22:05,360 Sed en la versioj en linio, vi vidos la fakta dosiero nomoj ni antaŭ-preparita. 509 00:22:05,360 --> 00:22:06,805 Lasu min kaj reŝarĝi. 510 00:22:06,805 --> 00:22:08,680 Kaj nun estas tre underwhelming paĝo ankoraŭ. 511 00:22:08,680 --> 00:22:10,910 Sed se mi ŝvebi super there-- kaj estas iom malgranda, 512 00:22:10,910 --> 00:22:13,576 but-- vi povas vidi en la fundo maldekstra angulo de via ekrano, 513 00:22:13,576 --> 00:22:15,242 ĝi estas ja tuj google.com. 514 00:22:15,242 --> 00:22:19,280 Kaj se mi klakas tion, ĝi volas whisk mi vojon al la efektiva Google. 515 00:22:19,280 --> 00:22:22,610 >> Sed rimarki tie ŝancon por ekspluato, ĝuste kiel flanken. 516 00:22:22,610 --> 00:22:25,150 Kaj ni revenos al alia temoj de sekureco antaŭ longe. 517 00:22:25,150 --> 00:22:29,290 Ĉar ekzistas tiu dicotomía inter kien vi iros, kaj kion vi diras, 518 00:22:29,290 --> 00:22:34,722 Vi povus fari ion kiel this-- http://www.google.com. 519 00:22:34,722 --> 00:22:37,134 OK, kaj nun se mi reŝarĝi post savi tiu paĝo, 520 00:22:37,134 --> 00:22:38,800 ĝi similas Min tuj iri al Google. 521 00:22:38,800 --> 00:22:40,966 Sed estas nenia kialo min iri al Google, dekstra? 522 00:22:40,966 --> 00:22:47,460 Mi povus efektive iros al iu kiel badguy.com, reŝarĝi la paĝon sur tie. 523 00:22:47,460 --> 00:22:49,750 Kaj rimarki, ĝi ankoraŭ aspektas kiel Google. 524 00:22:49,750 --> 00:22:52,020 Kaj nur se mi estas akra sufiĉas por ŝvebi super tie 525 00:22:52,020 --> 00:22:54,770 Mi vidas ĝi estas eĉ tuj iri al malsama loko. 526 00:22:54,770 --> 00:22:57,400 >> Do se vi iam alveninta email, speciale 527 00:22:57,400 --> 00:22:59,610 unu el Paypal aux kvazaŭe de Paypal 528 00:22:59,610 --> 00:23:01,830 demandante vin ensaluti al via konto, tiu 529 00:23:01,830 --> 00:23:06,380 Tial vi devus neniam iam alklaki ligilojn en retpoŝtoj, 530 00:23:06,380 --> 00:23:07,930 sincere, ligojn en retmesaĝoj. 531 00:23:07,930 --> 00:23:10,380 Se vi scias, ke vi havas realan mono en Paypal aŭ Banko 532 00:23:10,380 --> 00:23:14,250 de Ameriko aŭ Fidelity aŭ ajna retejo, permane tajpi ĝin. 533 00:23:14,250 --> 00:23:17,530 Ĉar aspektas kiel facile estas trompi iun en prezentante, ke 534 00:23:17,530 --> 00:23:18,526 aspektas kiel ligilo. 535 00:23:18,526 --> 00:23:20,400 Sed fakte povis iri absolute ie. 536 00:23:20,400 --> 00:23:23,301 >> Kaj estas multe pli granda minacoj ol tio. 537 00:23:23,301 --> 00:23:25,300 Fakte, ĉi tiu estas iom de tangenta nun, sed unu 538 00:23:25,300 --> 00:23:28,430 el la pli bonaj mi iam vidis kiu tiam estis fermita, 539 00:23:28,430 --> 00:23:34,060 Estas iu gvidis homoj to-- tiel ĉi povus diri, 540 00:23:34,060 --> 00:23:37,660 Klaku ĉi tie por ensaluti en via konto, bankokonto. 541 00:23:37,660 --> 00:23:40,985 Kaj tio estis por Banko de la Okcidenta. 542 00:23:40,985 --> 00:23:43,030 543 00:23:43,030 --> 00:23:44,250 >> Do iu aĉetis ĉi. 544 00:23:44,250 --> 00:23:47,090 Kaj estas iom pli facile vidi ĝin en simio interspacigitaj tiparo zomita 545 00:23:47,090 --> 00:23:49,190 en la 30-piedo projekciilo. 546 00:23:49,190 --> 00:23:51,720 Sed kiam gxi estas malgranda tiparo en retpoŝto ke vi ricevas, 547 00:23:51,720 --> 00:23:54,690 tio aspektas bankofthewest.com, Ne bankofthevvest.com, 548 00:23:54,690 --> 00:23:58,230 kiu iu estis pagita $ 10 por aĉeti. 549 00:23:58,230 --> 00:24:00,840 Kaj poste tio kondukis ilin al la ekvivalento de iuj malbonaj retejo. 550 00:24:00,840 --> 00:24:05,540 >> Kaj vi vidos too-- reale ni povas fari this-- se mi iru al la efektiva retejo, 551 00:24:05,540 --> 00:24:10,335 bankofthewest.com, denove, recall de lasta horo 552 00:24:10,335 --> 00:24:13,210 ke se tiu estas ilia retpaĝo kaj vi estas scivolema pri kiel ĝi funkcias, 553 00:24:13,210 --> 00:24:15,610 vi certe povas iri Chrome la desarrollador iloj. 554 00:24:15,610 --> 00:24:18,890 Kaj vi povas vidi ĉiujn HTML bele formatitan tie. 555 00:24:18,890 --> 00:24:20,890 >> Sed pli al la punkto, vi cam-- ni fermi 556 00:24:20,890 --> 00:24:24,760 this-- vi povas iri por rigardi Desarrollador Vidi Fonto. 557 00:24:24,760 --> 00:24:25,770 558 00:24:25,770 --> 00:24:28,350 Kial ne simple kopiu ĉiuj kiuj Kaj tiam mi 559 00:24:28,350 --> 00:24:31,630 povas eniri en mia eta gedit fenestro tie kaj fari mian propran retpaĝon. 560 00:24:31,630 --> 00:24:33,210 Konservu tio en hello.html. 561 00:24:33,210 --> 00:24:36,770 Kaj verŝajne tiu tuj rompos, ĉar ne tiu facila kutime. 562 00:24:36,770 --> 00:24:41,590 Sed nun se mi freŝigi mian propran paĝon sur mian propran CS50 Appliance kaj reŝuti, 563 00:24:41,590 --> 00:24:42,990 OK, aliaj stuff rompis. 564 00:24:42,990 --> 00:24:45,750 Sed mi sufiĉe proksime al devi mian propran banka retejo, ĉu ne? 565 00:24:45,750 --> 00:24:46,570 Ĉio ĉi HTML-- 566 00:24:46,570 --> 00:24:47,370 >> [Ridado] 567 00:24:47,370 --> 00:24:49,210 >> DAVID J Malan: --I ne actually-- kaj vi 568 00:24:49,210 --> 00:24:52,210 scias ke ekzistas iu tie ekstere, kiu estus reale klaku tiujn ligojn ankaŭ. 569 00:24:52,210 --> 00:24:54,864 Do klare, iuj aĵoj rompis. 570 00:24:54,864 --> 00:24:56,780 Sed tio okazas konduki nin en diskuto, 571 00:24:56,780 --> 00:25:00,810 nenecese nun, kiel al kio CSS CSS, estas, 572 00:25:00,810 --> 00:25:03,410 kaj kiel vi reale elŝuti la alia HTML dosierojn 573 00:25:03,410 --> 00:25:06,140 kaj JPEG fajlilo GIF dosieroj la retpaĝaro povus uzi. 574 00:25:06,140 --> 00:25:07,960 Sed ĉio tio estas accomplishable. 575 00:25:07,960 --> 00:25:11,110 Sed vere abscesoj malsupren al tiuj tre simplaj heurísticas. 576 00:25:11,110 --> 00:25:14,450 >> Do nun ni nur skim tra kelkaj aliaj ekzemploj de HTML 577 00:25:14,450 --> 00:25:16,680 nur doni vin sento kion ajn vi povas fari. 578 00:25:16,680 --> 00:25:18,670 Ekzemple, jen list.html. 579 00:25:18,670 --> 00:25:23,240 Supozi Mi volis fari retpaĝo kun listo de domoj en la quad. 580 00:25:23,240 --> 00:25:28,960 Mi povus uzi la ul etikedo por neordigitaj lerta kaj tiam la listeron infano 581 00:25:28,960 --> 00:25:33,760 kaj tiam persisti over-- aŭ lerta, rather-- la domoj en demando. 582 00:25:33,760 --> 00:25:36,080 >> Kaj se mi malfermos ĉi supre, ni faros. 583 00:25:36,080 --> 00:25:40,670 Ni ne transiru hello.html, sed list.html. 584 00:25:40,670 --> 00:25:42,160 Damn ĝin. 585 00:25:42,160 --> 00:25:43,000 Kjel mi ripari tion? 586 00:25:43,000 --> 00:25:45,679 587 00:25:45,679 --> 00:25:47,220 Estas la sama afero kiel antaŭe, ĉu ne? 588 00:25:47,220 --> 00:25:52,510 Do lasu min fari chmod-- oops-- chmod a + r de list.html. 589 00:25:52,510 --> 00:25:54,610 590 00:25:54,610 --> 00:25:59,610 Kaj nun se mi reiros al mia retumilo kaj alklaku Reŝarĝi tie ĝi estas. 591 00:25:59,610 --> 00:26:02,360 Do se vi iam volis fari oni bula listo, vi povas fari tion. 592 00:26:02,360 --> 00:26:06,210 Se vi volas esti súper fantazio kaj fari ordigita listo, ne neordigitan liston, 593 00:26:06,210 --> 00:26:10,170 ŝanĝi tiujn al maljunan, reŝarĝi la paĝon, kaj nun la navegador kalkuli ĝin por vi. 594 00:26:10,170 --> 00:26:11,241 >> Kion alian ni povas fari? 595 00:26:11,241 --> 00:26:13,990 Nu, kelkaj others-- se vi havas longajn alineojn de text-- 596 00:26:13,990 --> 00:26:15,698 Ekzemple, iuj Latina teksto kiel this-- 597 00:26:15,698 --> 00:26:20,730 kaj vi volas ke en apartaj paragrafoj, malfermita p, proksima p por la alineo etikedo. 598 00:26:20,730 --> 00:26:22,010 Kaj fari ĝin denove kaj denove. 599 00:26:22,010 --> 00:26:26,600 Kaj se mi nun malfermas tiun dosieron: paragraphs.html, nu, tiu 600 00:26:26,600 --> 00:26:27,570 fariĝas ĝena. 601 00:26:27,570 --> 00:26:34,320 Do nun ni nur reiri al mia prompt, chmod a + r r stelo .html-- 602 00:26:34,320 --> 00:26:36,099 belan sovaĝa karto tiel diri. 603 00:26:36,099 --> 00:26:37,890 Ĝi devus ripari ĉiujn tiujn problemojn por mi. 604 00:26:37,890 --> 00:26:38,990 Ni reŝarĝi. 605 00:26:38,990 --> 00:26:40,500 Ekzistas tri alineoj. 606 00:26:40,500 --> 00:26:42,930 >> Kaj nun ni iru antaŭen kaj malfermu unu alia. 607 00:26:42,930 --> 00:26:44,310 Kion pri tablo? 608 00:26:44,310 --> 00:26:46,440 Vi rimarkos tablo rigardoj iom pli kompleksa. 609 00:26:46,440 --> 00:26:49,110 Sed estas la sama idea-- malfermita etikedo malfermitaj etikedo, 610 00:26:49,110 --> 00:26:51,360 malfermita, malferma, malfermita, proksime etikedo malfermitaj etikedo. 611 00:26:51,360 --> 00:26:54,410 Kaj tiuj okazas por defendi tablo, kies limo estas ŝajne 612 00:26:54,410 --> 00:26:58,500 tuj estos dikeco 1-- ajn ke means-- tablo vico, tablo 613 00:26:58,500 --> 00:27:00,320 datumo, kiu signifas ĉelo. 614 00:27:00,320 --> 00:27:03,840 Kaj se mi iros al mia retumilo tie kaj iri al table.html, 615 00:27:03,840 --> 00:27:05,840 vi povas vidi ion kiel tiu, malbelega. 616 00:27:05,840 --> 00:27:07,840 Sed ni atingos la punkton kie ni povas reale 617 00:27:07,840 --> 00:27:09,260 fari aferojn pli belaj ol tio. 618 00:27:09,260 --> 00:27:10,530 >> Do lasu min kondiĉas nun. 619 00:27:10,530 --> 00:27:11,870 Ekzistas aroj de pli etikedoj. 620 00:27:11,870 --> 00:27:15,225 Kaj HTML estas mirinda repreni ĉar, sincere, ĉiuj vi devas fari 621 00:27:15,225 --> 00:27:17,600 estas rigardi ekzistantaj retpaĝoj kun kiu vi konas. 622 00:27:17,600 --> 00:27:20,340 Kaj vi estas kiel, ho, tiel estas kiel Ili faris tion estetike. 623 00:27:20,340 --> 00:27:23,159 >> Aŭ vi povas serĉi ajnan linio rimedo pri kiel HTML laboras, 624 00:27:23,159 --> 00:27:25,700 kaj vi vidos, ke estas tuta vortprovizo de aliaj etikedoj. 625 00:27:25,700 --> 00:27:30,110 Sed kun la simpla mensa modelo sole ke preskaŭ neniu etikedo malferminte 626 00:27:30,110 --> 00:27:33,620 ĝi devas esti fermita, ĝi vere ne sufiĉas por instrui sin 627 00:27:33,620 --> 00:27:36,950 HTML post kompreni tiuj bazaj ideoj de etikedoj 628 00:27:36,950 --> 00:27:40,520 kaj atributojn kaj la bonstato formedness ke ni raportis, 629 00:27:40,520 --> 00:27:44,697 fermi ion ke ni povu malfermi por ke ni ne konfuzu navegador. 630 00:27:44,697 --> 00:27:46,780 Do ni nun prenu tion pli interesan nivelo 631 00:27:46,780 --> 00:27:48,100 irante al la efektiva. 632 00:27:48,100 --> 00:27:51,095 Kaj ni iru al mia Mac tie, al google.com. 633 00:27:51,095 --> 00:27:52,280 634 00:27:52,280 --> 00:27:54,020 Kaj nun notice-- ni faros. 635 00:27:54,020 --> 00:27:57,280 Mi gong iri Agordojn, Serĉo Settings. 636 00:27:57,280 --> 00:28:01,070 Mi volas malŝalti ĉi ĝena momenteto rezultoj afero kie tuj 637 00:28:01,070 --> 00:28:02,450 komencas respondi vian tajpadon. 638 00:28:02,450 --> 00:28:05,300 Ni faru ĉi malnova lernejo por ni fakte vidi kio okazas. 639 00:28:05,300 --> 00:28:08,260 >> Do mi tuj savos Mian Google agordojn tie. 640 00:28:08,260 --> 00:28:11,160 Kaj nun notice-- Mi tuj serĉi iun kiel katoj. 641 00:28:11,160 --> 00:28:14,500 Kaj ĝi estas ankoraŭ faranta auto kompleta tie, sed bazita sur aferoj 642 00:28:14,500 --> 00:28:15,970 homoj tajpis en la pasinteco. 643 00:28:15,970 --> 00:28:17,490 Sed rimarki kio okazos. 644 00:28:17,490 --> 00:28:20,272 >> En la URL la momento estas tio, ĝuste google.com. 645 00:28:20,272 --> 00:28:22,650 Kaj teknike, estas oblikvo. 646 00:28:22,650 --> 00:28:25,910 Google estas nur ŝparas gravulo kaj ne montras al ni tion. 647 00:28:25,910 --> 00:28:30,400 Ili montras al ni https, simple esti súper trankviliga ke ni estas 648 00:28:30,400 --> 00:28:32,850 je sekura aŭ ĉifrita paĝo. 649 00:28:32,850 --> 00:28:35,690 >> Do lasu min iri antaŭen kaj elsercxu por katoj. 650 00:28:35,690 --> 00:28:37,670 Nun ĉi tio alvenis vere abrumadora rapide. 651 00:28:37,670 --> 00:28:39,470 Rigardu la longo de tiu URL. 652 00:28:39,470 --> 00:28:43,070 Sed rezultu ke la plimulto de ĉi stuff en la URL-o estas vere bela senutila. 653 00:28:43,070 --> 00:28:45,320 Mi tuj komencos viŝi Tion mi ne komprenas. 654 00:28:45,320 --> 00:28:46,560 655 00:28:46,560 --> 00:28:47,360 Mi vidas katojn. 656 00:28:47,360 --> 00:28:48,470 Mi komprenas katojn. 657 00:28:48,470 --> 00:28:50,380 Mi ne scias, kial katoj estas tie. 658 00:28:50,380 --> 00:28:52,620 Mi vere ne scias kia sensencaĵo estas. 659 00:28:52,620 --> 00:28:56,030 Do mi simple tuj subteni reliefigante kaj viŝante stuff 660 00:28:56,030 --> 00:28:59,905 ke mi ne komprenas, distili la URL en ĝuste ĉi. 661 00:28:59,905 --> 00:29:00,920 662 00:29:00,920 --> 00:29:02,270 >> Nun mi get eniri denove. 663 00:29:02,270 --> 00:29:03,814 Ĝi aspektas kiel Google ankoraŭ funkcias. 664 00:29:03,814 --> 00:29:06,980 Do por iu kialo, ili estas aldonante multajn aĵojn al lia retadreso estas defaŭlte. 665 00:29:06,980 --> 00:29:09,000 Sed ĝi ne estas strikte necesa. 666 00:29:09,000 --> 00:29:10,340 Do kio estas agrabla pri tio? 667 00:29:10,340 --> 00:29:13,630 Nu, lasu min iri antaŭen kaj malfermi Chrome La Inspektisto. 668 00:29:13,630 --> 00:29:15,960 Estas iom muso ŝparvojo por ĝi. 669 00:29:15,960 --> 00:29:17,360 >> Iru al la Reto langeto. 670 00:29:17,360 --> 00:29:19,340 Kaj nun mi volas reŝarĝi ĉi paĝo ankoraŭfoje. 671 00:29:19,340 --> 00:29:20,280 Kaj mi tenas Maj. 672 00:29:20,280 --> 00:29:22,520 Kiel flanken, retumiloj inklinas caché aŭ savi 673 00:29:22,520 --> 00:29:24,697 informojn nur por efikeco gajno. 674 00:29:24,697 --> 00:29:27,280 Sed ĝenerale, tenante Shift kaj reŝargi devigos ĉio 675 00:29:27,280 --> 00:29:28,994 por komenci de la komenco. 676 00:29:28,994 --> 00:29:30,410 Kaj tio estas kion mi volas fari ĉi tie. 677 00:29:30,410 --> 00:29:33,550 >> Kaj rimarki ĉiuj tiuj vicoj kiuj ĵus aperis. 678 00:29:33,550 --> 00:29:37,920 Ĝi rezultas ke en ajna donita retejo paĝo, eble estas nur unu dosieron 679 00:29:37,920 --> 00:29:43,500 involved-- hello.html-- aŭ tien povus esti 52, kiel en ĉi tiu kazo. 680 00:29:43,500 --> 00:29:45,820 Kiam mi vizitas google.com, Ŝajne, mia retumilo 681 00:29:45,820 --> 00:29:49,650 iniciatas 52 apartajn HTTP petojn. 682 00:29:49,650 --> 00:29:50,520 Kial estas tio? 683 00:29:50,520 --> 00:29:53,380 >> Nu, rigardu kio estas interne de tiu retpaĝo ĝis supro. 684 00:29:53,380 --> 00:29:55,620 Ekzistas ne nur teksto, sed estas realaj bildoj 685 00:29:55,620 --> 00:29:57,130 de katoj super dekstre. 686 00:29:57,130 --> 00:29:59,110 Ekzistas bunta logo tien maldekstre. 687 00:29:59,110 --> 00:30:01,750 Jen ĉiuj tiuj ikonoj por mikrofono ks. 688 00:30:01,750 --> 00:30:05,130 Ekzistas multaj pecoj, konstruante blokoj, nulo pecoj, se vi volas, 689 00:30:05,130 --> 00:30:06,250 al ĉi tiu retpaĝo. 690 00:30:06,250 --> 00:30:10,310 Kaj kio estas la retumilo faras sur akirante la unuan dosieron, kiu 691 00:30:10,310 --> 00:30:16,180 Estas ĉi vico tien, ĝi estas esence ripetanta super la HTML supro 692 00:30:16,180 --> 00:30:19,880 sube, maldekstre dekstren, serĉi aĵoj kiel bildo etikedoj aŭ aliaj etikedoj 693 00:30:19,880 --> 00:30:23,160 kiuj mencii aliajn dosierojn kaj kiam vidas ilin, iras kaj akiras ilin 694 00:30:23,160 --> 00:30:26,050 tra HTTP, farebla tutaj koverto metaforo, 695 00:30:26,050 --> 00:30:29,670 kaj montras ilin en la taŭga loko en la retpaĝo. 696 00:30:29,670 --> 00:30:33,370 >> Sed rimarki tie, se mi enfokusigi la unua detronigo, serĉo katoj, 697 00:30:33,370 --> 00:30:37,090 rimarki ke ja ĝi estas uzanta HTTP 1.1. 698 00:30:37,090 --> 00:30:41,690 Kaj bedaŭrinde, Google Chrome nun en versio 39 699 00:30:41,690 --> 00:30:45,110 Estas speco de dumbing tion malsupren kaj ne montras al ni la realan titolaj. 700 00:30:45,110 --> 00:30:49,680 Sed kio vere sendis estas peto por ne slash, sed / serĉo? q = katoj. 701 00:30:49,680 --> 00:30:52,830 702 00:30:52,830 --> 00:30:54,340 >> Nun, kial estas tiel grava? 703 00:30:54,340 --> 00:30:57,110 Nu, mi tuj konkludi el tio, ke se vi Google 704 00:30:57,110 --> 00:31:01,520 Elportas pridemandojn de tiu formo, kial Ne implemento mia propra serĉo 705 00:31:01,520 --> 00:31:06,420 motoro por CS50, sed ĝuste la antaŭa Fine, nur la grafika uzulinterfaco. 706 00:31:06,420 --> 00:31:09,610 Kaj ni subcontratar la dorso fino, la reala Serĉrezultoj por Google. 707 00:31:09,610 --> 00:31:10,510 >> Do kiel mi povas tion fari? 708 00:31:10,510 --> 00:31:13,820 Nu, mi iros en gedit super tie. 709 00:31:13,820 --> 00:31:19,180 Kaj lasu min iri antaŭen kaj malfermi ĝis, ni diru, nova dosiero. 710 00:31:19,180 --> 00:31:22,280 Kaj mi tuj savos ĉi temporalmente kiel serĉo-0.html. 711 00:31:22,280 --> 00:31:25,111 712 00:31:25,111 --> 00:31:27,860 Kaj tiam fine, ni fastas antaŭen al la mi pre-preparita. 713 00:31:27,860 --> 00:31:30,190 >> Kaj mi tuj rapide vipo supren doc tipo 714 00:31:30,190 --> 00:31:33,840 html malferma krampo html Fermi krampo html. 715 00:31:33,840 --> 00:31:38,390 Tiam Mi faros kapo Fermi kapo malfermita titolo CS50 716 00:31:38,390 --> 00:31:40,150 Serĉi anstataŭ Google serĉo. 717 00:31:40,150 --> 00:31:43,480 Cxi tie mi tuj devos la korpo, ĉi tie proksime korpo. 718 00:31:43,480 --> 00:31:45,835 Kaj nun mi bezonas CS50 Search. 719 00:31:45,835 --> 00:31:47,710 Kaj efektive, ni konstruu ĉi incrementally. 720 00:31:47,710 --> 00:31:51,043 Mi tuj iros antaŭen kaj fermu kaj efektive metis ĝin en mia publika dosierujo. 721 00:31:51,043 --> 00:31:52,730 Do donu al mi nur unu momenton. 722 00:31:52,730 --> 00:31:55,390 serĉo-0.html-- Mi tuj portempe nomas search.html. 723 00:31:55,390 --> 00:31:56,600 724 00:31:56,600 --> 00:31:59,750 Mi iras al chmod ĝin + r search.html. 725 00:31:59,750 --> 00:32:01,072 726 00:32:01,072 --> 00:32:02,280 Kaj nun mi iras por malfermi. 727 00:32:02,280 --> 00:32:03,224 728 00:32:03,224 --> 00:32:04,390 Bone, tiel ke estis rapida. 729 00:32:04,390 --> 00:32:06,800 Sed la celo simple estis akiri al ni la punkto 730 00:32:06,800 --> 00:32:09,630 havi ĉi tiun tekston dosiero nomata search.html. 731 00:32:09,630 --> 00:32:10,940 732 00:32:10,940 --> 00:32:12,790 Do ne multe rigardi ankoraŭ. 733 00:32:12,790 --> 00:32:16,970 Ja, se mi iros al mia retumilo, kaj iru search.html, jen ĉio estas. 734 00:32:16,970 --> 00:32:17,720 Sed vi scias kion? 735 00:32:17,720 --> 00:32:19,000 Mi povas esti iom amatoro. 736 00:32:19,000 --> 00:32:22,710 Mi legis en libro, ke ne estas kapan etikedo nomita h1. 737 00:32:22,710 --> 00:32:26,100 Kaj mi tuj iros antaŭen kaj uzas tiun malfermita h1 kaj proksima h1. 738 00:32:26,100 --> 00:32:27,220 Reŝarĝi la paĝon. 739 00:32:27,220 --> 00:32:29,600 Kaj nun ĝi estas pli granda kaj revenante pli aŭdacaj, Ne ĉiuj kiuj interesaj, 740 00:32:29,600 --> 00:32:32,399 sed almenaŭ strukture pli interesa. 741 00:32:32,399 --> 00:32:33,940 Sed nun mi volas enkonduki alian etikedon. 742 00:32:33,940 --> 00:32:36,500 Ĝi rezultas tie estas formo etikedo. 743 00:32:36,500 --> 00:32:38,400 Kaj mi fermas la etikedo. 744 00:32:38,400 --> 00:32:40,830 Kaj ĝi rezultas ke estas enigaĵoj etikedo ke 745 00:32:40,830 --> 00:32:44,600 havas atributon nomita tipo, kiu Estas la datumtipon de la kampo, 746 00:32:44,600 --> 00:32:45,200 se vi volas. 747 00:32:45,200 --> 00:32:47,050 Kaj tuj estos de tipo teksto. 748 00:32:47,050 --> 00:32:52,200 Kaj lia valoro tuj esti CS50 Search. 749 00:32:52,200 --> 00:32:53,850 Fermi etikedo. 750 00:32:53,850 --> 00:32:57,100 Kaj tie tuj estos neniu nocio malfermante kaj fermante kun apartaj etikedojn. 751 00:32:57,100 --> 00:33:00,300 >> Lasu min reiri tien kaj vidi kio okazas, reŝarĝi. 752 00:33:00,300 --> 00:33:01,380 Ricevi interesa. 753 00:33:01,380 --> 00:33:02,950 Ĝi aspektas kiel ĝi estas teksta kampo. 754 00:33:02,950 --> 00:33:04,080 755 00:33:04,080 --> 00:33:06,999 Kaj fakte mi ne volas meti valoron tie ankoraŭ. 756 00:33:06,999 --> 00:33:10,040 Lasu min reiri tien kaj reale preni senigi de tiu valoro teni ĝin simpla. 757 00:33:10,040 --> 00:33:12,939 Anstataŭ valoron, kion mi volis doni tion estis nomo. 758 00:33:12,939 --> 00:33:15,230 Kaj mi ne scias kion estas, tial mi revenos al tio. 759 00:33:15,230 --> 00:33:18,270 >> Sed sub tiu, mi volas fari input type = submit. 760 00:33:18,270 --> 00:33:19,840 761 00:33:19,840 --> 00:33:22,120 Kaj ĉi tiu valoro estos CS50 Search. 762 00:33:22,120 --> 00:33:24,850 Kaj ni vidos kial mi movis la valoron al tio. 763 00:33:24,850 --> 00:33:28,900 Kiam mi reŝarĝi, mi ŝajne nun la komencoj de mia propra serĉo 764 00:33:28,900 --> 00:33:30,820 motoro, súper malbelega, kvankam sincere, estas 765 00:33:30,820 --> 00:33:34,260 Ne malproksima detronigo de kio Defaŭlte Google paĝo aspektas. 766 00:33:34,260 --> 00:33:37,950 >> Se mi iros tien, mi povas tajpi katoj kaj espereble klaku Search. 767 00:33:37,950 --> 00:33:40,380 Sed mi ne tute farita ankoraŭ, ĉar mi ne plenumiĝis, 768 00:33:40,380 --> 00:33:41,045 evidente, datumbazo. 769 00:33:41,045 --> 00:33:42,940 Mi ne rampis la retejo por serĉrezultoj. 770 00:33:42,940 --> 00:33:44,840 Do mi bezonas subcontratar ke Google. 771 00:33:44,840 --> 00:33:46,290 Do kiel mi faru tion? 772 00:33:46,290 --> 00:33:49,170 >> Nu, unue mi bezonas adicii kaj agadon 773 00:33:49,170 --> 00:33:58,460 atribui al mia formo etikedo ke Estas http://www.google.com/search. 774 00:33:58,460 --> 00:34:01,180 Kaj mi scias, ke nur de havanta konkludita per rigardado apude 775 00:34:01,180 --> 00:34:02,505 iliaj URL aj jaroj. 776 00:34:02,505 --> 00:34:03,380 Kaj nun prenu divenon. 777 00:34:03,380 --> 00:34:09,090 Kio devas ĉi teksto kampo verŝajne nomi, bazita sur kie ni venis 778 00:34:09,090 --> 00:34:09,754 antaux? 779 00:34:09,754 --> 00:34:11,896 780 00:34:11,896 --> 00:34:13,290 >> Publiko:? Q. 781 00:34:13,290 --> 00:34:14,370 >> DAVID J Malan:? Q. 782 00:34:14,370 --> 00:34:17,800 Kaj ni ne vere bezonas demando markas rezultas, sed q estas ja tio, 783 00:34:17,800 --> 00:34:20,489 q por konsulto probable por Defaŭlte, nur ĉar tio estas 784 00:34:20,489 --> 00:34:23,060 kio Larry kaj Sergey venadis kun jarojn. 785 00:34:23,060 --> 00:34:24,739 Do lasu min reŝarĝi la paĝon. 786 00:34:24,739 --> 00:34:26,409 Ĝi ne aspektas tiom malsimila. 787 00:34:26,409 --> 00:34:28,120 Sed nun rigardas kio okazas. 788 00:34:28,120 --> 00:34:32,360 >> Se mi tajpas en katoj kaj klako CS50 Serĉo kaj forliberigu, 789 00:34:32,360 --> 00:34:35,770 Rimarku ke mi get whisked for de realaj Google. 790 00:34:35,770 --> 00:34:38,150 Nun Google estante iom ĝena ke ili estas 791 00:34:38,150 --> 00:34:41,877 almuntanta plia parametro, se vi volas, al la retadreso. 792 00:34:41,877 --> 00:34:43,960 Jen ĉio okazante aŭtomate en Google flanko. 793 00:34:43,960 --> 00:34:48,730 >> La grava parto estas ke mi ŝajnas esti generinta tiun peton tie. 794 00:34:48,730 --> 00:34:50,179 Kaj efektive, jen kio okazas. 795 00:34:50,179 --> 00:34:53,040 Kiam vi havas HTML kiu aspektas kiel tio ĉi 796 00:34:53,040 --> 00:34:57,620 Estas speco de ttt programistoj skribmaniero por diri, bonvolu krei formon 797 00:34:57,620 --> 00:34:59,990 ke kiam ĝi estos prezentita, ĝi tuj iros al tiu retadreso. 798 00:34:59,990 --> 00:35:03,430 Kaj kiam la URL havigis valorojn por aĵoj kiel q, 799 00:35:03,430 --> 00:35:05,440 ne iras nur al tiu retadreso. 800 00:35:05,440 --> 00:35:08,210 Efektive, iru pridubi markon kaj tiam q = katoj. 801 00:35:08,210 --> 00:35:09,590 802 00:35:09,590 --> 00:35:13,060 Aldoni la parametron, La HTTP parametron tiel. 803 00:35:13,060 --> 00:35:15,590 >> Kaj simple esti súper preciza, kio esti konkludita here-- 804 00:35:15,590 --> 00:35:18,130 sed mi estos pli explicit-- estas ke la metodo mi volas uzi 805 00:35:18,130 --> 00:35:22,270 estas akiri, anstataŭ ion kiel post, kion ni fine vidas. 806 00:35:22,270 --> 00:35:27,710 Do resume, simple per kompreno HTML kaj uzante iuj sufiĉe simplaj etikedoj, 807 00:35:27,710 --> 00:35:30,610 Ni nun povas komenci krei nian propran interfacon uzanto 808 00:35:30,610 --> 00:35:32,850 Interfaco kun serĉo motoro malantaŭ ĝi. 809 00:35:32,850 --> 00:35:34,800 >> Sed tio kompreneble estas sufiĉe malbelaj. 810 00:35:34,800 --> 00:35:37,259 Do lasu min reale malfermi iomete pli bonan version. 811 00:35:37,259 --> 00:35:39,800 Tiu estas mi preparita en antaŭi kiuj havas iujn komentojn. 812 00:35:39,800 --> 00:35:41,900 Sed vi vidos, ke mi sufiĉe tre amuzis lin. 813 00:35:41,900 --> 00:35:44,150 Do ĉi tiu estas jam havebla rete. 814 00:35:44,150 --> 00:35:48,050 Kaj mi hazarde preventa formo iru https ĝuste teni ĝin simpla. 815 00:35:48,050 --> 00:35:50,610 >> Kaj nun ni malfermi sekva iteración de tiu. 816 00:35:50,610 --> 00:35:52,510 Estas versio 1 anstataŭ 0. 817 00:35:52,510 --> 00:35:55,315 Kio elsaltas cxe vi kiel iomete malsama en tiu ekzemplo? 818 00:35:55,315 --> 00:35:59,480 819 00:35:59,480 --> 00:36:00,440 >> Publiko: [inaudible]. 820 00:36:00,440 --> 00:36:03,020 >> Jes, tie estas tio tekston centrigi. 821 00:36:03,020 --> 00:36:04,590 Tio estas iom stranga tien. 822 00:36:04,590 --> 00:36:06,150 Sed cxi tiu estas vere nova. 823 00:36:06,150 --> 00:36:07,800 Kaj eble diveni kio okazos. 824 00:36:07,800 --> 00:36:11,730 Se mi iras al mia retumilo nun kaj vizitu serĉo-1.html, 825 00:36:11,730 --> 00:36:13,090 ĝi estas preskaŭ la sama afero. 826 00:36:13,090 --> 00:36:15,705 Sed ĝi estas iom pli al esti iom pli bela. 827 00:36:15,705 --> 00:36:19,150 Estas ankoraŭ malbela, sed belaj en tiu almenaŭ ĉio nun centrita. 828 00:36:19,150 --> 00:36:23,470 >> Do rezultas ke kio mi uzas Estas alia lingvo tute nomitaj 829 00:36:23,470 --> 00:36:25,680 CSS CSS. 830 00:36:25,680 --> 00:36:28,310 Kaj CSS, sincere, estas speco de, en mia persona opinio, 831 00:36:28,310 --> 00:36:29,775 oni atrociously desegnis lingvon. 832 00:36:29,775 --> 00:36:33,110 Ĝi estas tre ĝena por memori ĉiuj diversaj detaloj. 833 00:36:33,110 --> 00:36:38,479 Sed estas kio stylizes la tuta mondo retejo hodiaŭ. 834 00:36:38,479 --> 00:36:39,270 Mi ofendis iun. 835 00:36:39,270 --> 00:36:39,769 Bone. 836 00:36:39,769 --> 00:36:43,180 Do ni revenu ĉi tien kaj vidu kiel ni fakte uzas tiun. 837 00:36:43,180 --> 00:36:45,940 Kaj ĝi rezultas, almenaŭ estas fakte sufiĉe simpla lingvo. 838 00:36:45,940 --> 00:36:49,470 Estas nur ŝlosila valoro paroj, proprietoj kaj valoroj, bienoj kaj valoroj. 839 00:36:49,470 --> 00:36:52,080 Ja, tie estas tiaj proprieto kaj valoro. 840 00:36:52,080 --> 00:36:55,890 >> Simple uzante la stilon atribui sur mia korpo etikedo 841 00:36:55,890 --> 00:37:00,360 kaj donante al ĝi valoron de vorto dupunkto kaj alian vorton, 842 00:37:00,360 --> 00:37:03,730 aŭ econ kaj valoro, Mi povas tuŝi la estetiko 843 00:37:03,730 --> 00:37:06,210 de la retpaĝo, ne nepre la strukturo tamen, 844 00:37:06,210 --> 00:37:07,550 sed la estetiko de ĝi. 845 00:37:07,550 --> 00:37:10,960 Kaj ĝuste per Googling ĉirkaŭe, mi rimarkas ke CSS CSS, 846 00:37:10,960 --> 00:37:14,170 Elportas propraĵo nomata teksto-Ĝisrandigi, kies valoro povas 847 00:37:14,170 --> 00:37:16,980 resti, dekstra, aŭ centro, ekzemple. 848 00:37:16,980 --> 00:37:19,990 >> Do nun, kiam mi reŝarĝi La paĝo, kion mi akiras 849 00:37:19,990 --> 00:37:22,730 estis centrita paĝo sed ankoraŭ bela malbela. 850 00:37:22,730 --> 00:37:25,770 Ni iru antaŭen kaj malfermi ĝis la versio 2 de Search. 851 00:37:25,770 --> 00:37:28,570 Kaj nun rimarkos mi faris iom pli. 852 00:37:28,570 --> 00:37:33,760 Rimarku ke ĝis tie ene de la kapo etikedo, ne povas esti pli ol titolo. 853 00:37:33,760 --> 00:37:35,400 Fakte, estas stilo etikedo. 854 00:37:35,400 --> 00:37:38,630 Kaj ĉi tiu estas kie nur ricevas iom senorda vidantaj CSS kelkfoje. 855 00:37:38,630 --> 00:37:41,971 >> Rimarki ke mi ŝajnas havi ion ke strukture aspektas tre malsama. 856 00:37:41,971 --> 00:37:44,095 Sed ĉi tie estas la nomo de la etikedon mi volas stiligita. 857 00:37:44,095 --> 00:37:47,570 Jen niaj malnovaj amikoj krispa streĉaj kaj fermita frizita krampoj. 858 00:37:47,570 --> 00:37:50,290 Kaj tiam ĉi tie estas ke proprieto kaj ĝia valoro. 859 00:37:50,290 --> 00:37:56,300 >> Se mi ŝarĝas ĉi dosiero, search2.html, La fina rezulto estas identaj. 860 00:37:56,300 --> 00:37:59,300 Sed estas pasxo al pli bona dezajno. 861 00:37:59,300 --> 00:38:04,560 Per faktoranta ekster tiu CSS, mi Ne commingled per mia HTML. 862 00:38:04,560 --> 00:38:07,560 Kaj efektive, kiel ni vidos, mi povis reutilizar tiuj propraĵoj kaj valoroj. 863 00:38:07,560 --> 00:38:10,420 Se mi volis fari kuketojn partoj de mia retpaĝo centrita, 864 00:38:10,420 --> 00:38:13,630 Mi ne devas tajpi style = text-Ĝisrandigi centro ĉie en la loko. 865 00:38:13,630 --> 00:38:16,580 Mi povas meti en unu loko eble ŝatas ĉe la supro. 866 00:38:16,580 --> 00:38:18,210 >> Sed eĉ tio ne estas la pli bona dezajno. 867 00:38:18,210 --> 00:38:21,720 Fakte, unu el la aĵoj vi lernos kiel vi pasigas pli kaj pli da tempo kun 868 00:38:21,720 --> 00:38:25,730 ttt programado estas ke ju pli vi povas modularize aferojn kaj faktoro aferoj ekstere 869 00:38:25,730 --> 00:38:30,610 kiel .h dosierojn ni faktoro stuff ekstere, plaĉas helpers.c ni faktoro aferoj ekstere 870 00:38:30,610 --> 00:38:31,880 kelkaj psets malantaŭen. 871 00:38:31,880 --> 00:38:34,200 Simile, multobligita ni deziras atingi tiun. 872 00:38:34,200 --> 00:38:37,920 >> Do rimarki en versio tri de search.html Mi havas 873 00:38:37,920 --> 00:38:40,610 purigis la kapo de la paĝo kaj simple meti 874 00:38:40,610 --> 00:38:43,320 en tiu, ligilon etikedo, kiun Male al la nomo, 875 00:38:43,320 --> 00:38:44,700 Ne donu vin al hiperligilo. 876 00:38:44,700 --> 00:38:49,150 Ĝi ligas al alia dosiero kun vojo de oni href kies valoro tiukaze 877 00:38:49,150 --> 00:38:51,586 Estas serĉo-3.css 878 00:38:51,586 --> 00:38:52,960 Do mi rimarkas ke ni iras rapide. 879 00:38:52,960 --> 00:38:54,600 Sed ĉiuj mi faras bonfaras movi aferojn ĉirkaŭe. 880 00:38:54,600 --> 00:38:55,760 Lasu min malfermi serĉo-3.css. 881 00:38:55,760 --> 00:38:57,114 882 00:38:57,114 --> 00:38:58,530 Tie estas nenio vere al ĝi. 883 00:38:58,530 --> 00:39:02,270 Mi simple kopiis nuda ĝin en novan dosiero, multe kiel ni faktorita stuff el 884 00:39:02,270 --> 00:39:03,509 en aliajn dosierojn antaŭe. 885 00:39:03,509 --> 00:39:05,300 Kaj la result-- tute underwhelming-- 886 00:39:05,300 --> 00:39:06,730 tuj estos ĝuste la sama. 887 00:39:06,730 --> 00:39:10,490 Sed ni movas toward-- ne, tio ne. 888 00:39:10,490 --> 00:39:11,930 Ho, mi scias kial. 889 00:39:11,930 --> 00:39:13,790 >> Do ŝajnas esti eraro. 890 00:39:13,790 --> 00:39:15,010 Kaj ĝi estas en iu senco. 891 00:39:15,010 --> 00:39:17,730 Sed lasu min malfermi mian Reto langeto. 892 00:39:17,730 --> 00:39:19,660 Lasu min reŝarĝi la paĝon. 893 00:39:19,660 --> 00:39:23,315 Ah, kial la CSS ne aplikas? 894 00:39:23,315 --> 00:39:26,920 Nu, la CSS-dosiero, simile, havas esti mondon legebla, por tiel diri. 895 00:39:26,920 --> 00:39:28,440 Kaj ĝi ankaŭ estas aktuale malpermesita. 896 00:39:28,440 --> 00:39:33,760 Do lasu min fari chmod a + r stela ŝprucas CSS-- whoops-- 897 00:39:33,760 --> 00:39:37,067 ni estas skalara CSS estas nur la dosiersufikso por CSS dosierojn. 898 00:39:37,067 --> 00:39:38,900 Nun lasu min reiri al mia retumilo freŝigi. 899 00:39:38,900 --> 00:39:40,910 OK, iom pli bona. 900 00:39:40,910 --> 00:39:42,282 >> Nun lasu min fari unu lasta afero. 901 00:39:42,282 --> 00:39:42,990 Serĉante-4.html. 902 00:39:42,990 --> 00:39:44,550 903 00:39:44,550 --> 00:39:48,220 Mi havas version, kiun mi ĵus pensis Estis vojo malvarmaj, kvankam vojon pli 904 00:39:48,220 --> 00:39:48,980 komplika. 905 00:39:48,980 --> 00:39:50,690 Ni rigardu la rezulton unue. 906 00:39:50,690 --> 00:39:52,290 Fermu doni al ni pli da ĉambro. 907 00:39:52,290 --> 00:39:54,275 Ŝanĝi ĉi sercxi-4, Enter. 908 00:39:54,275 --> 00:39:55,430 909 00:39:55,430 --> 00:39:57,200 >> Kaj nun faskon da aĵoj disfalas. 910 00:39:57,200 --> 00:39:59,910 Mi tuj iros reen en mia dosierujo tie. 911 00:39:59,910 --> 00:40:04,190 Nun mi nur volas fari oni chmod de a + r sur file-- 912 00:40:04,190 --> 00:40:07,450 ĉar mi scias exists-- vokis logo.gif, kiu estas bildo. 913 00:40:07,450 --> 00:40:08,590 Kaj nun reŝarĝi. 914 00:40:08,590 --> 00:40:11,040 Kaj wow-- tiel nun mi estas bela apude, sincere, 915 00:40:11,040 --> 00:40:15,860 ŝati la 1999 versio de Google, kaj sincere, la 2014 versio de Google, 916 00:40:15,860 --> 00:40:16,360 dekstra? 917 00:40:16,360 --> 00:40:21,920 >> Do ĝi estas nun tuj ilian retejon, fine, se mi serĉos katojn. 918 00:40:21,920 --> 00:40:23,900 Kaj ja estas. 919 00:40:23,900 --> 00:40:26,410 Sed kion mi faru alimaniere en tiu versio 4? 920 00:40:26,410 --> 00:40:28,020 Do ni ne logxas tro multe pri tio ĉi tie. 921 00:40:28,020 --> 00:40:30,100 Vi vidos tion en problemo starigis sep eventuale. 922 00:40:30,100 --> 00:40:31,350 Sed rimarki Mi faris kelkajn aferojn. 923 00:40:31,350 --> 00:40:33,690 >> Mi enkondukis div etikedo, kiu estas divido, 924 00:40:33,690 --> 00:40:35,450 simila en spirito al paragrafo etikedo. 925 00:40:35,450 --> 00:40:38,220 Sed malkonsento estas ĝuste kiel, jen rektangula nevidebla regiono 926 00:40:38,220 --> 00:40:39,150 de la ekrano. 927 00:40:39,150 --> 00:40:41,680 Ni donu gxin unika ensalutilo, oni footer, simple 928 00:40:41,680 --> 00:40:44,700 tiel ke ni povos paroli pri en nia HTML aliloke. 929 00:40:44,700 --> 00:40:47,952 Jen alia div de la paĝo kies ID tuj estos kontenta. 930 00:40:47,952 --> 00:40:49,160 Ĝi estas la enhavo de la paĝo. 931 00:40:49,160 --> 00:40:51,090 Kaj ĝis tie la kaplinio de la paĝo. 932 00:40:51,090 --> 00:40:54,960 >> Alivorte, mi havas esence en HTML estas mense 933 00:40:54,960 --> 00:40:57,700 vidas ĉi tiun retpaĝon kiel tri komponantoj, kaploko 934 00:40:57,700 --> 00:41:01,200 supren tie kun tiu nevidebla rektangulo, la enhavo en la mezo, kaj tiam 935 00:41:01,200 --> 00:41:04,800 la footer malsupre, ecx kvankam ni ne vidas tion. 936 00:41:04,800 --> 00:41:09,940 Ĉar mi volis en mia kapo de paĝo ĉi tie, aŭ en .css dosieron: 937 00:41:09,940 --> 00:41:11,460 Mi povas uzi tiun sintakson. 938 00:41:11,460 --> 00:41:13,070 >> Header estas ne tag. 939 00:41:13,070 --> 00:41:17,060 Ĝi estas ID tiel rezultas ke farante #header, 940 00:41:17,060 --> 00:41:20,840 Mi povas nun apliki unu aŭ pli proprietojn al la ĉapon. 941 00:41:20,840 --> 00:41:24,130 Mi povas fari la saman enhavon, la sama enhavo tie. 942 00:41:24,130 --> 00:41:27,230 >> Do ekzemple, en la footer, avizo ĉiuj tiuj propraĵoj Mi aldono. 943 00:41:27,230 --> 00:41:30,660 Kaj mi scias, ke ekzistas nur legado supren sur la dokumentaron por CSS. 944 00:41:30,660 --> 00:41:33,450 Tipara grandeco tuj estos smaller-- tial iuj relativa tiparograndeco. 945 00:41:33,450 --> 00:41:34,741 La pezo tuj estos grasaj. 946 00:41:34,741 --> 00:41:37,340 Margin-- kiom rastrumeroj ĉirkaŭ it-- estas 20 rastrumeroj. 947 00:41:37,340 --> 00:41:38,590 Kaj tuj estos centrita. 948 00:41:38,590 --> 00:41:40,256 >> Sed nun, la paĝo aspektas kiel ĉi. 949 00:41:40,256 --> 00:41:42,840 Se mi ne placxis mia kopio pravas, 950 00:41:42,840 --> 00:41:46,560 Mi povus fari ion kiel ruĝa koloro. 951 00:41:46,560 --> 00:41:50,570 Kaj tiam mi povas savi tiun, reŝarĝi, kaj nun mi stiligita la footer. 952 00:41:50,570 --> 00:41:54,130 Do tio estas nur aludas la potenco kion vi povas fari en la retpaĝo 953 00:41:54,130 --> 00:41:55,510 ŝanĝi aferojn ĉirkaŭe. 954 00:41:55,510 --> 00:41:59,080 >> Kaj eĉ pli malvarmaj ol tio, se vi deziras al poke ĉirkaŭe kun realaj retejoj, 955 00:41:59,080 --> 00:42:00,810 vi ne povas konstante ŝanĝi ilin. 956 00:42:00,810 --> 00:42:03,640 Sed se mi malfermas Chrome La Inspektisto denove 957 00:42:03,640 --> 00:42:07,610 kaj mi iros ne al la maldekstra flanko tie, kiuj montras Facebook HTML, 958 00:42:07,610 --> 00:42:11,380 sed montras dekstre flanko ĉiuj ties CSS 959 00:42:11,380 --> 00:42:13,789 Vi povas ĉu kaj ŝanĝi aferojn sur la muŝo. 960 00:42:13,789 --> 00:42:15,080 Do lasu min antaŭeniri kaj fari tion. 961 00:42:15,080 --> 00:42:18,670 >> Lasu min kaj kontrolo klaku ĉi hazarda vorton ĉi tie, 962 00:42:18,670 --> 00:42:21,230 subskribi, kaj klaku Inspekti Elemento. 963 00:42:21,230 --> 00:42:25,130 Chrome tre oportune saltas al la h1 etikedo ke Facebook estas uzanta. 964 00:42:25,130 --> 00:42:27,290 Kaj rimarki tie Facebook havas specon de pigre 965 00:42:27,290 --> 00:42:29,960 malfacile kodita tiparon kiel proprieto tie. 966 00:42:29,960 --> 00:42:33,530 >> Do la malvarmeta afero tamen estas ke se mi vere iras tien 967 00:42:33,530 --> 00:42:39,560 kaj diru: Ho, Facebook, mi ne ŝatas ke 64 rastrumeroj, ni nun povas ŝanĝi Facebook. 968 00:42:39,560 --> 00:42:42,590 Kompreneble, ni nur ŝanĝante ĝin por mi persone nuntempe. 969 00:42:42,590 --> 00:42:45,150 Sed tio estas nur alia ilo en nia ilo kit 970 00:42:45,150 --> 00:42:48,360 ke tuj permesos nin tweak kaj elkompreni kaj ankaŭ diagnozi 971 00:42:48,360 --> 00:42:49,729 temoj en niaj propraj retpaĝoj. 972 00:42:49,729 --> 00:42:52,270 Kaj ni povus simile transiru tie, kio estas la samo. 973 00:42:52,270 --> 00:42:55,830 Se vi vere volas ricevi imago, mi signifas, nun vi povas vere mutate la paĝo 974 00:42:55,830 --> 00:42:57,380 kaj fari frenezaj aĵoj. 975 00:42:57,380 --> 00:42:59,870 >> Do kial estas tiu tuta utila? 976 00:42:59,870 --> 00:43:02,330 Nu, finfine, ni estas tuj volas esti 977 00:43:02,330 --> 00:43:07,110 povi krei retpaĝojn ke estas pelita per propra reen randoj, 978 00:43:07,110 --> 00:43:10,520 ne per nur Google outsourcing la malantaŭa fino tie. 979 00:43:10,520 --> 00:43:13,510 Ni vere volas la valoro, ekzemple, 980 00:43:13,510 --> 00:43:18,830 de nia serĉilo agadon atribui iri ne al iu alia, 981 00:43:18,830 --> 00:43:24,270 sed al iu kiel search.php, kie search.php estas sur nia propra servilo, 982 00:43:24,270 --> 00:43:25,670 ne sur aliulaj. 983 00:43:25,670 --> 00:43:30,316 >> Kaj tiel atingi tien, ni reale bezonas enkonduki novan lingvon. 984 00:43:30,316 --> 00:43:33,190 Do ni jam rigardis unu nova lingvo ĉi tie, aŭ du vere, HTML 985 00:43:33,190 --> 00:43:33,700 kaj CSS. 986 00:43:33,700 --> 00:43:36,330 Sed vere estas nur strukturaj kaj estetikaj lingvoj. 987 00:43:36,330 --> 00:43:38,360 Ili ne programado lingvojn per. 988 00:43:38,360 --> 00:43:41,160 Kaj tio estas proksimume tiel formala tempo ni devos elspezi ilin. 989 00:43:41,160 --> 00:43:44,910 Ĉar ni komencu nun transiri al PHP. 990 00:43:44,910 --> 00:43:48,160 >> Do PHP estas aktuala programlingvo. 991 00:43:48,160 --> 00:43:50,750 Ĝi estas skripta lingvo en la senco, ke ĝi estas 992 00:43:50,750 --> 00:43:52,855 signifis esti malpeza pezo ol iu kiel C. 993 00:43:52,855 --> 00:43:56,082 Kaj ĝi estas interpretita lingvo, kio signifas, ke ĝi ne estas kompilitaj. 994 00:43:56,082 --> 00:43:58,790 Do en malmultaj vortoj, kion tio signifas Kiam ni uzas lingvon kiel c 995 00:43:58,790 --> 00:44:00,290 kaj ni devis kompili ĝin? 996 00:44:00,290 --> 00:44:02,120 Kion ĝi signifas por kompili C fontkodon? 997 00:44:02,120 --> 00:44:03,864 998 00:44:03,864 --> 00:44:04,780 Publiko: [inaudible]. 999 00:44:04,780 --> 00:44:06,184 DAVID J Malan: Diru ĝin denove? 1000 00:44:06,184 --> 00:44:07,100 Publiko: [inaudible]. 1001 00:44:07,100 --> 00:44:07,962 1002 00:44:07,962 --> 00:44:08,920 DAVID J Malan: Perfekta. 1003 00:44:08,920 --> 00:44:10,180 Ĝi rezultas ke en duuma. 1004 00:44:10,180 --> 00:44:14,200 Ĝi igas al nuloj kaj aĵoj el reala angla-kiel fontkodo. 1005 00:44:14,200 --> 00:44:16,424 Kaj tiam ni povas reale kuri tiuj nuloj kaj aĵoj 1006 00:44:16,424 --> 00:44:18,840 pasante ilin tra la CPU de duobla musklako ikono 1007 00:44:18,840 --> 00:44:19,980 aŭ kuri komando. 1008 00:44:19,980 --> 00:44:23,770 >> PHP kaj Python kaj Ruby kaj Perl kaj JavaScript 1009 00:44:23,770 --> 00:44:26,250 kaj aroj da aliaj lingvoj interpretas 1010 00:44:26,250 --> 00:44:29,290 lingvoj, kiuj estas Ne kompili ilin. 1011 00:44:29,290 --> 00:44:34,220 Prefere vi nutros ilin kiel enigo al programo nomita interpretisto. 1012 00:44:34,220 --> 00:44:36,640 Kaj ke interpretisto, kiun iu alia skribis, 1013 00:44:36,640 --> 00:44:40,930 legas vian fontkodon supre sube, maldekstre dekstren kaj ĝuste interpretas 1014 00:44:40,930 --> 00:44:43,000 tiuj linioj kaj faras, kion vi diras. 1015 00:44:43,000 --> 00:44:45,360 >> Do se vi spertas linio kiu diras print, 1016 00:44:45,360 --> 00:44:48,660 ne nepre konverti print al la respondaj nuloj kaj. 1017 00:44:48,660 --> 00:44:51,910 Ĝi nur havas tiu interpretisto ŝatas granda se kondiĉo kiu diras, 1018 00:44:51,910 --> 00:44:56,110 se programisto instrukcioj estas print, tiam jeno. 1019 00:44:56,110 --> 00:44:58,170 Do ĝi interpretas ĝin ĝuste per speco de rezonado 1020 00:44:58,170 --> 00:44:59,800 per kio vi rakontis ĝin al fari. 1021 00:44:59,800 --> 00:45:01,320 >> Kaj PHP estas unu el tiuj lingvoj. 1022 00:45:01,320 --> 00:45:05,310 Kaj PHP jaroj desegnis ĝuste por ttt programado. 1023 00:45:05,310 --> 00:45:08,160 Kaj ĝi estis komence tre fuŝa senorda lingvo. 1024 00:45:08,160 --> 00:45:10,940 Kaj efektive, tie estas grandega kvanton de malbona PHP kodo tie. 1025 00:45:10,940 --> 00:45:13,520 Sed la lingvo mem maturigis dum la jaroj, 1026 00:45:13,520 --> 00:45:16,200 tiel ke nun estas vere mirinda venonta paŝo 1027 00:45:16,200 --> 00:45:19,970 pedagogie de C, ĉar ĝi estas tiel darned familiara al ĉio 1028 00:45:19,970 --> 00:45:22,380 vi ĵus vidis en la lastaj semajnoj. 1029 00:45:22,380 --> 00:45:25,724 >> La komenca diferenco vidos estas ne estas la ĉefa funkcio anymore. 1030 00:45:25,724 --> 00:45:28,890 Kiam vi komencas skribi kodon, estas nur tuj get ekzekutita negrave kio, 1031 00:45:28,890 --> 00:45:30,220 kiel ni vidos en momento. 1032 00:45:30,220 --> 00:45:33,320 Dume, jen kia variablo aspektas kiel en PHP. 1033 00:45:33,320 --> 00:45:35,840 Ĝi estas iom malsama, sed nur apenaŭ. 1034 00:45:35,840 --> 00:45:39,380 >> En PHP, ne estas fortaj tajpadon. 1035 00:45:39,380 --> 00:45:41,430 Ekzistas semajno tajpadon, kio ĝuste signifas tie 1036 00:45:41,430 --> 00:45:44,030 Estas datumtipoj kiel kordoj kaj nombroj kaj aliaj aĵoj. 1037 00:45:44,030 --> 00:45:47,030 Sed vi ne ĝenu preciziganta kio estas anymore. 1038 00:45:47,030 --> 00:45:48,980 PHP figuroj ĝin por vi. 1039 00:45:48,980 --> 00:45:52,030 La dolaro signo estas nur decido ke PHP homo faris jaroj 1040 00:45:52,030 --> 00:45:54,890 antaŭ tia ke ajna variablo en PHP nur komenciĝas per unu dolaro signo. 1041 00:45:54,890 --> 00:45:58,130 Ĝi estas fakte speco de utila en tiu ĝi elsaltas vin iom pli. 1042 00:45:58,130 --> 00:46:01,315 >> Sed post tio, tiu estas kondiĉo en PHP. 1043 00:46:01,315 --> 00:46:03,140 1044 00:46:03,140 --> 00:46:04,730 Kio estas malsama kontre C? 1045 00:46:04,730 --> 00:46:07,180 1046 00:46:07,180 --> 00:46:09,600 Trick question-- nenion, kio estas fakte vere bela. 1047 00:46:09,600 --> 00:46:12,140 Buleaj esprimoj en PHP-- la sama. 1048 00:46:12,140 --> 00:46:19,354 Buleaj esprimoj kun kaj kontraŭ aŭ, ŝaltiloj, loops, bukloj, loops-- OK, 1049 00:46:19,354 --> 00:46:20,270 ĉi tiu estas malsama. 1050 00:46:20,270 --> 00:46:22,660 >> Do rezultas tie estas kelkaj aliaj trajtoj en PHP. 1051 00:46:22,660 --> 00:46:25,243 Unu el ili estas vere tio, kiu estas mirinde oportuna. 1052 00:46:25,243 --> 00:46:29,250 Se $ nombroj estas tabelo kiu vin fagoj deklaris antaŭe en programo, 1053 00:46:29,250 --> 00:46:33,350 vi havas ĉi fantazio por ĉiu konstruo ke anstataŭ faranta ĉiuj kiuj 1054 00:46:33,350 --> 00:46:37,020 ĝena mi egalas 0, mi estas malpli ol tio, [? Mi ++?], 1055 00:46:37,020 --> 00:46:40,320 por ĉiu nombroj kiel nombro, kie ĉiu de tiuj dolaro signo valoroj estas ĝuste 1056 00:46:40,320 --> 00:46:42,790 variablo, kaj la lasta vi povas pensi pri kiel I. 1057 00:46:42,790 --> 00:46:44,290 Vi povus nomi ŝin ajn vi volas. 1058 00:46:44,290 --> 00:46:45,770 Mi nomis ĝin nombro. 1059 00:46:45,770 --> 00:46:48,825 Tiu tuj persisti super la tabelo nomis nombroj. 1060 00:46:48,825 --> 00:46:51,200 Kaj en ĉiu ripeto, estas tuj aŭtomate ĝisdatigi 1061 00:46:51,200 --> 00:46:54,340 por vi la dolaro signo nombro variablo tia ke vi konstante 1062 00:46:54,340 --> 00:46:58,210 havas aliron al la variablo vi volas sen devi fari ajnan kvadrata krampo 1063 00:46:58,210 --> 00:47:00,980 skribmaniero aŭ indeksado en tabelo. 1064 00:47:00,980 --> 00:47:04,950 >> Preter tio, ni ankoraŭ havas aĵojn kiel arrays, kiuj aspektas samaj, 1065 00:47:04,950 --> 00:47:08,210 se gxi ne estas tre komuna, kiel ni vidu, ambaŭ en PHP kaj Javascript 1066 00:47:08,210 --> 00:47:10,750 al antaŭ pravalorizi tabelo rektaj krampoj. 1067 00:47:10,750 --> 00:47:12,040 C uzas frizita krampoj. 1068 00:47:12,040 --> 00:47:15,330 Do ĝi estas iomete malsama, kvankam Ni ne vere uzi tiun lertaĵon multe. 1069 00:47:15,330 --> 00:47:20,090 >> Sed eĉ pli potence, PHP havas asociaj tabeloj, 1070 00:47:20,090 --> 00:47:23,100 kio estas ornama metodo diri hash tabloj. 1071 00:47:23,100 --> 00:47:31,610 Fakte, se vi volas deklari hash tablo en PHP, malkiel en C-- kiom 1072 00:47:31,610 --> 00:47:34,775 linioj de kodo ne estas bezonata por efektive implementar hash tablo en C? 1073 00:47:34,775 --> 00:47:38,310 Aŭ kiom linioj de kodo estas prenante implementar hash tablo en C? 1074 00:47:38,310 --> 00:47:39,820 Do estas probable multe, ĉu ne? 1075 00:47:39,820 --> 00:47:41,680 Estas kelkaj dekduo, eble 100 aŭ 200. 1076 00:47:41,680 --> 00:47:42,980 Ĝi estas netriviala. 1077 00:47:42,980 --> 00:47:45,420 Aŭ temas pri esti, kiel vi baldaŭ vidos, netriviala 1078 00:47:45,420 --> 00:47:48,080 implementar hash tablo [Inaudible] kaj ankaŭ provi. 1079 00:47:48,080 --> 00:47:50,580 Sed en PHP-- kaj sincere, mi probable ne devus diri al vi tiun 1080 00:47:50,580 --> 00:47:53,630 ĝis Monday-- en PHP, se vi deziras tablon faris. 1081 00:47:53,630 --> 00:47:56,431 Tio estas hash table-- tiel kun unu linio de kodo. 1082 00:47:56,431 --> 00:47:56,930 Kaj 1083 00:47:56,930 --> 00:47:58,810 >> Multaj lingvoj fari tion. 1084 00:47:58,810 --> 00:48:00,190 Amuziĝi kun pset kvin. 1085 00:48:00,190 --> 00:48:01,980 Do multaj lingvoj faros. 1086 00:48:01,980 --> 00:48:03,050 1087 00:48:03,050 --> 00:48:06,140 Ili donos al vi tiujn abstraktaĵoj ke aliaj homoj, aliaj programistoj, 1088 00:48:06,140 --> 00:48:09,870 kreis por vi tiel ke vi povas stari sur siajn ŝultrojn 1089 00:48:09,870 --> 00:48:13,290 kaj ekuzi ideoj kiuj estas súper konvinka, kiel hash tabloj kaj arboj 1090 00:48:13,290 --> 00:48:14,140 kaj provas. 1091 00:48:14,140 --> 00:48:17,790 Sed vi ne nepre devas implementar tiuj aferoj mem. 1092 00:48:17,790 --> 00:48:20,850 >> Do fine, kio Ni tuj uzi PHP por 1093 00:48:20,850 --> 00:48:23,580 estas potenciale skribi programojn de la tn komandlinio. 1094 00:48:23,580 --> 00:48:26,600 Ni povis amuzi cxiun programo ni skribas ĉi semestro tiel multe, 1095 00:48:26,600 --> 00:48:30,410 escepte eble Breakout kiuj uzas SPL, kiu estas specifa al C nuntempe. 1096 00:48:30,410 --> 00:48:33,100 Sed ĉiu alia problemo enkadrigeblajn certe Mario kaj Cezaro 1097 00:48:33,100 --> 00:48:35,300 kaj Vigenère kaj [? Fendi?] Kaj plue, ni 1098 00:48:35,300 --> 00:48:39,520 povus re-apliki en PHP, kaj probable iom pli facile. 1099 00:48:39,520 --> 00:48:43,050 >> Sed kion ni fine irante uzi PHP por estas ttt programado. 1100 00:48:43,050 --> 00:48:46,420 Kaj ni tuj enkonduki apud semajno mensan modelon, paradigma vokis 1101 00:48:46,420 --> 00:48:49,610 MVC, modelo vido controlador, kaj se vi jam faris programado 1102 00:48:49,610 --> 00:48:51,610 antaŭe en Python aŭ Ruby aŭ aliloke, vi 1103 00:48:51,610 --> 00:48:54,112 sciu de tiu teamo kun Reloj kaj Django kaj similaj. 1104 00:48:54,112 --> 00:48:55,820 Sed se vi estas nova al tio tro, vi vidos 1105 00:48:55,820 --> 00:48:59,652 ke tio estas vere tre natura pligrandigo de la faktorigo 1106 00:48:59,652 --> 00:49:01,360 kaj la speco de dezajno de kodo kiun ni 1107 00:49:01,360 --> 00:49:04,670 estis faranta en C. Ni tuj nun apliki iun el tiuj lecionoj por PHP 1108 00:49:04,670 --> 00:49:07,190 tiel ke finfine ni estas efektivigo niaj propraj retejoj. 1109 00:49:07,190 --> 00:49:09,080 Kaj se vi estas ia mirigitaj aŭ mirigitaj 1110 00:49:09,080 --> 00:49:10,954 ke ni tuj faros ĉiuj tiom rapide, 1111 00:49:10,954 --> 00:49:13,410 rimarkas ke preskaŭ ĉiu semestro, preskaŭ 90% 1112 00:49:13,410 --> 00:49:16,560 de studentoj CS50, inkluzive tiujn kiuj neniam planita antaŭ, 1113 00:49:16,560 --> 00:49:20,329 finas farante fina projektoj baziĝas sur ttt programado. 1114 00:49:20,329 --> 00:49:23,120 Do vi vidas, ke la revenoj estas altaj en la semajnoj por veni. 1115 00:49:23,120 --> 00:49:24,965 Do, ni vidos vin do lunde. 1116 00:49:24,965 --> 00:49:27,260 1117 00:49:27,260 --> 00:49:30,120 >> SPEAKER 1: Kaj nun, Deep Pensoj de Daven Farnham. 1118 00:49:30,120 --> 00:49:34,055 1119 00:49:34,055 --> 00:49:34,780 Hash tabloj. 1120 00:49:34,780 --> 00:49:37,180 1121 00:49:37,180 --> 00:49:38,402 >> [Ridado] 1122 00:49:38,402 --> 00:49:38,902