1 00:00:00,000 --> 00:00:39,630 2 00:00:39,630 --> 00:00:41,880 David J. MALAN: Lahat ng karapatan, kaya ito dito ay ang Myo braso 3 00:00:41,880 --> 00:00:44,450 banda, isang pares ng mga na namin mayroon para sa CS50 panghuling proyekto. 4 00:00:44,450 --> 00:00:47,533 At iyon ay isang demonstration namin nakapila up mo na nang maaga kung saan talaga 5 00:00:47,533 --> 00:00:51,120 ito medyo masikip braso banda rito nakikinig sa iyong mga paggalaw ng laman 6 00:00:51,120 --> 00:00:54,280 na pagkatapos ay nai-map sa software sa laptop Colton sa paglipas dito kung saan 7 00:00:54,280 --> 00:00:57,230 Nagkaroon ng iTunes at na kanta na naka-queue up. 8 00:00:57,230 --> 00:01:00,270 Sa halip na sa akin demoing ito, Colton naging sa lab 9 00:01:00,270 --> 00:01:04,129 malinaw na ang lahat ng linggo sa pagkuha ng isang demonstration handa para sa isang malakas ang loob volunteer. 10 00:01:04,129 --> 00:01:07,430 Kung may isang taong nais na dumating sa up-- nakita muna ang iyong kamay. 11 00:01:07,430 --> 00:01:09,540 Halika sa up. 12 00:01:09,540 --> 00:01:12,530 >> Lahat ng karapatan. 13 00:01:12,530 --> 00:01:13,886 At ano ang iyong pangalan? 14 00:01:13,886 --> 00:01:14,800 >> Madla: Uh, Maria. 15 00:01:14,800 --> 00:01:16,550 >> David J. MALAN: Maria, mabait sa iyong nakikita. 16 00:01:16,550 --> 00:01:17,310 Halika sa paglipas dito. 17 00:01:17,310 --> 00:01:19,550 Hayaan akong kitang ipakilala sa Colton. 18 00:01:19,550 --> 00:01:21,290 Colton, ito ay Maria. 19 00:01:21,290 --> 00:01:23,050 >> Colton: Hi, mabait sa matugunan mo. 20 00:01:23,050 --> 00:01:24,330 >> David J. MALAN: Ang lahat ng karapatan, kaya hakbang isa, kami ay 21 00:01:24,330 --> 00:01:26,204 pagpunta sa may inilagay mo ito sa sa iyong bisig 22 00:01:26,204 --> 00:01:29,280 upang ito Kahanga masikip up na malapit sa iyong siko. 23 00:01:29,280 --> 00:01:31,940 At samantala, mayroon ng ipaalam ilagay sa aming Google Glass 24 00:01:31,940 --> 00:01:33,720 at kami paghaluin ang teknolohiya ngayon. 25 00:01:33,720 --> 00:01:36,340 >> Colton: Una namin kailangang Hook ito sa mga bagay. 26 00:01:36,340 --> 00:01:37,170 >> David J. MALAN: OK. 27 00:01:37,170 --> 00:01:39,795 Sa totoo lang, ilagay ang iyong mga braso ang pagpayag malapit sa cable hangga't maaari 28 00:01:39,795 --> 00:01:41,160 upang maaari naming unang i-sync up ito. 29 00:01:41,160 --> 00:01:42,740 >> Colton: ni gawin ito Hayaan. 30 00:01:42,740 --> 00:01:46,500 >> David J. MALAN: At samantala, kaya na lahat ng tao ay maaaring makakuha ng isang mas malapit sulyap, 31 00:01:46,500 --> 00:01:50,290 ipapakita namin palabunutan Andrew ng camera hanggang sa screen doon. 32 00:01:50,290 --> 00:01:54,460 Kaya mayroon kaming isang USB cable na Sini-plug sa gasa Maria ni. 33 00:01:54,460 --> 00:02:00,230 At ipaalam sa akin palabunutan screen Colton ni hanggang sa susunod na projector. 34 00:02:00,230 --> 00:02:06,000 >> Kaya Colton ay pagrehistro ng mga device ngayon bilang isang Myo konektado sa cable. 35 00:02:06,000 --> 00:02:08,060 At ano ngayon Maria ni pagpunta sa gawin sa ilang sandali 36 00:02:08,060 --> 00:02:10,120 ay aktwal na maglakad sa pamamagitan ng ang mga hakbang sa pag-calibrate 37 00:02:10,120 --> 00:02:12,830 at turuan ang software kung paano ang kanyang mga kalamnan tumugon 38 00:02:12,830 --> 00:02:16,070 kapag gumawa siya ng ilang mga paunang natukoy na galaw na naiintindihan ang software. 39 00:02:16,070 --> 00:02:17,910 Kung gusto mong pumunta sa harap ng screen. 40 00:02:17,910 --> 00:02:26,840 41 00:02:26,840 --> 00:02:30,090 OK, panatilihing sinusubukan. 42 00:02:30,090 --> 00:02:31,860 >> Colton: Pumunta ganito. 43 00:02:31,860 --> 00:02:32,970 At tulad na. 44 00:02:32,970 --> 00:02:34,563 At ang lahat ng mga paraan sa kanan. 45 00:02:34,563 --> 00:02:35,922 Bumalik. 46 00:02:35,922 --> 00:02:37,740 >> David J. MALAN: OK. 47 00:02:37,740 --> 00:02:38,960 Iba't ibang pananaw. 48 00:02:38,960 --> 00:02:39,620 Ito ay hindi mo. 49 00:02:39,620 --> 00:02:40,350 Ito ay sa amin. 50 00:02:40,350 --> 00:02:41,749 >> Maria: OK. 51 00:02:41,749 --> 00:02:42,540 David J. MALAN: Hindi. 52 00:02:42,540 --> 00:02:46,720 53 00:02:46,720 --> 00:02:51,540 Ilipat natin ito ng mas mataas na hanggang kaya Hayaang mas malapit sa iyong elbow, o kahit tighter. 54 00:02:51,540 --> 00:02:52,680 Lahat ng karapatan. 55 00:02:52,680 --> 00:02:53,270 >> Narito pumunta namin. 56 00:02:53,270 --> 00:02:56,780 Ito ay isang mahusay na oras para sa CS52X. 57 00:02:56,780 --> 00:02:57,670 May pumunta namin. 58 00:02:57,670 --> 00:02:58,760 >> Tunay na mabait. 59 00:02:58,760 --> 00:03:01,170 OK. 60 00:03:01,170 --> 00:03:02,790 Sirain ng mga daliri sa nakakatusok. 61 00:03:02,790 --> 00:03:03,380 >> Tunay na mabait. 62 00:03:03,380 --> 00:03:05,140 Ikalat ang iyong mga daliri. 63 00:03:05,140 --> 00:03:06,240 Mahusay. 64 00:03:06,240 --> 00:03:06,910 -Wave kanan. 65 00:03:06,910 --> 00:03:15,052 66 00:03:15,052 --> 00:03:17,010 Mausisa ito nagpapakita sa iyo gamit ang kaliwang hand-- 67 00:03:17,010 --> 00:03:19,665 >> Colton: Oo, na wierd. 68 00:03:19,665 --> 00:03:21,790 David J. MALAN: Wave sa sa kanan at sumulong. 69 00:03:21,790 --> 00:03:22,998 Mabilis na inaabangan ang panahon na laktawan o sa susunod. 70 00:03:22,998 --> 00:03:25,020 Iyon ang OK Wave kanan. 71 00:03:25,020 --> 00:03:26,650 >> Maria: ako don't-- maghintay. 72 00:03:26,650 --> 00:03:28,430 >> David J. MALAN: Kailangan mo ng tulong? 73 00:03:28,430 --> 00:03:30,027 >> Colton: Kaya ka ng pagpunta tulad nito. 74 00:03:30,027 --> 00:03:31,860 Maria: Ito ay pag-ang iba pang mga bagay, bagaman. 75 00:03:31,860 --> 00:03:32,390 Colton: Ito ay. 76 00:03:32,390 --> 00:03:34,250 David J. MALAN: Oo Hindi ko alam kung bakit ito nagpapakita sa iyo ng isang leftie. 77 00:03:34,250 --> 00:03:36,458 Colton: Bakit hindi ka try-- subukan lamang ng pagpunta tulad nito. 78 00:03:36,458 --> 00:03:38,910 79 00:03:38,910 --> 00:03:40,090 >> David J. MALAN: Walang? 80 00:03:40,090 --> 00:03:42,580 Siguro maabot ang iyong mga braso ang isang maliit na straighter 81 00:03:42,580 --> 00:03:46,070 at gawin itong mas matarik na katulad nito. 82 00:03:46,070 --> 00:03:48,176 Oo, OK, dumating sa. 83 00:03:48,176 --> 00:03:49,670 >> Maria: Sorry. 84 00:03:49,670 --> 00:03:51,170 David J. MALAN: Ito ay hindi ang iyong kasalanan. 85 00:03:51,170 --> 00:03:53,018 Colton: Ito ay multa. 86 00:03:53,018 --> 00:03:55,430 David J. MALAN: Lahat ng Karapatan. 87 00:03:55,430 --> 00:03:56,220 Well-- 88 00:03:56,220 --> 00:03:57,620 >> Maria: Dapat ba naming laktawan ito, pagkatapos ay i-? 89 00:03:57,620 --> 00:03:59,620 David J. MALAN: Oo, sabihin hayaan mo off ang hook. 90 00:03:59,620 --> 00:04:03,130 Kaya kung ang sinuman ay nais na gawin ang isang huling proyekto gamit ang cutting edge 91 00:04:03,130 --> 00:04:07,707 hardware, Napagtanto ito maaari lamang kumuha ng isang maliit na nagsisimula ginagamit upang. 92 00:04:07,707 --> 00:04:10,290 At this-- ang katotohanan ay ito ay talagang lubhang nagdurugo gilid. 93 00:04:10,290 --> 00:04:12,040 >> Ito ay kung ano ang tinatawag na ang kit developer, na 94 00:04:12,040 --> 00:04:14,956 ay sinadya upang maging lubos isang pre-release nang sa gayon ay magawa nang eksakto tao 95 00:04:14,956 --> 00:04:18,690 this-- labanan dito, figure kung paano mga katawan ng mga tao gumagana 96 00:04:18,690 --> 00:04:19,980 gamit ang teknolohiya. 97 00:04:19,980 --> 00:04:21,750 Kaya kung nais mong pagkatapos, pagkatapos panayam, 98 00:04:21,750 --> 00:04:23,750 maaari naming ipaalam sa iyo darating at tumagal ng isa pang pag-iwa sa ito. 99 00:04:23,750 --> 00:04:26,970 Ngunit kung hindi man, ang isang round ng papuri, kung maaari namin, para sa Maria para sa darating sa up. 100 00:04:26,970 --> 00:04:28,770 >> Maria: Salamat sa iyo. 101 00:04:28,770 --> 00:04:30,390 >> David J. MALAN: Salamat sa iyo. 102 00:04:30,390 --> 00:04:34,945 Makikita manindigan naming ito, ngunit gagawin namin sa you-- kung paano tungkol sa isang ang stress ball dito? 103 00:04:34,945 --> 00:04:38,620 Oh, and-- if-- oo, salamat. 104 00:04:38,620 --> 00:04:39,715 Lahat ng karapatan. 105 00:04:39,715 --> 00:04:45,750 Kaya para sa mga kataka-taka, kung ikaw ay pamilyar sa mga tunog pagpipilian 106 00:04:45,750 --> 00:04:47,670 na ginawa namin doon mas maaga, isang kamangha-manghang TV 107 00:04:47,670 --> 00:04:50,210 ipakita na dapat mong ganap maging binge-panonood sa Netflix 108 00:04:50,210 --> 00:04:51,110 ay ang isang ito dito. 109 00:04:51,110 --> 00:04:54,472 >> Tagapagsalita 1: Ladies at mga ginoo, isang salamangkero na may pangalang Josh. 110 00:04:54,472 --> 00:05:04,710 111 00:05:04,710 --> 00:05:08,050 >> David J. MALAN: At tila, ito ay isang bagay-text sa akin sa panahon ng panayam ngayon. 112 00:05:08,050 --> 00:05:11,190 Ako na nasabihan na Maria Nagkaroon kahapon ng kaarawan. 113 00:05:11,190 --> 00:05:14,095 Kaya maligayang kaarawan mula sa CS50 pati na rin sa Maria. 114 00:05:14,095 --> 00:05:18,720 115 00:05:18,720 --> 00:05:22,090 >> Kaya na maaari mong basahin sa buwang na ito mga ginoo dito, Steve 116 00:05:22,090 --> 00:05:25,260 Ballmer, na naging talagang klase ng 1977 sa kolehiyo, 117 00:05:25,260 --> 00:05:27,170 Itinigil kamakailan para sa Microsoft. 118 00:05:27,170 --> 00:05:29,620 Siya ay isang undergraduate dito, pagkatapos ng ilang taon na ang lumipas 119 00:05:29,620 --> 00:05:31,910 natagpuan ang kanyang sarili sa Stanford Business School 120 00:05:31,910 --> 00:05:34,160 kapag natanggap niya ang isang telepono tumawag mula sa isang kaibigan ng kanyang nag 121 00:05:34,160 --> 00:05:36,516 ay nanirahan down ang hall mula sa kanya dito sa Harvard. 122 00:05:36,516 --> 00:05:38,640 Pangalan ng kaibigang iyon ay Bill Tarangkahan, at sa panahon, 123 00:05:38,640 --> 00:05:42,700 siya ay sinusubukan upang mang-alap Steve na maging ang unang taong negosyo, talaga, 124 00:05:42,700 --> 00:05:45,720 sa isang maliit na kumpanya pangalanan ang Microsoft. 125 00:05:45,720 --> 00:05:48,960 >> Isang mahaba kuwento maikli, Steve ay huli nanalo sa paglipas, 126 00:05:48,960 --> 00:05:52,130 Sumali sa Microsoft kapag sila Nagkaroon empleyado 30 lamang. 127 00:05:52,130 --> 00:05:54,300 At sa oras na siya Itinigil na medyo kamakailan, 128 00:05:54,300 --> 00:05:58,100 ang kumpanya ay nagkaroon ng 100,000 empleyado sa nakaraang ilang taon. 129 00:05:58,100 --> 00:06:01,171 At sa gayon ang isang website na kilala bilang humilig Ang naghanda ito pugay sa video 130 00:06:01,171 --> 00:06:02,920 na naisip namin na gusto namin Nagbahagi na nagbibigay sa iyo 131 00:06:02,920 --> 00:06:08,380 ng isang katuturan sa kung gaano karaming enerhiya Steve Dinadala sa anumang pagtatanghal siya ay nagbibigay. 132 00:06:08,380 --> 00:06:11,884 133 00:06:11,884 --> 00:06:12,550 [VIDEO pag-playback] 134 00:06:12,550 --> 00:06:16,220 -Microsoft Parang 1/4 bata. 135 00:06:16,220 --> 00:06:18,260 Gawin umalis sa bahay bata. 136 00:06:18,260 --> 00:06:21,875 Sa kasong ito, hulaan ko Ako umaalis ng bahay. 137 00:06:21,875 --> 00:06:23,270 Uy 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 Na binigyan kami ng isang napakalaking pagkakataon. 141 00:06:28,590 --> 00:06:30,210 At ibinigay sa amin Bill na pagkakataon. 142 00:06:30,210 --> 00:06:35,520 143 00:06:35,520 --> 00:06:36,770 Gusto kong pasalamatan Bill para doon. 144 00:06:36,770 --> 00:06:39,630 Nais mong masyadong ko. 145 00:06:39,630 --> 00:06:42,500 Ang bilis ng pagbabago Hindi pupunta na pabagalin. 146 00:06:42,500 --> 00:06:45,140 >> Ito ay pagpunta upang makakuha ng mas mabilis at mas mabilis. 147 00:06:45,140 --> 00:06:50,165 Maaaring may ilang mga kakumpitensya na sa kasamaang palad, inalis! 148 00:06:50,165 --> 00:06:54,337 149 00:06:54,337 --> 00:06:59,564 >> Gustung-gusto ko kumpanyang ito. 150 00:06:59,564 --> 00:07:00,064 Oo! 151 00:07:00,064 --> 00:07:03,452 152 00:07:03,452 --> 00:07:08,250 Ako ay isang PC, at gustung-gusto ko ang kumpanya na ito! 153 00:07:08,250 --> 00:07:13,090 >> Mga Nag-develop, mga developer, developer, developer, developer, developer, 154 00:07:13,090 --> 00:07:14,560 developer, developer. 155 00:07:14,560 --> 00:07:17,500 156 00:07:17,500 --> 00:07:18,970 Oo! 157 00:07:18,970 --> 00:07:19,950 Mga web developer! 158 00:07:19,950 --> 00:07:21,420 >> Mga web developer! 159 00:07:21,420 --> 00:07:22,890 Mga web developer! 160 00:07:22,890 --> 00:07:25,830 161 00:07:25,830 --> 00:07:28,770 Makinig sa kung ano pa sa iyo makakuha nang walang dagdag na bayad! 162 00:07:28,770 --> 00:07:31,960 >> Ang MS-DOS executive, ng appointment kalandro, isang pile card, isang tala pad, 163 00:07:31,960 --> 00:07:33,750 ng orasan, ang isang control panel. 164 00:07:33,750 --> 00:07:35,461 At, maaari mong naniniwala ito? 165 00:07:35,461 --> 00:07:35,960 Reversie! 166 00:07:35,960 --> 00:07:37,270 >> Isulat ang mga ito sa CD! 167 00:07:37,270 --> 00:07:38,660 I-post ang mga ito sa MSN! 168 00:07:38,660 --> 00:07:40,422 Ikaw-mail ang mga ito sa mga kaibigan! 169 00:07:40,422 --> 00:07:41,790 >> Lahat sa isang click! 170 00:07:41,790 --> 00:07:48,670 Ang isa Microsoft, ang isa diskarte, isa team-- nakatuon, disiplinado, propesyonal, 171 00:07:48,670 --> 00:07:50,610 at dalubhasa sa lahat na aming ginagawa. 172 00:07:50,610 --> 00:07:52,670 Hayaan akong gumamit ng isang linya mula sa isang lumang pelikula. 173 00:07:52,670 --> 00:07:54,810 >> Relasyon ay tulad ng mga pating. 174 00:07:54,810 --> 00:07:57,480 Ilipat ang mga ito nang pasulong o sila ay mamamatay. 175 00:07:57,480 --> 00:08:01,470 Talaga ako sa tingin tech mga kumpanya ay pareho. 176 00:08:01,470 --> 00:08:04,801 >> [END VIDEO pag-playback] 177 00:08:04,801 --> 00:08:08,050 David J. MALAN: Kaya hindi namin kaya nasisiyahan sa ipahayag na Steve ay pagsali sa amin 178 00:08:08,050 --> 00:08:13,320 dito sa CS50 susunod na Miyerkules sa ang mga karaniwang lugar at oras dito. 179 00:08:13,320 --> 00:08:14,750 Space ay malamang na magiging limitado. 180 00:08:14,750 --> 00:08:19,650 At kaya sumali sa amin sa taong ito, mangyaring magtungo ngayon o makalipas ang ilang sandali 181 00:08:19,650 --> 00:08:22,600 sa cs50.harvard.edu/register. 182 00:08:22,600 --> 00:08:25,780 >> At magpa-follow up kami sa pamamagitan ng Nagkukumpirma Martes spot. 183 00:08:25,780 --> 00:08:29,900 Hanapin ang inaabangan ang panahon na ang susunod na Miyerkules sa panahon ng panayam sa CS50. 184 00:08:29,900 --> 00:08:33,706 Ngayon, sa iba pang mga balita, nangyari kong matagpuan ito sa Ang Crimson lamang 185 00:08:33,706 --> 00:08:34,289 ang iba pang mga araw. 186 00:08:34,289 --> 00:08:37,370 >> Ito ay lumiliko out na ang isa sa mga tauhan ng CS50 at hindi bababa sa isa sa mga mag-aaral CS50 ni 187 00:08:37,370 --> 00:08:40,299 ay kasalukuyang tumatakbo para sa UC presidente at bise-presidente, 188 00:08:40,299 --> 00:08:42,950 na dinala ako pabalik sa aking sariling araw pabalik 189 00:08:42,950 --> 00:08:45,920 kapag nawala ko ang UC halalan nang abang-aba. 190 00:08:45,920 --> 00:08:48,210 Ngunit ang magandang panig sa na ako palagi 191 00:08:48,210 --> 00:08:50,604 sabihin ang kuwento ay isa sa ako sigurado 192 00:08:50,604 --> 00:08:52,770 maraming mga kadahilanan Nawala ko ang halalan ay isang kumpletong kakulangan 193 00:08:52,770 --> 00:08:54,103 ng isang talento para sa mga pampublikong nagsasalita. 194 00:08:54,103 --> 00:08:56,950 At gayon pa totoo lang, ito ay nagdulot sa akin, na karanasan 195 00:08:56,950 --> 00:09:02,235 Sa tingin ko ang aking junior taon, upang aktwal na mag-sign up para sa Harvard Computer Society, na 196 00:09:02,235 --> 00:09:04,610 ang pangkat sa campus na pagpipigil sa iba't ibang mga teknikal na talk 197 00:09:04,610 --> 00:09:05,318 at iba pang mga bagay. 198 00:09:05,318 --> 00:09:08,117 At kinuha ko sa kanilang pagtuturo seminar at samakatuwid 199 00:09:08,117 --> 00:09:09,950 ay nagkaroon ng isang pagkakataon, isang magagandang pagkakataon, 200 00:09:09,950 --> 00:09:12,620 upang simulan ang paggawa sa eksaktong ito. 201 00:09:12,620 --> 00:09:15,000 Ngunit din, nagkaroon ako ng pagkakataon sa panahon ng karanasang ito 202 00:09:15,000 --> 00:09:16,930 magturo sa aking sarili ang lahat ng higit pang mga HTML. 203 00:09:16,930 --> 00:09:21,080 At kaya procrastinated ko kagabi sa pamamagitan ng naghahanap sa pamamagitan ng HTML batay website 204 00:09:21,080 --> 00:09:28,066 Ginawa ko sa katulad 1997, '98, para sa aking kampanya na kamukha ito dito. 205 00:09:28,066 --> 00:09:29,920 Alam ko. 206 00:09:29,920 --> 00:09:33,340 >> Because-- at siyempre, abiso ang mga kamangha-manghang disenyo ng desisyon noong 1998 207 00:09:33,340 --> 00:09:33,850 o watnat. 208 00:09:33,850 --> 00:09:36,475 Ang unang bagay na gusto mong user gawin sa oras ng pagbisita sa iyong website 209 00:09:36,475 --> 00:09:39,860 ay ang magkaroon upang i-click ang isa pang link lamang ipasok ang iyong website dito sa monghe 210 00:09:39,860 --> 00:09:43,940 sa likod tulad ng isang shrouded kurtina kung saan sa malas platform aking kampanya ay. 211 00:09:43,940 --> 00:09:46,330 At ito ay ang lahat ng makakakuha ka ng ngayon ay isang screenshot lang. 212 00:09:46,330 --> 00:09:49,500 Ngunit ako ay pagbabasa sa pamamagitan ng, tulad ng, ang aking mga poster kampanya kagabi 213 00:09:49,500 --> 00:09:50,490 at ang aking platform. 214 00:09:50,490 --> 00:09:52,960 >> At ako ay kaya galit sa oras. 215 00:09:52,960 --> 00:09:55,380 Aking platform was-- ito ay kawili-wili. 216 00:09:55,380 --> 00:09:57,730 Kaya na calmed down na ako mula noon. 217 00:09:57,730 --> 00:10:03,550 Ngunit sa ibang araw, ako ay tumakbo muli at sana ay mas mahusay na-off ang oras na ito. 218 00:10:03,550 --> 00:10:07,265 >> Kaya HTML, na wika na kung saan ginawa ko na in-- mo makikita sa lalong madaling panahon gumawa ng mas more-- 219 00:10:07,265 --> 00:10:09,140 ay isang bagay na napuntahan namin pinag-uusapan ng late 220 00:10:09,140 --> 00:10:12,460 at higit sa lahat paglalaan para sa ipinagkaloob ngayon na lumipat kami sa sa iba pang mga wika. 221 00:10:12,460 --> 00:10:15,650 Ngunit ni-pause para sa isang sandali lamang ipaalam at ilagay ang ilan sa mga bagay na ito sa konteksto. 222 00:10:15,650 --> 00:10:18,040 Kaya sa isang pangungusap, ano ang HTML? 223 00:10:18,040 --> 00:10:19,370 >> O, ano ang ginagamit para sa? 224 00:10:19,370 --> 00:10:20,208 Sinuman? 225 00:10:20,208 --> 00:10:20,708 Oo. 226 00:10:20,708 --> 00:10:22,002 >> Madla: Markup para sa mga website. 227 00:10:22,002 --> 00:10:23,460 David J. MALAN: Markup para sa website. 228 00:10:23,460 --> 00:10:27,100 Kaya ito ay isang markup language na Hinahayaan ka ng buuin ang isang web page. 229 00:10:27,100 --> 00:10:30,040 Header pumupunta dito, pamagat Dito, katawan dito napupunta. 230 00:10:30,040 --> 00:10:33,280 Ito ay boldface, ito ay italics-- na uri ng mga detalye. 231 00:10:33,280 --> 00:10:33,830 >> OK, mabuti. 232 00:10:33,830 --> 00:10:37,620 Kaya CSS ay nagbibigay-daan you-- at ako kinuha ang ilang mga kalayaan doon 233 00:10:37,620 --> 00:10:40,990 na may naka-bold nakaharap at italics dahil na mas mahusay na ipinatupad sa ito. 234 00:10:40,990 --> 00:10:42,096 Is-- CSS ano? 235 00:10:42,096 --> 00:10:42,845 Sabihin sa isang pangungusap. 236 00:10:42,845 --> 00:10:46,000 237 00:10:46,000 --> 00:10:46,720 Sinuman sa lahat. 238 00:10:46,720 --> 00:10:46,870 Oo. 239 00:10:46,870 --> 00:10:49,286 >> Madla: Embellishments at mga bagay-bagay, tulad ng kung paano idisenyo ito. 240 00:10:49,286 --> 00:10:51,769 241 00:10:51,769 --> 00:10:52,810 David J. MALAN: OK, mabuti. 242 00:10:52,810 --> 00:10:55,420 Embellishments na nagbibigay-daan sa iyo upang magdisenyo ito o stylize ito 243 00:10:55,420 --> 00:10:59,540 sa mga bagay tulad ng boldface at italics at kulay at din higit pa pinong 244 00:10:59,540 --> 00:11:01,330 haspe pagpoposisyon ng mga elemento. 245 00:11:01,330 --> 00:11:04,520 Ito ay isang uri ng hinahayaan kang makuha ang mga bagay sa huling milya upang kung, halimbawa, 246 00:11:04,520 --> 00:11:08,130 sa Pset7, maaari mong napansin sa iyong pahina ng portfolio kung ikaw ay sa puntong ito 247 00:11:08,130 --> 00:11:12,270 Mayroon na iyon ng default na talahanayan sa iyo gawin upang ipakita ang stock Kompanya ng gumagamit 248 00:11:12,270 --> 00:11:15,740 at marahil ay mukhang kahindik-hindik medyo cash sa pamamagitan ng default na walang white space. 249 00:11:15,740 --> 00:11:18,420 Uri Lahat ng mga crammed magkasama sa hanay at haligi. 250 00:11:18,420 --> 00:11:20,662 >> Well, na may kaunting CSS, pati na maaari mong maisip, 251 00:11:20,662 --> 00:11:23,870 Maaari mong aktwal na-tweak na iyon at gawin itong isang bagay na mas pamilyar at marami 252 00:11:23,870 --> 00:11:24,870 prettier upang tumingin sa. 253 00:11:24,870 --> 00:11:27,730 Kaya CSS ay tungkol sa estilisasyon ng mga website. 254 00:11:27,730 --> 00:11:31,970 Ngunit isa pang pagkatapos ay ipinakilala namin wika, PHP, na nagbibigay-daan sa amin kung ano ang gagawin? 255 00:11:31,970 --> 00:11:36,400 256 00:11:36,400 --> 00:11:37,590 >> Hayaan ang gawin ng kung ano? 257 00:11:37,590 --> 00:11:38,177 Sinuman. 258 00:11:38,177 --> 00:11:40,010 Nakuha sa venture na lampas sa ang unang ilang mga hilera. 259 00:11:40,010 --> 00:11:40,260 Oo. 260 00:11:40,260 --> 00:11:41,719 >> Madla: Bumuo ng mga dynamic na nilalaman. 261 00:11:41,719 --> 00:11:42,718 David J. MALAN: Perpekto. 262 00:11:42,718 --> 00:11:43,850 Bumuo ng mga dynamic na nilalaman. 263 00:11:43,850 --> 00:11:45,808 At maaari mong gawin ito sa anumang bilang ng mga wika. 264 00:11:45,808 --> 00:11:50,120 Mangyari naming gamitin ang PHP dahil ito ay sa bahagi kaya katulad sa C syntax. 265 00:11:50,120 --> 00:11:52,000 >> Ngunit PHP eksakto na ginagawa nito. 266 00:11:52,000 --> 00:11:54,620 Hinahayaan nito ang pabagu-bagong mong buuin ang output. 267 00:11:54,620 --> 00:11:57,890 At ang ilan sa mga na output ay maaaring HTML, pati na karaniwang na-ginagawa namin. 268 00:11:57,890 --> 00:12:00,160 At din, dahil ito ay isang programming language, ay 269 00:12:00,160 --> 00:12:03,240 ang mekanismo sa pamamagitan ng kung saan maaari naming makipag-usap sa mga database. 270 00:12:03,240 --> 00:12:05,730 >> At maaari kaming magsagawa ng mga query sa iba pang mga server tulad ng Yahoos 271 00:12:05,730 --> 00:12:08,660 at programming gumawa ng anumang bagay talaga na maaari mong kung hindi man ay 272 00:12:08,660 --> 00:12:10,400 Nais upang pilitin ang isang computer upang magawa. 273 00:12:10,400 --> 00:12:13,580 Kaya nagbibigay-daan sa PHP sa amin magsimula pabago-bago outputting nilalaman. 274 00:12:13,580 --> 00:12:16,900 Kaya sa pamamagitan ng logic na ito, hindi ko kinailangang isang pabago-bagong website pabalik sa 1998. 275 00:12:16,900 --> 00:12:18,460 >> Ito ay lamang ng isang static na web page. 276 00:12:18,460 --> 00:12:22,250 Ng aking nilalaman ay kinailangang mapalitan sa pamamagitan ng manu-manong na may gedit o ilan katumbas. 277 00:12:22,250 --> 00:12:25,290 Ngunit PHP ay kung ano ang ginamit namin o ay maaaring magamit, sa halip, 278 00:12:25,290 --> 00:12:27,260 para sa isang bagay tulad ng Frosh IMS website, na 279 00:12:27,260 --> 00:12:31,160 ay dapat na kumuha ng pagpaparehistro at pamahalaan ang listahan ng mga users-- mga bagay na 280 00:12:31,160 --> 00:12:33,550 ay talagang ang pagbabago sa paglipas ng oras, kahit na mangyari namin 281 00:12:33,550 --> 00:12:35,990 gamitin ang Perl, sa ibang wika sa panahon. 282 00:12:35,990 --> 00:12:40,350 >> At pagkatapos ay bilang wakas, ipinakilala namin SQL-- nakabalangkas na Query Wika. 283 00:12:40,350 --> 00:12:43,845 Kaya isa pang wika na ginagamit para sa kung ano? 284 00:12:43,845 --> 00:12:46,660 285 00:12:46,660 --> 00:12:47,639 Ginagamit para sa kung ano? 286 00:12:47,639 --> 00:12:49,430 Puwede ba kaming Venture slight-- OK, hindi namin pupuntahan 287 00:12:49,430 --> 00:12:51,263 upang makakuha ng mas higit na malayo kaysa sa orkestra dito. 288 00:12:51,263 --> 00:12:53,432 Madla: Ito ay isang protocol ginagamit upang makipag-usap sa mga database. 289 00:12:53,432 --> 00:12:55,640 David J. MALAN: Isang protocol ginagamit upang makipag-usap sa mga database. 290 00:12:55,640 --> 00:12:56,181 Hayaan akong mag-tweak. 291 00:12:56,181 --> 00:12:59,280 Ito ay isang natural na wika na ginagamit makipag-usap sa databases-- Pinipili 292 00:12:59,280 --> 00:13:01,280 at mga pagpapasok at pagtatanggal at mga update at aktwal 293 00:13:01,280 --> 00:13:03,840 higit pang mga tampok na hindi pa namin kahit na dived 294 00:13:03,840 --> 00:13:07,920 sa ngunit maaaring gusto mong magkaroon ng explore-- upang galugarin para sa, sabihin nating, isang pangwakas na proyekto. 295 00:13:07,920 --> 00:13:09,560 Kaya may mga iba't-ibang mga piraso. 296 00:13:09,560 --> 00:13:13,100 >> At sana Pset7, kahit na detalye nito ay masyadong mahaba, 297 00:13:13,100 --> 00:13:15,990 ito ay sadyang mahaba upang ituturo sa iyo sa pamamagitan ng kung paano ang mga bagay na maaari lahat 298 00:13:15,990 --> 00:13:17,210 i-type nang sama-sama. 299 00:13:17,210 --> 00:13:20,300 Ngayon, sa Monday, namin Ipinakilala ng aming huling wika 300 00:13:20,300 --> 00:13:23,430 na pormal na namin ipakilala sa ang course-- iyon ay, ang JavaScript. 301 00:13:23,430 --> 00:13:25,720 Ito, tulad ng PHP, ay isang kahulugan ng wika. 302 00:13:25,720 --> 00:13:28,110 >> Ngunit isang pangunahing pagkakaiba Ipinanukalang ko sa Lunes 303 00:13:28,110 --> 00:13:32,730 ay na samantalang ang PHP ay isinasagawa o na binigyang-kahulugan sa server, na 304 00:13:32,730 --> 00:13:35,990 sa kasong ito ay ang CS50 appliance, o maaaring ilang mga komersyal na web 305 00:13:35,990 --> 00:13:39,370 server sa internet, JavaScript sa pangkalahatan 306 00:13:39,370 --> 00:13:43,650 ay isang wika na nagpapatakbo ng client side Hindi side-- kaya ng server sa browser. 307 00:13:43,650 --> 00:13:46,970 Alin ang sasabihin, tulad ng kapag binuksan ko up source code ng Facebook at natagpuan ang lahat ng 308 00:13:46,970 --> 00:13:51,510 ng mga .js file, ang implikasyon ay na kapag bumisita ka sa Facebook o sa karamihan 309 00:13:51,510 --> 00:13:54,810 mga website mga araw na ito, makakakuha ka ng hindi lamang ng HTML, hindi lamang CSS, 310 00:13:54,810 --> 00:13:59,370 ngunit ang maramihang mga JavaScript code ay madalas na nasa anyo ng .js ng mga file. 311 00:13:59,370 --> 00:14:03,970 At pagkatapos ito ay ang browser-- iyong sariling Mac o PC-- na executes ang code na iyon. 312 00:14:03,970 --> 00:14:05,990 >> Ngunit ang iyong browser executes ito. 313 00:14:05,990 --> 00:14:08,070 Maaari mong isipin sa uri ng isang sandbox. 314 00:14:08,070 --> 00:14:12,420 Kaya na JavaScript code ay hindi dapat magagawang tanggalin ang mga file sa iyong computer. 315 00:14:12,420 --> 00:14:14,730 Hindi ito dapat magagawang magpadala ng mga email sa iyong ngalan. 316 00:14:14,730 --> 00:14:17,760 Ang iyong browser uri ng pinagbabawalan kung ano ang maaari mong gawin sa mga ito. 317 00:14:17,760 --> 00:14:20,630 >> Kaya sa na kahulugan, ito ay isang maliit na mas malakas na, marahil, kaysa sa C. 318 00:14:20,630 --> 00:14:24,030 Ngunit JavaScript maaari, bilang isang bukod, gagamitin sa server, 319 00:14:24,030 --> 00:14:27,740 bagaman namin ay may posibilidad na huwag makipag-usap tungkol dito sa konteksto na iyon. 320 00:14:27,740 --> 00:14:29,740 Kaya ni itali ang mga ngayon hayaan. 321 00:14:29,740 --> 00:14:34,000 Isang linggo ang nakalipas plus, ipinakita namin ang ilang HTML sa left-- sobrang mayamot web page. 322 00:14:34,000 --> 00:14:35,000 >> Lamang sabi kumusta mundo. 323 00:14:35,000 --> 00:14:38,110 At pagkatapos ay ipinanukalang ako sa kanan maaari naming uri ng magnakaw ideya 324 00:14:38,110 --> 00:14:41,470 mula sa aming mga talakayan ng mga istraktura ng data sa C 325 00:14:41,470 --> 00:14:45,270 at sa tingin tungkol sa kung paano ito hierarchical markup language sa kaliwa 326 00:14:45,270 --> 00:14:49,720 maaaring iguguhit o ipinatupad sa memory bilang isang aktwal na puno ng istraktura sa mga node 327 00:14:49,720 --> 00:14:51,400 at mga payo at ang mga uri ng mga detalye. 328 00:14:51,400 --> 00:14:53,820 Sa kanang, tinatawag naming na ang isang DOM-- Dokumento 329 00:14:53,820 --> 00:14:56,800 Bagay Model-- na lang isang magarbong paraan ng pagsabi tree. 330 00:14:56,800 --> 00:14:59,520 >> Ngayon, kung bakit ay kapaki-pakinabang ito sa isipin na ito sa paraang ito? 331 00:14:59,520 --> 00:15:01,680 Dahil ngayon sa JavaScript, dahil mayroon kaming 332 00:15:01,680 --> 00:15:05,810 code na nakakakuha upang i-play sa kapaligiran, ang aktwal na HTML na 333 00:15:05,810 --> 00:15:08,360 ipinadala sa browser na at may na 334 00:15:08,360 --> 00:15:12,690 nai-load sa memorya ng browser sa isang puno sa computer ang iyong 335 00:15:12,690 --> 00:15:18,270 RAM ganito, maaari kaming gumamit ng JavaScript upang aktwal na tumawid o maglakad o paghahanap 336 00:15:18,270 --> 00:15:21,800 o baguhin ang DOM na puno gayunpaman gusto naming. 337 00:15:21,800 --> 00:15:24,040 Kaya sa katunayan, kung sa tingin mo tungkol sa facebook.com, 338 00:15:24,040 --> 00:15:27,660 kung gagamitin mo ang tampok na chat, kung paggamit ng Gmail at ang tampok gchat, 339 00:15:27,660 --> 00:15:30,540 anumang bagay kung saan mayroon kang mga mensahe darating na muli at muli 340 00:15:30,540 --> 00:15:35,880 at muli, ang mga mensahe ay marahil, tulad ng, li tag, mga tag Item List, siguro. 341 00:15:35,880 --> 00:15:37,940 >> O siguro ang mga ito lamang divs na panatilihin ang paglitaw 342 00:15:37,940 --> 00:15:39,770 sa bawat oras na makakuha ng isang instant message. 343 00:15:39,770 --> 00:15:42,960 At nang sa gayon ay nangangahulugan lamang kung ano ang Facebook o Google ay ang paggawa 344 00:15:42,960 --> 00:15:45,200 ay anumang oras kang makakuha ng mensahe mula sa server, 345 00:15:45,200 --> 00:15:48,740 ang mga ito ay marahil ang paggamit ng JavaScript upang idagdag lamang ng isa pang node 346 00:15:48,740 --> 00:15:52,700 sa tree-- isa pang node na ito puno na pagkatapos biswal lamang ang hitsura 347 00:15:52,700 --> 00:15:54,570 tulad ng isang bagong linya ng teksto sa iyong screen. 348 00:15:54,570 --> 00:15:57,100 Ngunit ito ay naka-pagpasok sa ito istraktura ng data. 349 00:15:57,100 --> 00:15:59,742 >> Kaya sa mga klase tulad ng CS124 at iba pa, ikaw ay 350 00:15:59,742 --> 00:16:02,200 aktwal na magsulat ng higit pang mga code laban mga istraktura ng data na katulad nito. 351 00:16:02,200 --> 00:16:04,310 Ngunit sa ngayon sa JavaScript, namin lamang ipinapalagay 352 00:16:04,310 --> 00:16:07,920 makuha namin ang lahat ng ang functionality na ito para sa libreng mula sa wika mismo. 353 00:16:07,920 --> 00:16:09,210 Kaya tingnan natin ang isang halimbawa ipaalam. 354 00:16:09,210 --> 00:16:13,120 >> Hayaan akong buksan up ng isang file na tinatawag na form.html. 355 00:16:13,120 --> 00:16:14,601 Ito ay sobrang simple. 356 00:16:14,601 --> 00:16:15,600 Tila tulad ito. 357 00:16:15,600 --> 00:16:17,860 >> Walang CSS, walang pag-iisip sa Estetika. 358 00:16:17,860 --> 00:16:19,810 Ito ay purong functional at tila ako 359 00:16:19,810 --> 00:16:24,000 humihingi ng email, password, muli ang password, at pagkatapos ay isang tseke 360 00:16:24,000 --> 00:16:26,150 sumang-ayon sa ilang mga tuntunin at kundisyon. 361 00:16:26,150 --> 00:16:28,740 Ano ang source code para sa Mukhang ay marahil isang bagay 362 00:16:28,740 --> 00:16:31,030 maaari mong hulaan na may Medyo ng pag-iisip ngayon. 363 00:16:31,030 --> 00:16:32,840 Mayroon akong isang form na tag dito. 364 00:16:32,840 --> 00:16:36,190 >> Ang isang aksyon ay tila pagpunta sa pumunta sa isang file tinatawag register.php. 365 00:16:36,190 --> 00:16:37,870 Ang pamamaraan na pupuntahan ko gamitin ay makukuha. 366 00:16:37,870 --> 00:16:40,880 At pagkatapos Mayroon akong isang text field ang pangalan ay email. 367 00:16:40,880 --> 00:16:43,340 >> Nakakuha ako ng isang field ng password ang pangalan ay password. 368 00:16:43,340 --> 00:16:45,420 Mayroon akong isa pang field ng password ang pangalan 369 00:16:45,420 --> 00:16:47,342 ay medyo nagkataon pagkumpirma. 370 00:16:47,342 --> 00:16:49,690 Ito ay lamang ng isa pang HTTP na parameter. 371 00:16:49,690 --> 00:16:54,430 >> At pagkatapos ay hindi namin ginagamit namin na ang mga maliban sa dahil demo ng Frosh IMS sa class-- 372 00:16:54,430 --> 00:16:56,692 isang check box na ay katumbas ng uri lamang ng tseke. 373 00:16:56,692 --> 00:16:57,900 At Tatawag ako kasunduang iyon. 374 00:16:57,900 --> 00:17:00,700 Kaya ko nai uri ng nagkataon ngunit Maginhawa na may pangalang mga patlang na ito. 375 00:17:00,700 --> 00:17:03,450 Kaya ngayon kapag nakakakuha ang form na ito isinumite, tingnan natin kung ano ang mangyayari. 376 00:17:03,450 --> 00:17:07,290 Kung gagawin ko malan@harvard.edu, Makikita kong gawin ang isang password ng pulang-pula. 377 00:17:07,290 --> 00:17:09,530 Makikita kong gawin ang isang password sa wala. 378 00:17:09,530 --> 00:17:10,910 Hindi na makipagtulungan Hayaan. 379 00:17:10,910 --> 00:17:12,280 >> At hindi ko ay lagyan ng check ang kahon. 380 00:17:12,280 --> 00:17:13,940 Hayaan akong i-click ang Magrehistro. 381 00:17:13,940 --> 00:17:15,420 At sinasabi nito, Hm, naka-rehistro. 382 00:17:15,420 --> 00:17:16,069 Hindi talaga. 383 00:17:16,069 --> 00:17:17,450 >> Ngunit ang URL ay nagbago. 384 00:17:17,450 --> 00:17:22,280 Kaya ang form na ito ay malinaw na pinapayagan na sumailalim sa register.php. 385 00:17:22,280 --> 00:17:25,160 Pero siguro, dapat kong maging pansing ilan sa mga error na ito. 386 00:17:25,160 --> 00:17:27,569 Ngayon, sa Pset7 at ang ilan sa aming mga halimbawa panayam, 387 00:17:27,569 --> 00:17:30,130 Gusto naming i-print ang pangkaraniwang isang malaking pulang error na mensahe dito 388 00:17:30,130 --> 00:17:33,760 na nagsasabi, nawawala ang pangalan, o nawawalang mga password. 389 00:17:33,760 --> 00:17:37,680 Tapos namin na ang bago at namin nai tapos na-detect na error sa server side. 390 00:17:37,680 --> 00:17:41,580 >> Ngunit maraming mga website mga araw na ito gawin pagkakita bahagi error ng client 391 00:17:41,580 --> 00:17:42,810 kung saan ang URL ay hindi nagbabago. 392 00:17:42,810 --> 00:17:44,101 Ang buong pahina ay hindi mag-refresh. 393 00:17:44,101 --> 00:17:46,940 Makakakuha ka ng instant na feedback mula sa browser. 394 00:17:46,940 --> 00:17:48,070 Siguro isang bagay na napupunta pula. 395 00:17:48,070 --> 00:17:49,190 >> Siguro kang makakuha ng isang pop up. 396 00:17:49,190 --> 00:17:53,240 Ngunit hindi ka mag-aaksaya ng oras sa pagpapadala sa ang server ng data na hindi pa tapos. 397 00:17:53,240 --> 00:17:56,050 Kaya tingnan natin kung paano namin maaari makamit ang tampok na iyon pati na rin. 398 00:17:56,050 --> 00:17:59,660 >> Hayaan akong pumunta sa form1.html, na kamukha ng parehong. 399 00:17:59,660 --> 00:18:03,530 Ngunit kung oras na ito gagawin ko malan@harvard.edu at nagta-type ako pulang-pula 400 00:18:03,530 --> 00:18:07,350 at hindi ko makikipagtulungan sa karagdagang ngunit i-click ang Magrehistro, mapansin ngayon. 401 00:18:07,350 --> 00:18:08,940 Hindi ito ang sexiest solusyon. 402 00:18:08,940 --> 00:18:10,900 Hindi bababa sa ko na nahuli ang error na ito. 403 00:18:10,900 --> 00:18:12,900 At ginamit ko na ang mga alerto pagpapaandar sa JavaScript-- 404 00:18:12,900 --> 00:18:14,090 na kung saan namin lamang gamit sa klase. 405 00:18:14,090 --> 00:18:16,430 Sa pangkalahatan, hindi mo dapat itong gamitin dahil maaaring masyadong mabilis ito lumayas 406 00:18:16,430 --> 00:18:17,160 ng kontrol. 407 00:18:17,160 --> 00:18:19,180 Ngunit mga password ay hindi tumutugma ang error. 408 00:18:19,180 --> 00:18:21,120 >> Hayaan akong sige at i-click ang OK. 409 00:18:21,120 --> 00:18:25,040 Ngunit ano ang key takeaway dito ay na ang URL ay hindi magbago. 410 00:18:25,040 --> 00:18:27,960 Kaya hindi ko na bothered pag-aaksaya oras ng server na humihiling ito 411 00:18:27,960 --> 00:18:30,750 isang tanong na maaaring mayroon ako naisip out ang kasagutan sa aking sarili. 412 00:18:30,750 --> 00:18:33,210 >> At ang mga gumagamit, kahit na na pakikipag-usap tungkol sa 413 00:18:33,210 --> 00:18:35,264 Mas mahaba ang user pagpunta sa isipin ang tungkol ito, 414 00:18:35,264 --> 00:18:36,680 ay pagpunta sa may instant na feedback. 415 00:18:36,680 --> 00:18:39,044 Walang latency sa ang pagkakakonekta ng network. 416 00:18:39,044 --> 00:18:40,460 Kaya tingnan natin ang source code ng ipaalam. 417 00:18:40,460 --> 00:18:45,600 >> Form1.html hitsura structurally katulad up dito. 418 00:18:45,600 --> 00:18:46,810 Ang form na ito ay sa katunayan ang parehong. 419 00:18:46,810 --> 00:18:48,330 Ngunit sabihin makita kung ano ang ginawa ko down na dito. 420 00:18:48,330 --> 00:18:49,913 At mayroong iba't ibang mga paraan upang magawa ito. 421 00:18:49,913 --> 00:18:53,690 At ako nagawa mo na ang pinaka-tuwid tagasunod ngunit hindi pinaka-eleganteng paraan pa. 422 00:18:53,690 --> 00:18:54,869 Mayroon akong isang script tag. 423 00:18:54,869 --> 00:18:57,035 Pagkatapos ay tumawag ako document.getElementByID ('pagpaparehistro'). 424 00:18:57,035 --> 00:19:00,090 425 00:19:00,090 --> 00:19:04,420 At mag-store ko halaga na sa form na ito, sa isang variable. 426 00:19:04,420 --> 00:19:05,520 >> Kaya ano pa ako tapos? 427 00:19:05,520 --> 00:19:08,960 Maaari mong isipin document.getElementByID bilang 428 00:19:08,960 --> 00:19:11,200 isang espesyal na function na Nagbibigay sa iyo ng JavaScript 429 00:19:11,200 --> 00:19:14,400 Literal na mga kamay sa iyo ng isang pointer sa isa sa mga node 430 00:19:14,400 --> 00:19:16,520 o parihaba para sa puno na ito. 431 00:19:16,520 --> 00:19:21,470 Kaya ngayon na ang kung ano ang aming form variable sa JavaScript ay aktwal na tumuturo sa. 432 00:19:21,470 --> 00:19:25,120 >> Kaya ngayon ang syntax ay naiiba mula sa C. Ngunit aming ginagawa ang ilang mga bagay dito. 433 00:19:25,120 --> 00:19:30,360 One, ang isang ito ay medyo kakaiba naghahanap, tiyak kumpara sa C. 434 00:19:30,360 --> 00:19:32,180 Ngunit tumingin sa 35 linya. 435 00:19:32,180 --> 00:19:35,130 Kaya sa kaliwang form.onsubmit. 436 00:19:35,130 --> 00:19:38,060 Isipin na onsubmit ay tulad ng isang patlang sa isang struct. 437 00:19:38,060 --> 00:19:41,480 Kung sa tingin mo ng variable na form ay pagiging lamang ng isang C struct, 438 00:19:41,480 --> 00:19:42,600 maaari itong magkaroon ng ilang mga patlang. 439 00:19:42,600 --> 00:19:46,410 >> Bumalik sa araw, nagkaroon kami mga pangalan ng mga mag-aaral, ID, bahay, mga uri ng mga patlang. 440 00:19:46,410 --> 00:19:48,520 Sa tingin lang ng onsubmit ng sa isa pang field. 441 00:19:48,520 --> 00:19:53,380 Ngunit ito ay isang espesyal na field dahil ang browser ay preprogrammed ang aasahan 442 00:19:53,380 --> 00:19:57,530 .onsubmit upang hindi maging isang halaga tulad ng isang numero o string, 443 00:19:57,530 --> 00:20:01,180 ngunit upang aktwal na maging isang function o ang address ng isang function 444 00:20:01,180 --> 00:20:02,570 sa memory ng computer. 445 00:20:02,570 --> 00:20:04,740 >> At sa katunayan, iyon ang dito ang keyword na ito. 446 00:20:04,740 --> 00:20:06,710 Ang sabi, ninyo ako ng bagong pag-andar. 447 00:20:06,710 --> 00:20:09,390 Ngunit kung ano ang pangalan nito magiging, tila? 448 00:20:09,390 --> 00:20:10,800 >> Iniisip pabalik sa Lunes. 449 00:20:10,800 --> 00:20:13,430 450 00:20:13,430 --> 00:20:17,170 Ano ang pangalan ng ito function na batay sa ang syntax na ito? 451 00:20:17,170 --> 00:20:19,784 Hindi, ibig kong sabihin, may malinaw na Walang pangalan ang associated-- tiyak 452 00:20:19,784 --> 00:20:21,200 wala sa kung ano ang nai-highlight ko dito. 453 00:20:21,200 --> 00:20:22,560 >> Ngunit iyon lamang ang aktwal na OK. 454 00:20:22,560 --> 00:20:25,840 Ito ay isang hindi kilalang function, o isang lambda function na bilang ilang mga maaaring tawagan. 455 00:20:25,840 --> 00:20:27,589 At na lamang ay nangangahulugang ito ay isang function pa rin. 456 00:20:27,589 --> 00:20:29,400 Ito ay lang, hindi ka maaaring tumawag ito sa pamamagitan ng pangalan. 457 00:20:29,400 --> 00:20:30,057 Ngunit iyon lamang ang OK. 458 00:20:30,057 --> 00:20:33,140 Dahil muli, ang browser ay preprogrammed ng mga kumpanya tulad ng Google 459 00:20:33,140 --> 00:20:38,540 o Microsoft o Mozilla o sa iba na Alam lamang na kung ang .onsubmit patlang 460 00:20:38,540 --> 00:20:43,400 sa loob ng isang elemento ng form na may halaga, ituturing ito bilang isang function-- 461 00:20:43,400 --> 00:20:44,750 isang function pointer, kung habilin sa iyo. 462 00:20:44,750 --> 00:20:46,910 At tawagan ito kapag ang form ay isinumite. 463 00:20:46,910 --> 00:20:50,350 >> Kaya kung ano ang code ay dapat na isagawa kapag ang form ay isinumite? 464 00:20:50,350 --> 00:20:52,526 Sa malas, lahat ng bagay sa loob ng kulot suhay. 465 00:20:52,526 --> 00:20:53,650 At ito lamang ang pangkakanyahan. 466 00:20:53,650 --> 00:20:55,626 >> Maaari mong gawin ito tulad ng may posibilidad naming gawin sa CS50. 467 00:20:55,626 --> 00:20:58,250 Ngunit sa JavaScript, karamihan ng mga tao ay may posibilidad na panatilihin ito sa parehong linya 468 00:20:58,250 --> 00:21:01,960 dahil lang sa ito nang mas malinaw ay na nauugnay sa na function na keyword. 469 00:21:01,960 --> 00:21:03,240 Kaya ngayon kung ano ang aking ginagawa? 470 00:21:03,240 --> 00:21:08,616 >> Kung katumbas ng form.email.value equals ang walang laman na string o wala, narito ang 471 00:21:08,616 --> 00:21:11,490 isang alerto kung saan ako pupunta sasabihin, Dapat mong ibigay ang iyong email address, 472 00:21:11,490 --> 00:21:12,690 at pagkatapos ay bumalik false. 473 00:21:12,690 --> 00:21:15,720 At ito ay na return false na Pinipigilan ang form mula sa isinumite. 474 00:21:15,720 --> 00:21:19,480 Samantala, kung ang halaga password ay blangko, Pupunta ako sa sumigaw sa user 475 00:21:19,480 --> 00:21:21,150 at sabihin, dapat kang magbigay ng isang password. 476 00:21:21,150 --> 00:21:23,700 >> Samantala bagay nakakakuha may interes ng kaunti dito. 477 00:21:23,700 --> 00:21:29,160 Kung form.password.value hindi katumbas form.confirmation.value, 478 00:21:29,160 --> 00:21:31,680 ang iba pang mga patlang, sumigaw sa ang gumagamit na ang mga password 479 00:21:31,680 --> 00:21:33,860 Hindi tumutugma ang bilang nila ang hindi isang sandali ang nakalipas. 480 00:21:33,860 --> 00:21:35,780 At pagkatapos ay ang isang ito ay isang maliit na sexier dahil ako 481 00:21:35,780 --> 00:21:40,470 Alam Alam ko conceptually na naka-check ang pangalan ng isang check box na iyon. 482 00:21:40,470 --> 00:21:45,680 >> Kaya ko lamang gumamit ng isang tandang punto upang sabihin kung ang tseke ay hindi 483 00:21:45,680 --> 00:21:48,040 checked-- ito ang Boolean halaga, totoo o false-- 484 00:21:48,040 --> 00:21:49,700 Magtatagal ako sumigaw sa user para sa kadahilanang iyon. 485 00:21:49,700 --> 00:21:52,300 Kung hindi man, kung makuha namin sa pamamagitan ng lahat ng mga kondisyon, 486 00:21:52,300 --> 00:21:53,270 hayaan bumalik ni lamang totoo. 487 00:21:53,270 --> 00:21:54,700 Hayaan ang form na isusumite. 488 00:21:54,700 --> 00:21:56,560 At ito ay pagkatapos mangyari. 489 00:21:56,560 --> 00:21:57,740 >> Ni-type sa pulang-pula Hayaan. 490 00:21:57,740 --> 00:22:00,230 Hinahayaan suriin ang kahon, i-click ang Magrehistro. 491 00:22:00,230 --> 00:22:01,979 At ngayon pumunta ako sa pamamagitan ng destinasyon. 492 00:22:01,979 --> 00:22:03,270 Ngayon, walang database doon. 493 00:22:03,270 --> 00:22:05,370 Wala kagiliw-giliw na ang sa register.php. 494 00:22:05,370 --> 00:22:07,980 Kinakailangan ang isang bagay ko lang upang aktwal na makausap. 495 00:22:07,980 --> 00:22:09,140 Kaya hayaan mo akong i-pause, dito. 496 00:22:09,140 --> 00:22:16,270 Ang anumang mga katanungan sa kung ano ang iyong ginagawa lamang namin o kung ano ang ilan sa mga ito ng mga bagong syntax ay? 497 00:22:16,270 --> 00:22:17,640 OK, oo? 498 00:22:17,640 --> 00:22:20,025 >> Madla: Kaya ang anumang mga checkbox ay awtomatikong isang Boolean. 499 00:22:20,025 --> 00:22:21,650 Wala kang idedeklara ito tulad na. 500 00:22:21,650 --> 00:22:22,649 >> David J. MALAN: Tama. 501 00:22:22,649 --> 00:22:29,340 Anumang checkbox na ipinadala sa iyo mula sa isang HTML form sa iyong code ng JavaScript 502 00:22:29,340 --> 00:22:31,760 ay ginagamot, oo, bilang isang Boolean value-- totoo o hindi. 503 00:22:31,760 --> 00:22:32,635 Ito ay isang mahusay na tanong. 504 00:22:32,635 --> 00:22:36,080 Sapagkat ang iba pang mga halaga, ng Siyempre, naging teksto, aka string. 505 00:22:36,080 --> 00:22:38,500 >> Ang lahat ng mga karapatan, kaya ipaalam sa akin -rewind ng kaunti pa. 506 00:22:38,500 --> 00:22:39,900 Ano ang buong punto ng ito? 507 00:22:39,900 --> 00:22:41,400 Lamang maging malinaw. 508 00:22:41,400 --> 00:22:44,940 Tulad ng, na namin alam, kahit na mula sa Pset7 at kahit na mula sa aralin noong nakaraang linggo ni 509 00:22:44,940 --> 00:22:51,120 halimbawa, na maaari malinaw naman namin ang $ _GET $ _POST Makita kung magbibigay sa amin ang user 510 00:22:51,120 --> 00:22:52,200 isang walang lamang halaga. 511 00:22:52,200 --> 00:22:54,400 Tandaan ang laman ng function sa PHP. 512 00:22:54,400 --> 00:22:58,040 >> Kaya upang maging malinaw, kung ano ang isang kadahilanan maaari rin naming 513 00:22:58,040 --> 00:23:00,535 nais na gawin ang error na ito checking sa loob ng browser? 514 00:23:00,535 --> 00:23:03,350 515 00:23:03,350 --> 00:23:06,080 Ano ang pag-uudyok dito? 516 00:23:06,080 --> 00:23:06,580 Oo. 517 00:23:06,580 --> 00:23:09,735 >> Madla: Mas mabilis, at hindi mo gusto magpadala ng walang kasaysayan ng data sa server. 518 00:23:09,735 --> 00:23:10,610 David J. MALAN: Mahusay. 519 00:23:10,610 --> 00:23:11,170 Ito ay mas mabilis. 520 00:23:11,170 --> 00:23:12,920 Hindi mo na magpadala ng walang kasaysayan data sa server. 521 00:23:12,920 --> 00:23:14,670 >> Kaya mo bumalik sa mas agarang tugon. 522 00:23:14,670 --> 00:23:16,560 At sa pangkalahatan, ang user karanasan ay mas mahusay. 523 00:23:16,560 --> 00:23:17,900 Isipin ang mga kahalili. 524 00:23:17,900 --> 00:23:21,160 >> Kung para sa Gmail-- at noon ay sa kaso ng maraming taon na ang nakakaraan. 525 00:23:21,160 --> 00:23:24,160 Ipagpalagay na nakuha ng isang bagong email sa iyong Gmail account, ngunit ang tanging paraan sa pamamagitan ng 526 00:23:24,160 --> 00:23:26,510 upang makita na ay sa, tulad ng, -reload ang buong pahina. 527 00:23:26,510 --> 00:23:29,030 O ipagpalagay na nag-click ka sa isang link na basahin ang isang email. 528 00:23:29,030 --> 00:23:31,600 >> Ang lahat ay may upang i-reload kaya na maaari mong makita ang email. 529 00:23:31,600 --> 00:23:33,380 O Facebook-- ka ng mensaheng chat. 530 00:23:33,380 --> 00:23:36,000 Hindi mo makita ito hanggang sa iyong i-reload ang pahina o i-click ang ilang mga link. 531 00:23:36,000 --> 00:23:38,380 >> Tulad ng, ito ay magiging isang katakut-takot nakakainis na karanasan ng user. 532 00:23:38,380 --> 00:23:41,300 At ito ay kung ano ito ay tulad, malinaw, pabalik kapag nagpatakbo ako para sa UC 533 00:23:41,300 --> 00:23:44,760 at sa web ay mas dynamic na mas mababa at JavaScript ay hindi bilang popularized 534 00:23:44,760 --> 00:23:45,601 dahil ito ay ngayon. 535 00:23:45,601 --> 00:23:47,850 At bagay na nakakakuha magkano mas dynamic at marami pang iba 536 00:23:47,850 --> 00:23:49,900 client bahagi sa na kahulugan. 537 00:23:49,900 --> 00:23:54,370 >> Subalit mayroong isang catch dito, at ito ay uri ng isang nakakainis na Huli ka. 538 00:23:54,370 --> 00:23:58,720 Dahil lamang sa idagdag mo ang client side pagkakita na tulad nito ay hindi nangangahulugan na 539 00:23:58,720 --> 00:24:01,430 maaari mong o dapat abandunahin pagkakita bahagi ng server. 540 00:24:01,430 --> 00:24:04,080 Mahalagang gusto mong ilagay ang iyong mga error ng pagsuri sa parehong mga lugar. 541 00:24:04,080 --> 00:24:05,830 Dahil kung ano ang isa ng araling natutunan 542 00:24:05,830 --> 00:24:10,270 mula sa artikulo Nabasa ko ang ilang mga sipi mula sa ugok CMS system-- 543 00:24:10,270 --> 00:24:14,410 Nilalaman Pamamahala ng System-- na noon ay pagpapatupad ng sistema ng pagpapatotoo nito, 544 00:24:14,410 --> 00:24:16,790 pag-login nito sa pamamagitan ng kung ano ang mekanismo? 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 >> Madla: JavaScript. 548 00:24:21,499 --> 00:24:23,290 David J. MALAN: JavaScript, eksakto, tama? 549 00:24:23,290 --> 00:24:24,610 Ito ay gumagamit ng JavaScript. 550 00:24:24,610 --> 00:24:27,120 At literal, mo guys mayroon -play nang kaunti marahil 551 00:24:27,120 --> 00:24:28,700 may Inspektor ng Chrome. 552 00:24:28,700 --> 00:24:30,890 At kung maaari ko ba itong mahanap, siyasatin elemento. 553 00:24:30,890 --> 00:24:33,670 >> Hayaan akong pumunta sa paglipas ng gawin lahat ng mga pagpipilian ng Chrome. 554 00:24:33,670 --> 00:24:37,080 At ito ay kung paano kadali na hindi paganahin ang JavaScript sa isang browser. 555 00:24:37,080 --> 00:24:38,950 Lagyan ng check, wala nang JavaScript. 556 00:24:38,950 --> 00:24:41,070 >> Kaya sa pagkamakatarungan, ng maraming ng web mga araw na ito 557 00:24:41,070 --> 00:24:43,430 ay lamang ng pagpunta sa masira dahil Gmail at iba pang mga sites-- 558 00:24:43,430 --> 00:24:46,140 Facebook-- ipinapalagay na Pinagana ang JavaScript. 559 00:24:46,140 --> 00:24:50,180 Ngunit kung gumagawa ka ng isang bagay ugok tulad ng pagpapatunay lamang ng pag-input mga gumagamit 560 00:24:50,180 --> 00:24:52,520 at pagsuri ito para sa error sa gilid client, 561 00:24:52,520 --> 00:24:54,940 isang kalaban ay madaling gawin ito. 562 00:24:54,940 --> 00:24:57,180 At pagkatapos ay kahit na mas matalinong kalaban na tulad mo guys 563 00:24:57,180 --> 00:25:01,120 ngayon ay maaaring gumamit ng Telnet o mabaluktot o command line lamang ang mga utos 564 00:25:01,120 --> 00:25:05,300 at talagang magpadala ng mga mensahe sa server na katulad ay hindi error-check. 565 00:25:05,300 --> 00:25:08,380 >> Kaya ito ay higit pa sa isang desisyon na interface ng gumagamit 566 00:25:08,380 --> 00:25:13,060 kaysa ito ay isang aktwal na teknikal improvement-- pagpapatupad 567 00:25:13,060 --> 00:25:14,410 isang bagay na client gilid tulad nito. 568 00:25:14,410 --> 00:25:16,800 Kaya ngayon ng isang mabilis na sulyap, ngunit pagkatapos ay Kukunin ko umalinsunod sa mga online na lakad 569 00:25:16,800 --> 00:25:17,674 sa pamamagitan ng para sa isang ito. 570 00:25:17,674 --> 00:25:21,480 Sa form na dalawang, talaga namin nagpunta sa pamamagitan ng at nalinis up ang code nang kaunti. 571 00:25:21,480 --> 00:25:23,650 Ngunit ipaalam sa akin umalinsunod sa isa ng mga video na aming malamang 572 00:25:23,650 --> 00:25:27,970 naka-embed sa Pset8 na nagpapakita lamang sa iyo ng isang katulad syntax gamit ang isang library na tinatawag na 573 00:25:27,970 --> 00:25:32,320 jQuery, na isang super, super sikat na library sa JavaScript 574 00:25:32,320 --> 00:25:34,510 nang tapat na karamihan ng mga tao gamitin lamang ang mga araw 575 00:25:34,510 --> 00:25:37,070 at kahit lituhin ang bilang pagkatao mismo ang JavaScript. 576 00:25:37,070 --> 00:25:38,950 >> At ito ay may gawi na kasangkot ang ilang mga palatandaan dolyar 577 00:25:38,950 --> 00:25:41,350 at mga keyword tulad ng dokumento sa mga panaklong dito. 578 00:25:41,350 --> 00:25:44,480 Ngunit muli, hayaan mo akong umayon sa ang ilang mga mas mabagal na mga tutorial online 579 00:25:44,480 --> 00:25:46,750 sa halip na makakuha ng nakatali sa syntax lamang. 580 00:25:46,750 --> 00:25:48,630 Ay lumipat sa Hayaan isang bagay na medyo mas malamig-lamig 581 00:25:48,630 --> 00:25:50,520 sa mga tuntunin ng mga application ng ito. 582 00:25:50,520 --> 00:25:57,730 >> Kaya sa partikular, hayaan mo akong pumunta magpatuloy at magbukas ng mga ito dito. 583 00:25:57,730 --> 00:25:58,340 Halika sa. 584 00:25:58,340 --> 00:25:59,380 May pumunta namin. 585 00:25:59,380 --> 00:26:01,500 >> Hayaan akong buksan up ang larawang ito dito. 586 00:26:01,500 --> 00:26:03,450 Hindi kinakailangan kumplikado naghahanap, ngunit ito 587 00:26:03,450 --> 00:26:07,880 Inilalarawan ng isang diskarte na tinatawag na AJAX-- Asynchronous JavaScript at XML, kung saan 588 00:26:07,880 --> 00:26:10,530 ang X para sa XML ay talagang hindi na talaga gagamitin. 589 00:26:10,530 --> 00:26:13,430 Ito ay may gawi na gamitin ang isang bagay tao na tinatawag na JSON. 590 00:26:13,430 --> 00:26:16,560 >> Ngunit dito ay kung paano ang isang bagay tulad ng Google Maps o Google Earth gumagana. 591 00:26:16,560 --> 00:26:18,060 Subukan ito sa mabilisang, talagang Hayaan. 592 00:26:18,060 --> 00:26:21,590 Hayaan akong sige at buksan up ang Chrome sa aking browser. 593 00:26:21,590 --> 00:26:26,236 >> At hayaan mo akong pumunta sa, sabihin, maps.google.com. 594 00:26:26,236 --> 00:26:29,260 595 00:26:29,260 --> 00:26:31,930 At talagang, kung ikaw ay lumang sapat upang matandaan kung ano, 596 00:26:31,930 --> 00:26:35,600 tulad ng, MapQuest ay tulad pabalik sa araw, at marahil pa rin gumagana ang mga iyon tulad nito. 597 00:26:35,600 --> 00:26:38,870 Kapag ginamit mo upang maghanap para sa something-- 33 Oxford Street, Cambridge, Mass, 598 00:26:38,870 --> 00:26:40,650 ni gawin this-- mong hayaan gagawin talaga, kung 599 00:26:40,650 --> 00:26:43,000 Nais upang mag-pan pataas at pababa, pakaliwa at pakanan, 600 00:26:43,000 --> 00:26:44,920 Gusto mo mukhang isang malaking arrow sa tuktok, at ito 601 00:26:44,920 --> 00:26:46,921 Ipapakita nito sa iyo ng isa pang frame ng mapa dito. 602 00:26:46,921 --> 00:26:49,753 O gusto mong i-click ang sa kaliwa at mo ay pupunta sa paglipas dito, o isa pang pag-click 603 00:26:49,753 --> 00:26:51,000 at gusto mong pumunta sa paglipas dito. 604 00:26:51,000 --> 00:26:53,000 Ngunit sa halip ay mga araw, ng kurso namin lamang 605 00:26:53,000 --> 00:26:55,970 mang-ahas na maaari naming pumunta sa paligid ng Cambridge medyo mabilis 606 00:26:55,970 --> 00:26:57,550 sa pamamagitan lamang ng pag-click at pag-drag. 607 00:26:57,550 --> 00:26:59,130 Ngunit mapansin mayroong ilang mga glitches. 608 00:26:59,130 --> 00:27:02,160 >> Kung gagawin ko ito mabilis sapat, kung ano ang mukhang nangyayari 609 00:27:02,160 --> 00:27:05,960 bilang i-drag ako ng isang maliit na masyadong mabilis para sa mga computer upang panatilihin up? 610 00:27:05,960 --> 00:27:07,160 Ano ang mong makita? 611 00:27:07,160 --> 00:27:07,660 Oo. 612 00:27:07,660 --> 00:27:09,232 >> Madla: Ang pixels huwag i-refresh. 613 00:27:09,232 --> 00:27:10,940 David J. MALAN: Ang pixel huwag i-refresh. 614 00:27:10,940 --> 00:27:12,870 Mayroong actually-- at mo maaaring makita ito, talagang, 615 00:27:12,870 --> 00:27:15,360 kung pinapanood mo sa online at i-pause ito o talagang slows mga bagay pababa 616 00:27:15,360 --> 00:27:18,600 para sa once-- makikita mo na mayroong mga mga tile, kuwadrado, o parihaba na 617 00:27:18,600 --> 00:27:22,040 Nawawala mula sa mapa hanggang sa may split segundo sa ibang pagkakataon, mas maraming data, 618 00:27:22,040 --> 00:27:24,390 higit pang mga larawan aktwal lumitaw sa screen. 619 00:27:24,390 --> 00:27:29,810 At sa katunayan, kung gagawin namin ito sa pamamagitan ng pagtingin up Chrome's-- sabihin nating, Chrome-- 620 00:27:29,810 --> 00:27:30,310 tingnan natin. 621 00:27:30,310 --> 00:27:31,090 Hindi namin maaaring gawin iyon. 622 00:27:31,090 --> 00:27:31,860 >> Oh, naku. 623 00:27:31,860 --> 00:27:34,761 Ni buksan ang maps.google.com Hayaan. 624 00:27:34,761 --> 00:27:36,660 Hayaan akong muli gumawa ng mas malaking window. 625 00:27:36,660 --> 00:27:38,836 >> Bumalik sa 33 Oxford Street. 626 00:27:38,836 --> 00:27:42,010 627 00:27:42,010 --> 00:27:43,760 Ano ang website ko sa kamakailan? 628 00:27:43,760 --> 00:27:46,440 Mayroon akong na ito, tulad ng, mga pribadong sigaw sa sarili ko na gusto kong pagkatapos ay instant message 629 00:27:46,440 --> 00:27:48,470 anumang mga kaibigan na naging online na nais marinig ito. 630 00:27:48,470 --> 00:27:49,345 Mayroong ilang mga website. 631 00:27:49,345 --> 00:27:52,680 Sa tingin ko ito Comcast-- kaya isang napaka-malaki Amerikano ISP. 632 00:27:52,680 --> 00:27:56,355 Maaari mong, kapag nagsa-sign up para sa bagong cable serbisyo modem o cable serbisyo ng TV, 633 00:27:56,355 --> 00:27:59,230 mayroon sila ng isang form napaka-makatwirang kung saan hihilingin sa iyo ang mga ito para sa iyong address. 634 00:27:59,230 --> 00:28:01,450 At mayroon ito ng kamangha-manghang Ang tampok na tinatawag na auto kumpleto, 635 00:28:01,450 --> 00:28:04,600 tulad ng Google, na nagsisimula upang punan sa sagot sa iyong tanong. 636 00:28:04,600 --> 00:28:08,090 >> Ang problema ay, ginagawa nila auto kumpletong sa unang bagay na nagta-type ka. 637 00:28:08,090 --> 00:28:12,890 Kaya kung simulan mo ang pagta-type sa 33, ito ay magpapakita sa iyo literal bawat bahay 638 00:28:12,890 --> 00:28:15,790 sa Amerika na magsisimula kasama ang numero 33 639 00:28:15,790 --> 00:28:17,920 bago magpatuloy sa asahan mong i-type ang nalalaman. 640 00:28:17,920 --> 00:28:20,660 Kaya kung nag-type ka ng 33 Oxford, pagkatapos ay ipinapakita nito sa iyo ang bawat kalye 641 00:28:20,660 --> 00:28:24,726 sa Amerika na may 33 Oxford sa ang pangalan nito, hindi isinasaalang-alang ng bayan 642 00:28:24,726 --> 00:28:25,350 na ikaw ay nasa. 643 00:28:25,350 --> 00:28:26,320 >> At pagkatapos mong patuloy na mag-type. 644 00:28:26,320 --> 00:28:28,930 At sa wakas, napagtanto ng ito na ginagawa nila hindi alok na serbisyo sa iyong bahay sa Cambridge 645 00:28:28,930 --> 00:28:29,920 o isang bagay tulad na. 646 00:28:29,920 --> 00:28:33,410 Ngunit ang punto ay, ito ay ang pinaka tanga pagpapatupad ng auto 647 00:28:33,410 --> 00:28:34,140 kumpletuhin kailanman. 648 00:28:34,140 --> 00:28:36,400 >> At lamang ako ng pagpunta off sa pasapyaw muli. 649 00:28:36,400 --> 00:28:39,040 Ngunit may mga mahusay na paraan upang gamitin ang JavaScript at hindi magandang paraan. 650 00:28:39,040 --> 00:28:40,750 At iyon ang hindi kinakailangan ang pinakamahusay na isa. 651 00:28:40,750 --> 00:28:46,360 >> Ngunit ang punto dito, bago ito mahaba't maapoy na talumpati, ay upang buksan ang tool down na dito 652 00:28:46,360 --> 00:28:49,480 at buksan ang tool ng developer, bilang na hinihikayat namin ang bago, 653 00:28:49,480 --> 00:28:52,840 at upang panoorin ang Network tab bilang i-click ang ko talagang mabilis. 654 00:28:52,840 --> 00:28:55,400 At mapansin ang maramihang ng makuha ang nangyari kahilingan. 655 00:28:55,400 --> 00:28:57,310 Ang lahat ng ito nangyari dahil nag-drag ako. 656 00:28:57,310 --> 00:29:00,170 >> At malamang, sa katunayan ng maraming mga hilera 657 00:29:00,170 --> 00:29:04,060 ngayon ay JPEG slash imahe Mga uri ng MIME o uri ng nilalaman. 658 00:29:04,060 --> 00:29:07,750 Iyon ay dahil sa kung ano ang chrome ay ginagawa sa bawat oras na nag-click ako at i-drag, i-click ang 659 00:29:07,750 --> 00:29:11,650 at i-drag, ay ito ay napagtatanto, oh, ako kailangang pumunta tanungin ang Google para sa tile 660 00:29:11,650 --> 00:29:15,080 sa mapa na higit sa dito, mabilis na i-download ito sa pamamagitan ng HTTP, 661 00:29:15,080 --> 00:29:19,550 at pagkatapos ay idagdag ito sa tinatawag na DOM sa web browser sa puno memory 662 00:29:19,550 --> 00:29:24,430 pagkatawan sa gayon na ang gumagamit, sa akin, na nakikita na-update na tile. 663 00:29:24,430 --> 00:29:26,795 At ito ay dahil sa isang diskarte na tinatawag na AJAX. 664 00:29:26,795 --> 00:29:28,920 Bumalik sa araw, ito talaga ay ang kaso na kung iyong 665 00:29:28,920 --> 00:29:33,050 Nais na baguhin kung ano ang nasa screen, Gusto mong i-click ang pataas, pababa, pakaliwa, 666 00:29:33,050 --> 00:29:33,550 kanan. 667 00:29:33,550 --> 00:29:34,740 At pagkatapos ay isang bagong pahina ay buksan. 668 00:29:34,740 --> 00:29:36,531 Ngunit mga araw na ito, lahat ng bagay ay mas dynamic. 669 00:29:36,531 --> 00:29:40,490 Nangyayari ito sa paraan ng aming mga kawani na tao gagawin Umaasa ito aktwal na gagawin interactive. 670 00:29:40,490 --> 00:29:43,210 At Nakakamit nito ito sa pamamagitan ng paraan ng isang diskarte na tinatawag na 671 00:29:43,210 --> 00:29:46,170 AJAX, na kung saan ay marahil pinakamahusay na ipinaliwanag sa pamamagitan ng isang halimbawa. 672 00:29:46,170 --> 00:29:49,730 Una, sabihin sa akin sige at buksan ang isang file 673 00:29:49,730 --> 00:29:53,540 tinatawag na quote.php sa pamamahagi code ngayon. 674 00:29:53,540 --> 00:29:56,200 >> At pagkatapos ay hayaan mo akong gawin symbol-- Oops. 675 00:29:56,200 --> 00:30:02,399 Hayaan akong gawin simbolo = GOOG para sa ilan lang stock. 676 00:30:02,399 --> 00:30:04,440 O kaya naman talagang, ni gawin ang hayaan ng isa mula sa Pset LIBRE. 677 00:30:04,440 --> 00:30:05,270 Ipasok. 678 00:30:05,270 --> 00:30:06,580 >> At ngayon mapansin kung ano ang nakukuha ko pabalik. 679 00:30:06,580 --> 00:30:09,210 Kaya ito ay isang tunay na maikling PHP file na ako 680 00:30:09,210 --> 00:30:13,210 nagsulat na borrows lamang ang code mula sa pag-andar ng paghahanap ng Pset7 ni 681 00:30:13,210 --> 00:30:17,830 at spits out gamit ang kulot suhay at quotes at pagtatanda ng tutuldok, tila, 682 00:30:17,830 --> 00:30:22,747 presyo sa kasalukuyang stock para sa kumpanya na pumasa ka sa pamamagitan ng get. 683 00:30:22,747 --> 00:30:24,580 Kaya ito ay iba mula sa karamihan ng kung ano ang hindi namin 684 00:30:24,580 --> 00:30:26,496 ginawa na ang paunawa ako Literal pagsigam out 685 00:30:26,496 --> 00:30:27,870 kung ano ang hitsura tulad ng code ng JavaScript. 686 00:30:27,870 --> 00:30:30,020 >> Sa katunayan, ito ay isang JavaScript bagay. 687 00:30:30,020 --> 00:30:34,130 Sa katunayan, upang maging mas malinaw lamang, JavaScript Bagay Notation-- JSON-- 688 00:30:34,130 --> 00:30:38,330 lamang magarbong paraan ng pagsabi na Maaari kumakatawan sa data sa JavaScript magkano 689 00:30:38,330 --> 00:30:41,660 gaya ng magagawa mo sa PHP gamit ang key pares ng halaga. 690 00:30:41,660 --> 00:30:44,270 Kaya kung Nais kong idedeklara isang variable sa JavaScript 691 00:30:44,270 --> 00:30:47,872 sa kumakatawan Zamyla, para sa instance-- isang struct para sa Zamyla-- 692 00:30:47,872 --> 00:30:49,580 at kami tawagan ito mag-aaral, ang variable. 693 00:30:49,580 --> 00:30:53,060 Ang kanyang ID ay isa, bahay ay Winthrop, at pangalan ay Zamyla. 694 00:30:53,060 --> 00:30:55,490 >> Ngunit ko rin magkaroon ng isang hanay ng mga bagay. 695 00:30:55,490 --> 00:30:58,710 Kaya kung gusto ko talaga magkaroon isang array sa JavaScript naglalaman ng 696 00:30:58,710 --> 00:31:01,740 maramihang mga naturang bagay, ito oras na kumakatawan sa mga kawani, 697 00:31:01,740 --> 00:31:04,910 Maaaring mayroon ko ang tatlong chunks ng code muli 698 00:31:04,910 --> 00:31:08,560 upang i-back upang i-back para sa mga tatlong dating miyembro ng kawani. 699 00:31:08,560 --> 00:31:12,201 Kaya ang syntax, medyo katulad ng both-- sa PHP. 700 00:31:12,201 --> 00:31:13,700 Ngunit ito ay partikular na JavaScript. 701 00:31:13,700 --> 00:31:15,940 Ito ay pagtatanda na bagay. 702 00:31:15,940 --> 00:31:17,240 Kaya kung ano ito kapaki-pakinabang para sa? 703 00:31:17,240 --> 00:31:21,580 >> Kung sumulat ako code na spits out JSON-- JavaScript Bagay Notation-- mga bagay-bagay na 704 00:31:21,580 --> 00:31:24,670 Mukhang ganito o mga bagay-bagay na Mukhang istraktura Zamyla ni, 705 00:31:24,670 --> 00:31:27,730 Maaari ko talaga ito gamitin sa mga programa isulat ko. 706 00:31:27,730 --> 00:31:30,660 Hayaan akong pumunta sa ajax0.html. 707 00:31:30,660 --> 00:31:33,310 At ito ay hindi magkano too-- Naisip ibinigay sa Estetika. 708 00:31:33,310 --> 00:31:34,660 Ngunit panoorin kung ano ang mangyayari. 709 00:31:34,660 --> 00:31:37,050 >> Hayaan akong sige at i-type libreng dito. 710 00:31:37,050 --> 00:31:38,490 I-click makakuha ng quote. 711 00:31:38,490 --> 00:31:41,060 At mapansin ang URL ay hindi nagbago. 712 00:31:41,060 --> 00:31:47,250 Pero ginawa ba akong makakuha ng mga pop up sa mukha presyo ng stock ngayon sentimos ng $ 0.15. 713 00:31:47,250 --> 00:31:49,062 Kaya hindi lahat na masama. 714 00:31:49,062 --> 00:31:52,020 Ngunit ang pagkakaiba ay kahit papaano, ang data na ito nang direkta ay dumating pabalik sa akin. 715 00:31:52,020 --> 00:31:54,250 Ngunit tumagal ng isang hakbang patungo sa ipaalam isang bagay na mas pamilyar. 716 00:31:54,250 --> 00:31:58,900 Sa bersyon ng isa sa mga ito, ipaalam sa akin -type libreng muli, i-click ang Kumuha ng quote, 717 00:31:58,900 --> 00:32:01,146 at now-- oh, ito ay talaga ang bersyon jQuery. 718 00:32:01,146 --> 00:32:03,270 Kaya ipaalam me-- ko ang hindi -fast-forward Medyo malayo sapat. 719 00:32:03,270 --> 00:32:05,830 Hayaan akong pumunta sa bersyon dalawa, na kung saan ako gusto. 720 00:32:05,830 --> 00:32:07,260 Pansinin kung ano ang iyong ginawa ko dito. 721 00:32:07,260 --> 00:32:10,370 Mayroon akong isang web page-- super simpleng bersyon ng anumang web page 722 00:32:10,370 --> 00:32:14,260 maaari mong gamitin ngayon sa isang field ng teksto dito para sa libre at pagkatapos ay tila lamang 723 00:32:14,260 --> 00:32:14,880 teksto. 724 00:32:14,880 --> 00:32:16,860 >> Ito ay hindi isang form dito, tila. 725 00:32:16,860 --> 00:32:19,360 Ngunit kung nag-click ako makakakuha quote, mapansin ang aking web page 726 00:32:19,360 --> 00:32:22,760 ay tungkol sa upang baguhin waring ko Nalaman lamang ng isang bagong instant message 727 00:32:22,760 --> 00:32:25,360 o bilang bagaman ko lang ang inilipat sa -map at kailangan upang makakuha ng higit pang data 728 00:32:25,360 --> 00:32:29,220 pabagu-bagong idinagdag sa web page nang walang pagpapalit ng URL at ang gumagamit 729 00:32:29,220 --> 00:32:30,980 karanasan nagsisimula nagambala. 730 00:32:30,980 --> 00:32:35,750 Sa katunayan, ako pa rin sa eksaktong parehong place-- ajax2.html. 731 00:32:35,750 --> 00:32:39,080 >> Kaya tingnan lamang sa halimbawang ito ipaalam at makita kung paano ito ang nangyayari. 732 00:32:39,080 --> 00:32:42,490 Hayaan akong pumunta sa ajax2.html. 733 00:32:42,490 --> 00:32:44,770 At mapansin muna ang form na ito. 734 00:32:44,770 --> 00:32:47,092 >> Down dito, ako ko pag -off ang auto kumpleto. 735 00:32:47,092 --> 00:32:48,800 Minsan ay nakakakuha ito nakakainis kung ang browser 736 00:32:48,800 --> 00:32:50,508 Sinusubukan upang ipakita sa iyo ang iyong buong kasaysayan. 737 00:32:50,508 --> 00:32:53,450 Kaya maaari mo itong gawin sa pamamagitan ng HTML lamang sinasabi auto makumpleto off. 738 00:32:53,450 --> 00:32:57,290 >> Ibinigay ko ang tekstong field ng symbol-- sa halip, isang ID ng simbolo. 739 00:32:57,290 --> 00:32:58,977 At ngayon, ito ay isang kawili-wiling tampok na ito. 740 00:32:58,977 --> 00:33:01,310 Hindi pa kami usapan tungkol span, ngunit maaari mong isipin ang tungkol dito 741 00:33:01,310 --> 00:33:03,177 tulad ng isang tag talata o div tag. 742 00:33:03,177 --> 00:33:05,010 Ito ay kung ano ang tinatawag na isang in-line na elemento, na 743 00:33:05,010 --> 00:33:07,415 ay nangangahulugan hindi ka makakakuha ng isang talata masira sa itaas at sa ibaba nito. 744 00:33:07,415 --> 00:33:11,530 Lamang Ito ay mamamalagi in-line na walang ng pagpindot sa pindutang katumbas ng maglagay. 745 00:33:11,530 --> 00:33:17,980 Kaya binigyan ko ang tipak ng HTML upang matukoy ang isang natatanging identifier 746 00:33:17,980 --> 00:33:20,130 nagkataon na ako na tinatawag na presyo. 747 00:33:20,130 --> 00:33:21,560 At mayroon akong isang pindutan Isumite. 748 00:33:21,560 --> 00:33:25,420 >> Dahil ngayon up here-- at ito ay talaga sobrang nakamamangha kung gaano kaunting code 749 00:33:25,420 --> 00:33:27,660 maaari kang sumulat sa gawin medyo kapong baka things-- 750 00:33:27,660 --> 00:33:31,800 mapansin kung ano ang iyong ginawa ko dito kung ako mag-scroll pataas sa ulo ng pahinang ito. 751 00:33:31,800 --> 00:33:34,970 Unang sa Isinama ko aking ulo ng isang script tag 752 00:33:34,970 --> 00:33:37,410 na aktwal na Sumasangguni ng JavaScript-file sa ibang lugar. 753 00:33:37,410 --> 00:33:39,702 Ito ay mula sa mga organisasyon na nagsusulat ng jQuery, 754 00:33:39,702 --> 00:33:42,660 at ito ay lamang ng pagbibigay sa iyo ng pinakabagong bersyon ng kanilang jQuery library. 755 00:33:42,660 --> 00:33:46,305 >> Kaya ito ay uri ng tulad ng matalim Kasama sa C o mangailangan sa PHP. 756 00:33:46,305 --> 00:33:48,900 Gamitin mo ang script tag may isang pinagmulan ng katangian. 757 00:33:48,900 --> 00:33:52,030 Ngunit ngayon ang aking sariling mga code ay magiging tama sa dito. 758 00:33:52,030 --> 00:33:54,170 >> Pansinin Mayroon akong isang function na tinatawag na Quote. 759 00:33:54,170 --> 00:33:56,180 At mukha itong isang maliit na misteryosong sa unang tingin. 760 00:33:56,180 --> 00:33:57,305 Ngunit ang mang-ulol ito hiwalayin ipaalam. 761 00:33:57,305 --> 00:33:59,090 Bigyan mo ako ng URL sa isang variable na tinatawag. 762 00:33:59,090 --> 00:34:01,390 Magtalaga ito literal ang string na ito. 763 00:34:01,390 --> 00:34:04,530 Kaya, solong panipi, i-double quote sa Binibigyan lang ng JavaScript ako ng string. 764 00:34:04,530 --> 00:34:06,900 Ano ang ginagawa ng plus gawin? 765 00:34:06,900 --> 00:34:08,199 Pagdudugtong. 766 00:34:08,199 --> 00:34:12,610 >> Kaya ito ngayon ang jQuery syntax na kumukuha ng isang maliit na nagsisimula ginagamit upang. 767 00:34:12,610 --> 00:34:18,310 Ngunit ito ay nangangahulugan pumunta lamang makakuha ako ng DOM node na ang natatanging identifier ay simbolo. 768 00:34:18,310 --> 00:34:21,929 Ang hashtag may ibig sabihin natatanging tagatukoy ng simbolo. 769 00:34:21,929 --> 00:34:24,929 >> Ang dollar sign sa panaklong ibig sabihin lang, balutin ito 770 00:34:24,929 --> 00:34:28,510 sa jQuery isang uri ng lihim na sauce kaya makakakuha ka ng karagdagang pag-andar. 771 00:34:28,510 --> 00:34:31,880 At pagkatapos ay .val ay tila isang function, o bilang sabihin namin ngayon, 772 00:34:31,880 --> 00:34:35,219 isang paraan sa loob ng node na lamang nagbibigay sa iyo ng ang halaga. 773 00:34:35,219 --> 00:34:38,896 Kaya sa maikling, pangit at nakalilito bilang na ito ay tumitingin sa unang tingin, 774 00:34:38,896 --> 00:34:42,020 ito lamang ay nangangahulugan na makakuha ng user type sa, ilagay ito sa dulo ng string 775 00:34:42,020 --> 00:34:42,880 sa pamamagitan ng concatenating ito. 776 00:34:42,880 --> 00:34:43,739 Iyon lang. 777 00:34:43,739 --> 00:34:46,070 >> Kaya ngayon, huling tatlong linya. 778 00:34:46,070 --> 00:34:48,690 Maaari mong kurutin ng maraming -andar out sa tatlong linya. 779 00:34:48,690 --> 00:34:52,199 Ang sign dolyar, bilang isang bukod, ay isang palayaw lamang 780 00:34:52,199 --> 00:34:55,800 para sa isang espesyal na global variable Literal na tinatawag na jQuery. 781 00:34:55,800 --> 00:34:57,060 >> Dollar sign hitsura cool na lang. 782 00:34:57,060 --> 00:35:00,080 Kaya lamang uri ng komunidad jQuery ng ginagamit ito bilang kanilang espesyal na simbolo. 783 00:35:00,080 --> 00:35:02,470 Hindi ito ang ibig sabihin kung ano ang ibig sabihin nito sa PHP. 784 00:35:02,470 --> 00:35:06,356 Sa JavaScript, dollar sign ay tulad ng isang titik ng alpabetong 785 00:35:06,356 --> 00:35:07,480 o isang numero para sa isang variable. 786 00:35:07,480 --> 00:35:09,000 >> Maaari kang magkaroon ng lang ito ng pangalan. 787 00:35:09,000 --> 00:35:09,770 Mukhang cool na lang. 788 00:35:09,770 --> 00:35:11,890 Kaya ang komunidad pinagtibay ito bilang palayaw 789 00:35:11,890 --> 00:35:13,390 para sa kanilang sariling library na tinatawag na jQuery. 790 00:35:13,390 --> 00:35:15,060 >> At ito ay napaka-tanyag. 791 00:35:15,060 --> 00:35:17,620 Kaya makakuha ng JSON ay eksaktong iyon. 792 00:35:17,620 --> 00:35:19,920 Ito ay isang function na ang kakailanganin ng mga tao sa jQuery ay nagsulat 793 00:35:19,920 --> 00:35:23,340 na nakakakuha JSON mula sa isang server-- JavaScript Bagay pagtatanda. 794 00:35:23,340 --> 00:35:25,680 Mula sa kung ano ang URL naman upang makakuha ng impormasyon na iyon? 795 00:35:25,680 --> 00:35:27,790 Sa malas mula sa URL na ito dito. 796 00:35:27,790 --> 00:35:31,180 >> At ano ang dapat gawin sa browser bilang lalong madaling ito ay makakakuha ng pabalik ang tugon na ito? 797 00:35:31,180 --> 00:35:36,500 At ito ay ang magic ng AJAX, kaya upang speak-- Asynchronous JavaScript sa XML. 798 00:35:36,500 --> 00:35:41,320 Ito ay mabuti upang makita na may tulad na isang simpleng halimbawa bilang namin ay may dito. 799 00:35:41,320 --> 00:35:44,730 >> Ngunit ito ay asynchronous sa kamalayan na ang aking code kapag 800 00:35:44,730 --> 00:35:48,530 isagawa nagpadala ng mensahe sa server upang pumunta makakuha ng sa akin ang ilang JSON. 801 00:35:48,530 --> 00:35:51,340 At ito ay nangyari sobrang bilis na Nakatanggap ako ng tugon. 802 00:35:51,340 --> 00:35:55,130 Ngunit kung ano ang kawili-wiling ay na ito linya ng code ay hindi mag-tambay sa aking computer. 803 00:35:55,130 --> 00:35:56,550 >> Hindi ko nakita ang isang umiikot na icon. 804 00:35:56,550 --> 00:35:59,200 Hindi ko mawala ang kakayahang maglipat ng aking mouse. 805 00:35:59,200 --> 00:36:01,340 Aking browser ay aktwal na ganap na multa. 806 00:36:01,340 --> 00:36:06,290 >> Dahil sa paraan ng JavaScript pinangangasiwaan ang tugon mula sa server ay ang mga sumusunod. 807 00:36:06,290 --> 00:36:09,740 Irehistro mo kung ano ang nais mong tawagan ng callback, na 808 00:36:09,740 --> 00:36:12,830 Nangangahulugan lamang, hey, JavaScript. 809 00:36:12,830 --> 00:36:16,100 Sa sandaling ang server tumugon sa JSON, 810 00:36:16,100 --> 00:36:18,750 mangyaring tawagan ang hindi kilalang pag-andar na ito. 811 00:36:18,750 --> 00:36:23,910 >> At mangyaring pumasa sa sa function na ito anumang string sabihin ang lahat ng server 812 00:36:23,910 --> 00:36:26,080 bilang isang argument na tinatawag na data. 813 00:36:26,080 --> 00:36:28,360 Kaya sa iba pang, mga salita, kung Pabago-bago ako assembling 814 00:36:28,360 --> 00:36:33,370 isang URL quote.php pagpasa sa simbolo tulad ng LIBRENG o GOOG o watnat, 815 00:36:33,370 --> 00:36:36,830 Pagkatapos ay ako na nagsasabi JavaScript pumunta makakuha ng URL na iyon. 816 00:36:36,830 --> 00:36:39,080 Tandaan na ang browser Mawawala upang magbalik ng bagay 817 00:36:39,080 --> 00:36:42,680 na kamukha ng nakita natin earlier-- na ito. 818 00:36:42,680 --> 00:36:45,940 >> At kung ano ang pangalawang argumento dito upang makakuha ng JSON ay sinasabi 819 00:36:45,940 --> 00:36:48,450 ay tawagan ang function na ito kapag ang nakakakuha ng server pabalik 820 00:36:48,450 --> 00:36:52,440 ito man 10 millisecond mula ngayon o 10 segundo mula ngayon. 821 00:36:52,440 --> 00:36:55,840 At sa lalong madaling gawin mo, idagdag ang presyo sa pahina. 822 00:36:55,840 --> 00:36:58,030 Syntax na ito dito lang ay nangangahulugan pumunta makuha ang node 823 00:36:58,030 --> 00:37:01,940 mula sa puno na ang natatanging identifier ay price-- na span nakita namin nang mas maaga. 824 00:37:01,940 --> 00:37:04,320 >> Ang pamamaraan na ito na tinatawag na HTML lamang sabi ni, pumunta palitan 825 00:37:04,320 --> 00:37:08,770 ang HTML na makikita sa data.price. 826 00:37:08,770 --> 00:37:10,200 Ano ang data.price? 827 00:37:10,200 --> 00:37:12,850 Well, sa browser, isipin, Nagpakita sa akin ito bumabalik. 828 00:37:12,850 --> 00:37:14,540 Kaya ito ay data. 829 00:37:14,540 --> 00:37:18,100 >> At kaya ito ay isang maliit na misteryosong upang makita ang mga kuwit dito. 830 00:37:18,100 --> 00:37:19,350 Ngunit sa katunayan, hayaan mo akong gawin ito. 831 00:37:19,350 --> 00:37:22,890 Hayaan ang i-paste sa akin lang ito tunay mabilis sa gedit 832 00:37:22,890 --> 00:37:27,240 at ipakita ito tulad namin ay nagpakita ng Mas maaga istraktura Zamyla ni. 833 00:37:27,240 --> 00:37:31,610 >> Ano ang server ay pagpapadala sa likod ay isang maliit na bagay na ganito ang hitsura. 834 00:37:31,610 --> 00:37:37,140 At kaya data.price ay lamang ng pagbibigay sa akin 0.1515. 835 00:37:37,140 --> 00:37:39,310 Kaya ng maraming gumagalaw bahagi dito ang lahat nang sabay-sabay. 836 00:37:39,310 --> 00:37:41,860 >> Ngunit ang key takeaways ay mayroon kaming ito kakayahan 837 00:37:41,860 --> 00:37:44,600 upang gumawa ng mga karagdagang HTTP mga kahilingan gamit ang JavaScript 838 00:37:44,600 --> 00:37:46,090 nang hindi na kinakailangang i-reload ang pahina. 839 00:37:46,090 --> 00:37:49,580 At pagkatapos ay aming makakaya aktwal baguhin ang web page sa mabilisang. 840 00:37:49,580 --> 00:37:51,850 At ito ay lumiliko out na JavaScript at iba pang mga wika 841 00:37:51,850 --> 00:37:54,510 ay maaaring magamit ngayon ay hindi lamang upang mutate mga web page, 842 00:37:54,510 --> 00:37:57,960 ngunit upang aktwal na magsulat ng software sa isang aktwal na computer, 843 00:37:57,960 --> 00:38:00,240 hindi lamang nakakulong sa Chrome o mga katulad. 844 00:38:00,240 --> 00:38:03,530 >> Sa katunayan, if-- Colton, gusto mo bang sumali sa amin back up dito 845 00:38:03,530 --> 00:38:06,100 gamit ang iyong code lab, at Chang pati na rin? 846 00:38:06,100 --> 00:38:09,140 Sabihin sige, pag-usapan ang tungkol sa hindi kilalang function at callback 847 00:38:09,140 --> 00:38:13,090 at talagang tuksuhin kapalaran dito may live na demo na may dumudugo 848 00:38:13,090 --> 00:38:16,480 teknolohiya gilid, isa sa aparato ang mga piling tao ng Paggalaw. 849 00:38:16,480 --> 00:38:18,940 Ngayon, ang device na ito, pagpapabalik, ay isang maliit na USB device 850 00:38:18,940 --> 00:38:25,620 pati na rin that-- na beautiful-- na plug in sa iyong USB port. 851 00:38:25,620 --> 00:38:29,120 >> At pagkatapos ay nagbibigay ito ng pag-input sa anyo ng mga galaw ng tao 852 00:38:29,120 --> 00:38:32,560 sa pamamagitan ng paghanap gamit ang infrared beam, mahalagang, paggalaw mula sa iyong braso. 853 00:38:32,560 --> 00:38:35,150 Kaya kung saan ang kung ano ang Sinubukan Maria sa bago noon ay malakas, 854 00:38:35,150 --> 00:38:39,000 aktwal na pakiramdam kung ano ang pagbabago iyong braso, ito ang infrared na batay. 855 00:38:39,000 --> 00:38:44,390 Kaya ito ay naghahanap ng mga paggalaw sa loob ng ang uri ng globo ng isang paa o kaya 856 00:38:44,390 --> 00:38:46,190 ng aparato mismo. 857 00:38:46,190 --> 00:38:48,950 >> Kaya bakit hindi ako tumagal isang pag-iwa sa unang na ito? 858 00:38:48,950 --> 00:38:53,100 At sa sige at itapon ipaalam up mo sa overhead dito. 859 00:38:53,100 --> 00:38:56,250 Kaya maglagay ng laptop Colton ni dito ipaalam. 860 00:38:56,250 --> 00:38:58,360 Mayroon kaming Andrew sa TV. 861 00:38:58,360 --> 00:39:00,160 At kung ano ang gusto mong sa akin upang gawin unang? 862 00:39:00,160 --> 00:39:02,409 >> Colton: Sige lang ilagay ang iyong kamay sa paglipas ng ito tao 863 00:39:02,409 --> 00:39:04,430 at makikita mo ang ilang kamangha-manghang mga kuminang. 864 00:39:04,430 --> 00:39:07,230 >> David J. MALAN: Bihirang mabait. 865 00:39:07,230 --> 00:39:11,110 Ito ay nangyayari sa lahat sa real time. 866 00:39:11,110 --> 00:39:11,889 OK. 867 00:39:11,889 --> 00:39:12,680 Ang lahat ng mga karapatan, at yep. 868 00:39:12,680 --> 00:39:14,119 Kaya mabait. 869 00:39:14,119 --> 00:39:15,410 Ang lahat ng mga karapatan, kung ano pa ang maaari naming gawin? 870 00:39:15,410 --> 00:39:17,900 >> Colton: Pumunta sa susunod na screen at makita. 871 00:39:17,900 --> 00:39:19,136 >> David J. MALAN: Lahat ng karapatan. 872 00:39:19,136 --> 00:39:21,780 >> Colton: Ang isang masaya maliit na laro kung saan mo makakuha upang gumawa ng mga robot. 873 00:39:21,780 --> 00:39:24,738 >> David J. MALAN: Lahat ng karapatan, kaya ito ay pekeng kamay na nagpapakita sa akin kung ano ang gagawin. 874 00:39:24,738 --> 00:39:27,920 Colton: Oo Kaya sige lang at grab ang isa sa mga bloke 875 00:39:27,920 --> 00:39:30,637 at ilagay ito sa itaas ng katawan na robot ni. 876 00:39:30,637 --> 00:39:32,137 David J. MALAN: Oh, mayroong aking kamay. 877 00:39:32,137 --> 00:39:34,000 Oh. 878 00:39:34,000 --> 00:39:34,780 OK, karapat-dapat sambahin. 879 00:39:34,780 --> 00:39:37,500 880 00:39:37,500 --> 00:39:38,650 Maghintay ng isang minuto, OK. 881 00:39:38,650 --> 00:39:41,320 May pumunta namin. 882 00:39:41,320 --> 00:39:43,590 >> Colton: ginawa ko ang isa sa aksidente. 883 00:39:43,590 --> 00:39:45,423 >> David J. MALAN: OK, magagawa ko na ito tao. 884 00:39:45,423 --> 00:39:45,923 Diyablo! 885 00:39:45,923 --> 00:39:48,467 886 00:39:48,467 --> 00:39:51,550 Kapag kami ay pagsasanay na ito noong nakaraang gabi, alam mo kung ano ang devolved sa? 887 00:39:51,550 --> 00:39:54,285 >> Tulad ito. 888 00:39:54,285 --> 00:39:55,490 OK. 889 00:39:55,490 --> 00:39:55,990 Susunod isa? 890 00:39:55,990 --> 00:39:56,860 >> Colton: Oo naman. 891 00:39:56,860 --> 00:39:58,818 >> David J. MALAN: Lahat ng karapatan, at mayroong isang third. 892 00:39:58,818 --> 00:40:01,130 893 00:40:01,130 --> 00:40:01,674 Lahat ng karapatan. 894 00:40:01,674 --> 00:40:03,215 Colton: At sa isang ito, mo makakuha ng to-- 895 00:40:03,215 --> 00:40:04,923 David J. MALAN: Oh, isa ito maganda. 896 00:40:04,923 --> 00:40:06,650 Colton: --yeah, pumili hiwalayin ito ng bulaklak. 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 Walang? 900 00:40:11,670 --> 00:40:14,515 Hindi nasagot. 901 00:40:14,515 --> 00:40:15,570 >> Colton: Oh, mayroong kang pumunta. 902 00:40:15,570 --> 00:40:18,680 >> David J. MALAN: Ah, Tumingin sa iyon. 903 00:40:18,680 --> 00:40:19,830 Tunay na mabait. 904 00:40:19,830 --> 00:40:22,470 Well, bakit wala 'kinukuha namin ang isang volunteer dito 905 00:40:22,470 --> 00:40:24,180 na nais na dumating sa up. 906 00:40:24,180 --> 00:40:27,500 Paano ang tungkol doon sa berdeng, ito? 907 00:40:27,500 --> 00:40:30,540 >> Ang lahat ng mga karapatan, at sabihin have-- sa halip ng paggawa na, ang ilan sa iyo 908 00:40:30,540 --> 00:40:34,590 maaaring kilala sa larong ito here-- kunin ang mga lubid, marahil? 909 00:40:34,590 --> 00:40:35,100 Tingnan natin Hayaan. 910 00:40:35,100 --> 00:40:37,320 Mayroon kaming aming mga salamin sa ibabaw dito? 911 00:40:37,320 --> 00:40:38,625 >> OK. 912 00:40:38,625 --> 00:40:39,270 Salamat sa inyo. 913 00:40:39,270 --> 00:40:39,380 Ano ang inyong pangalan? 914 00:40:39,380 --> 00:40:40,350 >> Madla: Laura. 915 00:40:40,350 --> 00:40:41,266 >> David J. MALAN: Laura? 916 00:40:41,266 --> 00:40:42,120 Nice upang makita. 917 00:40:42,120 --> 00:40:45,600 Kung hindi tututol kayo ng paglalagay Google Glass sa iyong mga salamin sa mata. 918 00:40:45,600 --> 00:40:46,970 Ito ay Colton. 919 00:40:46,970 --> 00:40:47,650 >> Colton: Hi. 920 00:40:47,650 --> 00:40:48,140 Masaya akong makilala kayo. 921 00:40:48,140 --> 00:40:49,600 >> David J. MALAN: OK, dumating sa paligid. 922 00:40:49,600 --> 00:40:52,516 Ang lahat ng mga karapatan, kaya kung ano ang iyong pagpunta sa gawin dito, ang pag-play ito bago, 923 00:40:52,516 --> 00:40:55,650 ay ilagay ang iyong kamay sa ibabaw ang Leap Motion dito. 924 00:40:55,650 --> 00:40:57,210 At ngayon ay dapat ilipat ang iyong arrow. 925 00:40:57,210 --> 00:40:57,710 Oh, nope. 926 00:40:57,710 --> 00:40:58,066 >> Madla: Hindi. 927 00:40:58,066 --> 00:40:58,780 >> David J. MALAN: Aming ayaw pa upang lumabas. 928 00:40:58,780 --> 00:40:59,280 OK, maghintay. 929 00:40:59,280 --> 00:41:01,200 Sa paglipas dito. 930 00:41:01,200 --> 00:41:03,530 Kaya abiso bilang hawak mo ang iyong daliri sa ibabaw ng isang bagay, 931 00:41:03,530 --> 00:41:06,750 Nagsisimula ang mouse upang pumunta berde, na kung saan ay kung paano mo i-click. 932 00:41:06,750 --> 00:41:08,980 >> Kaya mag-hover sa play. 933 00:41:08,980 --> 00:41:10,970 At daliri isa lamang ay multa. 934 00:41:10,970 --> 00:41:13,869 At ngayon mag-click sa maliit na berdeng tao sa kaliwa. 935 00:41:13,869 --> 00:41:15,410 At ngayon matagal hanggang sa ito ay pumupuno up berde. 936 00:41:15,410 --> 00:41:15,640 Mahusay. 937 00:41:15,640 --> 00:41:16,990 Ngayon, tulad ng, antas ng isa hanggang tuktok. 938 00:41:16,990 --> 00:41:20,190 >> Madla: Oo, gusto naming antas ng isa, dito. 939 00:41:20,190 --> 00:41:21,660 >> David J. MALAN: Mahusay. 940 00:41:21,660 --> 00:41:25,500 OK, kaya ang kailangan mo gawin ay kunin ang mga lubid. 941 00:41:25,500 --> 00:41:28,240 Ang iyong cursor ang isang puting down na doon. 942 00:41:28,240 --> 00:41:28,880 >> Tunay na mabait. 943 00:41:28,880 --> 00:41:31,290 944 00:41:31,290 --> 00:41:32,790 Ang lahat ng mga karapatan, ito ay tungkol sa upang makakuha ng mas mahirap. 945 00:41:32,790 --> 00:41:34,800 Kaya pindutin nang matagal ang iyong daliri sa ibabaw ng susunod na ngayon. 946 00:41:34,800 --> 00:41:37,370 947 00:41:37,370 --> 00:41:39,030 Mahusay. 948 00:41:39,030 --> 00:41:39,999 Isa ito mahirap. 949 00:41:39,999 --> 00:41:40,966 >> Madla: Oh tae. 950 00:41:40,966 --> 00:41:41,466 OK. 951 00:41:41,466 --> 00:41:42,466 Nais ni ito upang pumunta na paraan. 952 00:41:42,466 --> 00:41:44,890 Oh tae, that-- 953 00:41:44,890 --> 00:41:47,120 >> David J. MALAN: Oo. 954 00:41:47,120 --> 00:41:50,700 Pangalawang layunin ay upang makakuha ng lahat ng mga bituin. 955 00:41:50,700 --> 00:41:53,920 Ang lahat ng mga karapatan, sa susunod. 956 00:41:53,920 --> 00:41:57,504 >> Tingnan natin kung maaari kang makakuha ng mga third isa ito Hayaan. 957 00:41:57,504 --> 00:41:58,004 Mahusay. 958 00:41:58,004 --> 00:42:05,980 959 00:42:05,980 --> 00:42:06,840 OK, pumunta doon. 960 00:42:06,840 --> 00:42:08,850 >> Oo naman. 961 00:42:08,850 --> 00:42:11,230 Oh, napaka-mabait. 962 00:42:11,230 --> 00:42:11,930 Lahat ng karapatan. 963 00:42:11,930 --> 00:42:13,534 >> Kaya bakit hindi namin itindig dito ngayon? 964 00:42:13,534 --> 00:42:15,200 Hayaan ang sinuman dumating sa up ng gustong maglaro. 965 00:42:15,200 --> 00:42:16,880 Kaya magkano ang Laura aming mga boluntaryong Salamat. 966 00:42:16,880 --> 00:42:18,730 At kami ay nakikita mo sa Lunes. 967 00:42:18,730 --> 00:42:21,190 >> Madla: marahil gusto mo ang mga pabalik. 968 00:42:21,190 --> 00:42:23,640 >> Tagapagsalita 2: Sa susunod na CS50-- 969 00:42:23,640 --> 00:42:35,222