1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> Spreker 1: All, reg terug te verwelkom. 3 00:00:12,764 --> 00:00:14,140 Dit is CS50. 4 00:00:14,140 --> 00:00:16,800 En dit is die begin van die week nege. 5 00:00:16,800 --> 00:00:19,960 En dit is die begin van die res van jou tyd in CS50, waarin ons 6 00:00:19,960 --> 00:00:23,170 oorgang nou, uiteindelik, tot die web aspek van die kursus, waar jy 7 00:00:23,170 --> 00:00:26,200 vind dat baie van die beginsels wat ons het die uitvoer vir weke 8 00:00:26,200 --> 00:00:29,270 nog steeds terug te kom om te besoek, of spook, ons. 9 00:00:29,270 --> 00:00:33,440 Maar nou is, sal jy vind dat dit 'n orde van grootte makliker om te 10 00:00:33,440 --> 00:00:36,540 bereik sekere take en los sekere probleme - 11 00:00:36,540 --> 00:00:41,050 soveel so dat selfs as jy gedink sekere probleem stelle was pret in hul 12 00:00:41,050 --> 00:00:44,200 eie manier, ek dink dat jy sal vind dat p stel 7, p gestel 8, en dan, 13 00:00:44,200 --> 00:00:47,990 Uiteindelik sal die finale projek al die meer verblydend, want jy 14 00:00:47,990 --> 00:00:51,830 vind dat ons begin om te neem vir toegestaan nou dinge soos geheue-bestuur, en 15 00:00:51,830 --> 00:00:54,190 wysers, en wat gaan op onder die kap. 16 00:00:54,190 --> 00:00:57,310 En weer, tematiese, al die hele semester is hierdie lae 17 00:00:57,310 --> 00:00:58,030 en lae. 18 00:00:58,030 --> 00:01:00,530 En nou is ons soort van tot hier, staan ​​op die 19 00:01:00,530 --> 00:01:01,930 skouers van die weke verby. 20 00:01:01,930 --> 00:01:05,360 >> Nou, onthou uit laaste keer dat ons gepraat oor hoe die internet werk. 21 00:01:05,360 --> 00:01:08,120 En dit was dalk 'n oorvereenvoudiging, maar onthou dat 22 00:01:08,120 --> 00:01:12,960 Elke rekenaar in die wêreld het 'n IP spreek, maar dit is 'n bietjie van 'n 23 00:01:12,960 --> 00:01:14,570 oorvereenvoudiging steeds. 24 00:01:14,570 --> 00:01:18,180 En dié adresse word gebruik om uniek identifiseer masjiene sodat 25 00:01:18,180 --> 00:01:22,010 wanneer jy inligting stuur, of pakkies, om so te praat, kan hulle 'n oorsprong 26 00:01:22,010 --> 00:01:24,000 adres en 'n bestemming adres. 27 00:01:24,000 --> 00:01:27,830 En daardie selfde IP adresse kan gebruik word beide vir die goeie en ook vir wat verkeerd is, 28 00:01:27,830 --> 00:01:29,270 jou op te spoor, byvoorbeeld. 29 00:01:29,270 --> 00:01:32,200 Trouens, elkeen van julle met 'n skootrekenaar nou oop is, of 'n selfoon in jou 30 00:01:32,200 --> 00:01:35,070 sak, het 'n IP-adres op Harvard se netwerk. 31 00:01:35,070 --> 00:01:39,120 En dit is nie so moeilik om te ooreenstem wat aan wie en waar jy 32 00:01:39,120 --> 00:01:40,180 is hierdie dae. 33 00:01:40,180 --> 00:01:42,090 Maar meer op wat miskien in die toekoms. 34 00:01:42,090 --> 00:01:46,510 >> Nou het ek gedink ek wil terug te bring 'n paar herinneringe van [? verbeter] en? gee jy 35 00:01:46,510 --> 00:01:49,360 'n ander clip van 'n show wat jy dalk vind bekend. 36 00:01:49,360 --> 00:01:52,710 As ons kon verdof die ligte net vir 'n paar sekondes. 37 00:01:52,710 --> 00:01:53,960 Die show Numb3rs. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> Spreker 2: Dit is 'n 32-bit IPP4 adres. 40 00:02:00,540 --> 00:02:01,610 >> SPREKER 3: IPP, soos in die internet? 41 00:02:01,610 --> 00:02:02,968 >> Spreker 2: Private netwerk. 42 00:02:02,968 --> 00:02:04,960 Om Amita se private netwerk. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Sy is so amazing. 45 00:02:19,602 --> 00:02:21,030 >> SPREKER 3: Kom op, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> Spreker 2: Dit is. 47 00:02:21,490 --> 00:02:22,470 'N spieël IP-adres. 48 00:02:22,470 --> 00:02:27,680 Sy laat ons kyk wat sy doen in real time. 49 00:02:27,680 --> 00:02:30,930 >> Spreker 1: OK, so 'n paar dinge verkeerd met hierdie prentjie. 50 00:02:30,930 --> 00:02:32,920 So een, en hierdie een is aanvaarbaar, dit is eintlik 51 00:02:32,920 --> 00:02:34,400 nie 'n geldige IP-adres. 52 00:02:34,400 --> 00:02:38,190 'N geldige IP-adres te wees getalle van die vorm w.x.y.z, waar elkeen van 53 00:02:38,190 --> 00:02:40,000 daardie briewe is 0-255. 54 00:02:40,000 --> 00:02:42,330 Maar dit is goed, want net soos die films waar hulle fake telefoonnommers, 55 00:02:42,330 --> 00:02:43,520 hulle valse IP adresse. 56 00:02:43,520 --> 00:02:45,230 Jy het eintlik nie getref werklike bedieners. 57 00:02:45,230 --> 00:02:46,760 >> Maar let wel, dit is 'n leser. 58 00:02:46,760 --> 00:02:50,760 En implementeer nie begin uitdruk rekenaar-kode soos hierdie. 59 00:02:50,760 --> 00:02:54,230 En as ons kyk 'n bietjie dieper, let dat die taal wat hulle sien 60 00:02:54,230 --> 00:02:57,040 op die skerm is 'n taal, die sogenaamde Objektiewe C, wat is die taal 61 00:02:57,040 --> 00:02:59,520 wat iPhone apps geskryf word, veral die kinders wat 62 00:02:59,520 --> 00:03:03,540 kryt, soos jy kan sien uit die bron-kode hier. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> OK, ek het gedink dit was snaaks. 65 00:03:07,560 --> 00:03:12,240 So hierdie brokkie kode het absoluut niks te doen met alles wat hierdie 66 00:03:12,240 --> 00:03:13,940 bepaalde episode was omtrent. 67 00:03:13,940 --> 00:03:17,590 So het die grap is 'n soort van die mense neem vir hierdie toegestaan. 68 00:03:17,590 --> 00:03:20,220 Maar dit is nie al wat moeilik om te kry hierdie tegniese besonderhede reg. 69 00:03:20,220 --> 00:03:21,980 En ek wil u aanmoedig. 70 00:03:21,980 --> 00:03:25,530 En eintlik, kan baie goed 50 buit 'n baie TV-programme en films of jy 71 00:03:25,530 --> 00:03:27,320 want jy sal vind dat dit net ' nie moontlik om dit wat hulle 72 00:03:27,320 --> 00:03:28,630 doen op die skerm. 73 00:03:28,630 --> 00:03:31,750 Maar inderdaad, dit is die kode wat jy kan dit sien in 'n iPhone aansoek 74 00:03:31,750 --> 00:03:33,640 of Mac OS aansoek. 75 00:03:33,640 --> 00:03:35,685 Dit het niks te alle te doen het met sekuriteit. 76 00:03:35,685 --> 00:03:38,610 Dus hou 'n oog uit vir meer sulke lekker dinge soos dat. 77 00:03:38,610 --> 00:03:42,720 >> Maar vandag het ons begin om te duik in werklik diep tot 'n hele reeks van tale. 78 00:03:42,720 --> 00:03:45,410 'N Trouens, een van die oorkoepelende wegneemetes van hierdie gedeelte van die 79 00:03:45,410 --> 00:03:51,815 kursus is nie om te leer hoe om die program in PHP, nie SQL te leer per se nie, nie 80 00:03:51,815 --> 00:03:58,100 JavaScript om te leer per se nie, maar eerder om jouself te leer hoe om te leer 81 00:03:58,100 --> 00:04:02,030 jouself nuwe tale, want inderdaad, ons begin nou die neem 82 00:04:02,030 --> 00:04:06,020 opleiding wiele af sodat na Natuurlik se einde, het jy nie verwag dat 'n 20 83 00:04:06,020 --> 00:04:08,890 bladsy spesifikasie om jou te vertel hoe 'n program te implementeer. 84 00:04:08,890 --> 00:04:12,970 Jy het nie genoeg bestanddele in jou gedagte, en genoeg gereedskap in jou instrument 85 00:04:12,970 --> 00:04:15,750 stel, om met wat begin met die bou oplossings vir probleme van belang is vir 86 00:04:15,750 --> 00:04:19,130 jy vir 'n paar studente-groep, vir 'n paar navorsingsprojek, of regtig iets 87 00:04:19,130 --> 00:04:20,140 van belang is vir jou. 88 00:04:20,140 --> 00:04:24,150 >> So in die rigting van die einde, onthou dat dit was die prentjie wat ons het dit die laaste keer. 89 00:04:24,150 --> 00:04:27,620 En dit is twee rekenaars, kliënt en verbreek, met mekaar te gesels. 90 00:04:27,620 --> 00:04:31,130 En die protokol, die taal, so te sê dat hierdie twee rekenaars gebeur 91 00:04:31,130 --> 00:04:33,220 moet praat word genoem HTTP. 92 00:04:33,220 --> 00:04:37,730 En dit is net die protokol wat gebruik word deur rekenaars inligting oor te dra oor 93 00:04:37,730 --> 00:04:38,710 die wêreld wye web. 94 00:04:38,710 --> 00:04:41,770 Die web, natuurlik, is slegs een diens wat loop op die top van die 95 00:04:41,770 --> 00:04:43,000 sogenaamde internet. 96 00:04:43,000 --> 00:04:48,660 Wat is 'n ander diens beskikbaar op top van die internet hierdie dae? 97 00:04:48,660 --> 00:04:51,600 'N ander protokol of - wat is dit? 98 00:04:51,600 --> 00:04:52,300 >> Gehoor deur FTP. 99 00:04:52,300 --> 00:04:52,790 >> Spreker 1: FTP. 100 00:04:52,790 --> 00:04:54,630 So File Transfer Protocol is 'n ander. 101 00:04:54,630 --> 00:04:56,050 Die meeste van julle het waarskynlik nie gebruik nie. 102 00:04:56,050 --> 00:04:58,830 Maar die meeste van julle het waarskynlik gebruik dinge soos Gchat, of direkte 103 00:04:58,830 --> 00:05:00,970 messaging meer in die algemeen, beslis e-pos. 104 00:05:00,970 --> 00:05:04,470 En dié ook, is dienste wat uitgevoer word op top van die internet, want by die 105 00:05:04,470 --> 00:05:08,180 einde van die dag, die internet self regtig net kry data vanaf punt A tot 106 00:05:08,180 --> 00:05:12,480 punt B. En dit maak gebruik van 'n aantal deeltjies self, een van hulle of twee 107 00:05:12,480 --> 00:05:17,340 van hulle mees algemeen bekend as TCP / IP, Dit is om te sê dat 'n rekenaar op 108 00:05:17,340 --> 00:05:19,960 die internet kan eintlik doen verskillende dinge, e-pos, 109 00:05:19,960 --> 00:05:20,980 en web, en so meer. 110 00:05:20,980 --> 00:05:22,220 Google het 'n baie van hierdie. 111 00:05:22,220 --> 00:05:26,310 So, hoe is daardie dienste uniek geïdentifiseer is, het ons gesê, op 'n rekenaar 112 00:05:26,310 --> 00:05:29,080 wat kan eintlik doen verskeie dinge? 113 00:05:29,080 --> 00:05:29,860 >> Die poort nommer. 114 00:05:29,860 --> 00:05:34,180 En dit is net arbitrêre menslike konvensies soos 80 is web, 443 is 115 00:05:34,180 --> 00:05:36,580 geïnkripteer web, 25 is e-pos. 116 00:05:36,580 --> 00:05:38,230 En daar is 'n trosse van ander. 117 00:05:38,230 --> 00:05:41,860 En dié syfers slegs ingesluit in diegene pakkies van inligting, diegene 118 00:05:41,860 --> 00:05:46,230 virtuele koevert, wat eintlik bevat 'n versoek of 'n antwoord. 119 00:05:46,230 --> 00:05:51,300 >> So wanneer jy terug 'n reaksie van die web, tipies, het jy nie sien nie enige 120 00:05:51,300 --> 00:05:54,780 getalle hoegenaamd in terme van die status kode van die reaksie. 121 00:05:54,780 --> 00:05:56,770 Jy hoef nie eintlik sien die innerlike werking van die 122 00:05:56,770 --> 00:05:58,090 pakkies wat kom terug. 123 00:05:58,090 --> 00:05:59,860 Maar 200 is inderdaad OK beteken. 124 00:05:59,860 --> 00:06:01,530 En dit beteken dat alles goed gaan. 125 00:06:01,530 --> 00:06:02,870 Jy kan gesien het 'n klomp van hierdie. 126 00:06:02,870 --> 00:06:05,710 Dit is waarskynlik die mees algemene jy het gesien op die web? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Dit beteken net lêer nie gevind nie. 129 00:06:07,330 --> 00:06:08,270 Dit beteken iemand geskroef. 130 00:06:08,270 --> 00:06:11,450 Jy het deur mistyping die URL, of iemand anders gedoen het deur vir jou 'n 131 00:06:11,450 --> 00:06:15,100 ongeldig URL, of hulle verwyder die lêer en die URL is nog steeds 132 00:06:15,100 --> 00:06:16,130 wat gebruik word deur mense. 133 00:06:16,130 --> 00:06:19,670 So 'n aantal redes kan verduidelik waarom 'n lêer is nie gevind nie. 134 00:06:19,670 --> 00:06:22,990 En jy sal sien, in die komende weke, hierdie ander fout kodes, en jy sal 135 00:06:22,990 --> 00:06:24,195 neem voordeel van 'n paar van hulle. 136 00:06:24,195 --> 00:06:25,760 Die ergste is 500. 137 00:06:25,760 --> 00:06:29,820 As jy 'n 500-fout in die kode wat jy het geskryf is, dink dat as 'n soort van die 138 00:06:29,820 --> 00:06:33,290 analoog van seg foute in die wêreld van die web ontwikkeling. 139 00:06:33,290 --> 00:06:34,560 Dit is nie heeltemal so sleg lyk. 140 00:06:34,560 --> 00:06:36,660 Maar dit beteken net dat, iewers, jy geskroef. 141 00:06:36,660 --> 00:06:38,260 So uitsien na daardie. 142 00:06:38,260 --> 00:06:39,910 >> Maar laat ons kyk of ons kan sien dit in konteks. 143 00:06:39,910 --> 00:06:43,460 Laat my gaan na 'n leser hier en doen die volgende. 144 00:06:43,460 --> 00:06:45,710 So dit is Chrome, wat gebeur met geïnstalleer word in die toestel. 145 00:06:45,710 --> 00:06:49,410 Maar die meeste elke leser van hierdie dae het sommige ekwivalent funksie. 146 00:06:49,410 --> 00:06:52,610 Ek gaan om te gaan op die Chrome se spyskaart, en gaan na Tools, en ek gaan om te gaan 147 00:06:52,610 --> 00:06:53,990 om Ontwikkelaar Tools. 148 00:06:53,990 --> 00:06:57,040 En jy sal sien dat hierdie klein paneel open in die onderkant van die venster. 149 00:06:57,040 --> 00:07:00,190 Nog 'n kortpad, om eerlik te wees, dat ek gewoonlik gebruik om myself is om te regs kliek 150 00:07:00,190 --> 00:07:04,370 of Control kliek op enige plek op die web bladsy en gaan net Element te inspekteer. 151 00:07:04,370 --> 00:07:07,440 En dit sal nie net oop het dit vir jou. 152 00:07:07,440 --> 00:07:10,230 Dit sal ook oop te maak, en meer spesifiek Die elemente gedeelte op 153 00:07:10,230 --> 00:07:11,430 die linkerkant. 154 00:07:11,430 --> 00:07:12,460 >> So ons is natuurlik sien Google. 155 00:07:12,460 --> 00:07:13,930 Hulle het hul logo vandag. 156 00:07:13,930 --> 00:07:20,200 Maar as ek blaai af tot hier, sien wat onder die elemente, jy sien 157 00:07:20,200 --> 00:07:23,460 wat genoem HTML, HyperText Markup Taal, en dit is die taal 158 00:07:23,460 --> 00:07:26,000 dat hierdie en al die web bladsye, regtig, is geskryf in 159 00:07:26,000 --> 00:07:28,950 Maar dit is eintlik formaat vir ons soveel meer readably 160 00:07:28,950 --> 00:07:29,970 as wat dit is normaal. 161 00:07:29,970 --> 00:07:34,810 In werklikheid, as ek zoom uit, en ek plaas Net regs kliek of beheer Click 162 00:07:34,810 --> 00:07:39,630 Klik op die bladsy, en dan gaan na View Page Bron, dit is letterlik wat 163 00:07:39,630 --> 00:07:42,150 Google gestuur om my leser. 164 00:07:42,150 --> 00:07:46,480 >> So 'n persoon of persone geskryf Google.com gebruik van hierdie bron-kode. 165 00:07:46,480 --> 00:07:47,790 Die meeste van hierdie is nie HTML. 166 00:07:47,790 --> 00:07:49,340 Dit is eintlik 'n taal, die sogenaamde JavaScript, wat 167 00:07:49,340 --> 00:07:50,880 Ons kom na op Woensdag. 168 00:07:50,880 --> 00:07:55,580 Maar wat Chrome, en wat elke leser vir ons kan doen, is 'n soort van sien 169 00:07:55,580 --> 00:07:59,610 verlede al die afleiding van die gek sintaksis, en Draai wit spasie 170 00:07:59,610 --> 00:08:02,940 vir ons, en selfs sintaksis hoogtepunt, of colorize dinge vir ons. 171 00:08:02,940 --> 00:08:06,470 So sal jy vind dat hierdie sogenaamde ontwikkelaar gereedskap gebou in bruisers 172 00:08:06,470 --> 00:08:10,830 sal jou lewe so, so veel makliker te maak want jy kan verken, via die spyskaart 173 00:08:10,830 --> 00:08:13,940 koppelvlak, presies wat die onderliggende bron-kode is vir 174 00:08:13,940 --> 00:08:15,750 enige bladsy op die internet. 175 00:08:15,750 --> 00:08:19,070 En inderdaad, dit is een van die mees effektiewe maniere om te leer hoe om te doen 176 00:08:19,070 --> 00:08:22,860 iets nuuts, ten minste as die bladsy is nie so kompleks as om te oorweldig, word 177 00:08:22,860 --> 00:08:26,700 om te begin skeer om dit HTML, kyk op sy sogenaamde CSS, wat ons sal kom 178 00:08:26,700 --> 00:08:30,310 om 'n bietjie so goed, om 'n begrip van hoe die programmeerder 179 00:08:30,310 --> 00:08:33,480 geïmplementeer 'n besondere kenmerk van die bladsy. 180 00:08:33,480 --> 00:08:36,530 >> Maar meer tegnies interessant reg nou is dit gaan wees nie. 181 00:08:36,530 --> 00:08:39,429 As ek gaan na die Netwerk blad laat ons nou duidelik dat dit. 182 00:08:39,429 --> 00:08:43,429 Ek gaan die klein om te kliek kruis-simbool hier, en dan 183 00:08:43,429 --> 00:08:45,630 gaan na 'n ander webwerf. 184 00:08:45,630 --> 00:08:48,430 En ek is net gaan om te tik in Facebook.com. 185 00:08:48,430 --> 00:08:51,940 Geen HTTP, HTTPS nie, geen WWW. 186 00:08:51,940 --> 00:08:53,850 Kom ons eintlik sien wat hier gebeur. 187 00:08:53,850 --> 00:08:55,030 >> Betree. 188 00:08:55,030 --> 00:08:58,480 Let nou op 'n hele klomp van die dinge net verskyn in die onderste paneel, in 189 00:08:58,480 --> 00:09:00,285 Benewens die webblad verskyn in die top. 190 00:09:00,285 --> 00:09:04,890 Ek gaan om terug te blaai om in die Netwerk blad hier, en ek gaan 191 00:09:04,890 --> 00:09:06,080 Klik op die eerste ry. 192 00:09:06,080 --> 00:09:10,580 Wat hierdie instrument gaan aan ons te openbaar is elkeen van die HTTP-versoek 193 00:09:10,580 --> 00:09:13,550 wat vinnig net terug gegaan en weer tussen my leser 194 00:09:13,550 --> 00:09:14,930 en Facebook se bediener. 195 00:09:14,930 --> 00:09:17,830 En so elke een van daardie rye verteenwoordig een so 'n versoek of 196 00:09:17,830 --> 00:09:20,970 reaksie, een of meer van diegene virtuele koevert. 197 00:09:20,970 --> 00:09:24,080 Of meer terloops, dit is soos 'n persoon soos 'n persoon, 'n kliënt in 'n 198 00:09:24,080 --> 00:09:26,710 restaurant, vra vir iets weer en weer en weer. 199 00:09:26,710 --> 00:09:29,400 En die kelner hou bring dit terug op 'n tyd. 200 00:09:29,400 --> 00:09:33,850 >> So nou, as ek zoom in op hierdie, sien en dit sal die soort van ding wees 201 00:09:33,850 --> 00:09:36,600 dat jy welkom om en aangemoedig om te speel met op jou eie, omdat ons 202 00:09:36,600 --> 00:09:38,150 gaan nie deur alles in groot detail. 203 00:09:38,150 --> 00:09:40,070 Maar let op daar is 'n paar sub oortjies hier - 204 00:09:40,070 --> 00:09:43,700 Kop, Preview, reaksie, Koekies, en tydsberekening. 205 00:09:43,700 --> 00:09:48,280 Ek gaan net om te kyk na headers vir nou, want dit is min 206 00:09:48,280 --> 00:09:53,600 bestanddele binnekant van die koevert wat help om data na en van die plekke. 207 00:09:53,600 --> 00:09:57,590 >> So, laat my op hierdie, View Bron langs Versoek Headers. 208 00:09:57,590 --> 00:10:01,910 Daar is versoek dat my leser, Chrome, in hierdie geval, gestuur binnekant van 209 00:10:01,910 --> 00:10:02,910 dat virtuele koevert. 210 00:10:02,910 --> 00:10:04,800 Jy het verlede week onthou ek hand getik terwyl 211 00:10:04,800 --> 00:10:06,380 voorgee om 'n leser te wees. 212 00:10:06,380 --> 00:10:09,980 Dan is dit herinner aan die bediener wat dit is soek na die gasheer genoem 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 En dan is daar 'n bietjie meer arcane inligting wat ons sal beweeg 215 00:10:13,630 --> 00:10:14,830 ons hande vir nou. 216 00:10:14,830 --> 00:10:18,640 >> Maar as ek begin om te blaai af nou in hierdie venster, laat my kry om die 217 00:10:18,640 --> 00:10:19,980 reaksie headers. 218 00:10:19,980 --> 00:10:23,270 Dit was wat in die virtuele koevert wat terug gekom het van 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 En as ek op Bron wys net die rou teks van dit te sien, 221 00:10:27,390 --> 00:10:28,400 sien 'n paar dinge. 222 00:10:28,400 --> 00:10:32,130 Een, Facebook praat ook dieselfde protokol, weergawe 1.1 daarvan. 223 00:10:32,130 --> 00:10:33,390 So dit is nice. 224 00:10:33,390 --> 00:10:36,820 Maar status kode 301, verhuis permanent. 225 00:10:36,820 --> 00:10:38,880 >> Wel, waar die heck Facebook te gaan? 226 00:10:38,880 --> 00:10:40,430 Wat is dit probeer oordra aan ons? 227 00:10:40,430 --> 00:10:44,310 Wel, sien hier is daar 'n ander kop genoem ligging. 228 00:10:44,310 --> 00:10:51,050 So hoekom is Facebook my vertel dat hulle verhuis permanent na daardie URL 229 00:10:51,050 --> 00:10:53,580 langs ligging? 230 00:10:53,580 --> 00:10:54,962 Ek het vergeet om die www. 231 00:10:54,962 --> 00:10:56,250 >> So dit was my keuse. 232 00:10:56,250 --> 00:11:00,450 Trouens, die meeste van ons selde, waarskynlik, tik www.whatever.com hierdie dae. 233 00:11:00,450 --> 00:11:03,390 Maar dit blyk uit 'n stelsel administrateur, soos Facebook se, kan 234 00:11:03,390 --> 00:11:06,800 instel hul bedieners in so 'n manier wat óf Facebook.com werk, of 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com werk, of, regtig, enige sodanige voorvoegsel in die voorkant van hul 236 00:11:12,450 --> 00:11:13,210 domein naam. 237 00:11:13,210 --> 00:11:14,500 So het hulle vir ons gedoen. 238 00:11:14,500 --> 00:11:16,910 En hulle is redirecting ons, waarskynlik vir 'n paar tegniese, 239 00:11:16,910 --> 00:11:18,100 'n paar bemarking redes. 240 00:11:18,100 --> 00:11:21,570 Hulle wil net canonicalize op www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Maar dit is nie heeltemal nie. 242 00:11:24,040 --> 00:11:28,560 As ek blaai af hier, laat ons kyk wat gebeur. 243 00:11:28,560 --> 00:11:30,810 Dit is vir my vertel ons verhuis permanent na 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 So laat ons kyk na die tweede versoek dat my leser stuur. 246 00:11:36,620 --> 00:11:40,070 Ongelukkig, dit lyk soos Facebook verskuif het weer, want die tweede 247 00:11:40,070 --> 00:11:44,420 versoek, deur die kies van die URL in plaas daarvan, sê dat ook verskuif 248 00:11:44,420 --> 00:11:45,010 permanent. 249 00:11:45,010 --> 00:11:48,140 En laat my rol af hier die reaksie kop. 250 00:11:48,140 --> 00:11:51,530 Waar het Facebook nou weg? 251 00:11:51,530 --> 00:11:52,680 >> So HTTPS. 252 00:11:52,680 --> 00:11:56,130 So nou Facebook begin het, veral in die lig van die huidige 253 00:11:56,130 --> 00:11:59,750 gebeure in die afgelope maande, veral en ook in die afgelope paar jaar 254 00:11:59,750 --> 00:12:03,670 al hul gebruikers te dwing om in 'n goeie manier, HTTPS te gebruik, wat meer 255 00:12:03,670 --> 00:12:06,210 verseker, hoewel nie heeltemal veilig is. 256 00:12:06,210 --> 00:12:10,000 En so nou my bladsy, my leser is gaan hierdie derde URL aan te vra. 257 00:12:10,000 --> 00:12:14,710 En nou, uiteindelik, kry ons die andersins onsigbare 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> So, wat in die wêreld van of al hierdie ander rye hier. 259 00:12:18,830 --> 00:12:22,630 Ek het letterlik getik een ding, en my leser blyk te versoek soos 260 00:12:22,630 --> 00:12:23,840 20 'n paar vreemde dinge. 261 00:12:23,840 --> 00:12:24,640 Wat is dit? 262 00:12:24,640 --> 00:12:25,810 >> GEHOOR: Skripte? 263 00:12:25,810 --> 00:12:28,460 >> Spreker 1: Tekste, sodat ander lêers geskryf in 'n taal, die sogenaamde 264 00:12:28,460 --> 00:12:30,780 JavaScript, wat, weer, ons sal sien 'n bietjie op Woensdag. 265 00:12:30,780 --> 00:12:32,760 Wat anders? 266 00:12:32,760 --> 00:12:33,390 Styl velle. 267 00:12:33,390 --> 00:12:36,350 So iets in 'n taal, die sogenaamde CSS, wat ons sal sien in 'n bietjie. 268 00:12:36,350 --> 00:12:40,690 Gifs en jpegs, en PNGs, en beelde, en film lêers - wat 'n webblad 269 00:12:40,690 --> 00:12:43,280 het, is waarskynlik in die vorm van 'n lêer. 270 00:12:43,280 --> 00:12:46,750 En ja, wat ons nou sien aan die linkerkant kant is daar al die lêers 271 00:12:46,750 --> 00:12:50,280 dat Chrome het om af te laai, rekursief, as jy wil, ten einde te 272 00:12:50,280 --> 00:12:52,430 komponeer die geheel van die bladsy. 273 00:12:52,430 --> 00:12:56,210 >> So wat ons gesien het 'n oomblik gelede met Google, As ek op die elemente 274 00:12:56,210 --> 00:13:00,470 blad, hierdie, seker nie, is die HTML, die taal wat komponeer hierdie bladsy. 275 00:13:00,470 --> 00:13:01,890 Maar daar is trosse van ander dinge. 276 00:13:01,890 --> 00:13:02,640 Daar is 'n logo. 277 00:13:02,640 --> 00:13:04,680 Daar is diegene blou-ish ikone daar. 278 00:13:04,680 --> 00:13:07,610 En daar is ander elemente steeds op die bladsy wat hulself kan wees 279 00:13:07,610 --> 00:13:08,610 afsonderlike lêers. 280 00:13:08,610 --> 00:13:11,860 >> So, wat is lekker om oor 'n leser is dat dit lyk op die taal wat ons gaan 281 00:13:11,860 --> 00:13:14,690 om te begin skryf, of jy reeds begin skryf in P set 7, figure 282 00:13:14,690 --> 00:13:17,970 uit te vind waar die lêers leef, en gaan en gryp dit net so goed. 283 00:13:17,970 --> 00:13:21,010 En ek kan nie genoeg beklemtoon, selfs hoewel sommige van hierdie kan kyk 'n bietjie 284 00:13:21,010 --> 00:13:24,820 arcane of oorweldigend op die eerste oogopslag, leer hoe om die program 285 00:13:24,820 --> 00:13:28,500 Aansoeke vir die web, dit is onskatbare waarde om te verstaan ​​hoe hierdie 286 00:13:28,500 --> 00:13:29,410 klein gereedskap werk. 287 00:13:29,410 --> 00:13:33,830 Dit is soort van soos GDB soos gereedskap, maar baie makliker, uiteindelik, om te gebruik - 288 00:13:33,830 --> 00:13:37,690 en gee regtig jy oë in wat het ons neem vir toegestaan ​​vir 289 00:13:37,690 --> 00:13:39,170 'n geruime tyd nou. 290 00:13:39,170 --> 00:13:42,270 >> So wat ons nou kan doen met hierdie inligting? 291 00:13:42,270 --> 00:13:44,875 Wel, laat ons eintlik 'n blik op die konsepte onderliggend aan HTML. 292 00:13:44,875 --> 00:13:49,025 En ons sal stel, soos ons reeds het, te artikels van hierdie week, tot die probleem 293 00:13:49,025 --> 00:13:53,260 Stel 7 spesifikasie, 'n paar van die meer Besonderhede van hierdie tale. 294 00:13:53,260 --> 00:13:57,020 Maar laat ons kyk of ons kan nie verf 'n prentjie van wat jy moet verstaan 295 00:13:57,020 --> 00:13:57,940 algehele hier. 296 00:13:57,940 --> 00:14:02,280 >> So HTML, HyperText Markup Language, is nie 'n programmeertaal. 297 00:14:02,280 --> 00:14:03,520 Wat dit beteken dit werklik? 298 00:14:03,520 --> 00:14:05,690 So HTML lyk. 299 00:14:05,690 --> 00:14:06,810 En sommige van julle reeds weet. 300 00:14:06,810 --> 00:14:08,130 Sommige van julle het dit te doen dit vir 'n geruime tyd. 301 00:14:08,130 --> 00:14:10,270 Maar laat ons kyk of ons nie kan vul in sommige spasies as well. 302 00:14:10,270 --> 00:14:11,760 So sien 'n paar dinge hier. 303 00:14:11,760 --> 00:14:13,030 Een, dit is net die teks. 304 00:14:13,030 --> 00:14:15,960 So dit is net soos bron kode in C, of ​​'n ander taal. 305 00:14:15,960 --> 00:14:17,750 >> Let daarop dat dit lyk asof daar om 'n patroon hier. 306 00:14:17,750 --> 00:14:20,870 Daar is inkeping, maar tegnies die inkeping is net die menslike 307 00:14:20,870 --> 00:14:21,205 konvensie. 308 00:14:21,205 --> 00:14:24,980 'N bepaalde leser gee nie om as daar 'n nuwe lyne en oortjies wil sien ons daar. 309 00:14:24,980 --> 00:14:27,410 Maar let op dat daar simmetrieë hier. 310 00:14:27,410 --> 00:14:31,180 Daar is wat ek sal noem, aan die bokant van hierdie lêer, die oop tag, of die begin 311 00:14:31,180 --> 00:14:33,030 tag, genoem HTML. 312 00:14:33,030 --> 00:14:36,800 En dan, onder, perfek uitgevoer up, baie soos ons doen met krullerige draadjies, 313 00:14:36,800 --> 00:14:40,910 sien ons oop bracket, vorentoe Sny, HTML, naby bracket. 314 00:14:40,910 --> 00:14:44,610 So wat is die ooreenstemmende naby tag, of die einde tag, vir daardie ding. 315 00:14:44,610 --> 00:14:47,990 >> Saam, alles wat binne die sogenaamde oop tag en naby tag 316 00:14:47,990 --> 00:14:50,440 komponeer wat ons sal 'n element noem. 317 00:14:50,440 --> 00:14:53,910 En ons sal sien, in net 'n oomblik is, is dit regtig soos 'n knoop in 'n boom. 318 00:14:53,910 --> 00:14:57,470 Want as jy dink nou is die inkeping wat hier geïmpliseer, jy 319 00:14:57,470 --> 00:15:00,780 soort het, soos, 'n grootouer knoop genoem HTML. 320 00:15:00,780 --> 00:15:06,870 Hoeveel kinders mag jy dalk sê, gegrond op die foto, die HTML element het? 321 00:15:06,870 --> 00:15:07,720 >> So waarskynlik twee. 322 00:15:07,720 --> 00:15:10,240 Een daarvan is die hoof element, blykbaar. 323 00:15:10,240 --> 00:15:11,710 En die een is die liggaam element. 324 00:15:11,710 --> 00:15:12,555 En waarom twee kinders? 325 00:15:12,555 --> 00:15:15,840 Wel, ek is net 'n soort afleiding dat indien Ek het 'n oop kop tag en dan 'n 326 00:15:15,840 --> 00:15:17,820 naby kop tag, dit is 'n element. 327 00:15:17,820 --> 00:15:21,200 En dan, as daar 'n ander oop liggaam tag en 'n beslote liggaam tag, dis soos 328 00:15:21,200 --> 00:15:22,340 'n ander element. 329 00:15:22,340 --> 00:15:26,000 So in die sin dat as ek soort van roteer die foto op sy kant, is dit 330 00:15:26,000 --> 00:15:29,910 soos om 'n HTML tag, en dan 'n kop tag, en dan 'n liggaam tag, en 331 00:15:29,910 --> 00:15:34,290 dan 'n paar teks, Hello World, hangend af van die liggaam tag self. 332 00:15:34,290 --> 00:15:36,620 >> So kan ons 'n prentjie teken wat kan lyk soos hierdie. 333 00:15:36,620 --> 00:15:38,020 Die vorms is arbitrêr. 334 00:15:38,020 --> 00:15:40,870 Maar let op dat ek soort van 'n gebruik het ellips by die top te verteenwoordig 335 00:15:40,870 --> 00:15:41,860 dokument self. 336 00:15:41,860 --> 00:15:45,980 Dit blyk daar kan ander dinge wees binnekant van 'n webblad wat ek nie 337 00:15:45,980 --> 00:15:46,940 getrek hier. 338 00:15:46,940 --> 00:15:50,800 So ons gaan selfs hang die HTML knoop af van 'n sogenaamde dokument knoop. 339 00:15:50,800 --> 00:15:53,730 En dan moet ons kop en liggaam en titel, kennisgewing, 340 00:15:53,730 --> 00:15:55,360 wat verder nes. 341 00:15:55,360 --> 00:15:58,650 Ek het nie die moeite om ekstra lyn breek binnekant van die titel merk. 342 00:15:58,650 --> 00:16:02,710 Dit het net gevoel soos dit was om te kry 'n bietjie te verbose. 343 00:16:02,710 --> 00:16:07,000 So ek het dit in 'n lyn daar, met Ope, Hello World, naby titel. 344 00:16:07,000 --> 00:16:09,380 En dan het ons het 'n paar teks hangend af van hier. 345 00:16:09,380 --> 00:16:12,200 >> So hierdie foto kom terug na wanneer ons duik in JavaScript. 346 00:16:12,200 --> 00:16:15,110 En begrip dat wanneer jy skryf HTML soos hierdie, wat 347 00:16:15,110 --> 00:16:16,250 is 'n leser te doen? 348 00:16:16,250 --> 00:16:19,290 Wel, het ons nie hoef te bekommer oor hoe dit te doen, of met watter 349 00:16:19,290 --> 00:16:23,090 algoritme, maar aan die einde van die dag, wanneer 'n leser HTML soos 350 00:16:23,090 --> 00:16:27,510 wat van Facebook of Google, dit ontleed dit, so te sê, dit lees nie, 351 00:16:27,510 --> 00:16:31,160 met iets soos fread, bo na onder, van links na regs, en as dit 352 00:16:31,160 --> 00:16:36,300 besef, o, oop tag, en dan sluit tag, dit begin om te malloc, om so te praat, 353 00:16:36,300 --> 00:16:37,800 'n knoop in 'n boom. 354 00:16:37,800 --> 00:16:41,130 En wanneer dit ontmoetings, soos ons geïmpliseer hier met die inkeping, 'n 355 00:16:41,130 --> 00:16:45,400 kind knoop, dit mallocs 'n knoop vir daardie en aangeheg wat aan die boom. 356 00:16:45,400 --> 00:16:49,150 >> So het die boom strukture, binêre bome, drieledige bome en groter bome, wat 357 00:16:49,150 --> 00:16:53,380 Ons kyk na 'n week of twee gelede, kennisgewing dat dieselfde beginsel is 358 00:16:53,380 --> 00:16:54,220 kom terug na ons. 359 00:16:54,220 --> 00:16:57,590 En elkeen wat geïmplementeer word, Chrome wat span gedoen het, het vermoedelik ' 360 00:16:57,590 --> 00:17:00,800 'n soort van die boom struktuur te implementeer onder die kap. 361 00:17:00,800 --> 00:17:05,329 En dat self is waarskynlik in 'n taal soos C of C + +, of 'n laer 362 00:17:05,329 --> 00:17:08,540 vlak taal wat ons sal nou gebruik om bo-op die web. 363 00:17:08,540 --> 00:17:11,200 >> So nou, miskien, sal dit meer sin maak. 364 00:17:11,200 --> 00:17:15,420 Werklike Een van 'n man wat dalk ongelukkig is dit uiteindelik, soort van. 365 00:17:15,420 --> 00:17:17,359 OK, alles reg, so 'n klomp van die web humor. 366 00:17:17,359 --> 00:17:18,599 Dit is regtig nie gaan oor so goed vandag. 367 00:17:18,599 --> 00:17:19,560 So ons sal beweeg. 368 00:17:19,560 --> 00:17:20,180 Alle regte. 369 00:17:20,180 --> 00:17:22,760 >> So kom ons neem 'n blik nou na 'n paar voorbeelde. 370 00:17:22,760 --> 00:17:24,660 Die eenvoudigste moontlike ding kan wees nie. 371 00:17:24,660 --> 00:17:29,170 Ek gaan om voort te gaan en oop te maak in gedit 'n lêer genaamd hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 En binnekant van hier, ek gaan vinnig net dit doen, printf, haal 374 00:17:36,330 --> 00:17:38,590 unquote, "hallo wêreld." 375 00:17:38,590 --> 00:17:42,460 >> So kennisgewing, en ek sal my agteroorskuisstreep n, Ek het nie die moeite om te verklaar hoof. 376 00:17:42,460 --> 00:17:45,310 Dit blyk uit, in PHP, en 'n baie tale, het jy nie nodig het om 'n hoof 377 00:17:45,310 --> 00:17:46,090 funksie per se. 378 00:17:46,090 --> 00:17:47,720 Jy kan nie net begin skryf jou program. 379 00:17:47,720 --> 00:17:51,210 Nou, wanneer ek spaar hierdie lêer, sien ek gaan hê om die volgende te doen. 380 00:17:51,210 --> 00:17:55,360 Ek is nie van plan om gebruik te maak, en ek is nie gaan klang te gebruik, want PHP, in teenstelling met 381 00:17:55,360 --> 00:17:57,400 C, is nie 'n saamgestel taal. 382 00:17:57,400 --> 00:18:01,400 Dit is wat genoem word 'n geïnterpreteer taal, wat beteken dat jy dit loop 383 00:18:01,400 --> 00:18:04,650 as 'n bydrae deur 'n ander program genoem 'n tolk. 384 00:18:04,650 --> 00:18:08,150 En dat program dit lees, bo na onder, van links na regs, en doen 385 00:18:08,150 --> 00:18:09,290 alles wat jy vertel om dit te doen. 386 00:18:09,290 --> 00:18:12,920 >> So in hierdie geval hier Ek het een reël wat sê printf. 387 00:18:12,920 --> 00:18:17,990 So wanneer ek loop hierdie bron-kode, hello.php, al is 'n program wat 388 00:18:17,990 --> 00:18:22,830 gebeur, gerieflik, genoem te word PHP, daardie program PHP gaan lees 389 00:18:22,830 --> 00:18:26,120 hierdie lêer, bo na onder, links na regs, en dit gaan om te doen wat ek 390 00:18:26,120 --> 00:18:30,110 vertel om dit te doen nie - die uitvoering van kode, en indien dit erken nie iets nie, net 391 00:18:30,110 --> 00:18:31,320 spoeg dit uit. 392 00:18:31,320 --> 00:18:34,940 So ek gaan om voort te gaan en hardloop PHP van hello.php. 393 00:18:34,940 --> 00:18:37,110 Betree. 394 00:18:37,110 --> 00:18:39,690 >> En dit is nie heeltemal wat ek bedoel. 395 00:18:39,690 --> 00:18:40,530 Wel, hoekom is dit? 396 00:18:40,530 --> 00:18:43,910 Wel, PHP is 'n taal wat eintlik ontwerp om redelik wees 397 00:18:43,910 --> 00:18:46,150 verweef met die web. 398 00:18:46,150 --> 00:18:50,460 By die maak van web bladsye met hierdie taal PHP, as ons sal binnekort te sien, sal ons 399 00:18:50,460 --> 00:18:54,560 iets wil druk om dit te doen uit lyne soos hierdie. 400 00:18:54,560 --> 00:18:55,940 >> So ek gaan om dit te doen. 401 00:18:55,940 --> 00:19:00,810 Open bracket, vraagteken, PHP, en nou is ek net gaan streepje net te hou 402 00:19:00,810 --> 00:19:01,960 dinge mooi. 403 00:19:01,960 --> 00:19:04,910 En nou gaan ek 'n vraag te doen merk naby bracket. 404 00:19:04,910 --> 00:19:06,270 So is daar 'n bietjie van asimmetrie hier. 405 00:19:06,270 --> 00:19:07,490 Jy doen dit nie. 406 00:19:07,490 --> 00:19:10,530 En jy doen nie 'n streep, so PHP is 'n bietjie anders. 407 00:19:10,530 --> 00:19:14,610 >> Maar nou, as ek tik hierdie program, PHP hello.php, nou is ek 408 00:19:14,610 --> 00:19:16,090 eintlik kry Hello World. 409 00:19:16,090 --> 00:19:17,750 En ons sal sien waarom hierdie is waardevol. 410 00:19:17,750 --> 00:19:20,960 Een, dit laat my te spesifiseer, super uitdruklik, is dit 411 00:19:20,960 --> 00:19:22,480 kode, uit te voer nie. 412 00:19:22,480 --> 00:19:25,480 En dit is inderdaad wat hierdie spesiale tags impliseer hier. 413 00:19:25,480 --> 00:19:30,330 >> Maar dit beteken ook dat as ek net doen iets soos ek mik hier, wat 414 00:19:30,330 --> 00:19:34,000 beteken dat letterlik, wat net gedruk word sonder die behoefte om te 415 00:19:34,000 --> 00:19:36,850 eintlik printf noem, of druk, of enige soortgelyke funksie. 416 00:19:36,850 --> 00:19:39,445 So sal ons kom terug na daardie in net 'n oomblik. 417 00:19:39,445 --> 00:19:40,470 >> Eerstens, laat ons dit doen. 418 00:19:40,470 --> 00:19:43,950 Binnekant van die toestel, ons het 'n gids genoem vhosts, vir die virtuele 419 00:19:43,950 --> 00:19:47,000 gashere, streep plaaslike gasheer, streep publiek. 420 00:19:47,000 --> 00:19:50,240 So dit is 'n bietjie verbose, maar lang storie kort, is die toestel ontwerp is om nie 421 00:19:50,240 --> 00:19:53,770 net om te ondersteun C. Dit is ook ' ontwerp PHP te ondersteun. 422 00:19:53,770 --> 00:19:57,440 Maar dit is ook ontwerp om 'n web wees bediener, en 'n databasis bediener. 423 00:19:57,440 --> 00:20:00,230 En dit is ontwerp, en werklik ingestel, te herinner aan enige 424 00:20:00,230 --> 00:20:04,230 kommersiële web hosting maatskappy wat jy kan betaal $ 5 per maand vir, 425 00:20:04,230 --> 00:20:05,040 $ 100 per maand vir. 426 00:20:05,040 --> 00:20:08,200 Wat ook al die diens is, is dit ingestel te wees baie soortgelyk aan 'n 427 00:20:08,200 --> 00:20:10,170 ware die wêreld se produksie bediener. 428 00:20:10,170 --> 00:20:13,485 >> En wat dit beteken, is dat die bedryf op die toestel is web bediener-sagteware. 429 00:20:13,485 --> 00:20:15,060 Dit gebeur genoem te word Apache. 430 00:20:15,060 --> 00:20:17,790 Dis net gratis en open source, en baie gewild. 431 00:20:17,790 --> 00:20:23,260 En ons het ingestel Apache om te weet dat as ek na 'n sekere URL, met 432 00:20:23,260 --> 00:20:28,060 Chrome of enige leser binnekant van die toestel, om te kyk na hierdie gids 433 00:20:28,060 --> 00:20:31,030 vir die lêers wat die gebruiker versoek. 434 00:20:31,030 --> 00:20:32,790 >> Met ander woorde, laat my gaan voort en doen dit. 435 00:20:32,790 --> 00:20:36,890 Binnekant van my openbare gids, ek gaan om voort te gaan en die skep van 'n lêer 436 00:20:36,890 --> 00:20:39,580 genoem index.html. 437 00:20:39,580 --> 00:20:41,000 Dit gee my die blad hier. 438 00:20:41,000 --> 00:20:44,210 En ek gaan baie vinnig gaan en voort te gaan en bang uit 439 00:20:44,210 --> 00:20:45,010 hierdie program hier. 440 00:20:45,010 --> 00:20:48,410 DOCTYPE HTML, wat vir nou, net aanvaar jy het om te tik. 441 00:20:48,410 --> 00:20:53,490 Dit is net 'n arcane tag, dit is nie werklik 'n HTML tag, wat bepaal dat 442 00:20:53,490 --> 00:20:55,050 hier kom 'n paar HTML. 443 00:20:55,050 --> 00:20:57,400 >> Ek gaan om voort te gaan en te herskep wat ons gesien het 'n oomblik gelede. 444 00:20:57,400 --> 00:20:58,650 Hier is die hoof van die bladsy. 445 00:20:58,650 --> 00:21:01,170 Binnekant van die kop was die - 446 00:21:01,170 --> 00:21:01,890 so titel. 447 00:21:01,890 --> 00:21:04,340 So sal ons sê hallo, wêreld. 448 00:21:04,340 --> 00:21:06,570 En dan is hier is die liggaam tag. 449 00:21:06,570 --> 00:21:08,580 Laat my naby die liggaam tag. 450 00:21:08,580 --> 00:21:12,280 En dan is hier, ek sal ook sê, Net vir duidelikheid, hallo wêreld. 451 00:21:12,280 --> 00:21:14,770 >> So, dit is, waarskynlik, die eenvoudigste moontlik webblad 452 00:21:14,770 --> 00:21:15,770 kan maak wat geldig is. 453 00:21:15,770 --> 00:21:17,030 Dit is sintakties geldig. 454 00:21:17,030 --> 00:21:18,620 Alles wat oop is gesluit. 455 00:21:18,620 --> 00:21:20,910 Alles is mooi in gestileer en ingeduik. 456 00:21:20,910 --> 00:21:23,600 So kom ons kyk nou hoe ek kan toegang tot hierdie lêer. 457 00:21:23,600 --> 00:21:25,540 >> Wel, laat ek gaan na Chrome hier. 458 00:21:25,540 --> 00:21:35,050 En laat my gaan na http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 So, wat is die plaaslike gasheer? 460 00:21:36,200 --> 00:21:39,400 Wel, die meeste enige rekenaar in die wêreld, Linux, Mac OS, Windows, het 'n bynaam 461 00:21:39,400 --> 00:21:40,680 genoem plaaslike gasheer. 462 00:21:40,680 --> 00:21:42,900 So as jy ooit wil praat om jou eie rekenaar - 463 00:21:42,900 --> 00:21:45,140 hoewel, vreemd refleksief - 464 00:21:45,140 --> 00:21:47,080 jy jouself plaaslike gasheer. 465 00:21:47,080 --> 00:21:50,390 Maak nie saak wat jou werklike rekenaar genoem word, of dit nou Dawid se MacBook 466 00:21:50,390 --> 00:21:52,490 Lug, of iets meer verbose soos dit. 467 00:21:52,490 --> 00:21:57,760 >> So hierdie URL is blykbaar gaan gebruik die HTTP om te praat met die plaaslike gasheer, 468 00:21:57,760 --> 00:22:00,800 dieselfde rekenaar, die toestel, en dit gaan om te vra, net 'n vat 469 00:22:00,800 --> 00:22:02,570 raai, wat lêer? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 So het die toestel is opgestel in bevorder om te weet dat as ek vra 472 00:22:08,650 --> 00:22:13,460 vir iets soos index.html, kyk vir in 'n gids met die naam vhosts, in 'n 473 00:22:13,460 --> 00:22:17,950 gids met die naam local host, in 'n gids daarin genoem publiek. 474 00:22:17,950 --> 00:22:20,400 Dit is waar al van my openbare lêers gaan wees. 475 00:22:20,400 --> 00:22:22,610 So ek gaan nou Tik te tref. 476 00:22:22,610 --> 00:22:27,100 >> En damn, daar is dat die verbode boodskap, andersins bekend as 403, die 477 00:22:27,100 --> 00:22:28,490 numeriese kode vir dit. 478 00:22:28,490 --> 00:22:30,130 Wat is verkeerd hier? 479 00:22:30,130 --> 00:22:33,210 Wel, dit is nie genoeg om net te sit die lêer binnekant van my gids. 480 00:22:33,210 --> 00:22:35,790 Ek nodig het om werklik te doen die volgende. 481 00:22:35,790 --> 00:22:40,210 >> Laat my gaan in my vhosts gids, in localhost, in die openbaar, en laat 482 00:22:40,210 --> 00:22:41,680 my doen LS stamp l. 483 00:22:41,680 --> 00:22:44,510 En daar is 'n paar ander dinge in hier vir vandag se doeleindes. 484 00:22:44,510 --> 00:22:50,540 Maar let op die linkerkant, langs te index.html, ons sien net een RW. 485 00:22:50,540 --> 00:22:53,560 En in die verlede, wat het RW staan ​​vir? 486 00:22:53,560 --> 00:22:54,240 >> Net lees of skryf nie. 487 00:22:54,240 --> 00:22:58,000 Die feit dat dit rw sê aan die linkerkant beteken dat ek, die eienaar van hierdie lêer, kan 488 00:22:58,000 --> 00:22:59,020 lees of skryf nie. 489 00:22:59,020 --> 00:23:05,010 Maar ek nodig het om te laat al die mense in die wêreld dit lees, al is dit nie skryf nie. 490 00:23:05,010 --> 00:23:09,650 So ek gaan die modus van die te verander lêer, chmod, al plus r te gee 491 00:23:09,650 --> 00:23:13,910 almal lees toelating op die lêer genaamd index.html. 492 00:23:13,910 --> 00:23:18,040 >> En as ek nou Tik LS stamp l, kennisgewing dat hier, sommige meer 493 00:23:18,040 --> 00:23:19,160 R se het opgeduik. 494 00:23:19,160 --> 00:23:21,090 En vir nou, die spec gaan in meer detail. 495 00:23:21,090 --> 00:23:24,450 Vir P set 7, wat net almal beteken nou kan lees hierdie lêer. 496 00:23:24,450 --> 00:23:27,790 As ek gaan terug na my leser nou en laai, voila. 497 00:23:27,790 --> 00:23:28,750 Hello world. 498 00:23:28,750 --> 00:23:32,260 >> En ek kan selfs maak my Chrome gereedskap en sien, net soos met Google en 499 00:23:32,260 --> 00:23:34,590 Facebook dat daar is my HTML, geformateer 'n bietjie 500 00:23:34,590 --> 00:23:35,930 anders en gekleurde. 501 00:23:35,930 --> 00:23:40,450 As ek gaan na die netwerk blad en herlaai die bladsy sien dat daar die kry 502 00:23:40,450 --> 00:23:42,900 versoek dat Chrome is die stuur na die toestel. 503 00:23:42,900 --> 00:23:46,020 Daar is die 200 vir daardie spesifieke lêer. 504 00:23:46,020 --> 00:23:49,340 Dus, in kort, dit is hoe al hierdie Verskeie stukke bymekaar kom. 505 00:23:49,340 --> 00:23:53,530 Dit is net so gebeur dat die web bediener ons is nou in gebruik is nie afgeleë, 506 00:23:53,530 --> 00:23:54,210 soos Facebook. 507 00:23:54,210 --> 00:23:58,330 Dit is letterlik op dieselfde rekenaar, wat is heeltemal OK. 508 00:23:58,330 --> 00:24:00,590 >> So, wat meer kan ons doen om in 'n webblad? 509 00:24:00,590 --> 00:24:03,110 Wel, net, laat ons briesie deur 'n paar van hierdie dinge. 510 00:24:03,110 --> 00:24:07,860 Maar laat my gaan voort en heropen Gedit met index.html. 511 00:24:07,860 --> 00:24:13,980 En laat my gaan voort en sê hallo CS50, behalwe hierdie lêer, gaan terug na die 512 00:24:13,980 --> 00:24:16,260 leser, regtig underwhelming verandering. 513 00:24:16,260 --> 00:24:19,130 >> Maar wat as ons wil eintlik koppel aan iets wat nou? 514 00:24:19,130 --> 00:24:23,480 So dit blyk dat ons die kan skakels in HTML wat net tags 515 00:24:23,480 --> 00:24:24,140 hulself. 516 00:24:24,140 --> 00:24:27,320 Dit gebeur genoem te word van die ankertag. a href gelyk 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net Sluit kwotasie, naby bracket. 518 00:24:33,190 --> 00:24:35,230 En nou, laat ons sien wat anders kom volgende. 519 00:24:35,230 --> 00:24:36,500 >> Ek het die opening van die etiket. 520 00:24:36,500 --> 00:24:38,990 Ek moet dit nou gee 'n frase soos CS50. 521 00:24:38,990 --> 00:24:40,600 Laat my naby die etiket. 522 00:24:40,600 --> 00:24:42,010 En sien 'n paar dinge. 523 00:24:42,010 --> 00:24:45,270 Selfs al is daar hierdie kriptiese ding hier het ek nie herhaal dit wanneer jy 524 00:24:45,270 --> 00:24:46,010 naby die etiket. 525 00:24:46,010 --> 00:24:48,230 Jy net naby die tag met sy naam alleen. 526 00:24:48,230 --> 00:24:50,940 En dit is wat bekend staan ​​as 'n kenmerk met 'n waarde. 527 00:24:50,940 --> 00:24:56,070 Eienskappe net verander die gedrag van 'n paar tag binnekant van 'n bladsy. 528 00:24:56,070 --> 00:24:59,150 >> So, dit is spesifiseer dat die Hyper verwysing, die fancy manier om te sê die 529 00:24:59,150 --> 00:25:03,660 URL vir hierdie anker, vir hierdie skakel, moet CS50.net. 530 00:25:03,660 --> 00:25:07,440 En die teks wat ons wil hê dat die aan te toon gebruikers is nie dat rou URL nie, maar eerder 531 00:25:07,440 --> 00:25:08,730 die woord CS50. 532 00:25:08,730 --> 00:25:13,710 >> So as ek nou laai, laat my zoom in vir duidelikheid, laat my herlaai die bladsy 533 00:25:13,710 --> 00:25:16,460 sien dat ons hierdie ou skool blou onderstreep skakel. 534 00:25:16,460 --> 00:25:20,000 En as ek hang oor dit, en dit gaan taai wees om te sien, in die onderste linkerkant 535 00:25:20,000 --> 00:25:23,690 hand hoek van die skerm, let dat dit sê die URL na wat 536 00:25:23,690 --> 00:25:24,430 Ek gaan om te gaan. 537 00:25:24,430 --> 00:25:27,940 En as ek op daar, voila, nou ek maak web bladsye. 538 00:25:27,940 --> 00:25:30,140 En ons het gelei onsself na die tuisblad. 539 00:25:30,140 --> 00:25:32,670 >> Maar let Watter potensiële hierdie bied ons. 540 00:25:32,670 --> 00:25:34,890 Sekuriteit is baie in die mode hierdie dae. 541 00:25:34,890 --> 00:25:41,210 Wat as ek in plaas daarvan sê iets soos hierdie, en ek plaas toe gaan, sê, laat ons 542 00:25:41,210 --> 00:25:42,460 sien, fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Herlaai die bladsy. 545 00:25:46,360 --> 00:25:50,180 >> OK, so sien dit nog steeds lyk asof ek gaan CS50, tensy 'n slim oog 546 00:25:50,180 --> 00:25:51,560 sal sien wat ek gaan vals CS50. 547 00:25:51,560 --> 00:25:54,550 Ek vermoed hierdie domein nie geneem word nie. 548 00:25:54,550 --> 00:25:55,960 OK, so dit is nie beskikbaar nie. 549 00:25:55,960 --> 00:25:56,600 So dit is goed. 550 00:25:56,600 --> 00:25:57,900 Niemand het eintlik wat domein. 551 00:25:57,900 --> 00:26:00,380 >> Maar laat ons 'n bietjie meer kwaadwillige want dit is soort van dom. 552 00:26:00,380 --> 00:26:02,240 Wat as ons nie verander om dit te Paypal. 553 00:26:02,240 --> 00:26:09,960 En wat as ons noem dit, soos, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 ongeag die domein is. 555 00:26:12,070 --> 00:26:13,700 Wat bestaan ​​waarskynlik. 556 00:26:13,700 --> 00:26:16,260 So nou laat my herlaai die bladsy. 557 00:26:16,260 --> 00:26:22,890 En hier het ons 'n soort van 'phishing aanval, P-H-I-S-H-ek-N-G, wat die 558 00:26:22,890 --> 00:26:26,760 dom woord gegee vir 'n aanval wat probeer om vis te vang inligting, of beter 559 00:26:26,760 --> 00:26:30,450 nie, geld uit mense deur tricking hulle in die verskaffing van inligting wat 560 00:26:30,450 --> 00:26:31,990 hulle dalk andersins nie doen nie. 561 00:26:31,990 --> 00:26:33,500 Dit lyk heeltemal wettig, reg? 562 00:26:33,500 --> 00:26:34,930 Ek moet 'n skakel hier te Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 In regverdigheid, as ek sexed dit met 'n paar grafiese, kan ons maak dat dit lyk 565 00:26:40,430 --> 00:26:41,310 meer soos PayPal. 566 00:26:41,310 --> 00:26:41,510 Reg? 567 00:26:41,510 --> 00:26:43,815 Want ek kon, as 'n eenkant, Ek kon gaan na Paypal.com. 568 00:26:43,815 --> 00:26:47,110 En ons het net gesien hoe ek kan sien al hul HTML. 569 00:26:47,110 --> 00:26:50,560 Ek kon net kopieer dit en herskep die estetika van Paypal eerder as om te gaan 570 00:26:50,560 --> 00:26:51,490 ou skool hier. 571 00:26:51,490 --> 00:26:55,010 Maar let op, natuurlik, en dit is 'n bietjie klein nog, net in die onderste 572 00:26:55,010 --> 00:26:59,190 linker hoek, soos 'n 10-punt skrif, sien jy watter URL jy 573 00:26:59,190 --> 00:27:01,310 eintlik gaan word gelei tot. 574 00:27:01,310 --> 00:27:06,580 >> En so as jy al ooit gekry spam sê gaan voort, en jy rekening 575 00:27:06,580 --> 00:27:07,420 in die gedrang gebring. 576 00:27:07,420 --> 00:27:10,615 Klik op hierdie skakel en laat ons weet jou wagwoord sodat ons kan verseker dat jy 577 00:27:10,615 --> 00:27:13,010 jy, nie ooit nie doen nie. 578 00:27:13,010 --> 00:27:14,180 Hierdie dinge moet gaan sonder om te sê. 579 00:27:14,180 --> 00:27:17,670 Maar dit is wonderlik komies, en tragiese, hoe om elke jaar hierdie blyk te 580 00:27:17,670 --> 00:27:19,660 gebeur met 'n nie-nul aantal mense. 581 00:27:19,660 --> 00:27:21,400 >> En dit is die skoonheid van phishing-aanvalle. 582 00:27:21,400 --> 00:27:23,160 Jy kan stuur 'n e-pos miljoen. 583 00:27:23,160 --> 00:27:27,720 En selfs as 0,01% van die mense eintlik Klik op Paypal en gee jou 584 00:27:27,720 --> 00:27:31,040 wagwoord, dit is nog steeds 'n nie-nul getal van mense wat nog net gee 585 00:27:31,040 --> 00:27:32,200 jy hul geld. 586 00:27:32,200 --> 00:27:36,170 En die stuur van e-posse, natuurlik, is baie maklik en die wese, gratis 587 00:27:36,170 --> 00:27:36,970 hierdie dae. 588 00:27:36,970 --> 00:27:40,410 >> So lang storie kort, wonderlik pragtige idee, reg? 589 00:27:40,410 --> 00:27:44,620 Jare gelede, dit was die vroegste web, sodat 'n web van 590 00:27:44,620 --> 00:27:46,330 skakels tussen hulpbronne. 591 00:27:46,330 --> 00:27:49,520 Maar so vinnig kan dit wees gebruik word vir die siek doeleindes. 592 00:27:49,520 --> 00:27:54,100 En e-pos, is dit voldoende om te sê, hierdie dae, het HTML ingesluit binne. 593 00:27:54,100 --> 00:27:55,410 >> Wel, laat my net 'n ander ding. 594 00:27:55,410 --> 00:27:58,640 En ons sal grootliks uitstel artikel in probleem die sewe toe te laat om jou te 595 00:27:58,640 --> 00:28:00,000 verken die besonderhede. 596 00:28:00,000 --> 00:28:01,990 Maar laat my gaan voort en doen 'n paar dinge hier. 597 00:28:01,990 --> 00:28:04,840 Ek gaan om te gaan en dit in wat genoem word 'n div, of 598 00:28:04,840 --> 00:28:06,080 afdeling van die bladsy. 599 00:28:06,080 --> 00:28:07,770 Laat my naby dat div tag. 600 00:28:07,770 --> 00:28:11,460 >> En ek gaan om te sê tot hier top van die bladsy. 601 00:28:11,460 --> 00:28:14,940 En dan daaronder, ek gaan om dit te doen iets soos 'n ander div, sluit hierdie 602 00:28:14,940 --> 00:28:17,800 tag, en doen onderkant van bladsy. 603 00:28:17,800 --> 00:28:18,840 En laat dit red. 604 00:28:18,840 --> 00:28:21,040 >> So nou, laat ons gaan terug na my lêer. 605 00:28:21,040 --> 00:28:22,120 Baie underwhelming. 606 00:28:22,120 --> 00:28:25,520 Maar wat afdeling is wat gebruik word vir, onder die enjinkap, is dit eintlik ' 607 00:28:25,520 --> 00:28:26,920 'n lekker strukturele element. 608 00:28:26,920 --> 00:28:30,300 Dit hoef nie enige estetika so ver as ons kan sien, anders as, glo, 609 00:28:30,300 --> 00:28:31,890 om dinge op nuwe reëls. 610 00:28:31,890 --> 00:28:36,290 >> Maar kennisgewing, as 'n eenkant, net slaan Tik nie sny dit in HTML soos dit 611 00:28:36,290 --> 00:28:39,840 nie in C. Jy mag dalk dink dat dit is gaan 'n lekker groot gaping tussen te sit 612 00:28:39,840 --> 00:28:41,300 die bo-en onderkant van die bladsy. 613 00:28:41,300 --> 00:28:43,420 Maar dit is geïgnoreer. 614 00:28:43,420 --> 00:28:48,040 Wit spasie is in wese geïgnoreer in webblaaie anders as die heel eerste 615 00:28:48,040 --> 00:28:51,530 space bar karakter, of return, wat jy druk op die sleutelbord. 616 00:28:51,530 --> 00:28:55,370 As jy wil meer lyn breek, moet jy moet spesifiseer dit self. 617 00:28:55,370 --> 00:28:59,080 >> So ek gaan 'n paar dinge om te doen hier om te wys wat aangaan. 618 00:28:59,080 --> 00:29:02,700 Ek gaan 'n kenmerk by te voeg dat bestaan ​​en weer, die manier waarop jy leer 619 00:29:02,700 --> 00:29:07,110 Watter eienskappe bestaan ​​nie, wat etikette bestaan ​​nie, regtig, is op die regte verwysings. 620 00:29:07,110 --> 00:29:09,750 HTML is die soort van taal - dit is nie 'n programmeertaal. 621 00:29:09,750 --> 00:29:12,460 Dit is 'n opmaak taal - wat na 'n goeie halfuur, miskien, 'n uur met 622 00:29:12,460 --> 00:29:15,930 dit, jy sal sekerlik begryp, die meeste waarskynlik, die basiese idee. 623 00:29:15,930 --> 00:29:20,350 En dan 'n Google-soektog is weg al die moontlike etikette wat jy kan wees 624 00:29:20,350 --> 00:29:21,170 geïnteresseerd in 625 00:29:21,170 --> 00:29:24,290 En volgens die spec, dit is heel verwelkom en aangemoedig hier. 626 00:29:24,290 --> 00:29:26,120 >> So nou laat my gaan voort en doen iets soos hierdie. 627 00:29:26,120 --> 00:29:28,690 Agtergrond-kleur. 628 00:29:28,690 --> 00:29:32,060 En nou, ek gaan om iets te doen soos rooi, kommapunt. 629 00:29:32,060 --> 00:29:33,970 En jy kan dit doen in 'n paar verskillende maniere. 630 00:29:33,970 --> 00:29:36,770 Ek is net 'n soort van tik dit as super uitdruklik as moontlik. 631 00:29:36,770 --> 00:29:41,960 >> Maar dit blyk dat hierdie waarde is hier wat genoem CSS, Cascading Style 632 00:29:41,960 --> 00:29:43,700 Velle, wat ook 'n taal geheel en al. 633 00:29:43,700 --> 00:29:46,770 CSS het niks te doen met oop etikette en naby tags. 634 00:29:46,770 --> 00:29:48,230 Dit het te doen met die eienskappe. 635 00:29:48,230 --> 00:29:52,660 >> En eienskappe is eenvoudig sleutel waarde pare, wat net 'n paar woord beteken, 636 00:29:52,660 --> 00:29:54,680 kolon, en dan 'n ander woord. 637 00:29:54,680 --> 00:29:57,940 En as jy het verskeie mense, of net een hier, kan jy eindig dit met 'n 638 00:29:57,940 --> 00:29:59,390 kommapunt, net vir duidelikheid. 639 00:29:59,390 --> 00:30:01,370 Maar dit sal ook hier te werk. 640 00:30:01,370 --> 00:30:02,500 >> Nou wat is dit doen? 641 00:30:02,500 --> 00:30:03,610 Jy kan seker raai. 642 00:30:03,610 --> 00:30:05,930 Laat my gaan voort en herlaai die bladsy. 643 00:30:05,930 --> 00:30:07,300 En nou is dit regtig kom saam. 644 00:30:07,300 --> 00:30:09,150 So bokant van my bladsy is rooi. 645 00:30:09,150 --> 00:30:12,380 Maar wat is die sleutel hier is dat ek genoem vroeër, wat div gee jou 646 00:30:12,380 --> 00:30:13,220 'n afdeling van die bladsy. 647 00:30:13,220 --> 00:30:14,410 En dit is inderdaad wat dit doen. 648 00:30:14,410 --> 00:30:17,920 Dit verdeel in wese die bladsy in 'n reghoek wat jy dan kan 649 00:30:17,920 --> 00:30:18,720 manipuleer. 650 00:30:18,720 --> 00:30:22,330 >> En hierdie idee van reghoeke is 'n soort van dwingende in dat, as jy dink 651 00:30:22,330 --> 00:30:26,410 die meeste 'n webwerf, daar is waarskynlik 'n struktuur om dit te. 652 00:30:26,410 --> 00:30:29,620 Die meeste van julle het selde waarskynlik gesien Facebook se tuisblad as jy aangemeld 653 00:30:29,620 --> 00:30:30,440 in al die tyd. 654 00:30:30,440 --> 00:30:33,920 >> Maar op Facebook se tuisblad, is daar 'n soort van div langs die top. 655 00:30:33,920 --> 00:30:36,140 En dit kan nie so eenvoudig wees as een div nie, maar daar is 'n 656 00:30:36,140 --> 00:30:37,560 vierkantige streek is daar. 657 00:30:37,560 --> 00:30:40,290 Die res van die bladsy is soos 'n groot div, soos 'n baie 658 00:30:40,290 --> 00:30:41,910 groter reghoekige gebied. 659 00:30:41,910 --> 00:30:44,540 So lang storie kort, net deur met hierdie klein boublokke, die 660 00:30:44,540 --> 00:30:49,250 vermoë om model dinge soos reghoeke, of wyd of eng, jy kan ook 661 00:30:49,250 --> 00:30:53,680 maak kolomme potensieel, kan jy lê bladsye, regtig nie, maar jy 662 00:30:53,680 --> 00:30:54,100 wil. 663 00:30:54,100 --> 00:30:56,170 Ons is net regtig krap die oppervlak hier. 664 00:30:56,170 --> 00:30:59,820 >> Inderdaad, as ek een ander een, Laat my gaan voort en doen styl, 665 00:30:59,820 --> 00:31:05,410 agtergrond-kleur, sal ons doen iets soos blou, naby aanhalings. 666 00:31:05,410 --> 00:31:06,620 Kom ons laai dit. 667 00:31:06,620 --> 00:31:08,260 Dus is dit nou kry selfs leliker. 668 00:31:08,260 --> 00:31:11,520 Maar nou kan ek soort wys af my P stel vyf vaardighede, reg? 669 00:31:11,520 --> 00:31:12,690 Red. 670 00:31:12,690 --> 00:31:15,640 Dit herinner my aan RGB, Rooi Green Blue verdriedubbel. 671 00:31:15,640 --> 00:31:19,330 Wel, dit blyk in die web ontwikkeling, of web ontwerp, wat is dit, ons het 672 00:31:19,330 --> 00:31:21,650 nog nie geprogrammeer enigiets per se nie, kan jy eintlik 673 00:31:21,650 --> 00:31:22,880 het heksadesimaal kode. 674 00:31:22,880 --> 00:31:26,480 So iets iets, iets iets, iets wat iets. 675 00:31:26,480 --> 00:31:30,650 So kan jy ses heksadesimale karakters, of drie, in sommige gevalle, 676 00:31:30,650 --> 00:31:33,480 en elkeen van daardie vraagtekens het om 'n heksadesimale syfers, 677 00:31:33,480 --> 00:31:34,985 zero deur f. 678 00:31:34,985 --> 00:31:41,000 >> As ek wil 'n baie rooi te hê, en geen groen, en geen blou, wat is die 679 00:31:41,000 --> 00:31:43,740 teenoorgestelde van nul by die gebruik van blok? 680 00:31:43,740 --> 00:31:44,480 Dit is f. 681 00:31:44,480 --> 00:31:51,130 So ek kan doen VF, nul nul nul nul, behalwe hierdie, en nou kom hier. 682 00:31:51,130 --> 00:31:52,700 En ek het nie eintlik 'n verandering. 683 00:31:52,700 --> 00:31:56,230 So quote unquote "rooi" is blykbaar sinoniem vir al die rooi, 684 00:31:56,230 --> 00:31:57,610 geen groen, nie blou. 685 00:31:57,610 --> 00:31:59,960 Intussen, laat ons doelbewus verander hierdie een te wees om iets 686 00:31:59,960 --> 00:32:01,210 ewekansige, soos ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Kom ons kyk wat dit is. 689 00:32:05,860 --> 00:32:08,530 Dit is 'n baie mooi blou, eintlik, baba blou. 690 00:32:08,530 --> 00:32:11,820 Alle reg, so dit is nou net ietwat ewekansige kombinasies van 691 00:32:11,820 --> 00:32:12,210 karakters. 692 00:32:12,210 --> 00:32:13,410 So ons sal nie verzanden in hier. 693 00:32:13,410 --> 00:32:15,930 Maar weereens, dit praat met die presisie dat jy kan begin om te 694 00:32:15,930 --> 00:32:19,090 pas - selfs al is jy baie oorweldig deur die estetika. 695 00:32:19,090 --> 00:32:21,750 In werklikheid, as jy regtig wil wees beïndruk, laat my gaan voort en verander 696 00:32:21,750 --> 00:32:23,500 die lettergrootte, byvoorbeeld. 697 00:32:23,500 --> 00:32:25,960 En kennis van die kommapunt, wat nodig is om daar. 698 00:32:25,960 --> 00:32:29,570 >> Lettergrootte, kan ons net belaglik hier, 96 punt. 699 00:32:29,570 --> 00:32:31,280 Behalwe dat. 700 00:32:31,280 --> 00:32:33,670 Sjoe, dit is 'n groot lettergrootte. 701 00:32:33,670 --> 00:32:35,490 Alle reg, so dit is baie maklik. 702 00:32:35,490 --> 00:32:38,260 En eintlik, is jy in wese sien die heel eerste web bladsy wat ek gemaak het 703 00:32:38,260 --> 00:32:40,060 jaar gelede, toe ek die eerste keer geleer het hierdie dinge. 704 00:32:40,060 --> 00:32:42,190 Dit is baie maklik om te maak baie afskuwelike dinge vinnig. 705 00:32:42,190 --> 00:32:46,115 >> En as jy vertroud is met die Wayback Masjien op archive.org, jy 706 00:32:46,115 --> 00:32:48,210 kan jy al my afskuwelike voorgraadse web bladsye. 707 00:32:48,210 --> 00:32:50,090 Een het Kermit die padda op die voorblad. 708 00:32:50,090 --> 00:32:53,150 Ek het deur 'n fase waar ek gedink dit was cool die agtergrond van te neem 709 00:32:53,150 --> 00:32:56,320 'n rooi gordyn, toe ek geleer hoe jy kan teël beelde weer, en weer, en 710 00:32:56,320 --> 00:32:59,540 weer te vul 'n bladsy met 'n groot taai rooi gordyn. 711 00:32:59,540 --> 00:33:03,120 En dan, op die top van hierdie, was 'n ikoon wat jy gehad het om te klik my huis toe te gaan 712 00:33:03,120 --> 00:33:04,960 bladsy, want dit was baie in die mode. 713 00:33:04,960 --> 00:33:08,870 >> En dan is my eerste program wat ek ooit geskryf het was nie in PHP, maar in 'n taal 714 00:33:08,870 --> 00:33:12,260 genoem Pearl, het 'n gas boek, wat is 'n baie cool ding wat 'n 715 00:33:12,260 --> 00:33:14,250 Baie van die mense verwag dat jy het op 'n tuisblad. 716 00:33:14,250 --> 00:33:17,510 Wanneer jy by die bladsy, hulle wil hê jy aan te meld, en sê wie jy is, 717 00:33:17,510 --> 00:33:18,720 en hoekom jy daar is. 718 00:33:18,720 --> 00:33:21,320 Dit is baie 1990's styl web ontwerp. 719 00:33:21,320 --> 00:33:24,130 >> Maar deesdae, sekerlik, het ons kom 'n baie verder. 720 00:33:24,130 --> 00:33:27,560 En jy sal sien, in artikel, en selfs in die probleem die sewe, deur 721 00:33:27,560 --> 00:33:31,570 gebruik te maak van biblioteke hierdie dae, dit is soveel makliker te maak 722 00:33:31,570 --> 00:33:33,400 mooier dinge vinnig. 723 00:33:33,400 --> 00:33:36,550 Regtig hier nie, ons is net krap die oppervlak van wat jy kan doen 724 00:33:36,550 --> 00:33:37,400 stilisties. 725 00:33:37,400 --> 00:33:41,660 >> En in die feit dat al, laat my beklemtoon dat dit reeds om lelik, nie 726 00:33:41,660 --> 00:33:46,030 net esteties, maar in terme van die styl van my kode, of die 727 00:33:46,030 --> 00:33:47,260 ontwerp van my kode. 728 00:33:47,260 --> 00:33:52,350 Ek het tans comingled HTML, wat is die groen oop tags daar, met 729 00:33:52,350 --> 00:33:55,160 CSS eienskappe, wat is heeltemal wettig. 730 00:33:55,160 --> 00:33:57,200 Dit is regtig waar die taal het sy oorsprong. 731 00:33:57,200 --> 00:34:01,030 >> Maar in die belang van skoon ontwerp, baie soos ons begin factoring dinge 732 00:34:01,030 --> 00:34:05,370 uit C-lêers in h lêers., laat my eintlik oefen dat die soort van 733 00:34:05,370 --> 00:34:07,990 beginsel en begin doen hierdie plaas. 734 00:34:07,990 --> 00:34:13,280 Laat ek 'n styl tag hier, wat Daar bestaan ​​ook in HTML, en laat my 735 00:34:13,280 --> 00:34:15,330 spesifiseer die volgende. 736 00:34:15,330 --> 00:34:16,360 Laat my verwyder nie. 737 00:34:16,360 --> 00:34:18,110 Agtergrond gaan rooi wees. 738 00:34:18,110 --> 00:34:19,800 Ek gaan dit heeltemal te verwyder. 739 00:34:19,800 --> 00:34:22,580 Ek gaan om ontslae te raak van die styl skryf, en ek gaan om 'n unieke 740 00:34:22,580 --> 00:34:24,620 identifiseer hierdie div met 'n woord - 741 00:34:24,620 --> 00:34:28,750 arbitrêr, maar redelik, quote unquote "top." En id is 'n spesiale 742 00:34:28,750 --> 00:34:32,530 eienskap wat uniek definieer 'n sekere HTML element 743 00:34:32,530 --> 00:34:33,850 as gesien dat die id. 744 00:34:33,850 --> 00:34:37,969 >> As ek nou wil gestileer dit hier in die hoof van my bladsy, binnekant van die 745 00:34:37,969 --> 00:34:41,730 styl tag, sien dat Ek kan doen hash top. 746 00:34:41,730 --> 00:34:45,300 En dan het ek kan sit 'n paar van krullerige draadjies, wat herinner aan C, en dan laat 747 00:34:45,300 --> 00:34:47,130 my plak in daardie stilering. 748 00:34:47,130 --> 00:34:49,929 En laat my voort te gaan hier en verwag waar ek gaan met hierdie. 749 00:34:49,929 --> 00:34:53,380 Laat my ook een skep vir die onderste DIV. 750 00:34:53,380 --> 00:34:58,010 Laat my gryp hierdie afskuwelike kode van af hier, sit dit in hier, en ek sal 751 00:34:58,010 --> 00:35:00,770 'n bietjie meer anale nou en gestileer dit deur net om dinge op hul eie 752 00:35:00,770 --> 00:35:02,540 lyn, en eindig met kommapunte. 753 00:35:02,540 --> 00:35:04,430 Laat my toe om ontslae te raak van die styl tag. 754 00:35:04,430 --> 00:35:05,320 >> Maar ek is nog nie klaar nie. 755 00:35:05,320 --> 00:35:07,406 Ek het 'n ander ding om te doen. 756 00:35:07,406 --> 00:35:10,070 Ja, id gelyk quote unquote, "onderkant," of wat ook al id Ek wil 757 00:35:10,070 --> 00:35:11,740 gee dat die element. 758 00:35:11,740 --> 00:35:13,420 Nou, laat my terug te gaan oor hier. 759 00:35:13,420 --> 00:35:14,360 En dit is gruwelike. 760 00:35:14,360 --> 00:35:15,805 Ek kan nie met 96 punt. 761 00:35:15,805 --> 00:35:16,960 Kom ons doen 24 punt. 762 00:35:16,960 --> 00:35:18,320 Of jy kan meer presies te wees. 763 00:35:18,320 --> 00:35:21,800 Jy kan eintlik gebruik pixels, px, so dat jy regtig fyner graan 764 00:35:21,800 --> 00:35:23,220 beheer oor jou bladsy. 765 00:35:23,220 --> 00:35:26,860 >> As 'n eenkant, dit is nie noodwendig die beste ding wat as gebruikers, vir 766 00:35:26,860 --> 00:35:29,650 toeganklikheid redes, wil in staat wees om groottes te verhoog. 767 00:35:29,650 --> 00:35:32,650 So besef dat daar is maniere om dit te doen dinge wat nie noodwendig 768 00:35:32,650 --> 00:35:34,230 hard-kode alles. 769 00:35:34,230 --> 00:35:37,220 >> Alle reg, so dit is groter, 24 punt, as wat die standaard is. 770 00:35:37,220 --> 00:35:38,630 Maar nou is dit 'n bietjie skoner. 771 00:35:38,630 --> 00:35:40,230 En laat my hierdie een stap verder te neem. 772 00:35:40,230 --> 00:35:47,220 Net soos die idee van die kop lêers, kennisgewing ons is een stap nader aan dat. 773 00:35:47,220 --> 00:35:52,000 Ek het ingereken nie, maar nog steeds links, binnekant van my bladsy, diegene CSS reëls. 774 00:35:52,000 --> 00:35:56,200 Hoekom sou ek wil dit 'n stap te neem verder, verwyder dit heeltemal, en 775 00:35:56,200 --> 00:35:59,860 sit dit in 'n aparte lêer? 776 00:35:59,860 --> 00:36:01,070 >> So ek kan onthou dit, reg? 777 00:36:01,070 --> 00:36:03,155 Dit is net 'n soort intuïsie nou. 778 00:36:03,155 --> 00:36:06,340 Voorheen het ek beweer dat dit was net om lelik met die styl 779 00:36:06,340 --> 00:36:08,480 eienskappe binnekant van die divs hulself. 780 00:36:08,480 --> 00:36:09,750 Maar net 'n soort van dink dat deur. 781 00:36:09,750 --> 00:36:13,560 As jou bladsy kry meer en meer, as jy hier sit, en ook hier, en 782 00:36:13,560 --> 00:36:18,350 hier, en hier, al hierdie verskillende kleure, en skrifgroottes, en ander sulke 783 00:36:18,350 --> 00:36:22,550 eienskappe, jou artikel is baie vinnig gaan onbeheerbaar geword vir jou. 784 00:36:22,550 --> 00:36:24,570 >> As iemand na jou toe kom en sê, o, jy weet wat? 785 00:36:24,570 --> 00:36:28,070 Ek wil baie graag die lettergrootte te verander deur twee bykomende punte, wat jy 786 00:36:28,070 --> 00:36:31,275 mag het om te gaan en uit te vind en te vervang 'n groot aantal van die reëls van die kode. 787 00:36:31,275 --> 00:36:35,170 Dit is baie meer dwingende te sentraliseer alle sodanige estetika hier. 788 00:36:35,170 --> 00:36:38,850 Maar as jy wil diegene te onthou estetika in verskeie web bladsye, al 789 00:36:38,850 --> 00:36:41,100 die meer dwing om vir byvoorbeeld, skep 'n lêer 790 00:36:41,100 --> 00:36:45,290 genoem met die inhoud daarvan. 791 00:36:45,290 --> 00:36:46,680 >> En laat my dit doen. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Hou hierdie lêer. 794 00:36:51,920 --> 00:36:55,580 Ek sê styles.css, arbitrêre, maar konvensionele. 795 00:36:55,580 --> 00:36:58,770 Ek sal dit in John Harvard se huis Gids nou vir eenvoud. 796 00:36:58,770 --> 00:37:03,880 En wat ek kan doen in my webblad is kry ontslae te raak van die styl tag geheel en al, 797 00:37:03,880 --> 00:37:08,270 en 'n bietjie unintuitively, gebruik 'n skakel tag, wat gee jou nie 'n skakel in 798 00:37:08,270 --> 00:37:13,140 die skakel, klikbare sin nie, maar waar ek sê skakel, href gelyk 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 En die verhouding wat hierdie element het met die webblad is om te dien as 801 00:37:20,050 --> 00:37:21,280 die styl blad. 802 00:37:21,280 --> 00:37:22,670 >> So hoe het ek dit weet? 803 00:37:22,670 --> 00:37:25,950 Een, jy moet net lees die handleiding, of jy Google rond, en jy 804 00:37:25,950 --> 00:37:27,000 kyk na die verskillende bronne. 805 00:37:27,000 --> 00:37:30,520 Ek bedoel, wat is werklik hoe jy haal tegnieke soos hierdie, en, in ooreenstemming 806 00:37:30,520 --> 00:37:34,720 met hierdie idee van die onderrig van jouself nuwe tale, weer, sal jy vind dat 807 00:37:34,720 --> 00:37:38,830 Daar is slegs 'n beperkte aantal van die dinge wat aan enige taal wat, sodra jy 808 00:37:38,830 --> 00:37:41,310 hulle, sal jy vind dat dit kry vinniger en vinniger te skryf. 809 00:37:41,310 --> 00:37:44,180 Inderdaad, leer 'n nuwe ontwikkeling taal is so veel vinniger as 'n nuwe 810 00:37:44,180 --> 00:37:47,380 gesproke taal, want hierdie dinge is baie kleiner en nog baie meer 811 00:37:47,380 --> 00:37:48,820 presies omskryf. 812 00:37:48,820 --> 00:37:51,590 >> Maar ek het beklemtoon 'n bietjie van 'n anomalie hier. 813 00:37:51,590 --> 00:37:57,750 Hoekom het ek beklemtoon hierdie sien hier streep? 814 00:37:57,750 --> 00:37:59,420 Want ek het die etiket te sluit. 815 00:37:59,420 --> 00:38:00,530 Ek moet naby die etiket. 816 00:38:00,530 --> 00:38:02,750 En jy sal vind ontelbare hulpbronne aanlyn wat dit doen nie 817 00:38:02,750 --> 00:38:04,080 noodwendig naby tags. 818 00:38:04,080 --> 00:38:08,770 En realisties, dit is nie streng nodig is vir die tegniese en daar is 819 00:38:08,770 --> 00:38:11,950 redes van die werklikheid, implementeer is net redelik verdraagsaam van foute in web 820 00:38:11,950 --> 00:38:14,360 bladsye, vir 'n beter of vir slegter, maar meestal erger. 821 00:38:14,360 --> 00:38:18,830 >> So dit hier is net 'n skoner manier sê iets dom soos hierdie, 822 00:38:18,830 --> 00:38:22,330 waar as jy die skakel tag oop te maak maar sluit nie, daar is regtig geen idee 823 00:38:22,330 --> 00:38:23,720 van die inhoud van 'n skakel tag. 824 00:38:23,720 --> 00:38:26,000 Dit beteken net laai dit lêer en sit dit hier. 825 00:38:26,000 --> 00:38:30,610 Dit is soos 'n skerp sluit in C. Jy kan oop en toe 'n etiket op een slag 826 00:38:30,610 --> 00:38:31,660 binne dieselfde tag. 827 00:38:31,660 --> 00:38:33,520 En daar is ander voorbeelde van hierdie. 828 00:38:33,520 --> 00:38:37,280 Dit is nie die manier om dit te doen nie, maar die br tag, vir lyn breek, as ek 829 00:38:37,280 --> 00:38:41,780 regtig wou bereik wat ek was probeer om voor die deur slaan Gee, indien 830 00:38:41,780 --> 00:38:45,380 Ek uitdruklik sê lyn breek, lyn breek, lyn breek, lyn breek, en 831 00:38:45,380 --> 00:38:49,100 dan herlaai die bladsy, nou sal jy sien dat onderkant van die bladsy is, 832 00:38:49,100 --> 00:38:51,940 inderdaad veel verder af in die onderkant van die bladsy. 833 00:38:51,940 --> 00:38:55,840 Maar selfs dit kan gedoen word baie meer skoon met CSS, en met rande, 834 00:38:55,840 --> 00:38:58,120 en met ander sodanige estetiese tegnieke. 835 00:38:58,120 --> 00:38:59,940 >> So vir nou, die wegneemetes is dit. 836 00:38:59,940 --> 00:39:02,320 In HTML, ons het hierdie dinge genoem tags. 837 00:39:02,320 --> 00:39:04,830 In CSS, ons het hierdie dinge genoem eienskappe. 838 00:39:04,830 --> 00:39:08,700 Ons kan comingle hierdie twee tale, óf deur die gebruik van die styl kenmerk, 839 00:39:08,700 --> 00:39:14,240 of die styl tag, of die beste nog, factoring dit uit geheel en al, as ons dit doen 840 00:39:14,240 --> 00:39:17,270 in probleem gestel 7. 841 00:39:17,270 --> 00:39:23,820 Vrae, dan, oor die basiese begrippe leer hier? 842 00:39:23,820 --> 00:39:24,740 >> Publiek: Ek het 'n vraag. 843 00:39:24,740 --> 00:39:25,630 >> Spreker 1: O, jammer. 844 00:39:25,630 --> 00:39:28,880 >> GEHOOR: Waarom was dit nie bruin - 845 00:39:28,880 --> 00:39:31,410 >> Spreker 1: Oh, in die ander blad? 846 00:39:31,410 --> 00:39:32,232 Dit is hier? 847 00:39:32,232 --> 00:39:33,482 >> GEHOOR: Nee, dit is soos die - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> Spreker 1: O, dit is omdat Ek was om slordig. 850 00:39:39,480 --> 00:39:41,350 Ek het die lêer in die verkeerde plek. 851 00:39:41,350 --> 00:39:47,840 So as ek eintlik sit dit hier, en ek chmod dit alles + r vir styles.css, en 852 00:39:47,840 --> 00:39:52,050 nou herlaai die bladsy, nou is ons kry die stilering terug. 853 00:39:52,050 --> 00:39:54,530 En omdat die font groottes is anders, sien ons nie net soveel 854 00:39:54,530 --> 00:39:55,010 wit ruimte. 855 00:39:55,010 --> 00:39:58,240 Ons plaas sien wat die standaard is plaas. 856 00:39:58,240 --> 00:40:00,050 Goeie vraag. 857 00:40:00,050 --> 00:40:00,846 Ja? 858 00:40:00,846 --> 00:40:02,630 >> GEHOOR: Hoekom is die skakel tag binne-in die kop? 859 00:40:02,630 --> 00:40:06,270 >> Spreker 1: Hoekom is die skakels tag binnekant van die kop - 860 00:40:06,270 --> 00:40:07,650 kort antwoord, net omdat. 861 00:40:07,650 --> 00:40:08,930 Dit is wat besluit is. 862 00:40:08,930 --> 00:40:10,720 Dit is waar die skakel tags gaan wanneer jy het wat genoem word 'n 863 00:40:10,720 --> 00:40:13,650 eksterne stylblad. 864 00:40:13,650 --> 00:40:16,430 Ander vrae? 865 00:40:16,430 --> 00:40:17,770 >> Alle reg, goed laat ons dit doen. 866 00:40:17,770 --> 00:40:20,500 Ons het soveel pret voor ons vandag. 867 00:40:20,500 --> 00:40:22,480 Dit is net krap die oppervlak van CSS. 868 00:40:22,480 --> 00:40:23,010 Kom ons doen dit. 869 00:40:23,010 --> 00:40:25,980 Kom ons neem 'n vyf minute breek hier want, per e-pos my, laat ons in hang 870 00:40:25,980 --> 00:40:27,200 daar tot 02:30-ish vandag. 871 00:40:27,200 --> 00:40:28,540 Maar as jy nie het om te verlaat, is dit goed. 872 00:40:28,540 --> 00:40:30,380 Maar ons sal vooruit na 'n vyf minute breek. 873 00:40:30,380 --> 00:40:35,930 En ons sal leer om 'n bietjie iets oor PHP, MySQL, en nog baie meer. 874 00:40:35,930 --> 00:40:44,520 >> Alle reg, so kom ons probeer, nou, 'n te bind paar van hierdie idees saam en maak, 875 00:40:44,520 --> 00:40:46,180 sê, ons eie soektog. 876 00:40:46,180 --> 00:40:48,570 Ek het opgemerk, eerder vreemd, die volgende. 877 00:40:48,570 --> 00:40:52,610 Wanneer jy by die Google.com, is jy tipies op 'n URL soos hierdie een hier 878 00:40:52,610 --> 00:40:54,870 met niks na die dot com. 879 00:40:54,870 --> 00:40:59,760 Maar as ek soek iets dom soos katte, en druk Enter, sal ons kry - nie 880 00:40:59,760 --> 00:41:01,300 dom, maar jy weet. 881 00:41:01,300 --> 00:41:05,410 >> OK, so let, aan die bokant van die bladsy nou, het die URL, natuurlik, verander. 882 00:41:05,410 --> 00:41:07,190 En dit is nie iets nuwe aan enige van ons. 883 00:41:07,190 --> 00:41:09,290 Jy kliek links en dinge gebeur op die web. 884 00:41:09,290 --> 00:41:11,420 Maar wat interessant is hier is die volgende. 885 00:41:11,420 --> 00:41:14,500 Daar is 'n hele klomp van die warboel, maar laat my weggooi dinge wat ek doen nie 886 00:41:14,500 --> 00:41:16,600 heeltemal verstaan ​​of nie lyk regtig relevant. 887 00:41:16,600 --> 00:41:18,490 >> Laat my toe om ontslae te raak van hierdie. 888 00:41:18,490 --> 00:41:20,030 Laat my toe om ontslae te raak van hierdie. 889 00:41:20,030 --> 00:41:22,630 En laat my net ontslae te raak van al hierdie dinge. 890 00:41:22,630 --> 00:41:28,840 En nou sien dat katte is in die URL, gevolg met 'n Q, dan 'n gelyke 891 00:41:28,840 --> 00:41:29,710 teken in die voorkant van dit. 892 00:41:29,710 --> 00:41:32,110 So dit blyk dat dit is hoe die manier waarop dit werk wanneer dit kom 893 00:41:32,110 --> 00:41:33,360 om toevoer en afvoer. 894 00:41:33,360 --> 00:41:37,510 >> Ons het lank gepraat oor black boxes, reg? 895 00:41:37,510 --> 00:41:41,650 So as dit is 'n funksie geïmplementeer hier as 'n swart boks, wat dit neem om insette 896 00:41:41,650 --> 00:41:45,290 en produseer uitset, wel, die beteken deur wat jy insette lewer tot 'n 897 00:41:45,290 --> 00:41:49,270 webwerf by wyse, dikwels, van sy URLs. 898 00:41:49,270 --> 00:41:52,850 Jy hoef net sit 'n vraagteken en dan 'n sleutel is gelyk aan waarde. 899 00:41:52,850 --> 00:41:56,740 En dan miskien 'n teken, en dan 'n ander sleutel is gelyk aan waarde, dan miskien 900 00:41:56,740 --> 00:41:58,810 'n ander teken, sleutel gelyk aan waarde. 901 00:41:58,810 --> 00:42:03,030 Dit is hoe jy slaag in sleutels en waardes, pare van insette. 902 00:42:03,030 --> 00:42:07,050 >> So as ek druk Enter nou, wat is interessant oor Google is dat alle 903 00:42:07,050 --> 00:42:10,420 wat warboel ek verwyder verskyn nie te wees streng noodsaaklik is. 904 00:42:10,420 --> 00:42:15,120 Al wat ek nodig het om te stuur na Google is vraag merk Q gelyk katte te kry 905 00:42:15,120 --> 00:42:16,160 terug sommige katte. 906 00:42:16,160 --> 00:42:20,160 Wel, die implikasie van wat dan is as ek trek gedit, het ek begin 907 00:42:20,160 --> 00:42:24,360 maak my eie soektog hier in 'n lêer genaamd seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> En laat my voort te gaan en te verwyder een lyn wat jy 909 00:42:26,750 --> 00:42:27,910 was nie veronderstel om te sien. 910 00:42:27,910 --> 00:42:31,070 En nou, laat ek gaan in my eie leser, so nie te Google, en gaan na 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 En wat gaan kom in die pad. 913 00:42:36,220 --> 00:42:43,240 So ons gaan hê om totsiens te sê dat vir nou, beweeg dit oor hier, 914 00:42:43,240 --> 00:42:46,270 O, nou is ons gaan hê om te afskeid te neem van die lêer. 915 00:42:46,270 --> 00:42:51,700 >> Wanneer jy 'n lêer met die naam index.html of inligting in 'n 916 00:42:51,700 --> 00:42:54,980 gids, as die web bediener is ingestel op hierdie manier, wat jy sal 917 00:42:54,980 --> 00:42:59,600 kyk, by verstek, is die inhoud van daardie lêer eerder as om 'n lys van die 918 00:42:59,600 --> 00:43:02,330 gids, as ek hier wou hê. 919 00:43:02,330 --> 00:43:03,750 Meer hieroor in die spec. 920 00:43:03,750 --> 00:43:04,610 Jy het dit nie sien nie. 921 00:43:04,610 --> 00:43:06,360 >> So dit is wat ek eintlik wou hê. 922 00:43:06,360 --> 00:43:08,810 Maar 'n oomblik gelede, was daar 'n lêer in hierdie gids genoem 923 00:43:08,810 --> 00:43:11,290 index.html en jeug. 924 00:43:11,290 --> 00:43:13,380 En so het die web bediener was wys my die lêers. 925 00:43:13,380 --> 00:43:15,900 In plaas daarvan, wil ek hierdie gids lys hier. 926 00:43:15,900 --> 00:43:18,340 >> So ek gaan om te gaan in CSS en gaan na search0. 927 00:43:18,340 --> 00:43:21,770 En ek beweer dat dit is dit gaan wees die begin van my eie mededingende 928 00:43:21,770 --> 00:43:22,490 soektog. 929 00:43:22,490 --> 00:43:27,630 En om dit te doen, ek gaan om in te gaan hier, in CSS, en oop te maak met 930 00:43:27,630 --> 00:43:30,190 gedit, soek 0. 931 00:43:30,190 --> 00:43:32,280 Maar helaas, daar is ' nie veel hier aan die gang. 932 00:43:32,280 --> 00:43:35,690 Al wat ek gedoen het, was gebruik om 'n opskrif tag, wat gebeur genoem te word H1, wat 933 00:43:35,690 --> 00:43:38,180 wese beteken groot en vet, en dit is dit. 934 00:43:38,180 --> 00:43:40,810 Maar die manier waarop ons kan lewer insette is deur middel van hierdie 935 00:43:40,810 --> 00:43:42,180 dinge genoem vorms. 936 00:43:42,180 --> 00:43:46,040 >> So laat my gaan voort en oop-en toemaak, preemptively, 'n vorm tag daar. 937 00:43:46,040 --> 00:43:48,060 En laat my gaan voort en doen iets soos hierdie. 938 00:43:48,060 --> 00:43:51,430 Insette, soort gelyk aan die teks. 939 00:43:51,430 --> 00:43:56,320 En dan laat ons naby die etiket binne die hakies hulself. 940 00:43:56,320 --> 00:43:58,800 Ek het nie 'n teks veld te begin en stop 'n teks veld. 941 00:43:58,800 --> 00:44:01,080 Dit is net gaan om daar te wees of nie. 942 00:44:01,080 --> 00:44:06,210 >> En dan hieronder wat, laat ons doen insette soort gelyk dien. 943 00:44:06,210 --> 00:44:06,870 Hou hierdie. 944 00:44:06,870 --> 00:44:08,630 En nou, laat ons net 'n vinnige gesonde verstand gaan. 945 00:44:08,630 --> 00:44:09,820 Kom ons laai. 946 00:44:09,820 --> 00:44:10,890 >> OK, so dit is nie sleg nie. 947 00:44:10,890 --> 00:44:13,260 Dit is nie Google se styl, maar dit is redelik naby. 948 00:44:13,260 --> 00:44:13,920 Daar is 'n teks veld. 949 00:44:13,920 --> 00:44:17,190 Ek kan 'n paar dinge tik, druk Enter maar niks gebeur nie. 950 00:44:17,190 --> 00:44:21,090 En dit is omdat ek het nie ' 'n aksie vir hierdie vorm, om so te praat. 951 00:44:21,090 --> 00:44:23,860 So as ek gaan terug na die vorm element, dit blyk uit, en ek weet dit net 952 00:44:23,860 --> 00:44:27,460 uit die lees van die dokumentasie wat die vorm tag neem 'n kenmerk 953 00:44:27,460 --> 00:44:31,880 genoem optrede wat die URL van die webwerf wat jy 954 00:44:31,880 --> 00:44:34,790 wil die vorm te stuur. 955 00:44:34,790 --> 00:44:37,610 >> Ek dink nie regtig ons moet tyd implementeer die hele agterkant vir 'n 956 00:44:37,610 --> 00:44:38,570 soek enjin vandag. 957 00:44:38,570 --> 00:44:41,900 So ons is maar net gaan om te sê, eh, gaan na google.com / soek. 958 00:44:41,900 --> 00:44:43,450 En nou, laat my naby my aanhalings. 959 00:44:43,450 --> 00:44:46,070 En laat my verder bepaal dat ' die metode te gebruik gaan 960 00:44:46,070 --> 00:44:47,120 genoem te word kry. 961 00:44:47,120 --> 00:44:50,650 >> Lang storie kort, is daar twee maniere, op minste wat jy kan om inligting 962 00:44:50,650 --> 00:44:51,880 van die leser te bediener. 963 00:44:51,880 --> 00:44:55,340 Een kry, en vir vandag se doeleindes, wat beteken dat net in die URL. 964 00:44:55,340 --> 00:44:58,730 Jy sien presies die vraagtekens, die gelyk aan tekens en-karakters wat 965 00:44:58,730 --> 00:44:59,780 ons vroeër gesien het. 966 00:44:59,780 --> 00:45:02,890 Of daar is 'n alternatief genoem post. 967 00:45:02,890 --> 00:45:06,490 Vir nou, weet dat post word dikwels gebruik wanneer jy wil lêers te laai, soos 968 00:45:06,490 --> 00:45:09,820 beelde en so meer, of wanneer jy wil dien kredietkaart inligting, of 969 00:45:09,820 --> 00:45:13,810 wagwoorde, iets wat dit nie regtig sin maak, konseptueel, of 970 00:45:13,810 --> 00:45:18,020 sekuriteit wys, om te eindig in die URL van leser, waar snuffel ouers, 971 00:45:18,020 --> 00:45:21,520 of kamermaats, of enigiemand met toegang na jou rekenaar kan sien. 972 00:45:21,520 --> 00:45:23,110 >> So laat ons wat hier red. 973 00:45:23,110 --> 00:45:24,480 En ek het 'n ander ding om te doen. 974 00:45:24,480 --> 00:45:27,250 Dit is nie genoeg om net te sê gee my 'n teks veld. 975 00:45:27,250 --> 00:45:29,850 Ek het op daardie stuk grond gee se waardeer 'n naam. 976 00:45:29,850 --> 00:45:34,500 So laat my leen Google se keuse van name, q, en spesifiseer dat die tweede 977 00:45:34,500 --> 00:45:38,150 skryf ek regtig nie omgee die naam van die Submit knoppie. 978 00:45:38,150 --> 00:45:40,890 Al wat ek omgee is die indiening van wat die gebruiker in 979 00:45:40,890 --> 00:45:41,940 >> En dit is nou soort van lelik. 980 00:45:41,940 --> 00:45:42,820 Dit sê net dien. 981 00:45:42,820 --> 00:45:46,350 Dit blyk uit, en ek weet dit uit die dokumentasie, kan ek eintlik sê 982 00:45:46,350 --> 00:45:51,710 waarde gelyk quote unquote "cs50 seach, "naby kwotasie. 983 00:45:51,710 --> 00:45:53,030 Dan laat ons weer laai. 984 00:45:53,030 --> 00:45:57,020 So ek hou slaan Command-R of Control-R op my klawerbord te laai. 985 00:45:57,020 --> 00:45:58,605 >> Nou het ons 'n meer interessante soektog. 986 00:45:58,605 --> 00:46:00,340 Dit nie heeltemal lyk soos Google nie, al is. 987 00:46:00,340 --> 00:46:04,100 So laat ons gaan voort in hier en doen 'n bietjie lyn breek. 988 00:46:04,100 --> 00:46:06,066 >> OK, so nou het ons 'Google. 989 00:46:06,066 --> 00:46:08,260 Ons is eintlik amper nie Google. 990 00:46:08,260 --> 00:46:10,460 So nou wat gaan gebeur? 991 00:46:10,460 --> 00:46:12,220 Ek gaan om te tik in iets soos Cats. 992 00:46:12,220 --> 00:46:16,570 En die leser gaan ontleed wat deel vorm van wat ek gedefinieer het. 993 00:46:16,570 --> 00:46:19,470 En dit gaan te stuur die gebruiker wat URL. 994 00:46:19,470 --> 00:46:23,420 So hierdie tyd, vir 'n paar vreemde rede, Ek het meer inligting oor aandele 995 00:46:23,420 --> 00:46:24,410 as oor die werklike katte. 996 00:46:24,410 --> 00:46:30,580 Maar dit is goed, want sien ons nog hier beland, Q gelyk katte. 997 00:46:30,580 --> 00:46:35,200 >> So lang storie kort, dit lyk redelik triviale insette te kry van die gebruiker. 998 00:46:35,200 --> 00:46:38,190 En om eerlik te wees, is daar trosse van ander vorme van vorm velde. 999 00:46:38,190 --> 00:46:41,510 Daar is blok, en min wedersyds eksklusiewe radio knoppies, en 1000 00:46:41,510 --> 00:46:42,960 drop down menu, en nog baie meer. 1001 00:46:42,960 --> 00:46:46,160 Maar almal is as relatief maklik uitgevoer word as 1002 00:46:46,160 --> 00:46:48,040 hierdie teks veld was. 1003 00:46:48,040 --> 00:46:52,050 En uiteindelik, ons moet net te maak seker dat iemand luister aan die ander 1004 00:46:52,050 --> 00:46:56,490 einde van die lyn ten einde dit te kry inligting verwerk word, een of ander manier, en 1005 00:46:56,490 --> 00:46:58,440 Gee ons weer ons katte. 1006 00:46:58,440 --> 00:47:00,840 >> Kom ons kyk na 'n effens meer betrokke voorbeeld. 1007 00:47:00,840 --> 00:47:06,020 Laat my gaan in my vhost se gids, in plaaslike gasheer, die publiek, en waar ek 1008 00:47:06,020 --> 00:47:06,980 sit vandag se bron-kode. 1009 00:47:06,980 --> 00:47:09,800 Al hierdie dinge sal op die kursus se webwerf vir jou om te geknoei met. 1010 00:47:09,800 --> 00:47:15,420 En as ek kom in froshims, laat my oop up hierdie lêer nou, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Hierdie een is 'n bietjie meer verbose, so Ons sal nie hier skryf van nuuts af. 1012 00:47:18,460 --> 00:47:21,970 Maar net nou na 'n paar ietwat bekende eienskappe. 1013 00:47:21,970 --> 00:47:24,550 >> Een, vorm etiket, verskillende aksie. 1014 00:47:24,550 --> 00:47:25,670 Dit is nie 'n volle URL. 1015 00:47:25,670 --> 00:47:29,930 Nou, dit is blykbaar na 'n lêer genaamd register0.php, want in 'n oomblik, 1016 00:47:29,930 --> 00:47:32,660 Ek gaan om te leer om myself 'n bietjie iets oor PHP, 'n ontwikkeling 1017 00:47:32,660 --> 00:47:37,360 taal, want PHP kan gebruik word om te implementeer wat Google geïmplementeer as 1018 00:47:37,360 --> 00:47:39,650 die agterkant van hul soek enjins. 1019 00:47:39,650 --> 00:47:42,890 >> Google, in werklikheid, gebruik waarskynlik sommige Python, sommige C + +, en 1020 00:47:42,890 --> 00:47:44,230 trosse van ander tale. 1021 00:47:44,230 --> 00:47:48,230 Maar ons kan seker implementeer soek resultate met behulp van PHP as ons wou. 1022 00:47:48,230 --> 00:47:49,610 Maar vir nou, sal ons hou dit eenvoudig. 1023 00:47:49,610 --> 00:47:53,320 En dit is eintlik wat herinner aan 'n van die ander heel eerste webtuistes ek 1024 00:47:53,320 --> 00:47:54,490 gemaak jaar gelede. 1025 00:47:54,490 --> 00:47:58,160 >> Terug in my dag, jy geregistreer is vir binnemuurse sport as 'n groentjie deur 1026 00:47:58,160 --> 00:48:00,880 vul 'n stuk papier, loop oor die werf, en laat val dit in 1027 00:48:00,880 --> 00:48:04,890 die posbus van 'n Proctor in Wigglesworth, en dit is hoe jy 1028 00:48:04,890 --> 00:48:05,460 geregistreer is. 1029 00:48:05,460 --> 00:48:09,650 En so het my projek kort ná CS50, was om dit wat maak volmaak 1030 00:48:09,650 --> 00:48:13,460 sin, op die web, wat nie as in die mode dan as dit nou is. 1031 00:48:13,460 --> 00:48:17,510 Maar al wat ons moes doen, was om te skep, wese, 'n HTML vorm. 1032 00:48:17,510 --> 00:48:19,640 >> En dat vorm gekyk rofweg soos hierdie. 1033 00:48:19,640 --> 00:48:22,480 Ek het 'n bydrae vir die eerstejaars se naam. 1034 00:48:22,480 --> 00:48:27,780 Ek het nog 'n boks vir of of hulle nie wou wees kaptein, wat 1035 00:48:27,780 --> 00:48:30,400 hul geslag was, en wat hul dorm was. 1036 00:48:30,400 --> 00:48:33,370 En dan het ek hard gekodeer in dinge soos Apley Hof, en Canaday, 1037 00:48:33,370 --> 00:48:34,880 Gryse, en so meer. 1038 00:48:34,880 --> 00:48:36,300 >> So weer, nuwe etikette. 1039 00:48:36,300 --> 00:48:39,820 Het nie gesien dat hierdie voor, nuwe eienskappe, maar redelik toeganklik is. 1040 00:48:39,820 --> 00:48:42,360 Sodra jy sien 'n voorbeeld, jy kan soort van leen dat die idee en maak 'n druppel 1041 00:48:42,360 --> 00:48:43,820 down menu vir die meeste enigiets. 1042 00:48:43,820 --> 00:48:46,350 Maar wat is die belangrikste is dat elkeen van hierdie dinge het name. 1043 00:48:46,350 --> 00:48:49,720 En aan die onderkant van hierdie vorm, is daar 'n submit knoppie wie se etiket, 1044 00:48:49,720 --> 00:48:51,510 of waarde, is om te registreer. 1045 00:48:51,510 --> 00:48:52,670 >> So laat ons gaan na hierdie bladsy. 1046 00:48:52,670 --> 00:48:55,050 Laat my gaan terug in die gids lys. 1047 00:48:55,050 --> 00:48:59,410 Laat my gaan in froshims, en gaan na froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 So dit is afskuwelik, om eerlik te wees. 1049 00:49:01,150 --> 00:49:03,950 So ek kan beslis stileer hierdie met 'n paar CSS, kon ek maak 'n paar 1050 00:49:03,950 --> 00:49:06,890 grafiese, miskien 'n bietjie kleure, en maak dit mooier. 1051 00:49:06,890 --> 00:49:10,530 Maar funksioneel, wil ek argumenteer dat hierdie is eintlik redelik volledige. 1052 00:49:10,530 --> 00:49:15,190 >> Ongelukkig, toe ek vul dit uit, David, Kaptein, Man, sal ons kies, 1053 00:49:15,190 --> 00:49:20,510 Kom ons sê Matthews, Register, al wat gebeur is nie. 1054 00:49:20,510 --> 00:49:21,910 Maar let op 'n paar van die wegneemetes. 1055 00:49:21,910 --> 00:49:27,130 Een, wat lêer teruggekeer diegene resultate, glo? 1056 00:49:27,130 --> 00:49:29,470 So dit is inderdaad register0.php. 1057 00:49:29,470 --> 00:49:34,570 So die feit dat ons gesien dat aksie waarde 'n oomblik gelede vir register0, hierdie 1058 00:49:34,570 --> 00:49:37,500 staaf dat ons wel geëindig tot op daardie spesifieke lêer. 1059 00:49:37,500 --> 00:49:39,040 >> Nou is dit net lelike teks. 1060 00:49:39,040 --> 00:49:42,810 Maar let op dat hierdie teks is kom van plaaslike gasheer, 1061 00:49:42,810 --> 00:49:44,170 Dit is uit die toestel. 1062 00:49:44,170 --> 00:49:46,350 Dink aan die toestel nou as net 'n web bediener wat gebruik kan word in die 1063 00:49:46,350 --> 00:49:46,910 Science Center. 1064 00:49:46,910 --> 00:49:48,060 Dit kan wees op die werklike web. 1065 00:49:48,060 --> 00:49:49,850 Dus is dit vir die publiek toeganklik. 1066 00:49:49,850 --> 00:49:55,480 >> So duidelik, daar is 'n manier van verbygaande vorm veld insette aan 'n bediener 1067 00:49:55,480 --> 00:49:56,840 sodat dit iets kan doen met hulle. 1068 00:49:56,840 --> 00:49:59,020 Ongelukkig, register0 is redelik dom. 1069 00:49:59,020 --> 00:50:01,870 Al wat dit doen is om druk uit 'n verskeidenheid wat lyk soos hierdie. 1070 00:50:01,870 --> 00:50:04,790 En dit is nie 'n skikking in die sin dat ons dit ken. 1071 00:50:04,790 --> 00:50:08,760 Blyk dat PHP, en 'n baie tale, het nie net numeries 1072 00:50:08,760 --> 00:50:12,350 geïndekseer skikkings wie se eerste indeks nul is, dan een, dan twee, dan dot, 1073 00:50:12,350 --> 00:50:13,780 dot, dot, n minus 1. 1074 00:50:13,780 --> 00:50:16,400 >> Dit is wat genoem word 'n assosiatiewe skikking. 1075 00:50:16,400 --> 00:50:21,150 'N assosiatiewe skikking is een waarin jy kan stoor die sleutel waarde pare waar 1076 00:50:21,150 --> 00:50:23,160 die sleutel is nie noodwendig 'n nommer. 1077 00:50:23,160 --> 00:50:25,580 Dit kan in werklikheid 'n string, 'n woord. 1078 00:50:25,580 --> 00:50:28,230 En so gaan dit geïmplementeer kan word, onder die enjinkap, dit blyk, 1079 00:50:28,230 --> 00:50:31,896 gebruik van 'n data struktuur bekend as 'n? 1080 00:50:31,896 --> 00:50:33,600 Gedink iets dramaties was om te gebeur - 1081 00:50:33,600 --> 00:50:34,840 hash tafel. 1082 00:50:34,840 --> 00:50:38,955 >> So 'n gemors tafel, onthou, dié van julle wat dit gedoen het vir P set 6, of selfs onthou 1083 00:50:38,955 --> 00:50:44,110 Dit, ten minste, selfs as jy het 'n drie, 'n hash tafel, in ons gebruik, is gebruik om te 1084 00:50:44,110 --> 00:50:45,090 net stoor woorde. 1085 00:50:45,090 --> 00:50:47,980 Maar regtig, het jy te stoor sleutels en waardes. 1086 00:50:47,980 --> 00:50:51,940 As jy geïmplementeer 'n hash tafel vir P Stel 6 woordeboek, die sleutels was die 1087 00:50:51,940 --> 00:50:56,890 woorde self, en die waardes was effektief waar of vals is. 1088 00:50:56,890 --> 00:51:00,190 Ja, hier, of by implikasie, Nee, nie hier nie. 1089 00:51:00,190 --> 00:51:02,140 >> Wel, ons kan veralgemeen dat die idee. 1090 00:51:02,140 --> 00:51:06,230 En ons kan gebruik om 'n baie soortgelyke data struktuur nie die string te stoor 1091 00:51:06,230 --> 00:51:10,180 homself alleen in jou hash tafel, maar veronderstel dat in elke een van jou hash 1092 00:51:10,180 --> 00:51:11,130 tafel se knope. 1093 00:51:11,130 --> 00:51:14,210 En jy kan selfs dit doen in 'n drie eerder as om net 'n Bool. 1094 00:51:14,210 --> 00:51:15,350 Jy kan iets anders. 1095 00:51:15,350 --> 00:51:19,590 Wat as die sleutel nie was Maxwell, vir geval nie, maar quote unquote "naam", of 1096 00:51:19,590 --> 00:51:22,900 haal unquote "het die kaptein." En binnekant van jou C data struktuur, jy het 'n 1097 00:51:22,900 --> 00:51:26,170 waarde, nie net 'n Boole nie, maar van waarde soos kwotasie unquote "David," of 1098 00:51:26,170 --> 00:51:28,690 "M", of "Matthews," en so meer. 1099 00:51:28,690 --> 00:51:33,170 >> So diegene wat dieselfde data strukture wat ons gebruik glo in ander tale bestaan. 1100 00:51:33,170 --> 00:51:37,650 En Ek wil argumenteer hulle is eintlik baie, baie makliker om hier te bekom. 1101 00:51:37,650 --> 00:51:40,300 Laat ons in die feit dat 'n blik nou 'n paar sulke sintaksis. 1102 00:51:40,300 --> 00:51:43,120 >> Ek gaan om te gaan in 'n PHP gids. 1103 00:51:43,120 --> 00:51:48,390 En ek gaan om oop te maak 'n beter weergawe van die hallo-0 voor. 1104 00:51:48,390 --> 00:51:50,270 Let daarop dat alles wat ek gedoen het, was voeg 'n paar opmerkings. 1105 00:51:50,270 --> 00:51:52,530 So kan ons ontslae te raak van daardie afleiding. 1106 00:51:52,530 --> 00:51:57,610 >> En hierdie program nie druk inderdaad hallo, want ek het aangedui tussen 1107 00:51:57,610 --> 00:52:01,420 tags dat ek wil hê dat die kode uit te voer. 1108 00:52:01,420 --> 00:52:03,380 Nou, sal ons sien in 'n oomblik Hoekom is dit nuttig. 1109 00:52:03,380 --> 00:52:05,630 Maar laat ons oop een ander voorbeeld hier. 1110 00:52:05,630 --> 00:52:10,430 Laat my gaan voort en oop te maak sê, gedit van toestande een. 1111 00:52:10,430 --> 00:52:12,970 >> Dit is die pad terug in tyd. 1112 00:52:12,970 --> 00:52:16,320 Maar weke gelede, dink ek, in week een of week twee, het ons 'n voorbeeld genoem 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 En ek het besluit om dit te reimplement in PHP, net om te soort beklemtoon dat 1115 00:52:22,050 --> 00:52:26,500 PHP, sintakties, is byna identies na C. Dit is nie 'n groot sprong 1116 00:52:26,500 --> 00:52:27,840 van verlede week aan hierdie. 1117 00:52:27,840 --> 00:52:31,230 >> Let op die top van hierdie program, wat begin, soos voorheen, met 'n paar 1118 00:52:31,230 --> 00:52:34,260 kommentaar, wat ek sal ontslae te raak van so 'n afleiding. 1119 00:52:34,260 --> 00:52:37,410 Let daarop dat ek in PHP af in hierdie lêer. 1120 00:52:37,410 --> 00:52:40,160 So hierdie kode, sal ons sien, sal uitgevoer word. 1121 00:52:40,160 --> 00:52:42,670 Let daarop dat daar read line, Dit is waarskynlik die 1122 00:52:42,670 --> 00:52:46,230 analoog in PHP van getstring. 1123 00:52:46,230 --> 00:52:47,390 Let daarop dat dit 'n bietjie anders. 1124 00:52:47,390 --> 00:52:51,410 Jy eintlik spesifiseer 'n spoedige aan die funksie genoem gelees lyn, en dit is 1125 00:52:51,410 --> 00:52:52,180 wat die gebruiker sien. 1126 00:52:52,180 --> 00:52:53,520 So jy hoef nie te printf hand. 1127 00:52:53,520 --> 00:52:54,860 Maar dit is nie 'n groot deal. 1128 00:52:54,860 --> 00:52:59,150 Ek gaan om te slaan, binnekant van $ n, die terugkeer waarde van hierdie, so ook al die 1129 00:52:59,150 --> 00:53:00,490 gebruiker in is hul int. 1130 00:53:00,490 --> 00:53:01,660 En hier is nog 'n nuuskierigheid. 1131 00:53:01,660 --> 00:53:05,810 Dit blyk uit, in PHP, enige veranderlike net kom vooraan 1132 00:53:05,810 --> 00:53:06,970 met 'n dollar-teken. 1133 00:53:06,970 --> 00:53:08,110 Dit is 'n bietjie irriterend. 1134 00:53:08,110 --> 00:53:10,870 Maar let op wat ek nie gedoen het in PHP. 1135 00:53:10,870 --> 00:53:13,980 Wat ontbreek in die linkerhand kant van die gelykaanteken? 1136 00:53:13,980 --> 00:53:15,430 >> Geen melding van die soort. 1137 00:53:15,430 --> 00:53:19,400 So hierdie is anders C. Vir 'n beter of vir slegter, PHP is 'n losweg 1138 00:53:19,400 --> 00:53:20,550 getikte taal. 1139 00:53:20,550 --> 00:53:22,010 Dit het wel 'nommers. 1140 00:53:22,010 --> 00:53:23,240 Dit het wel snare. 1141 00:53:23,240 --> 00:53:24,015 Dit het wel 'Booleans. 1142 00:53:24,015 --> 00:53:26,220 En dit het 'n paar ander data tipes. 1143 00:53:26,220 --> 00:53:30,570 Maar jy, die programmeerder, gewoonlik hoef nie te bekommer oor hulle. 1144 00:53:30,570 --> 00:53:34,010 Die onderstebo van hierdie is dat dit dit 'n bietjie makliker om te program. 1145 00:53:34,010 --> 00:53:35,380 Jy kan 'n bietjie minder dink. 1146 00:53:35,380 --> 00:53:39,840 Die nadeel is dit ook oop stel vir potensiële foute as jy per ongeluk 1147 00:53:39,840 --> 00:53:43,080 behandel 'n aantal as 'n string, 'n string as 'n getal, potensieel, maar selfs 1148 00:53:43,080 --> 00:53:46,150 Dan, PHP, en 'n baie tale, is redelik verdraagsaam. 1149 00:53:46,150 --> 00:53:49,050 Hulle sal gebruik wat genoem implisiete giet. 1150 00:53:49,050 --> 00:53:55,220 En as jy probeer om n te gebruik in die konteks van 'n numeriese situasie, sal dit 1151 00:53:55,220 --> 00:53:58,040 omskep wat hier gaan wees om 'n string, want as die gebruiker 1152 00:53:58,040 --> 00:54:01,570 iets in, en jy kry die resultaat, Soos met read line, of kry snaar 1153 00:54:01,570 --> 00:54:02,910 dit gaan 'n string om terug te keer. 1154 00:54:02,910 --> 00:54:07,360 >> Maar kennisgewing, 'n paar lyne later, het ek kyk of n groter as nul is. 1155 00:54:07,360 --> 00:54:13,370 So PHP gaan implisiet gooi my "String" 123, of wat ook al die gebruiker 1156 00:54:13,370 --> 00:54:14,860 tipes in, in 'n int. 1157 00:54:14,860 --> 00:54:18,730 Dus, in kort, dinge werk net 'n baie meer intuïtief. 1158 00:54:18,730 --> 00:54:23,410 So het ons nou begin om 'n paar van die om te ontspan dinge wat ons in die verlede gedoen het. 1159 00:54:23,410 --> 00:54:24,780 >> Daar is baie van hierdie dinge is dieselfde, al is. 1160 00:54:24,780 --> 00:54:26,340 Nog steeds gelyk is gelyk aan. 1161 00:54:26,340 --> 00:54:30,350 As 'n eenkant PHP het ook gelyk is gelyk aan gelyk, maar meer oor dit, miskien, in 1162 00:54:30,350 --> 00:54:30,850 die toekoms. 1163 00:54:30,850 --> 00:54:31,150 Dit was 'n. 1164 00:54:31,150 --> 00:54:35,660 Typo, maar twee is gelyk aan tekens beteken dieselfde ding soos voorheen, vir 'n vergelyking. 1165 00:54:35,660 --> 00:54:37,060 printf beteken dieselfde ding as tevore. 1166 00:54:37,060 --> 00:54:39,160 Agteroorskuisstreep n beteken dieselfde ding as tevore. 1167 00:54:39,160 --> 00:54:40,390 >> So, hoe kan ek hierdie program? 1168 00:54:40,390 --> 00:54:44,400 Wel, soos voorheen, as ek dit doen PHP, conditions1.php, en tik 1169 00:54:44,400 --> 00:54:46,560 'n aantal soos 123. 1170 00:54:46,560 --> 00:54:47,720 Dit is 'n positiewe getal. 1171 00:54:47,720 --> 00:54:49,510 As ek tik in 0, ek pluk 0. 1172 00:54:49,510 --> 00:54:53,700 En as ek tik in negatiewe 123, ek kry terug 'n negatiewe getal, wat slegs 1173 00:54:53,700 --> 00:54:59,050 om te sê, sintakties, PHP is super, super soortgelyk. 1174 00:54:59,050 --> 00:55:03,250 >> So is die rede waarom dit nou nuttig in 'n web konteks? 1175 00:55:03,250 --> 00:55:06,710 Wel, laat ons gaan terug na hierdie froshims Byvoorbeeld, wat gelyk het, 1176 00:55:06,710 --> 00:55:08,600 weer, soos hierdie hier. 1177 00:55:08,600 --> 00:55:11,580 En laat ons eintlik trek die webblad weer, wat lyk soos hierdie. 1178 00:55:11,580 --> 00:55:14,930 Wat kan ons doen met die data wat gestuur? 1179 00:55:14,930 --> 00:55:18,770 >> Wel, laat my oopmaak om 'n nuwe weergawe van hierdie. 1180 00:55:18,770 --> 00:55:20,920 En jy sal sien dat die probleem stelle spesifikasie stap vir stap 1181 00:55:20,920 --> 00:55:22,850 deur middel van 'n paar van hulle nie. 1182 00:55:22,850 --> 00:55:29,610 Eerder as om te begin met 'n nul, Kom ons kyk na froshims3, 1183 00:55:29,610 --> 00:55:31,410 wat nie 'n bietjie meer. 1184 00:55:31,410 --> 00:55:34,780 >> Let op die eerste, eintlik, laat ons oop tot watter 0 was, so jy sien 1185 00:55:34,780 --> 00:55:37,170 watter register 0 is. 1186 00:55:37,170 --> 00:55:40,040 Let op wat register 0 gedoen het. 1187 00:55:40,040 --> 00:55:41,730 Een, ek het kommentaar op die top. 1188 00:55:41,730 --> 00:55:43,900 Verwyder wat en fokus slegs op hierdie. 1189 00:55:43,900 --> 00:55:48,730 Die meeste van die inhoud van register0.php is, natuurlik, watter taal? 1190 00:55:48,730 --> 00:55:49,980 Net rou PHP. 1191 00:55:49,980 --> 00:55:53,430 >> So kennisgewing, nie die lêer nie begin met, op die oomblik, oop bracket, 1192 00:55:53,430 --> 00:55:54,970 vraagteken, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP nie toelaat om te meng PHP kode met HTML tags. 1194 00:55:59,800 --> 00:56:04,130 Maar ek het dit hier binne gedoen van die bladsy hier. 1195 00:56:04,130 --> 00:56:08,180 >> Nou, weer, jy wil net weet dit uit kyk sy na die handleiding. print_r, 1196 00:56:08,180 --> 00:56:13,410 dit blyk, is print_recursive. _recursive En dit is net 'n handige 1197 00:56:13,410 --> 00:56:16,780 nut funksie wat net druk uit, rekursief, wat ook al jy dit inhandig. 1198 00:56:16,780 --> 00:56:18,760 As jy handig dit 'n skikking, dit sal druk 'n skikking. 1199 00:56:18,760 --> 00:56:20,180 As jy handig dit 'n nommer, dit sal druk 'n nommer. 1200 00:56:20,180 --> 00:56:21,570 Gee dit 'n string, dit sal druk van 'n string. 1201 00:56:21,570 --> 00:56:24,500 As jy handig dit 'n hash tafel, is dit sal druk 'n hash tafel. 1202 00:56:24,500 --> 00:56:26,730 Jy hoef nie al te skryf van die kode self. 1203 00:56:26,730 --> 00:56:29,490 >> Nou sien dat ek invoer PHP modus hier. 1204 00:56:29,490 --> 00:56:32,070 Ek verlaat PHP modus hier. 1205 00:56:32,070 --> 00:56:35,950 So wanneer die web bediener lees hierdie lêer bo na onder, links na regs, omdat 1206 00:56:35,950 --> 00:56:40,750 dit eindig in 'n lêernaam genoem. PHP, alles is nie binnekant van PHP tags is 1207 00:56:40,750 --> 00:56:42,820 net gaan wees spit uit, soos rou HTML. 1208 00:56:42,820 --> 00:56:43,630 Geen groot deal. 1209 00:56:43,630 --> 00:56:49,280 Maar so gou as die web bediener kennisgewings dit, dit gaan om te sê, ek moet nie 1210 00:56:49,280 --> 00:56:51,850 spoeg uit, letterlik, print_r van post. 1211 00:56:51,850 --> 00:56:54,910 Ek moet voer die volgende reël van die kode. 1212 00:56:54,910 --> 00:56:59,850 >> So het die laaste vraag is dan van hierdie lêer is, wel, wat die hel is dit? 1213 00:56:59,850 --> 00:57:00,530 Neem 'n raaiskoot. 1214 00:57:00,530 --> 00:57:04,230 Wat is $ _POST, waarskynlik? 1215 00:57:04,230 --> 00:57:07,070 >> GEHOOR: [onhoorbaar] 1216 00:57:07,070 --> 00:57:08,830 >> Spreker 1: Ja, die data gepos. 1217 00:57:08,830 --> 00:57:11,350 Onthou, kom ons blaai terug in tyd vir net 'n oomblik. 1218 00:57:11,350 --> 00:57:13,165 froshim0, weer, het gelyk soos hierdie. 1219 00:57:13,165 --> 00:57:15,640 'N super meerderheid van hierdie is net HTML. 1220 00:57:15,640 --> 00:57:18,410 Weer, 'n paar etikette wat jy het nie gesien het nie, of met watter 1221 00:57:18,410 --> 00:57:19,360 jy reeds vertroud is. 1222 00:57:19,360 --> 00:57:21,990 Maar die interessante ding was dit. 1223 00:57:21,990 --> 00:57:27,270 Hierdie een lyn is wat werklik skakels dit aan ons register0.php lêer. 1224 00:57:27,270 --> 00:57:29,200 Ek is die indiening via metode post. 1225 00:57:29,200 --> 00:57:33,130 En dit beteken dat die parameters die gebruiker in is nie 1226 00:57:33,130 --> 00:57:35,150 gaan aan die einde waar. 1227 00:57:35,150 --> 00:57:36,175 >> Hulle is nie van plan om wys in die URL. 1228 00:57:36,175 --> 00:57:39,020 Hulle is nog steeds gaan om gestuur te word van die kliënt van die leser, aan die 1229 00:57:39,020 --> 00:57:42,080 bediener, maar net via 'n ander meganisme wat ons ons hande sal afstand doen 1230 00:57:42,080 --> 00:57:44,330 aan vir vandag, maar dit is nie in die URL. 1231 00:57:44,330 --> 00:57:47,630 Maar let op die verhouding nou met post, wat deur die konvensie, is 1232 00:57:47,630 --> 00:57:49,160 onderkas hier. 1233 00:57:49,160 --> 00:57:54,090 >> Maar as ek oopmaak register0.php, Ek glo die druk van hierdie. 1234 00:57:54,090 --> 00:57:56,450 So, dit is 'n soort van 'n vreemde naamkonvensie. 1235 00:57:56,450 --> 00:58:01,430 Maar wat is lekker in PHP is dat wanneer gebruik van PHP in 'n web konteks, nie op 'n 1236 00:58:01,430 --> 00:58:04,480 command line soos ek gedoen het 'n oomblik gelede wanneer jy eintlik die gebruik van dit in 'n web 1237 00:58:04,480 --> 00:58:10,580 bladsy, in 'n vhost gids as ons is, outomaties PHP vul hierdie 1238 00:58:10,580 --> 00:58:15,560 ding, wat is 'n assosiatiewe skikking, so te sê, 'n hash tafel, met 1239 00:58:15,560 --> 00:58:17,290 alles wat die gebruiker getik in 1240 00:58:17,290 --> 00:58:22,000 >> In kort, $ _POST in hoofletters is 'n globale veranderlike wat PHP net 1241 00:58:22,000 --> 00:58:25,050 Nou, skep vir jou wanneer gebruik van PHP in 'n web konteks. 1242 00:58:25,050 --> 00:58:29,160 En dit plaas binnekant van dit al die name van parameters in die vorm wat 1243 00:58:29,160 --> 00:58:33,200 is aan die lêer en al die waardes wat die gebruiker getik in 1244 00:58:33,200 --> 00:58:37,790 So dit oorhandig aan julle wat die gebruiker getik in daardie vorm. 1245 00:58:37,790 --> 00:58:42,210 >> So voor, ons het regtig dom uitset van net sien dit, want al wat ek gedoen het 1246 00:58:42,210 --> 00:58:44,400 is rekursief druk hierdie skikking. 1247 00:58:44,400 --> 00:58:46,060 Die sleutel is om naam, die waarde van Dawid. 1248 00:58:46,060 --> 00:58:46,980 Die sleutel is Kaptein. 1249 00:58:46,980 --> 00:58:47,970 Die waarde is op. 1250 00:58:47,970 --> 00:58:52,300 En die dubbel pyl en die hoek bracket daar, dit is net arbitrêre. 1251 00:58:52,300 --> 00:58:53,270 Dit is nie code. 1252 00:58:53,270 --> 00:58:57,690 Dit is net PHP se manier om te wys jy wat die waarde van 'n paar sleutel is. 1253 00:58:57,690 --> 00:59:03,000 >> Maar nou laat my stel voor dat in froshIMs3, dit is byna identies 1254 00:59:03,000 --> 00:59:04,950 behalwe dit dien tot hierdie lêer. 1255 00:59:04,950 --> 00:59:08,570 En weer, gaan ons soort van net blik op hierdie, net 'n paar te sien 1256 00:59:08,570 --> 00:59:12,040 sintaksis, maar kennisgewing wat hierdie lêer doen. 1257 00:59:12,040 --> 00:59:14,930 Neem 'n raaiskoot net gebaseer op die reëls van die kode, wat waarskynlik nie lyk soos 1258 00:59:14,930 --> 00:59:17,410 Grieks, tot 'n mate, is blykbaar te doen. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Hierdie lêer is een of ander manier verband hou te pos, e-pos. 1261 00:59:23,110 --> 00:59:24,770 So wat is hierdie program doen? 1262 00:59:24,770 --> 00:59:28,740 In hierdie weergawe, as ek was eintlik hierdie vorm invul - en laat my gaan na 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, nie froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 die vorm lyk dieselfde. 1266 00:59:34,540 --> 00:59:37,980 Dawid, die kaptein, manlike, koshuiskamer, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Maar as ek hierdie, hierdie lêer is gaan om te gaan na register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> En ek eis, deur te kyk na dit bron-kode, gaan dit 1269 00:59:46,330 --> 00:59:47,650 een of ander manier betrek e-pos. 1270 00:59:47,650 --> 00:59:49,620 Laat my gaan voort en maak dit up in 'n groter venster, sodat ons 1271 00:59:49,620 --> 00:59:51,030 kan dit sien meer skoon. 1272 00:59:51,030 --> 00:59:57,220 Ons is in vhosts, plaaslike gasheer, publiek, froshims. 1273 00:59:57,220 --> 00:59:58,680 Ek gaan om oop te maak 'n verskil program, net sodat ons 1274 00:59:58,680 --> 01:00:00,160 sien meer in 'n keer. 1275 01:00:00,160 --> 01:00:03,100 >> So nou hier, sien 'n paar dinge. 1276 01:00:03,100 --> 01:00:06,530 Op die top van die lêer is oop bracket, vraagteken, PHP. 1277 01:00:06,530 --> 01:00:08,920 Dan is daar 'n klomp van die kommentaar, wat ons nie kan ignoreer nie, is 1278 01:00:08,920 --> 01:00:10,450 oninteressant vir nou. 1279 01:00:10,450 --> 01:00:11,300 >> Nou is daar hierdie. 1280 01:00:11,300 --> 01:00:14,200 Dit blyk PHP het 'n baie van die kode genoem vereis. 1281 01:00:14,200 --> 01:00:19,110 Dit is baie soortgelyk in gees C se sluit, hash sluit, wat 1282 01:00:19,110 --> 01:00:21,980 wese gryp die inhoud van 'n paar ander lêer en net plops dit hier 1283 01:00:21,980 --> 01:00:22,930 sodat jy kan gebruik om hulle. 1284 01:00:22,930 --> 01:00:27,060 In hierdie geval, die toestel het, vooraf geïnstalleer is, 'n biblioteek, vry en 1285 01:00:27,060 --> 01:00:29,900 open source biblioteek genoem PHP mailer wat enigiemand kan 1286 01:00:29,900 --> 01:00:30,770 aflaai van die internet. 1287 01:00:30,770 --> 01:00:32,000 Ons het dit net vir jou. 1288 01:00:32,000 --> 01:00:36,130 En dit beteken dat ek nou het e-pos funksie tot my beskikking. 1289 01:00:36,130 --> 01:00:38,170 >> Nou, sien 'n paar dinge. 1290 01:00:38,170 --> 01:00:41,120 Ek gaan die te bekragtig vorm se voorlegging. 1291 01:00:41,120 --> 01:00:45,980 Turns out PHP, een is, het uitroep punte vir die nie-operateur, net soos 1292 01:00:45,980 --> 01:00:49,810 C. Maar PHP het ook 'n funksie genoem leeg. 1293 01:00:49,810 --> 01:00:53,920 >> Leë terugkeer net waar as die waarde van die ding wat jy handig dit in 1294 01:00:53,920 --> 01:00:57,190 hakies is leeg, soos die gebruiker het nie tik enigiets in 1295 01:00:57,190 --> 01:01:02,680 So dit sê nie, en kennis van die sintaksis, baie herinner aan C, indien die 1296 01:01:02,680 --> 01:01:07,730 naam sleutel, sodat die naam veld in die vorm, wat ingedien word via pos, 1297 01:01:07,730 --> 01:01:13,010 die gebruiker is, is nie leeg te maak, en hulle geslag nie leeg is nie in die vorm 1298 01:01:13,010 --> 01:01:15,980 goed, en hul dorm nie leeg is nie - 1299 01:01:15,980 --> 01:01:19,980 maar let ek nie omgee vir Kaptein dan wat gaan ons doen? 1300 01:01:19,980 --> 01:01:21,990 >> Ek gaan om uit te voer hierdie lyn van kode. 1301 01:01:21,990 --> 01:01:24,100 En jy kan dink van hierdie soort soos malloc, maar dit is 'n bietjie 1302 01:01:24,100 --> 01:01:24,800 liefhebber as dit. 1303 01:01:24,800 --> 01:01:29,200 Maar vir nou is dit gee my 'n spesiale struct van die tipe PHP mail. 1304 01:01:29,200 --> 01:01:31,410 Maar ignoreer die navraag nuwe vir vandag. 1305 01:01:31,410 --> 01:01:35,670 >> Nou gaan ek 'n funksie genoem te roep IsSMTP, wat sê, gebruik SMTP. 1306 01:01:35,670 --> 01:01:39,380 Dit is die hawe 25, net soos die video verlede week, toe die ding gooi 1307 01:01:39,380 --> 01:01:40,710 e-pos na die firewall. 1308 01:01:40,710 --> 01:01:42,440 Port 25 is SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP beteken gebruik maak van die e-pos bediener. 1310 01:01:44,410 --> 01:01:46,215 Watter een is, kan ons gebruik Harvard se SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Ons kan die adres van te wees John Harvard se. 1313 01:01:51,590 --> 01:01:55,090 As ek blaai verder af, kan ek die ontvanger adres, net 1314 01:01:55,090 --> 01:01:56,840 arbitrêr te wees, John Harvard is so goed. 1315 01:01:56,840 --> 01:01:59,210 So hy gaan word e-pos homself. 1316 01:01:59,210 --> 01:02:01,600 >> Nou kan ek stel die onderwerp om registrasie. 1317 01:02:01,600 --> 01:02:03,700 En ek kan die liggaam van e-pos soos volg. 1318 01:02:03,700 --> 01:02:06,500 Hierdie lyn lyk 'n bietjie meer kriptiese, maar dit is net omdat daar is 'n baie 1319 01:02:06,500 --> 01:02:07,450 van inligting in dit. 1320 01:02:07,450 --> 01:02:10,670 Een, daar is 'n dot operateur. 1321 01:02:10,670 --> 01:02:14,510 Iemand moet reeds weet wat die dot operateur doen. 1322 01:02:14,510 --> 01:02:15,436 Dit is aaneenskakellling. 1323 01:02:15,436 --> 01:02:19,240 So as jy wil 'n string in PHP te neem, en voeg dit, of plaas jou daar te 1324 01:02:19,240 --> 01:02:23,500 'n ander string in PHP, dank God jou het nie strcopy en malloc te gebruik, 1325 01:02:23,500 --> 01:02:25,490 en almal wat nie. 1326 01:02:25,490 --> 01:02:28,765 >> As jy twee stringe te koppel, wat omgee vir die geheue. 1327 01:02:28,765 --> 01:02:30,850 Laat PHP figuur wat jy vir jou. 1328 01:02:30,850 --> 01:02:35,200 Wat PHP sal doen met die dot operateur hier is net 'n groot sin uit 1329 01:02:35,200 --> 01:02:37,900 van hierdie lyn, die lyn, hierdie lyn, die lyn. 1330 01:02:37,900 --> 01:02:40,460 En nou kennisgewing, gaan dit om te steek in waardes. 1331 01:02:40,460 --> 01:02:43,680 So het die e-pos wat John Harvard gaan ontvang is letterlik gaan om te sê 1332 01:02:43,680 --> 01:02:49,450 naam, kolon, iets, eerder, dan is ons naby die string en koppel op 1333 01:02:49,450 --> 01:02:52,220 wat die gebruiker getik in, dan 'n nuwe lyn. 1334 01:02:52,220 --> 01:02:54,570 >> Dan, op die volgende lyn van John Harvard se e-pos, dit gaan om te sê 1335 01:02:54,570 --> 01:02:55,910 Kaptein, On of niks. 1336 01:02:55,910 --> 01:02:57,810 Dit gaan geslag te sê, man of vrou. 1337 01:02:57,810 --> 01:02:59,680 Koshuiskamer gaan wees Matthews in my geval. 1338 01:02:59,680 --> 01:03:03,400 En dan sien bekende kommapunt heel aan die einde. 1339 01:03:03,400 --> 01:03:07,830 En dan, hier, kennisgewing, ietwat kriptiese nog steeds, maar weer, na aanleiding van 'n 1340 01:03:07,830 --> 01:03:12,730 patroon wat meer vertroud na P stel 7, as die stuur van die pos 1341 01:03:12,730 --> 01:03:16,610 terugkeer vals is, dan voort te gaan en sterf. 1342 01:03:16,610 --> 01:03:19,610 >> So PHP het 'n funksie genoem sterf, wat, letterlik, dood net die 1343 01:03:19,610 --> 01:03:22,830 webwerf en net druk uit wat jy sê dit - sy is besig om dood 1344 01:03:22,830 --> 01:03:24,280 woorde, om so te praat. 1345 01:03:24,280 --> 01:03:28,310 En dat, in die geval is, sal dit druk uit te vind wat die fout inligting is vir 1346 01:03:28,310 --> 01:03:29,860 alles wat gebeur het verkeerd gaan. 1347 01:03:29,860 --> 01:03:34,490 So lang storie kort hier, dit wat ons het is 'n voorbeeld waar wanneer die gebruiker 1348 01:03:34,490 --> 01:03:39,150 dien die vorm, froshim0, froshims3.php, gaan dit na 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Maar register3.php dan voortgaan al hierdie lyne uit te voer. 1351 01:03:45,290 --> 01:03:46,620 >> So is daar 'n paar wegneemetes hier. 1352 01:03:46,620 --> 01:03:50,380 Een, dit is blykbaar redelik maklik, programmaties, e-pos te stuur, 1353 01:03:50,380 --> 01:03:50,830 wat goed is. 1354 01:03:50,830 --> 01:03:53,500 Wanneer gebruikers registreer vir jou site, in hierdie geval, wanneer hulle vir jou 1355 01:03:53,500 --> 01:03:56,220 sport, kan jy e-pos die groentjie Proctor, of John 1356 01:03:56,220 --> 01:03:57,650 Harvard, in hierdie geval. 1357 01:03:57,650 --> 01:04:01,630 >> Maar dit beteken ook dat jy wat dit kan doen? 1358 01:04:01,630 --> 01:04:03,970 Stuur e-pos van iemand aan enigiemand. 1359 01:04:03,970 --> 01:04:05,430 En dit is baie waar. 1360 01:04:05,430 --> 01:04:08,580 Dit is so maklik nie gedoen word as jy gebruik om die gebruik van Gmail. 1361 01:04:08,580 --> 01:04:11,310 Maar as jy al ooit gebruik Eudora of Vooruitsigte, kan jy pretty much vertel 'n 1362 01:04:11,310 --> 01:04:13,720 pos bediener wat jy iemand wat jy wil. 1363 01:04:13,720 --> 01:04:16,450 En dit is waar ek nodig het om aan te trek dat hoed en sê, moenie dit doen nie. 1364 01:04:16,450 --> 01:04:21,140 Maar dit is 'n bewys hoe maklik dit is phishing-aanvalle uit te voer, en 1365 01:04:21,140 --> 01:04:24,310 Stuur anonieme e-pos, en spam, meer in die algemeen. 1366 01:04:24,310 --> 01:04:27,330 En dit is werklik kom neer op die feit dat al wat jy nodig het is 'n paar 1367 01:04:27,330 --> 01:04:28,500 programmatiese toegang. 1368 01:04:28,500 --> 01:04:31,940 >> As 'n eenkant, my naaste ontmoeting met die advertensie bord, my eie eerstejaars jaar, 1369 01:04:31,940 --> 01:04:34,320 was toe ek ontdek hierdie cool truuk wat, Sjoe, jy kan 1370 01:04:34,320 --> 01:04:36,850 stuur e-pos van iemand. 1371 01:04:36,850 --> 01:04:39,770 En so het ons met 'n paar dom argument, letterlik, in Matthews, 1372 01:04:39,770 --> 01:04:40,790 onder my Proctor groep. 1373 01:04:40,790 --> 01:04:42,470 Ek het nie eens onthou wat die probleem was. 1374 01:04:42,470 --> 01:04:44,970 Maar ek wou probeer om 'n te sit einde aan hierdie dom debat. 1375 01:04:44,970 --> 01:04:48,580 >> Dus het ek besluit ek sal net stuur 'n e-pos om my Proctor groep, voorgee om te wees 1376 01:04:48,580 --> 01:04:52,000 die ander man, met wie se mening ek saamgestem nie, en het hom berus by 1377 01:04:52,000 --> 01:04:54,680 Net soos my mening was in hierdie spesifieke debat. 1378 01:04:54,680 --> 01:04:59,320 En so het ek vervalste hierdie e-pos met behulp van 'n tegniek soortgelyke in gees aan hierdie. 1379 01:04:59,320 --> 01:05:01,256 Maar dit was eintlik makliker in die tyd. 1380 01:05:01,256 --> 01:05:02,435 Getref stuur. 1381 01:05:02,435 --> 01:05:06,660 Hy was nie tevrede nie, en wou het die advertensie bord. 1382 01:05:06,660 --> 01:05:10,280 >> En ek was baie vinnig gevang binne sekondes, want soos jy weet, ek teken 1383 01:05:10,280 --> 01:05:11,420 my e-pos in 'n sekere manier. 1384 01:05:11,420 --> 01:05:14,200 En al sou ek doen dit met die hand, in 'n groot deel, 15 jaar later, want ek was 1385 01:05:14,200 --> 01:05:15,080 getraumatiseer deur daardie. 1386 01:05:15,080 --> 01:05:16,960 Ek het nie 'n handtekening op my e-pos nou. 1387 01:05:16,960 --> 01:05:20,440 Maar in 1995, ek het net 'n sig, 'n handtekening in my e-pos. 1388 01:05:20,440 --> 01:05:24,630 So was daar hierdie noot sê, Liewe Proctor groep, het ek berus my mening 1389 01:05:24,630 --> 01:05:31,240 en stem saam met David, onderteken en so so, nuwe lyn, 'n nuwe lyn, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> So dit nie doen nie of, in die algemeen, neem voordeel van hierdie tegniek. 1391 01:05:36,220 --> 01:05:39,950 Maar wanneer jy 'n webwerf, graag vir jou finale projek, wanneer 'n 1392 01:05:39,950 --> 01:05:43,460 webwerf vir iets entrepreneurs, dit is hoe, pragmaties, jy kan 1393 01:05:43,460 --> 01:05:47,000 hefboom ander dienste op die internet soos e-pos en dan eintlik 1394 01:05:47,000 --> 01:05:49,440 stuur dinge gebruik van kode. 1395 01:05:49,440 --> 01:05:51,240 >> So hoe kan ons verbeter op hierdie? 1396 01:05:51,240 --> 01:05:54,370 Wel, die eerste kom ons neem 'n vinnige toer van 'n paar van die dinge wat jy sal sien, 1397 01:05:54,370 --> 01:05:56,170 en dan 'n blik op 'n paar voorbeelde. 1398 01:05:56,170 --> 01:05:59,500 So een, gerus te stel, want ons vlieg deur PHP. 1399 01:05:59,500 --> 01:06:02,470 En ek weet, op 'n sekere punt, sal jy om werklik te begin skryf hierdie as jy 1400 01:06:02,470 --> 01:06:03,460 nog nie het nie. 1401 01:06:03,460 --> 01:06:06,220 Besef dat een hoof is 'n soort van die venster uit met PHP. 1402 01:06:06,220 --> 01:06:09,420 As jy wil hê kode wat kry om te skryf uitgevoer, het jy net begin skryf dit in 1403 01:06:09,420 --> 01:06:13,970 'n lêer genaamd. PHP so lank as wat jy het die oop bracket 1404 01:06:13,970 --> 01:06:15,620 vraagteken PHP tag. 1405 01:06:15,620 --> 01:06:19,730 >> Maar let op dit is voorwaardes in PHP. 1406 01:06:19,730 --> 01:06:22,610 Let op, dit is presies dieselfde skyfie ons het in een week toe ons moes 1407 01:06:22,610 --> 01:06:25,670 voorwaardes in C. voorwaardes in PHP is struktureel en 1408 01:06:25,670 --> 01:06:27,140 sintakties dieselfde. 1409 01:06:27,140 --> 01:06:30,290 Enigste ware verskil is as jy het ' veranderlikes wat betrokke is, moet jy die 1410 01:06:30,290 --> 01:06:31,600 dollar tekens. 1411 01:06:31,600 --> 01:06:33,970 >> Intussen, Boole uitdrukkings kyk, net soos dit vir 1412 01:06:33,970 --> 01:06:35,725 of-ing of en-ing saam. 1413 01:06:35,725 --> 01:06:37,780 Skakelaars lyk presies dieselfde. 1414 01:06:37,780 --> 01:06:42,180 Wat is lekker om in PHP, terwyl dit in C, skakelaars te wees gevalle op 1415 01:06:42,180 --> 01:06:46,380 primitiewes soos ints of karakters, in PHP jou saak state kan eintlik 1416 01:06:46,380 --> 01:06:48,430 op 'n hele snare, wat eintlik soort van lekker. 1417 01:06:48,430 --> 01:06:49,480 Spaar jou tyd. 1418 01:06:49,480 --> 01:06:50,820 Kon dit nie doen nie in C. 1419 01:06:50,820 --> 01:06:52,880 >> Hier is 'n lus vir in PHP. 1420 01:06:52,880 --> 01:06:53,740 Dit is identies. 1421 01:06:53,740 --> 01:06:55,400 Kan 'n paar dollar tekens vir die veranderlikes. 1422 01:06:55,400 --> 01:06:57,530 Jy hoef nie te noem dat iets is 'n int. 1423 01:06:57,530 --> 01:07:00,580 Jy moet net verklaar dat dit met 'n dollar-teken en die naam van die veranderlike. 1424 01:07:00,580 --> 01:07:01,430 Maar 'n lus vir die dieselfde. 1425 01:07:01,430 --> 01:07:02,760 'N lus is dieselfde. 1426 01:07:02,760 --> 01:07:04,870 'N doen terwyl lus is dieselfde. 1427 01:07:04,870 --> 01:07:06,170 >> Dit is 'n bietjie anders. 1428 01:07:06,170 --> 01:07:12,410 So met PHP, met 'n reeks, kan jy staties verklaar 'n skikking, soos in C, 1429 01:07:12,410 --> 01:07:14,420 maar jy gebruik vierkantige hakies. 1430 01:07:14,420 --> 01:07:17,060 In C, sou jy gebruik om krulhakies, As jy selfs geweet het dat. 1431 01:07:17,060 --> 01:07:20,910 Maar dit is eintlik baie algemeen in PHP 'n skikking te verklaar, in hierdie geval, 1432 01:07:20,910 --> 01:07:23,640 van die nommers, en noem die veranderlike nommers. 1433 01:07:23,640 --> 01:07:25,300 >> Veranderlikes hulself lyk. 1434 01:07:25,300 --> 01:07:28,710 Hier is 'n string, haal unquote "hallo wêreld. "Jy kan 'n agteroorskuisstreep n. 1435 01:07:28,710 --> 01:07:30,950 Ek het eenvoudig nie in hierdie geval. 1436 01:07:30,950 --> 01:07:32,640 >> Nou is dit 'n interessante bou. 1437 01:07:32,640 --> 01:07:33,700 C het nie hierdie. 1438 01:07:33,700 --> 01:07:34,700 Maar dit is super nuttig. 1439 01:07:34,700 --> 01:07:38,160 En jy sal sien dit in P set 7 spec - 'n vir elke konstruk. 1440 01:07:38,160 --> 01:07:41,800 As jy wil om te herhaal oor al die elemente 'n skikking, het jy nie ' 1441 01:07:41,800 --> 01:07:45,500 om te gaan met $ i en $ n, en + +, en alles wat. 1442 01:07:45,500 --> 01:07:47,640 Jy kan letterlik sê, in PHP, hierdie - 1443 01:07:47,640 --> 01:07:51,890 vir elke nommers as nommer, so Ek neem aan dat $ getalle 1444 01:07:51,890 --> 01:07:53,380 is 'n skikking van getalle. 1445 01:07:53,380 --> 01:07:56,460 En as ek sê vir elke nommers as nommer, gaan dit 1446 01:07:56,460 --> 01:08:00,505 outomaties, as my lus voer, werk, op elke iterasie, die waarde 1447 01:08:00,505 --> 01:08:03,260 binnekant van die dollar teken nommer - 1448 01:08:03,260 --> 01:08:07,730 weer en weer en weer loop vir my oor daardie skikking. 1449 01:08:07,730 --> 01:08:08,735 So dit spaar ons net-kode. 1450 01:08:08,735 --> 01:08:12,250 Geen kommapunte, geen + + 's, Nee, ek is, Geen N-se, dit is net mooi. 1451 01:08:12,250 --> 01:08:13,700 >> Maar PHP het ook hierdie. 1452 01:08:13,700 --> 01:08:14,830 En dit is super kragtige. 1453 01:08:14,830 --> 01:08:17,410 En jy sal dit gebruik, hande op, in P stel 7. 1454 01:08:17,410 --> 01:08:21,990 En assosiatiewe skikking word ook verklaar met vierkantige hakies. 1455 01:08:21,990 --> 01:08:23,569 Maar kennis van die sintaksis nou. 1456 01:08:23,569 --> 01:08:26,880 Dit is wat herinner aan wat ons gesien het met print_r 'n oomblik gelede. 1457 01:08:26,880 --> 01:08:31,810 Hoeveel sleutels, as 'n bietjie gesonde verstand tjek, beteken dit skikking blyk te hê. 1458 01:08:31,810 --> 01:08:32,689 >> So het dit twee. 1459 01:08:32,689 --> 01:08:33,830 En ek noem dit 'n skikking. 1460 01:08:33,830 --> 01:08:36,760 Maar as dit help, kan jy dink van hierdie as hash tafel, of as 1461 01:08:36,760 --> 01:08:37,930 'n assosiatiewe skikking. 1462 01:08:37,930 --> 01:08:39,580 Maar dit is net 'n ander tipe skikking. 1463 01:08:39,580 --> 01:08:41,080 En weer, verskillende tale het hierdie. 1464 01:08:41,080 --> 01:08:43,810 Ons sal sien iets soortgelyks in JavaScript as well. 1465 01:08:43,810 --> 01:08:44,609 Daar is twee sleutels. 1466 01:08:44,609 --> 01:08:48,390 Een daarvan is quote unquote, "simbool," een is haal unquote "prys." En die sleutels 1467 01:08:48,390 --> 01:08:49,250 elk 'n waarde. 1468 01:08:49,250 --> 01:08:54,420 In hierdie geval simbool se waarde is FB, vir Facebook, en die prys se waarde is 49, 26, 1469 01:08:54,420 --> 01:08:56,899 wat Facebook se voorraad prys as van die oggend. 1470 01:08:56,899 --> 01:09:00,170 >> So, wat is nuttig oor 'n assosiatiewe skikking. 1471 01:09:00,170 --> 01:09:02,620 Ek kon 'n numeries geïndekseer skikking met net 1472 01:09:02,620 --> 01:09:04,120 eenvoudige vierkantige hakies. 1473 01:09:04,120 --> 01:09:09,380 En ek kon gehad het dollar-teken quote gelyk aan net hierdie. 1474 01:09:09,380 --> 01:09:10,529 Laat my dit werklik te doen. 1475 01:09:10,529 --> 01:09:14,796 Dink ek net plaas verklaar hierdie verskeidenheid soos dit. 1476 01:09:14,796 --> 01:09:17,590 Dit is volkome geldig, sintakties. 1477 01:09:17,590 --> 01:09:20,569 Dit maak nie verloor nie enige inligting, per se. 1478 01:09:20,569 --> 01:09:24,760 Ek sien nog steeds dat die simbool is fb, en dat die prys is 49, 26. 1479 01:09:24,760 --> 01:09:28,939 So hoekom is assosiatiewe skikkings dwingende? 1480 01:09:28,939 --> 01:09:30,189 >> Publiek: Jy hoef nie te onthou waar jy dinge. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> Spreker 1: Presies, jy hoef nie om te onthou waar jy dinge. 1483 01:09:34,130 --> 01:09:37,670 Jy hoef nie na willekeur te onthou dat die voorraad-simbool in hakies nul, 1484 01:09:37,670 --> 01:09:41,479 en voorraad pryse is in hakies een, Dit is veral gevaarlik wees as jy 1485 01:09:41,479 --> 01:09:43,220 dinge verander, uiteindelik. 1486 01:09:43,220 --> 01:09:46,399 Dit is baie lekkerder om te assosieer wat ons sal noem metadata 1487 01:09:46,399 --> 01:09:48,340 met jou werklike data. 1488 01:09:48,340 --> 01:09:52,399 Ek wil argumenteer dat dit wat ons regtig omgee oor hier is fb en 49, 26. 1489 01:09:52,399 --> 01:09:57,020 Die simbool en die prys is metadata wat beskryf die data wat ons 1490 01:09:57,020 --> 01:09:58,180 eintlik omgee. 1491 01:09:58,180 --> 01:10:01,910 Maar dit is net so veel makliker om toegang te verkry. 1492 01:10:01,910 --> 01:10:04,090 >> Nou, as 'n eenkant wat is die prys wat ons betaal? 1493 01:10:04,090 --> 01:10:06,600 Ons het om dit te doen in CS50 vir weke. 1494 01:10:06,600 --> 01:10:10,740 Hierdie funksie moet kom op 'n koste. 1495 01:10:10,740 --> 01:10:11,350 Geheue. 1496 01:10:11,350 --> 01:10:13,830 So jy net nie stoor 'n 32-bit integer, byvoorbeeld. 1497 01:10:13,830 --> 01:10:17,980 Jy stoor simbool / 0, waarskynlik. 1498 01:10:17,980 --> 01:10:19,160 So jy gebruik meer geheue. 1499 01:10:19,160 --> 01:10:22,540 >> En wat is die prestasie van soek iets in 'n 1500 01:10:22,540 --> 01:10:24,822 assosiatiewe skikking, waarskynlik? 1501 01:10:24,822 --> 01:10:26,590 Dit is waarskynlik stadiger. 1502 01:10:26,590 --> 01:10:29,670 Ewekansige toegang is lekker, veral wanneer jy kan doen binêre soek. 1503 01:10:29,670 --> 01:10:33,380 Maar as jy nou eintlik soek nie vir getalle nie, maar vir die snare, hierdie 1504 01:10:33,380 --> 01:10:37,630 werklik geïmplementeer word onder die kap, waarskynlik as 'n hash tafel, waar 1505 01:10:37,630 --> 01:10:42,950 jy gebruik óf 'n hash tafel met aparte chaining. 1506 01:10:42,950 --> 01:10:46,040 Of jy gebruik om 'n drie te eintlik die stoor van die waardes. 1507 01:10:46,040 --> 01:10:50,550 So miskien kan jy konstant tyd doen nie, maar jy nog steeds om te kyk na die S-Y-M-B-O-L, 1508 01:10:50,550 --> 01:10:54,510 potensieel, in plaas van net 32 stukkies om op te kyk. 1509 01:10:54,510 --> 01:10:58,430 So weer, daardie selfde idees kom terug te herhaal in hierdie konteks. 1510 01:10:58,430 --> 01:11:02,120 >> Maar weereens, PHP het nou 'n paar super Globals dat dit blyk, is 1511 01:11:02,120 --> 01:11:02,900 assosiatiewe skikkings. 1512 01:11:02,900 --> 01:11:05,590 Ons het een 'n oomblik gelede, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 En dat super globale het sleutels en waardes. 1514 01:11:08,400 --> 01:11:10,550 Spesifiek, die sleutels in lyn met wat? 1515 01:11:10,550 --> 01:11:14,520 Waar kom die sleutels in $ _POST vandaan? 1516 01:11:14,520 --> 01:11:15,380 Net om te vat? 1517 01:11:15,380 --> 01:11:16,480 >> GEHOOR: Naam. 1518 01:11:16,480 --> 01:11:17,900 >> Spreker 1: Naam, waar? 1519 01:11:17,900 --> 01:11:19,860 >> GEHOOR: [onhoorbaar] 1520 01:11:19,860 --> 01:11:20,750 >> Spreker 1: Naam is die kenmerk. 1521 01:11:20,750 --> 01:11:23,480 Wel waar, waar het hulle oorspronklik vandaan? 1522 01:11:23,480 --> 01:11:24,120 Die vorm. 1523 01:11:24,120 --> 01:11:30,140 So as 'n HTML-bladsy het 'n vorm tag, binnekant van wat is 'n paar insette, soos 1524 01:11:30,140 --> 01:11:34,760 blok, teks bokse, drop down spyskaarte, elk met 'n naam, wat 1525 01:11:34,760 --> 01:11:40,260 name eindig as sleutels in $ _POST, en, eerlik, wat vir die saak, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Indien die metode is get, dieselfde idee. 1527 01:11:42,130 --> 01:11:43,830 Dit is net in 'n ander super globale. 1528 01:11:43,830 --> 01:11:47,620 En die waardes, natuurlik, kom uit wat die gebruiker getik in sy of 1529 01:11:47,620 --> 01:11:48,890 haar leser. 1530 01:11:48,890 --> 01:11:49,830 >> Maar daar is 'n paar ander. 1531 01:11:49,830 --> 01:11:52,140 Daar is koekie, wat ons terug te kom om uiteindelik. 1532 01:11:52,140 --> 01:11:56,050 Maar dit is die dinge wat jy weet die web gebruik vir 'n paar goed of sleg. 1533 01:11:56,050 --> 01:11:57,420 Maar ons sal terug te kom na daardie. 1534 01:11:57,420 --> 01:12:01,720 Bediener en sessie, en daardie twee het 'n paar spesiale nut. 1535 01:12:01,720 --> 01:12:03,940 >> Maar laat ons neem 'n blik op hierdie. 1536 01:12:03,940 --> 01:12:13,330 Laat my gaan voort en maak 'n voorbeeld genoem mvc0.php So MVC 1537 01:12:13,330 --> 01:12:14,900 staan ​​vir die volgende. 1538 01:12:14,900 --> 01:12:19,390 En ons stel dit vroeër is as wat tipiese, regtig, kry jy die ontwerp 1539 01:12:19,390 --> 01:12:22,180 Probleem set 7, en ook die finale projekte, in soort van 'n bedryf 1540 01:12:22,180 --> 01:12:23,670 standaard manier, en skoon manier. 1541 01:12:23,670 --> 01:12:24,820 Dit is goed ontwerp. 1542 01:12:24,820 --> 01:12:29,090 >> So jy oor om te sien, en jy sal ervaring, in P set 7, paradigma, soort 1543 01:12:29,090 --> 01:12:32,260 van 'n ontwikkeling denkwyse, wat lyk 'n bietjie iets soos hierdie. 1544 01:12:32,260 --> 01:12:35,570 M vir Model, C vir Controller, V vir View. 1545 01:12:35,570 --> 01:12:39,690 Lang storie kort, MVC is net 'n soort van 'n metode, 'n manier om 1546 01:12:39,690 --> 01:12:43,360 webtuistes, in die besonder, waardeur jy sit al van jou, dom uitdrukking - 1547 01:12:43,360 --> 01:12:44,970 besigheid logika - 1548 01:12:44,970 --> 01:12:49,710 al jou intellektuele eiendom in wat 'n kontroleerder genoem word, 'n lêer 1549 01:12:49,710 --> 01:12:54,840 soos jeug, of ons sal sien, quote.php, of buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> In die konteks van Probleem set 7, jou modelle bevat gewoonlik jou data, 1551 01:12:59,570 --> 01:13:03,860 enigiets wat verband hou met 'n databasis, as ons sal uiteindelik sien, en jou mening 1552 01:13:03,860 --> 01:13:07,510 bevat die estetika van jou webwerf, die HTML, die CSS. 1553 01:13:07,510 --> 01:13:10,420 So het ons reeds gesien het in C 'n bietjie bietjie deur die gebruik van h lêers.. 1554 01:13:10,420 --> 01:13:15,010 Ons het werklik het dit 'n oomblik gelede met CSS, deur factoring die CSS stilering 1555 01:13:15,010 --> 01:13:16,520 goed uit ons HTML. 1556 01:13:16,520 --> 01:13:20,730 >> So MVC is regtig net oor die opstel lyne in die sand en sê, die 1557 01:13:20,730 --> 01:13:25,400 interessante ontwikkeling kode vir jou webwerf behoort in wat ons noem die 1558 01:13:25,400 --> 01:13:26,400 kontroleerder. 1559 01:13:26,400 --> 01:13:29,280 Dinge wat met databasis tipies eindig in 'n model. 1560 01:13:29,280 --> 01:13:33,070 Maar jy sien, in Probleem set 7, ons saamsmelt C en M te hou dit eenvoudig. 1561 01:13:33,070 --> 01:13:37,630 Maar siening is waar al jou HTML en estetika tipies. 1562 01:13:37,630 --> 01:13:39,160 >> So wat beteken dit in reële terme? 1563 01:13:39,160 --> 01:13:45,980 Wel, laat ek gaan in ons MVC gids soos volg. 1564 01:13:45,980 --> 01:13:48,880 En jy sal sien meer van hierdie getoer het deur in die spec. 1565 01:13:48,880 --> 01:13:53,200 So in mvc0, ek beweer dat dit, soos, weergawe 0 van CS50 se webtuistes. 1566 01:13:53,200 --> 01:13:56,670 >> Al wat ons het, is 'n HTML, soos 'n groot h1 tag, blykbaar. 1567 01:13:56,670 --> 01:13:57,800 En dan 'n lys met opsomming. 1568 01:13:57,800 --> 01:13:59,860 Ek het nog nooit gesien dat 'n kolpuntlys voor, maar nie 'n groot deal. 1569 01:13:59,860 --> 01:14:01,590 Kom ons vinnig kyk na die bron-kode. 1570 01:14:01,590 --> 01:14:06,610 Blyk uit 'n On-geordende lys met koeëls is oop bracket ul met een of 1571 01:14:06,610 --> 01:14:09,065 meer lys items, Li. 1572 01:14:09,065 --> 01:14:10,650 So kennisgewing hier is 'n anker tag. 1573 01:14:10,650 --> 01:14:12,130 Ons het gesien dat 'n oomblik gelede. 1574 01:14:12,130 --> 01:14:13,810 >> So dit is hoe ek geïmplementeer hierdie bladsy. 1575 01:14:13,810 --> 01:14:18,460 Ek het twee skakels, twee lys items, een ul vir geordende lys, en die einde 1576 01:14:18,460 --> 01:14:22,700 gevolg, estetiese, is dit baie mooi webwerf, weergawe 0 hier. 1577 01:14:22,700 --> 01:14:26,840 Maar wat interessant is, is nou hoe hierdie geïmplementeer word onder die enjinkap. 1578 01:14:26,840 --> 01:14:33,590 >> Laat my gaan in gedit en maak dit heel eerste voorbeeld 'n prentjie te verf. 1579 01:14:33,590 --> 01:14:37,070 En ons sal kyk wat is gebrekkig, potensieel, in hier. 1580 01:14:37,070 --> 01:14:43,260 Nou as ek gaan in local host, die publiek, MVC, sien 'n paar lêers. 1581 01:14:43,260 --> 01:14:45,780 Ek gaan om dit te roep, om vir die oomblik, al beheerders. 1582 01:14:45,780 --> 01:14:48,640 Maar dit is 'n bietjie van 'n misbruik omdat sal jy sien alles is commingled 1583 01:14:48,640 --> 01:14:49,620 binnekant van hulle. 1584 01:14:49,620 --> 01:14:52,330 >> En laat my gaan binnekant van jeug. 1585 01:14:52,330 --> 01:14:54,700 En ons sien, letterlik, dieselfde HTML. 1586 01:14:54,700 --> 01:14:57,970 Dus, selfs al is hierdie lêer eindig in . Php, beteken dit nie dat dit te 1587 01:14:57,970 --> 01:14:59,500 enige PHP-kode. 1588 01:14:59,500 --> 01:15:02,290 Dit kan net wees rou HTML, hoewel dit is soort van dom. 1589 01:15:02,290 --> 01:15:07,650 Maar let op daar is geen oop bracket PHP merk, behalwe vir hierdie, wat, eerlik, 1590 01:15:07,650 --> 01:15:09,160 is net daar om te dien as 'n kommentaar. 1591 01:15:09,160 --> 01:15:12,080 Maar dit is nie funksioneel selfs dit interessant. 1592 01:15:12,080 --> 01:15:12,960 >> Maar dit agterkom. 1593 01:15:12,960 --> 01:15:15,400 Wat is interessant nou is wat veranderinge op hierdie bladsy. 1594 01:15:15,400 --> 01:15:16,650 Laat my kliek Lesings. 1595 01:15:16,650 --> 01:15:18,560 En kennis van die URL is om te verander. 1596 01:15:18,560 --> 01:15:20,930 Nou moet ek lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Laat my op nul. 1598 01:15:22,630 --> 01:15:27,200 Nou moet ek week0.php En nou, laat my oopmaak hierdie lêers in gedit. 1599 01:15:27,200 --> 01:15:30,120 Nie net indeks, maar laat my oop te stel lesings. 1600 01:15:30,120 --> 01:15:33,900 En laat my ontslae te raak van die kommentaar om te fokus op hierdie deel net. 1601 01:15:33,900 --> 01:15:37,680 >> En nou, laat my oop te maak net een, week0.php, gooi weg die kommentaar, 1602 01:15:37,680 --> 01:15:39,910 Net hierdie up skoon te maak. 1603 01:15:39,910 --> 01:15:41,720 En nou na die volgende. 1604 01:15:41,720 --> 01:15:47,340 Dink regtig soort van mooi oor ontwerp, en laat ons dit in lyn 1605 01:15:47,340 --> 01:15:52,013 up dieselfde, wat gedoen kan word beter hier, dink jy nie? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Hoe het ek 'n week een? 1608 01:15:57,780 --> 01:15:58,480 Hoe gaan dit. 1609 01:15:58,480 --> 01:16:00,450 So dit is hoe ek gemaak week een. 1610 01:16:00,450 --> 01:16:08,290 Ek het op File, New, plak, Save, week1.php, en dan het ek hier. 1611 01:16:08,290 --> 01:16:09,875 En ek verander een - 1612 01:16:09,875 --> 01:16:11,646 Wat was hierdie een tot Vrydag. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Ek het die nulle vir die een. 1615 01:16:15,810 --> 01:16:17,150 Ek het dit verander na een. 1616 01:16:17,150 --> 01:16:20,350 >> OK, so nou kyk na my lêers. 1617 01:16:20,350 --> 01:16:22,100 Wat kan anders gedoen word? 1618 01:16:22,100 --> 01:16:25,310 Waar is die geleentheid, miskien? 1619 01:16:25,310 --> 01:16:28,330 So is daar die geleentheid om te begin factoring hierdie dinge uit. 1620 01:16:28,330 --> 01:16:32,950 Laat my oop te stel, as 'n verwoester, vir wat jy sien in P set 7. 1621 01:16:32,950 --> 01:16:38,750 As ek oop te maak, nou, jeug in weergawe Vyf van hierdie, dit lyk manier 1622 01:16:38,750 --> 01:16:40,730 meer kriptiese, weliswaar. 1623 01:16:40,730 --> 01:16:43,710 >> Maar dit, nou, is wat ek sal noem 'n kontroles wat is die beheer van die 1624 01:16:43,710 --> 01:16:44,770 logika van my bladsy. 1625 01:16:44,770 --> 01:16:48,510 En jy kan soort van herbou, intuïtief, miskien, is wat aan die gang. 1626 01:16:48,510 --> 01:16:50,630 Op die eerste reël is, is dit 'n bietjie kripties. 1627 01:16:50,630 --> 01:16:54,040 Maar let ek vereis, soos met skerp sluit in 'n lêer genaamd 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 En dan is ek 'n beroep, blykbaar, 'n funksie, genaamd lewer, verby in 1630 01:16:59,980 --> 01:17:00,850 twee argumente. 1631 01:17:00,850 --> 01:17:02,440 >> Een daarvan is quote unquote, kop. 1632 01:17:02,440 --> 01:17:04,800 En die ander is, watter soort data tipe is dit gebaseerde 1633 01:17:04,800 --> 01:17:07,180 op ons sintaksis vroeër? 1634 01:17:07,180 --> 01:17:08,160 Dit is 'n gepaardgaande skikking. 1635 01:17:08,160 --> 01:17:11,730 Spesifiek, is dit verby in die titel met 'n paar metadata wat herinner 1636 01:17:11,730 --> 01:17:13,430 my wat dit is en die waarde daarvan. 1637 01:17:13,430 --> 01:17:16,340 Dan sien ek 'n harde gekodeer ul, so 'n paar rou HTML. 1638 01:17:16,340 --> 01:17:20,020 Maar dan is ek terug in PHP af roep 'n funksie lewer. 1639 01:17:20,020 --> 01:17:24,390 So selfs as jy nog nooit gebruik HTML of PHP voor, en selfs al is dit lyk 1640 01:17:24,390 --> 01:17:27,480 vreesaanjaend, is die rede waarom dit is waarskynlik beter ontwerp? 1641 01:17:27,480 --> 01:17:31,310 Wat is beter daaroor, gebaseer op afleiding? 1642 01:17:31,310 --> 01:17:32,130 >> GEHOOR: [onhoorbaar] 1643 01:17:32,130 --> 01:17:35,750 >> Spreker 1: Minder oorbodig in daardie daar is nie meer HTML tag, nie meer 1644 01:17:35,750 --> 01:17:38,410 koppe tag, nie meer liggaam tag in elke damn lêer. 1645 01:17:38,410 --> 01:17:41,860 In plaas daarvan, het ek faktor uit die ooreenkomste en vermoedelik het hulle 1646 01:17:41,860 --> 01:17:45,150 in 'n lêer op 'n manier verwant 'n kop. 1647 01:17:45,150 --> 01:17:48,500 En dieselfde ding vir die noue liggaam tag, die noue HTML tag. 1648 01:17:48,500 --> 01:17:52,165 Dit is waarskynlik hier binne van die voet iewers. 1649 01:17:52,165 --> 01:17:57,050 En jy sal sien, in Probleem set 7, 'n bietjie toer deur middel van hierdie. 1650 01:17:57,050 --> 01:17:58,070 >> So wat voorlê? 1651 01:17:58,070 --> 01:18:03,390 Die een ding wat ons het nie die vermoë om nog vir is om werklik te stoor. 1652 01:18:03,390 --> 01:18:06,110 En ja, wat ons sal begin om te sien Woensdag, byvoorbeeld, is dat jou 1653 01:18:06,110 --> 01:18:08,450 ou vriend Excel, of nommers, kan jy baie van die stoor 1654 01:18:08,450 --> 01:18:10,060 data in rye en kolomme. 1655 01:18:10,060 --> 01:18:12,570 Turns out jy dit kan doen in wat bekend as 'n databasis, programmaties. 1656 01:18:12,570 --> 01:18:16,620 maniese En dit blyk, na dit, sal ons in staat wees om dinge te stoor soos 1657 01:18:16,620 --> 01:18:20,550 hierdie, wat jy weer sien in P stel 7, 'n hele klomp van die name en 1658 01:18:20,550 --> 01:18:23,690 wagwoorde, laasgenoemde waarvan eintlik geïnkripteer, baie soos hulle 1659 01:18:23,690 --> 01:18:25,550 was in P stel 2 se hacker uitgawe. 1660 01:18:25,550 --> 01:18:29,600 En uiteindelik, sal jy implementeer, jou eie Etrade-agtige webwerf wat 1661 01:18:29,600 --> 01:18:32,220 implemente gesamentlik CS50 finansies. 1662 01:18:32,220 --> 01:18:36,000 >> Laastens, want jy het hier gebly so laat Vandag, as jy kom terug na hierdie deel 1663 01:18:36,000 --> 01:18:41,120 van die kampus, by 04:00 vandag, sal ons gee jy nie net advies, op die SCE 1664 01:18:41,120 --> 01:18:44,200 Adviseer Fair, by 16:00 in die Maxwell-Dworkin, sal ons gee jou 'n paar 1665 01:18:44,200 --> 01:18:47,470 Americone Dream, kers Garcia, Chocolate Fudge Brownie, Chocolate 1666 01:18:47,470 --> 01:18:50,840 Chip koekie deeg, en wanneer jy Google Bonkige aap, kry jy dit. 1667 01:18:50,840 --> 01:18:53,620 So al wat wag om 4:00 PM in Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Sien julle op Woensdag as well. 1669 01:18:56,736 --> 01:18:59,960 >> Spreker 2: By die volgende CS50, RJ slaap in 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: My artikel! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ha! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 O, 1676 01:19:13,306 --> 01:19:16,374