1 00:00:00,000 --> 00:00:01,940 >> [Music kucheza] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID Malan: Hii ni CS 50, na huu ni mwanzo wa wiki tisa. 4 00:00:14,620 --> 00:00:18,240 Na nini sisi mawazo tunatarajia kufanya leo siyo tu karibu sura juu ya wiki iliyopita 5 00:00:18,240 --> 00:00:22,670 nyenzo ambapo sisi ililenga server upande mtandao programu kwa PHP na SQL, 6 00:00:22,670 --> 00:00:23,549 baadhi ya mambo database. 7 00:00:23,549 --> 00:00:25,590 Tutaweza majadiliano juu ya kidogo ya usalama leo na kisha 8 00:00:25,590 --> 00:00:29,590 mpito kwa programu upande wa mteja Lugha inayojulikana kama JavaScript. 9 00:00:29,590 --> 00:00:31,330 Lakini kwanza, baadhi ya ukombozi. 10 00:00:31,330 --> 00:00:35,030 >> Unaweza kukumbuka kuwa juu ya Jumatano, mimi yaliyowekwa 11 00:00:35,030 --> 00:00:37,550 kuandika tovuti ya kwamba alichukua katika pembejeo mtumiaji 12 00:00:37,550 --> 00:00:41,120 na HTML fomu kwamba kisha kuhifadhiwa kwamba majina pembejeo user, simu 13 00:00:41,120 --> 00:00:43,124 namba, na simu ya mkononi flygbolag katika database. 14 00:00:43,124 --> 00:00:45,540 Na kisha mimi alikuwa na amri kidogo line script imeandikwa katika PHP 15 00:00:45,540 --> 00:00:47,956 kwamba ilitakiwa iterate juu ya safu katika database 16 00:00:47,956 --> 00:00:49,400 na kutuma nje ujumbe wa maandishi. 17 00:00:49,400 --> 00:00:53,870 Licha kadhaa, majaribio kadhaa, sisi hakuwa na kupata kwamba kazi na mwisho. 18 00:00:53,870 --> 00:00:57,820 >> Hivyo mimi alitumia wiki hii nzima kazi juu ya kwamba kanuni kupata yetu nyuma hatua 19 00:00:57,820 --> 00:01:01,220 ambapo sisi kushoto mbali, ambapo yote I got na mwisho wa Jumatano 20 00:01:01,220 --> 00:01:05,500 ilikuwa ujumbe huu wa maandishi kutoka Margo kama mimi Jihadi, 21 00:01:05,500 --> 00:01:09,940 ikifuatiwa na ujumbe wa maandishi kutoka mwingine classmate, Nimepata hii Daudi. 22 00:01:09,940 --> 00:01:14,030 Ikifuatiwa na hii moja, ajabu kutia moyo. 23 00:01:14,030 --> 00:01:15,840 Agizo juu ya kwenda, kutia moyo sana. 24 00:01:15,840 --> 00:01:20,960 Mimi karibu got ni mpaka then-- na hiyo ni kumbuka sisi kumalizika siku ya Jumatano. 25 00:01:20,960 --> 00:01:25,850 Na kisha kweli labda favorite yangu, wakati baadaye, hii alikuja katika. 26 00:01:25,850 --> 00:01:27,000 Damn kuishi mkondo. 27 00:01:27,000 --> 00:01:31,080 >> Hivyo leo, sisi kurekebisha hili na haraka kuangalia nini mimi tumefanya tangu. 28 00:01:31,080 --> 00:01:35,440 Basi wote wa hii kanuni ya inapatikana online kutoka wiki iliyopita, wiki nane, 29 00:01:35,440 --> 00:01:36,300 chanzo code. 30 00:01:36,300 --> 00:01:39,425 Na utaona kwamba nilikwenda kupitia, na mimi kwa kweli kusafishwa up mambo kidogo. 31 00:01:39,425 --> 00:01:42,080 Mimi ilianzisha wanandoa nyingine makala ya SQL database. 32 00:01:42,080 --> 00:01:45,300 Kwa mfano, badala ya tu kufanya carrier ya var Char 33 00:01:45,300 --> 00:01:47,310 kama Nadhani alifanya juu ya kuruka wiki iliyopita. 34 00:01:47,310 --> 00:01:49,820 Mimi badala defined kama kile kinachoitwa enum. 35 00:01:49,820 --> 00:01:53,310 >> Na baadhi ya unaweza kuwa na kuonekana hii kama sisi Kugundua C. Enum ni kweli 36 00:01:53,310 --> 00:01:56,820 hulka ya C ambapo unaweza enumerate rundo zima la constants 37 00:01:56,820 --> 00:01:59,640 na hawawajui yao maadili moja kwa moja, kama moja, mbili, tatu, nne 38 00:01:59,640 --> 00:02:01,330 bila ya kuwa na namba ngumu kificho. 39 00:02:01,330 --> 00:02:04,780 Hivyo SQL inasaidia huo, ambapo kama una uwanja database kwamba tu 40 00:02:04,780 --> 00:02:09,389 wanataka kuchukua moja ya finite maadili, unaweza literally bayana ni 41 00:02:09,389 --> 00:02:13,120 kama nimefanya huko kwa wanne maarufu Marekani Mkono flygbolag. 42 00:02:13,120 --> 00:02:13,819 >> Hivyo mimi alifanya hivyo. 43 00:02:13,819 --> 00:02:16,610 Na mimi alifanya idadi ya mabadiliko kama vizuri, muhimu zaidi ya ambayo 44 00:02:16,610 --> 00:02:20,090 ilikuwa kupata email kufanya kazi kwa sababu wanakumbuka, kwamba mpango huu kutegemewa ambayo 45 00:02:20,090 --> 00:02:23,470 ujumla aitwaye email SMS gateway, ambayo ni tu 46 00:02:23,470 --> 00:02:27,670 njia dhana ya kusema kwamba Verizon, na AT & T, na folks nyingine kusaidia server, 47 00:02:27,670 --> 00:02:30,740 ambapo kama inayopata email, ni waongofu kwa SMS 48 00:02:30,740 --> 00:02:33,290 na kuzituma nje Nakala ujumbe kwa simu ya mtu. 49 00:02:33,290 --> 00:02:37,010 Hivyo kama mimi alifanya hivyo kwa usahihi, hapa ni mpya na kuboresha fomu 50 00:02:37,010 --> 00:02:39,259 kwamba ni kwenda kuzungumza na mpya na kuboreshwa code, ambayo 51 00:02:39,259 --> 00:02:40,300 unaweza kucheza na online. 52 00:02:40,300 --> 00:02:44,140 Na itakuwa hopefully kufanya yangu simu beep katika muda tu. 53 00:02:44,140 --> 00:02:47,240 >> Hivyo kwanza, mimi nina kwenda aina katika jina langu. 54 00:02:47,240 --> 00:02:51,400 Pili, mimi si kwenda kufanya hili wakati huu. 55 00:02:51,400 --> 00:02:53,920 Mimi nina kwenda kufanya Kukagua kipengele. 56 00:02:53,920 --> 00:02:56,710 Na hii ni kitu kidogo ili mimi si 57 00:02:56,710 --> 00:02:59,250 kujenga masaa ya uzalishaji baada kazi kama mimi mara ya mwisho. 58 00:02:59,250 --> 00:03:02,300 Sasa kuna simu yangu ya simu. 59 00:03:02,300 --> 00:03:03,560 >> Mimi itabidi kuchagua Verizon. 60 00:03:03,560 --> 00:03:10,260 Na hapa, hebu kurejea kwenye kipaza sauti hii hapa, na lengo hili katika simu yangu hapa. 61 00:03:10,260 --> 00:03:13,130 Mimi nina kwenda bonyeza Daftari, ambayo lazima hopefully 62 00:03:13,130 --> 00:03:14,530 kuiweka katika database. 63 00:03:14,530 --> 00:03:16,780 Sasa mimi nina kwenda kwa mstari amri mpango, ambayo 64 00:03:16,780 --> 00:03:20,825 wanakumbuka aliitwa dot slash maandishi, na kuvuka vidole. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 Hapa sisi kwenda. 67 00:03:26,527 --> 00:03:27,501 >> [PHONE dings] 68 00:03:27,501 --> 00:03:28,962 >> [Makofi] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID Malan: Hivyo furaha zaidi kuliko this-- ni furaha, bila shaka, kama mimi kupata ndani yake. 71 00:03:34,940 --> 00:03:38,004 Lakini ni furaha zaidi, mimi mawazo, kama sisi kuundwa mmoja wa wale wakati movie 72 00:03:38,004 --> 00:03:40,420 ambapo kama kitu kweli mbaya imetokea katika dunia, 73 00:03:40,420 --> 00:03:42,860 na kama wote NSA watu simu za mikononi kuanza beeping 74 00:03:42,860 --> 00:03:44,860 na ujumbe wa maandishi kuwatahadharisha kwao ukweli huu. 75 00:03:44,860 --> 00:03:47,026 Hivyo nimeona tunataka kujaribu recreate sawa hapa, 76 00:03:47,026 --> 00:03:49,610 ambapo si kutumia database, Mimi badala mapema 77 00:03:49,610 --> 00:03:51,490 aliandika mpango kwamba inaonekana kama hii. 78 00:03:51,490 --> 00:03:53,660 >> Hii ni index.php-- na mimi kuweka kanuni hii online 79 00:03:53,660 --> 00:03:56,710 kama well-- kwamba inaonekana tu mithili form.php, 80 00:03:56,710 --> 00:04:00,990 kutumia MVC style dhana kwamba sisi majadiliano juu ya undani zaidi katika tatizo kuweka 81 00:04:00,990 --> 00:04:01,650 saba. 82 00:04:01,650 --> 00:04:02,910 Fomu kuwa ni pretty rahisi. 83 00:04:02,910 --> 00:04:06,634 Ni kwenda kuwasilisha kwa faili inayoitwa here.php kupitia post. 84 00:04:06,634 --> 00:04:09,300 Na ni inaonekana kwenda kuuliza kwa jina, na namba ya simu, 85 00:04:09,300 --> 00:04:11,400 na kisha kupitia kinachojulikana Kuchagua menu, ni 86 00:04:11,400 --> 00:04:14,250 kwenda kukupa angalau nne maarufu Marekani Mkono flygbolag, 87 00:04:14,250 --> 00:04:17,470 na kisha kuruhusu ufanisi kuchukua mahudhurio kwa kubonyeza hapa. 88 00:04:17,470 --> 00:04:20,471 >> Na hapa, wakati huo huo, ni kwenda kukopa baadhi ya kanuni kutoka wakati wa mwisho. 89 00:04:20,471 --> 00:04:22,553 Na kama wewe tu skim hii, utaona kwamba kuna 90 00:04:22,553 --> 00:04:23,900 rundo zima la kuangalia makosa. 91 00:04:23,900 --> 00:04:26,640 Lakini uzuri mwishoni ni kwamba sisi siyo kuandika database leo. 92 00:04:26,640 --> 00:04:29,130 Sisi ni kuweka rahisi na kutuma tu nje hopefully 93 00:04:29,130 --> 00:04:32,190 ujumbe wa maandishi kupitia kazi mimi aliandika juu ya siku chache zilizopita wito 94 00:04:32,190 --> 00:04:36,270 Nakala, ambayo ni katika Kazi. php, ambayo ni tena inapatikana online. 95 00:04:36,270 --> 00:04:38,210 >> Hivyo kama ungependa kushiriki katika hili. 96 00:04:38,210 --> 00:04:40,190 Sisi siyo kwenda kuwa hifadhi ya kitu chochote. 97 00:04:40,190 --> 00:04:43,809 Kwenda URL hii hapa katika muda halisi. 98 00:04:43,809 --> 00:04:46,850 Je, si kuwasilisha bado tu, lakini hebu kuona kama tunaweza kuwa mmoja wa haya movie 99 00:04:46,850 --> 00:04:49,830 wakati ambapo India ya kila mtu kuanza beeping, hopefully tu 100 00:04:49,830 --> 00:04:53,580 mara moja mwaka huu tofauti mwaka 2011 ambapo alikwenda horribly awry. 101 00:04:53,580 --> 00:04:58,910 Na mara moja kwenda kwa anwani hiyo, unapaswa kuona aina super rahisi 102 00:04:58,910 --> 00:05:03,884 kwamba kama una jina, simu ya mkononi idadi, na simu ya mkononi carrier kwamba 103 00:05:03,884 --> 00:05:06,175 mechi orodha huko, kwenda mbele na kujaza fomu. 104 00:05:06,175 --> 00:05:07,880 Lakini si hit kuwasilisha bado tu. 105 00:05:07,880 --> 00:05:10,850 >> aina kinaendelea kuangalia kama hii. 106 00:05:10,850 --> 00:05:13,660 Kwenda mbele na aina katika jina lako, namba ya simu. 107 00:05:13,660 --> 00:05:17,670 OOP, mtu kinaendelea mbele ya Curve. 108 00:05:17,670 --> 00:05:18,170 Ni sawa. 109 00:05:18,170 --> 00:05:19,340 OK, kila mtu kujazwa fomu. 110 00:05:19,340 --> 00:05:21,400 Hii lazima kazi juu ya simu, pia, kama unataka. 111 00:05:21,400 --> 00:05:23,695 Haki zote, juu ya alama yako, kupata kuweka, kwenda. 112 00:05:23,695 --> 00:05:24,195 Kugonga Hapa. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 Nini? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 Hakuna 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 Naapa kwa Mungu, mimi kupimwa mara nyingi hii leo. 119 00:05:40,250 --> 00:05:41,720 Wewe got it? 120 00:05:41,720 --> 00:05:43,145 >> [INTERPOSING VOICES] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID Malan: Sawa, kosa user labda. 123 00:05:49,560 --> 00:05:50,550 Hiyo ni mbili. 124 00:05:50,550 --> 00:05:53,300 Ni kazi kwa mbili nje ya mia chache, tatu, nne. 125 00:05:53,300 --> 00:05:55,940 OK, hiyo ni nzuri. 126 00:05:55,940 --> 00:05:58,520 Wanne kati ya watano kwa usahihi jinsi kuhusu. 127 00:05:58,520 --> 00:05:59,810 >> Hivyo kile kilichotokea tu? 128 00:05:59,810 --> 00:06:02,727 Hivyo labda, bila kuona yako skrini, kwa nini kinaweza kuwa errored? 129 00:06:02,727 --> 00:06:05,518 Pengine ni kwamba sisi walikuwa tu kujaribu kufanya uhusiano wengi mno 130 00:06:05,518 --> 00:06:08,110 Harvard ya server mail wote katika mara moja kutoka anwani ya IP huo. 131 00:06:08,110 --> 00:06:10,740 Mimi tu guessing tangu sikuwa anasa ya kupima 132 00:06:10,740 --> 00:06:13,220 kanuni hii na baadhi ya Watu 300 katika mapema 133 00:06:13,220 --> 00:06:16,040 lakini kwa sasa kutambua kwamba kwamba angalau lazima 134 00:06:16,040 --> 00:06:18,250 waliopata kazi kufanyika wakati huu. 135 00:06:18,250 --> 00:06:22,880 >> Haki wote, hivyo kwa nini ni hii yote zaidi germane na nini kinaendelea? 136 00:06:22,880 --> 00:06:24,900 Vizuri kwanza, haraka michache ya matangazo. 137 00:06:24,900 --> 00:06:29,350 Hivyo moja, kama Ningependa kujiunga Chang, na Nick, na wengine katika chakula cha mchana Ijumaa hii, 138 00:06:29,350 --> 00:06:32,400 kufanya RSVP katika URL kawaida huko. 139 00:06:32,400 --> 00:06:35,650 Kama wewe ni kufikiri ya kuzingatia katika au kufanya sekondari katika CS, 140 00:06:35,650 --> 00:06:38,941 kama wewe ni sophomore, au Freshman, au hata junior au mwandamizi katika hatua hii 141 00:06:38,941 --> 00:06:42,490 na bado unaweza itapunguza katika kozi, kutambua kwamba uhandisi shule 142 00:06:42,490 --> 00:06:45,620 ni kukusanya kwa ajili ya bure Ben na Jerry ya cream barafu na ushauri 143 00:06:45,620 --> 00:06:48,910 Jumatano hii muda mfupi baada ya darasa katika 04:00 katika jengo CS 144 00:06:48,910 --> 00:06:49,771 katika Maxwell Dworkin. 145 00:06:49,771 --> 00:06:51,520 Kama hii ni haraka sana juu ya screen, tu kwenda 146 00:06:51,520 --> 00:06:55,260 kwa cs50.harvard.edu kwa kiungo kwa tukio Facebook 147 00:06:55,260 --> 00:06:57,140 ambapo unaweza kuona maelezo zaidi. 148 00:06:57,140 --> 00:07:01,390 >> Wakati huo huo, nilidhani kusahihisha Kitu nyingine moja mimi goofed juu ya Jumatano. 149 00:07:01,390 --> 00:07:04,400 Zinageuka kuwa ID Marko kwenye Facebook hakuwa tatu. 150 00:07:04,400 --> 00:07:05,230 Ilikuwa nne. 151 00:07:05,230 --> 00:07:08,330 Zinageuka alikuwa mtihani zaidi akaunti kuliko mimi kukumbuka. 152 00:07:08,330 --> 00:07:12,400 Lakini nini hii inaonekana kama fursa kufanya ni kuvuta up URL kama hii. 153 00:07:12,400 --> 00:07:16,680 >> Hivyo ni zamu nje kwamba Facebook ana API, Maombi Programming Interface, 154 00:07:16,680 --> 00:07:20,070 ambayo ni utaratibu ambapo wewe Unaweza kuomba data programmatically 155 00:07:20,070 --> 00:07:24,480 katika Facebook na kupata nyuma mashine habari someka, si kurasa za mtandao 156 00:07:24,480 --> 00:07:28,690 lakini Nakala tu mbichi, kitu aitwaye JavaScript Object nukuu. 157 00:07:28,690 --> 00:07:32,150 Na kwa kweli, kama mimi kutembelea hii URL, na kuvuta, kwa default, 158 00:07:32,150 --> 00:07:34,960 hii ni ya Marko hadharani kupatikana habari. 159 00:07:34,960 --> 00:07:37,430 >> Na undani kuvutia hapa ni kwamba tu ID wake 160 00:07:37,430 --> 00:07:40,670 ni kweli, idadi ya nne, ambayo mimi barabara haraka kama mimi alifanya hivyo. 161 00:07:40,670 --> 00:07:44,260 Unaweza kufanya hivyo mwenyewe kama unajua yako Facebook username kama una moja. 162 00:07:44,260 --> 00:07:45,440 Aina tu juu juu huko. 163 00:07:45,440 --> 00:07:46,640 Na hakuna wa hii ni binafsi. 164 00:07:46,640 --> 00:07:48,670 Mimi nina kufanya tu hii hata katika mode fiche. 165 00:07:48,670 --> 00:07:49,900 Hivyo mimi si hata watumiaji katika. 166 00:07:49,900 --> 00:07:54,440 Na wewe ni kuona kwamba mimi inaonekana alikuwa mtumiaji idadi 6454 167 00:07:54,440 --> 00:07:56,480 kwenye Facebook, ambayo si mbaya sana siku hizi. 168 00:07:56,480 --> 00:07:59,900 Hivyo anyhow, utapata pia kuona maelezo ya ziada huko. 169 00:07:59,900 --> 00:08:02,150 >> Na kipengele muhimu ya kwamba ni kwamba 170 00:08:02,150 --> 00:08:06,890 kuandika programu yako mwenyewe kwamba namna fulani samlar data kama hii 171 00:08:06,890 --> 00:08:08,170 ndani ya maombi yako mwenyewe. 172 00:08:08,170 --> 00:08:10,650 Unaweza kuwawezesha watumiaji kuingia katika tovuti yako, 173 00:08:10,650 --> 00:08:14,190 si kwa kutumia yao wenyewe desturi jina la mtumiaji na password lakini labda Facebook yao ya kuingia 174 00:08:14,190 --> 00:08:16,170 na kupata taarifa hata kuhusu marafiki zao, 175 00:08:16,170 --> 00:08:18,740 kama kupitisha hizo, au sawa. 176 00:08:18,740 --> 00:08:21,430 Hivyo kumbuka kwamba CS50, pia, ina baadhi ya APIs yake mwenyewe, 177 00:08:21,430 --> 00:08:24,620 moja kwa data shaka catalog, baadhi kwa hugs menus katika dining 178 00:08:24,620 --> 00:08:26,730 kumbi, yote ya majengo na maeneo 179 00:08:26,730 --> 00:08:30,930 juu ya chuo tuna API kwa pamoja kwamba unaweza swala vile vile na kupata 180 00:08:30,930 --> 00:08:35,520 nyuma textual data kwamba unaweza kuunganisha ndani ya PHP, au JavaScript, au hata, 181 00:08:35,520 --> 00:08:38,320 ingawa chini ya kawaida, C msingi mradi wa mwisho. 182 00:08:38,320 --> 00:08:41,190 >> Hakika mbele kwa fainali mradi ni milstenarna wachache. 183 00:08:41,190 --> 00:08:42,980 Wewe got email kutoka kwetu siku nyingine. 184 00:08:42,980 --> 00:08:45,761 Kutambua kwamba pendekezo ni kutokana hii kuja Jumatatu. 185 00:08:45,761 --> 00:08:49,010 Ni si lazima kisheria, lakini huna haja ya kupokea wenzake mafundisho yako 186 00:08:49,010 --> 00:08:51,260 kibali kabla ya kufanya mabadiliko yoyote baada ya hapo. 187 00:08:51,260 --> 00:08:54,280 Na kisha mbele ni idadi ya milstenarna nyingine. 188 00:08:54,280 --> 00:08:56,542 >> Hivyo kwa tease wewe, pia, pamoja na baadhi ya uwezekano, 189 00:08:56,542 --> 00:08:58,250 tuna rundo la haya hue balbu mwanga. 190 00:08:58,250 --> 00:09:01,190 Na baadhi ya guys sasa kuwa na baadhi ya haya katika Dorm chumba yako pia. 191 00:09:01,190 --> 00:09:02,920 Na wao pia wana API. 192 00:09:02,920 --> 00:09:07,300 Hivyo kukumbuka wale wiki binary balbu iliyopita kwamba Dan Bradley na Ansel 193 00:09:07,300 --> 00:09:08,780 Duff kuundwa kwa ajili yetu. 194 00:09:08,780 --> 00:09:12,560 Walitumia programu interface kwa bulb hii mwanga, ambayo kwa wakati 195 00:09:12,560 --> 00:09:15,232 ni plugged katika umeme na kisha kupitia wireless 196 00:09:15,232 --> 00:09:17,690 ni kushikamana na kitu kidogo aitwaye Bridge chini hapa, 197 00:09:17,690 --> 00:09:21,280 kama kidogo router wamiliki kifaa fulani. 198 00:09:21,280 --> 00:09:26,540 >> Lakini zinageuka kama mimi kujua jinsi ya kutuma ujumbe HTTP, kama sisi wote sasa kufanya, 199 00:09:26,540 --> 00:09:31,670 Siwezi kutuma ujumbe kama hii kwa bulb hii mwanga kugeuka juu au mbali 200 00:09:31,670 --> 00:09:34,000 au kufanya idadi yoyote ya shughuli nyingine juu yake. 201 00:09:34,000 --> 00:09:36,110 Taarifa kwamba ni kupata, siyo baada. 202 00:09:36,110 --> 00:09:37,760 Kuna mwingine mmoja aitwaye kuweka. 203 00:09:37,760 --> 00:09:39,630 Kweli kuna nyingine chache verbs hiyo. 204 00:09:39,630 --> 00:09:42,920 Lakini kuna taarifa ya njia pale, kufyeka API, kufyeka developer mpya, 205 00:09:42,920 --> 00:09:44,990 kufyeka mwanga, kufyeka moja, kufyeka hali. 206 00:09:44,990 --> 00:09:49,060 >> Hiyo inaonekana tu njia kwamba kampuni, Philips, 207 00:09:49,060 --> 00:09:51,640 aliamua una hit na ombi HTTP 208 00:09:51,640 --> 00:09:55,010 kama unataka kubadilisha hali ya bulb kutumia HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 Basi taarifa line tupu. 210 00:09:56,380 --> 00:10:00,170 Na kisha mwisho kile kinachoonekana kama aina ya safu ya aina fulani, 211 00:10:00,170 --> 00:10:04,730 hii tena ni kwenda kuitwa JavaScript Object nukuu, au Jason. 212 00:10:04,730 --> 00:10:08,000 Na nini unaweza kuona hapa ni kwamba kuna tatu thamani jozi muhimu. 213 00:10:08,000 --> 00:10:09,115 >> Ufunguo moja inaitwa juu. 214 00:10:09,115 --> 00:10:10,990 Na thamani yake inaonekana ni kwenda kuwa kweli. 215 00:10:10,990 --> 00:10:13,612 Mwangaza ni 128, ambayo ni baadhi ya aina ya int. 216 00:10:13,612 --> 00:10:15,820 Na kisha mpito wakati ni sifuri, ambayo inaonekana 217 00:10:15,820 --> 00:10:17,970 muda gani kinaendelea kuchukua kugeuka jambo hili juu. 218 00:10:17,970 --> 00:10:19,890 >> Hivyo sasa hivi bulb hii mwanga ni mbali. 219 00:10:19,890 --> 00:10:22,880 Lakini kama mimi kufanya hasa this-- basi mimi kwenda kidogo kudanganya karatasi 220 00:10:22,880 --> 00:10:25,200 kwamba Dan kuanzisha katika advance-- na mimi nina kwenda 221 00:10:25,200 --> 00:10:27,920 kwenda mbele na nakala amri zifuatazo. 222 00:10:27,920 --> 00:10:30,200 Curl, kama baadhi ya wewe anaweza kuwa zilizopatikana juu ya CS50 223 00:10:30,200 --> 00:10:35,080 Kujadili ni shirika kama Telnet kama kwamba unaweza kuiga maombi HTTP, 224 00:10:35,080 --> 00:10:36,360 hasa unaweka. 225 00:10:36,360 --> 00:10:39,710 Siwezi kutuma data hii, hasa nini sisi tu 226 00:10:39,710 --> 00:10:43,430 aliona wakati iliyopita hasa URL hii zaidi ya hapa. 227 00:10:43,430 --> 00:10:46,310 Na kisha Curl ni kwenda kushughulikia yote ya headers zinazohitajika 228 00:10:46,310 --> 00:10:47,600 na parsing kuna ya. 229 00:10:47,600 --> 00:10:54,700 >> Hivyo wote mimi kufanya ni nakala hii katika dirisha terminal na kisha hit Enter. 230 00:10:54,700 --> 00:10:56,000 Na balbu ya mwanga unaendelea. 231 00:10:56,000 --> 00:10:59,060 Na hii yote ni kwenda kupitia kompyuta yangu wirelessly 232 00:10:59,060 --> 00:11:01,960 namna fulani chini ya daraja, ambayo kisha kuzungumza na bulb hii mwanga. 233 00:11:01,960 --> 00:11:02,960 Mimi siwezi kufanya kitu kingine. 234 00:11:02,960 --> 00:11:07,050 Siwezi kufanya jambo hili kwenda nyekundu kwa mfano. 235 00:11:07,050 --> 00:11:11,040 Siwezi kwa mfano kufanya jambo hili kwenda kijani. 236 00:11:11,040 --> 00:11:12,220 Siwezi kufanya ni kwenda bluu. 237 00:11:12,220 --> 00:11:14,760 >> Na taarifa katika kila moja ya haya matukio, wote kwamba mimi nina kubadilisha 238 00:11:14,760 --> 00:11:18,540 ni kinachojulikana hue thamani kwa kweli kuwapa baadhi ya rangi. 239 00:11:18,540 --> 00:11:20,320 Hivyo basi mimi kuweka hii moja katika pia. 240 00:11:20,320 --> 00:11:21,000 Sasa ni bluu. 241 00:11:21,000 --> 00:11:24,672 >> Na unaweza kufanya hata fancier mambo where-- hebu kwenda kijani. 242 00:11:24,672 --> 00:11:26,630 Na mimi naweza kufanya hii ya Bila shaka kwa kificho yangu mwenyewe. 243 00:11:26,630 --> 00:11:30,670 Lakini hata API yenyewe inasaidia shughuli funky 244 00:11:30,670 --> 00:11:35,510 kama hii, ambayo sasa kujisumbua sisi kwa ijayo sekunde 30. 245 00:11:35,510 --> 00:11:39,170 >> Hivyo hiyo ni moja ya ladha ya nini wapate kufanya na API, hii moja kuwashirikisha 246 00:11:39,170 --> 00:11:40,010 balbu mwanga. 247 00:11:40,010 --> 00:11:42,510 Kumbuka kwamba CS50 ina michache jozi ya Google kioo kama wewe d 248 00:11:42,510 --> 00:11:45,380 kama kukabiliana na kitu pamoja wale mistari, Arduino Unos, ambayo 249 00:11:45,380 --> 00:11:48,670 ni vidogo kompyuta kidogo, kimsingi, juu ya kidogo mzunguko wa bodi 250 00:11:48,670 --> 00:11:50,470 kwamba unaweza kuunganisha waya na mambo mengine 251 00:11:50,470 --> 00:11:52,732 kwa kweli na kudhibiti halisi ya mazingira ya dunia yako. 252 00:11:52,732 --> 00:11:54,940 Na kisha kuna wanandoa toys mpya kwamba tuna. 253 00:11:54,940 --> 00:11:59,294 Hii moja halisi tu waliowasili siku nyingine kwa njia ya barua, Myo uzinge. 254 00:11:59,294 --> 00:12:01,710 Na nilifikiri ni njia ya kupata msisimko juu ya miradi 255 00:12:01,710 --> 00:12:03,720 kwamba unaweza kutumia na vifaa hii ingekuwa 256 00:12:03,720 --> 00:12:08,900 kuwa kucheza video hii fupi kwamba wao kutumia tease folks 257 00:12:08,900 --> 00:12:10,500 kwamba sisi ni sasa wanaishi katika siku zijazo. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [Music kucheza] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID Malan: Hivyo katika wiki chache tu, unaweza pia unaweza kuwa kwamba baridi katika CS50 haki. 262 00:13:37,109 --> 00:13:39,150 Kifaa kingine kwamba sisi kuwa na rundo la kwamba sisi ni 263 00:13:39,150 --> 00:13:42,090 furaha mkopo nje kwa ajili ya miradi inaitwa mwendo mtawala. 264 00:13:42,090 --> 00:13:45,030 Hii ni kifaa USB kidogo kuungana kwa kompyuta kwamba 265 00:13:45,030 --> 00:13:47,520 utapata kuingiliana na Laptop yako, Mac au PC, 266 00:13:47,520 --> 00:13:51,570 kana kwamba alikuwa kama Xbox Kinect na kwa kweli kufanya mwendo kimwili sana 267 00:13:51,570 --> 00:13:54,509 kama sisi kuona katika hii maono ya baadaye. 268 00:13:54,509 --> 00:13:56,505 >> [Music kucheza] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID Malan: Hivyo hata kama una wazo jinsi kitu kama hicho 271 00:15:06,260 --> 00:15:10,050 inaweza uwezekano kuwa zuliwa au kazi juu ya ngazi ya vifaa, hakuna jambo. 272 00:15:10,050 --> 00:15:13,520 Hata baada ya miezi michache tu ya CS50, na uelewa wa programu 273 00:15:13,520 --> 00:15:19,460 ujumla zaidi, na programu ya mtandao zaidi hivi karibuni, na kisha pia APIs, na HTTP, 274 00:15:19,460 --> 00:15:21,830 itabidi upatikanaji kupitia APIs programu kama wewe 275 00:15:21,830 --> 00:15:24,680 je wanataka kukopa mmoja wa haya vifaa kwa kweli kuzungumza na yake 276 00:15:24,680 --> 00:15:27,180 na si kuwa na wasiwasi kuhusu utekelezaji msingi 277 00:15:27,180 --> 00:15:30,220 maelezo, ambayo ni kabisa sambamba na wazo hili la layering 278 00:15:30,220 --> 00:15:33,610 kufikirika kwamba tumekuwa kuonekana katika muhula. 279 00:15:33,610 --> 00:15:37,990 >> Hivyo pia mwishoni mwa wiki, aliona vipande michache ya habari. 280 00:15:37,990 --> 00:15:40,640 Kwenda kwanza, kwenda semina kama wewe wangependa kujifunza kitu 281 00:15:40,640 --> 00:15:42,160 zaidi juu ya idadi yoyote ya mada. 282 00:15:42,160 --> 00:15:43,340 Angalia URL huko. 283 00:15:43,340 --> 00:15:45,890 Na hii moja alitumwa mimi na Chang, ambao unajua, 284 00:15:45,890 --> 00:15:47,850 ambaye ni uchapishaji wa jeshi letu la tembo. 285 00:15:47,850 --> 00:15:49,910 Na ilikuwa kichwa cha habari kama ifuatavyo. 286 00:15:49,910 --> 00:15:51,280 Mimi nina hofu ya TV yangu mpya. 287 00:15:51,280 --> 00:15:54,301 Nini mimi nina hofu ya kurejea hii Jambo juu na wewe d kuwa pia. 288 00:15:54,301 --> 00:15:56,050 Hivyo sisi ni sasa katika kumweka katika muhula, 289 00:15:56,050 --> 00:15:58,860 pia, ambapo hata kama una kidogo ya ufahamu 290 00:15:58,860 --> 00:16:02,620 ya jinsi ya mtandao matendo, na HTTP, na usalama, mambo kama haya 291 00:16:02,620 --> 00:16:03,980 lazima kuanza kupata jicho lako. 292 00:16:03,980 --> 00:16:07,450 Lakini pia, itabidi kuelewa kama mambo haya ni au si 293 00:16:07,450 --> 00:16:08,430 halisi vitisho. 294 00:16:08,430 --> 00:16:10,940 >> Hivyo mimi alichukua Sammandrag chache kutoka makala hii hapa. 295 00:16:10,940 --> 00:16:12,540 Na hadithi ni kama ifuatavyo. 296 00:16:12,540 --> 00:16:14,300 Mimi nina sasa mmiliki wa mpya smart TV, ambayo 297 00:16:14,300 --> 00:16:18,470 ahadi ya kutoa Streaming maudhui multimedia, michezo, programu, 298 00:16:18,470 --> 00:16:21,450 kijamii vyombo vya habari, na biashara ya kuvinjari, oh na TV pia. 299 00:16:21,450 --> 00:16:24,410 Tatizo tu ni kwamba mimi nina sasa hofu ya kutumia hiyo, anasema mwandishi. 300 00:16:24,410 --> 00:16:29,592 Ungekuwa pia, kama kusoma kwa njia Sera 46 ukurasa wa faragha kwa TV yako. 301 00:16:29,592 --> 00:16:31,800 kiasi cha data hii inakusanya jambo ni kubwa. 302 00:16:31,800 --> 00:16:35,710 Ni kumbukumbu wapi, lini, jinsi, na kwa muda gani kutumia TV. 303 00:16:35,710 --> 00:16:38,190 Ni seti kufuatilia biskuti, kama tumekuwa kujadiliwa, 304 00:16:38,190 --> 00:16:40,560 na beacons iliyoundwa kuchunguza wakati una 305 00:16:40,560 --> 00:16:43,185 kutazamwa bidhaa fulani au ujumbe fulani email 306 00:16:43,185 --> 00:16:45,230 kama unataka kuangalia barua pepe juu ya TV yako. 307 00:16:45,230 --> 00:16:48,430 Ni kumbukumbu ya programu unaweza kutumia, tovuti ya kutembelea, 308 00:16:48,430 --> 00:16:52,280 na jinsi ya kiutendaji na maudhui, kufanya yote ya kwamba kupitia TV yako smart. 309 00:16:52,280 --> 00:16:55,470 Pia, creepier yet-- hiyo ni addition-- yangu 310 00:16:55,470 --> 00:16:58,140 imejenga katika kamera na kutambua usoni. 311 00:16:58,140 --> 00:17:01,010 >> lengo ni kutoa ishara ya kudhibiti kwa TV 312 00:17:01,010 --> 00:17:05,490 na kukuwezesha kuingia kwenye Msako akaunti kwa kutumia uso wako. 313 00:17:05,490 --> 00:17:08,940 Katika suala la mafanikio, picha ni kuokolewa kwenye TV badala ya kupakiwa 314 00:17:08,940 --> 00:17:09,940 server ushirika. 315 00:17:09,940 --> 00:17:12,520 On negativa, biashara uhusiano hufanya TV nzima 316 00:17:12,520 --> 00:17:14,811 mazingira magumu na Hackare ambaye wameonyesha uwezo 317 00:17:14,811 --> 00:17:16,700 kuchukua udhibiti kamili ya mashine. 318 00:17:16,700 --> 00:17:20,880 >> Zaidi kumsumbua, kama kwamba hakuwa smart kutosha, ni kipaza sauti. 319 00:17:20,880 --> 00:17:23,599 TV boasts sauti utambuzi kipengele 320 00:17:23,599 --> 00:17:26,859 ambayo inaruhusu watazamaji kudhibiti screen na amri ya sauti. 321 00:17:26,859 --> 00:17:30,290 Lakini huduma kuja na onyo badala ominous. 322 00:17:30,290 --> 00:17:33,030 Tafadhali kuwa na ufahamu kwamba kama maneno yako amesema ni pamoja na 323 00:17:33,030 --> 00:17:36,210 binafsi au nyingine nyeti habari, kwamba habari 324 00:17:36,210 --> 00:17:40,310 atakuwa miongoni mwa data alitekwa na kupitishwa kwa chama cha tatu. 325 00:17:40,310 --> 00:17:40,870 Got kwamba? 326 00:17:40,870 --> 00:17:45,860 Je, si kusema binafsi au nyeti mambo mbele ya TV yako. 327 00:17:45,860 --> 00:17:47,280 >> Hivyo hii ni kweli kwa kweli. 328 00:17:47,280 --> 00:17:50,530 Na ni vigumu si kwa kuona kama wewe kwenda Best Buy au kama kwa TV 329 00:17:50,530 --> 00:17:51,030 siku hizi. 330 00:17:51,030 --> 00:17:52,540 Wao ni wote smart katika baadhi ya njia. 331 00:17:52,540 --> 00:17:54,740 Na wao ni kupata nadhifu na creepier. 332 00:17:54,740 --> 00:17:57,490 Na wao ni tu kukusanya data katika njia ambazo tumekuwa aliyesema kuhusu 333 00:17:57,490 --> 00:18:01,840 na kisha kuweka kupitia HTTP au baadhi ya itifaki nyingine kwa baadhi ya server. 334 00:18:01,840 --> 00:18:05,720 >> Hivyo hii ilikuwa ya makala ya kujifurahisha katika tovuti hii online 335 00:18:05,720 --> 00:18:08,940 hapa, ambayo kuongelea mdudu fulani au makosa kificho 336 00:18:08,940 --> 00:18:11,340 kwamba tunaweza kweli kufunga katika majadiliano ya wiki iliyopita. 337 00:18:11,340 --> 00:18:15,730 Hivyo kichwa cha habari hii ilikuwa kama ifuatavyo, hadithi inakwenda hapa, 338 00:18:15,730 --> 00:18:18,720 Josh Breckman kazi kwa kampuni hiyo ilitua mkataba 339 00:18:18,720 --> 00:18:22,390 kuendeleza usimamizi wa maudhui mfumo, au CMS kama wao ni kuitwa, 340 00:18:22,390 --> 00:18:24,380 kwa ajili ya tovuti ya haki kubwa ya serikali. 341 00:18:24,380 --> 00:18:27,300 Mengi ya mradi wanaohusika kuendeleza mfumo wa usimamizi wa maudhui 342 00:18:27,300 --> 00:18:29,840 hivyo kwamba wafanyakazi itakuwa uwezo wa kujenga na kudumisha 343 00:18:29,840 --> 00:18:31,877 milele kubadilisha bidhaa kwa ajili ya tovuti yao. 344 00:18:31,877 --> 00:18:34,210 Mambo akaenda pretty vizuri kwa Siku chache baada ya kwenda kuishi. 345 00:18:34,210 --> 00:18:37,020 Lakini siku ya sita, mambo yalikwenda si hivyo vizuri. 346 00:18:37,020 --> 00:18:39,500 Yote ya yaliyomo kwenye Tovuti alikuwa kabisa kutoweka. 347 00:18:39,500 --> 00:18:42,950 Na kurasa zote imesababisha default, tafadhali kuingia maudhui ya mtandao ukurasa. 348 00:18:42,950 --> 00:18:43,810 Whoops. 349 00:18:43,810 --> 00:18:46,080 Josh aliitwa katika kuchunguza na niliona 350 00:18:46,080 --> 00:18:49,390 kwamba moja hasa matatizo nje IP alikuwa 351 00:18:49,390 --> 00:18:53,380 wamekwenda katika na ilifutwa yote ya yaliyomo kwenye mfumo. 352 00:18:53,380 --> 00:18:56,290 >> IP hawakuwa kwa baadhi ya nje ya nchi hacker bent 353 00:18:56,290 --> 00:18:58,340 juu ya kuharibu manufaa habari za serikali. 354 00:18:58,340 --> 00:19:05,190 Ni kutatuliwa kwa googlebot.com, Google ya mwenyewe sana mtandao kutambaa buibui. 355 00:19:05,190 --> 00:19:06,010 Whoops. 356 00:19:06,010 --> 00:19:09,150 Baada ya kidogo ya utafiti na scrambling kuzunguka kutafuta Backup noncorrupt, 357 00:19:09,150 --> 00:19:10,180 Josh kupatikana tatizo. 358 00:19:10,180 --> 00:19:12,700 >> user alikuwa kunakiliwa na pasted baadhi ya maudhui kutoka kwa mmoja 359 00:19:12,700 --> 00:19:15,670 ukurasa mwingine, ikiwa ni pamoja na Hariri Hyperlink 360 00:19:15,670 --> 00:19:17,577 kuhariri maudhui juu ya ukurasa. 361 00:19:17,577 --> 00:19:20,160 Kwa kawaida hii bila kuwa na Suala tangu user nje ingekuwa 362 00:19:20,160 --> 00:19:24,320 haja ya kuingia jina na password, lakini mfumo wa uthibitishaji CMS, 363 00:19:24,320 --> 00:19:27,520 mfumo kuingia, hakuwa na kuchukua katika akaunti 364 00:19:27,520 --> 00:19:30,980 kisasa Hacking mbinu ya Google Spider. 365 00:19:30,980 --> 00:19:31,700 Whoops. 366 00:19:31,700 --> 00:19:33,610 >> Kama ni zamu nje, Google Buibui haina kutumia 367 00:19:33,610 --> 00:19:36,950 biskuti, ambayo ina maana kwamba unaweza urahisi bypass kuangalia kwa 368 00:19:36,950 --> 00:19:39,840 ni watumiaji juu ya kuweka kuki kuwa uongo. 369 00:19:39,840 --> 00:19:42,620 Ni pia haina makini na JavaScript, ambayo kwa kawaida 370 00:19:42,620 --> 00:19:45,170 kuchochea na kuelekeza watumiaji ambao si watumiaji katika. 371 00:19:45,170 --> 00:19:48,610 Haina hata hivyo kufuata kila hyperlink juu ya kila ukurasa anaona, 372 00:19:48,610 --> 00:19:51,700 ikiwa ni pamoja na wale walio na Kufuta Ukurasa katika cheo. 373 00:19:51,700 --> 00:19:52,650 Whoops. 374 00:19:52,650 --> 00:19:56,070 >> Hivyo hii ina maana gani katika zaidi kiufundi lakini uungwana kupatikana masharti? 375 00:19:56,070 --> 00:19:58,340 Ni tu ina maana kwamba katika tovuti yao, 376 00:19:58,340 --> 00:20:02,287 walikuwa URLs si tofauti hii moja kwamba unaweza kuona katika tatizo kuweka saba. 377 00:20:02,287 --> 00:20:04,620 Kumbuka katika tatizo kuweka saba au kujua katika tatizo kuweka saba 378 00:20:04,620 --> 00:20:06,411 kuwa wewe ni changamoto, miongoni mwa mambo mengine, 379 00:20:06,411 --> 00:20:08,570 kuuza hifadhi kwa niaba ya watumiaji. 380 00:20:08,570 --> 00:20:14,010 Lakini utekelezaji kwamba kipengele kwa njia ya kupata kupitia viungo katika user yako 381 00:20:14,010 --> 00:20:16,880 interface, pengine si wazo smartest 382 00:20:16,880 --> 00:20:20,300 kwa sababu kama tovuti yako ni namna fulani kupatikana ama kwa binadamu 383 00:20:20,300 --> 00:20:23,577 ambaye kubonyeza kuzunguka au kununua bot kama Google au Spider 384 00:20:23,577 --> 00:20:26,160 kama wao ni kuitwa tu kwamba kutambaa mtandao kujaribu index 385 00:20:26,160 --> 00:20:29,060 mtandao kama search injini, hawakuweza urahisi sana 386 00:20:29,060 --> 00:20:31,340 kugonga kupitia kupata aina hii ya URL. 387 00:20:31,340 --> 00:20:33,770 Na kwamba ni functionally sawa na, katika kesi hii, 388 00:20:33,770 --> 00:20:37,000 kuuza hisa zote za Google. 389 00:20:37,000 --> 00:20:40,030 >> Sasa kusema ukweli, ni kabisa asinine kwamba CMS 390 00:20:40,030 --> 00:20:43,240 kutumika JavaScript na kuki kutekeleza kuingia mfumo wake 391 00:20:43,240 --> 00:20:47,100 na si kufanya kwamba upande server, kama nyie kufanya mapenzi na katika pset 7-- 392 00:20:47,100 --> 00:20:49,940 kuna login.php file-- daima, daima, 393 00:20:49,940 --> 00:20:52,789 daima usalama lazima kufanyika katika upande server, 394 00:20:52,789 --> 00:20:56,080 si upande wa mteja kwa sababu, kama hii Makala unaonyesha na wewe mwenyewe nguvu 395 00:20:56,080 --> 00:20:59,600 kuona katika baadhi ya uhakika, ni dogo kwa mtumiaji, nzuri au mbaya, 396 00:20:59,600 --> 00:21:02,860 tu kugeuka mbali JavaScript sembuse biskuti. 397 00:21:02,860 --> 00:21:06,020 Hivyo kwamba ni WTF yako ya kila siku. 398 00:21:06,020 --> 00:21:07,970 >> Kuna moja zaidi, ambayo ni aina tu ya inatisha, 399 00:21:07,970 --> 00:21:11,360 hivyo mimi itabidi kutaja kama tu kama maisha ya somo. 400 00:21:11,360 --> 00:21:14,850 Kila wewe kutumia maombi aitwaye kama Snapchat au kama 401 00:21:14,850 --> 00:21:19,380 kwamba anasema picha hizi mwisho tu kwa sekunde tano, sekunde kumi, au whatnot. 402 00:21:19,380 --> 00:21:21,680 Wao ni ephemeral Hiyo ni kabisa si kesi. 403 00:21:21,680 --> 00:21:25,670 Kama hakuna njia, digital, kutekeleza baadhi ya fomu ya video, 404 00:21:25,670 --> 00:21:30,150 au picha, au textual kugawana kama kwamba mpokeaji mwisho mwingine 405 00:21:30,150 --> 00:21:31,660 hawezi namna fulani kuokoa data. 406 00:21:31,660 --> 00:21:34,300 >> Katika njia nyingi wasiojua, mtu inaweza kuchukua simu zao. 407 00:21:34,300 --> 00:21:36,850 Na wao wana 10 wa pili dirisha wakati kuangalia baadhi snap 408 00:21:36,850 --> 00:21:39,410 tu kuchukua baadhi ya simu nyingine na kupiga picha hiyo, ni wazi. 409 00:21:39,410 --> 00:21:41,660 Hivyo unaweza kuhifadhi kitu digital njia hiyo. 410 00:21:41,660 --> 00:21:44,620 Baadhi ya wewe kujua jinsi ya kuchukua viwambo kwenye simu yako. 411 00:21:44,620 --> 00:21:49,290 Kwa kweli, kama wewe sijui huu, kutambua kwamba angalau Snapchat, 412 00:21:49,290 --> 00:21:51,040 na nadhani wengine maombi ya siku hizi, 413 00:21:51,040 --> 00:21:53,720 angalau kukuambia kama mpokeaji ana kweli 414 00:21:53,720 --> 00:21:55,310 kuchukuliwa screenshot ya picha yako. 415 00:21:55,310 --> 00:22:00,870 >> Lakini bado mbaya, hii ilikuwa snappening, kama mtu aliunda hivi karibuni, 416 00:22:00,870 --> 00:22:04,680 ambapo baadhi 100,000 snaps alikuwa iliyotolewa 417 00:22:04,680 --> 00:22:09,310 katika kile kinachoitwa torrent faili kwenye tovuti mbalimbali hatimaye. 418 00:22:09,310 --> 00:22:12,000 Na hizi zilizomo rundo zima ya ujumbe binafsi na posts. 419 00:22:12,000 --> 00:22:15,210 Ni zinageuka wengi wao benign, hivyo si nini unaweza kutarajia. 420 00:22:15,210 --> 00:22:17,580 Lakini kwa sababu watu walikuwa kutumika tovuti ya tatu chama, 421 00:22:17,580 --> 00:22:20,270 magogo katika na Snapchat yao username na password na kisha 422 00:22:20,270 --> 00:22:23,470 kuokoa wote wa snaps yao katika tovuti hii ya tatu ya chama. 423 00:22:23,470 --> 00:22:26,130 Na ilikuwa kwamba chama cha tatu tovuti ya kwamba ilikuwa hacked, 424 00:22:26,130 --> 00:22:30,710 ambayo tu maana mtu figured nje ya jinsi kupata yote pamoja 100,000 ya taswira hizo 425 00:22:30,710 --> 00:22:33,822 ndani ya gari ngumu yao wenyewe kwa kushirikiana na baadae. 426 00:22:33,822 --> 00:22:36,030 Kusema ukweli, hapa pia, ni aina ya asinine kwamba Snapchat 427 00:22:36,030 --> 00:22:39,360 unatekelezwa kwa namna ambayo chama cha tatu unaweza aina ya kukatiza 428 00:22:39,360 --> 00:22:43,310 data na kwamba si amefungwa kwa yako maombi mwenyewe mbio juu ya simu. 429 00:22:43,310 --> 00:22:46,947 Lakini hapa, pia, kutambua kwamba hizi mambo lazima si kukamata wewe kwa mshangao, 430 00:22:46,947 --> 00:22:49,030 au angalau kuna lazima kuwa somo maisha katika hapa. 431 00:22:49,030 --> 00:22:52,220 Kama Ningependa kiufundi maelezo, kwenda URL kuna 432 00:22:52,220 --> 00:22:53,570 hiyo ni katika slides leo. 433 00:22:53,570 --> 00:23:00,960 Haki zote, maswali yoyote juu ya leo maisha masomo katika CS? 434 00:23:00,960 --> 00:23:02,710 Kugeuka kuwa mbali. 435 00:23:02,710 --> 00:23:04,970 Chochote wakati wote? 436 00:23:04,970 --> 00:23:06,301 Chochote wakati wote? 437 00:23:06,301 --> 00:23:09,050 Mimi nimepata mengi ya watu kuangalia Snapchat yao au kitu sasa. 438 00:23:09,050 --> 00:23:11,690 >> Haki wote, hivyo SQL, Uliza muundo lugha. 439 00:23:11,690 --> 00:23:12,509 Hebu wrap hii. 440 00:23:12,509 --> 00:23:14,300 Na pia, ingawa sisi ni scratching tu 441 00:23:14,300 --> 00:23:16,310 uso wa hii lugha, tutaweza kukupa 442 00:23:16,310 --> 00:23:18,930 kutosha wa lugha katika fomu ya pset 7 443 00:23:18,930 --> 00:23:22,140 ili uweze kukabiliana na baadhi utendaji haki ya kawaida. 444 00:23:22,140 --> 00:23:24,912 Lakini kutambua kuna wanandoa mambo ya sisi hawahitaji wewe, 445 00:23:24,912 --> 00:23:27,120 lakini wao wanaenda kuwa muhimu kuja miradi ya mwisho 446 00:23:27,120 --> 00:23:30,760 na kwa hakika kuja kufanya halisi Nje na watumiaji halisi 447 00:23:30,760 --> 00:23:32,040 ni uamuzi huu design. 448 00:23:32,040 --> 00:23:34,460 >> Ni zinageuka kuwa katika Mbegu MySQL, wewe 449 00:23:34,460 --> 00:23:37,460 kuwa mashada ya uchaguzi kama aina ya data kwa nguzo yako 450 00:23:37,460 --> 00:23:41,670 na mambo mengine, lakini pia una uchaguzi wa kinachojulikana kuhifadhi 451 00:23:41,670 --> 00:23:44,570 injini kwa ajili ya yote ya data yako, aina ya faili mfumo, 452 00:23:44,570 --> 00:23:46,700 kama wewe ni ukoo, kwa wote wa data zako. 453 00:23:46,700 --> 00:23:48,830 Nini format ni hatimaye kuhifadhiwa katika? 454 00:23:48,830 --> 00:23:53,300 Na kawaida, pengine, imekuwa MyiSAM na InnoDB, suala kiufundi 455 00:23:53,300 --> 00:23:56,060 kwamba tutaweza tu huduma kuhusu kiasi kwamba mtu ana 456 00:23:56,060 --> 00:23:58,500 na moja haina Kipengele zifuatazo. 457 00:23:58,500 --> 00:24:00,390 >> Tuseme kwamba una kidogo Dorm friji. 458 00:24:00,390 --> 00:24:03,030 Na kudhani kuwa wewe na yako roommate, ambao kushiriki friji huu, 459 00:24:03,030 --> 00:24:04,682 ni kweli uzoefu wa kusema maziwa. 460 00:24:04,682 --> 00:24:07,140 Na hii ni, kwa kweli, jinsi hadithi aliambiwa kwangu njia ya nyuma 461 00:24:07,140 --> 00:24:10,890 katika siku wakati mimi alichukua kozi aitwaye CS 161 Uendeshaji Systems, ambayo 462 00:24:10,890 --> 00:24:12,580 vile vile inahusu mada hii. 463 00:24:12,580 --> 00:24:13,760 Hivyo nimepata friji hii. 464 00:24:13,760 --> 00:24:14,630 Uko nje ya maziwa. 465 00:24:14,630 --> 00:24:17,000 Na wewe kuja nyumbani, roommate yako bado katika darasa au chochote, 466 00:24:17,000 --> 00:24:19,208 na kuamua mimi nina kwenda kwenda nje na kupata baadhi ya maziwa. 467 00:24:19,208 --> 00:24:22,630 Hivyo wewe karibu fridge, lockup chumba Dorm, kwenda katika barabara ya 468 00:24:22,630 --> 00:24:25,330 kwa CVS au popote, na kupata katika mstari wa kununua baadhi ya maziwa. 469 00:24:25,330 --> 00:24:28,960 >> Wakati huo huo, roommate yako anapata nyumbani kutoka darasani, anapata katika chumba Dorm, 470 00:24:28,960 --> 00:24:31,802 kuufungua fridge, pia anatambua ooph, tuko nje ya maziwa. 471 00:24:31,802 --> 00:24:33,760 Hivyo yeye au yeye anafunga friji na kisha ikitokea 472 00:24:33,760 --> 00:24:35,610 kwenda CVS mengine, ambayo hufanyika kuwa 473 00:24:35,610 --> 00:24:38,470 kuzuia moja mbali kutoka CVS nyingine katika mraba, na anapata katika mstari 474 00:24:38,470 --> 00:24:40,230 kuna kupata baadhi ya maziwa. 475 00:24:40,230 --> 00:24:42,524 Dakika sasa, bila shaka, chache baadaye, wote wawili kupata nyuma, 476 00:24:42,524 --> 00:24:44,690 na mbaya zaidi ya yote iwezekanavyo matokeo kilichotokea. 477 00:24:44,690 --> 00:24:45,792 Wote wawili wa una maziwa. 478 00:24:45,792 --> 00:24:47,500 Na wewe si kweli kama maziwa kiasi hicho. 479 00:24:47,500 --> 00:24:49,625 Hivyo mmoja wao ni tu kwenda sour katika baadhi ya uhakika. 480 00:24:49,625 --> 00:24:55,941 Hivyo sasa una unywaji maziwa katika friji wote kwa sababu kwa nini? 481 00:24:55,941 --> 00:24:57,072 >> [Inaudible] 482 00:24:57,072 --> 00:24:59,780 DAVID Malan: Yeah, hakuwa namna fulani kuwasiliana na kila mmoja 483 00:24:59,780 --> 00:25:00,904 kwamba walikuwa kupata maziwa. 484 00:25:00,904 --> 00:25:04,320 Hivyo katika rahisi ya njia katika ulimwengu wa binadamu, 485 00:25:04,320 --> 00:25:08,390 jinsi gani unaweza kuepuka hili silly mazingira kutoka kinachotokea kama 486 00:25:08,390 --> 00:25:09,750 kwamba tu kuishia na moja. 487 00:25:09,750 --> 00:25:10,840 Nakala wao, ndiyo nzuri. 488 00:25:10,840 --> 00:25:12,877 Lakini jinsi mwingine? 489 00:25:12,877 --> 00:25:13,460 Baada ya inabainisha. 490 00:25:13,460 --> 00:25:14,626 DAVID Malan: Post-ni kumbuka. 491 00:25:14,626 --> 00:25:17,150 Aina yoyote ya mawasiliano kwamba anaelezea roommate yako 492 00:25:17,150 --> 00:25:18,670 hawaendi katika friji kwa maziwa. 493 00:25:18,670 --> 00:25:20,440 Mimi nina kwenda kuliweka sawa juu yangu mwenyewe. 494 00:25:20,440 --> 00:25:22,770 Hivyo kwa namna fulani haja kwa kufuli rasilimali hii. 495 00:25:22,770 --> 00:25:27,180 Hivyo tunaweza kufanya this-- tunaweza aina ya uharibifu hadithi na kurejea katika hadithi CS 496 00:25:27,180 --> 00:25:30,360 ambapo kufikiria hili kama tu kama kutofautiana, ambayo ni hifadhi ya baadhi ya thamani. 497 00:25:30,360 --> 00:25:32,570 Na hivi sasa, thamani ya maziwa ni sifuri, 498 00:25:32,570 --> 00:25:35,410 ambayo hawataki yako roommate kukagua kwamba kutofautiana 499 00:25:35,410 --> 00:25:38,730 na kisha kufanya uamuzi naye au mwenyewe kulingana na hali ya kuwa kutofautiana 500 00:25:38,730 --> 00:25:42,430 kama wewe ni katika mchakato wa kubadilisha hali ya kuwa kutofautiana. 501 00:25:42,430 --> 00:25:46,140 >> Hivyo moja ya mistari ya SQL kwamba sisi kukupa katika pset 7 vipimo 502 00:25:46,140 --> 00:25:47,310 ni moja hii hapa. 503 00:25:47,310 --> 00:25:49,740 Na hatuwezi kutumia mkubwa kiasi cha muda kuzungumza kuhusu suala hilo. 504 00:25:49,740 --> 00:25:55,100 Lakini zinageuka, kama wewe ni kujaribu kununua baadhi ya hisa katika CS50 fedha 505 00:25:55,100 --> 00:25:58,000 kwamba tayari kuwa baadhi ya hisa ya, wewe 506 00:25:58,000 --> 00:26:01,750 wanataka kuwa na uwezo wa kufanya idadi mambo papo kwa pamoja. 507 00:26:01,750 --> 00:26:04,360 Unataka kuwa na uwezo wa ufanisi, juu ya kiwango cha juu, 508 00:26:04,360 --> 00:26:06,700 kuangalia yote ya haki, kama nataka kununua hisa zaidi ya Free, 509 00:26:06,700 --> 00:26:08,780 senti hisa sisi majadiliano juu katika spec, 510 00:26:08,780 --> 00:26:10,660 Nataka kuangalia kwanza hisa ngapi mimi. 511 00:26:10,660 --> 00:26:11,810 Na kudhani ni watano. 512 00:26:11,810 --> 00:26:14,600 Na nadhani wanataka kununua 10 zaidi, mimi hatimaye 513 00:26:14,600 --> 00:26:17,069 wanataka kuwa 15 hisa za hisa. 514 00:26:17,069 --> 00:26:18,360 Hivyo nina kuuliza maswali mawili. 515 00:26:18,360 --> 00:26:20,230 Nini hali ya kutofautiana ni? 516 00:26:20,230 --> 00:26:21,470 Nini hali ya mstari ni? 517 00:26:21,470 --> 00:26:22,970 Hisa ngapi mimi sasa kuwa? 518 00:26:22,970 --> 00:26:24,636 Kisha unataka kwenda mbele na update. 519 00:26:24,636 --> 00:26:27,720 Hivyo hiyo ni Analog na maziwa katika kuwa wewe kuangalia mstari, 520 00:26:27,720 --> 00:26:30,730 na kisha unataka update kwa sababu kama unataka kununua 10 ya hisa, 521 00:26:30,730 --> 00:26:32,521 wewe hawataki kubadili mstari wa 10, 522 00:26:32,521 --> 00:26:35,300 wanataka mabadiliko hayo kwa 5 plus 10 au, bila shaka, 15. 523 00:26:35,300 --> 00:26:40,030 >> Mstari wa kificho kuhakikisha kwamba wale mawazo mawili dhana 524 00:26:40,030 --> 00:26:42,810 kutokea kwa pamoja au si wakati wote. 525 00:26:42,810 --> 00:26:46,920 Hakuna mtu, ikiwa ni pamoja na baadhi ya mtumiaji nyingine ambaye ni watumiaji katika tovuti hiyo, 526 00:26:46,920 --> 00:26:49,900 unaweza namna fulani kupinga kuangalia ya mstari 527 00:26:49,900 --> 00:26:52,960 na uppdatering ya mstari, kuchagua na update kama wewe. 528 00:26:52,960 --> 00:26:57,360 Na syntax ni si super dhahiri, lakini mstari huu moja, kwa muda mrefu ni ni, 529 00:26:57,360 --> 00:27:01,150 kuhakikisha kwamba wale shughuli mbili kuangalia kutofautiana au kuangalia mstari 530 00:27:01,150 --> 00:27:04,660 na update mstari kutokea atomically. 531 00:27:04,660 --> 00:27:06,849 >> Oh hapa sisi kwenda tena. 532 00:27:06,849 --> 00:27:07,890 Ujumbe wa maandishi kwenye simu yangu. 533 00:27:07,890 --> 00:27:09,954 Basi hebu kufanya a hii zaidi kidogo ya saruji. 534 00:27:09,954 --> 00:27:12,120 Tuseme kwamba wewe si kutekeleza jokofu, 535 00:27:12,120 --> 00:27:16,400 na wewe si kutekeleza Pset 7, lakini benki halisi, 536 00:27:16,400 --> 00:27:20,000 au ATM, kujiendesha Teller Mashine, ambapo wewe kwa namna fulani 537 00:27:20,000 --> 00:27:22,960 wanataka kuwa na uwezo wa kuwawezesha watumiaji kuhamisha fedha 538 00:27:22,960 --> 00:27:24,500 kutoka akaunti moja hadi nyingine. 539 00:27:24,500 --> 00:27:25,100 OK, hutegemea. 540 00:27:25,100 --> 00:27:26,683 Mimi nina kwenda bubu hii sasa, asante. 541 00:27:26,683 --> 00:27:30,450 Hivyo tunataka hoja fedha kutoka kwa mmoja akaunti namba 542 00:27:30,450 --> 00:27:33,600 katika akaunti tofauti idadi, hasa $ 100. 543 00:27:33,600 --> 00:27:37,690 Hivyo hii ni aina ya holela mfano, ambapo wewe, ATM, 544 00:27:37,690 --> 00:27:41,060 kutaka kutekeleza mbili SQL maswali, Ondoa kutoka akaunti moja, 545 00:27:41,060 --> 00:27:42,430 na kuongeza akaunti nyingine. 546 00:27:42,430 --> 00:27:46,766 Lakini unataka kuhakikisha kwamba hizi mistari miwili wote wawili kutokea au si wakati wote. 547 00:27:46,766 --> 00:27:48,640 Wewe hawataki kitu kupata kuingiliwa. 548 00:27:48,640 --> 00:27:51,440 Huna baadhi smart guy mbaya namna fulani amesimama Benki Kuu ya Marekani 549 00:27:51,440 --> 00:27:53,270 na ATM mbili mbele yake na kwa namna fulani 550 00:27:53,270 --> 00:27:55,270 aina ya kuandika katika amri wakati huo huo, 551 00:27:55,270 --> 00:28:01,230 hopefully kujaribu dra $ 200 badala ya $ 100 na tu baada ya $ 100 sifa. 552 00:28:01,230 --> 00:28:04,450 Kwa kifupi, unataka hii kuishi hasa kama wewe kutarajia. 553 00:28:04,450 --> 00:28:06,540 >> Na njia ya kufanya hii katika SQL database ni 554 00:28:06,540 --> 00:28:09,350 wewe wrap ni katika nini aitwaye manunuzi. 555 00:28:09,350 --> 00:28:14,290 Halisi katika SQL, unaweza kupiga CS50 ya swala kazi pamoja na kunukuu unquote kuanza 556 00:28:14,290 --> 00:28:15,370 manunuzi. 557 00:28:15,370 --> 00:28:18,640 Basi unaweza nitafanya idadi yoyote ya maswali baadae SQL, 558 00:28:18,640 --> 00:28:20,870 lakini hakuna hata mmoja wao kuchukua athari juu ya database 559 00:28:20,870 --> 00:28:25,880 mpaka wewe piga swala kunukuu unquote kufanya, kama tena kwa kutumia PHP. 560 00:28:25,880 --> 00:28:29,810 Na kwa njia hii, unaweza kuhakikisha kwamba watumiaji hata kama una 1,000 wote 561 00:28:29,810 --> 00:28:32,080 kupiga Mbegu yako wakati huo huo, SQL 562 00:28:32,080 --> 00:28:34,540 ahadi kwamba hizi maswali mawili itakuwa 563 00:28:34,540 --> 00:28:36,740 kutekelezwa haki moja baada ya nyingine. 564 00:28:36,740 --> 00:28:40,330 Hivyo huna kuishia na ziada ya maziwa au kiasi vibaya, hatimaye, 565 00:28:40,330 --> 00:28:40,830 ya fedha. 566 00:28:40,830 --> 00:28:43,110 >> Hivyo kuweka hii katika akili, si sana kwa pset 7 567 00:28:43,110 --> 00:28:45,250 lakini kwa ajili ya miradi ya mwisho kama wewe ni kweli 568 00:28:45,250 --> 00:28:49,690 kujaribu hoja data kuzunguka hela meza kama wewe huenda hapa. 569 00:28:49,690 --> 00:28:53,980 Lakini labda hata rahisi na zaidi dhahiri kuelewa na mfano 570 00:28:53,980 --> 00:28:54,860 ni moja hii hapa. 571 00:28:54,860 --> 00:28:57,760 Na mtu Emailed sisi kuhusu hii tu siku nyingine 572 00:28:57,760 --> 00:28:59,600 alipoona kitu sawa online. 573 00:28:59,600 --> 00:29:03,480 >> Hivyo kwa ufahamu wangu, mfumo siri si katika mazingira magumu na shambulio hilo. 574 00:29:03,480 --> 00:29:06,637 Na mimi sina wazo kama hata matumizi Mbegu SQL chini ya kofia. 575 00:29:06,637 --> 00:29:08,470 Lakini hebu kuitumia kwa ajili ya majadiliano. 576 00:29:08,470 --> 00:29:10,178 Hapa ni screen kwamba Harvard folks huwa 577 00:29:10,178 --> 00:29:13,620 kuona wakati magogo katika na wao Harvard ID simu na siri zao. 578 00:29:13,620 --> 00:29:19,020 Na tuseme kwamba mfumo siri walikuwa kutekelezwa katika PHP na MySQL na 579 00:29:19,020 --> 00:29:22,000 Mbegu, kanuni kwamba mtu Miaka anaweza kuwa imeandikwa iliyopita 580 00:29:22,000 --> 00:29:23,270 ili kuangalia kama hii. 581 00:29:23,270 --> 00:29:25,230 Kwanza, kutangaza kutofautiana aitwaye jina la mtumiaji. 582 00:29:25,230 --> 00:29:27,560 Na tu kupata kwamba kutoka POST superglobal. 583 00:29:27,560 --> 00:29:30,140 Kisha kupata mwingine kutofautiana aitwaye password na kufanya hivyo. 584 00:29:30,140 --> 00:29:33,080 Na kisha tu nitafanya hii swala muda mrefu hapa, 585 00:29:33,080 --> 00:29:36,690 kuchagua nyota kutoka kwa watumiaji ambapo jina la mtumiaji sawa vile na vile 586 00:29:36,690 --> 00:29:38,510 na password sawa vile na vile. 587 00:29:38,510 --> 00:29:40,660 >> Taarifa kwamba curly braces nimekuwa kutumika hapa 588 00:29:40,660 --> 00:29:42,880 tu maana kwa PHP, kwenda mbele na badala 589 00:29:42,880 --> 00:29:45,400 thamani ya hizo mbili vigezo haki pale. 590 00:29:45,400 --> 00:29:50,090 Wao siyo madhubuti muhimu, lakini wao huwa na kuepuka makosa hila syntax. 591 00:29:50,090 --> 00:29:53,650 Hivyo hii inaonekana kabisa sahihi katika mtazamo wa kwanza. 592 00:29:53,650 --> 00:29:54,240 Na ni. 593 00:29:54,240 --> 00:29:56,680 Unaweza kutekeleza mfumo siri kwa njia hii. 594 00:29:56,680 --> 00:30:00,460 >> Lakini tuseme kwamba super smart na malicious mwanafunzi 595 00:30:00,460 --> 00:30:03,020 pembejeo kama hii siri yake. 596 00:30:03,020 --> 00:30:05,550 Hivyo nimekuwa kuondolewa risasi ishara hapa katika maskhara juu, 597 00:30:05,550 --> 00:30:08,760 na nimekuwa kweli umebaini nini yeye au anaweza kuwa kuandika. 598 00:30:08,760 --> 00:30:10,350 Na ni ajabu kidogo. 599 00:30:10,350 --> 00:30:13,850 Lakini anaruka nini nje saa wewe katika uwezekano inatia mashaka kuhusu pembejeo mtumiaji, 600 00:30:13,850 --> 00:30:16,450 hata kama wewe hawana wazo nini Mashambulizi SQL sindano ina maana. 601 00:30:16,450 --> 00:30:20,300 Kwa nini hii kuangalia fishy kidogo? 602 00:30:20,300 --> 00:30:21,050 Nini hiyo? 603 00:30:21,050 --> 00:30:21,550 [Inaudible] 604 00:30:21,550 --> 00:30:24,260 DAVID Malan: au ni kidogo tuhuma. 605 00:30:24,260 --> 00:30:26,310 Kwa kweli, kwamba ni Keyword kutoka SQL. 606 00:30:26,310 --> 00:30:28,105 Ili hakuendani. 607 00:30:28,105 --> 00:30:29,980 ukweli kwamba kuna quotes haya yote moja 608 00:30:29,980 --> 00:30:32,646 there-- kwa kweli, moja ya njia rahisi njia ya kuvunja baadhi databaser 609 00:30:32,646 --> 00:30:35,880 ni kwa kuandika katika jina kama O'Reilly ambayo ina apostrophe ndani yake 610 00:30:35,880 --> 00:30:38,600 kwa sababu kama binadamu ambaye aliandika kificho nyuma ya pazia 611 00:30:38,600 --> 00:30:41,570 haina kuchukua katika akaunti ya kwamba kuna inaweza kuwa quotes moja katika mtumiaji 612 00:30:41,570 --> 00:30:45,060 pembejeo, na yeye au yeye ni kutumia quotes moja katika kanuni zao, 613 00:30:45,060 --> 00:30:46,040 mambo mabaya yanaweza kutokea. 614 00:30:46,040 --> 00:30:47,870 >> Kwa kweli, bado mbaya, fikiria hili. 615 00:30:47,870 --> 00:30:50,600 Kama hii ilikuwa tena kificho kwamba mtu katika miaka Harvard 616 00:30:50,600 --> 00:30:53,100 iliyopita aliandika kwa siri mfumo, taarifa nini 617 00:30:53,100 --> 00:30:56,220 kuhusu kupata kubadilishwa kwa username na password 618 00:30:56,220 --> 00:30:59,780 kama aina ya mtumiaji katika tena skroob kama jina la mtumiaji yao 619 00:30:59,780 --> 00:31:03,960 na kisha moja, mbili, tatu, nne, tano, quote au kunukuu unquote moja sawa 620 00:31:03,960 --> 00:31:04,660 kunukuu moja. 621 00:31:04,660 --> 00:31:07,220 Na taarifa nini msingi hapa ni user hana 622 00:31:07,220 --> 00:31:09,900 kuanza password yao au siri zao kwa kunukuu. 623 00:31:09,900 --> 00:31:12,610 Na wao si kumalizika ni kwa kunukuu kwa sababu yeye au yeye 624 00:31:12,610 --> 00:31:16,315 ni kuchukua kwamba kama programu haikuwa hivyo mkali, 625 00:31:16,315 --> 00:31:18,690 wao ni kwenda na wale quotes moja katika kanuni zao. 626 00:31:18,690 --> 00:31:19,860 >> Hivyo hapa ni kificho. 627 00:31:19,860 --> 00:31:23,820 Na badala ya kuwa ili sasa kutokea ni hii. 628 00:31:23,820 --> 00:31:26,350 Na nimekuwa alisisitiza kile user ina typed katika. 629 00:31:26,350 --> 00:31:28,480 Hivyo kabla, baada ya. 630 00:31:28,480 --> 00:31:33,330 Na taarifa nini upole inatia mashaka sasa kuhusu nusu haki ya kificho hii SQL? 631 00:31:33,330 --> 00:31:36,300 Ni kidogo ngumu zaidi, admittedly, kuliko maswali tumeona. 632 00:31:36,300 --> 00:31:38,550 Lakini hii haiwezi uwezekano kuwa ni jambo jema kama wewe ni 633 00:31:38,550 --> 00:31:42,240 akisema kuchagua nyota, ambayo ni kuchagua kila kitu kutoka mtumiaji meza 634 00:31:42,240 --> 00:31:46,630 ambapo jina la mtumiaji sawa skroob na password sawa moja, mbili, tatu, nne, 635 00:31:46,630 --> 00:31:49,610 tano au moja sawa na moja. 636 00:31:49,610 --> 00:31:53,860 Nini maana mantiki ya kwamba kifungu mwisho labda? 637 00:31:53,860 --> 00:31:55,650 Ni tu kweli daima. 638 00:31:55,650 --> 00:31:59,930 >> Na kwa sababu tuna aina ya guessed au figured nje kwa majaribio na makosa 639 00:31:59,930 --> 00:32:02,760 kwamba programu ambaye aliandika kificho hakufanya hivyo 640 00:32:02,760 --> 00:32:07,250 wanatarajia binadamu au mbaya kuandika katika quotes moja kama vile, 641 00:32:07,250 --> 00:32:10,350 tunaweza syntactically kukamilisha SQL query 642 00:32:10,350 --> 00:32:12,260 na kitu nonsensical lakini kitu ambacho 643 00:32:12,260 --> 00:32:15,930 ni syntactically sahihi kwamba daima kutathmini kwa kweli. 644 00:32:15,930 --> 00:32:19,130 Hivyo kama kanuni hii ni kuwa kutumika kujibu swali kweli au uongo lazima 645 00:32:19,130 --> 00:32:22,930 user hii kuruhusiwa kupita, Jibu ni daima inaonekana kwenda 646 00:32:22,930 --> 00:32:26,930 kuwa ni kweli kwa sababu hii ni daima kwenda kuchagua kitu kutoka orodha 647 00:32:26,930 --> 00:32:29,280 kwa sababu moja ya shaka daima ni sawa na moja. 648 00:32:29,280 --> 00:32:30,360 >> Basi nini ufumbuzi? 649 00:32:30,360 --> 00:32:33,290 Vizuri katika pset 7, sisi kweli kuepuka hili wote pamoja. 650 00:32:33,290 --> 00:32:37,360 Sisi kukupa kazi swala, na sisi kuhimiza wewe kutumia alama swali 651 00:32:37,360 --> 00:32:40,430 kama placeholders, sawa katika roho kwa printf ya% s, 652 00:32:40,430 --> 00:32:43,710 lakini nini muhimu kuhusu alama swali hapa ni kweli kama kusoma kwa njia 653 00:32:43,710 --> 00:32:46,950 functions.php, ambapo wetu swala kazi ni kutekelezwa, 654 00:32:46,950 --> 00:32:52,780 alama ya wale swali ni alitoroka, ambapo kitu chochote uwezekano wa hatari 655 00:32:52,780 --> 00:32:58,210 kama quote moja ni akageuka ndani ya alitoroka moja kunukuu. 656 00:32:58,210 --> 00:33:00,590 >> Hivyo hii ni nini kweli yanatokea kama wewe 657 00:33:00,590 --> 00:33:04,850 kutumia CS50 ya swala kazi au idadi yoyote ya chama cha tatu maktaba bure kwamba 658 00:33:04,850 --> 00:33:06,000 kufanya hivyo. 659 00:33:06,000 --> 00:33:09,850 Haijalishi katika kesi hii, kijani, kama mtumiaji ina typed katika kunukuu moja 660 00:33:09,850 --> 00:33:12,070 kwa sababu ya swala kazi ambayo sisi aliandika ni 661 00:33:12,070 --> 00:33:15,120 kwenda kuongeza backslashes kabla yoyote vile hatari kunukuu. 662 00:33:15,120 --> 00:33:17,360 Hivyo hii si, katika kweli, itakuwa legit. 663 00:33:17,360 --> 00:33:20,910 Hii ni kama kuandika katika mambo kuangalia password kwamba, bila shaka, si kwenda 664 00:33:20,910 --> 00:33:23,490 kuwa password skroob ya halisi. 665 00:33:23,490 --> 00:33:28,260 >> Hivyo takeaway kwa CS50 ni mmoja, kabisa daima kutumia kitu 666 00:33:28,260 --> 00:33:30,860 kama CS50 ya swala kazi au maktaba ya msingi, 667 00:33:30,860 --> 00:33:32,560 ambayo hufanyika kuitwa PDO. 668 00:33:32,560 --> 00:33:35,880 Lakini kamwe, kamwe, kamwe kufanya kificho kama hii 669 00:33:35,880 --> 00:33:39,472 bila ya kukimbia au scrubbing kama wanasema pembejeo yako. 670 00:33:39,472 --> 00:33:42,430 Na wewe wakati fulani pengine kuja katika baadhi ya tovuti kama hii. 671 00:33:42,430 --> 00:33:46,060 Kwa kweli, inaonekana kuwa kesi kama katika viwanja vya ndege na hoteli katika maeneo 672 00:33:46,060 --> 00:33:48,880 ambapo wana bure Wi-Fi upatikanaji kwamba una kuingia kwa, 673 00:33:48,880 --> 00:33:51,010 tovuti hizi ni daima horribly kutekelezwa. 674 00:33:51,010 --> 00:33:55,680 Na hivyo aina ya furaha nyumbani mazoezi, si kwa madhumuni ya malicious au zaidi 675 00:33:55,680 --> 00:33:59,170 ya furaha juu ya barabara zoezi, ni aina tu 676 00:33:59,170 --> 00:34:02,850 apostrophe, quote moja, katika fomu juu ya baadhi ya tovuti 677 00:34:02,850 --> 00:34:03,810 na kuona nini kinatokea. 678 00:34:03,810 --> 00:34:06,660 Na kama server shambulio au anatoa you baadhi ya aina ya ujumbe wa makosa, 679 00:34:06,660 --> 00:34:09,690 inaweza vizuri sana kuwa mtu hana hamu hii. 680 00:34:09,690 --> 00:34:15,239 Na kisha lazima tahadhari sahihi mamlaka na kuendelea zaidi. 681 00:34:15,239 --> 00:34:20,843 >> Hivyo sasa nyie lazima hopefully kuelewa kidogo zaidi geek ucheshi hapa. 682 00:34:20,843 --> 00:34:24,120 >> [Kicheko] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID Malan: Unajua wewe ni geek. 685 00:34:29,070 --> 00:34:30,944 Kwa ajili ya pili kadhaa miaka, utakuwa kukumbuka 686 00:34:30,944 --> 00:34:33,520 ambao kidogo Bobby Meza ni sababu ya hii cartoon hapa. 687 00:34:33,520 --> 00:34:36,760 Hivyo kuendelea kuwa katika akili kama sisi kubadili mazingira mara moja ya mwisho 688 00:34:36,760 --> 00:34:38,770 leo JavaScript. 689 00:34:38,770 --> 00:34:41,600 Tumekuwa alitumia kiasi kidogo wakati juu ya syntax ya PHP 690 00:34:41,600 --> 00:34:43,440 kwa sababu ni kweli super sawa na C. 691 00:34:43,440 --> 00:34:47,300 Na nicely kutosha, JavaScript pia ni super sawa na C ya syntax 692 00:34:47,300 --> 00:34:49,639 vile vile tutaweza kuona katika muda tu na kama tutaweza 693 00:34:49,639 --> 00:34:51,205 kuona baadaye wiki hii hasa. 694 00:34:51,205 --> 00:34:54,080 Nini unaweza kufanya na lugha hii, ingawa, ni nguvu zote zaidi, 695 00:34:54,080 --> 00:34:55,790 hasa kwa APIs. 696 00:34:55,790 --> 00:34:56,960 >> Lakini kwanza ya ziara ya haraka. 697 00:34:56,960 --> 00:35:00,450 Hivyo moja, katika JavaScript, kuna hakuna kazi kubwa, ambayo ni nzuri. 698 00:35:00,450 --> 00:35:02,650 Kama na PHP, unaweza tu kuandika code. 699 00:35:02,650 --> 00:35:04,310 Masharti kuangalia kama hii. 700 00:35:04,310 --> 00:35:07,100 Na maneno Boolean nguvu kuangalia kama hii au kama hii. 701 00:35:07,100 --> 00:35:09,530 Swichi zipo, na wao ili kuangalia kama hii. 702 00:35:09,530 --> 00:35:10,970 Wanne loops kuangalia kama hii. 703 00:35:10,970 --> 00:35:12,390 Wakati loops kuangalia kama hii. 704 00:35:12,390 --> 00:35:14,160 Kufanya whiles kuangalia kama hii. 705 00:35:14,160 --> 00:35:16,850 Na kisha kuangalia kama arrays hii, ni sawa na PHP. 706 00:35:16,850 --> 00:35:20,740 Lakini taarifa kwamba, katika JavaScript unaweza kutangaza variable si kwa dola 707 00:35:20,740 --> 00:35:25,190 ishara, si kwa aina data halisi lakini kwa kusema var kwa kutofautiana mbele yake. 708 00:35:25,190 --> 00:35:27,900 Ni pia ni loosely typed kwa kuwa ina aina, 709 00:35:27,900 --> 00:35:29,729 lakini huna waziwazi kutangaza yao. 710 00:35:29,729 --> 00:35:31,520 Na kisha kamba, kwa mfano, ili kuangalia 711 00:35:31,520 --> 00:35:34,350 kama hii, kwamba kamba kuitwa s katika kesi hii. 712 00:35:34,350 --> 00:35:35,410 Na kisha kitu. 713 00:35:35,410 --> 00:35:37,010 Na hawa tutaweza kuona zaidi kabla ya muda mrefu. 714 00:35:37,010 --> 00:35:41,470 Na kitu labda ni moja ya kawaida kuonekana miundo data 715 00:35:41,470 --> 00:35:44,050 katika JavaScript msingi mpango kwa sababu inaruhusu 716 00:35:44,050 --> 00:35:46,680 wewe kujiunga holela thamani jozi ufunguo tu 717 00:35:46,680 --> 00:35:51,240 kama PHP ya arrays associative na kama tu hash yako mwenyewe meza 718 00:35:51,240 --> 00:35:54,042 au kujaribu kama sisi kutekelezwa wiki chache nyuma. 719 00:35:54,042 --> 00:35:56,250 Basi hebu kweli kuona nini tunaweza kufanya na JavaScript. 720 00:35:56,250 --> 00:35:59,410 Na hasa, hii ni kufulia orodha ya makala 721 00:35:59,410 --> 00:36:02,300 kwamba browsers na kwamba kuruhusu sisi kunasa JavaScript 722 00:36:02,300 --> 00:36:05,470 ndani ya tovuti kwa njia zifuatazo. 723 00:36:05,470 --> 00:36:09,340 JavaScript ni mara nyingi hutumika kama mteja upande lugha scripting. 724 00:36:09,340 --> 00:36:10,130 Ni si ulioandaliwa. 725 00:36:10,130 --> 00:36:11,370 Ni pia ni kufasiriwa. 726 00:36:11,370 --> 00:36:15,740 Lakini tofauti PHP, ambayo imekuwa mbio juu ya server, katika mtandao wa kompyuta, 727 00:36:15,740 --> 00:36:18,220 au ndani ya kina ya wateja, JavaScript 728 00:36:18,220 --> 00:36:22,190 ni tofauti katika kwamba kawaida anaendesha katika browser. 729 00:36:22,190 --> 00:36:26,060 >> Hivyo yoyote kificho JavaScript kuanza kuandika kwa pset 8, au mradi wako wa mwisho, 730 00:36:26,060 --> 00:36:29,890 au katika ulimwengu wa kweli kwa ujumla kwenda kuokolewa kwenye kompyuta, kabisa 731 00:36:29,890 --> 00:36:33,110 katika HTML dot dot au JS kwa JavaScript faili. 732 00:36:33,110 --> 00:36:35,770 Lakini browser ni kwenda kwa kushusha kwamba JavaScript 733 00:36:35,770 --> 00:36:39,530 kificho kwa mfano yako mwenyewe ya Chrome, au IE, Firefox au, au chochote. 734 00:36:39,530 --> 00:36:43,870 Na kanuni ni kweli kwenda kupata kunyongwa ndani ya browser yako mwenyewe. 735 00:36:43,870 --> 00:36:46,560 Tu kufanya hili zaidi ya kweli, hebu angalia hii katika fomu halisi. 736 00:36:46,560 --> 00:36:50,120 >> Sisi hatuna wazo nini kificho hii haina bila kweli kusoma kwa njia hiyo. 737 00:36:50,120 --> 00:36:52,670 Lakini ngoja kwenda Facebook.com bila magogo katika. 738 00:36:52,670 --> 00:37:00,440 Napenda kwenda Kukagua kipengele na kwenda, hebu sema, Mtandao na Reload this Page. 739 00:37:00,440 --> 00:37:04,150 Na tutaweza see-- napenda kuhama Reload Ukurasa kupata yote ya maombi kwa mwezi. 740 00:37:04,150 --> 00:37:08,850 Na ya kwanza kabisa faili naona ni CSS, CSS. 741 00:37:08,850 --> 00:37:10,880 Hapa ni ya kwanza JavaScript faili, na mimi kuwa 742 00:37:10,880 --> 00:37:14,600 sijui nini anafanya hivyo, lakini hapa ni baadhi ya JavaScript kificho 743 00:37:14,600 --> 00:37:16,180 kwamba anatoa Facebook. 744 00:37:16,180 --> 00:37:18,400 Ni kweli hata kwamba akifafanua kwa kuvuta. 745 00:37:18,400 --> 00:37:20,260 Ni bado tu kama nonsensical. 746 00:37:20,260 --> 00:37:24,341 >> Lakini utaona hata chini chini, kuna hata zaidi ya haya files JavaScript. 747 00:37:24,341 --> 00:37:24,840 Whoops. 748 00:37:24,840 --> 00:37:25,440 Hiyo ni Ping. 749 00:37:25,440 --> 00:37:28,550 Hebu kwenda chini kidogo zaidi, zaidi, zaidi. 750 00:37:28,550 --> 00:37:29,894 Kuna moja. 751 00:37:29,894 --> 00:37:31,238 Kuna moja. 752 00:37:31,238 --> 00:37:31,880 Kuna moja. 753 00:37:31,880 --> 00:37:35,820 >> Hivyo hata kama Facebook, nyuma ya pazia, imeandikwa katika sehemu katika PHP 754 00:37:35,820 --> 00:37:39,100 na Facebook mwenyewe toleo yake, kuna kiasi kubwa ya JavaScript. 755 00:37:39,100 --> 00:37:41,330 Kwa kweli, yoyote ya kuzungumza kufanya kwenye Facebook, 756 00:37:41,330 --> 00:37:45,520 yoyote ya updates inline ratiba ya kwamba kutokea katika muda halisi, yote ya kwamba 757 00:37:45,520 --> 00:37:47,944 inaendeshwa na JavaScript. 758 00:37:47,944 --> 00:37:48,444 Yeah? 759 00:37:48,444 --> 00:37:50,235 >> Watazamaji: Mimi nina uhakika kama hii ni Facebook, 760 00:37:50,235 --> 00:37:53,624 lakini nilifikiri kwamba Facebook maendeleo mwenyewe katika nyumba kificho lugha yao? 761 00:37:53,624 --> 00:37:54,540 DAVID Malan: Wao alifanya. 762 00:37:54,540 --> 00:37:58,110 Hivyo kwamba ni kwa nini nasema ugomvi wa PHP aitwaye Hip Hop kwamba kweli 763 00:37:58,110 --> 00:38:03,440 aliongeza makala kwa vile kwamba wakati Mark kwanza kutekelezwa Facebook, 764 00:38:03,440 --> 00:38:04,710 hiyo ilikuwa imeandikwa kwa PHP. 765 00:38:04,710 --> 00:38:07,370 Na kwamba aina ya imebakia aina ya mbele Lugha mwisho 766 00:38:07,370 --> 00:38:09,030 kwamba wao kutumia kwa kiasi ya coding zao, lakini ni 767 00:38:09,030 --> 00:38:11,870 haijawahi lugha hiyo mizani hasa vizuri kwa mabilioni 768 00:38:11,870 --> 00:38:12,630 ya watu. 769 00:38:12,630 --> 00:38:15,300 Na hivyo aliongeza kuwa wao wenyewe maboresho nyuma ya pazia. 770 00:38:15,300 --> 00:38:17,049 Na wao kutumia idadi yoyote ya lugha nyingine 771 00:38:17,049 --> 00:38:19,170 kwa vipande mbalimbali ya miundombinu yao. 772 00:38:19,170 --> 00:38:24,080 Hivyo ndiyo, ni ugomvi wa nini sisi sasa kujua kama PHP. 773 00:38:24,080 --> 00:38:26,610 >> Basi hebu kuchukua kuangalia katika mifano michache 774 00:38:26,610 --> 00:38:28,890 ya jinsi sisi wanaweza kutumia JavaScript hapa. 775 00:38:28,890 --> 00:38:32,530 Katika kanuni chanzo leo, tuna rundo la files, ya kwanza ambayo, 776 00:38:32,530 --> 00:38:34,090 hebu aitwaye DOM sifuri. 777 00:38:34,090 --> 00:38:36,770 Hivyo DOM sifuri inaonekana kama ifuatavyo. 778 00:38:36,770 --> 00:38:40,730 Napenda kwenda katika saraka hii na kufungua domzero.html, 779 00:38:40,730 --> 00:38:44,970 juu ya ambayo ina aina doc tamko, akisema inakuja HTML 5. 780 00:38:44,970 --> 00:38:46,440 Na sasa hapa ni HTML tag. 781 00:38:46,440 --> 00:38:47,540 Hapa ni tag kichwa. 782 00:38:47,540 --> 00:38:49,210 Na hapa ni nini mpya leo. 783 00:38:49,210 --> 00:38:52,620 >> Sasa tuna tag script ndani ya kichwa ya ukurasa. 784 00:38:52,620 --> 00:38:55,290 Na hii inaonekana gani kidogo sana, lakini taarifa 785 00:38:55,290 --> 00:38:58,410 kwamba nimepata defined script, JavaScript. 786 00:38:58,410 --> 00:39:01,050 Na kama kando, tangu hii ni kawaida mbaya, 787 00:39:01,050 --> 00:39:05,220 JavaScript ina kitu kabisa kufanya na Java, lugha 788 00:39:05,220 --> 00:39:08,010 kwamba baadhi yenu nguvu wamejifunza katika APCS. 789 00:39:08,010 --> 00:39:10,480 Ilikuwa ni zaidi ya masoko Jambo kuliko kitu chochote, 790 00:39:10,480 --> 00:39:12,980 wanaoendesha coattails ya miaka Java iliyopita. 791 00:39:12,980 --> 00:39:17,300 Lakini JavaScript, kitu cha kufanya na Java, tu vile vile, na annoyingly, 792 00:39:17,300 --> 00:39:18,480 confusingly jina. 793 00:39:18,480 --> 00:39:21,890 >> Hivyo hapa ni jinsi gani ya kutangaza kazi katika JavaScript, literally kusema kazi, 794 00:39:21,890 --> 00:39:24,556 basi jina la kazi, basi yoyote hoja inaweza kuchukua, 795 00:39:24,556 --> 00:39:25,530 tu kama katika PHP. 796 00:39:25,530 --> 00:39:28,990 Zamu nje katika JavaScript, mmoja wa watu wengi kazi annoying kwamba kuwepo ni Alert. 797 00:39:28,990 --> 00:39:31,392 Hii ni dirisha kidogo kwamba mapenzi pop up na macho yenu 798 00:39:31,392 --> 00:39:32,600 kwa baadhi kipande cha habari. 799 00:39:32,600 --> 00:39:33,766 Ni kwa ujumla juu ya kipaji. 800 00:39:33,766 --> 00:39:35,980 Lakini tutaweza kutumia kama yetu zoezi kwanza hapa. 801 00:39:35,980 --> 00:39:37,900 >> Taarifa makala chache ya JavaScript. 802 00:39:37,900 --> 00:39:41,524 Single quotes na quotes mbili si kweli jambo tena. 803 00:39:41,524 --> 00:39:43,690 Single quotes na mbili quotes inaweza kuwa interchanged, 804 00:39:43,690 --> 00:39:46,220 ambapo katika C, una kutumia mara mbili quotes kwa masharti, 805 00:39:46,220 --> 00:39:48,150 na una mbili moja ananukuu kwa chars. 806 00:39:48,150 --> 00:39:51,150 Katika dunia JavaScript, watu wengi, watu wengi 807 00:39:51,150 --> 00:39:54,970 kutumia moja quotes karibu masharti tu kwa sababu ni jambo Stylistic. 808 00:39:54,970 --> 00:39:58,330 Lakini nini pamoja operator hapa, ambayo hatujaona kabla? 809 00:39:58,330 --> 00:39:59,836 >> Watazamaji: concatenation. 810 00:39:59,836 --> 00:40:00,960 DAVID Malan: concatenation. 811 00:40:00,960 --> 00:40:02,450 Hivyo C haina hata hii. 812 00:40:02,450 --> 00:40:04,820 PHP ina dot operator, ambayo haina hii. 813 00:40:04,820 --> 00:40:09,710 JavaScript ina pamoja operator, ambayo confusingly ni kama Java. 814 00:40:09,710 --> 00:40:11,440 Sasa nini kinaendelea hapa? 815 00:40:11,440 --> 00:40:14,260 >> Hivyo hapa ni ambapo msingi uelewa wa picha kwamba 816 00:40:14,260 --> 00:40:17,010 sisi akatupa juu ya wanandoa siku iliyopita anakuja katika kucheza. 817 00:40:17,010 --> 00:40:19,620 Kumbuka wakati tulikuwa rahisi toleo la HTML page-- 818 00:40:19,620 --> 00:40:20,830 ni tu alisema, hello dunia. 819 00:40:20,830 --> 00:40:22,770 Na kisha sisi waliochota mti na haki, ambayo 820 00:40:22,770 --> 00:40:27,320 rundo la mistatili na mistari kuunganisha yao kama mti familia. 821 00:40:27,320 --> 00:40:30,820 Hivyo hiyo ni kinachojulikana DOM au Document Object Model. 822 00:40:30,820 --> 00:40:36,759 Na zinageuka kuwa unaweza kupata mistatili katika mti na syntax 823 00:40:36,759 --> 00:40:37,550 kama yafuatayo. 824 00:40:37,550 --> 00:40:41,370 Wewe literally kusema hati, ambayo ni maalum variable kimataifa katika JavaScript 825 00:40:41,370 --> 00:40:45,890 mpango kwamba ina kazi yanayohusiana na hayo kwamba unaweza kupata 826 00:40:45,890 --> 00:40:50,280 sawa na struct, lakini wewe tu kusema dot na kisha jina kazi ya, 827 00:40:50,280 --> 00:40:52,390 kupata kipengele kwa ID. 828 00:40:52,390 --> 00:40:55,460 >> kipengele Nataka kupata ni inaonekana kunukuu jina unquote. 829 00:40:55,460 --> 00:40:57,150 Na kisha nataka kupata thamani yake. 830 00:40:57,150 --> 00:40:58,330 Sasa sisi ni kupata mbele ya sisi wenyewe. 831 00:40:58,330 --> 00:41:00,038 Mimi nina uhakika hata kile yote hii ni kuhusu. 832 00:41:00,038 --> 00:41:03,000 Hebu mbele haraka kwa HTML juu ya ukurasa, ambayo ni super rahisi. 833 00:41:03,000 --> 00:41:05,370 >> Taarifa kwamba nimepata defined a kuunda chini hapa. 834 00:41:05,370 --> 00:41:07,940 Ilani nimekuwa kupewa ni ya kipekee ID, ingawa tumekuwa si kutumika 835 00:41:07,940 --> 00:41:08,870 sifa hii kabla. 836 00:41:08,870 --> 00:41:11,300 Lakini hii ipo katika HTML. 837 00:41:11,300 --> 00:41:15,570 Unaweza kipekee kutambua baadhi chunk ya HTML na kitambulisho kama hii. 838 00:41:15,570 --> 00:41:19,880 >> Ilani sasa this-- zamu nje HTML inasaidia, kwa kuwa orodha ya kufulia 839 00:41:19,880 --> 00:41:22,490 wakati iliyopita, zima rundo la tukio handlers. 840 00:41:22,490 --> 00:41:25,060 Na hii handler tukio anasema juu ya kuwasilisha. 841 00:41:25,060 --> 00:41:28,730 User kuwasilisha hii fomu, piga kificho zifuatazo. 842 00:41:28,730 --> 00:41:31,360 Na kificho kwamba kinaendelea kuitwa au kunyongwa 843 00:41:31,360 --> 00:41:35,260 ni hasa hii, Kigiriki kazi na kufuatiwa na kurudi uongo. 844 00:41:35,260 --> 00:41:37,360 Kila kitu kingine lazima kuwa pretty ukoo. 845 00:41:37,360 --> 00:41:42,050 >> Hapa ni pembejeo ya aina ya maandishi, ambaye ID, katika kesi hii, ni kwenda kuwa na jina. 846 00:41:42,050 --> 00:41:45,430 Hatuna jina halisi sifa time-- hii na kuwasilisha kifungo. 847 00:41:45,430 --> 00:41:48,330 Hivyo kusababisha ukurasa inaonekana kama hii. 848 00:41:48,330 --> 00:41:52,890 Na tabia kusababisha, utaona, inaonekana kama hii. 849 00:41:52,890 --> 00:41:56,940 ukurasa ni mitaa majeshi anasema, hello David, vigumu aesthetically kupendeza 850 00:41:56,940 --> 00:41:58,340 njia ya kusalimiana mtumiaji. 851 00:41:58,340 --> 00:41:59,950 Lakini nini hasa kinachoendelea? 852 00:41:59,950 --> 00:42:01,360 >> Naam, kufikiria nini hii ni. 853 00:42:01,360 --> 00:42:02,310 Hii ni uwanja maandishi. 854 00:42:02,310 --> 00:42:04,635 Na kwa mujibu wa HTML hapa, nimekuwa kupewa ni 855 00:42:04,635 --> 00:42:07,350 kitambulisho kipekee aitwaye kunukuu jina unquote. 856 00:42:07,350 --> 00:42:09,770 Wakati huo huo, nimekuwa alisema wakati user ananyenyekea fomu hii 857 00:42:09,770 --> 00:42:13,820 kwa kupiga kuingia au kubonyeza Kuwasilisha kifungo, piga kazi kuitwa Nisalimieni 858 00:42:13,820 --> 00:42:15,410 na kisha kurudi wa uongo. 859 00:42:15,410 --> 00:42:16,870 Hebu fikiria wale walio katika reverse. 860 00:42:16,870 --> 00:42:20,590 Taarifa wakati mimi click Kuwasilisha, URL ya ukurasa huu haina mabadiliko. 861 00:42:20,590 --> 00:42:22,420 icon browser hakuwa na kuanza inazunguka. 862 00:42:22,420 --> 00:42:27,050 Mimi si kwenda popote, na kwamba halisi kwa sababu mimi alisema kurudi wa uongo. 863 00:42:27,050 --> 00:42:31,534 Kurudi Uongo short nyaya au vituo tabia default wa fomu. 864 00:42:31,534 --> 00:42:33,700 Hivyo kwamba basi zinatuacha na swali hili moja ya mwisho. 865 00:42:33,700 --> 00:42:34,764 Nini Nisalimieni nini? 866 00:42:34,764 --> 00:42:36,680 Naam, inaonekana Nisalimieni wito kazi kuitwa 867 00:42:36,680 --> 00:42:39,250 Tahadhari, hupita katika moja muda mrefu hoja kwamba 868 00:42:39,250 --> 00:42:43,950 matokeo ya concatenating pamoja rundo la substrings, hello comma nafasi, 869 00:42:43,950 --> 00:42:45,810 basi chochote hii anarudi. 870 00:42:45,810 --> 00:42:51,490 Hivyo hati ni kama kimataifa kutofautiana kwa kuwa mizizi ya mti huo, 871 00:42:51,490 --> 00:42:55,560 wito kazi maalum, vinginevyo sasa inajulikana kama mbinu. 872 00:42:55,560 --> 00:42:57,650 kazi hiyo ni ndani ya kutofautiana ni 873 00:42:57,650 --> 00:42:59,640 aitwaye njia badala ya kazi. 874 00:42:59,640 --> 00:43:01,570 >> Hivyo kupata kipengele kwa ID. 875 00:43:01,570 --> 00:43:03,940 Nini kipengele kufanya wewe wanataka kupata na ID yake? 876 00:43:03,940 --> 00:43:06,970 Kunukuu jina unquote na kisha hasa thamani. 877 00:43:06,970 --> 00:43:12,000 Hivyo kwa maneno mengine, kwamba kanuni tu hupata uwanja maandishi ambao ID ni jina 878 00:43:12,000 --> 00:43:13,380 na kisha anapata thamani yake. 879 00:43:13,380 --> 00:43:16,460 Hivyo kama mimi walikuwa na mabadiliko ya hii na kusema Davin badala ya Daudi, 880 00:43:16,460 --> 00:43:20,670 na click Kuwasilisha, sasa sisi kuwa salamu kwa Davin. 881 00:43:20,670 --> 00:43:22,890 >> Haki wote, hivyo wote faini na nzuri. 882 00:43:22,890 --> 00:43:25,480 Lakini hebu angalia kama tunaweza kufanya hii kidogo safi tangu tu 883 00:43:25,480 --> 00:43:28,190 kuandika code kama hii ni ujumla kwenda kuwa juu ya kipaji. 884 00:43:28,190 --> 00:43:30,060 Hii ni kwenda kuangalia scarier. 885 00:43:30,060 --> 00:43:32,330 Lakini nini kwanza tofauti kwamba wewe kumbuka hapa 886 00:43:32,330 --> 00:43:35,970 katika toleo hili badala jina kubadilisha kwa DOM moja? 887 00:43:35,970 --> 00:43:41,110 Nini kimuundo inaonekana tofauti kuhusu hili dhidi ya wengine? 888 00:43:41,110 --> 00:43:41,932 Yeah? 889 00:43:41,932 --> 00:43:43,890 Watazamaji: Je fomu juu ya juu ya script sasa? 890 00:43:43,890 --> 00:43:46,570 DAVID Malan: Yeah, fomu ni juu ya script kwa sababu baadhi curious. 891 00:43:46,570 --> 00:43:48,736 Hivyo kwamba ni jambo la kwanza kwamba anaruka nje saa yangu, pia. 892 00:43:48,736 --> 00:43:50,990 Na nashiriki angalau, sehemu hii ni kufanana. 893 00:43:50,990 --> 00:43:53,470 Hivyo kitu pekee ambayo inaonekana kuwa tofauti ni hii. 894 00:43:53,470 --> 00:43:55,296 >> Hivyo hapa ni nini nadhifu kuhusu JavaScript 2. 895 00:43:55,296 --> 00:43:57,420 Na inafanya ni vigumu kuelewa katika mtazamo wa kwanza, 896 00:43:57,420 --> 00:44:00,670 hasa kwa ajili ya miradi ya mwisho kama wewe ni kuangalia sampuli kificho online, 897 00:44:00,670 --> 00:44:04,200 lakini majipu chini baadhi msingi kisintaksia makala. 898 00:44:04,200 --> 00:44:06,230 Hapa tena ni kwamba kimataifa variable hati. 899 00:44:06,230 --> 00:44:09,540 Hapa tena ni kwamba njia au kazi kwamba anasema kupata kipengele kwa ID. 900 00:44:09,540 --> 00:44:11,570 Wakati huu nataka kupata ID aitwaye demo. 901 00:44:11,570 --> 00:44:12,490 Ambapo ni kwamba? 902 00:44:12,490 --> 00:44:15,400 Hiyo inaonekana haki hapa, aina yenyewe. 903 00:44:15,400 --> 00:44:20,010 >> Na sasa taarifa kwamba inaonekana kama mimi kupata nyuma kwamba nodi ya mti 904 00:44:20,010 --> 00:44:22,940 inawakilisha aina yenyewe, si uwanja wa maandishi, 905 00:44:22,940 --> 00:44:26,970 zinageuka aina hiyo, nodi au mstatili kutoka mti, 906 00:44:26,970 --> 00:44:30,450 ina nini tutaweza kuwaita mali, sana, sana, sawa sana 907 00:44:30,450 --> 00:44:35,390 katika roho kwa struct katika C. Ni tu mwanachama data ndani ya pembenne hii. 908 00:44:35,390 --> 00:44:38,300 >> Hivyo mimi nimepata aina hapa, na mimi nina attaching, 909 00:44:38,300 --> 00:44:44,650 au mimi nina kumshirikisha, On wake Kuwasilisha handler au tuseme On Kuwasilisha mali 910 00:44:44,650 --> 00:44:45,740 kazi zifuatazo. 911 00:44:45,740 --> 00:44:49,000 Na hii ni, kwa mbali, craziest Jambo hivi sasa syntactically. 912 00:44:49,000 --> 00:44:53,610 Ni zinageuka katika JavaScript na katika PHP, na kusema ukweli kwa jambo hilo katika C, 913 00:44:53,610 --> 00:44:58,990 ingawa sisi si kufanya hivyo, unaweza kuongeza Nameless, majina, au AKA lambda 914 00:44:58,990 --> 00:45:03,000 kazi kwamba hawana jina lakini anaweza kuitwa hata hivyo. 915 00:45:03,000 --> 00:45:07,050 >> Hivyo nini mimi kufanya hapa ni mimi nina kumshirikisha On hii Kuwasilisha mali hiyo, ambayo 916 00:45:07,050 --> 00:45:14,330 ni ndani ya nodi hii ya DOM yangu mti, kazi, kazi pointer kama wewe. 917 00:45:14,330 --> 00:45:16,310 Kazi ambayo hana jina, lakini kwamba hana 918 00:45:16,310 --> 00:45:19,110 jambo kwa sababu tutaweza kuona katika wakati jinsi ya simu yake. 919 00:45:19,110 --> 00:45:21,780 Wakati kazi hii ni wito, kanuni hii anapata kunyongwa, basi 920 00:45:21,780 --> 00:45:24,210 uongo ni kurudi tu kama kabla. 921 00:45:24,210 --> 00:45:25,800 >> Lakini tazama kile mimi tumefanya. 922 00:45:25,800 --> 00:45:27,830 Katika hatua hii katika hadithi, nina fomu. 923 00:45:27,830 --> 00:45:30,190 Ni got ID kipekee aitwaye demo. 924 00:45:30,190 --> 00:45:33,740 Chini hapa, nina tag script kwamba executes kificho zifuatazo. 925 00:45:33,740 --> 00:45:37,720 Ni inaona kwamba nodi katika mti ni On Kuwasilisha 926 00:45:37,720 --> 00:45:40,260 mali kazi hii hapa. 927 00:45:40,260 --> 00:45:44,310 Na tu na asili ya jinsi browsers kazi, wakati mimi sasa bonyeza Kuwasilisha au hit Enter, 928 00:45:44,310 --> 00:45:45,889 kazi ambayo ni kwenda kupata kuitwa. 929 00:45:45,889 --> 00:45:48,680 Haina haja jina kwa sababu ambaye heck anayejali nini ni kuitwa. 930 00:45:48,680 --> 00:45:52,540 wakati tu ni milele kwenda kupata aitwaye ni wakati mimi kuwasilisha fomu. 931 00:45:52,540 --> 00:45:55,130 Hakuna haja kwa ajili yangu, developer binadamu, 932 00:45:55,130 --> 00:45:57,330 kwa kweli kuiita mahali popote. 933 00:45:57,330 --> 00:46:00,720 >> Sasa tu kama teaser, kama kwamba walikuwa si nia kupiga kutosha, 934 00:46:00,720 --> 00:46:03,330 tunaweza hata kufanya hii kuangalia zaidi cryptic kutumia 935 00:46:03,330 --> 00:46:05,850 maktaba super maarufu aitwaye jQuery. 936 00:46:05,850 --> 00:46:08,760 Kwa kweli jQuery na JavaScript mara nyingi alikataa. 937 00:46:08,760 --> 00:46:12,790 Na nini tutaweza kufanya juu ya Jumatano ni mwanzo kutumia lugha hii na maktaba hizi 938 00:46:12,790 --> 00:46:16,030 kujenga inazidi Asynchronous na maombi ya nguvu 939 00:46:16,030 --> 00:46:18,950 kama ramani ya kupata maombi, maombi 940 00:46:18,950 --> 00:46:22,360 kwamba update tovuti katika mali wakati, kiasi kama Facebook au Gchat 941 00:46:22,360 --> 00:46:27,130 kufanya, na hakuna tena tunajikita katika kupiga Kuwasilisha na kupata au baada tu 942 00:46:27,130 --> 00:46:27,630 peke yake. 943 00:46:27,630 --> 00:46:29,055 Hivyo mimi kuona juu ya Jumatano. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [Music kucheza] 946 00:46:35,550 --> 00:48:09,728