1 00:00:00,000 --> 00:00:01,940 >> [Tónlist spila] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID MALAN: Þetta er CS 50, og þetta er byrjun á viku níu. 4 00:00:14,620 --> 00:00:18,240 Og það sem við héldum að við myndum gera í dag er ekki aðeins loka kaflann um síðustu viku 5 00:00:18,240 --> 00:00:22,670 efni þar sem við áherslu á miðlara hlið vefur forritun með PHP og SQL, 6 00:00:22,670 --> 00:00:23,549 sumir gagnasafn efni. 7 00:00:23,549 --> 00:00:25,590 Við munum tala um smá öryggi í dag og þá 8 00:00:25,590 --> 00:00:29,590 umskipti á viðskiptavinur hlið forritun tungumál þekktur sem JavaScript. 9 00:00:29,590 --> 00:00:31,330 En fyrst sumir innlausn. 10 00:00:31,330 --> 00:00:35,030 >> Þú getur muna að á Miðvikudagur, setti ég út 11 00:00:35,030 --> 00:00:37,550 að skrifa á vefsíðu sem tók í inntak notanda 12 00:00:37,550 --> 00:00:41,120 með HTML formi sem síðan geymd að nöfn notandi inntak, sími 13 00:00:41,120 --> 00:00:43,124 tölur og Cellphone flytjenda í gagnagrunninum. 14 00:00:43,124 --> 00:00:45,540 Og svo ég hafði smá stjórn lína handrit skrifuð í PHP 15 00:00:45,540 --> 00:00:47,956 sem átti að kunnugt yfir raðir í gagnagrunninum 16 00:00:47,956 --> 00:00:49,400 og senda út textaskilaboð. 17 00:00:49,400 --> 00:00:53,870 Þrátt fyrir nokkrar, nokkrir tilraunir, við ekki fá að vinna í lok. 18 00:00:53,870 --> 00:00:57,820 >> Svo ég eyddi þetta allt viku vinna á að kóða til að fá okkur framhjá punktinum 19 00:00:57,820 --> 00:01:01,220 þar sem við var horfið, þar sem allt Ég fékk í lok miðvikudagsins 20 00:01:01,220 --> 00:01:05,500 var þessi texti skilaboð frá Margo og ég átti erfitt með, 21 00:01:05,500 --> 00:01:09,940 fylgt eftir með textaskilaboð úr öðrum bekkjarfélaga, hefur þú fengið þetta Davíð. 22 00:01:09,940 --> 00:01:14,030 Framhald af þessu einn, frábærlega uppörvandi. 23 00:01:14,030 --> 00:01:15,840 Afram, mjög heartening. 24 00:01:15,840 --> 00:01:20,960 Ég fékk hana næstum þar then-- og það er punkturinn við enduðum á miðvikudag. 25 00:01:20,960 --> 00:01:25,850 Og þá í raun kannski uppáhalds minn, smá stund síðar, þetta kom inn. 26 00:01:25,850 --> 00:01:27,000 Damn Live Stream. 27 00:01:27,000 --> 00:01:31,080 >> Svo í dag, laga við þetta með snöggri líta á það sem ég hef gert síðan. 28 00:01:31,080 --> 00:01:35,440 Svo er allt þetta kóða boði á netinu frá síðustu viku, viku átta, 29 00:01:35,440 --> 00:01:36,300 kóðann. 30 00:01:36,300 --> 00:01:39,425 Og þú munt sjá að ég fór í gegnum, og ég hreinsa reyndar upp hlutina svolítið. 31 00:01:39,425 --> 00:01:42,080 Ég kynnti par annar Lögun af SQL gagnagrunn. 32 00:01:42,080 --> 00:01:45,300 Fyrir dæmi, frekar en bara gera smitberi VAR bleikju 33 00:01:45,300 --> 00:01:47,310 eins og ég held að ég gerði á flugu í síðustu viku. 34 00:01:47,310 --> 00:01:49,820 Ég skilgreint staðinn það sem hvað er kallað enum. 35 00:01:49,820 --> 00:01:53,310 >> Og sumir af þú might hafa séð þetta eins og við kanna C. Enum er raun 36 00:01:53,310 --> 00:01:56,820 eiginleiki C þar sem þú getur telja a heild búnt af Fastar 37 00:01:56,820 --> 00:01:59,640 og úthluta þeim sjálfvirkar gildi, eins og einn, tveir, þrír, fjórir 38 00:01:59,640 --> 00:02:01,330 án þess að þurfa að hörðum númer kóða. 39 00:02:01,330 --> 00:02:04,780 Svo SQL styður sama, þar ef þú hefur skráð svæði sem þú aðeins 40 00:02:04,780 --> 00:02:09,389 vilja til að taka á einn af endanlegt gildi, getur þú bókstaflega að tilgreina það 41 00:02:09,389 --> 00:02:13,120 eins og ég hef gert það í fjögur vinsæll Bandaríkjanna cellphone flytjenda. 42 00:02:13,120 --> 00:02:13,819 >> Svo ég gerði það. 43 00:02:13,819 --> 00:02:16,610 Og ég gerði nokkrar breytingar sem vel, mikilvægasta sem 44 00:02:16,610 --> 00:02:20,090 var að fá email vinna vegna muna, að þetta program reitt sem 45 00:02:20,090 --> 00:02:23,470 almennt kallað email til SMS gátt, sem er bara 46 00:02:23,470 --> 00:02:27,670 fínt leið til að segja að Regin og AT & T, og önnur fólkinu styðja miðlara, 47 00:02:27,670 --> 00:02:30,740 þar ef það fær email, breytir það því að SMS 48 00:02:30,740 --> 00:02:33,290 og sendir út texta skilaboð í símann einhvers. 49 00:02:33,290 --> 00:02:37,010 Þannig að ef ég gerði þetta rétt, hér er ný og endurbætt mynd 50 00:02:37,010 --> 00:02:39,259 sem er að fara að tala við ný og endurbætt kóða sem 51 00:02:39,259 --> 00:02:40,300 þú getur spilað með online. 52 00:02:40,300 --> 00:02:44,140 Og það mun vonandi gera mitt sími píp í bara smá stund. 53 00:02:44,140 --> 00:02:47,240 >> Svo fyrst, að ég ætla að slá í nafni mínu. 54 00:02:47,240 --> 00:02:51,400 Í öðru lagi, ég ætla ekki að fara að gera þetta að þessu sinni. 55 00:02:51,400 --> 00:02:53,920 Ég ætla að gera Skoðið frumefni. 56 00:02:53,920 --> 00:02:56,710 Og þetta er bara lítill hlutur svo ég ekki 57 00:02:56,710 --> 00:02:59,250 búa klukkustunda eftir framleiðslu vinna eins og ég gerði síðast. 58 00:02:59,250 --> 00:03:02,300 Það nú er símanúmerið mitt. 59 00:03:02,300 --> 00:03:03,560 >> Ég velja Regin. 60 00:03:03,560 --> 00:03:10,260 Og hér, við skulum kveikja á þennan hljóðnema hér, og miða þetta á símanum mínum hér. 61 00:03:10,260 --> 00:03:13,130 Ég ætla að smella Register, sem ætti vonandi 62 00:03:13,130 --> 00:03:14,530 setja það inn í gagnagrunninn. 63 00:03:14,530 --> 00:03:16,780 Nú ætla ég að fara á stjórn lína program, sem 64 00:03:16,780 --> 00:03:20,825 Muna hét punktur slash texta, og yfir fingurna. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 Hér förum. 67 00:03:26,527 --> 00:03:27,501 >> [SÍMI dings] 68 00:03:27,501 --> 00:03:28,962 >> [Applause] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID MALAN: Svo skemmtilegra en this-- það er gaman, að sjálfsögðu, ef ég fæ inn í það. 71 00:03:34,940 --> 00:03:38,004 En það er meira gaman, ég hélt, ef við til einn af þeim bíómynd augnablik 72 00:03:38,004 --> 00:03:40,420 þar eins og eitthvað virkilega slæmt hefur gerst í heiminum, 73 00:03:40,420 --> 00:03:42,860 og eins og allar NSA þjóðarflokksins Cellphones byrja beeping 74 00:03:42,860 --> 00:03:44,860 með skilaboðum viðvörun þá á þessari staðreynd. 75 00:03:44,860 --> 00:03:47,026 Þannig að ég hélt að við myndum reyna að endurskapa sama hér, 76 00:03:47,026 --> 00:03:49,610 þar ekki að nota gagnagrunn, I staðinn fyrirfram 77 00:03:49,610 --> 00:03:51,490 skrifaði forrit sem lítur svona út. 78 00:03:51,490 --> 00:03:53,660 >> Þetta er index.php-- og ég setti þennan kóða netinu 79 00:03:53,660 --> 00:03:56,710 eins well-- sem virðist bara gerir form.php, 80 00:03:56,710 --> 00:04:00,990 nota MVC stíl hugmyndafræði sem við tala um nánar í Heimadæmi 81 00:04:00,990 --> 00:04:01,650 sjö. 82 00:04:01,650 --> 00:04:02,910 Það form er frekar einfalt. 83 00:04:02,910 --> 00:04:06,634 Það er að fara að leggja til a skrá sem kallast here.php gegnum færslu. 84 00:04:06,634 --> 00:04:09,300 Og það er greinilega að fara að spyrja að nafni, og símanúmer, 85 00:04:09,300 --> 00:04:11,400 og þá í gegnum af svokölluðum Veldu Valmynd, það er 86 00:04:11,400 --> 00:04:14,250 að fara að gefa þér að minnsta kosti fjögur vinsæll Bandaríkjanna cellphone flytjenda, 87 00:04:14,250 --> 00:04:17,470 og þá leyfa þér að í raun taka mætingu með því að smella hér. 88 00:04:17,470 --> 00:04:20,471 >> Og hér, á meðan, er að fara að láni sumir af kóða frá síðasta sinn. 89 00:04:20,471 --> 00:04:22,553 Og ef þú Lögð bara þetta, þú munt sjá að það er 90 00:04:22,553 --> 00:04:23,900 a heild búnt af villa stöðva. 91 00:04:23,900 --> 00:04:26,640 En fegurð í lok er að við erum ekki að skrifa við gagnagrunn í dag. 92 00:04:26,640 --> 00:04:29,130 Við erum að halda það einfalt og bara að senda út vonandi 93 00:04:29,130 --> 00:04:32,190 texti skilaboð í gegnum virka I skrifaði á síðustu daga kalla 94 00:04:32,190 --> 00:04:36,270 Texti, sem er í aðgerðir. PHP, sem er aftur í boði á netinu. 95 00:04:36,270 --> 00:04:38,210 >> Svo ef þú vildi eins og til að taka þátt í þessu. 96 00:04:38,210 --> 00:04:40,190 Við erum ekki að fara að geyma neitt. 97 00:04:40,190 --> 00:04:43,809 Fara á þessa slóð hér í rauntíma. 98 00:04:43,809 --> 00:04:46,850 Ekki senda það bara enn, en við skulum sjá hvort við getum haft einhverja af þessum bíómynd 99 00:04:46,850 --> 00:04:49,830 augnablik þar Cellphone allra byrjar beeping, vonandi bara 100 00:04:49,830 --> 00:04:53,580 þegar á þessu ári ólíkt árið 2011 þar sem þetta gekk hræðilega skakkur. 101 00:04:53,580 --> 00:04:58,910 Og þegar þú ferð á þetta netfang, þú ættir að sjá frábær einfalt eyðublað 102 00:04:58,910 --> 00:05:03,884 að ef þú hafa a nafn, a klefi sími númer og a cellphone flutningafyrirtæki sem 103 00:05:03,884 --> 00:05:06,175 passar lista þar, fara undan og fylla út formið. 104 00:05:06,175 --> 00:05:07,880 En ekki högg ekki senda strax. 105 00:05:07,880 --> 00:05:10,850 >> Eyðublaðið er að fara að líta út eins og þetta. 106 00:05:10,850 --> 00:05:13,660 Fara á undan og sláðu inn nafnið þitt, símanúmer. 107 00:05:13,660 --> 00:05:17,670 OOP, einhver er að fara á undan þeim ferli. 108 00:05:17,670 --> 00:05:18,170 Það er allt í lagi. 109 00:05:18,170 --> 00:05:19,340 OK, allir 'fyllt út formið. 110 00:05:19,340 --> 00:05:21,400 Þetta ætti að vinna á a síma, líka, ef þú vilt. 111 00:05:21,400 --> 00:05:23,695 Allt í lagi, á merki þitt, fá sett, að fara. 112 00:05:23,695 --> 00:05:24,195 Högg hér. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 Hvað? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 No. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 Ég sver til Guðs, prófa ég þetta mörgum sinnum í dag. 119 00:05:40,250 --> 00:05:41,720 Þú fékkst það? 120 00:05:41,720 --> 00:05:43,145 >> [INTERPOSING raddir] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID MALAN: OK, notandi villa kannski. 123 00:05:49,560 --> 00:05:50,550 Það er tvö. 124 00:05:50,550 --> 00:05:53,300 Það í uppnámi fyrir tvo út af nokkur hundruð, þrír, fjórir. 125 00:05:53,300 --> 00:05:55,940 OK, það er gott. 126 00:05:55,940 --> 00:05:58,520 Fjórir af fimm fyrir réttar hvernig um. 127 00:05:58,520 --> 00:05:59,810 >> Svo hvað bara gerðist? 128 00:05:59,810 --> 00:06:02,727 Svo væntanlega, án þess að sjá þína skjár, hvers vegna gæti það hafa errored? 129 00:06:02,727 --> 00:06:05,518 Það er líklega að við værum bara að reyna að gera of margar tengingar 130 00:06:05,518 --> 00:06:08,110 að póstþjóni Harvard er allt í einu sinni frá sömu IP-tölu. 131 00:06:08,110 --> 00:06:10,740 Ég ætla bara að giska þar sem ég gerði ekki hafa the lúxus að prófa 132 00:06:10,740 --> 00:06:13,220 kóðanum með nokkrum 300 manns í fyrirfram 133 00:06:13,220 --> 00:06:16,040 en nú grein fyrir því að að minnsta kosti um er tekinn 134 00:06:16,040 --> 00:06:18,250 hafa fengið starf að þessu sinni. 135 00:06:18,250 --> 00:06:22,880 >> Allt í lagi, þannig að hvers vegna er þetta allt meira germane til hvað er að gerast? 136 00:06:22,880 --> 00:06:24,900 Jæja fyrst, a fljótur par af tilkynningum. 137 00:06:24,900 --> 00:06:29,350 Svo einn, ef þú vilt að taka þátt Chang og Nick, og aðra í hádeginu á föstudaginn, 138 00:06:29,350 --> 00:06:32,400 gera RSVP á venjulegum vefslóð þar. 139 00:06:32,400 --> 00:06:35,650 Ef þú ert að hugsa um að einbeita eða gera með annað í CS, 140 00:06:35,650 --> 00:06:38,941 hvort sem þú ert a sophomore eða freshman, eða jafnvel yngri eða eldri á þessum tímapunkti 141 00:06:38,941 --> 00:06:42,490 og enn er hægt að kreista í námskeiðum, grein fyrir því að verkfræði skólanum 142 00:06:42,490 --> 00:06:45,620 er að safna saman fyrir frjáls Ben og Jerry er ís og ráðgjöf 143 00:06:45,620 --> 00:06:48,910 þetta Miðvikudagur skömmu eftir flokki á 4:00 í CS húsinu 144 00:06:48,910 --> 00:06:49,771 á Maxwell Dworkin. 145 00:06:49,771 --> 00:06:51,520 Ef þetta er of hratt á skjánum, bara fara 146 00:06:51,520 --> 00:06:55,260 að cs50.harvard.edu fyrir tengill á Facebook viðburð 147 00:06:55,260 --> 00:06:57,140 þar sem þú getur séð fleiri upplýsingar. 148 00:06:57,140 --> 00:07:01,390 >> Meðan, hélt ég að ég myndi leiðrétta Einn annar hlutur sem ég goofed á miðvikudag. 149 00:07:01,390 --> 00:07:04,400 Kemur í ljós að Mark ID á Facebook var ekki þrír. 150 00:07:04,400 --> 00:07:05,230 Það var fjögurra. 151 00:07:05,230 --> 00:07:08,330 Skrúfjárn út að hann hafði meiri próf reikninga en ég man. 152 00:07:08,330 --> 00:07:12,400 En hvað þetta var eins tækifæri að gera er að draga upp vefslóð svona. 153 00:07:12,400 --> 00:07:16,680 >> Svo kemur í ljós að Facebook hefur API, Umsókn Forritun Interface, 154 00:07:16,680 --> 00:07:20,070 sem er verkfæri þar sem þú geta óskað gögn kerfisbundið 155 00:07:20,070 --> 00:07:24,480 á Facebook og fá aftur vél læsileg upplýsingar, ekki vefsíður 156 00:07:24,480 --> 00:07:28,690 en bara hrár texti, eitthvað heitir JavaScript Object Ritháttur. 157 00:07:28,690 --> 00:07:32,150 Og í raun, ef ég heimsækja þessa URL, og stækka, við vanræksla, 158 00:07:32,150 --> 00:07:34,960 þetta er Mark er opinberlega aðgengilegar upplýsingar. 159 00:07:34,960 --> 00:07:37,430 >> Og áhugavert smáatriði hér er bara að ID hans 160 00:07:37,430 --> 00:07:40,670 er reyndar númer fjögur, sem ég veruleika eins fljótt og ég gerði þetta. 161 00:07:40,670 --> 00:07:44,260 Þú getur gert þetta sjálfur ef þú veist Facebook notendanafnið þitt ef þú hafa einn. 162 00:07:44,260 --> 00:07:45,440 Bara slá það upp efst þar. 163 00:07:45,440 --> 00:07:46,640 Og ekkert af þessu er persónulegur. 164 00:07:46,640 --> 00:07:48,670 Ég ætla bara að gera þetta jafnvel í fer huldu höfði ham. 165 00:07:48,670 --> 00:07:49,900 Þannig að ég ætla ekki einu sinni innskráður. 166 00:07:49,900 --> 00:07:54,440 Og þú ert að sjá, að ég greinilega var notandi númer 6454 167 00:07:54,440 --> 00:07:56,480 á Facebook, sem er ekki of slæmt þessa dagana. 168 00:07:56,480 --> 00:07:59,900 Svo einhvern veginn, munt þú einnig sjá Viðbótarupplýsingar þar. 169 00:07:59,900 --> 00:08:02,150 >> Og gagnlegt þáttur af því er að þú 170 00:08:02,150 --> 00:08:06,890 gæti skrifað eigin hugbúnað sem einhvern veginn samlaga gögn eins og þetta 171 00:08:06,890 --> 00:08:08,170 í eigin umsókn þína. 172 00:08:08,170 --> 00:08:10,650 Þú getur styrkja notendur til log inn í vefsíðuna þína, 173 00:08:10,650 --> 00:08:14,190 ekki með eigin sérsniðnum notandanafn og lykilorð en kannski Facebook innskráningu 174 00:08:14,190 --> 00:08:16,170 og fá upplýsingar, jafnvel um vini sína, 175 00:08:16,170 --> 00:08:18,740 ef þeir samþykkja slíkt, eða svipað. 176 00:08:18,740 --> 00:08:21,430 Svo huga að CS50, líka, hefur sumir af eigin API þess, 177 00:08:21,430 --> 00:08:24,620 einn fyrir Frumgreinanám gögn, sumir fyrir faðmlögum valmyndir í borðstofu 178 00:08:24,620 --> 00:08:26,730 sölum, öll byggingar og staði 179 00:08:26,730 --> 00:08:30,930 á háskólasvæðinu við höfum API eins og heilbrigður að þú getur fyrirspurn álíka og fá 180 00:08:30,930 --> 00:08:35,520 aftur texta gögn sem þú getur aðlagast í PHP, eða JavaScript, eða jafnvel, 181 00:08:35,520 --> 00:08:38,320 þó sjaldnar, a C byggt lokaverkefnið. 182 00:08:38,320 --> 00:08:41,190 >> Reyndar framundan fyrir endanleg verkefni eru nokkur áfangar. 183 00:08:41,190 --> 00:08:42,980 Þú fékk tölvupóst frá okkur um daginn. 184 00:08:42,980 --> 00:08:45,761 Grein fyrir því að tillögu er vegna þetta kemur mánudagur. 185 00:08:45,761 --> 00:08:49,010 Það er ekki endilega bindandi, en þú þurfa að fá kennslu félögum þínum 186 00:08:49,010 --> 00:08:51,260 samþykki áður en einhverjar breytingar eftir það. 187 00:08:51,260 --> 00:08:54,280 Og svo undan eru fjöldi annarra áfanga. 188 00:08:54,280 --> 00:08:56,542 >> Svo til að stríða þér, of, með nokkrum möguleikum, 189 00:08:56,542 --> 00:08:58,250 við höfum fullt af þessir Hue ljósaperur. 190 00:08:58,250 --> 00:09:01,190 Og sumir af þú krakkar nú hafa sumir af þessum í dorm herbergi eins og heilbrigður. 191 00:09:01,190 --> 00:09:02,920 Og þeir hafa líka með API. 192 00:09:02,920 --> 00:09:07,300 Svo muna þau tvöfaldur ljósaperur vikur síðan að Dan Bradley og Ansel 193 00:09:07,300 --> 00:09:08,780 Duff búið til fyrir okkur. 194 00:09:08,780 --> 00:09:12,560 Þeir notuðu hugbúnað tengi til Þessi ljós peru, sem á því augnabliki 195 00:09:12,560 --> 00:09:15,232 er tengt í rafmagn og þá í gegnum þráðlaust 196 00:09:15,232 --> 00:09:17,690 er tengdur við smá hlutur heitir Bridge hérna, 197 00:09:17,690 --> 00:09:21,280 eins og lítið leið Eigin til þessa tilteknu tæki. 198 00:09:21,280 --> 00:09:26,540 >> En það kemur í ljós ef ég veit hvernig á að senda HTTP skilaboð, eins og við gerum allt nú, 199 00:09:26,540 --> 00:09:31,670 Ég get sent skilaboð svona að þetta ljósapera til að kveikja eða slökkva á 200 00:09:31,670 --> 00:09:34,000 eða gera allir tala um aðrar aðgerðir á henni. 201 00:09:34,000 --> 00:09:36,110 Takið eftir að það er ekki fá, það er ekki staða. 202 00:09:36,110 --> 00:09:37,760 There 'annar einn gestur setja. 203 00:09:37,760 --> 00:09:39,630 Það er í raun nokkrar aðrar slíkar sagnir. 204 00:09:39,630 --> 00:09:42,920 En taka það er leið þar, rista API rista nýja verktaki, 205 00:09:42,920 --> 00:09:44,990 rista ljós, rista einn, rista ástand. 206 00:09:44,990 --> 00:09:49,060 >> Það er greinilega bara leið sem fyrirtækið, Philips, 207 00:09:49,060 --> 00:09:51,640 ákveðið að þú þarft að lemja með HTTP beiðni 208 00:09:51,640 --> 00:09:55,010 Ef þú vilt breyta stöðu á perunni með HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 Þá taka auða línu. 210 00:09:56,380 --> 00:10:00,170 Og þá loks hvað lítur út eins og konar fylki af einhverju tagi, 211 00:10:00,170 --> 00:10:04,730 þetta aftur er að fara að vera kölluð JavaScript Object Ritháttur, eða Jason. 212 00:10:04,730 --> 00:10:08,000 Og það sem þú sérð hér er að það eru þrjár helstu gildi pör. 213 00:10:08,000 --> 00:10:09,115 >> Einn lykill er kallaður. 214 00:10:09,115 --> 00:10:10,990 Og gildi þess virðist er að fara til að vera satt. 215 00:10:10,990 --> 00:10:13,612 Birtustig er 128, sem er einhvers konar int. 216 00:10:13,612 --> 00:10:15,820 Og þá er umskipti tími núll, sem er greinilega 217 00:10:15,820 --> 00:10:17,970 hversu lengi það er að fara til taka að snúa þetta á. 218 00:10:17,970 --> 00:10:19,890 >> Svo núna er þetta ljósapera burt. 219 00:10:19,890 --> 00:10:22,880 En ef ég gera nákvæmlega this-- láta mig fara í smá svindlari lak 220 00:10:22,880 --> 00:10:25,200 að Dan sett upp í advance-- og ég ætla 221 00:10:25,200 --> 00:10:27,920 að fara á undan og afrita eftirfarandi skipun. 222 00:10:27,920 --> 00:10:30,200 Curl, eins og sum ykkar gæti hafa tína ax á CS50 223 00:10:30,200 --> 00:10:35,080 Ræða er a gagnsemi eins Telnet slíkum að þú getir hermt HTTP beiðnir, 224 00:10:35,080 --> 00:10:36,360 sérstaklega setur. 225 00:10:36,360 --> 00:10:39,710 Ég get sent þessi gögn, sérstaklega hvað við bara 226 00:10:39,710 --> 00:10:43,430 sá stund síðan sérstaklega á þessa slóð hérna. 227 00:10:43,430 --> 00:10:46,310 Og þá Curl er að fara að höndla allar nauðsynlegar hausa 228 00:10:46,310 --> 00:10:47,600 og þáttun þar af. 229 00:10:47,600 --> 00:10:54,700 >> Svo er allt sem ég þarf að gera afrita þetta inn a endastöðvar og ýta síðan á Enter. 230 00:10:54,700 --> 00:10:56,000 Og ljósapera fer á. 231 00:10:56,000 --> 00:10:59,060 Og þetta er allt að fara í gegnum tölvan mín þráðlaust 232 00:10:59,060 --> 00:11:01,960 einhvern veginn niður að brú, sem er þá að tala við þessa ljósapera. 233 00:11:01,960 --> 00:11:02,960 Ég get gert eitthvað annað. 234 00:11:02,960 --> 00:11:07,050 Ég get gert þetta fara rautt til dæmis. 235 00:11:07,050 --> 00:11:11,040 Ég get til dæmis gert þetta fara grænn. 236 00:11:11,040 --> 00:11:12,220 Ég get gert það fara blár. 237 00:11:12,220 --> 00:11:14,760 >> Og taka í hvert þessara dæmi, allt sem ég er að breytast 238 00:11:14,760 --> 00:11:18,540 er svokölluð litblær virði reyndar gefa honum litinn. 239 00:11:18,540 --> 00:11:20,320 Svo láta mig líma þetta einn í eins og heilbrigður. 240 00:11:20,320 --> 00:11:21,000 Nú er það blátt. 241 00:11:21,000 --> 00:11:24,672 >> Og þú getur gert enn áhugamaður hlutir where-- skulum fara í grænt. 242 00:11:24,672 --> 00:11:26,630 Og ég gæti gert þetta af auðvitað með eigin númerið mitt. 243 00:11:26,630 --> 00:11:30,670 En jafnvel API sjálft styður angurvær starfsemi 244 00:11:30,670 --> 00:11:35,510 eins og þetta, sem mun nú nennir okkur fyrir næstu 30 sekúndum. 245 00:11:35,510 --> 00:11:39,170 >> Svo er það eitt bragð af því sem þú gætir gera með API, þetta felur 246 00:11:39,170 --> 00:11:40,010 ljósaperur. 247 00:11:40,010 --> 00:11:42,510 Athugaðu að CS50 hefur nokkra pör af Google Glass ef youd 248 00:11:42,510 --> 00:11:45,380 eins og til að takast á við eitthvað eftir þeim línum, Arduino Unos sem 249 00:11:45,380 --> 00:11:48,670 eru litla tölvur, í meginatriðum, á smá hringrás borð 250 00:11:48,670 --> 00:11:50,470 að þú getur tengt vír og annað 251 00:11:50,470 --> 00:11:52,732 til og í raun stjórna raunverulega heimi umhverfi þínu. 252 00:11:52,732 --> 00:11:54,940 Og svo eru par af nýjum leikföng sem við höfum. 253 00:11:54,940 --> 00:11:59,294 Þetta bókstaflega bara komin í daginn í pósti, a Myo borði utan um upphandlegg. 254 00:11:59,294 --> 00:12:01,710 Og ég hélt að það er leið til að fá þú spenntur um verkefni 255 00:12:01,710 --> 00:12:03,720 að þú getur notað með þetta myndi Vélbúnaður 256 00:12:03,720 --> 00:12:08,900 vera að spila þennan stutta bút sem þeir nota til að stríða fólkinu 257 00:12:08,900 --> 00:12:10,500 að við erum nú að búa í framtíðinni. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [Tónlist spila] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID MALAN: Svo í örfáum vikum, þú of geta vera að kaldur á CS50 sanngjörn. 262 00:13:37,109 --> 00:13:39,150 Annað tæki sem við hafa fullt af því að við erum 263 00:13:39,150 --> 00:13:42,090 fús til að lána út til verkefna er kallað hreyfing stjórnandi. 264 00:13:42,090 --> 00:13:45,030 Þetta er svolítið USB tæki tengst við tölvu sem 265 00:13:45,030 --> 00:13:47,520 gerir þér kleift að hafa samskipti við fartölvuna, Mac eða PC, 266 00:13:47,520 --> 00:13:51,570 eins og þú hafði eins Xbox Kinect og í raun gera líkamlega tillögur mikið 267 00:13:51,570 --> 00:13:54,509 eins og við sjáum í þessu framtíðarsýn. 268 00:13:54,509 --> 00:13:56,505 >> [Tónlist spila] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID MALAN: Svo jafnvel ef þú ert ekki hugmynd um hvernig eitthvað svoleiðis 271 00:15:06,260 --> 00:15:10,050 gæti hugsanlega verið fundin eða vinna á vélbúnaði stigi, sama. 272 00:15:10,050 --> 00:15:13,520 Jafnvel eftir aðeins nokkurra mánaða CS50, og skilning á forritun 273 00:15:13,520 --> 00:15:19,460 almennt, og vefur forritun meira nýlega, og þá einnig API, og HTTP, 274 00:15:19,460 --> 00:15:21,830 þú munt hafa aðgang í gegnum API hugbúnaður ef þú 275 00:15:21,830 --> 00:15:24,680 vil að láni einn af þessum tæki til að raunverulega tala við hana 276 00:15:24,680 --> 00:15:27,180 og ekki hafa áhyggjur óður í undirliggjandi framkvæmd 277 00:15:27,180 --> 00:15:30,220 Upplýsingar, sem er alveg í samræmi við þessa hugmynd um layering 278 00:15:30,220 --> 00:15:33,610 er abstrakt að við höfum séð um önnina. 279 00:15:33,610 --> 00:15:37,990 >> Svo einnig um helgina, sá nokkra stykki af fréttum. 280 00:15:37,990 --> 00:15:40,640 Fara fyrst, fara til námskeið ef þú langar að læra eitthvað 281 00:15:40,640 --> 00:15:42,160 meira á hvaða fjölda málefni. 282 00:15:42,160 --> 00:15:43,340 Sjá vefslóð þar. 283 00:15:43,340 --> 00:15:45,890 Og þetta var sent til mig með Chang, sem þú veist, 284 00:15:45,890 --> 00:15:47,850 sem er prentun her okkar fílar. 285 00:15:47,850 --> 00:15:49,910 Og það var fyrirsögn sem hér segir. 286 00:15:49,910 --> 00:15:51,280 Ég er skelfingu lostin af nýja sjónvarpinu mínu. 287 00:15:51,280 --> 00:15:54,301 Af hverju ég er hrædd að snúa þessu hlutur á og þú vilt líka. 288 00:15:54,301 --> 00:15:56,050 Þannig að við erum nú á benda í önn, 289 00:15:56,050 --> 00:15:58,860 líka, þar sem jafnvel ef þú ert hirða á skilningi 290 00:15:58,860 --> 00:16:02,620 um hvernig vefur virkar og HTTP, og öryggi, hlutir eins og þetta 291 00:16:02,620 --> 00:16:03,980 ætti að byrja að grípa augað. 292 00:16:03,980 --> 00:16:07,450 En einnig, munt þú skilja hvort þessir hlutir eru eða eru ekki 293 00:16:07,450 --> 00:16:08,430 að veruleika. 294 00:16:08,430 --> 00:16:10,940 >> Svo ég tók nokkrar ágrip af þessari grein hér. 295 00:16:10,940 --> 00:16:12,540 Og sagan er sem hér segir. 296 00:16:12,540 --> 00:16:14,300 Ég er nú eigandi nýtt Smart TV, sem 297 00:16:14,300 --> 00:16:18,470 lofar að skila streymi margmiðlun efni, leikir, app, 298 00:16:18,470 --> 00:16:21,450 félagslega fjölmiðla, og internet beit, ó og TV líka. 299 00:16:21,450 --> 00:16:24,410 Eina vandamálið er að ég er nú hræddur við að nota það, segir höfundur. 300 00:16:24,410 --> 00:16:29,592 Þú vildi vera, of, ef þú lest í gegnum 46. ​​Privacy Policy fyrir sjónvarpið. 301 00:16:29,592 --> 00:16:31,800 Magn gagna þetta hlutur safnar er yfirþyrmandi. 302 00:16:31,800 --> 00:16:35,710 Það logs hvar, hvenær, hvernig, og hve lengi þú notar sjónvarpið. 303 00:16:35,710 --> 00:16:38,190 Það setur rekja fótspor, eins og við höfum rætt, 304 00:16:38,190 --> 00:16:40,560 og beacons hannað að uppgötva þegar þú ert 305 00:16:40,560 --> 00:16:43,185 skoðað sérstaklega efni eða tiltekin skeyti 306 00:16:43,185 --> 00:16:45,230 Ef þú vilt að athuga tölvupóst á sjónvarpinu þínu. 307 00:16:45,230 --> 00:16:48,430 Það skráir apps þú nota, vefsíður sem þú heimsækir, 308 00:16:48,430 --> 00:16:52,280 og hvernig þú samskipti við efni, gera allt sem í gegnum sviði sjónvarpið. 309 00:16:52,280 --> 00:16:55,470 Það líka, creepier yet-- það er addition-- mín 310 00:16:55,470 --> 00:16:58,140 hefur a innbyggður í myndavélina með andliti viðurkenningu. 311 00:16:58,140 --> 00:17:01,010 >> Tilgangurinn er að veita bending stjórna fyrir sjónvarpinu 312 00:17:01,010 --> 00:17:05,490 og gerir þér kleift að skrá þig inn til persónulega reikning með andlit þitt. 313 00:17:05,490 --> 00:17:08,940 Á móti vega, eru myndirnar vistað í sjónvarpinu í stað þess að hlaðið 314 00:17:08,940 --> 00:17:09,940 að sameiginlegur miðlara. 315 00:17:09,940 --> 00:17:12,520 Á hæðir, internetið tenging gerir allan TV 316 00:17:12,520 --> 00:17:14,811 viðkvæmt fyrir tölvusnápur sem sýnt getu 317 00:17:14,811 --> 00:17:16,700 að taka fulla stjórn á vél. 318 00:17:16,700 --> 00:17:20,880 >> Meira áhyggjur, eins og ef það var ekki sviði nógur, er á hljóðnemanum. 319 00:17:20,880 --> 00:17:23,599 The TV státar rödd orðstír lögun 320 00:17:23,599 --> 00:17:26,859 sem gerir áhorfendur til að stjórna skjár með raddskipanir. 321 00:17:26,859 --> 00:17:30,290 En þjónustan kemur með frekar líkur viðvörun. 322 00:17:30,290 --> 00:17:33,030 Hafðu í huga að ef töluð orð þínar innihalda 323 00:17:33,030 --> 00:17:36,210 persónuleg eða önnur viðkvæm upplýsingar, þær upplýsingar 324 00:17:36,210 --> 00:17:40,310 verður meðal gögn handtaka og send til þriðja aðila. 325 00:17:40,310 --> 00:17:40,870 Got það? 326 00:17:40,870 --> 00:17:45,860 Ekki segja persónulega eða viðkvæmar efni í framan sjónvarpið. 327 00:17:45,860 --> 00:17:47,280 >> Svo er þetta í raun fyrir alvöru. 328 00:17:47,280 --> 00:17:50,530 Og það er erfitt að sjá hvort þú fara í Best Buy eða eins og fyrir sjónvörp 329 00:17:50,530 --> 00:17:51,030 þessa dagana. 330 00:17:51,030 --> 00:17:52,540 Þeir eru allir klár á einhvern hátt. 331 00:17:52,540 --> 00:17:54,740 Og þeir eru að fá betri og creepier. 332 00:17:54,740 --> 00:17:57,490 Og þeir eru einfaldlega að safna gögnum á þann hátt sem við höfum talað um 333 00:17:57,490 --> 00:18:01,840 og síðan að hlaða það um HTTP eða einhver önnur siðareglur að einhverju miðlara. 334 00:18:01,840 --> 00:18:05,720 >> Svo var þetta um skemmtilegt grein í þessu á netinu vefsvæði 335 00:18:05,720 --> 00:18:08,940 hér, sem talaði um einkum padda eða skakkur kóða 336 00:18:08,940 --> 00:18:11,340 að við getum raunverulega binda umræður síðustu viku. 337 00:18:11,340 --> 00:18:15,730 Þannig að þetta fyrirsögn var eins segir, sagan fer hér, 338 00:18:15,730 --> 00:18:18,720 Josh Breckman vann fyrir fyrirtæki sem lenti samning 339 00:18:18,720 --> 00:18:22,390 að þróa innihald stjórnun kerfi, eða CMS eins og þeir eru kallaðir, 340 00:18:22,390 --> 00:18:24,380 fyrir nokkuð stór vefsvæði stjórnvalda. 341 00:18:24,380 --> 00:18:27,300 Mikið af verkefninu þátt þróa vefumsjónarkerfi 342 00:18:27,300 --> 00:18:29,840 þannig að starfsmenn myndu vera fær um að byggja upp og viðhalda 343 00:18:29,840 --> 00:18:31,877 síkvikult efni fyrir síðuna sína. 344 00:18:31,877 --> 00:18:34,210 Things gekk nokkuð vel fyrir nokkrum dögum eftir að fara lifandi. 345 00:18:34,210 --> 00:18:37,020 En á sjötta degi, það gekk ekki svo vel. 346 00:18:37,020 --> 00:18:39,500 Allt efni á að viðbót hefði alveg horfið. 347 00:18:39,500 --> 00:18:42,950 Og allar síður leitt til vanræksla, Vinsamlegast sláðu inn innihald vefsíðu. 348 00:18:42,950 --> 00:18:43,810 Úpps. 349 00:18:43,810 --> 00:18:46,080 Josh var kallað í rannsaka og taka 350 00:18:46,080 --> 00:18:49,390 að einn sérstaklega óhentug til ytri IP heimilisfang hafði 351 00:18:49,390 --> 00:18:53,380 farið inn og eytt öllum efni á kerfinu. 352 00:18:53,380 --> 00:18:56,290 >> The IP heimilisfang ekki tilheyra að einhverju erlendis spjallþráð Bent 353 00:18:56,290 --> 00:18:58,340 á að eyðileggja gagnlegt upplýsingar ríkisstjórn. 354 00:18:58,340 --> 00:19:05,190 Það leyst að googlebot.com, Mjög eiga Google vefur skrið kónguló. 355 00:19:05,190 --> 00:19:06,010 Úpps. 356 00:19:06,010 --> 00:19:09,150 Eftir smá rannsókn og spæna kring að finna noncorrupt varabúnaður, 357 00:19:09,150 --> 00:19:10,180 Josh stofna the vandamál. 358 00:19:10,180 --> 00:19:12,700 >> Notandi hafði afritað og líma sumt efni frá einum 359 00:19:12,700 --> 00:19:15,670 síðu til annars, þar á meðal an edit Hyperlink 360 00:19:15,670 --> 00:19:17,577 að breyta efninu á síðunni. 361 00:19:17,577 --> 00:19:20,160 Venjulega myndi þetta ekki vera tölublað þar utanaðkomandi notandi myndi 362 00:19:20,160 --> 00:19:24,320 þurft að slá inn nafn og lykilorð, en CMS staðfesting kerfi, 363 00:19:24,320 --> 00:19:27,520 tenging kerfi, ekki taka tillit til 364 00:19:27,520 --> 00:19:30,980 háþróuð reiðhestur aðferðir Google Spider. 365 00:19:30,980 --> 00:19:31,700 Úpps. 366 00:19:31,700 --> 00:19:33,610 >> Eins og það kemur í ljós, Google Spider notar ekki 367 00:19:33,610 --> 00:19:36,950 kex, sem þýðir að það getur auðveldlega framhjá a stöðva fyrir 368 00:19:36,950 --> 00:19:39,840 er skráður á kex sett til að vera falskur. 369 00:19:39,840 --> 00:19:42,620 Það einnig hjartarskinn ekki borga eftirtekt til JavaScript, sem vanalega 370 00:19:42,620 --> 00:19:45,170 hvetja og beina notendum sem eru ekki skráð í. 371 00:19:45,170 --> 00:19:48,610 Það þýðir hins vegar að fylgja hverjum tengil á hverri síðu það finnur, 372 00:19:48,610 --> 00:19:51,700 þ.mt þeim sem eru með Eyða síðu í titlinum. 373 00:19:51,700 --> 00:19:52,650 Úpps. 374 00:19:52,650 --> 00:19:56,070 >> Svo hvað þýðir þetta í meira tæknilega en nokkuð aðgengileg skilmála? 375 00:19:56,070 --> 00:19:58,340 Það þýðir bara að Allan heimasíðu þeirra, 376 00:19:58,340 --> 00:20:02,287 þeir höfðu vefslóðir ekki ólíkt þessu einn sem þú gætir séð í Heimadæmi sjö. 377 00:20:02,287 --> 00:20:04,620 Muna í Heimadæmi sjö eða vita Heimadæmi sjö 378 00:20:04,620 --> 00:20:06,411 að þú ert áskorun, meðal annars, 379 00:20:06,411 --> 00:20:08,570 að selja hlutabréf fyrir hönd notenda. 380 00:20:08,570 --> 00:20:14,010 En framkvæmd þessi lögun af leið af fá um tengla í notandi þinn 381 00:20:14,010 --> 00:20:16,880 tengi, sennilega ekki smartest hugmynd 382 00:20:16,880 --> 00:20:20,300 því ef síða þín er einhvern veginn aðgengilegt annað hvort með því að manneskju 383 00:20:20,300 --> 00:20:23,577 sem er að smella í kring eða kaupa láni eins Google eða kóngulóar 384 00:20:23,577 --> 00:20:26,160 eins og þeir eru kallaðir það er bara skrið á vefnum að reyna að kemba 385 00:20:26,160 --> 00:20:29,060 vefnum eins og a leita vél, þeir gæti mjög auðveldlega 386 00:20:29,060 --> 00:20:31,340 högg með að fá þessa tegund af URL. 387 00:20:31,340 --> 00:20:33,770 Og það er virkni jafngildir, í þessu tilfelli, 388 00:20:33,770 --> 00:20:37,000 selja öll hlutabréf Google. 389 00:20:37,000 --> 00:20:40,030 >> Nú hreinskilnislega, það er alveg asinine að CMS 390 00:20:40,030 --> 00:20:43,240 notað JavaScript og smákökur að innleiða kerfi innskráningu sitt 391 00:20:43,240 --> 00:20:47,100 og ekki gera það framreiðslumaður hlið, eins þú krakkar gera og munu í PSet 7-- 392 00:20:47,100 --> 00:20:49,940 það er a login.php file-- alltaf, alltaf, 393 00:20:49,940 --> 00:20:52,789 alltaf öryggi ætti að vera gert á miðlara megin, 394 00:20:52,789 --> 00:20:56,080 ekki á the viðskiptavinur hlið, því sem þetta Greinin bendir og þú gætir sjálfur 395 00:20:56,080 --> 00:20:59,600 sjá á einhverjum tímapunkti, það er léttvæg fyrir notanda, gott eða slæmt, 396 00:20:59,600 --> 00:21:02,860 bara slökkva á JavaScript ekki sé minnst á smákökum. 397 00:21:02,860 --> 00:21:06,020 Svo er að dagleg WTF þitt. 398 00:21:06,020 --> 00:21:07,970 >> Það er einn, sem er bara svona skelfilegur, 399 00:21:07,970 --> 00:21:11,360 svo ég ætla að nefna það ef einungis sem líf lexíu. 400 00:21:11,360 --> 00:21:14,850 Alltaf þegar þú notar forrit kallað eins Snapchat eða þess háttar 401 00:21:14,850 --> 00:21:19,380 sem segir þessar myndir aðeins endast fimm sekúndur, tíu sekúndur, eða whatnot. 402 00:21:19,380 --> 00:21:21,680 Þeir eru skammlíf Það er alls ekki raunin. 403 00:21:21,680 --> 00:21:25,670 Eins og það er engin leið, stafrænt, að framkvæma einhvers konar vídeó, 404 00:21:25,670 --> 00:21:30,150 eða mynd eða texta deila svo að viðtakandi á hinum enda 405 00:21:30,150 --> 00:21:31,660 getur ekki einhvern veginn að vista gögnin. 406 00:21:31,660 --> 00:21:34,300 >> Í flestum barnaleg hátt, einhver gæti tekið símann þeirra. 407 00:21:34,300 --> 00:21:36,850 Og þeir hafa 10 sekúndna glugga meðan þú horfir á einhvern smella 408 00:21:36,850 --> 00:21:39,410 að bara taka einhverja aðra síma og mynda það, vitanlega. 409 00:21:39,410 --> 00:21:41,660 Svo er hægt að varðveita eitthvað stafrænt sem leið. 410 00:21:41,660 --> 00:21:44,620 Sum ykkar vita hvernig á að taka screenshots á símanum. 411 00:21:44,620 --> 00:21:49,290 Í staðreynd, ef þú veist þetta ekki, grein fyrir því að að minnsta kosti Snapchat, 412 00:21:49,290 --> 00:21:51,040 og ég held að annað forrit þessa dagana, 413 00:21:51,040 --> 00:21:53,720 amk segja þér ef viðtakandi hefur í raun 414 00:21:53,720 --> 00:21:55,310 tekið screenshot af mynd þinni. 415 00:21:55,310 --> 00:22:00,870 >> En verri enn, þetta var snappening, eins og einhver myntsláttumaður það nýlega, 416 00:22:00,870 --> 00:22:04,680 þar sem sumir 100.000 skyndimynd hafði verið gefin út 417 00:22:04,680 --> 00:22:09,310 í hvað er kallað torrent skrá á ýmsum vefsíðum á endanum. 418 00:22:09,310 --> 00:22:12,000 Og þessi innihélt heild búnt einka skilaboð og innlegg. 419 00:22:12,000 --> 00:22:15,210 Það kemur í ljós af þeim, góðkynja svo ekki það sem þú gætir átt von á. 420 00:22:15,210 --> 00:22:17,580 En vegna þess að fólk hafði notað þriðja aðila website, 421 00:22:17,580 --> 00:22:20,270 að skrá sig inn með Snapchat þeirra notandanafn og lykilorð og þá 422 00:22:20,270 --> 00:22:23,470 bjarga öllu af skyndimynd þeirra á þessum þriðja aðila website. 423 00:22:23,470 --> 00:22:26,130 Og það var að þriðji aðili heimasíðu sem var tölvusnápur, 424 00:22:26,130 --> 00:22:30,710 sem bara þýddi einhver mynstrağur út hvernig að fá allar 100.000 plús á þær myndir 425 00:22:30,710 --> 00:22:33,822 í eigin hörðum þeirra ökuferð fyrir síðari hlutdeild. 426 00:22:33,822 --> 00:22:36,030 Frankly, hér líka, það er eins konar af asinine að Snapchat 427 00:22:36,030 --> 00:22:39,360 er útfærð á þann hátt að þriðji aðili getur konar skurðpunktur 428 00:22:39,360 --> 00:22:43,310 gögn og að það er ekki bundið við þitt eigin forrit í gangi á símanum. 429 00:22:43,310 --> 00:22:46,947 En hér líka, átta sig á að þetta það ætti ekki að ná þér á óvart, 430 00:22:46,947 --> 00:22:49,030 eða að minnsta kosti að það er tekinn vera líf kennslustund hér. 431 00:22:49,030 --> 00:22:52,220 Ef þú vilt að tæknilega upplýsingar, fara á þessa vefslóð þar 432 00:22:52,220 --> 00:22:53,570 sem er í glærum dag. 433 00:22:53,570 --> 00:23:00,960 Allt í lagi, einhverjar spurningar um líf lærdóm dag í CS? 434 00:23:00,960 --> 00:23:02,710 Snúa að slökkva. 435 00:23:02,710 --> 00:23:04,970 Nokkuð á öllum? 436 00:23:04,970 --> 00:23:06,301 Nokkuð á öllum? 437 00:23:06,301 --> 00:23:09,050 Ég hef fengið mikið af fólki stöðva Snapchat þeirra eða eitthvað núna. 438 00:23:09,050 --> 00:23:11,690 >> Allt í lagi, svo SQL, Structured Query Language. 439 00:23:11,690 --> 00:23:12,509 Skulum vefja þetta. 440 00:23:12,509 --> 00:23:14,300 Og einnig, jafnvel þó við erum bara að klóra 441 00:23:14,300 --> 00:23:16,310 Yfirborð þessa tungumál, munum við gefa þér 442 00:23:16,310 --> 00:23:18,930 nóg í tungumálinu í formi PSet 7 443 00:23:18,930 --> 00:23:22,140 svo að þú getur takast sum nokkuð algeng virkni. 444 00:23:22,140 --> 00:23:24,912 En ljóst að það eru nokkrar hlutir sem við ekki þurfa á þér, 445 00:23:24,912 --> 00:23:27,120 en þeir eru að fara að vera mikilvægt að koma lokaverkefni 446 00:23:27,120 --> 00:23:30,760 og vissulega koma að raunverulegri vefsíður með raunverulegum notendum 447 00:23:30,760 --> 00:23:32,040 er þetta hönnun ákvörðun. 448 00:23:32,040 --> 00:23:34,460 >> Það kemur í ljós að í a MySQL gagnagrunnur, þú 449 00:23:34,460 --> 00:23:37,460 hafa bunches af val eins gögn tegundir fyrir dálka þína 450 00:23:37,460 --> 00:23:41,670 og öðrum hlutum, en þú ert líka val á svokölluðu geymslu 451 00:23:41,670 --> 00:23:44,570 vél fyrir öll gögn, tegund af skrá kerfi, 452 00:23:44,570 --> 00:23:46,700 Ef þú ert kunnuglegur, fyrir öll gögn. 453 00:23:46,700 --> 00:23:48,830 Hvaða snið er það geymt á endanum í? 454 00:23:48,830 --> 00:23:53,300 Og algengasta, ef til vill, hefur verið MyISAM og InnoDB, tæknileg hugtök 455 00:23:53,300 --> 00:23:56,060 að við munum hugsa um aðeins að því marki sem maður hefur 456 00:23:56,060 --> 00:23:58,500 og einn er ekki með eftirfarandi lögun. 457 00:23:58,500 --> 00:24:00,390 >> Segjum að þú hafir smá dorm ísskápur. 458 00:24:00,390 --> 00:24:03,030 Og geri ráð fyrir að þér og þínum herbergisfélagi, sem deila þessari ísskáp, 459 00:24:03,030 --> 00:24:04,682 eru mjög hrifinn af segja mjólk. 460 00:24:04,682 --> 00:24:07,140 Og þetta er í raun, hvernig saga var sagt mér leið til baka 461 00:24:07,140 --> 00:24:10,890 í dag þegar ég tók námskeið heitir CS 161 Operating Systems, sem 462 00:24:10,890 --> 00:24:12,580 álíka kannar þetta efni. 463 00:24:12,580 --> 00:24:13,760 Svo þú hefur fengið þetta ísskáp. 464 00:24:13,760 --> 00:24:14,630 Þú ert út af mjólk. 465 00:24:14,630 --> 00:24:17,000 Og þú kemur heim, herbergisfélagi þinn er enn bekknum eða hvað, 466 00:24:17,000 --> 00:24:19,208 og þú ákveður að ég ætla að fara út og fá smá mjólk. 467 00:24:19,208 --> 00:24:22,630 Svo þú loka ísskápnum, lockup dorm herbergi, fara yfir götu 468 00:24:22,630 --> 00:24:25,330 til CVS eða hvar, og fá í línu til að kaupa mjólk. 469 00:24:25,330 --> 00:24:28,960 >> Meðan, herbergisfélagi þinn kemur heim frá bekknum, fær í dorm herbergi, 470 00:24:28,960 --> 00:24:31,802 opnar ísskápinn, einnig áttar ooph, erum við út af mjólk. 471 00:24:31,802 --> 00:24:33,760 Svo hann eða hún lokar ísskápur og þá gerist 472 00:24:33,760 --> 00:24:35,610 að fara til annarra CVS, sem gerist að vera 473 00:24:35,610 --> 00:24:38,470 ein húsaröð frá öðrum CVS á torginu, og fær í samræmi 474 00:24:38,470 --> 00:24:40,230 þarna til að fá smá mjólk. 475 00:24:40,230 --> 00:24:42,524 Nú, auðvitað, a nokkrar mínútur síðar, þú bæði færð til baka, 476 00:24:42,524 --> 00:24:44,690 og versta af öllu hægt niðurstöður hefur gerst. 477 00:24:44,690 --> 00:24:45,792 Bæði þú hafa mjólk. 478 00:24:45,792 --> 00:24:47,500 Og þú ert ekki raunverulega eins og mjólk sem mikið. 479 00:24:47,500 --> 00:24:49,625 Svo er bara einn af þeim fara að súr á einhverjum tímapunkti. 480 00:24:49,625 --> 00:24:55,941 Svo nú þú ert með of mikið magn af mjólk í ísskápnum alla vegna hvers vegna? 481 00:24:55,941 --> 00:24:57,072 >> [Inaudible] 482 00:24:57,072 --> 00:24:59,780 DAVID MALAN: Já, þú gerðir ekki einhvern veginn samskipti við hvert annað 483 00:24:59,780 --> 00:25:00,904 að þú varst að fá mjólk. 484 00:25:00,904 --> 00:25:04,320 Svo í einföldustu leiðir í manna heim, 485 00:25:04,320 --> 00:25:08,390 hvernig gætir þú forðast þetta kjánalegt atburðarás gerist svo 486 00:25:08,390 --> 00:25:09,750 að þú endar bara upp með eitt. 487 00:25:09,750 --> 00:25:10,840 Texta þá, já gott. 488 00:25:10,840 --> 00:25:12,877 En hvernig annars? 489 00:25:12,877 --> 00:25:13,460 Post-það athugasemdir. 490 00:25:13,460 --> 00:25:14,626 DAVID MALAN: A Post-það í huga. 491 00:25:14,626 --> 00:25:17,150 Hvers konar samskipta sem segir herbergisfélagi þinn 492 00:25:17,150 --> 00:25:18,670 Ekki fara inn í ísskáp fyrir mjólk. 493 00:25:18,670 --> 00:25:20,440 Ég ætla að fara restock á mitt eigið. 494 00:25:20,440 --> 00:25:22,770 Svo þú þarft einhvern veginn að læsa þessa síðu. 495 00:25:22,770 --> 00:25:27,180 Svo við getum gert this-- við getum konar eyðileggja söguna og snúa inn CS sögu 496 00:25:27,180 --> 00:25:30,360 þar að hugsa um þetta eins og bara eins og breytu, sem er sögufrægur sumir gildi. 497 00:25:30,360 --> 00:25:32,570 Og núna er gildi mjólk er núll, 498 00:25:32,570 --> 00:25:35,410 sem þú vilt ekki þinn herbergisfélagi að skoða þá breytu 499 00:25:35,410 --> 00:25:38,730 og síðan taka ákvörðun hann eða hún sjálf miðað við stöðu þá breytu 500 00:25:38,730 --> 00:25:42,430 Ef þú ert í því ferli breyta stöðu þá breytu. 501 00:25:42,430 --> 00:25:46,140 >> Þá kom einn af línum af SQL sem við gefa þér í PSet 7. forskrift 502 00:25:46,140 --> 00:25:47,310 er þetta einn hér. 503 00:25:47,310 --> 00:25:49,740 Og við að eyða ekki mikið magn af tíma að tala um það. 504 00:25:49,740 --> 00:25:55,100 En það kemur í ljós, ef þú ert að reyna að kaupa hlutabréf í CS50 fjármál 505 00:25:55,100 --> 00:25:58,000 að þú hefur nú þegar sumir hlutir, þú 506 00:25:58,000 --> 00:26:01,750 langar að vera fær um að gera a tala af hlutum í stað saman. 507 00:26:01,750 --> 00:26:04,360 Þú vilt vera fær um að á áhrifaríkan hátt, á háu stigi, 508 00:26:04,360 --> 00:26:06,700 stöðva alla rétt, ef ég vil að kaupa fleiri hluti af ókeypis, 509 00:26:06,700 --> 00:26:08,780 eyri birgðir sem við tala um í sérstakur, 510 00:26:08,780 --> 00:26:10,660 Ég vil fyrst athuga hversu marga hluti sem ég hef. 511 00:26:10,660 --> 00:26:11,810 Og geri ráð fyrir það er fimm. 512 00:26:11,810 --> 00:26:14,600 Og ég geri ráð vil kaupa 10 fleiri, ég á endanum 513 00:26:14,600 --> 00:26:17,069 vilja hafa 15 hluti af lager. 514 00:26:17,069 --> 00:26:18,360 Svo ég verð að spyrja tvær spurningar. 515 00:26:18,360 --> 00:26:20,230 Hvað er the ástand af the breytu? 516 00:26:20,230 --> 00:26:21,470 Hvað er the ástand af the röð? 517 00:26:21,470 --> 00:26:22,970 Hversu margir hlutir hef ég nú? 518 00:26:22,970 --> 00:26:24,636 Þá þú vilt að fara á undan og uppfæra hana. 519 00:26:24,636 --> 00:26:27,720 Svo er að hliðstæðum við mjólk í að þú athuga línuna, 520 00:26:27,720 --> 00:26:30,730 og þá þú vilt að uppfæra hana því ef þú vilt kaupa 10 hluti, 521 00:26:30,730 --> 00:26:32,521 þú vilt ekki að breyta róður 10, þú 522 00:26:32,521 --> 00:26:35,300 langar að breyta því að 5 plús 10 eða, að sjálfsögðu, 15. 523 00:26:35,300 --> 00:26:40,030 >> Þessi lína af kóða tryggir að þessir tveir huglæg hugmyndir 524 00:26:40,030 --> 00:26:42,810 gerast saman eða ekki. 525 00:26:42,810 --> 00:26:46,920 Enginn, þar á meðal sumir annar notandi sem er skráður inn sama vef, 526 00:26:46,920 --> 00:26:49,900 getur einhvern veginn að trufla Eftirlit með röðinni 527 00:26:49,900 --> 00:26:52,960 og uppfærslu á röð veldu og uppfæra ef þú vilt. 528 00:26:52,960 --> 00:26:57,360 Og setningafræði er ekki frábær augljóst, en þetta eina línu, er langt er, 529 00:26:57,360 --> 00:27:01,150 tryggir að þeir tvær aðgerðir athuga breytu eða athuga línuna 530 00:27:01,150 --> 00:27:04,660 og uppfæra róður gerast atomically. 531 00:27:04,660 --> 00:27:06,849 >> Ó hér við fara aftur. 532 00:27:06,849 --> 00:27:07,890 Texti skilaboð á símanum mínum. 533 00:27:07,890 --> 00:27:09,954 Svo skulum gera þetta lítið meira steypu. 534 00:27:09,954 --> 00:27:12,120 Segjum sem svo að þú ert ekki framkvæmd ískáp, 535 00:27:12,120 --> 00:27:16,400 og þú ert ekki að innleiða PSet 7 heldur raunverulegt banka, 536 00:27:16,400 --> 00:27:20,000 eða ATM, sjálfvirk Teller Machine, þar sem þú einhvern veginn 537 00:27:20,000 --> 00:27:22,960 langar að vera fær um að styrkja notendum að flytja peninga 538 00:27:22,960 --> 00:27:24,500 frá einum reikningi til annars. 539 00:27:24,500 --> 00:27:25,100 OK, hanga á. 540 00:27:25,100 --> 00:27:26,683 Ég ætla að slökkva á þessu núna, þakka þér. 541 00:27:26,683 --> 00:27:30,450 Þannig að við viljum að flytja peninga frá einum reikningi 542 00:27:30,450 --> 00:27:33,600 í öðrum reikningi númer, sérstaklega $ 100. 543 00:27:33,600 --> 00:27:37,690 Svo er af þessu tagi handahófskennt dæmi, þar sem þú, ATM, 544 00:27:37,690 --> 00:27:41,060 might vilja til að framkvæma tvö SQL leitirnar, draga frá einum reikningi, 545 00:27:41,060 --> 00:27:42,430 og bæta við hinn reikninginn. 546 00:27:42,430 --> 00:27:46,766 En þú vilt að tryggja að þessar tvær línur bæði gerast eða alls ekki. 547 00:27:46,766 --> 00:27:48,640 Þú vilt ekki eitthvað fá hlé. 548 00:27:48,640 --> 00:27:51,440 Þú gera ekki sumir sviði slæmur strákur einhvern veginn standa á Bank of America 549 00:27:51,440 --> 00:27:53,270 með tveimur hraðbönkum í framan af honum og einhvern veginn 550 00:27:53,270 --> 00:27:55,270 konar vélritun í skipanir á sama tíma, 551 00:27:55,270 --> 00:28:01,230 vonandi að reyna að draga $ 200 í stað á $ 100 og aðeins hafa $ 100 lögð. 552 00:28:01,230 --> 00:28:04,450 Í stuttu máli, þú vilt þetta til hegða sér nákvæmlega eins og þú átt von á. 553 00:28:04,450 --> 00:28:06,540 >> Og hvernig þú gerir þetta í SQL gagnagrunni er 554 00:28:06,540 --> 00:28:09,350 þú sett það í hvað er kallað viðskipti. 555 00:28:09,350 --> 00:28:14,290 Bókstaflega í SQL, þú getur hringt CS50 er fyrirspurn virka með tilvísun unquote byrjun 556 00:28:14,290 --> 00:28:15,370 viðskipti. 557 00:28:15,370 --> 00:28:18,640 Þá er hægt að framkvæma allir tala síðari SQL fyrirspurnum, 558 00:28:18,640 --> 00:28:20,870 en enginn þeirra taka áhrif á gagnagrunninum 559 00:28:20,870 --> 00:28:25,880 þar þú kallar fyrirspurn vitna unquote fremja, ef aftur með PHP. 560 00:28:25,880 --> 00:28:29,810 Og á þennan hátt, er hægt að tryggja að jafnvel ef þú hafa 1000 notendur allt 561 00:28:29,810 --> 00:28:32,080 hitting gagnagrunninn á sama tíma, SQL 562 00:28:32,080 --> 00:28:34,540 mun lofa að þessir tvær fyrirspurnir verða 563 00:28:34,540 --> 00:28:36,740 framkvæmda eitt rétt á eftir öðrum. 564 00:28:36,740 --> 00:28:40,330 Svo þú endir ekki upp með umfram mjólk eða rangt magn, að lokum, 565 00:28:40,330 --> 00:28:40,830 af peningum. 566 00:28:40,830 --> 00:28:43,110 >> Þannig að þetta í huga, ekki svo mikið fyrir PSet 7. 567 00:28:43,110 --> 00:28:45,250 en fyrir lokaverkefni ef þú ert í raun og veru 568 00:28:45,250 --> 00:28:49,690 reyna að færa gögn um yfir borðum eins og þú might hér. 569 00:28:49,690 --> 00:28:53,980 En jafnvel einfaldari og meira augljóst að skilja með dæmi 570 00:28:53,980 --> 00:28:54,860 er þetta einn hér. 571 00:28:54,860 --> 00:28:57,760 Og einhver send okkur um þetta bara um daginn 572 00:28:57,760 --> 00:28:59,600 þegar hann sá eitthvað svipað á netinu. 573 00:28:59,600 --> 00:29:03,480 >> Svo að þekkingu mína, pinna kerfi er ekki viðkvæmt fyrir þessari árás. 574 00:29:03,480 --> 00:29:06,637 Og ég hef ekki hugmynd um hvort það notar jafnvel SQL gagnagrunn undir hetta. 575 00:29:06,637 --> 00:29:08,470 En við skulum nota það fyrir sakir umræðu. 576 00:29:08,470 --> 00:29:10,178 Hér er skjár sem Harvard fólkinu tilhneigingu 577 00:29:10,178 --> 00:29:13,620 að sjá þegar þú skráir þig inn með þeirra Harvard kennitölu og PIN-númer sitt. 578 00:29:13,620 --> 00:29:19,020 Og ætla að pinna kerfi væri framkvæmda í PHP og MySQL 579 00:29:19,020 --> 00:29:22,000 gagnasafn, kóðinn að einhver gæti hafa skrifað árum 580 00:29:22,000 --> 00:29:23,270 gæti litið svona út. 581 00:29:23,270 --> 00:29:25,230 First, lýsa yfir breytu kallað notandanafn. 582 00:29:25,230 --> 00:29:27,560 Og bara fá að frá Færslan sem superglobal. 583 00:29:27,560 --> 00:29:30,140 Þá fá aðra breytu heitir lykilorð og gera það sama. 584 00:29:30,140 --> 00:29:33,080 Og þá bara framkvæma þetta lengi fyrirspurn hér, 585 00:29:33,080 --> 00:29:36,690 Veldu stjörnu frá notendum þar notandanafn jafngildir svo og svo 586 00:29:36,690 --> 00:29:38,510 og lykilorð jafngildir svo og svo. 587 00:29:38,510 --> 00:29:40,660 >> Eftir því að hrokkið axlabönd Ég hef notað hér 588 00:29:40,660 --> 00:29:42,880 bara átt við PHP, fara undan og varamaður 589 00:29:42,880 --> 00:29:45,400 gildi þessara tveggja breytur þarna. 590 00:29:45,400 --> 00:29:50,090 Þeir eru ekki bráðnauðsynlegt, en þeir hafa tilhneigingu til að forðast lúmskur villur. 591 00:29:50,090 --> 00:29:53,650 Svo lítur þetta alveg rétt við fyrstu sýn. 592 00:29:53,650 --> 00:29:54,240 Og það er. 593 00:29:54,240 --> 00:29:56,680 Þú gæti framkvæma pinna kerfi á þennan hátt. 594 00:29:56,680 --> 00:30:00,460 >> En geri ráð fyrir að frábær klár og illar nemandi 595 00:30:00,460 --> 00:30:03,020 inntak þetta sem pinna hans eða hennar. 596 00:30:03,020 --> 00:30:05,550 Svo ég hef fjarlægt bullet merki hér í spotta upp, 597 00:30:05,550 --> 00:30:08,760 og ég hef reyndar í ljós hvað hann eða hún gæti verið að skrifa. 598 00:30:08,760 --> 00:30:10,350 Og það er svolítið skrítið. 599 00:30:10,350 --> 00:30:13,850 En hvað stökk út á þig með hugsanlega áhyggjuefni um inntak notandans, 600 00:30:13,850 --> 00:30:16,450 jafnvel ef þú hefur enga hugmynd um hvað a SQL innspýting árás þýðir. 601 00:30:16,450 --> 00:30:20,300 Hvers vegna er þetta líta svolítið Fishy? 602 00:30:20,300 --> 00:30:21,050 Hvað er það? 603 00:30:21,050 --> 00:30:21,550 [Inaudible] 604 00:30:21,550 --> 00:30:24,260 DAVID MALAN: The eða er smá grunsamlegt. 605 00:30:24,260 --> 00:30:26,310 Í staðreynd, það er leitarorð frá SQL. 606 00:30:26,310 --> 00:30:28,105 Svo sem ekki Bode vel. 607 00:30:28,105 --> 00:30:29,980 Sú staðreynd að það er Öll þessi einfalda gæsalöpp 608 00:30:29,980 --> 00:30:32,646 there-- í raun einn af the auðveldlega leiðir til að brjóta Sum gagnasöfn 609 00:30:32,646 --> 00:30:35,880 er með því að slá inn heiti eins O'Reilly sem hefur úrfellingarmerki í það 610 00:30:35,880 --> 00:30:38,600 því ef mönnum sem skrifaði kóðinn á bak við tjöldin 611 00:30:38,600 --> 00:30:41,570 tekur ekki tillit til þess að það gæti verið einfalda gæsalöpp í notanda 612 00:30:41,570 --> 00:30:45,060 inntak, og hann eða hún er að nota einfalda gæsalöpp í númerið þeirra, 613 00:30:45,060 --> 00:30:46,040 slæmir hlutir geta gerst. 614 00:30:46,040 --> 00:30:47,870 >> Í raun verri enn, íhuga þetta. 615 00:30:47,870 --> 00:30:50,600 Ef þetta var aftur kóðinn að einhver í Harvard ár 616 00:30:50,600 --> 00:30:53,100 síðan skrifaði fyrir pinna kerfi, taka eftir hvað er 617 00:30:53,100 --> 00:30:56,220 um það bil að fá setinn fyrir notandanafn og lykilorð 618 00:30:56,220 --> 00:30:59,780 Ef notandinn slær inn aftur skroob sem notandanafn þeirra 619 00:30:59,780 --> 00:31:03,960 og síðan einn, tveir, þrír, fjórir, fimm, vitna eða vitna unquote einn jafningja 620 00:31:03,960 --> 00:31:04,660 vitna einn. 621 00:31:04,660 --> 00:31:07,220 Og taka eftir hvað er lykillinn hér er að notandinn hefur ekki 622 00:31:07,220 --> 00:31:09,900 byrjaði lykilorð þeirra eða PIN-númer sitt með tilvísun. 623 00:31:09,900 --> 00:31:12,610 Og þeir hafa ekki endaði það með tilvísun vegna þess að hann eða hún 624 00:31:12,610 --> 00:31:16,315 er gert ráð fyrir því að ef forritari var ekki svo mikil, 625 00:31:16,315 --> 00:31:18,690 þeir eru að fara að hafa þá einfalda gæsalöpp í númer þeirra. 626 00:31:18,690 --> 00:31:19,860 >> Svo hér er kóðinn. 627 00:31:19,860 --> 00:31:23,820 Og útskipting sem gæti nú gerst er þetta. 628 00:31:23,820 --> 00:31:26,350 Og ég hef undirstrikað það notandinn hefur slegið inn. 629 00:31:26,350 --> 00:31:28,480 Svo áður, eftir. 630 00:31:28,480 --> 00:31:33,330 Og taka eftir hvað er mildilega áhyggjuefni nú um rétta hluta þessa SQL kóða? 631 00:31:33,330 --> 00:31:36,300 Það er a lítill flóknara, að vísu, en fyrirspurnum sem við höfum séð. 632 00:31:36,300 --> 00:31:38,550 En þetta getur ekki hugsanlega vera góður hlutur ef þú ert 633 00:31:38,550 --> 00:31:42,240 segja velja stjörnu, sem er að velja allt frá töflunni notandans 634 00:31:42,240 --> 00:31:46,630 þar notandanafn jafnt skroob og lykilorð er jafnt og einn, tveir, þrír, fjórir, 635 00:31:46,630 --> 00:31:49,610 fimm eða einn jafngildir einn. 636 00:31:49,610 --> 00:31:53,860 Hvað er rökrétt vísbendingu þeirrar síðustu ákvæði væntanlega? 637 00:31:53,860 --> 00:31:55,650 Það er bara alltaf satt. 638 00:31:55,650 --> 00:31:59,930 >> Og vegna þess að við höfum konar giska eða mynstrağur út með reynslu og villa 639 00:31:59,930 --> 00:32:02,760 að forritari sem skrifaði þennan kóða ekki 640 00:32:02,760 --> 00:32:07,250 ráð fyrir manna eða slæmt manneskja slá í einn quotes eins vel, 641 00:32:07,250 --> 00:32:10,350 getum setningafræðilega ljúka SQL fyrirspurn 642 00:32:10,350 --> 00:32:12,260 með eitthvað vitlausrar en eitthvað sem 643 00:32:12,260 --> 00:32:15,930 er setningafræðilega rangt sem alltaf metur að satt. 644 00:32:15,930 --> 00:32:19,130 Þannig að ef þetta númer er að nota til að svara spurningin sönn eða ósönn ætti 645 00:32:19,130 --> 00:32:22,930 þessi notandi leyft að fara, að Svarið er alltaf virðist fara 646 00:32:22,930 --> 00:32:26,930 til að vera satt því að þetta er alltaf að fara til að velja eitthvað úr gagnagrunni 647 00:32:26,930 --> 00:32:29,280 vegna þess að einn af sjálfsögðu jafngildir alltaf einn. 648 00:32:29,280 --> 00:32:30,360 >> Svo er það lausnin? 649 00:32:30,360 --> 00:32:33,290 Jæja í PSet 7, reyndar við forðast þetta allt saman. 650 00:32:33,290 --> 00:32:37,360 Við gefum þér fyrirspurn virka, og við hvetjum þig til að nota spurningarmerki 651 00:32:37,360 --> 00:32:40,430 sem staðgenglum, svipað í anda að printf er% s, 652 00:32:40,430 --> 00:32:43,710 en hvað er lykillinn um spurningarmerki hér er ef þú lesir í raun í gegnum 653 00:32:43,710 --> 00:32:46,950 functions.php, þar okkar fyrirspurn virka er hrint í framkvæmd, 654 00:32:46,950 --> 00:32:52,780 þessir spurningarmerki eru slapp, þar nokkuð hættuleg 655 00:32:52,780 --> 00:32:58,210 eins einn vitna er snúið inn slapp einn vitna. 656 00:32:58,210 --> 00:33:00,590 >> Svo er þetta það sem er raunverulega að gerast ef þú 657 00:33:00,590 --> 00:33:04,850 nota fyrirspurn virka CS50 er eða allir tala þriðja aðila ókeypis bókasöfn sem 658 00:33:04,850 --> 00:33:06,000 gera það sama. 659 00:33:06,000 --> 00:33:09,850 Skiptir ekki máli í þessu tilfelli, í grænt, ef notandinn hefur slegið í einum tilvísun 660 00:33:09,850 --> 00:33:12,070 vegna þess að fyrirspurn fall sem við skrifuðum er 661 00:33:12,070 --> 00:33:15,120 fara að bæta backslashes áður allir svo hættulegt vitna. 662 00:33:15,120 --> 00:33:17,360 Þannig að þetta er ekki, í staðreynd, að fara að vera legit. 663 00:33:17,360 --> 00:33:20,910 Þetta er eins og að slá í brjálaður útlit lykilorð sem er, að sjálfsögðu, ekki að fara 664 00:33:20,910 --> 00:33:23,490 vera raunverulegur lykilorð skroob er. 665 00:33:23,490 --> 00:33:28,260 >> Svo takeaway fyrir CS50 er einn, algerlega nota alltaf eitthvað 666 00:33:28,260 --> 00:33:30,860 eins CS50 er fyrirspurn virka eða undirliggjandi bókasafn, 667 00:33:30,860 --> 00:33:32,560 sem gerist að vera kölluð PDO. 668 00:33:32,560 --> 00:33:35,880 En aldrei, aldrei, aldrei gera kóðann svona 669 00:33:35,880 --> 00:33:39,472 án sleppi eða skúra eins og þeir segja inntak þinn. 670 00:33:39,472 --> 00:33:42,430 Og þú verður á einhverjum tímapunkti líklega rekast sumum vefsvæði eins og þetta. 671 00:33:42,430 --> 00:33:46,060 Í raun virðist það vera raunin eins og á flugvöllum og hótelum í stöðum 672 00:33:46,060 --> 00:33:48,880 þar sem þeir eru með ókeypis Wi-Fi Aðgang sem þú þarft að skrá þig inn til, 673 00:33:48,880 --> 00:33:51,010 Þessar vefsíður eru alltaf hryllilegur framkvæmda. 674 00:33:51,010 --> 00:33:55,680 Og svo eins konar gaman heima æfingu, ekki fyrir illgjarn tilgangur eða meira 675 00:33:55,680 --> 00:33:59,170 af gaman á veginum æfa, er bara að slá 676 00:33:59,170 --> 00:34:02,850 úrfellingarmerki, einn vitna, í form á einhverjum vef 677 00:34:02,850 --> 00:34:03,810 og sjá hvað gerist. 678 00:34:03,810 --> 00:34:06,660 Og ef hrun miðlara eða gefur þú einhvers konar villuboð, 679 00:34:06,660 --> 00:34:09,690 það getur mjög vel verið að einhver hefur ekki gert ráð fyrir þessu. 680 00:34:09,690 --> 00:34:15,239 Og þá ættir þú að láta rétta yfirvöld og halda ekki lengra. 681 00:34:15,239 --> 00:34:20,843 >> Svo nú þú krakkar ættu vonandi skilja aðeins meira geek húmor hér. 682 00:34:20,843 --> 00:34:24,120 >> [Hlátur] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID MALAN: Þú veist að þú ert gáfuð. 685 00:34:29,070 --> 00:34:30,944 Fyrir næstu ár, þú munt muna 686 00:34:30,944 --> 00:34:33,520 sem lítið Bobby Tables er vegna þessa teiknimynd hér. 687 00:34:33,520 --> 00:34:36,760 Svo halda að í huga þegar við samhengi skipta eitt síðasta skipti 688 00:34:36,760 --> 00:34:38,770 dag til JavaScript. 689 00:34:38,770 --> 00:34:41,600 Við höfum eytt tiltölulega lítið tími á setningafræði PHP 690 00:34:41,600 --> 00:34:43,440 því það er í raun Super svipað C 691 00:34:43,440 --> 00:34:47,300 Og fallega nóg, JavaScript of er frábær svipað setningafræði önnur C 692 00:34:47,300 --> 00:34:49,639 eins vel og við munum sjá í bara smá stund og svo við munum 693 00:34:49,639 --> 00:34:51,205 sjá síðar í þessari viku í sérstaklega. 694 00:34:51,205 --> 00:34:54,080 Það sem þú getur gert með þessu tungumáli, þó, er allt öflugri, 695 00:34:54,080 --> 00:34:55,790 sérstaklega með API. 696 00:34:55,790 --> 00:34:56,960 >> En fyrst a fljótur ferð. 697 00:34:56,960 --> 00:35:00,450 Svo, í JavaScript, það er eitt engin aðalæð virka, sem er ágætur. 698 00:35:00,450 --> 00:35:02,650 Eins og með PHP, getur þú bara að skrifa kóðann. 699 00:35:02,650 --> 00:35:04,310 Aðstæður líta svona út. 700 00:35:04,310 --> 00:35:07,100 Og Boolean tjáning gæti líta svona eða svona. 701 00:35:07,100 --> 00:35:09,530 Rofar til, og þeir gæti litið svona út. 702 00:35:09,530 --> 00:35:10,970 Fjórar lykkjur líta svona út. 703 00:35:10,970 --> 00:35:12,390 Þó lykkjur líta svona út. 704 00:35:12,390 --> 00:35:14,160 Gera endrum líta svona út. 705 00:35:14,160 --> 00:35:16,850 Og þá fylki líta eins þetta, mjög svipað PHP. 706 00:35:16,850 --> 00:35:20,740 En taka eftir, að í JavaScript lýsa breytu ekki með dollara 707 00:35:20,740 --> 00:35:25,190 undirrita, ekki með gögn gerð en bókstaflega með því að segja vágildi fyrir breytu fyrir það. 708 00:35:25,190 --> 00:35:27,900 Það of er lauslega slegið í því að það hefur gerðir, 709 00:35:27,900 --> 00:35:29,729 en þú hefur ekki beinlínis lýsa þeim. 710 00:35:29,729 --> 00:35:31,520 Og þá string, fyrir dæmi, gætu litið 711 00:35:31,520 --> 00:35:34,350 eins og þetta, að strengur vera kölluð s í þessu tilfelli. 712 00:35:34,350 --> 00:35:35,410 Og svo hlutur. 713 00:35:35,410 --> 00:35:37,010 Og þessir sem við munum sjá meira áður en langur. 714 00:35:37,010 --> 00:35:41,470 Og hlut er ef til vill einn af oftast séð gögn uppbygging 715 00:35:41,470 --> 00:35:44,050 í JavaScript byggt program því það gerir 716 00:35:44,050 --> 00:35:46,680 þér kleift að tengja handahófskennt lykill gildi pör bara 717 00:35:46,680 --> 00:35:51,240 eins tengnar fylki PHP er og bara eins og eigin kjötkássa töflunni 718 00:35:51,240 --> 00:35:54,042 eða reyna eins og við framkvæmd Nokkrum vikum aftur. 719 00:35:54,042 --> 00:35:56,250 Svo skulum raunverulega sjá hvað við getum gert með JavaScript. 720 00:35:56,250 --> 00:35:59,410 Og einkum er þetta þvottahús listi af lögun 721 00:35:59,410 --> 00:36:02,300 sem vafrar hafa þessi leyfa okkur að krókur JavaScript 722 00:36:02,300 --> 00:36:05,470 í viðbót á eftirfarandi hátt. 723 00:36:05,470 --> 00:36:09,340 JavaScript er oft notað sem viðskiptavinur hlið forskriftarþarfir tungumál. 724 00:36:09,340 --> 00:36:10,130 Það er ekki unnin. 725 00:36:10,130 --> 00:36:11,370 Það líka er túlkað. 726 00:36:11,370 --> 00:36:15,740 En ólíkt PHP, sem hefur verið í gangi á miðlara, the vefur framreiðslumaður, 727 00:36:15,740 --> 00:36:18,220 eða djúpt inni á viðskiptavinir, JavaScript 728 00:36:18,220 --> 00:36:22,190 er öðruvísi í því það yfirleitt keyrir í vafranum. 729 00:36:22,190 --> 00:36:26,060 >> Svo allir JavaScript kóða sem þú byrja að skrifa fyrir PSet 8 eða lokaverkefnið þitt, 730 00:36:26,060 --> 00:36:29,890 eða í raunveruleikanum er almennt að fara að vera vistuð á miðlara, algerlega 731 00:36:29,890 --> 00:36:33,110 í punktur HTML eða punktur JS fyrir JavaScript skrá. 732 00:36:33,110 --> 00:36:35,770 En vafrinn er að fara að sækja að JavaScript 733 00:36:35,770 --> 00:36:39,530 kóða til eigin dæmi þínu Chrome eða IE eða Firefox, eða hvað sem er. 734 00:36:39,530 --> 00:36:43,870 Og númerið er í raun að fara að fá keyrð innan eigin vafranum þínum. 735 00:36:43,870 --> 00:36:46,560 Bara til að gera þetta meira alvöru, skulum sjá þetta í steypu formi. 736 00:36:46,560 --> 00:36:50,120 >> Við höfum enga hugmynd um hvað þessi kóði gerir án þess að lesa í gegnum það. 737 00:36:50,120 --> 00:36:52,670 En láta mig fara í Facebook.com án að skrá þig inn. 738 00:36:52,670 --> 00:37:00,440 Leyfðu mér að fara að skoða frumefni og fara til, segjum, Network og endurhlaða síðunni. 739 00:37:00,440 --> 00:37:04,150 Og við munum see-- láta mig vakt endurhlaða Page að fá allar beiðnir til nýtt. 740 00:37:04,150 --> 00:37:08,850 Og fyrsta skrá ég er CSS, CSS. 741 00:37:08,850 --> 00:37:10,880 Hér er fyrst JavaScript skrá, og ég hef 742 00:37:10,880 --> 00:37:14,600 ekki hugmynd hvað þetta gerir, en hér er sumir af JavaScript kóða 743 00:37:14,600 --> 00:37:16,180 sem rekur Facebook. 744 00:37:16,180 --> 00:37:18,400 Það er ekki einu sinni í raun að sýna til að auka aðdrátt. 745 00:37:18,400 --> 00:37:20,260 Það er samt bara eins og nonsensical. 746 00:37:20,260 --> 00:37:24,341 >> En þú munt sjá enn niður hér, það er jafnvel fleiri af þessum JavaScript skrár. 747 00:37:24,341 --> 00:37:24,840 Úpps. 748 00:37:24,840 --> 00:37:25,440 Það er a smellur. 749 00:37:25,440 --> 00:37:28,550 Við skulum fara niður smá lengra, lengra, lengra. 750 00:37:28,550 --> 00:37:29,894 Það er eitt. 751 00:37:29,894 --> 00:37:31,238 Það er eitt. 752 00:37:31,238 --> 00:37:31,880 Það er eitt. 753 00:37:31,880 --> 00:37:35,820 >> Svo jafnvel þótt Facebook, á bak við tjöldin, er skrifuð að hluta til í PHP 754 00:37:35,820 --> 00:37:39,100 og eigin útgáfa Facebook þess, það er a gríðarstór magn af JavaScript. 755 00:37:39,100 --> 00:37:41,330 Í raun, eitthvað af spjalla sem þú gerir á Facebook, 756 00:37:41,330 --> 00:37:45,520 einhverju inline Tímalína uppfærslur að gerast í rauntíma, allt sem 757 00:37:45,520 --> 00:37:47,944 er ekið með JavaScript. 758 00:37:47,944 --> 00:37:48,444 Já? 759 00:37:48,444 --> 00:37:50,235 >> Áhorfendur: Ég er ekki viss ef þetta er Facebook, 760 00:37:50,235 --> 00:37:53,624 en ég hélt að Facebook þróað eigin í húsinu númer þeirra tungumál? 761 00:37:53,624 --> 00:37:54,540 DAVID MALAN: Þeir gerðu. 762 00:37:54,540 --> 00:37:58,110 Svo er það hvers vegna ég segi að dreifni PHP heitir Hip Hop sem þeir í raun og veru 763 00:37:58,110 --> 00:38:03,440 added lögun til þannig að þegar Mark framkvæmda fyrst Facebook, 764 00:38:03,440 --> 00:38:04,710 það var skrifað í PHP. 765 00:38:04,710 --> 00:38:07,370 Og því um hefur haldist einhverskonar forsíðu tungumál 766 00:38:07,370 --> 00:38:09,030 að þeir nota mikið kóðun þeirra, en það 767 00:38:09,030 --> 00:38:11,870 hefur ekki verið tungumál sem er vog sérstaklega vel að milljörðum 768 00:38:11,870 --> 00:38:12,630 fólks. 769 00:38:12,630 --> 00:38:15,300 Og svo hafa þeir bætt eigin spýtur úrbætur á bak við tjöldin. 770 00:38:15,300 --> 00:38:17,049 Og þeir nota allir tala annarra tungumála 771 00:38:17,049 --> 00:38:19,170 fyrir ýmsum stykki af uppbygging þeirra. 772 00:38:19,170 --> 00:38:24,080 Svo já, það er dreifni það sem við vitum nú eins PHP. 773 00:38:24,080 --> 00:38:26,610 >> Svo skulum taka a líta á nokkra dæmum 774 00:38:26,610 --> 00:38:28,890 um hvernig við gætum notað JavaScript hér. 775 00:38:28,890 --> 00:38:32,530 Í dag frumkóða, höfum við búnt af skrá, sá fyrsti sem, 776 00:38:32,530 --> 00:38:34,090 skulum kallast DOM núll. 777 00:38:34,090 --> 00:38:36,770 Svo DOM núll lítur sem hér segir. 778 00:38:36,770 --> 00:38:40,730 Leyfðu mér að fara inn í þessa möppu og opna domzero.html, 779 00:38:40,730 --> 00:38:44,970 efst sem hefur læknir gerð yfirlýsing, segja hér kemur HTML 5. 780 00:38:44,970 --> 00:38:46,440 Og nú er hér HTML tag. 781 00:38:46,440 --> 00:38:47,540 Hér er höfuð tag. 782 00:38:47,540 --> 00:38:49,210 Og hér er það sem er nýtt í dag. 783 00:38:49,210 --> 00:38:52,620 >> Við höfum nú handrit tag inni í höfði á síðunni. 784 00:38:52,620 --> 00:38:55,290 Og þetta virðist virkar mjög lítið, en tilkynning 785 00:38:55,290 --> 00:38:58,410 sem ég hef skilgreint að handrit, a JavaScript. 786 00:38:58,410 --> 00:39:01,050 Og Sem innskot, þar sem þetta er sameiginlegur misskilningur, 787 00:39:01,050 --> 00:39:05,220 JavaScript hefur nákvæmlega ekkert að gera með Java, tungumál 788 00:39:05,220 --> 00:39:08,010 að sumir af þú gætir hafa lært í APC. 789 00:39:08,010 --> 00:39:10,480 Það var meira um markaðssetningu hlutur en nokkuð, 790 00:39:10,480 --> 00:39:12,980 útreiðar the coattails af Java árum. 791 00:39:12,980 --> 00:39:17,300 En JavaScript, ekkert að gera með Java, bara álíka og annoyingly, 792 00:39:17,300 --> 00:39:18,480 confusingly heitir. 793 00:39:18,480 --> 00:39:21,890 >> Svo hér er hvernig þú lýsa aðgerð JavaScript, bókstaflega sagt virka, 794 00:39:21,890 --> 00:39:24,556 þá heiti virka, þá hvaða rök það gæti tekið, 795 00:39:24,556 --> 00:39:25,530 bara eins og í PHP. 796 00:39:25,530 --> 00:39:28,990 Skrúfjárn út í JavaScript, einn af mest pirrandi aðgerðir sem eru er Alert. 797 00:39:28,990 --> 00:39:31,392 Þetta er lítill gluggi sem mun skjóta upp og láta þig vita 798 00:39:31,392 --> 00:39:32,600 að einhverju stykki af upplýsingar. 799 00:39:32,600 --> 00:39:33,766 Það er yfirleitt hleypa brúnum. 800 00:39:33,766 --> 00:39:35,980 En við munum nota það sem okkar Fyrsta æfing hér. 801 00:39:35,980 --> 00:39:37,900 >> Takið nokkrar aðgerðir JavaScript. 802 00:39:37,900 --> 00:39:41,524 Single og tvöfaldar gæsalappir ekki í raun máli lengur. 803 00:39:41,524 --> 00:39:43,690 Einn quotes og tvöfaldur vitna má víxlað 804 00:39:43,690 --> 00:39:46,220 en í C, þú þarft að nota gæsalöppum fyrir strengi, 805 00:39:46,220 --> 00:39:48,150 og þú hefur tveimur einbreiðum vitna fyrir stafir. 806 00:39:48,150 --> 00:39:51,150 Í JavaScript heiminum, margir, flestir 807 00:39:51,150 --> 00:39:54,970 Notaðu einn quotes kringum strengi bara vegna þess að það er a stylistic hlutur. 808 00:39:54,970 --> 00:39:58,330 En hvað er plús rekstraraðila hér, sem við höfum ekki séð áður? 809 00:39:58,330 --> 00:39:59,836 >> Áhorfendur: Samtenging. 810 00:39:59,836 --> 00:40:00,960 DAVID MALAN: Samtenging. 811 00:40:00,960 --> 00:40:02,450 Svo C er ekki einu sinni að hafa þetta. 812 00:40:02,450 --> 00:40:04,820 PHP hefur punktur rekstraraðila, sem gerir þetta. 813 00:40:04,820 --> 00:40:09,710 JavaScript hefur auk rekstraraðila, sem villast er bara eins og Java. 814 00:40:09,710 --> 00:40:11,440 Nú hvað er að gerast hér? 815 00:40:11,440 --> 00:40:14,260 >> Svo er hér þar sem undirstöðu skilning á þeirri mynd 816 00:40:14,260 --> 00:40:17,010 Við kastaði upp nokkra dögum kemur inn í leik. 817 00:40:17,010 --> 00:40:19,620 Manstu þegar við höfðum einfalt útgáfa af HTML page-- 818 00:40:19,620 --> 00:40:20,830 hún sagði bara, halló heimur. 819 00:40:20,830 --> 00:40:22,770 Og þá erum við dró tré til hægri, sem 820 00:40:22,770 --> 00:40:27,320 átti fullt af rétthyrninga og línur tengja þá eins ættartré. 821 00:40:27,320 --> 00:40:30,820 Svo er það svokölluð DOM eða Document Object Model. 822 00:40:30,820 --> 00:40:36,759 Og það kemur í ljós að þú getur fengið aðgang að ferhyrninga í trén með setningafræði 823 00:40:36,759 --> 00:40:37,550 eins og eftirfarandi. 824 00:40:37,550 --> 00:40:41,370 Þú segir bókstaflega skjal, sem er sérstakt alþjóðlegt breytu í JavaScript 825 00:40:41,370 --> 00:40:45,890 forrit sem hefur fall í tengslum við það sem þú getur fengið aðgang að 826 00:40:45,890 --> 00:40:50,280 svipað strúktúrinn, en þú einfaldlega segja punktur og þá nafn Fallið er, 827 00:40:50,280 --> 00:40:52,390 fá eininguna með því auðkenni. 828 00:40:52,390 --> 00:40:55,460 >> The þáttur sem ég vil fá er virðist vitna unquote nafn. 829 00:40:55,460 --> 00:40:57,150 Og þá vil ég að fá gildi þess. 830 00:40:57,150 --> 00:40:58,330 Nú erum við að fá á undan okkur. 831 00:40:58,330 --> 00:41:00,038 Ég er ekki einu sinni viss um hvað allt þetta er um. 832 00:41:00,038 --> 00:41:03,000 Skulum hratt áfram til HTML á síðunni, sem er frábær einfalt. 833 00:41:03,000 --> 00:41:05,370 >> Takið eftir að ég hef skilgreint Eyðublað niður hér. 834 00:41:05,370 --> 00:41:07,940 Tilkynning Ég hef gefið það einstakt ID, jafnvel þó að við höfum ekki notað 835 00:41:07,940 --> 00:41:08,870 Þessi eiginleiki áður. 836 00:41:08,870 --> 00:41:11,300 En þetta er í HTML. 837 00:41:11,300 --> 00:41:15,570 Þú getur einstaklega þekkja sumir klumpur HTML með aðgreini svona. 838 00:41:15,570 --> 00:41:19,880 >> Tilkynning nú snýr this-- út HTML styður, á þeim þvottahús lista 839 00:41:19,880 --> 00:41:22,490 í smá stund síðan, allt fullt af atburði dýraþjálfari. 840 00:41:22,490 --> 00:41:25,060 Og þessi atburður dýraþjálfari segir á leggja. 841 00:41:25,060 --> 00:41:28,730 Á notandi framlagningu þessa formi, að hringja í eftirfarandi kóða. 842 00:41:28,730 --> 00:41:31,360 Og kóða sem er að gerast að vera kölluð eða framkvæma 843 00:41:31,360 --> 00:41:35,260 er einmitt þetta, gríska virka eftir return false. 844 00:41:35,260 --> 00:41:37,360 Allt annað ætti vera ansi kunnuglegt. 845 00:41:37,360 --> 00:41:42,050 >> Hér er inntak af taginu texta, sem ID, í þessu tilfelli, er að fara að vera nafn. 846 00:41:42,050 --> 00:41:45,430 Við höfum ekki í raun nafn eigindi þetta time-- og leggja hnappinn. 847 00:41:45,430 --> 00:41:48,330 Svo leiðir gáir svona. 848 00:41:48,330 --> 00:41:52,890 Og leiðir hegðun, þú munt sjá, lítur svona út. 849 00:41:52,890 --> 00:41:56,940 The síðu það staðbundin gestgjafi segir, halló David, varla fagurfræðilega ánægjulegt 850 00:41:56,940 --> 00:41:58,340 leið til að fagna notanda. 851 00:41:58,340 --> 00:41:59,950 En hvað er raunverulega að gerast? 852 00:41:59,950 --> 00:42:01,360 >> Jæja, íhuga hvað þetta er. 853 00:42:01,360 --> 00:42:02,310 Þetta er texti sviði. 854 00:42:02,310 --> 00:42:04,635 Og í samræmi við HTML hér, hef ég gefið það 855 00:42:04,635 --> 00:42:07,350 einstakt auðkenni kallast vitna unquote nafn. 856 00:42:07,350 --> 00:42:09,770 Á meðan ég hef sagt þegar notandinn leggur þetta eyðublað 857 00:42:09,770 --> 00:42:13,820 með hitting á Enter eða smella á Senda takkann, kalla aðgerðina heitir Heilsa 858 00:42:13,820 --> 00:42:15,410 og síðan aftur False. 859 00:42:15,410 --> 00:42:16,870 Skulum íhuga þá með öfugum formerkjum. 860 00:42:16,870 --> 00:42:20,590 Eftir þegar ég smelli á Senda, URL síðunnar breytist ekki. 861 00:42:20,590 --> 00:42:22,420 Íkon vafranum ekki byrja snúast. 862 00:42:22,420 --> 00:42:27,050 Ég vissi ekki að fara hvar sem er, og það er bókstaflega því ég sagði aftur False. 863 00:42:27,050 --> 00:42:31,534 Return false skammhlaup eða hættir sjálfgefið hegðun formi. 864 00:42:31,534 --> 00:42:33,700 Svo að þá skilur okkur þetta eina lokaspurningin. 865 00:42:33,700 --> 00:42:34,764 Hvað þýðir Heilsa gera? 866 00:42:34,764 --> 00:42:36,680 Jæja, Heilsið virðist kallar fall sem kallast 867 00:42:36,680 --> 00:42:39,250 Alert, fer í einu lengi rök sem er 868 00:42:39,250 --> 00:42:43,950 afleiðing concatenating saman fullt af substrings, halló komma rúm, 869 00:42:43,950 --> 00:42:45,810 þá hvað þetta skilar. 870 00:42:45,810 --> 00:42:51,490 Svo er skjal eins alþjóðlegt breytu þeirri rót trés, 871 00:42:51,490 --> 00:42:55,560 hringja í sérstaka aðgerð, annars nú þekkt sem aðferð. 872 00:42:55,560 --> 00:42:57,650 A fall sem er inni af breytu er 873 00:42:57,650 --> 00:42:59,640 kallað aðferð í stað þess að virka. 874 00:42:59,640 --> 00:43:01,570 >> Svo fá eininguna með því auðkenni. 875 00:43:01,570 --> 00:43:03,940 Hvaða þáttur gera þér langar að komast af auðkenni sínu? 876 00:43:03,940 --> 00:43:06,970 Vitna unquote nafn og þá sérstaklega gildi. 877 00:43:06,970 --> 00:43:12,000 Svo í öðrum orðum, sem kóða einfaldlega finnur textareitinn lét ID er nafn 878 00:43:12,000 --> 00:43:13,380 og þá fær gildi þess. 879 00:43:13,380 --> 00:43:16,460 Svo ef ég væri að breyta þessu og segja Davin stað Davíðs, 880 00:43:16,460 --> 00:43:20,670 og smelltu á Senda, nú erum við hafa kveðju fyrir Davin. 881 00:43:20,670 --> 00:43:22,890 >> Allt í lagi, svo allt fínt og gott. 882 00:43:22,890 --> 00:43:25,480 En við skulum sjá hvort við getum gert þetta svolítið hreinni síðan bara 883 00:43:25,480 --> 00:43:28,190 skrifa kóðann eins og þetta er almennt að fara að hleypa brúnum. 884 00:43:28,190 --> 00:43:30,060 Þetta er að fara að líta scarier. 885 00:43:30,060 --> 00:43:32,330 En hvað er fyrsta munurinn sem þú í huga hér 886 00:43:32,330 --> 00:43:35,970 í þessari útgáfu fyrir utan nafn breytast til DOM einn? 887 00:43:35,970 --> 00:43:41,110 Hvað byggingu lítur öðruvísi um þetta á móti öðrum? 888 00:43:41,110 --> 00:43:41,932 Já? 889 00:43:41,932 --> 00:43:43,890 Áhorfendur: Er mynd á efst á handriti núna? 890 00:43:43,890 --> 00:43:46,570 DAVID MALAN: Já, formið er ofan af handriti fyrir sumir forvitinn ástæða. 891 00:43:46,570 --> 00:43:48,736 Svo er það fyrsta sem sem stökk út á mig líka. 892 00:43:48,736 --> 00:43:50,990 Og sem betur fer að minnsta kosti, þessi hluti er eins. 893 00:43:50,990 --> 00:43:53,470 Svo það eina sem virðist að vera öðruvísi er þetta. 894 00:43:53,470 --> 00:43:55,296 >> Svo er hér það sem er sniðugt um JavaScript 2. 895 00:43:55,296 --> 00:43:57,420 Og það gerir það erfitt að skilja við fyrstu sýn, 896 00:43:57,420 --> 00:44:00,670 sérstaklega fyrir lokaverkefni ef þú ert að horfa á dæmi um kóða á netinu, 897 00:44:00,670 --> 00:44:04,200 en það snýst um að sumir undirstöðu nokkur dæmi um setningarleg lögun. 898 00:44:04,200 --> 00:44:06,230 Hér er aftur að global breyta skjali. 899 00:44:06,230 --> 00:44:09,540 Hér er aftur þessi aðferð eða fall sem segir fá frumefni með ID. 900 00:44:09,540 --> 00:44:11,570 Þessi skipti sem ég vil fá auðkennið heitir kynningu. 901 00:44:11,570 --> 00:44:12,490 Hvar er það? 902 00:44:12,490 --> 00:44:15,400 Það er greinilega rétt hér er mynd sjálft. 903 00:44:15,400 --> 00:44:20,010 >> Og nú eftir því að virðist ef ég fá aftur þessi hnút úr tré sem 904 00:44:20,010 --> 00:44:22,940 táknar form sjálft, ekki texta sviði, 905 00:44:22,940 --> 00:44:26,970 það kemur í ljós að mynd, sem hnút eða rétthyrningur af trénu, 906 00:44:26,970 --> 00:44:30,450 hefur það sem við munum kalla eign, mjög, mjög, mjög svipuð 907 00:44:30,450 --> 00:44:35,390 í anda þess sem strúktúrinn í C. Það er bara gögn meðlimur inni þessa rétthyrnings. 908 00:44:35,390 --> 00:44:38,300 >> Svo ég hef fengið mynd hér, og ég er að hengja, 909 00:44:38,300 --> 00:44:44,650 eða ég er framselja, til Á hennar Senda stjórnandinn eða frekar On Senda eign 910 00:44:44,650 --> 00:44:45,740 eftirfarandi aðgerð. 911 00:44:45,740 --> 00:44:49,000 Og þetta er, eftir langt, geggjaðasta hlutur svona langt setningafræðilega. 912 00:44:49,000 --> 00:44:53,610 Það kemur í ljós í JavaScript og PHP, og hreinskilnislega um þessi mál í C, 913 00:44:53,610 --> 00:44:58,990 jafnvel þótt við gerum það ekki, þú getur bæta nafnlaus, nafnlaus eða AKA lambda 914 00:44:58,990 --> 00:45:03,000 aðgerðir sem ekki hafa nafn en er hægt að kalla engu að síður. 915 00:45:03,000 --> 00:45:07,050 >> Svo það sem ég er að gera hér er að ég er að framselja þetta á Senda eign, sem 916 00:45:07,050 --> 00:45:14,330 er inni þessa hnút DOM trénu mínu, a virka, virka músina ef þú vilt. 917 00:45:14,330 --> 00:45:16,310 Það fall hefur ekki nafn, en það virkar ekki 918 00:45:16,310 --> 00:45:19,110 máli vegna þess að við munum sjá í smá stund hvernig á að hringja það. 919 00:45:19,110 --> 00:45:21,780 Þegar þessi aðgerð er kölluð, þetta númer fær keyrð, þá 920 00:45:21,780 --> 00:45:24,210 ósatt er skilað eins og áður. 921 00:45:24,210 --> 00:45:25,800 >> En taka það sem ég hef gert. 922 00:45:25,800 --> 00:45:27,830 Á þessum tímapunkti í saga, ég er með mynd. 923 00:45:27,830 --> 00:45:30,190 Það er got a einstakt ID kallast Demo. 924 00:45:30,190 --> 00:45:33,740 Down hér, ég er með handrit tag sem framkvæmir eftirfarandi kóða. 925 00:45:33,740 --> 00:45:37,720 Það leggur til þessi hnút í tré til þess 'On Senda 926 00:45:37,720 --> 00:45:40,260 eign þessi aðgerð hér. 927 00:45:40,260 --> 00:45:44,310 Og bara með eðli hvernig vafrar vinna, þegar ég smelli nú leggja eða ýttu á Enter, 928 00:45:44,310 --> 00:45:45,889 sem virka er að fara að fá kallað. 929 00:45:45,889 --> 00:45:48,680 Það þarf ekki nafn því hver Heck er ekki sama hvað það er kallað. 930 00:45:48,680 --> 00:45:52,540 Í eina skiptið sem það er alltaf að fara að fá kallað er þegar ég skila mynd. 931 00:45:52,540 --> 00:45:55,130 Það er engin þörf fyrir mig, mannlegur verktaki, 932 00:45:55,130 --> 00:45:57,330 á reyndar kalla það einhvers staðar annars. 933 00:45:57,330 --> 00:46:00,720 >> Nú bara sem beitu, eins og ef það voru ekki hug beygja nóg, 934 00:46:00,720 --> 00:46:03,330 við getum jafnvel gert þetta líta meira dulinn með 935 00:46:03,330 --> 00:46:05,850 frábær vinsæll bókasafn heitir jQuery. 936 00:46:05,850 --> 00:46:08,760 Í raun jQuery og JavaScript eru oft conflated. 937 00:46:08,760 --> 00:46:12,790 Og það sem við munum gera á miðvikudag er byrjun nota þetta tungumál og þessi bókasöfn 938 00:46:12,790 --> 00:46:16,030 að byggja sífellt ósamstilltur og dynamic forrit 939 00:46:16,030 --> 00:46:18,950 eins kortinu fá forrit, forrit 940 00:46:18,950 --> 00:46:22,360 að uppfæra vefsíðu í alvöru tíma, líkt og Facebook eða Gchat 941 00:46:22,360 --> 00:46:27,130 gera, og ekki lengur takmarka okkur til Hitting Senda með fá eða bara eftir 942 00:46:27,130 --> 00:46:27,630 einn. 943 00:46:27,630 --> 00:46:29,055 Svo ég mun sjá þig á miðvikudag. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [Tónlist spila] 946 00:46:35,550 --> 00:48:09,728