1 00:00:00,000 --> 00:00:39,630 2 00:00:39,630 --> 00:00:41,880 David J. MALAN: Alle reg, so dit is hier die Myo arm 3 00:00:41,880 --> 00:00:44,450 band, 'n paar van wat ons vir CS50 finale projekte. 4 00:00:44,450 --> 00:00:47,533 En dit was 'n demonstrasie ons tougestaan julle vooruit waar wese 5 00:00:47,533 --> 00:00:51,120 hierdie redelik stywe arm band, hier luister na jou gespierde bewegings 6 00:00:51,120 --> 00:00:54,280 wat dan gekarteer in sagteware te Colton se laptop hier wat 7 00:00:54,280 --> 00:00:57,230 moes iTunes en dat lied reeds tougestaan ​​het. 8 00:00:57,230 --> 00:01:00,270 Eerder as om my demoing hierdie, Colton was in die laboratorium 9 00:01:00,270 --> 00:01:04,129 duidelik al die hele week om 'n demonstrasie gereed vir een dapper vrywilligers. 10 00:01:04,129 --> 00:01:07,430 As iemand wil kom op up-- sien jou hand eerste. 11 00:01:07,430 --> 00:01:09,540 Kom op. 12 00:01:09,540 --> 00:01:12,530 >> Alle regte. 13 00:01:12,530 --> 00:01:13,886 En wat is jou naam? 14 00:01:13,886 --> 00:01:14,800 >> Publiek: Uh, Maria. 15 00:01:14,800 --> 00:01:16,550 >> David J. Malan Maria, lekker om jou te sien. 16 00:01:16,550 --> 00:01:17,310 Kom hier. 17 00:01:17,310 --> 00:01:19,550 Kom ek stel jou aan Colton. 18 00:01:19,550 --> 00:01:21,290 Colton, dit is Maria. 19 00:01:21,290 --> 00:01:23,050 >> COLTON: Hi, lekker om jou te ontmoet. 20 00:01:23,050 --> 00:01:24,330 >> David J. Malan Alle reg, so stap een, ons is 21 00:01:24,330 --> 00:01:26,204 gaan hê jy hierdie op jou voorarm 22 00:01:26,204 --> 00:01:29,280 sodat dit is redelik stywe tot naby jou elmboog. 23 00:01:29,280 --> 00:01:31,940 En intussen, laat ons ' sit op ons Google Glass 24 00:01:31,940 --> 00:01:33,720 en ons sal meng tegnologie van vandag. 25 00:01:33,720 --> 00:01:36,340 >> COLTON: Eerste ons sal moet haak dit in die dinge. 26 00:01:36,340 --> 00:01:37,170 >> David J. Malan OK. 27 00:01:37,170 --> 00:01:39,795 Eintlik, laat ons sit jou arm as naby aan hierdie kabel as moontlik 28 00:01:39,795 --> 00:01:41,160 sodat ons kan eerste sinchroniseer dit. 29 00:01:41,160 --> 00:01:42,740 >> COLTON: Kom ons doen dit. 30 00:01:42,740 --> 00:01:46,500 >> David J. Malan En intussen, so dat almal kan 'n nader blik kry, 31 00:01:46,500 --> 00:01:50,290 ons sal Andrew se kamera gooi op die skerm is daar. 32 00:01:50,290 --> 00:01:54,460 So het ons 'n USB-kabel wat word ingeprop in Maria se armband. 33 00:01:54,460 --> 00:02:00,230 En laat my gooi Colton se skerm op die projektor volgende. 34 00:02:00,230 --> 00:02:06,000 >> So Colton is die registrasie van die toestel Nou as 'n Myo gekoppel aan hierdie kabel. 35 00:02:06,000 --> 00:02:08,060 En nou wat Maria se gaan vir 'n oomblik doen 36 00:02:08,060 --> 00:02:10,120 is eintlik loop deur die kalibrasie stappe 37 00:02:10,120 --> 00:02:12,830 en leer om die sagteware hoe haar spiere reageer 38 00:02:12,830 --> 00:02:16,070 toe sy maak sekere pre-gedefinieerde beduie dat die sagteware verstaan. 39 00:02:16,070 --> 00:02:17,910 As jy wil om te gaan in voorkant van die skerm. 40 00:02:17,910 --> 00:02:26,840 41 00:02:26,840 --> 00:02:30,090 OK, probeer hou. 42 00:02:30,090 --> 00:02:31,860 >> COLTON: Gaan soos hierdie. 43 00:02:31,860 --> 00:02:32,970 En soos dit. 44 00:02:32,970 --> 00:02:34,563 En al die pad na regs. 45 00:02:34,563 --> 00:02:35,922 Gaan terug. 46 00:02:35,922 --> 00:02:37,740 >> David J. Malan OK. 47 00:02:37,740 --> 00:02:38,960 Ander perspektief. 48 00:02:38,960 --> 00:02:39,620 Dit is nie jy nie. 49 00:02:39,620 --> 00:02:40,350 Dit is vir ons. 50 00:02:40,350 --> 00:02:41,749 >> MARIA: OK. 51 00:02:41,749 --> 00:02:42,540 David J. Malan No. 52 00:02:42,540 --> 00:02:46,720 53 00:02:46,720 --> 00:02:51,540 Kom ons beweeg dit hoër op sodat dit nader aan jou elmboog, of selfs strenger. 54 00:02:51,540 --> 00:02:52,680 Alle regte. 55 00:02:52,680 --> 00:02:53,270 >> Hier gaan ons. 56 00:02:53,270 --> 00:02:56,780 Dit sou 'n goeie tyd vir CS52X wees. 57 00:02:56,780 --> 00:02:57,670 Daar gaan ons. 58 00:02:57,670 --> 00:02:58,760 >> Baie mooi. 59 00:02:58,760 --> 00:03:01,170 OK. 60 00:03:01,170 --> 00:03:02,790 Duim te Pinky. 61 00:03:02,790 --> 00:03:03,380 >> Baie mooi. 62 00:03:03,380 --> 00:03:05,140 Smeer jou vingers. 63 00:03:05,140 --> 00:03:06,240 Goed. 64 00:03:06,240 --> 00:03:06,910 Waai reg. 65 00:03:06,910 --> 00:03:15,052 66 00:03:15,052 --> 00:03:17,010 Dit is vreemd toon jy met die linker hand-- 67 00:03:17,010 --> 00:03:19,665 >> COLTON: Ja, dit is vreemd. 68 00:03:19,665 --> 00:03:21,790 David J. Malan Wave te die regte en vorentoe beweeg. 69 00:03:21,790 --> 00:03:22,998 Vinnig vorentoe te slaan of die volgende. 70 00:03:22,998 --> 00:03:25,020 Dit is OK Wave reg. 71 00:03:25,020 --> 00:03:26,650 >> MARIA: Ek don't-- wag. 72 00:03:26,650 --> 00:03:28,430 >> David J. Malan hulp nodig? 73 00:03:28,430 --> 00:03:30,027 >> COLTON: So jy gaan soos hierdie. 74 00:03:30,027 --> 00:03:31,860 MARIA: Dit is die draai van die ander ding, al is. 75 00:03:31,860 --> 00:03:32,390 COLTON: Dit is. 76 00:03:32,390 --> 00:03:34,250 David J. Malan Ja ek weet nie Hoekom is dit wys jou 'n leftie. 77 00:03:34,250 --> 00:03:36,458 COLTON: Hoekom dink jy try-- nie net probeer om te gaan soos hierdie. 78 00:03:36,458 --> 00:03:38,910 79 00:03:38,910 --> 00:03:40,090 >> David J. MALAN: Nee? 80 00:03:40,090 --> 00:03:42,580 Miskien bereik jou arm 'n bietjie reguit 81 00:03:42,580 --> 00:03:46,070 en maak dit meer skielike soos hierdie. 82 00:03:46,070 --> 00:03:48,176 Ja, OK, kom op. 83 00:03:48,176 --> 00:03:49,670 >> MARIA: Ek is jammer. 84 00:03:49,670 --> 00:03:51,170 David J. Malan Dit is nie jou skuld nie. 85 00:03:51,170 --> 00:03:53,018 COLTON: Dit is goed. 86 00:03:53,018 --> 00:03:55,430 David J. Malan alles reg. 87 00:03:55,430 --> 00:03:56,220 Well-- 88 00:03:56,220 --> 00:03:57,620 >> MARIA: Moet ons slaan, dan? 89 00:03:57,620 --> 00:03:59,620 David J. Malan Ja, laat laat uit die haak. 90 00:03:59,620 --> 00:04:03,130 So as iemand wil graag 'n om te doen finale projek met behulp van hierdie voorpunt 91 00:04:03,130 --> 00:04:07,707 hardeware, besef dat dit dalk net neem 'n bietjie gewoond raak aan. 92 00:04:07,707 --> 00:04:10,290 En this-- die realiteit is dit is eintlik baie bloeding rand. 93 00:04:10,290 --> 00:04:12,040 >> Dit is wat genoem die ontwikkelaar stel, wat 94 00:04:12,040 --> 00:04:14,956 bedoel in wese 'n pre-release te wees sodat mense presies kan doen 95 00:04:14,956 --> 00:04:18,690 this-- veg met dit, figuur hoe mense se liggame werk 96 00:04:18,690 --> 00:04:19,980 met die tegnologie. 97 00:04:19,980 --> 00:04:21,750 So as jy wil hê daarna, nadat lesing 98 00:04:21,750 --> 00:04:23,750 ons kan laat kom en neem 'n ander steek op dit. 99 00:04:23,750 --> 00:04:26,970 Maar anders, 'n ronde van die applous, indien ons kan, vir Maria vir kom op op. 100 00:04:26,970 --> 00:04:28,770 >> MARIA: Dankie. 101 00:04:28,770 --> 00:04:30,390 >> David J. Malan Dankie. 102 00:04:30,390 --> 00:04:34,945 Ons sal hang aan hierdie, maar ons sal gee you-- hoe om 'n stress bal hier? 103 00:04:34,945 --> 00:04:38,620 O, and-- if-- ja, dankie. 104 00:04:38,620 --> 00:04:39,715 Alle regte. 105 00:04:39,715 --> 00:04:45,750 So vir die vreemde, as jy onbekend is met die goeie keuse 106 00:04:45,750 --> 00:04:47,670 dat ons daar gemaak Vroeër, 'n wonderlike TV 107 00:04:47,670 --> 00:04:50,210 wys dat jy moet absoluut wees drank-kyk op Netflix 108 00:04:50,210 --> 00:04:51,110 is hierdie een hier. 109 00:04:51,110 --> 00:04:54,472 >> Spreker 1: Dames en here, 'n towenaar met die naam Josh. 110 00:04:54,472 --> 00:05:04,710 111 00:05:04,710 --> 00:05:08,050 >> David J. Malan En glo, is dit 'n ding vir my na die teks tydens lesing nou. 112 00:05:08,050 --> 00:05:11,190 Ek word vertel dat Maria het gister 'n verjaarsdag. 113 00:05:11,190 --> 00:05:14,095 So gelukkig verjaardag van CS50 Maria as well. 114 00:05:14,095 --> 00:05:18,720 115 00:05:18,720 --> 00:05:22,090 >> So kan jy in die afgelope maand gelees het dat hierdie here hier, Steve 116 00:05:22,090 --> 00:05:25,260 Ballmer, wat eintlik klas van 1977 by die kollege, 117 00:05:25,260 --> 00:05:27,170 onlangs afgetrede vir Microsoft. 118 00:05:27,170 --> 00:05:29,620 Hy was 'n voorgraadse hier dan 'n paar jaar later 119 00:05:29,620 --> 00:05:31,910 bevind homself op Stanford Business School 120 00:05:31,910 --> 00:05:34,160 toe hy 'n selfoon oproep van 'n vriend van hom wat 121 00:05:34,160 --> 00:05:36,516 geleef het in die gang af van hom hier by Harvard. 122 00:05:36,516 --> 00:05:38,640 Daardie vriend se naam was Bill Gates, en in die tyd, 123 00:05:38,640 --> 00:05:42,700 Hy het probeer om Steve te werf om die eerste besigheid persoon, werklik, 124 00:05:42,700 --> 00:05:45,720 op 'n klein maatskappy noem Microsoft. 125 00:05:45,720 --> 00:05:48,960 >> 'N lang storie kort, Steve was uiteindelik gewen, 126 00:05:48,960 --> 00:05:52,130 by Microsoft wanneer hulle moes net 30 werknemers. 127 00:05:52,130 --> 00:05:54,300 En teen die tyd dat hy afgetrede redelik onlangs, 128 00:05:54,300 --> 00:05:58,100 die maatskappy het 100,000 werknemers oor die afgelope paar jaar. 129 00:05:58,100 --> 00:06:01,171 En so 'n webwerf bekend as die rand bereid is om hierdie huldeblyk op video 130 00:06:01,171 --> 00:06:02,920 dat ons gedink ons ​​wil gedeel dat jy gee 131 00:06:02,920 --> 00:06:08,380 'n gevoel van net hoeveel energie Steve bring aan enige aanbieding hy gee. 132 00:06:08,380 --> 00:06:11,884 133 00:06:11,884 --> 00:06:12,550 [Video speel] 134 00:06:12,550 --> 00:06:16,220 -Microsoft Is soos 'n vierde kind. 135 00:06:16,220 --> 00:06:18,260 Kinders doen die huis verlaat. 136 00:06:18,260 --> 00:06:21,875 In hierdie geval, dink ek Ek verlaat die huis. 137 00:06:21,875 --> 00:06:23,270 Hey Bill, whazzap? 138 00:06:23,270 --> 00:06:24,200 >> -Wazzap? 139 00:06:24,200 --> 00:06:25,320 >> Hey, wazzap? 140 00:06:25,320 --> 00:06:28,590 Ons het al 'n gegewe enorme geleentheid. 141 00:06:28,590 --> 00:06:30,210 En Bill het ons daardie geleentheid. 142 00:06:30,210 --> 00:06:35,520 143 00:06:35,520 --> 00:06:36,770 Ek wil Bill te bedank. 144 00:06:36,770 --> 00:06:39,630 Ek wil hê jy moet ook. 145 00:06:39,630 --> 00:06:42,500 Die tempo van innovering gaan nie te stadig. 146 00:06:42,500 --> 00:06:45,140 >> Dit gaan vinniger en vinniger kry. 147 00:06:45,140 --> 00:06:50,165 Daar is dalk 'n paar mededingers wat ongelukkig uitgeskakel! 148 00:06:50,165 --> 00:06:54,337 149 00:06:54,337 --> 00:06:59,564 >> Ek hou van hierdie maatskappy. 150 00:06:59,564 --> 00:07:00,064 Ja! 151 00:07:00,064 --> 00:07:03,452 152 00:07:03,452 --> 00:07:08,250 Ek is 'n rekenaar, en ek is mal oor hierdie maatskappy! 153 00:07:08,250 --> 00:07:13,090 >> Ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars, 154 00:07:13,090 --> 00:07:14,560 ontwikkelaars, ontwikkelaars. 155 00:07:14,560 --> 00:07:17,500 156 00:07:17,500 --> 00:07:18,970 Ja! 157 00:07:18,970 --> 00:07:19,950 Web ontwikkelaars! 158 00:07:19,950 --> 00:07:21,420 >> Web ontwikkelaars! 159 00:07:21,420 --> 00:07:22,890 Web ontwikkelaars! 160 00:07:22,890 --> 00:07:25,830 161 00:07:25,830 --> 00:07:28,770 Luister na wat jy nog kry teen geen ekstra koste! 162 00:07:28,770 --> 00:07:31,960 >> Die MS-DOS uitvoerende gesag, 'n afspraak kalender, 'n kaart paal, 'n nota boekie, 163 00:07:31,960 --> 00:07:33,750 'n horlosie, 'n control panel. 164 00:07:33,750 --> 00:07:35,461 En, kan jy dit glo? 165 00:07:35,461 --> 00:07:35,960 Reversion! 166 00:07:35,960 --> 00:07:37,270 >> Brand na 'n CD! 167 00:07:37,270 --> 00:07:38,660 Na hulle te MSN! 168 00:07:38,660 --> 00:07:40,422 Jy pos dit aan vriende! 169 00:07:40,422 --> 00:07:41,790 >> Almal met een kliek! 170 00:07:41,790 --> 00:07:48,670 Een Microsoft, een strategie, een team-- gefokus, gedissiplineerd, professionele, 171 00:07:48,670 --> 00:07:50,610 en kundige in alles wat ons doen. 172 00:07:50,610 --> 00:07:52,670 Laat my gebruik om 'n lyn van 'n ou film. 173 00:07:52,670 --> 00:07:54,810 >> Verhoudings is soos haaie. 174 00:07:54,810 --> 00:07:57,480 Hulle beweeg vorentoe of hulle sterf. 175 00:07:57,480 --> 00:08:01,470 Ek dink eintlik tegnologie maatskappye is dieselfde. 176 00:08:01,470 --> 00:08:04,801 >> [Einde video speel] 177 00:08:04,801 --> 00:08:08,050 David J. Malan So ons is so bly om te kondig dat Steve by ons gaan aansluit 178 00:08:08,050 --> 00:08:13,320 hier in CS50 volgende Woensdag by die gewone plek en tyd hier. 179 00:08:13,320 --> 00:08:14,750 Ruimte sal waarskynlik beperk. 180 00:08:14,750 --> 00:08:19,650 En so ons aan te sluit in die persoon, asseblief kop vandag of kort daarna 181 00:08:19,650 --> 00:08:22,600 te cs50.harvard.edu/register. 182 00:08:22,600 --> 00:08:25,780 >> En ons sal volg deur Dinsdag bevestig kolle. 183 00:08:25,780 --> 00:08:29,900 Sien uit na die volgende Woensdag tydens lesing in CS50. 184 00:08:29,900 --> 00:08:33,706 Nou, in ander nuus, ek toevallig kom oor dit in die rooi net 185 00:08:33,706 --> 00:08:34,289 die ander dag. 186 00:08:34,289 --> 00:08:37,370 >> Dit blyk dat een van CS50 se personeel en ten minste een van CS50 se studente 187 00:08:37,370 --> 00:08:40,299 word tans vir UC president en vise-president, 188 00:08:40,299 --> 00:08:42,950 wat my teruggebring om my eie dae terug 189 00:08:42,950 --> 00:08:45,920 toe ek verloor die UC verkiesing erg. 190 00:08:45,920 --> 00:08:48,210 Maar die silwer randjie in wat ek altyd 191 00:08:48,210 --> 00:08:50,604 vertel die verhaal is dat een van die Ek is seker 192 00:08:50,604 --> 00:08:52,770 baie redes wat ek verloor die verkiesing was 'n totale gebrek aan 193 00:08:52,770 --> 00:08:54,103 'n talent vir openbare redevoering. 194 00:08:54,103 --> 00:08:56,950 En so eerlik te wees, dit gery het my, dat die ervaring 195 00:08:56,950 --> 00:09:02,235 Ek dink my junior jaar, om werklik te teken vir Harvard Computer Society, wat 196 00:09:02,235 --> 00:09:04,610 is die groep op die kampus wat hou verskeie tegniese gesprekke 197 00:09:04,610 --> 00:09:05,318 en ander dinge. 198 00:09:05,318 --> 00:09:08,117 En ek het oor hul onderrig seminare en dus 199 00:09:08,117 --> 00:09:09,950 het 'n geleentheid, 'n wonderlike geleentheid, 200 00:09:09,950 --> 00:09:12,620 om te begin werk op presies hierdie. 201 00:09:12,620 --> 00:09:15,000 Maar ook, ek het 'n geleentheid om tydens hierdie ervaring 202 00:09:15,000 --> 00:09:16,930 om myself te leer al hoe meer HTML. 203 00:09:16,930 --> 00:09:21,080 En so het ek gisteraand procrastinated deur soek deur die HTML gebaseerde webwerf 204 00:09:21,080 --> 00:09:28,066 Ek het in soos 1997, '98, vir my veldtog wat lyk soos hierdie hier. 205 00:09:28,066 --> 00:09:29,920 Ek weet nie. 206 00:09:29,920 --> 00:09:33,340 >> Because-- en natuurlik, kennisgewing hierdie wonderlike ontwerp besluit in 1998 207 00:09:33,340 --> 00:09:33,850 of iets anders. 208 00:09:33,850 --> 00:09:36,475 Die eerste ding wat jy wil hê dat gebruikers om te doen by die besoek van jou webwerf 209 00:09:36,475 --> 00:09:39,860 is om 'n ander skakel na kliek jou webwerf hier gaan met die monnik 210 00:09:39,860 --> 00:09:43,940 agter soos 'n gehul gordyn waar glo my veldtog platform was. 211 00:09:43,940 --> 00:09:46,330 En dit is al wat jy kry vandag is net 'n kiekie. 212 00:09:46,330 --> 00:09:49,500 Maar ek lees deur, soos, my veldtog plakkate gisteraand 213 00:09:49,500 --> 00:09:50,490 en my platform. 214 00:09:50,490 --> 00:09:52,960 >> En Ek was so kwaad by die tyd. 215 00:09:52,960 --> 00:09:55,380 My platform was-- dit was interessant. 216 00:09:55,380 --> 00:09:57,730 So ek het bedaar sedert dan. 217 00:09:57,730 --> 00:10:03,550 Maar eendag, sal ek weer hardloop en hopelik beter af hierdie tyd. 218 00:10:03,550 --> 00:10:07,265 >> So HTML, dat die taal waarin ek gemaak dat in-- jy sal gou baie more-- maak 219 00:10:07,265 --> 00:10:09,140 is iets wat ons het al praat van die laat 220 00:10:09,140 --> 00:10:12,460 en grootliks die neem vir nou toegestaan dat ons het verhuis na ander tale. 221 00:10:12,460 --> 00:10:15,650 Maar laat ons breek vir 'n oomblik en sit 'n paar van hierdie dinge in konteks. 222 00:10:15,650 --> 00:10:18,040 So in 'n sin, wat HTML? 223 00:10:18,040 --> 00:10:19,370 >> Of, wat gebruik word vir? 224 00:10:19,370 --> 00:10:20,208 Iemand? 225 00:10:20,208 --> 00:10:20,708 Ja. 226 00:10:20,708 --> 00:10:22,002 >> Publiek: Markup vir webblaaie. 227 00:10:22,002 --> 00:10:23,460 David J. Malan Markup vir die webwerf. 228 00:10:23,460 --> 00:10:27,100 So dit is 'n opmaak taal wat kan jy 'n webblad struktuur. 229 00:10:27,100 --> 00:10:30,040 Kop gaan hier, titel gaan hier, liggaam gaan hier. 230 00:10:30,040 --> 00:10:33,280 Dit is vetgedruk, dit is italics-- dat die soort van detail. 231 00:10:33,280 --> 00:10:33,830 >> OK, goed. 232 00:10:33,830 --> 00:10:37,620 So CSS laat you-- en ek het 'n paar vryhede daar 233 00:10:37,620 --> 00:10:40,990 met die vet-gesig staar en kursief omdat dit is beter geïmplementeer met hierdie. 234 00:10:40,990 --> 00:10:42,096 CSS is-- wat? 235 00:10:42,096 --> 00:10:42,845 Sê in 'n sin. 236 00:10:42,845 --> 00:10:46,000 237 00:10:46,000 --> 00:10:46,720 Enigiemand nie. 238 00:10:46,720 --> 00:10:46,870 Ja. 239 00:10:46,870 --> 00:10:49,286 >> Publiek: Embellishments en dinge, soos hoe om dit te ontwerp. 240 00:10:49,286 --> 00:10:51,769 241 00:10:51,769 --> 00:10:52,810 David J. Malan OK, goed. 242 00:10:52,810 --> 00:10:55,420 Versierings wat u toelaat om om dit te ontwerp of stileer dit 243 00:10:55,420 --> 00:10:59,540 met dinge soos vetdruk en kursief en kleure en ook fyn 244 00:10:59,540 --> 00:11:01,330 grein plasing van elemente. 245 00:11:01,330 --> 00:11:04,520 Dit kan soort van dinge wat jy die neem laaste myl sodat as, byvoorbeeld, 246 00:11:04,520 --> 00:11:08,130 in Pset7, kan jy opgemerk het op jou portefeulje bladsy as jy op hierdie punt 247 00:11:08,130 --> 00:11:12,270 reeds dat 'n standaard tabel wat jy maak die gebruiker se voorraad Holdings te wys 248 00:11:12,270 --> 00:11:15,740 en kontant waarskynlik lyk mooi afskuwelike by verstek met geen wit ruimte. 249 00:11:15,740 --> 00:11:18,420 Alles soort vol saam in rye en kolomme. 250 00:11:18,420 --> 00:11:20,662 >> Wel, met 'n bietjie CSS, as jy dalk besef, 251 00:11:20,662 --> 00:11:23,870 jy kan eintlik aanpas dat en maak dit iets baie meer bekende en veel 252 00:11:23,870 --> 00:11:24,870 mooier om na te kyk. 253 00:11:24,870 --> 00:11:27,730 So CSS is oor die stilering van webtuistes. 254 00:11:27,730 --> 00:11:31,970 Maar dan moet ons ingestel nog 'n taal, PHP, wat kan ons doen wat? 255 00:11:31,970 --> 00:11:36,400 256 00:11:36,400 --> 00:11:37,590 >> Laat ons net doen wat? 257 00:11:37,590 --> 00:11:38,177 Iemand. 258 00:11:38,177 --> 00:11:40,010 Het om buite te waag die eerste paar rye. 259 00:11:40,010 --> 00:11:40,260 Ja. 260 00:11:40,260 --> 00:11:41,719 >> Publiek: Genereer dinamiese inhoud. 261 00:11:41,719 --> 00:11:42,718 David J. Malan Perfect. 262 00:11:42,718 --> 00:11:43,850 Genereer dinamiese inhoud. 263 00:11:43,850 --> 00:11:45,808 En jy kan dit doen in enige aantal tale. 264 00:11:45,808 --> 00:11:50,120 Ons gebeur PHP te gebruik, want dit is gedeeltelik so soortgelyk aan C sintaksis. 265 00:11:50,120 --> 00:11:52,000 >> Maar PHP doen presies dit. 266 00:11:52,000 --> 00:11:54,620 Dit kan jy uitset dinamiese genereer. 267 00:11:54,620 --> 00:11:57,890 En sommige van die uitset kan wees HTML, soos ons gewoonlik doen. 268 00:11:57,890 --> 00:12:00,160 En dit is ook, want dit is 'n programmeertaal, is 269 00:12:00,160 --> 00:12:03,240 die meganisme waardeur ons kan praat tot databasisse. 270 00:12:03,240 --> 00:12:05,730 >> En ons kan navrae te maak ander bedieners soos yahoo's 271 00:12:05,730 --> 00:12:08,660 en programmaties enigiets doen regtig dat jy dalk anders 272 00:12:08,660 --> 00:12:10,400 wil 'n rekenaar te dwing om te doen. 273 00:12:10,400 --> 00:12:13,580 So PHP kan ons begin dinamiese uitdruk inhoud. 274 00:12:13,580 --> 00:12:16,900 So deur hierdie logika, het ek nie ' 'n dinamiese webwerf terug in 1998. 275 00:12:16,900 --> 00:12:18,460 >> Dit was net 'n statiese web bladsy. 276 00:12:18,460 --> 00:12:22,250 My inhoud moes verander word deur hand met gedit of 'n ekwivalent. 277 00:12:22,250 --> 00:12:25,290 Maar PHP is wat ons gebruik, of kon gebruik het, eerder, 278 00:12:25,290 --> 00:12:27,260 vir iets soos die Frosh kitsboodskappe webwerf, wat 279 00:12:27,260 --> 00:12:31,160 was veronderstel om registrasies te neem en bestuur van 'n lys van dinge wat users-- 280 00:12:31,160 --> 00:12:33,550 eintlik verander oor tyd, selfs al is ons gebeur 281 00:12:33,550 --> 00:12:35,990 Perl, 'n ander te gebruik taal op die oomblik. 282 00:12:35,990 --> 00:12:40,350 >> En dan laastens, het ons ' SQL-- Structured Query Language. 283 00:12:40,350 --> 00:12:43,845 So nog 'n ander taal dit is wat gebruik word vir wat? 284 00:12:43,845 --> 00:12:46,660 285 00:12:46,660 --> 00:12:47,639 Gebruik word vir wat? 286 00:12:47,639 --> 00:12:49,430 Kan ons slight-- waag OK, ons gaan nie 287 00:12:49,430 --> 00:12:51,263 veel verder te kry as die orkes hier. 288 00:12:51,263 --> 00:12:53,432 Publiek: Dit is 'n protokol gebruik om te praat met databasisse. 289 00:12:53,432 --> 00:12:55,640 David J. Malan 'n protokol gebruik om te praat met databasisse. 290 00:12:55,640 --> 00:12:56,181 Laat my aanpas. 291 00:12:56,181 --> 00:12:59,280 Dit is 'n natuurlike taal gebruik om te praat met databases-- kies 292 00:12:59,280 --> 00:13:01,280 en insetsels en verwyder en updates en eintlik 293 00:13:01,280 --> 00:13:03,840 selfs meer funksies wat Ons het nog nie geduik 294 00:13:03,840 --> 00:13:07,920 in, maar jy kan wil om te explore-- het te verken, sê, 'n finale projek. 295 00:13:07,920 --> 00:13:09,560 So is daar die verskillende stukke. 296 00:13:09,560 --> 00:13:13,100 >> En hopelik Pset7, selfs al sy spesifikasie is baie lank, 297 00:13:13,100 --> 00:13:15,990 dit is doelbewus lank jy loop deur hoe hierdie dinge kan al 298 00:13:15,990 --> 00:13:17,210 saam getik. 299 00:13:17,210 --> 00:13:20,300 Nou, op Maandag, ons bekendgestel ons laaste taal 300 00:13:20,300 --> 00:13:23,430 dat ons formeel sal stel in die course-- dit is, JavaScript. 301 00:13:23,430 --> 00:13:25,720 Dit, soos PHP, is 'n geïnterpreteer taal. 302 00:13:25,720 --> 00:13:28,110 >> Maar 'n belangrike onderskeid Ek het voorgestel op Maandag 303 00:13:28,110 --> 00:13:32,730 is dat terwyl PHP is die uitvoering of as dit vertaal word op die bediener, wat 304 00:13:32,730 --> 00:13:35,990 In hierdie geval is die CS50 toestel, of dalk 'n paar kommersiële web 305 00:13:35,990 --> 00:13:39,370 bediener op die internet, JavaScript algemeen 306 00:13:39,370 --> 00:13:43,650 is 'n taal wat loop kliënt kant nie bediener side-- so in die leser. 307 00:13:43,650 --> 00:13:46,970 Wat om te sê nie, net soos wanneer ek oopgemaak up Facebook bron-kode en vind al 308 00:13:46,970 --> 00:13:51,510 van daardie Js lêers, die implikasie was dat wanneer jy besoek Facebook of die meeste 309 00:13:51,510 --> 00:13:54,810 webtuistes hierdie dae, jy nie net HTML, nie net CSS, 310 00:13:54,810 --> 00:13:59,370 maar 'n hele klomp van die JavaScript kode dikwels in die vorm van js-lêers. 311 00:13:59,370 --> 00:14:03,970 En dan is dit die browser-- jou eie Mac of PC-- dat voer wat die kode. 312 00:14:03,970 --> 00:14:05,990 >> Maar jou leser voer nie. 313 00:14:05,990 --> 00:14:08,070 Jy kan dink in soort van 'n sandbox. 314 00:14:08,070 --> 00:14:12,420 Sodat JavaScript-kode moet wees nie om lêers op jou rekenaar te verwyder. 315 00:14:12,420 --> 00:14:14,730 Dit moet nie in staat wees om stuur e-pos namens jou. 316 00:14:14,730 --> 00:14:17,760 Jou leser soort Restricties wat jy kan doen met dit. 317 00:14:17,760 --> 00:14:20,630 >> So in daardie sin, is dit 'n bietjie minder kragtige, miskien, as C. 318 00:14:20,630 --> 00:14:24,030 Maar JavaScript kan, as 'n eenkant, op die bediener gebruik word, 319 00:14:24,030 --> 00:14:27,740 al ons sal geneig om nie te praat oor dit in daardie konteks. 320 00:14:27,740 --> 00:14:29,740 So nou laat bind dit saam. 321 00:14:29,740 --> 00:14:34,000 'N week plus gelede het ons aangebied sommige HTML op die left-- super vervelig webblad. 322 00:14:34,000 --> 00:14:35,000 >> Net sê hallo wêreld. 323 00:14:35,000 --> 00:14:38,110 En dan voorgestel ek op die reg kan ons soort van idees steel 324 00:14:38,110 --> 00:14:41,470 van ons bespreking van data strukture in C 325 00:14:41,470 --> 00:14:45,270 en dink oor hoe hierdie hiërargiese opmaak taal aan die linkerkant 326 00:14:45,270 --> 00:14:49,720 kan gemaak word of in die geheue geïmplementeer as 'n werklike boom struktuur met knope 327 00:14:49,720 --> 00:14:51,400 en wysers en daardie soorte van besonderhede. 328 00:14:51,400 --> 00:14:53,820 Aan die regterkant, ons noem dat 'n DOM-- Document 329 00:14:53,820 --> 00:14:56,800 Beswaar Model-- wat net 'n fancy manier om te sê boom. 330 00:14:56,800 --> 00:14:59,520 >> Nou, hoekom is dit nuttig om te dink dit op hierdie manier? 331 00:14:59,520 --> 00:15:01,680 Want nou met JavaScript, want ons het 332 00:15:01,680 --> 00:15:05,810 kode wat kry om te speel in hierdie omgewing, die werklike HTML dis 333 00:15:05,810 --> 00:15:08,360 aan die leser gestuur reeds en het reeds 334 00:15:08,360 --> 00:15:12,690 is in die geheue gelaai word deur die leser in 'n boom in jou rekenaar se 335 00:15:12,690 --> 00:15:18,270 RAM soos hierdie, kan ons gebruik JavaScript om werklik deurkruis of loop of soek 336 00:15:18,270 --> 00:15:21,800 of verander wat DOM boom egter ons wil hê. 337 00:15:21,800 --> 00:15:24,040 So in werklikheid, as jy dink oor facebook.com, 338 00:15:24,040 --> 00:15:27,660 as jy gebruik die chat funksie, as jy gebruik Gmail en die Gchat funksie, 339 00:15:27,660 --> 00:15:30,540 iets waar jy boodskappe weer en weer kom 340 00:15:30,540 --> 00:15:35,880 en weer, die boodskappe is waarskynlik, soos, LI tag, Lys punt etikette, miskien. 341 00:15:35,880 --> 00:15:37,940 >> Of miskien is hulle net divs wat hou verskyn 342 00:15:37,940 --> 00:15:39,770 elke keer as jy 'n direkte boodskap. 343 00:15:39,770 --> 00:15:42,960 En sodat net beteken wat Facebook of Google doen 344 00:15:42,960 --> 00:15:45,200 word enige tyd wat jy kry 'n boodskap van die bediener, 345 00:15:45,200 --> 00:15:48,740 hulle is waarskynlik met JavaScript om net 'n ander node 346 00:15:48,740 --> 00:15:52,700 hierdie tree-- ander rekenaars op hierdie boom wat dan visueel net lyk 347 00:15:52,700 --> 00:15:54,570 soos 'n nuwe lyn van teks op die skerm. 348 00:15:54,570 --> 00:15:57,100 Maar dit is te voeg in hierdie data struktuur. 349 00:15:57,100 --> 00:15:59,742 >> So in klasse soos CS124 en ander, sal jy 350 00:15:59,742 --> 00:16:02,200 eintlik meer kode teen skryf data strukture soos hierdie. 351 00:16:02,200 --> 00:16:04,310 Maar vir nou in JavaScript, ons sal net aanvaar 352 00:16:04,310 --> 00:16:07,920 Ons kry al hierdie funksie vir vry van die taal self. 353 00:16:07,920 --> 00:16:09,210 So laat ons kyk na 'n voorbeeld. 354 00:16:09,210 --> 00:16:13,120 >> Laat my oop 'n lêer genaamd form.html. 355 00:16:13,120 --> 00:16:14,601 Dit is super maklik. 356 00:16:14,601 --> 00:16:15,600 Dit lyk net soos hierdie. 357 00:16:15,600 --> 00:16:17,860 >> Geen CSS, sonder om te dink aan die estetiese. 358 00:16:17,860 --> 00:16:19,810 Dit is suiwer funksionele en glo ek 359 00:16:19,810 --> 00:16:24,000 vra vir 'n e-pos, 'n wagwoord, wagwoord weer, en dan 'n tjek 360 00:16:24,000 --> 00:16:26,150 in te stem tot 'n paar terme en voorwaardes. 361 00:16:26,150 --> 00:16:28,740 Wat die bron-kode vir hierdie lyk is waarskynlik iets 362 00:16:28,740 --> 00:16:31,030 jy kan raai met 'n bietjie van denke nou. 363 00:16:31,030 --> 00:16:32,840 Ek het 'n vorm tag hier. 364 00:16:32,840 --> 00:16:36,190 >> 'N aksie is blykbaar gaan gaan na 'n lêer genaamd register.php. 365 00:16:36,190 --> 00:16:37,870 Die metode wat ek gaan gebruik, is te kry. 366 00:16:37,870 --> 00:16:40,880 En dan het ek het 'n teks gebied wie se naam is e-pos. 367 00:16:40,880 --> 00:16:43,340 >> Ek het 'n wagwoord in die veld wie se naam is wagwoord. 368 00:16:43,340 --> 00:16:45,420 Ek het 'n ander wagwoord veld wie se naam 369 00:16:45,420 --> 00:16:47,342 is ietwat arbitrêr bevestiging. 370 00:16:47,342 --> 00:16:49,690 Dit is net nog 'n HTTP parameter. 371 00:16:49,690 --> 00:16:54,430 >> En dan het ons ons nie gebruik word om hierdie, behalwe sedert die Frosh kitsboodskappe demo in class-- 372 00:16:54,430 --> 00:16:56,692 'n boks wat tik net gelyk tjek. 373 00:16:56,692 --> 00:16:57,900 En ek sal daardie ooreenkoms noem. 374 00:16:57,900 --> 00:17:00,700 So ek het soort van willekeur maar gerieflik vernoem hierdie velde. 375 00:17:00,700 --> 00:17:03,450 Sodat nou toe hierdie vorm kry ingedien is, laat ons sien wat gebeur. 376 00:17:03,450 --> 00:17:07,290 As ek dit doen malan@harvard.edu, Ek sal 'n wagwoord van bloedrooi doen. 377 00:17:07,290 --> 00:17:09,530 Ek sal 'n wagwoord van niks doen nie. 378 00:17:09,530 --> 00:17:10,910 Laat ons nie saamwerk nie. 379 00:17:10,910 --> 00:17:12,280 >> En ek sal nie kyk na die boks. 380 00:17:12,280 --> 00:17:13,940 Laat my klik Register. 381 00:17:13,940 --> 00:17:15,420 En dit sê, hm, jy geregistreer is. 382 00:17:15,420 --> 00:17:16,069 Nie regtig nie. 383 00:17:16,069 --> 00:17:17,450 >> Maar die URL verander. 384 00:17:17,450 --> 00:17:22,280 So hierdie vorm is duidelik toegelaat voor te lê aan register.php. 385 00:17:22,280 --> 00:17:25,160 Maar vermoedelik, moet ek vang sommige van hierdie foute. 386 00:17:25,160 --> 00:17:27,569 Nou, in Pset7 en 'n paar van ons lesing voorbeelde, 387 00:17:27,569 --> 00:17:30,130 Ons sal oor die algemeen uit te druk 'n groot rooi fout boodskap hier 388 00:17:30,130 --> 00:17:33,760 gesê, ontbreek naam, of ontbreek wagwoord. 389 00:17:33,760 --> 00:17:37,680 Ons het dit gedoen voor en ons het gedaan bediener kant fout opsporing. 390 00:17:37,680 --> 00:17:41,580 >> Maar baie webtuistes hierdie dae doen kliënt kant fout opsporing 391 00:17:41,580 --> 00:17:42,810 waar die URL nie verander nie. 392 00:17:42,810 --> 00:17:44,101 Die hele bladsy nie verfris. 393 00:17:44,101 --> 00:17:46,940 Jy kry onmiddellik terugvoer van die leser. 394 00:17:46,940 --> 00:17:48,070 Miskien iets gaan rooi. 395 00:17:48,070 --> 00:17:49,190 >> Miskien kry jy 'n pop-up. 396 00:17:49,190 --> 00:17:53,240 Maar jy mors nie tyd stuur die bediener data dit is onvolledig. 397 00:17:53,240 --> 00:17:56,050 So laat ons sien hoe ons kan bereik dat die funksie sowel. 398 00:17:56,050 --> 00:17:59,660 >> Laat my gaan form1.html, wat lyk dieselfde. 399 00:17:59,660 --> 00:18:03,530 Maar as hierdie tyd wat ek doen malan@harvard.edu en ek tik bloedrooi 400 00:18:03,530 --> 00:18:07,350 en ek het nie verder saam te werk nie maar klik Register, let nou. 401 00:18:07,350 --> 00:18:08,940 Dit is nie die mees sexy oplossing. 402 00:18:08,940 --> 00:18:10,900 Ek het ten minste gevang hierdie fout. 403 00:18:10,900 --> 00:18:12,900 En ek het die waarskuwing gebruik funksie in JavaScript-- 404 00:18:12,900 --> 00:18:14,090 wat ons slegs met behulp van in die klas. 405 00:18:14,090 --> 00:18:16,430 In die algemeen, moet jy gebruik maak van hierdie want dit kan baie vinnig uit 406 00:18:16,430 --> 00:18:17,160 beheer. 407 00:18:17,160 --> 00:18:19,180 Maar wagwoorde is die fout. 408 00:18:19,180 --> 00:18:21,120 >> Laat my voort te gaan en kliek OK. 409 00:18:21,120 --> 00:18:25,040 Maar wat die sleutel afhaal hier is dat die URL nie verander nie. 410 00:18:25,040 --> 00:18:27,960 So ek het nie gepla vermorsing die bediener se tyd vra dit 411 00:18:27,960 --> 00:18:30,750 'n vraag wat ek kon uitgepluis die antwoord vir myself. 412 00:18:30,750 --> 00:18:33,210 >> En die gebruiker, selfs al gepraat oor hierdie 413 00:18:33,210 --> 00:18:35,264 langer as die gebruiker se gaan om te dink oor dit, 414 00:18:35,264 --> 00:18:36,680 gaan onmiddellik terugvoer te hê. 415 00:18:36,680 --> 00:18:39,044 Daar is geen latency met die netwerk konneksie. 416 00:18:39,044 --> 00:18:40,460 So laat ons kyk na hierdie bron-kode. 417 00:18:40,460 --> 00:18:45,600 >> Form1.html lyk struktureel soortgelyke hier. 418 00:18:45,600 --> 00:18:46,810 Die vorm is in werklikheid dieselfde. 419 00:18:46,810 --> 00:18:48,330 Maar laat ons sien wat ek gedoen het hier. 420 00:18:48,330 --> 00:18:49,913 En daar is verskillende maniere om dit te doen. 421 00:18:49,913 --> 00:18:53,690 En ek het dit gedoen die mees reguit navolger maar nie mees elegante manier nie. 422 00:18:53,690 --> 00:18:54,869 Ek het 'n script tag. 423 00:18:54,869 --> 00:18:57,035 Ek het toe bel document.getElementByID ("registrasie"). 424 00:18:57,035 --> 00:19:00,090 425 00:19:00,090 --> 00:19:04,420 En ek slaan wat waarde in die vorm, 'n veranderlike. 426 00:19:04,420 --> 00:19:05,520 >> So, wat het ek gedoen? 427 00:19:05,520 --> 00:19:08,960 Jy kan dink document.getElementByID as 428 00:19:08,960 --> 00:19:11,200 'n spesiale funksie wat JavaScript gee jou 429 00:19:11,200 --> 00:19:14,400 dat hande letterlik om 'n wyser na een van die nodusse 430 00:19:14,400 --> 00:19:16,520 of reghoeke in hierdie boom. 431 00:19:16,520 --> 00:19:21,470 So nou dit is wat ons vorm veranderlike in JavaScript is eintlik wys op. 432 00:19:21,470 --> 00:19:25,120 >> So het die sintaksis is anders C. Maar ons is besig met 'n paar dinge hier. 433 00:19:25,120 --> 00:19:30,360 Een, dié een is 'n bietjie vreemd soek, seker teenoor C. 434 00:19:30,360 --> 00:19:32,180 Maar kyk na lyn 35. 435 00:19:32,180 --> 00:19:35,130 So aan die linkerkant form.onsubmit. 436 00:19:35,130 --> 00:19:38,060 Onthou dat onsubmit is soos 'n veld in 'n struct. 437 00:19:38,060 --> 00:19:41,480 As jy dink van die vorm veranderlike is net 'n C struct, 438 00:19:41,480 --> 00:19:42,600 dit kan 'n paar velde. 439 00:19:42,600 --> 00:19:46,410 >> Terug in die dag, het ons studente se name, ID's, huise, dié soort van velde. 440 00:19:46,410 --> 00:19:48,520 Dink maar net aan onsubmit as 'n ander gebied. 441 00:19:48,520 --> 00:19:53,380 Maar dit is 'n spesiale veld, want die leser is Voorgeprogrammeerd om te verwag 442 00:19:53,380 --> 00:19:57,530 .onsubmit om nie 'n waarde wees soos 'n nommer of string, 443 00:19:57,530 --> 00:20:01,180 maar om werklik 'n funksie of die adres van 'n funksie 444 00:20:01,180 --> 00:20:02,570 in die rekenaar se geheue. 445 00:20:02,570 --> 00:20:04,740 >> En inderdaad, dit is wat hierdie navraag hier doen. 446 00:20:04,740 --> 00:20:06,710 Dit sê, gee my 'n nuwe funksie. 447 00:20:06,710 --> 00:20:09,390 Maar wat is sy naam gaan wees, glo? 448 00:20:09,390 --> 00:20:10,800 >> Dink terug tot Maandag. 449 00:20:10,800 --> 00:20:13,430 450 00:20:13,430 --> 00:20:17,170 Wat is die naam van hierdie funksie gebaseer op die sintaksis? 451 00:20:17,170 --> 00:20:19,784 Nee, ek bedoel, daar is duidelik geen naam associated-- beslis 452 00:20:19,784 --> 00:20:21,200 nie in wat ek hier uitgelig. 453 00:20:21,200 --> 00:20:22,560 >> Maar dit is eintlik OK. 454 00:20:22,560 --> 00:20:25,840 Dit is 'n anonieme funksie, of 'n lambda funksie as 'n paar kan noem. 455 00:20:25,840 --> 00:20:27,589 En dat net beteken dit is nog steeds 'n funksie. 456 00:20:27,589 --> 00:20:29,400 Dis net, jy kan nie noem dit by die naam. 457 00:20:29,400 --> 00:20:30,057 Maar dit is OK. 458 00:20:30,057 --> 00:20:33,140 Omdat weer, het die leser is Voorgeprogrammeerd deur maatskappye soos Google 459 00:20:33,140 --> 00:20:38,540 of Microsoft of Mozilla of ander te weet net dat indien die .onsubmit veld 460 00:20:38,540 --> 00:20:43,400 binnekant van 'n vorm element het die waarde, hanteer dit as 'n function-- 461 00:20:43,400 --> 00:20:44,750 'n funksie pointer, as jy wil. 462 00:20:44,750 --> 00:20:46,910 En noem dit wanneer die vorm ingedien word. 463 00:20:46,910 --> 00:20:50,350 >> So, wat kode uitgevoer moet word wanneer die vorm ingedien word? 464 00:20:50,350 --> 00:20:52,526 Blykbaar, alles binnekant van die krullerige stut. 465 00:20:52,526 --> 00:20:53,650 En dit is net stilistiese. 466 00:20:53,650 --> 00:20:55,626 >> Jy kan dit doen soos Ons is geneig om te doen in CS50. 467 00:20:55,626 --> 00:20:58,250 Maar in JavaScript, die meeste mense geneig om dit te hou op dieselfde lyn 468 00:20:58,250 --> 00:21:01,960 net omdat dit meer duidelik is wat verband hou met die navraag funksie. 469 00:21:01,960 --> 00:21:03,240 So nou wat doen ek? 470 00:21:03,240 --> 00:21:08,616 >> As form.email.value gelyk gelykes die leë string of niks nie, hier is ' 471 00:21:08,616 --> 00:21:11,490 'n waarskuwing waar ek gaan om te sê, moet jy jou e-pos adres verskaf, 472 00:21:11,490 --> 00:21:12,690 en dan terug te keer vals. 473 00:21:12,690 --> 00:21:15,720 En dit is dat die opbrengs valse wat verhoed dat die vorm van wat voorgelê. 474 00:21:15,720 --> 00:21:19,480 Intussen, as die wagwoord waarde is leeg, ek gaan skreeu op die gebruiker 475 00:21:19,480 --> 00:21:21,150 en sê, moet jy 'n wagwoord verskaf. 476 00:21:21,150 --> 00:21:23,700 >> Intussen dinge kry 'n bietjie liefhebber hier. 477 00:21:23,700 --> 00:21:29,160 As form.password.value nie gelyk form.confirmation.value, 478 00:21:29,160 --> 00:21:31,680 die ander gebied, skree die gebruiker dat die wagwoorde 479 00:21:31,680 --> 00:21:33,860 nie ooreen as hulle het nie 'n oomblik gelede. 480 00:21:33,860 --> 00:21:35,780 En dan is hierdie een is 'n bietjie sexier omdat ek 481 00:21:35,780 --> 00:21:40,470 weet ek het geweet dat konseptueel nagegaan is 'n boks se naam. 482 00:21:40,470 --> 00:21:45,680 >> So ek kan net gebruik om 'n uitroep punt om te sê indien die tjek is nie 483 00:21:45,680 --> 00:21:48,040 checked-- dit is die Boole waarde, waar of false-- 484 00:21:48,040 --> 00:21:49,700 Ek sal skreeu op die gebruiker vir daardie rede. 485 00:21:49,700 --> 00:21:52,300 Andersins, as ons deur al hierdie toestande, 486 00:21:52,300 --> 00:21:53,270 laat ons net weer waar. 487 00:21:53,270 --> 00:21:54,700 Laat die vorm ingedien word. 488 00:21:54,700 --> 00:21:56,560 En dit sal dan gebeur. 489 00:21:56,560 --> 00:21:57,740 >> Kom ons tik in bloedrooi. 490 00:21:57,740 --> 00:22:00,230 Kom ons kyk na die boks, kliek Register. 491 00:22:00,230 --> 00:22:01,979 En nou, ek gaan deur na die bestemming. 492 00:22:01,979 --> 00:22:03,270 Nou, daar is geen databasis daar. 493 00:22:03,270 --> 00:22:05,370 Daar is niks interessant in register.php. 494 00:22:05,370 --> 00:22:07,980 Ek het net iets nodig om werklik te praat. 495 00:22:07,980 --> 00:22:09,140 So laat my breek, hier. 496 00:22:09,140 --> 00:22:16,270 Enige vrae oor wat ons nou net gedoen of wat sommige van hierdie nuwe sintaksis is? 497 00:22:16,270 --> 00:22:17,640 OK, ja? 498 00:22:17,640 --> 00:22:20,025 >> Publiek: So 'n boks outomaties 'n Boolese. 499 00:22:20,025 --> 00:22:21,650 Jy hoef dit nie te verklaar soos dit. 500 00:22:21,650 --> 00:22:22,649 >> David J. Malan korrekte. 501 00:22:22,649 --> 00:22:29,340 Enige boks wat gestuur is om julle van 'n HTML-vorm aan jou JavaScript-kode 502 00:22:29,340 --> 00:22:31,760 behandel sal word, ja, as 'n Boole value-- waar of vals is. 503 00:22:31,760 --> 00:22:32,635 Dit is 'n goeie vraag. 504 00:22:32,635 --> 00:22:36,080 Terwyl die ander waardes, van Natuurlik, is die teks, AKA snare. 505 00:22:36,080 --> 00:22:38,500 >> Alle reg, so laat my rewind 'n bietjie verder. 506 00:22:38,500 --> 00:22:39,900 Wat was die hele punt van hierdie? 507 00:22:39,900 --> 00:22:41,400 Net om duidelik te wees. 508 00:22:41,400 --> 00:22:44,940 Soos ons reeds weet, selfs van Pset7 en selfs van verlede week se lesing 509 00:22:44,940 --> 00:22:51,120 voorbeelde, dat ons natuurlik kan kyk $ _GET $ _POST Sien of die gebruiker gee ons 510 00:22:51,120 --> 00:22:52,200 'n leë waarde. 511 00:22:52,200 --> 00:22:54,400 Onthou die leë funksie in PHP. 512 00:22:54,400 --> 00:22:58,040 >> So net om duidelik te wees, wat is een van die redes wat ons kan ook 513 00:22:58,040 --> 00:23:00,535 wil hierdie foutopsporing te doen binnekant van die leser? 514 00:23:00,535 --> 00:23:03,350 515 00:23:03,350 --> 00:23:06,080 Wat is die motivering hier? 516 00:23:06,080 --> 00:23:06,580 Ja. 517 00:23:06,580 --> 00:23:09,735 >> Publiek: Faster, en jy dit nie doen nie stuur nutteloos data na die bediener. 518 00:23:09,735 --> 00:23:10,610 David J. MALAN: Goed. 519 00:23:10,610 --> 00:23:11,170 Dit is vinniger. 520 00:23:11,170 --> 00:23:12,920 Jy het nutteloos stuur nie data na die bediener. 521 00:23:12,920 --> 00:23:14,670 >> So jy terug 'n meer onmiddellike reaksie. 522 00:23:14,670 --> 00:23:16,560 En algehele, die gebruiker ervaring is beter. 523 00:23:16,560 --> 00:23:17,900 Dink oor die alternatiewe. 524 00:23:17,900 --> 00:23:21,160 >> As vir Gmail-- en was die geval baie jare gelede. 525 00:23:21,160 --> 00:23:24,160 Veronderstel jy het 'n nuwe e-pos jou Gmail rekening, maar die enigste manier om deur 526 00:23:24,160 --> 00:23:26,510 om te sien wat te, soos, herlaai die hele bladsy. 527 00:23:26,510 --> 00:23:29,030 Of dink jy op 'n skakel 'n e-pos te lees. 528 00:23:29,030 --> 00:23:31,600 >> Alles het so herlaai dat jy die e-pos te sien. 529 00:23:31,600 --> 00:23:33,380 Of Facebook-- jy 'n chat boodskap. 530 00:23:33,380 --> 00:23:36,000 Jy sien nie totdat jy herlaai die bladsy of kliek sommige skakel. 531 00:23:36,000 --> 00:23:38,380 >> Soos, sou dit 'n vreeslik wees irriterende gebruikers ervaring. 532 00:23:38,380 --> 00:23:41,300 En dit is wat dit was soos, duidelik, toe ek gehardloop vir UC 533 00:23:41,300 --> 00:23:44,760 en die web is baie minder dinamiese en JavaScript was nie so gewild 534 00:23:44,760 --> 00:23:45,601 soos dit nou is. 535 00:23:45,601 --> 00:23:47,850 En dinge om veel meer dinamiese en nog baie meer 536 00:23:47,850 --> 00:23:49,900 kliënt kant in daardie sin nie. 537 00:23:49,900 --> 00:23:54,370 >> Maar daar is 'n vangs hier, en hierdie is 'n soort van 'n irriterende Gotcha. 538 00:23:54,370 --> 00:23:58,720 Net omdat jy kliënt kant voeg opsporing soos dit beteken nie 539 00:23:58,720 --> 00:24:01,430 jy kan of moet laat vaar bediener kant opsporing. 540 00:24:01,430 --> 00:24:04,080 Jy wil in wese jou te sit Fouttoetsing in beide plekke. 541 00:24:04,080 --> 00:24:05,830 Want wat was een van die les geleer 542 00:24:05,830 --> 00:24:10,270 uit die artikel wat ek lees 'n paar uittreksels uit met hierdie dom CMS system-- 543 00:24:10,270 --> 00:24:14,410 Content Management System-- wat implementering van sy verifikasie stelsel, 544 00:24:14,410 --> 00:24:16,790 sy login via watter meganisme? 545 00:24:16,790 --> 00:24:19,515 546 00:24:19,515 --> 00:24:20,469 JavaScript. 547 00:24:20,469 --> 00:24:21,499 >> Publiek: JavaScript. 548 00:24:21,499 --> 00:24:23,290 David J. Malan JavaScript, presies, reg? 549 00:24:23,290 --> 00:24:24,610 Dit was die gebruik van JavaScript. 550 00:24:24,610 --> 00:24:27,120 En letterlik, julle het speel 'n bietjie waarskynlik 551 00:24:27,120 --> 00:24:28,700 met Chrome se inspekteur. 552 00:24:28,700 --> 00:24:30,890 En as ek dit kan kry, inspekteer element. 553 00:24:30,890 --> 00:24:33,670 >> Laat my gaan oor om te doen al Chrome se opsies. 554 00:24:33,670 --> 00:24:37,080 En dit is hoe maklik dit is om te afskakel JavaScript in 'n leser. 555 00:24:37,080 --> 00:24:38,950 Check, nie meer JavaScript. 556 00:24:38,950 --> 00:24:41,070 >> So in regverdigheid, 'n baie van die web hierdie dae 557 00:24:41,070 --> 00:24:43,430 is net gaan om te breek, omdat Gmail en ander sites-- 558 00:24:43,430 --> 00:24:46,140 Facebook-- aanvaar dat JavaScript is aangeskakel. 559 00:24:46,140 --> 00:24:50,180 Maar as jy iets onnosel doen soos net valid gebruikers insette 560 00:24:50,180 --> 00:24:52,520 en die nagaan van dit foute op die kliënt kant, 561 00:24:52,520 --> 00:24:54,940 'n teenstander kan maklik doen. 562 00:24:54,940 --> 00:24:57,180 En dan is selfs slimmer teenstander soos jy ouens 563 00:24:57,180 --> 00:25:01,120 nou kan gebruik Telnet of Curl of net command line opdragte 564 00:25:01,120 --> 00:25:05,300 en eintlik boodskappe stuur na die bediener wat insgelyks is nie nagegaan fout. 565 00:25:05,300 --> 00:25:08,380 >> So dit is meer van 'n user besluit 566 00:25:08,380 --> 00:25:13,060 as wat dit is 'n werklike tegniese improvement-- implementering 567 00:25:13,060 --> 00:25:14,410 iets kliënt kant soos hierdie. 568 00:25:14,410 --> 00:25:16,800 So nou 'n vinnige blik, maar dan Ek sal stel om die aanlyn loop 569 00:25:16,800 --> 00:25:17,674 deur vir hierdie een. 570 00:25:17,674 --> 00:25:21,480 In die vorm twee, het ons eintlik het deur en skoongemaak die kode 'n bietjie. 571 00:25:21,480 --> 00:25:23,650 Maar laat my stel aan een van die video's wat ons sal waarskynlik 572 00:25:23,650 --> 00:25:27,970 embed in Pset8 wat net wys jou 'n soortgelyke sintaksis gebruik te maak van 'n biblioteek genoem 573 00:25:27,970 --> 00:25:32,320 jQuery, wat is 'n super, super gewilde biblioteek in JavaScript 574 00:25:32,320 --> 00:25:34,510 wat eerlik die meeste mense net gebruik om hierdie dae 575 00:25:34,510 --> 00:25:37,070 en selfs verwar as wese JavaScript self. 576 00:25:37,070 --> 00:25:38,950 >> En dit is geneig om te betrek sommige dollar tekens 577 00:25:38,950 --> 00:25:41,350 en sleutelwoorde soos dokument in hakies hier. 578 00:25:41,350 --> 00:25:44,480 Maar weereens, laat my stel om sommige stadiger tutoriale aanlyn 579 00:25:44,480 --> 00:25:46,750 eerder as om te raak vasgebind in net sintaksis. 580 00:25:46,750 --> 00:25:48,630 Kom ons beweeg aan iets wat 'n bietjie koeler 581 00:25:48,630 --> 00:25:50,520 in terme van die toepassing van hierdie. 582 00:25:50,520 --> 00:25:57,730 >> So in die besonder, laat my gaan voor en maak dit hier. 583 00:25:57,730 --> 00:25:58,340 Kom op. 584 00:25:58,340 --> 00:25:59,380 Daar gaan ons. 585 00:25:59,380 --> 00:26:01,500 >> Laat my oopmaak hierdie foto hier. 586 00:26:01,500 --> 00:26:03,450 Onnodig ingewikkeld soek, maar dit 587 00:26:03,450 --> 00:26:07,880 beskryf 'n tegniek genoem AJAX-- Asynchronous JavaScript en XML, waar 588 00:26:07,880 --> 00:26:10,530 die X vir XML is eintlik nie meer regtig gebruik. 589 00:26:10,530 --> 00:26:13,430 Dit is geneig om iets te gebruik anders genoem into. 590 00:26:13,430 --> 00:26:16,560 >> Maar hier is hoe iets soos Google Maps of Google Earth werk. 591 00:26:16,560 --> 00:26:18,060 Kom ons probeer om dit op die vlieg, eintlik. 592 00:26:18,060 --> 00:26:21,590 Laat my voort te gaan en oop Chrome op my leser. 593 00:26:21,590 --> 00:26:26,236 >> En laat my gaan, sê maps.google.com. 594 00:26:26,236 --> 00:26:29,260 595 00:26:29,260 --> 00:26:31,930 En eintlik, as jy oud genoeg om te onthou wat, 596 00:26:31,930 --> 00:26:35,600 soos, MapQuest was soos terug in die dag, en miskien is hulle nog steeds werk soos hierdie. 597 00:26:35,600 --> 00:26:38,870 Wanneer jy gebruik om te soek vir something-- 33 Oxford Street, Cambridge, Mass, 598 00:26:38,870 --> 00:26:40,650 Kom ons doen this-- jy eintlik, as jy 599 00:26:40,650 --> 00:26:43,000 wou pan en af, links en regs, 600 00:26:43,000 --> 00:26:44,920 jy soos 'n lyk groot pyl bo-op, en dit 601 00:26:44,920 --> 00:26:46,921 sou 'n ander wys raam van die kaart hier. 602 00:26:46,921 --> 00:26:49,753 Of jy links en jy kliek sou gaan hier, of 'n ander kliek 603 00:26:49,753 --> 00:26:51,000 en jy sal gaan hier verby. 604 00:26:51,000 --> 00:26:53,000 Maar in plaas daarvan om hierdie dae, het ons natuurlik net 605 00:26:53,000 --> 00:26:55,970 vanselfsprekend aanvaar dat ons kan gaan rondom Cambridge redelik vinnig 606 00:26:55,970 --> 00:26:57,550 net deur te kliek en sleep. 607 00:26:57,550 --> 00:26:59,130 Maar let op daar is 'n paar haakplekke. 608 00:26:59,130 --> 00:27:02,160 >> As ek dit doen vinnig genoeg is, wat blyk te wees gebeur 609 00:27:02,160 --> 00:27:05,960 as ek sleep 'n bietjie te vinnig vir die rekenaar om tred te hou? 610 00:27:05,960 --> 00:27:07,160 Wat sien jy? 611 00:27:07,160 --> 00:27:07,660 Ja. 612 00:27:07,660 --> 00:27:09,232 >> Publiek: Die pixels verfris nie. 613 00:27:09,232 --> 00:27:10,940 David J. Malan Die pixels verfris nie. 614 00:27:10,940 --> 00:27:12,870 Daar is actually-- en jy kon sien, eintlik, 615 00:27:12,870 --> 00:27:15,360 as jy online en breek kyk hierdie of eintlik stadiger dinge af 616 00:27:15,360 --> 00:27:18,600 vir once-- sal jy sien dat daar teëls, vierkante, of reghoeke wat 617 00:27:18,600 --> 00:27:22,040 ontbreek in die kaart totdat 'n split sekonde later, meer data, 618 00:27:22,040 --> 00:27:24,390 meer beelde eintlik verskyn op die skerm. 619 00:27:24,390 --> 00:27:29,810 En in werklikheid, as ons dit doen deur te kyk up Chrome's-- kom ons sê, Chrome-- 620 00:27:29,810 --> 00:27:30,310 Kom ons kyk. 621 00:27:30,310 --> 00:27:31,090 Ons kan dit nie doen nie. 622 00:27:31,090 --> 00:27:31,860 >> O, Oeps. 623 00:27:31,860 --> 00:27:34,761 Kom ons oop maps.google.com. 624 00:27:34,761 --> 00:27:36,660 Laat my toe om die venster groter weer. 625 00:27:36,660 --> 00:27:38,836 >> Gaan terug na 33 Oxford Street. 626 00:27:38,836 --> 00:27:42,010 627 00:27:42,010 --> 00:27:43,760 Wat was die webwerf wat ek was op onlangs? 628 00:27:43,760 --> 00:27:46,440 Ek het hierdie, soos, private rant te myself dat ek dan onmiddellik boodskap 629 00:27:46,440 --> 00:27:48,470 enige vriend wat aanlyn wat dit wou hoor. 630 00:27:48,470 --> 00:27:49,345 Daar is 'n paar webwerf. 631 00:27:49,345 --> 00:27:52,680 Ek dink dit is Comcast-- so 'n baie groot Amerikaanse ISP. 632 00:27:52,680 --> 00:27:56,355 Jy kan, wanneer die ondertekening van vir 'n nuwe kabel modem diens of kabel TV-diens, 633 00:27:56,355 --> 00:27:59,230 hulle het 'n vorm baie redelik waar hulle vra vir jou adres. 634 00:27:59,230 --> 00:28:01,450 En het hierdie wonderlike funksie genoem motor volledige, 635 00:28:01,450 --> 00:28:04,600 soos Google, wat begin om te vul in die antwoord op jou vraag. 636 00:28:04,600 --> 00:28:08,090 >> Die probleem is, doen hulle motor volledige op die eerste dinge wat jy tik. 637 00:28:08,090 --> 00:28:12,890 So as jy begin tik in 33, is dit sal jy letterlik elke huis wys 638 00:28:12,890 --> 00:28:15,790 in Amerika wat begin met die nommer 33 639 00:28:15,790 --> 00:28:17,920 voor voortgaan om te verwag om meer te tik. 640 00:28:17,920 --> 00:28:20,660 So as jy tik 33 Oxford, dan is dit wys jou al die strate 641 00:28:20,660 --> 00:28:24,726 in Amerika wat 33 Oxford in sy naam, ongeag van die dorp 642 00:28:24,726 --> 00:28:25,350 dat jy in. 643 00:28:25,350 --> 00:28:26,320 >> En dan moet jy voortgaan om te tik. 644 00:28:26,320 --> 00:28:28,930 En uiteindelik, is dit besef dat hulle dit nie doen nie aanbod diens aan jou huis in Cambridge 645 00:28:28,930 --> 00:28:29,920 of iets soos dit. 646 00:28:29,920 --> 00:28:33,410 Maar die punt is, dit is die mees asinine implementering van die motor 647 00:28:33,410 --> 00:28:34,140 voltooi ooit. 648 00:28:34,140 --> 00:28:36,400 >> En ek gaan net af oor hierdie raaklyn weer. 649 00:28:36,400 --> 00:28:39,040 Maar daar is goeie maniere om te gebruik JavaScript en slegte maniere. 650 00:28:39,040 --> 00:28:40,750 En dit is nie noodwendig die beste een. 651 00:28:40,750 --> 00:28:46,360 >> Maar die punt hier, voor hierdie tirade, was om oop te maak tools hier 652 00:28:46,360 --> 00:28:49,480 en maak ontwikkelaar gereedskap, Soos ons reeds aangemoedig, 653 00:28:49,480 --> 00:28:52,840 en die Netwerk te kyk blad as ek kliek regtig vinnig. 654 00:28:52,840 --> 00:28:55,400 En kennis van 'n hele klomp van kry versoeke gebeur. 655 00:28:55,400 --> 00:28:57,310 Al hierdie gebeur, want ek gesleep. 656 00:28:57,310 --> 00:29:00,170 >> En waarskynlik inderdaad 'n groot deel van hierdie rye 657 00:29:00,170 --> 00:29:04,060 nou is beeld streep JPEG MIME tipes of inhoud tipes. 658 00:29:04,060 --> 00:29:07,750 Dit is omdat wat Chrome doen elke keer as ek kliek en sleep, kliek 659 00:29:07,750 --> 00:29:11,650 en sleep, is dit besef, o, ek nodig het om te gaan vra Google vir die teël 660 00:29:11,650 --> 00:29:15,080 op die kaart wat is hier, vinnig laai dit via HTTP, 661 00:29:15,080 --> 00:29:19,550 en dan voeg dit by die sogenaamde DOM die webblaaiers in die geheue boom 662 00:29:19,550 --> 00:29:24,430 verteenwoordiging, sodat die gebruiker, my sien dat opgedateer teël. 663 00:29:24,430 --> 00:29:26,795 En dit is as gevolg van 'n tegniek genoem AJAX. 664 00:29:26,795 --> 00:29:28,920 Terug in die dag, is dit regtig die geval was dat as jy 665 00:29:28,920 --> 00:29:33,050 wou verander wat op die skerm, jy hoef te kliek op, af, links, 666 00:29:33,050 --> 00:29:33,550 reg. 667 00:29:33,550 --> 00:29:34,740 En dan 'n nuwe bladsy sal oopmaak. 668 00:29:34,740 --> 00:29:36,531 Maar hierdie dae, alles meer dinamies. 669 00:29:36,531 --> 00:29:40,490 Dit gebeur in die manier waarop ons mense sou hoop dat dit eintlik sou interaktief. 670 00:29:40,490 --> 00:29:43,210 En dit bereik deur wyse van 'n tegniek genoem 671 00:29:43,210 --> 00:29:46,170 AJAX, wat miskien die beste verduidelik deur 'n voorbeeld. 672 00:29:46,170 --> 00:29:49,730 Eerstens, laat my gaan voort en maak 'n lêer 673 00:29:49,730 --> 00:29:53,540 genoem quote.php in vandag se verspreiding kode. 674 00:29:53,540 --> 00:29:56,200 >> En dan laat my doen symbol-- Oeps. 675 00:29:56,200 --> 00:30:02,399 Laat my doen simbool = GOOG vir net 'n paar voorraad. 676 00:30:02,399 --> 00:30:04,440 Of eintlik, laat ons doen die een van die Pset gratis. 677 00:30:04,440 --> 00:30:05,270 Betree. 678 00:30:05,270 --> 00:30:06,580 >> En nou sien wat ek terug. 679 00:30:06,580 --> 00:30:09,210 So, dit is 'n baie kort PHP lêer dat ek 680 00:30:09,210 --> 00:30:13,210 geskryf dat net leen kode uit Pset7 se soek funksie 681 00:30:13,210 --> 00:30:17,830 en spoeg uit die gebruik van hierdie krullerige stut en aanhalings en kolon notasie, glo, 682 00:30:17,830 --> 00:30:22,747 die huidige voorraad se prys vir die maatskappy wat jy slaag in via get. 683 00:30:22,747 --> 00:30:24,580 So, dit is verskillende van die meeste van dit wat ons het 684 00:30:24,580 --> 00:30:26,496 gedoen in daardie kennisgewing ek letterlik spoeg 685 00:30:26,496 --> 00:30:27,870 wat lyk soos JavaScript-kode. 686 00:30:27,870 --> 00:30:30,020 >> In werklikheid, dit is 'n JavaScript voorwerp. 687 00:30:30,020 --> 00:30:34,130 Trouens, net om te wees meer duidelik, JavaScript Object Notation-- JSON-- 688 00:30:34,130 --> 00:30:38,330 is net 'n fancy manier om te sê dat jy kan data veel verteenwoordig in JavaScript 689 00:30:38,330 --> 00:30:41,660 soos jy kan in PHP gebruik van sleutel waarde pare. 690 00:30:41,660 --> 00:30:44,270 So as ek wou om te verklaar 'n veranderlike in JavaScript 691 00:30:44,270 --> 00:30:47,872 te verteenwoordig Zamyla vir instance-- n struct vir Zamyla-- 692 00:30:47,872 --> 00:30:49,580 en ons sal dit noem student, hierdie veranderlike. 693 00:30:49,580 --> 00:30:53,060 Haar ID is een huis is Winthrop, en die naam is Zamyla. 694 00:30:53,060 --> 00:30:55,490 >> Maar ek kan ook 'n verskeidenheid van voorwerpe. 695 00:30:55,490 --> 00:30:58,710 So as ek wou eintlik te hê 'n skikking in JavaScript bevat 696 00:30:58,710 --> 00:31:01,740 verskeie sulke voorwerpe, hierdie tyd wat personeel, 697 00:31:01,740 --> 00:31:04,910 Ek kan hierdie drie stukke van die kode terug 698 00:31:04,910 --> 00:31:08,560 om terug te back vir hierdie drie voormalige personeellede. 699 00:31:08,560 --> 00:31:12,201 So het die sintaksis, mooi soortgelyk aan both-- te PHP. 700 00:31:12,201 --> 00:31:13,700 Maar dit is veral JavaScript. 701 00:31:13,700 --> 00:31:15,940 Dis voorwerp notasie. 702 00:31:15,940 --> 00:31:17,240 So, wat is hierdie nuttig vir? 703 00:31:17,240 --> 00:31:21,580 >> As ek skryf kode wat spoeg JSON-- JavaScript Object Notation-- dinge wat 704 00:31:21,580 --> 00:31:24,670 lyk dit of dinge wat lyk Zamyla se struktuur, 705 00:31:24,670 --> 00:31:27,730 Ek kan eintlik gebruik van hierdie programme wat ek skryf. 706 00:31:27,730 --> 00:31:30,660 Laat my gaan ajax0.html. 707 00:31:30,660 --> 00:31:33,310 En dit too-- nie veel gedink aan die estetiese. 708 00:31:33,310 --> 00:31:34,660 Maar kyk wat gebeur. 709 00:31:34,660 --> 00:31:37,050 >> Laat my gaan voort en tik gratis hier. 710 00:31:37,050 --> 00:31:38,490 Klik kry kwotasie. 711 00:31:38,490 --> 00:31:41,060 En kennis van die URL nie verander het nie. 712 00:31:41,060 --> 00:31:47,250 Maar ek het 'n pop-up met oënskynlik vandag se pennie voorraad prys van $ 0,15. 713 00:31:47,250 --> 00:31:49,062 So nie alles wat sleg is. 714 00:31:49,062 --> 00:31:52,020 Maar die verskil is dat een of ander manier, hierdie data kom terug na my direk. 715 00:31:52,020 --> 00:31:54,250 Maar laat ons neem 'n stap in die rigting iets meer bekend is. 716 00:31:54,250 --> 00:31:58,900 In weergawe een van hierdie, laat my Tik weer vry, kliek Kry kwotasie, 717 00:31:58,900 --> 00:32:01,146 en now-- O, dit was eintlik die jQuery weergawe. 718 00:32:01,146 --> 00:32:03,270 So laat me-- Ek het nie vinnig vooruit baie ver genoeg nie. 719 00:32:03,270 --> 00:32:05,830 Laat my gaan na weergawe twee, en dit is waar ek wou. 720 00:32:05,830 --> 00:32:07,260 Let op wat ek hier gedoen het. 721 00:32:07,260 --> 00:32:10,370 Ek het 'n web page-- n super eenvoudige weergawe van 'n webblad 722 00:32:10,370 --> 00:32:14,260 jy vandag kan gebruik met 'n teks veld hier vir vrye en dan blykbaar net 723 00:32:14,260 --> 00:32:14,880 teks. 724 00:32:14,880 --> 00:32:16,860 >> Dit is nie 'n vorm hier, blykbaar. 725 00:32:16,860 --> 00:32:19,360 Maar as ek op kry quote, sien my webblad 726 00:32:19,360 --> 00:32:22,760 is om te verander asof ek net 'n nuwe direkte boodskap 727 00:32:22,760 --> 00:32:25,360 of asof ek net verskuif die kaart en nodig is om meer inligting te kry 728 00:32:25,360 --> 00:32:29,220 dinamies by die webblad sonder die URL verander en die gebruiker 729 00:32:29,220 --> 00:32:30,980 ervaring om onderbreek. 730 00:32:30,980 --> 00:32:35,750 Inderdaad, ek is nog steeds by die presies dieselfde place-- ajax2.html. 731 00:32:35,750 --> 00:32:39,080 >> So laat ons net kyk na hierdie voorbeeld en kyk hoe dit gebeur. 732 00:32:39,080 --> 00:32:42,490 Laat my gaan in ajax2.html. 733 00:32:42,490 --> 00:32:44,770 En let op die vorm eerste. 734 00:32:44,770 --> 00:32:47,092 >> Hier, ek draai af motor voltooi. 735 00:32:47,092 --> 00:32:48,800 Soms is dit kry irriterende as die leser 736 00:32:48,800 --> 00:32:50,508 probeer om jou te wys jou hele geskiedenis. 737 00:32:50,508 --> 00:32:53,450 Sodat jy dit kan doen in die HTML deur net sê die motor te voltooi nie. 738 00:32:53,450 --> 00:32:57,290 >> Ek het gegee hierdie teks veld 'n symbol-- eerder, 'n ID-simbool. 739 00:32:57,290 --> 00:32:58,977 En nou is dit 'n interessante kenmerk. 740 00:32:58,977 --> 00:33:01,310 Ons het nie gepraat oor span, maar jy kan dink oor dit 741 00:33:01,310 --> 00:33:03,177 soos 'n paragraaf tag of div tag. 742 00:33:03,177 --> 00:33:05,010 Dit is wat genoem word 'n in-line element, wat 743 00:33:05,010 --> 00:33:07,415 beteken dat jy nie 'n lid breek bo en onder dit. 744 00:33:07,415 --> 00:33:11,530 Dit is net gaan in lyn te bly sonder slaan die ekwivalent van gaan. 745 00:33:11,530 --> 00:33:17,980 So het ek hierdie stuk van HTML gegee bepaal word 'n unieke identifikasie 746 00:33:17,980 --> 00:33:20,130 dat ek arbitrêr genoem prys. 747 00:33:20,130 --> 00:33:21,560 En ek het 'n knoppie Stuur. 748 00:33:21,560 --> 00:33:25,420 >> Want nou het here-- en dit is eintlik super verstommend hoe min kode 749 00:33:25,420 --> 00:33:27,660 jy kan skryf om te doen relatief netjiese things-- 750 00:33:27,660 --> 00:33:31,800 sien wat ek gedoen het hier as ek blaai om aan die hoof van hierdie bladsy. 751 00:33:31,800 --> 00:33:34,970 Ek het die eerste keer in ingesluit my kop scripttag 752 00:33:34,970 --> 00:33:37,410 wat eintlik verwys na 'n JavaScript lêer elders. 753 00:33:37,410 --> 00:33:39,702 Dit is van die organisasie wat skryf jQuery, 754 00:33:39,702 --> 00:33:42,660 En dit is net gee jou die nuutste weergawe van hul jQuery biblioteek. 755 00:33:42,660 --> 00:33:46,305 >> So dit is soort van soos skerp sluit in C of vereis in PHP. 756 00:33:46,305 --> 00:33:48,900 Jy gebruik die script tag met 'n bron kenmerk. 757 00:33:48,900 --> 00:33:52,030 Maar nou is my eie kode is gaan reg in hier te wees. 758 00:33:52,030 --> 00:33:54,170 >> Let Ek het 'n funksie genoem aanhalingstekens. 759 00:33:54,170 --> 00:33:56,180 En dit lyk 'n bietjie kriptiese met die eerste oogopslag. 760 00:33:56,180 --> 00:33:57,305 Maar laat ons terg hierdie uitmekaar. 761 00:33:57,305 --> 00:33:59,090 Gee my 'n veranderlike genoem URL. 762 00:33:59,090 --> 00:34:01,390 Ken dit letterlik die tou. 763 00:34:01,390 --> 00:34:04,530 So, aanhalingstekens, dubbel aanhalings in JavaScript gee my net 'n string. 764 00:34:04,530 --> 00:34:06,900 Wat beteken die plus doen? 765 00:34:06,900 --> 00:34:08,199 Aaneenskakeling. 766 00:34:08,199 --> 00:34:12,610 >> So, dit is nou die jQuery sintaksis wat 'n bietjie gewoond raak aan. 767 00:34:12,610 --> 00:34:18,310 Maar dit beteken net gaan kry vir my die DOM knoop sy unieke identifiseerder is simbool. 768 00:34:18,310 --> 00:34:21,929 Die hashtag daar beteken unieke identifikasie simbool. 769 00:34:21,929 --> 00:34:24,929 >> Die dollar-teken in die hakies net beteken, draai hierdie 770 00:34:24,929 --> 00:34:28,510 in jQuery 'n soort geheime kruie so jy addisionele funksionaliteit. 771 00:34:28,510 --> 00:34:31,880 En dan is .val glo 'n funksie, of as ons nou sê, 772 00:34:31,880 --> 00:34:35,219 'n metode binnekant van hierdie knoop wat gee jy net die waarde. 773 00:34:35,219 --> 00:34:38,896 So in kort, lelike en verwarrend as dit lyk met die eerste oogopslag, 774 00:34:38,896 --> 00:34:42,020 Dit beteken net kry met die gebruiker getik in, sit dit aan die einde van die string 775 00:34:42,020 --> 00:34:42,880 deur concatenating dit. 776 00:34:42,880 --> 00:34:43,739 Dit is al. 777 00:34:43,739 --> 00:34:46,070 >> So nou, die laaste drie reëls. 778 00:34:46,070 --> 00:34:48,690 Jy kan 'n baie druk funksies van die drie lyne. 779 00:34:48,690 --> 00:34:52,199 Hierdie dollar teken, as 'n eenkant, is net 'n bynaam 780 00:34:52,199 --> 00:34:55,800 vir 'n spesiale globale veranderlike genoem letterlik jQuery. 781 00:34:55,800 --> 00:34:57,060 >> Dollar-teken lyk net cool. 782 00:34:57,060 --> 00:35:00,080 So het die jQuery gemeenskap net soort van dit gebruik as hulle spesiale simbool. 783 00:35:00,080 --> 00:35:02,470 Dit beteken nie wat dit beteken om in PHP. 784 00:35:02,470 --> 00:35:06,356 In JavaScript, dollar teken net soos 'n letter van die alfabet 785 00:35:06,356 --> 00:35:07,480 of 'n nommer vir 'n veranderlike. 786 00:35:07,480 --> 00:35:09,000 >> Jy kan net om dit as die naam. 787 00:35:09,000 --> 00:35:09,770 Net lyk cool. 788 00:35:09,770 --> 00:35:11,890 So het die gemeenskap aangeneem dit as 'n bynaam 789 00:35:11,890 --> 00:35:13,390 vir hul eie biblioteek genoem jQuery. 790 00:35:13,390 --> 00:35:15,060 >> En dit is super gewild. 791 00:35:15,060 --> 00:35:17,620 So kry into is presies dit. 792 00:35:17,620 --> 00:35:19,920 Dit is 'n funksie wat die mense by jQuery geskryf 793 00:35:19,920 --> 00:35:23,340 wat kry into van 'n server-- JavaScript Object notasie. 794 00:35:23,340 --> 00:35:25,680 Van wat URL gaan dit daardie inligting te kry? 795 00:35:25,680 --> 00:35:27,790 Blykbaar uit hierdie URL hier. 796 00:35:27,790 --> 00:35:31,180 >> En wat moet die leser doen soos sodra dit terug kry hierdie reaksie? 797 00:35:31,180 --> 00:35:36,500 En dit is die magie van AJAX, so te speak-- Asynchronous JavaScript in XML. 798 00:35:36,500 --> 00:35:41,320 Dit is moeilik om te sien met so 'n eenvoudige voorbeeld soos ons hier gehad het. 799 00:35:41,320 --> 00:35:44,730 >> Maar dit was asynchrone in die sin dat my kode toe 800 00:35:44,730 --> 00:35:48,530 uitgevoer 'n boodskap gestuur na die bediener te gaan kry vir my 'n into. 801 00:35:48,530 --> 00:35:51,340 En dit gebeur super vinnig dat ek 'n antwoord. 802 00:35:51,340 --> 00:35:55,130 Maar wat interessant is, is dat dit reël van die kode het nie hang my rekenaar. 803 00:35:55,130 --> 00:35:56,550 >> Ek het nie 'n spin ikoon. 804 00:35:56,550 --> 00:35:59,200 Ek het nie verloor die vermoë om my muis om te beweeg. 805 00:35:59,200 --> 00:36:01,340 My leser is eintlik heeltemal fyn. 806 00:36:01,340 --> 00:36:06,290 >> Omdat die pad JavaScript hanteer die reaksie van die bediener is soos volg. 807 00:36:06,290 --> 00:36:09,740 Jy registreer wat jy wil bel 'n terugbelfunksie, wat 808 00:36:09,740 --> 00:36:12,830 net beteken, hey, JavaScript. 809 00:36:12,830 --> 00:36:16,100 Sodra die bediener reageer met into 810 00:36:16,100 --> 00:36:18,750 Skakel asseblief hierdie anonieme funksie. 811 00:36:18,750 --> 00:36:23,910 >> En asseblief geslaag het in hierdie funksie watter string die bediener spoeg uit 812 00:36:23,910 --> 00:36:26,080 as 'n argument genoem data. 813 00:36:26,080 --> 00:36:28,360 So met ander woorde, indien Ek is dinamies samestelling 814 00:36:28,360 --> 00:36:33,370 'n URL quote.php verby in hierdie simbool soos gratis of GOOG of iets anders, 815 00:36:33,370 --> 00:36:36,830 Ek is dan vertel JavaScript gaan kry dat URL. 816 00:36:36,830 --> 00:36:39,080 Onthou dat die leser gaan iets om terug te keer 817 00:36:39,080 --> 00:36:42,680 wat lyk soos ons gesien earlier-- hierdie. 818 00:36:42,680 --> 00:36:45,940 >> En wat die tweede argument hier te kry into sê 819 00:36:45,940 --> 00:36:48,450 is noem hierdie funksie wanneer die bediener kry terug 820 00:36:48,450 --> 00:36:52,440 of dit nou 10 millisekondes van nou of 10 sekondes van nou af. 821 00:36:52,440 --> 00:36:55,840 En so gou as wat jy doen, voeg die prys aan die bladsy. 822 00:36:55,840 --> 00:36:58,030 Dit sintaksis hier net beteken gaan kry die knoop 823 00:36:58,030 --> 00:37:01,940 van die boom waarvan unieke identifikasie is price-- daardie span ons vroeër gesien het. 824 00:37:01,940 --> 00:37:04,320 >> Hierdie metode genoem HTML sê net, gaan vervang 825 00:37:04,320 --> 00:37:08,770 die HTML wat daar met data.price. 826 00:37:08,770 --> 00:37:10,200 Wat is data.price? 827 00:37:10,200 --> 00:37:12,850 Wel, die leser, onthou, het vir my gewys hierdie terug te kom. 828 00:37:12,850 --> 00:37:14,540 So, dit is data. 829 00:37:14,540 --> 00:37:18,100 >> En so het dit is 'n bietjie kripties die kommas hier te sien. 830 00:37:18,100 --> 00:37:19,350 Maar in werklikheid, laat my dit doen. 831 00:37:19,350 --> 00:37:22,890 Laat my net te plak dit baie vinnig in gedit 832 00:37:22,890 --> 00:37:27,240 en wys dit soos ons gewys Zamyla se struktuur vroeër. 833 00:37:27,240 --> 00:37:31,610 >> Wat die bediener terug stuur 'n bietjie voorwerp wat lyk soos hierdie. 834 00:37:31,610 --> 00:37:37,140 En so data.price is net gee my 0,1515. 835 00:37:37,140 --> 00:37:39,310 So 'n baie van die beweging dele hier alles op een slag. 836 00:37:39,310 --> 00:37:41,860 >> Maar die sleutel wegneemetes is dat ons hierdie vermoë 837 00:37:41,860 --> 00:37:44,600 addisionele HTTP te maak versoeke met behulp van JavaScript 838 00:37:44,600 --> 00:37:46,090 sonder om die bladsy te herlaai. 839 00:37:46,090 --> 00:37:49,580 En dan kan ons eintlik verander die webblad op die vlieg. 840 00:37:49,580 --> 00:37:51,850 En dit blyk dat JavaScript en ander tale 841 00:37:51,850 --> 00:37:54,510 kan nou gebruik word nie net webblaaie te muteer, 842 00:37:54,510 --> 00:37:57,960 maar om werklik sagteware skryf in 'n werklike rekenaar, 843 00:37:57,960 --> 00:38:00,240 nie net beperk tot Chrome of die wil. 844 00:38:00,240 --> 00:38:03,530 >> In werklikheid, if-- Colton, sal jy wil ons aan te sluit terug hier 845 00:38:03,530 --> 00:38:06,100 met jou laboratorium-kode, en Chang sowel? 846 00:38:06,100 --> 00:38:09,140 Kom ons gaan voort, nadat gepraat oor anonieme funksies en verifikasie 847 00:38:09,140 --> 00:38:13,090 en regtig versoek lot hier met 'n live demo met bloeding 848 00:38:13,090 --> 00:38:16,480 tegnologie, een van hierdie Elite Motion toestelle. 849 00:38:16,480 --> 00:38:18,940 Nou, hierdie toestel, onthou, is 'n bietjie USB-toestel 850 00:38:18,940 --> 00:38:25,620 sowel that-- dit is beautiful-- dat proppe by jou USB-poorte. 851 00:38:25,620 --> 00:38:29,120 >> En dan bied dit insette in die vorm van menslike gebare 852 00:38:29,120 --> 00:38:32,560 deur die opsporing van die gebruik van infrarooi strale, wese, bewegings van jou arm. 853 00:38:32,560 --> 00:38:35,150 So, terwyl dit wat Maria probeer voor was gespierde, 854 00:38:35,150 --> 00:38:39,000 eintlik voel wat die verandering jou arm, dit is infrarooi gebaseer is. 855 00:38:39,000 --> 00:38:44,390 So dit is op soek vir bewegings binne die soort terrein van 'n voet of so 856 00:38:44,390 --> 00:38:46,190 van die toestel self. 857 00:38:46,190 --> 00:38:48,950 >> So hoekom nie ek 'n steek op die eerste? 858 00:38:48,950 --> 00:38:53,100 En laat ons gaan voort en gooi jy op die oorhoofse hier. 859 00:38:53,100 --> 00:38:56,250 So laat ons Colton se laptop hier. 860 00:38:56,250 --> 00:38:58,360 Ons het Andrew op die TV. 861 00:38:58,360 --> 00:39:00,160 En wat sou jy graag my om eerste te doen? 862 00:39:00,160 --> 00:39:02,409 >> COLTON: Gaan voort en net sit jou hande oor hierdie man 863 00:39:02,409 --> 00:39:04,430 en jy sal 'n pragtige glitter sien. 864 00:39:04,430 --> 00:39:07,230 >> David J. Malan Baie mooi. 865 00:39:07,230 --> 00:39:11,110 Dit alles gebeur in real time. 866 00:39:11,110 --> 00:39:11,889 OK. 867 00:39:11,889 --> 00:39:12,680 Alle reg, en yep. 868 00:39:12,680 --> 00:39:14,119 So lekker. 869 00:39:14,119 --> 00:39:15,410 Alle reg, wat anders kan ons doen? 870 00:39:15,410 --> 00:39:17,900 >> COLTON: Gaan na die volgende skerm en sien. 871 00:39:17,900 --> 00:39:19,136 >> David J. Malan Alle regte. 872 00:39:19,136 --> 00:39:21,780 >> COLTON: 'n prettige klein spel waar jy robotte te maak. 873 00:39:21,780 --> 00:39:24,738 >> David J. MALAN: Alle reg, sodat dit is vals hande wys my wat om te doen nie. 874 00:39:24,738 --> 00:39:27,920 COLTON: Ja So gaan voort en gryp een van die blokke 875 00:39:27,920 --> 00:39:30,637 en sit dit op die top van dat robot se liggaam. 876 00:39:30,637 --> 00:39:32,137 David J. Malan O, daar is my hand. 877 00:39:32,137 --> 00:39:34,000 O. 878 00:39:34,000 --> 00:39:34,780 OK, adorable. 879 00:39:34,780 --> 00:39:37,500 880 00:39:37,500 --> 00:39:38,650 Wag 'n minuut, OK. 881 00:39:38,650 --> 00:39:41,320 Daar gaan ons. 882 00:39:41,320 --> 00:39:43,590 >> COLTON: Ek het een op die ongeluk. 883 00:39:43,590 --> 00:39:45,423 >> David J. Malan OK, ek sal hierdie man kry. 884 00:39:45,423 --> 00:39:45,923 Damn dit! 885 00:39:45,923 --> 00:39:48,467 886 00:39:48,467 --> 00:39:51,550 Wanneer ons dit beoefen laaste nag, jy weet wat hierdie oorgegaan in? 887 00:39:51,550 --> 00:39:54,285 >> Soos hierdie. 888 00:39:54,285 --> 00:39:55,490 OK. 889 00:39:55,490 --> 00:39:55,990 Volgende een? 890 00:39:55,990 --> 00:39:56,860 >> COLTON: Natuurlik. 891 00:39:56,860 --> 00:39:58,818 >> David J. MALAN: Alle reg, en daar is 'n derde. 892 00:39:58,818 --> 00:40:01,130 893 00:40:01,130 --> 00:40:01,674 Alle regte. 894 00:40:01,674 --> 00:40:03,215 COLTON: En in hierdie een, jy aan- 895 00:40:03,215 --> 00:40:04,923 David J. Malan O, hierdie een se mooi. 896 00:40:04,923 --> 00:40:06,650 COLTON: --yeah, hierdie blom pluk uitmekaar. 897 00:40:06,650 --> 00:40:07,441 David J. Malan OK. 898 00:40:07,441 --> 00:40:11,170 899 00:40:11,170 --> 00:40:11,670 Geen? 900 00:40:11,670 --> 00:40:14,515 Gemis. 901 00:40:14,515 --> 00:40:15,570 >> COLTON: Ag, daar gaan jy. 902 00:40:15,570 --> 00:40:18,680 >> David J. Malan Ag, kyk na dit. 903 00:40:18,680 --> 00:40:19,830 Baie mooi. 904 00:40:19,830 --> 00:40:22,470 Wel, hoekom dit nie "ons neem uit 'n vrywilliger hier 905 00:40:22,470 --> 00:40:24,180 wat wil kom op. 906 00:40:24,180 --> 00:40:27,500 Hoe gaan net daar in die groen, is dit? 907 00:40:27,500 --> 00:40:30,540 >> Alle reg, en laat ons have-- in plaas van om dit te doen, 'n paar van julle 908 00:40:30,540 --> 00:40:34,590 kan hierdie wedstryd weet here-- sny die tou, miskien? 909 00:40:34,590 --> 00:40:35,100 Kom ons kyk. 910 00:40:35,100 --> 00:40:37,320 Ons het ons glase op hier? 911 00:40:37,320 --> 00:40:38,625 >> OK. 912 00:40:38,625 --> 00:40:39,270 Dankie. 913 00:40:39,270 --> 00:40:39,380 Wat is jou naam? 914 00:40:39,380 --> 00:40:40,350 >> Publiek: Laura. 915 00:40:40,350 --> 00:40:41,266 >> David J. Malan Laura? 916 00:40:41,266 --> 00:40:42,120 Lekker om te sien. 917 00:40:42,120 --> 00:40:45,600 As jy nie omgee nie sit Google Glass oor jou bril. 918 00:40:45,600 --> 00:40:46,970 Dit is Colton. 919 00:40:46,970 --> 00:40:47,650 >> COLTON: Hi. 920 00:40:47,650 --> 00:40:48,140 Nice om jou te ontmoet. 921 00:40:48,140 --> 00:40:49,600 >> David J. Malan OK, kom om. 922 00:40:49,600 --> 00:40:52,516 Alle reg, sodat dit wat jy gaan hier doen, nadat dit voor gespeel het, 923 00:40:52,516 --> 00:40:55,650 is sit jou hand oor die sprong Motion hier. 924 00:40:55,650 --> 00:40:57,210 En nou is jou pyl moet beweeg. 925 00:40:57,210 --> 00:40:57,710 O, nope. 926 00:40:57,710 --> 00:40:58,066 >> Publiek: No. 927 00:40:58,066 --> 00:40:58,780 >> David J. Malan Ons wil nie nog hou. 928 00:40:58,780 --> 00:40:59,280 OK, wag. 929 00:40:59,280 --> 00:41:01,200 Hier. 930 00:41:01,200 --> 00:41:03,530 So sien as jy jou vinger oor iets, 931 00:41:03,530 --> 00:41:06,750 die muis begin groen te gaan, dit is hoe jy kliek. 932 00:41:06,750 --> 00:41:08,980 >> So hang oor speel. 933 00:41:08,980 --> 00:41:10,970 En net een vinger is goed. 934 00:41:10,970 --> 00:41:13,869 En klik nou op die klein groen man aan die linkerkant. 935 00:41:13,869 --> 00:41:15,410 En nou hou totdat dit vul groen. 936 00:41:15,410 --> 00:41:15,640 Goed. 937 00:41:15,640 --> 00:41:16,990 Nou, soos, vlak een tot bo. 938 00:41:16,990 --> 00:41:20,190 >> Publiek: Ja, ons wil vlak een, hier. 939 00:41:20,190 --> 00:41:21,660 >> David J. MALAN: Goed. 940 00:41:21,660 --> 00:41:25,500 OK, so al wat jy hoef te doen is sny die tou. 941 00:41:25,500 --> 00:41:28,240 Jou muis is die wit een daar. 942 00:41:28,240 --> 00:41:28,880 >> Baie mooi. 943 00:41:28,880 --> 00:41:31,290 944 00:41:31,290 --> 00:41:32,790 Alle reg, dit gaan oor om harder te kry. 945 00:41:32,790 --> 00:41:34,800 So hou jou vinger oor die volgende oomblik. 946 00:41:34,800 --> 00:41:37,370 947 00:41:37,370 --> 00:41:39,030 Goed. 948 00:41:39,030 --> 00:41:39,999 Hierdie een is moeilik. 949 00:41:39,999 --> 00:41:40,966 >> Publiek: O kak. 950 00:41:40,966 --> 00:41:41,466 OK. 951 00:41:41,466 --> 00:41:42,466 Dit wil dat die manier om te gaan. 952 00:41:42,466 --> 00:41:44,890 Ag kak, that-- 953 00:41:44,890 --> 00:41:47,120 >> David J. MALAN: Ja. 954 00:41:47,120 --> 00:41:50,700 Sekondêre doel is om al die sterre te kry. 955 00:41:50,700 --> 00:41:53,920 Alle reg, volgende. 956 00:41:53,920 --> 00:41:57,504 >> Kom ons kyk of jy kan hierdie derde een kry. 957 00:41:57,504 --> 00:41:58,004 Goed. 958 00:41:58,004 --> 00:42:05,980 959 00:42:05,980 --> 00:42:06,840 OK, daar gaan. 960 00:42:06,840 --> 00:42:08,850 >> Seker. 961 00:42:08,850 --> 00:42:11,230 O ja, baie mooi. 962 00:42:11,230 --> 00:42:11,930 Alle regte. 963 00:42:11,930 --> 00:42:13,534 >> So hoekom doen ons dit nie hier verdaag vandag? 964 00:42:13,534 --> 00:42:15,200 Laat iemand kom tot wat wil om te speel. 965 00:42:15,200 --> 00:42:16,880 Baie dankie aan Laura ons vrywilliger. 966 00:42:16,880 --> 00:42:18,730 En ons sal jy sien op Maandag. 967 00:42:18,730 --> 00:42:21,190 >> Publiek: Jy wil waarskynlik die rug. 968 00:42:21,190 --> 00:42:23,640 >> Spreker 2: By die volgende CS50-- 969 00:42:23,640 --> 00:42:35,222