1 00:00:00,000 --> 00:00:01,940 >> [Muzikos grojimo] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID Malan: Tai CS 50, ir tai devynių savaitę pradžia. 4 00:00:14,620 --> 00:00:18,240 Ir tai, ką mes manome, kad mes norime padaryti šiandien nėra tik u "praėjusios savaitės skyrių 5 00:00:18,240 --> 00:00:22,670 medžiaga, kurioje mes sutelktas į serverį pusė Web programavimas su PHP ir SQL, 6 00:00:22,670 --> 00:00:23,549 kai duomenų bazė stuff. 7 00:00:23,549 --> 00:00:25,590 Mes kalbame apie bito saugumas šiandien ir tada 8 00:00:25,590 --> 00:00:29,590 perėjimas prie kliento pusėje programavimas kalba vadinama JavaScript. 9 00:00:29,590 --> 00:00:31,330 Bet pirmiausia, kai išpirkimo. 10 00:00:31,330 --> 00:00:35,030 >> Kaip Jūs tikriausiai žinote, kad Trečiadienis, išdėsčiau 11 00:00:35,030 --> 00:00:37,550 rašyti svetainėje, kad paėmė į vartotojo įvestį 12 00:00:37,550 --> 00:00:41,120 by HTML formą, kad tada saugomi kad naudotojo įvesties pavadinimai, telefono 13 00:00:41,120 --> 00:00:43,124 numeriai, o telefonams vežėjai į duomenų bazę. 14 00:00:43,124 --> 00:00:45,540 Ir tada aš turėjau mažai komandą linija scenarijus parašytas PHP 15 00:00:45,540 --> 00:00:47,956 kuris turėjo pakartoti per duomenų bazėje eilučių 16 00:00:47,956 --> 00:00:49,400 ir siųsti tekstinius pranešimus. 17 00:00:49,400 --> 00:00:53,870 Nepaisant kelių, kelių bandymų, mes negavau, kad darbo iki galo. 18 00:00:53,870 --> 00:00:57,820 >> Taigi, aš praleido visą šią savaitę dirbame tą kodą gauti mūsų praeities taško 19 00:00:57,820 --> 00:01:01,220 kur mes baigėte, pagal kurią visi Gavau iš trečiadienio pabaigoje 20 00:01:01,220 --> 00:01:05,500 buvo šio teksto žinutė iš Margo kaip aš sunkiai, 21 00:01:05,500 --> 00:01:09,940 po tekstinio prane¹imo forma i¹ kito klasiokas, Jūs turite šį Dovydą. 22 00:01:09,940 --> 00:01:14,030 Po šio vieno, nuostabiai džiuginantys. 23 00:01:14,030 --> 00:01:15,840 Nuolat plečiasi, labai Džiugu. 24 00:01:15,840 --> 00:01:20,960 Aš beveik gavo jį, kol then-- ir tai dėmesį, mes baigėsi trečiadienis. 25 00:01:20,960 --> 00:01:25,850 Ir tada iš tikrųjų galbūt mano mėgstamiausia, dar po kurio laiko, tai atėjo. 26 00:01:25,850 --> 00:01:27,000 Damn gyvų srautas. 27 00:01:27,000 --> 00:01:31,080 >> Taigi, šiandien mes išspręsti šią problemą su greitai pažvelgti, kas aš padariau, nes. 28 00:01:31,080 --> 00:01:35,440 Taigi visą šį kodą yra internetu iš praėjusios savaitės, savaitei aštuoni, 29 00:01:35,440 --> 00:01:36,300 kodo. 30 00:01:36,300 --> 00:01:39,425 Ir jūs pamatysite, kad aš per, ir aš iš tikrųjų tvarkė dalykus tiek. 31 00:01:39,425 --> 00:01:42,080 Aš pristatė pora kita bruožai SQL duomenų bazėje. 32 00:01:42,080 --> 00:01:45,300 Pavyzdžiui, o ne tiesiog padaryti vežėjas var char 33 00:01:45,300 --> 00:01:47,310 kaip aš manau, praeitą savaitę padarė skristi. 34 00:01:47,310 --> 00:01:49,820 Aš vietoj apibrėžė kaip tai, kas vadinama pervedimą. 35 00:01:49,820 --> 00:01:53,310 >> Ir kai kurie iš jūsų galėjo pastebėti tai kaip mes ištirti C. Enum yra iš tikrųjų 36 00:01:53,310 --> 00:01:56,820 C funkcija, kur Jūs galite išvardyti visa krūva konstantų 37 00:01:56,820 --> 00:01:59,640 ir priskirti juos automatiniai vertės, kaip vienas, du, trys, keturi 38 00:01:59,640 --> 00:02:01,330 be kietų kodų. 39 00:02:01,330 --> 00:02:04,780 Taigi SQL palaiko tas pats, pagal kurį, jei turite duomenų bazės lauką, kad jūs tik 40 00:02:04,780 --> 00:02:09,389 nori imtis vieno iš baigtinės vertės, galite tiesiog nurodyti jį 41 00:02:09,389 --> 00:02:13,120 kaip aš dariau ten keturių lankytinos JAV telefoną vežėjai. 42 00:02:13,120 --> 00:02:13,819 >> Taigi, aš padariau, kad. 43 00:02:13,819 --> 00:02:16,610 Ir aš padariau keletą pakeitimų, kaip skaičių gerai, iš kurių svarbiausias 44 00:02:16,610 --> 00:02:20,090 buvo gauti laišką dirbti, nes pamenu, kad ši programa rėmėsi kuris 45 00:02:20,090 --> 00:02:23,470 paprastai vadinamas į laišką SMS Gateway, kuris yra tiesiog 46 00:02:23,470 --> 00:02:27,670 išgalvotas būdas pasakyti, kad "Verizon", ir AT & T, o kitų žmonių paremti serverį, 47 00:02:27,670 --> 00:02:30,740 pagal kurią, jei ji gauna laišką, jis konvertuojamas į SMS 48 00:02:30,740 --> 00:02:33,290 ir siunčia tekstą žinutė kažkieno telefono. 49 00:02:33,290 --> 00:02:37,010 Taigi, jei aš tai padariau teisingai, Čia yra naujas ir patobulintas forma 50 00:02:37,010 --> 00:02:39,259 kad ketina pasikalbėti su Naujas ir patobulintas kodas, kuris 51 00:02:39,259 --> 00:02:40,300 Jūs galite žaisti su internetu. 52 00:02:40,300 --> 00:02:44,140 Ir tai, tikimės, bus priimti mano telefonas nepypsi vos akimirką. 53 00:02:44,140 --> 00:02:47,240 >> Taigi, pirmiausia, aš ruošiuosi rašyti mano vardu. 54 00:02:47,240 --> 00:02:51,400 Antra, aš nesiruošia tai šį kartą padaryti. 55 00:02:51,400 --> 00:02:53,920 Aš ruošiuosi daryti Tikrinti elementą. 56 00:02:53,920 --> 00:02:56,710 Ir tai tik smulkmena, kad aš ne 57 00:02:56,710 --> 00:02:59,250 sukurti valandų po gamybos dirbti, kaip aš paskutinį kartą. 58 00:02:59,250 --> 00:03:02,300 Šiuo metu yra mano telefono numeris. 59 00:03:02,300 --> 00:03:03,560 >> Pasirinksiu Verizon. 60 00:03:03,560 --> 00:03:10,260 Ir čia galime įjungti šį mikrofoną čia ir siekia tai ne mano telefonas čia. 61 00:03:10,260 --> 00:03:13,130 Aš ruošiuosi spustelėkite registras, kuris turėtų tikiuosi 62 00:03:13,130 --> 00:03:14,530 įdėti ją į duomenų bazę. 63 00:03:14,530 --> 00:03:16,780 Dabar aš ruošiuosi eiti į Komandų eilutės programa, kurią 64 00:03:16,780 --> 00:03:20,825 priminti vadinosi dot velniop tekstas ir laikykite kumščius. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 Here we go. 67 00:03:26,527 --> 00:03:27,501 >> [PHONE DINGS] 68 00:03:27,501 --> 00:03:28,962 >> [Plojimai] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID Malan: Taigi smagiau nei this-- tai smagu, žinoma, jei aš į jį patekti. 71 00:03:34,940 --> 00:03:38,004 Bet tai smagiau, aš maniau, jei mes sukūrė vieną iš tų filmų akimirkas 72 00:03:38,004 --> 00:03:40,420 kur kažkas tikrai blogai nutiko pasaulyje, 73 00:03:40,420 --> 00:03:42,860 ir kaip ir visi NSI liaudis mobiliųjų telefonų pradėti pypsėti 74 00:03:42,860 --> 00:03:44,860 su teksto pranešimus atkreipdami į šį faktą. 75 00:03:44,860 --> 00:03:47,026 Taigi aš maniau, mes bandytume atkurti čia tas pats, 76 00:03:47,026 --> 00:03:49,610 kai ne naudojant duomenų bazės, Aš vietoj iš anksto 77 00:03:49,610 --> 00:03:51,490 parašė programą, kuri atrodo kaip šis. 78 00:03:51,490 --> 00:03:53,660 >> Tai index.php-- ir aš įdėti šį kodą internete 79 00:03:53,660 --> 00:03:56,710 kaip well-- kad matyt tiesiog teikia form.php, 80 00:03:56,710 --> 00:04:00,990 naudojant MVC stiliaus paradigmą, kad mes kalbėti apie išsamiau problemą, 81 00:04:00,990 --> 00:04:01,650 septyni. 82 00:04:01,650 --> 00:04:02,910 Ši anketa yra gana paprasta. 83 00:04:02,910 --> 00:04:06,634 Jis ketina pateikti failas, vadinamas here.php siuntimas paštu. 84 00:04:06,634 --> 00:04:09,300 Ir tai, matyt, ketina prašyti Vardo ir telefono numerio, 85 00:04:09,300 --> 00:04:11,400 ir tada per vadinamasis Pasirinkite meniu, tai 86 00:04:11,400 --> 00:04:14,250 norėčiau duoti jums ne mažiau kaip keturis lankytinos JAV telefoną vežėjai, 87 00:04:14,250 --> 00:04:17,470 ir tada leidžia efektyviai imtis lankomumą paspaudę čia. 88 00:04:17,470 --> 00:04:20,471 >> Ir čia, tuo tarpu, ketina skolintis kai kodo iš paskutiniu laiku. 89 00:04:20,471 --> 00:04:22,553 Ir jei jūs tiesiog nugriebti tai, pamatysite, kad ten 90 00:04:22,553 --> 00:04:23,900 visa krūva klaidų tikrinimas. 91 00:04:23,900 --> 00:04:26,640 Bet pabaigoje grožis yra tai, kad mes ne rašyti į duomenų bazę šiandien. 92 00:04:26,640 --> 00:04:29,130 Mes laikome, kad paprastas ir tiesiog siunčiant tikiuosi 93 00:04:29,130 --> 00:04:32,190 tekstinė žinutė per funkcija I rašė per pastaruosius keletą dienų skambučio 94 00:04:32,190 --> 00:04:36,270 Tekstas, kuris yra funkcijų. php, kuris vėl galima rasti internete. 95 00:04:36,270 --> 00:04:38,210 >> Taigi, jei norite įsitraukti į tai. 96 00:04:38,210 --> 00:04:40,190 Mes neketiname būti saugojimui nieko. 97 00:04:40,190 --> 00:04:43,809 Eiti į URL čia realiu laiku. 98 00:04:43,809 --> 00:04:46,850 Nerašykite nėra, bet galime pamatyti, jei mes galime turėti vieną iš šių filmų 99 00:04:46,850 --> 00:04:49,830 akimirkos, kur kiekvienas savo telefoną pradeda pypsėti, tikiuosi tik 100 00:04:49,830 --> 00:04:53,580 kartą šiemet, skirtingai nei 2011 kur tai atėjo siaubingai kreivai. 101 00:04:53,580 --> 00:04:58,910 Ir, kai jūs einate į tą adresą, Jūs turėtumėte pamatyti super paprastą formą 102 00:04:58,910 --> 00:05:03,884 kad jei turite vardą, mobilųjį telefoną skaičius, ir telefoną vežėjas, kad 103 00:05:03,884 --> 00:05:06,175 atitinka sąrašą ten eiti į priekį ir užpildyti formą. 104 00:05:06,175 --> 00:05:07,880 Bet ne hit pateikti tik dar. 105 00:05:07,880 --> 00:05:10,850 >> Forma ketina atrodyti taip. 106 00:05:10,850 --> 00:05:13,660 Eiti į priekį ir įveskite jūsų vardas, telefono numeris. 107 00:05:13,660 --> 00:05:17,670 Oop, kažkas vyksta prieš kreivė. 108 00:05:17,670 --> 00:05:18,170 Viskas OK. 109 00:05:18,170 --> 00:05:19,340 Gerai, visi manimi užpildė formą. 110 00:05:19,340 --> 00:05:21,400 Tai turėtų dirbti telefonas, taip pat, jei norite. 111 00:05:21,400 --> 00:05:23,695 Gerai, jūsų ženklais, gauti nustatytas eikite. 112 00:05:23,695 --> 00:05:24,195 Rezultatas čia. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 Ką? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 Ne. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 Prisiekiu Dievu, aš išbandyti tai kelis kartus šiandien. 119 00:05:40,250 --> 00:05:41,720 Jūs turite jį? 120 00:05:41,720 --> 00:05:43,145 >> [Tarpines BALSAS] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID Malan: Gerai, vartotojo klaida gal. 123 00:05:49,560 --> 00:05:50,550 Štai du. 124 00:05:50,550 --> 00:05:53,300 Jis dirbo dvi iš keli šimtai, trys, keturi. 125 00:05:53,300 --> 00:05:55,940 Gerai, kad tai gerai. 126 00:05:55,940 --> 00:05:58,520 Keturi iš penkių už korektiškumo kaip apie. 127 00:05:58,520 --> 00:05:59,810 >> Taigi, kas atsitiko? 128 00:05:59,810 --> 00:06:02,727 Taigi, matyt, nematydami savo ekranai, kodėl jis galėtų būti rodyti klaidingai? 129 00:06:02,727 --> 00:06:05,518 Tai tikriausiai, kad mes buvome tik bando padaryti per daug jungčių 130 00:06:05,518 --> 00:06:08,110 į Harvardo pašto serverio visi tuo kartą iš to paties IP adreso. 131 00:06:08,110 --> 00:06:10,740 Aš tik spėlioti, nes aš ne turėti testavimo prabanga 132 00:06:10,740 --> 00:06:13,220 šis kodas su kai 300 žmonių iš anksto 133 00:06:13,220 --> 00:06:16,040 bet dabar suprantu, kad kad bent turėtų 134 00:06:16,040 --> 00:06:18,250 Dotarłeś darbą šiuo metu. 135 00:06:18,250 --> 00:06:22,880 >> Gerai, tai kodėl visa tai daugiau Priklauso kas vyksta? 136 00:06:22,880 --> 00:06:24,900 Na, pirma, greitai pora temų. 137 00:06:24,900 --> 00:06:29,350 Taigi vienas, jei norite prisijungti prie Chang, ir Nikas, o kiti per pietus tai penktadienis, 138 00:06:29,350 --> 00:06:32,400 padaryti RSVP įprastu URL ten. 139 00:06:32,400 --> 00:06:35,650 Jei galvojate apie sutelkiant arba daro CS antrinė, 140 00:06:35,650 --> 00:06:38,941 ar esate antrakursis arba pirmakursis, ar net jaunesnysis ar vyresnysis šiuo 141 00:06:38,941 --> 00:06:42,490 ir dar gali išspausti kursuose, suprasti, kad inžinerinės mokyklos 142 00:06:42,490 --> 00:06:45,620 yra surinkti nemokamai Ben ir Džeris ledai ir patarimai 143 00:06:45,620 --> 00:06:48,910 Šį trečiadienį netrukus po klasę 4:00 PM CS pastato 144 00:06:48,910 --> 00:06:49,771 ne Maxwell Dworkin. 145 00:06:49,771 --> 00:06:51,520 Jei tai per greitai Ekrane, eikite 146 00:06:51,520 --> 00:06:55,260 į cs50.harvard.edu už nuoroda į "Facebook" renginį 147 00:06:55,260 --> 00:06:57,140 kur galima pamatyti daugiau informacijos. 148 00:06:57,140 --> 00:07:01,390 >> Tuo tarpu, aš maniau aš norėčiau ištaisyti Vienas kitas dalykas, aš goofed trečiadienį. 149 00:07:01,390 --> 00:07:04,400 Pasirodo, kad Marko ID Facebook nebuvo trys. 150 00:07:04,400 --> 00:07:05,230 Tai buvo keturi. 151 00:07:05,230 --> 00:07:08,330 Pasirodo jis turėjo daugiau testą sąskaitos už prisimenu. 152 00:07:08,330 --> 00:07:12,400 Bet ką tai jaučiau galimybę padaryti, tai atsigriebti panašaus URL. 153 00:07:12,400 --> 00:07:16,680 >> Taigi paaiškėja, kad "Facebook" turi API, Application Programming Interface, 154 00:07:16,680 --> 00:07:20,070 kuri yra mechanizmas, pagal kurį jus gali prašyti duomenų programiškai 155 00:07:20,070 --> 00:07:24,480 Facebook ir grįžti mašina įskaitoma informacija, o ne interneto puslapiai 156 00:07:24,480 --> 00:07:28,690 bet tiesiog žalias tekstas, kažkas vadinamas JavaScript Object Notation. 157 00:07:28,690 --> 00:07:32,150 Ir iš tiesų, jei grįžtu tai URL, ir padidinti, pagal nutylėjimą, 158 00:07:32,150 --> 00:07:34,960 Marko tai viešai prieinama informacija. 159 00:07:34,960 --> 00:07:37,430 >> Ir įdomi detalė čia yra tik tai, kad jo ID 160 00:07:37,430 --> 00:07:40,670 Iš tiesų, skaičius keturi, kurį aš supratau, kai aš tai padariau. 161 00:07:40,670 --> 00:07:44,260 Jūs galite tai padaryti patys, jei žinote "Facebook" vartotojo vardas, jei turite vieną. 162 00:07:44,260 --> 00:07:45,440 Tiesiog įveskite jį viršuje. 163 00:07:45,440 --> 00:07:46,640 Ir visa tai yra privatus. 164 00:07:46,640 --> 00:07:48,670 Aš tiesiog daro tai net į inkognito režimu. 165 00:07:48,670 --> 00:07:49,900 Taigi aš net prisijungęs. 166 00:07:49,900 --> 00:07:54,440 Ir jūs matote, kad aš matyt buvo vartotojo numeris 6454 167 00:07:54,440 --> 00:07:56,480 Facebook, kuris nėra labai blogai šių dienų. 168 00:07:56,480 --> 00:07:59,900 Taigi šiaip ar taip, jūs taip pat pamatysite Papildoma informacija ten. 169 00:07:59,900 --> 00:08:02,150 >> Ir naudinga aspektas to, kad jūs 170 00:08:02,150 --> 00:08:06,890 gali parašyti savo programinę įrangą, kuri kažkaip integruoja duomenis, kaip šis 171 00:08:06,890 --> 00:08:08,170 į savo paraišką. 172 00:08:08,170 --> 00:08:10,650 Galite įgalinti vartotojus prisijungti prie savo interneto svetainėje, 173 00:08:10,650 --> 00:08:14,190 nenaudoja savo pasirinktinį vartotojo vardą ir slaptažodis bet gal jų Prisijunk 174 00:08:14,190 --> 00:08:16,170 ir gauti informaciją, net apie savo draugus, 175 00:08:16,170 --> 00:08:18,740 jei jie patvirtinti tokie, ar panašūs. 176 00:08:18,740 --> 00:08:21,430 Taigi dėmesį, kad CS50 irgi turi kai kurių savo API, 177 00:08:21,430 --> 00:08:24,620 vienas už kursų katalogu duomenimis, kai už Apkabinimai meniu Valgykla 178 00:08:24,620 --> 00:08:26,730 salės, visi iš pastatai ir jų vietos 179 00:08:26,730 --> 00:08:30,930 kampusie turime API, taip pat kad galite užklausa panašiai ir gauti 180 00:08:30,930 --> 00:08:35,520 atgal tekstinę duomenys, kuriuos galima integruoti į PHP arba JavaScript arba net, 181 00:08:35,520 --> 00:08:38,320 nors rečiau C pagrįstas galutinį projektą. 182 00:08:38,320 --> 00:08:41,190 >> Iš tiesų į priekį į finalą Projektas yra keletas laimėjimų. 183 00:08:41,190 --> 00:08:42,980 Jūs turite mūsų elektroninio laiško antrą dieną. 184 00:08:42,980 --> 00:08:45,761 Suprantu, kad pasiūlymo yra dėl ateinančiais pirmadienis. 185 00:08:45,761 --> 00:08:49,010 Tai nebūtinai privalomas, bet jūs tikrai reikia gauti savo mokymo bičiulius 186 00:08:49,010 --> 00:08:51,260 apžiūra iki priėmimo bet paskui pokyčiai. 187 00:08:51,260 --> 00:08:54,280 Ir tada į priekį yra skaičius kitų etapų. 188 00:08:54,280 --> 00:08:56,542 >> Taigi erzinti jus, taip pat, su kai kuriais galimybes, 189 00:08:56,542 --> 00:08:58,250 mes turime krūva šie atspalvis lemputes. 190 00:08:58,250 --> 00:09:01,190 Ir kai kurie iš jūsų vaikinai dabar turi kai kurios iš jų savo bendrabučio kambarį, taip pat. 191 00:09:01,190 --> 00:09:02,920 Ir jie taip pat turi API. 192 00:09:02,920 --> 00:09:07,300 Taigi prisiminti tuos dvejetainius lempos savaites prieš tai Dan Bradley ir Anselį 193 00:09:07,300 --> 00:09:08,780 Duff sukurtas mūsų. 194 00:09:08,780 --> 00:09:12,560 Jie naudojami programinės įrangos sąsaja šis šviesos lemputė, kuri šiuo metu 195 00:09:12,560 --> 00:09:15,232 yra prijungtas prie elektros energijos ir tada per Wireless 196 00:09:15,232 --> 00:09:17,690 yra prijungtas prie mažai ką vadinamas tiltas žemyn čia, 197 00:09:17,690 --> 00:09:21,280 kaip mažas frezavimo patentuotų su šia konkrečia prietaiso. 198 00:09:21,280 --> 00:09:26,540 >> Tačiau paaiškėja, jei aš žinau, kaip siųsti HTTP pranešimus, kaip mes visi dabar daryti, 199 00:09:26,540 --> 00:09:31,670 Galiu siųsti žinutę kaip tai tai lemputė ją įjungti arba išjungti 200 00:09:31,670 --> 00:09:34,000 ar atlikti kokį nors skaičių kiti darbai ant jo. 201 00:09:34,000 --> 00:09:36,110 Atkreipkite dėmesį, kad tai ne gauti, tai ne rašyti. 202 00:09:36,110 --> 00:09:37,760 Yra dar vienas vadinamas įdėti. 203 00:09:37,760 --> 00:09:39,630 Ten tikrai keletas kitų tokių veiksmažodžių. 204 00:09:39,630 --> 00:09:42,920 Bet Pastebėjus kelias ten, Slash API, velniop naują kūrėjas, 205 00:09:42,920 --> 00:09:44,990 Slash šviesą, velniop vieną, velniop būklę. 206 00:09:44,990 --> 00:09:49,060 >> Štai, matyt, tiesiog kelias, kompanija Philips, 207 00:09:49,060 --> 00:09:51,640 nusprendė turite paspausti su HTTP užklausa 208 00:09:51,640 --> 00:09:55,010 jei norite pakeisti būseną ropelių naudojant HTTP 1,1. 209 00:09:55,010 --> 00:09:56,380 Tada pastebėsite tuščią eilutę. 210 00:09:56,380 --> 00:10:00,170 Ir tada galiausiai, kas atrodo rūšies yra tam tikros rūšies masyvo, 211 00:10:00,170 --> 00:10:04,730 tai vėl ketina būti vadinamas JavaScript Object Notation arba Jason. 212 00:10:04,730 --> 00:10:08,000 Ir tai, ką matote čia yra tai, kad yra trys pagrindinės reikšmės poros. 213 00:10:08,000 --> 00:10:09,115 >> Vienas raktas paragino. 214 00:10:09,115 --> 00:10:10,990 Ir jos vertė matyt bus tiesa. 215 00:10:10,990 --> 00:10:13,612 Ryškumas yra 128, kuris yra kai kurie iš int tipo. 216 00:10:13,612 --> 00:10:15,820 Ir tada perėjimas laikas yra nulis, kuris yra akivaizdžiai 217 00:10:15,820 --> 00:10:17,970 kaip ilgai jis ketina imtis tam, kad šis dalykas apie. 218 00:10:17,970 --> 00:10:19,890 >> Taigi dabar ši lemputė nešviečia. 219 00:10:19,890 --> 00:10:22,880 Bet jei aš tiksliai this-- leiskite man eiti į mažai Cheat sheet 220 00:10:22,880 --> 00:10:25,200 kad Danas įsteigtas advance-- ir aš ruošiuosi 221 00:10:25,200 --> 00:10:27,920 eiti į priekį ir kopijuoti Ši komanda. 222 00:10:27,920 --> 00:10:30,200 Curl, kaip kai kurie iš jūsų galėjo surinktą ant CS50 223 00:10:30,200 --> 00:10:35,080 Aptarkite tai kaip Telnet tokio naudingumo kad galite imituoti HTTP užklausas, 224 00:10:35,080 --> 00:10:36,360 specialiai daro. 225 00:10:36,360 --> 00:10:39,710 Galiu siųsti šiuos duomenis, ką konkrečiai mes tiesiog 226 00:10:39,710 --> 00:10:43,430 pamačiau akimirką prieš specialiai į šį URL čia. 227 00:10:43,430 --> 00:10:46,310 Ir tada Curl ketina tvarkyti visos reikiamos antraštes 228 00:10:46,310 --> 00:10:47,600 ir analizuojant ten iš. 229 00:10:47,600 --> 00:10:54,700 >> Taigi viskas, ką turiu padaryti, tai nukopijuoti į tai terminalo langą ir tada paspauskite Enter. 230 00:10:54,700 --> 00:10:56,000 Ir lemputė tęsiasi. 231 00:10:56,000 --> 00:10:59,060 Ir tai yra viskas vyksta per mano kompiuteris bevieliu 232 00:10:59,060 --> 00:11:01,960 kažkaip žemyn prie tilto, kuris tada kalbėti su šio lemputę. 233 00:11:01,960 --> 00:11:02,960 Galiu daryti ką nors kita. 234 00:11:02,960 --> 00:11:07,050 Galiu padaryti šį dalyką Poczerwienieć pavyzdžiui. 235 00:11:07,050 --> 00:11:11,040 Galiu pavyzdžiui padaryti šis dalykas eiti žalia. 236 00:11:11,040 --> 00:11:12,220 Galiu padaryti jį mėlynai. 237 00:11:12,220 --> 00:11:14,760 >> Ir pranešimas kiekvienas iš jų atvejų, visų, kad aš keičiasi 238 00:11:14,760 --> 00:11:18,540 yra vadinamasis atspalvis vertė iš tikrųjų mano, kad tai šiek tiek spalvų. 239 00:11:18,540 --> 00:11:20,320 Taigi leiskite man įdėti šį vieną iš, kaip gerai. 240 00:11:20,320 --> 00:11:21,000 Dabar atėjo mėlyna. 241 00:11:21,000 --> 00:11:24,672 >> Ir jūs galite padaryti net mėgėjas dalykų where-- eikime į žalią. 242 00:11:24,672 --> 00:11:26,630 Ir aš toks galėtų padaryti Žinoma su savo kodą. 243 00:11:26,630 --> 00:11:30,670 Bet net pati API palaiko funky operacijas 244 00:11:30,670 --> 00:11:35,510 kaip tai, kuri dabar vargintis mums per ateinančius 30 sekundžių. 245 00:11:35,510 --> 00:11:39,170 >> Štai vienas skonis, ką galima daryti su API, tai iš kurių vienas 246 00:11:39,170 --> 00:11:40,010 lemputės. 247 00:11:40,010 --> 00:11:42,510 Atkreipkite dėmesį, kad CS50 yra pora porų Google Glass, jei norite 248 00:11:42,510 --> 00:11:45,380 patinka spręsti kažką kartu Ribos, kurios Arduino unos, kuris 249 00:11:45,380 --> 00:11:48,670 yra maža maža kompiuteriai iš esmės, dėl mažai plokštės 250 00:11:48,670 --> 00:11:50,470 kad galėtumėte prisijungti laidai ir kiti dalykai 251 00:11:50,470 --> 00:11:52,732 į ir iš tikrųjų kontrolė Jūsų realaus pasaulio aplinkoje. 252 00:11:52,732 --> 00:11:54,940 Ir tada yra pora iš naujų žaislų, kad mes turime. 253 00:11:54,940 --> 00:11:59,294 Tai vienas tiesiog tik atvyko Kitą dieną paštu, Myo Armband. 254 00:11:59,294 --> 00:12:01,710 Ir aš maniau, kad tai būdas jums malonu apie projektų 255 00:12:01,710 --> 00:12:03,720 kad galite naudoti su tai techninė įranga būtų 256 00:12:03,720 --> 00:12:08,900 būti, kad žaisti šį trumpą klipą kad jie naudoja erzinti žmonės 257 00:12:08,900 --> 00:12:10,500 kad mes dabar gyvename ateityje. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [Muzikos grojimo] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID Malan: Taigi per kelias savaites, jūs taip pat gali būti, kad kietas tuo CS50 mugėje. 262 00:13:37,109 --> 00:13:39,150 Kitas prietaisas, kad mes turėti, kad mes krūva 263 00:13:39,150 --> 00:13:42,090 laimingas paskola iš projektų vadinama judesio valdiklis. 264 00:13:42,090 --> 00:13:45,030 Tai šiek tiek USB įrenginys Prijungus prie kompiuterio, 265 00:13:45,030 --> 00:13:47,520 leidžia jums bendrauti su Jūsų nešiojamas kompiuteris, Mac arba PC, 266 00:13:47,520 --> 00:13:51,570 lyg turėtumėte kaip Xbox Kinect ir iš tikrųjų fiziškai judesių daug 267 00:13:51,570 --> 00:13:54,509 kaip matome tai ateities vizija. 268 00:13:54,509 --> 00:13:56,505 >> [Muzikos grojimo] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID Malan: Taigi, net jei jūs turite neįsivaizduoju, kaip kažkas panašaus 271 00:15:06,260 --> 00:15:10,050 galėtų būti sugalvotas ar darbas ant aparatūros lygis, nesvarbu. 272 00:15:10,050 --> 00:15:13,520 Net po kelių mėnesių CS50, ir programavimo supratimas 273 00:15:13,520 --> 00:15:19,460 apskritai ir interneto programavimo daugiau Neseniai, po to taip pat API ir HTTP, 274 00:15:19,460 --> 00:15:21,830 Jūs turėsite prieigą per programinės įrangos API jei jus 275 00:15:21,830 --> 00:15:24,680 noriu pasiskolinti vieną iš šių prietaisai iš tikrųjų kalbėti su juo 276 00:15:24,680 --> 00:15:27,180 ir neturite jaudintis pagrindinės įgyvendinimas 277 00:15:27,180 --> 00:15:30,220 informacija, kuri yra visiškai suderinamas su šio sluoksniavimasis sąvoka 278 00:15:30,220 --> 00:15:33,610 abstrakcija, kad mes apylygiai semestrą. 279 00:15:33,610 --> 00:15:37,990 >> Taip ir per savaitgalį, mačiau porą gabaliukų naujienos. 280 00:15:37,990 --> 00:15:40,640 Eiti pirmiausia, eikite į seminarus, jei jums norėtų sužinoti kažką 281 00:15:40,640 --> 00:15:42,160 daugiau bet įvairiomis temomis. 282 00:15:42,160 --> 00:15:43,340 Pamatyti ten URL. 283 00:15:43,340 --> 00:15:45,890 Ir tai vienas buvo išsiųsta man iki Chang, kas žinote, 284 00:15:45,890 --> 00:15:47,850 kas spausdinti mūsų armiją drambliai. 285 00:15:47,850 --> 00:15:49,910 Ir tai buvo antraštė taip. 286 00:15:49,910 --> 00:15:51,280 Aš išsigandusi mano naują TV. 287 00:15:51,280 --> 00:15:54,301 Kodėl aš bijau išjungti šią dalykas ir jums reikia būti per daug. 288 00:15:54,301 --> 00:15:56,050 Taigi mes dabar atkreipti semestrą, 289 00:15:56,050 --> 00:15:58,860 taip pat, jei, net jei turite menkiausio supratimo 290 00:15:58,860 --> 00:16:02,620 kaip veikia tinklas ir HTTP, ir saugumo, tokie dalykai kaip šis 291 00:16:02,620 --> 00:16:03,980 turėtų pradėti sugauti savo akis. 292 00:16:03,980 --> 00:16:07,450 Bet, jūs suprasite, ar šie dalykai yra arba nėra 293 00:16:07,450 --> 00:16:08,430 realios grėsmės. 294 00:16:08,430 --> 00:16:10,940 >> Taigi, aš paėmė keletą ištraukų iš šio straipsnio čia. 295 00:16:10,940 --> 00:16:12,540 Ir istorija yra tokia. 296 00:16:12,540 --> 00:16:14,300 Aš dabar savininkas Naujas sumanus TV, kurie 297 00:16:14,300 --> 00:16:18,470 žada pristatyti transliacijos daugialypės terpės turinį, žaidimai, app, 298 00:16:18,470 --> 00:16:21,450 socialinės žiniasklaidos, ir interneto Naršymas, OH ir televizija taip pat. 299 00:16:21,450 --> 00:16:24,410 Vienintelė problema yra tai, kad aš dabar bijau jį naudoti, sako autorius. 300 00:16:24,410 --> 00:16:29,592 Jums bus taip pat, jei jūs skaitote per 46 puslapis privatumo politika jūsų televizoriui. 301 00:16:29,592 --> 00:16:31,800 Duomenų Ši suma dalykas renka yra stulbinantis. 302 00:16:31,800 --> 00:16:35,710 Įėjusi, kur, kada, kaip ir kaip ilgai jūs naudoti televizorių. 303 00:16:35,710 --> 00:16:38,190 Ji nustato sekimo slapukai, kaip mes aptarti, 304 00:16:38,190 --> 00:16:40,560 ir švyturių sukurta aptikti, kai jūs turite 305 00:16:40,560 --> 00:16:43,185 žiūrimi konkretus turinys arba ypač Laišką 306 00:16:43,185 --> 00:16:45,230 Jeigu norite patikrinti laišką jūsų televizoriuje. 307 00:16:45,230 --> 00:16:48,430 Jis įrašai apps jums naudoti, lankomų svetainių, 308 00:16:48,430 --> 00:16:52,280 ir kaip jums bendrauti su turiniu, daro viską, kad per savo "Smart TV". 309 00:16:52,280 --> 00:16:55,470 Taip pat, creepier yet-- tai mano addition-- 310 00:16:55,470 --> 00:16:58,140 sukūrė kamera su veido atpažinimu. 311 00:16:58,140 --> 00:17:01,010 >> Tikslas yra suteikti gestas kontrolė TV 312 00:17:01,010 --> 00:17:05,490 ir leidžia jums prisijungti prie Asmeninės sąskaitos naudojantis savo veidą. 313 00:17:05,490 --> 00:17:08,940 Kad ji augs, vaizdai yra išsaugotas televizoriaus vietoj įkeltas 314 00:17:08,940 --> 00:17:09,940 prie įmonės serverio. 315 00:17:09,940 --> 00:17:12,520 Kita vertus, interneto jungtis leidžia visą TV 316 00:17:12,520 --> 00:17:14,811 pažeidžiami įsilaužėlių, kuriems įrodo, kad sugeba 317 00:17:14,811 --> 00:17:16,700 imtis visiškai kontroliuoti mašina. 318 00:17:16,700 --> 00:17:20,880 >> Daugiau nerimą, nes, jei tai buvo ne pakankamai protingas, tai mikrofonas. 319 00:17:20,880 --> 00:17:23,599 TV pasigirti balsas atpažinimo funkcija 320 00:17:23,599 --> 00:17:26,859 kad leidžia žiūrovams kontroliuoti ekranas su balso komandomis. 321 00:17:26,859 --> 00:17:30,290 Tačiau paslauga ateina su o grėsmingas įspėjimas. 322 00:17:30,290 --> 00:17:33,030 Atkreipkite dėmesį, kad jei Jūsų ištarti žodžiai yra 323 00:17:33,030 --> 00:17:36,210 asmens ar kitos jautrios informacija, kad informacija 324 00:17:36,210 --> 00:17:40,310 bus tarp duomenų nufotografuotų ir perduodami trečiajai šaliai. 325 00:17:40,310 --> 00:17:40,870 Supratai? 326 00:17:40,870 --> 00:17:45,860 Negalima sakyti asmeninių ar jautri Daiktai priešais televizorių. 327 00:17:45,860 --> 00:17:47,280 >> Taigi tai tikrai realus. 328 00:17:47,280 --> 00:17:50,530 Ir tai nėra sunku pamatyti, jei jums eiti į Best Buy ar panašūs televizorių 329 00:17:50,530 --> 00:17:51,030 šių dienų. 330 00:17:51,030 --> 00:17:52,540 Jie visi smart tam tikru būdu. 331 00:17:52,540 --> 00:17:54,740 Ir jie gauna protingesni ir creepier. 332 00:17:54,740 --> 00:17:57,490 Ir jie tiesiog renka duomenis tokiu būdu, kad mes kalbėjome apie 333 00:17:57,490 --> 00:18:01,840 ir tada įkelti jį per HTTP arba kai kitą protokolą tam serveriui. 334 00:18:01,840 --> 00:18:05,720 >> Taigi tai buvo įdomus straipsnis Šioje interneto svetainėje 335 00:18:05,720 --> 00:18:08,940 čia kuris kalbėjo apie Ypač klaidą ar klaidingas kodas 336 00:18:08,940 --> 00:18:11,340 kad mes iš tikrųjų galite susieti į praėjusios savaitės diskusiją. 337 00:18:11,340 --> 00:18:15,730 Taigi ši antraštė buvo kaip taip, sakoma čia 338 00:18:15,730 --> 00:18:18,720 Josh Breckman dirbo kompanija, kuri nusileido sutartį 339 00:18:18,720 --> 00:18:22,390 sukurti turinio valdymo sistema, ar TVS, kaip jie vadinami, 340 00:18:22,390 --> 00:18:24,380 Per gana didelis vyriausybės interneto svetainėje. 341 00:18:24,380 --> 00:18:27,300 Daug padėtį projekto kuriant turinio valdymo sistemą 342 00:18:27,300 --> 00:18:29,840 kad darbuotojai būtų galima statyti ir prižiūrėti 343 00:18:29,840 --> 00:18:31,877 nuolat kinta Turinio jų svetainėje. 344 00:18:31,877 --> 00:18:34,210 Daiktai viskas vyko labai gerai praėjus kelioms dienoms po going gyventi. 345 00:18:34,210 --> 00:18:37,020 Bet dienos šešerių dalykai nėjo taip gerai. 346 00:18:37,020 --> 00:18:39,500 Visi ant turinio svetainė buvo visiškai išnykęs. 347 00:18:39,500 --> 00:18:42,950 Ir visi puslapiai paskatino nutylėjimą Įveskite turinio tinklalapį. 348 00:18:42,950 --> 00:18:43,810 Oho. 349 00:18:43,810 --> 00:18:46,080 Josh buvo vadinamas į ištirti ir pastebėjau 350 00:18:46,080 --> 00:18:49,390 kad vienas gedimus išorinis IP adresas buvo 351 00:18:49,390 --> 00:18:53,380 dingo ir ištrinti visus dėl sistemos turinys. 352 00:18:53,380 --> 00:18:56,290 >> IP adresas nepriklausė tam tikru užjūrio hacker smilga 353 00:18:56,290 --> 00:18:58,340 nuo griauna naudinga Vyriausybės informacija. 354 00:18:58,340 --> 00:19:05,190 Nutarė googlebot.com, Pačių "Google" žiniatinklio nuskaitymo Spider. 355 00:19:05,190 --> 00:19:06,010 Oho. 356 00:19:06,010 --> 00:19:09,150 Po tyrimų ir kodavimo bitų aplink rasti noncorrupt atsarginę kopiją, 357 00:19:09,150 --> 00:19:10,180 Josh rado problemą. 358 00:19:10,180 --> 00:19:12,700 >> Vartotojas buvo nukopijuotas įklijuoti tam tikrą paramą iš vieno turinį 359 00:19:12,700 --> 00:19:15,670 puslapis į kitą, įskaitant Redaguoti hipersaitą 360 00:19:15,670 --> 00:19:17,577 redaguoti puslapio turiniu. 361 00:19:17,577 --> 00:19:20,160 Paprastai tai nebūtų klausimas, nes išorės naudotojas 362 00:19:20,160 --> 00:19:24,320 reikia įvesti vardą ir slaptažodį, bet TVS autentiškumo patvirtinimo sistemą, 363 00:19:24,320 --> 00:19:27,520 prisijungimo sistemą, neatsižvelgė į tai, 364 00:19:27,520 --> 00:19:30,980 sudėtingas įsilaužimo būdai Google voras. 365 00:19:30,980 --> 00:19:31,700 Oho. 366 00:19:31,700 --> 00:19:33,610 >> As it turns out, Google Spider nenaudoja 367 00:19:33,610 --> 00:19:36,950 slapukai, o tai reiškia, kad jis gali lengvai apeiti patikrinimui 368 00:19:36,950 --> 00:19:39,840 yra prisijungęs slapukų rinkinys yra neteisinga. 369 00:19:39,840 --> 00:19:42,620 Ji taip pat nekreipia dėmesio į JavaScript, kurie būtų paprastai 370 00:19:42,620 --> 00:19:45,170 greitai ir nukreipti vartotojus kas nesate prisijungęs. 371 00:19:45,170 --> 00:19:48,610 Tačiau tai taip pat nereiškia, kas hipersaitą kiekviename puslapyje jis ras, 372 00:19:48,610 --> 00:19:51,700 įskaitant su Ištrinti puslapį pavadinime. 373 00:19:51,700 --> 00:19:52,650 Oho. 374 00:19:52,650 --> 00:19:56,070 >> Taigi, ką tai reiškia daugiau techniniai, bet gana suprantamais žodžiais? 375 00:19:56,070 --> 00:19:58,340 Tai tiesiog reiškia, kad visoje savo svetainę, 376 00:19:58,340 --> 00:20:02,287 jie turėjo URL nėra nei šį vieną, kad jūs galite pamatyti skyriuje nustatyti septyni. 377 00:20:02,287 --> 00:20:04,620 Priminti problemą septynis arba žinoti problemos septynis 378 00:20:04,620 --> 00:20:06,411 kad jūs iššūkį, be kitų dalykų, 379 00:20:06,411 --> 00:20:08,570 parduoti atsargas naudotojų vardu. 380 00:20:08,570 --> 00:20:14,010 Bet įgyvendinant tą sistemą pagal funkciją iš gauti per hipersaitus savo naudotojo 381 00:20:14,010 --> 00:20:16,880 sąsaja, tikriausiai ne protingiausias mintis 382 00:20:16,880 --> 00:20:20,300 nes jei jūsų svetainė yra kažkaip prieinama arba pagal žmogaus 383 00:20:20,300 --> 00:20:23,577 kas Naršyti aplink ar pirkti botas kaip "Google" ar voras 384 00:20:23,577 --> 00:20:26,160 kaip jie vadinami, kad tik nuskaitymo internete bando indeksas 385 00:20:26,160 --> 00:20:29,060 interneto, kaip paieškos, jie gali labai lengvai 386 00:20:29,060 --> 00:20:31,340 nukentėjo per gauti šią URL natūra. 387 00:20:31,340 --> 00:20:33,770 Ir tai funkciškai jiems lygiaverčiai, šiuo atveju, 388 00:20:33,770 --> 00:20:37,000 parduoti visų "Google" akcijų. 389 00:20:37,000 --> 00:20:40,030 >> Dabar atvirai, tai visiškai Oli kad TVS 390 00:20:40,030 --> 00:20:43,240 Naudota JavaScript ir slapukai įgyvendinti savo prisijungimo sistema 391 00:20:43,240 --> 00:20:47,100 o ne daryti, kad serverio pusėje, kaip Jūs vaikinai ir kreips PSet 7-- 392 00:20:47,100 --> 00:20:49,940 ten login.php file-- visada, visada, 393 00:20:49,940 --> 00:20:52,789 visada saugumas turėtų būti daroma serverio pusėje, 394 00:20:52,789 --> 00:20:56,080 ne dėl kliento pusėje, nes, kaip tai Straipsnis rodo ir jums gali sau 395 00:20:56,080 --> 00:20:59,600 matyti tam tikru momentu, tai yra trivialus vartotojas, geras ar blogas, 396 00:20:59,600 --> 00:21:02,860 tiesiog išjungti JavaScript nekalbant slapukus. 397 00:21:02,860 --> 00:21:06,020 Taigi tai yra jūsų dienos WTF. 398 00:21:06,020 --> 00:21:07,970 >> Yra dar vienas, kuris yra tik rūšies baisu, 399 00:21:07,970 --> 00:21:11,360 todėl aš sakiau, kad ji, jei tik kaip gyvenimo pamoką. 400 00:21:11,360 --> 00:21:14,850 Kai jūs naudojate programą vadinamas kaip Snapchat ar panašiai 401 00:21:14,850 --> 00:21:19,380 kad sako šios nuotraukos tik tęstis penkias sekundes, dešimt sekundžių arba Papuošalą. 402 00:21:19,380 --> 00:21:21,680 Jie efemeriška Tai visiškai ne tas atvejis. 403 00:21:21,680 --> 00:21:25,670 Kaip nėra taip, skaitmeniniu, įgyvendinti kai vaizdo forma, 404 00:21:25,670 --> 00:21:30,150 ar vaizdo arba tekstinė dalintis tokia kad kitame gale gavėjas 405 00:21:30,150 --> 00:21:31,660 negali kažkaip išsaugoti duomenis. 406 00:21:31,660 --> 00:21:34,300 >> Labiausiai naivus būdu, kažkas gali imtis savo telefoną. 407 00:21:34,300 --> 00:21:36,850 Ir jie turi 10 antrą langą o ieško tam tikru akimirksniu 408 00:21:36,850 --> 00:21:39,410 tiesiog imtis kokio nors kito telefono ir fotografija jį, žinoma. 409 00:21:39,410 --> 00:21:41,660 Taigi galite išsaugoti kažkas skaitmeniniu, kad taip. 410 00:21:41,660 --> 00:21:44,620 Kai kurie iš jūsų žino, kaip priimti Screenshots telefone. 411 00:21:44,620 --> 00:21:49,290 Iš tiesų, jei jūs nežinote, tai, suprasti, kad bent Snapchat, 412 00:21:49,290 --> 00:21:51,040 ir aš manau, kita paraiškas šių dienų, 413 00:21:51,040 --> 00:21:53,720 bent pasakyti, jei gavėjas iš tikrųjų 414 00:21:53,720 --> 00:21:55,310 ėmėsi savo įvaizdį ekrano. 415 00:21:55,310 --> 00:22:00,870 >> Bet dar blogiau, tai buvo snappening, kaip kažkas sugalvojo jį neseniai, 416 00:22:00,870 --> 00:22:04,680 kai kurie 100,000 Snaps buvo paleistas 417 00:22:04,680 --> 00:22:09,310 į tai, kas vadinama torrent failą įvairių svetainių galiausiai. 418 00:22:09,310 --> 00:22:12,000 Ir tai pateikiama visa krūva Privačių žinučių ir pranešimų. 419 00:22:12,000 --> 00:22:15,210 Pasirodo dauguma jų gerybinis, taip ne, ką jūs galite tikėtis. 420 00:22:15,210 --> 00:22:17,580 Bet todėl, kad žmonės turėjo naudojami trečiosios šalies interneto svetainę, 421 00:22:17,580 --> 00:22:20,270 Prisijungdami su jų Snapchat Vartotojo vardas ir slaptažodis, o tada 422 00:22:20,270 --> 00:22:23,470 taupyti visus savo Snaps dėl šio trečiojo asmens internetinėje svetainėje. 423 00:22:23,470 --> 00:22:26,130 Ir tai buvo, kad trečioji šalis svetainė buvo nulaužė, 424 00:22:26,130 --> 00:22:30,710 kuris tiesiog reiškia, kažkas suprato, kaip gauti visus 100,000 plius tų vaizdų 425 00:22:30,710 --> 00:22:33,822 į savo kietąjį diską tolesniam pasidalijimo. 426 00:22:33,822 --> 00:22:36,030 Atvirai kalbant, čia, tai tarsi iš Oli kad Snapchat 427 00:22:36,030 --> 00:22:39,360 būtų įgyvendintas tokiu būdu, kad trečioji šalis gali rūšiuoti ašyje 428 00:22:39,360 --> 00:22:43,310 duomenys ir kad ji nėra susieta su jūsų pareiškimui veikia ant telefono. 429 00:22:43,310 --> 00:22:46,947 Bet čia taip pat suprantu, kad tai dalykai neturėtų sugauti jums netikėtai, 430 00:22:46,947 --> 00:22:49,030 arba bent tai turėtų būti gyvenimo pamoka čia. 431 00:22:49,030 --> 00:22:52,220 Jei norite techninis Išsamiau, eikite į šį URL ten 432 00:22:52,220 --> 00:22:53,570 tai šiandien skaidres. 433 00:22:53,570 --> 00:23:00,960 Gerai, bet klausimai šiandien gyvenimo pamokos CS? 434 00:23:00,960 --> 00:23:02,710 Pasukite, kad ne. 435 00:23:02,710 --> 00:23:04,970 Nieko visai? 436 00:23:04,970 --> 00:23:06,301 Nieko visai? 437 00:23:06,301 --> 00:23:09,050 Aš turiu daug žmonių tikrinimas jų Snapchat ar kažką dabar. 438 00:23:09,050 --> 00:23:11,690 >> Gerai, taigi SQL, Structured Query Language. 439 00:23:11,690 --> 00:23:12,509 Leiskite wrap tai. 440 00:23:12,509 --> 00:23:14,300 Ir taip pat, nors mes tik įbrėžimas 441 00:23:14,300 --> 00:23:16,310 tai paviršius kalba, mes suteiksime jums 442 00:23:16,310 --> 00:23:18,930 pakankamai kalbos į PSet 7 forma 443 00:23:18,930 --> 00:23:22,140 taip, kad jūs galite spręsti kai gana bendra funkcija. 444 00:23:22,140 --> 00:23:24,912 Bet suprantate, yra pora tai, ką mes nereikia iš jūsų, 445 00:23:24,912 --> 00:23:27,120 bet jie bus Svarbu ateiti galutinius projektus 446 00:23:27,120 --> 00:23:30,760 ir tikrai ateis priėmimo faktinis svetainės dabartinių vartotojų 447 00:23:30,760 --> 00:23:32,040 tai dizaino sprendimas. 448 00:23:32,040 --> 00:23:34,460 >> Pasirodo, kad į MySQL duomenų bazės, jums 449 00:23:34,460 --> 00:23:37,460 turi kekių pasirinkimų kaip duomenų tipai jūsų stulpelius 450 00:23:37,460 --> 00:23:41,670 ir kitų dalykų, bet jūs taip pat turite iš vadinamojo saugoti, 451 00:23:41,670 --> 00:23:44,570 variklis visus savo duomenis, iš failų sistema rūšiuoti, 452 00:23:44,570 --> 00:23:46,700 Jei esate susipažinę, už visus savo duomenis. 453 00:23:46,700 --> 00:23:48,830 Ką formatas galiausiai saugomi? 454 00:23:48,830 --> 00:23:53,300 Ir dažniausiai, ko gero, buvo MyISAM ir InnoDB, techniniai terminai 455 00:23:53,300 --> 00:23:56,060 kad mes rūpinamės tik tiek, kiek, kad vienas turi 456 00:23:56,060 --> 00:23:58,500 ir vienas neturi Žemiau funkcija. 457 00:23:58,500 --> 00:24:00,390 >> Tarkime, kad jūs turite mažai bendrabučio šaldytuvas. 458 00:24:00,390 --> 00:24:03,030 Ir tarkime, kad jūs ir jūsų kambarioku, kuris pasidalinti šaldytuvas, 459 00:24:03,030 --> 00:24:04,682 tikrai mėgsta tarkim pieną. 460 00:24:04,682 --> 00:24:07,140 Ir tai yra, iš tiesų, kaip istorija buvo pasakyta, kad man kelią atgal 461 00:24:07,140 --> 00:24:10,890 tą dieną, kai aš paėmė kursą vadinama CS 161 Operacinės sistemos, kuri 462 00:24:10,890 --> 00:24:12,580 panašiai tyrinėja šią temą. 463 00:24:12,580 --> 00:24:13,760 Taigi, jūs turite šį šaldytuvą. 464 00:24:13,760 --> 00:24:14,630 Jūs iš pieno. 465 00:24:14,630 --> 00:24:17,000 Ir grįžti namo, jūsų draugas s dar klasėje ar kas, 466 00:24:17,000 --> 00:24:19,208 ir jums nuspręsti, aš ruošiuosi išeiti ir gauti pieno. 467 00:24:19,208 --> 00:24:22,630 Taigi jūs uždarote šaldytuvas, darbo baigimo laikas bendrabučio kambarys, eiti per gatvę 468 00:24:22,630 --> 00:24:25,330 CVS ar kur, ir gauti atsižvelgiant nusipirkti pieno. 469 00:24:25,330 --> 00:24:28,960 >> Tuo tarpu jūsų kambarioku gauna namų iš klasės, patenka į bendrabučio kambarį, 470 00:24:28,960 --> 00:24:31,802 atidaro šaldytuvą, taip pat supranta, ooph, mes iš pieno. 471 00:24:31,802 --> 00:24:33,760 Taigi jis užsidaro šaldytuvas ir tada atsitinka 472 00:24:33,760 --> 00:24:35,610 eiti į kitą CVS, kuris atsitinka būti 473 00:24:35,610 --> 00:24:38,470 vienas blokas nuo kitų CVS aikštėje, ir gauna pagal 474 00:24:38,470 --> 00:24:40,230 ten kažkiek pieno. 475 00:24:40,230 --> 00:24:42,524 Dabar, žinoma, keletą minučių vėliau, jūs abu grįžti, 476 00:24:42,524 --> 00:24:44,690 ir blogiausia įmanoma rezultatai nutiko. 477 00:24:44,690 --> 00:24:45,792 Jūs abu turite pieną. 478 00:24:45,792 --> 00:24:47,500 Ir jūs tikrai ne kaip pienas, kad daug. 479 00:24:47,500 --> 00:24:49,625 Taigi vienas iš jų yra tiesiog ketina rūgštus tam tikru momentu. 480 00:24:49,625 --> 00:24:55,941 Taigi, dabar jūs turite per daug Pieno šaldytuvą visi, nes kodėl? 481 00:24:55,941 --> 00:24:57,072 >> [Nesigirdi] 482 00:24:57,072 --> 00:24:59,780 DAVID Malan: Taip, tu negali kažkaip bendrauti tarpusavyje 483 00:24:59,780 --> 00:25:00,904 kad jūs gaunate pieno. 484 00:25:00,904 --> 00:25:04,320 Taigi paprasčiausias būdų, kad žmogaus pasaulį, 485 00:25:04,320 --> 00:25:08,390 kaip tai galėtumėte išvengti kvailas scenarijus neįvyktų tokių 486 00:25:08,390 --> 00:25:09,750 kad jūs tik baigti su vienu. 487 00:25:09,750 --> 00:25:10,840 Tekstas jas, taip gera. 488 00:25:10,840 --> 00:25:12,877 Bet kaip kitaip? 489 00:25:12,877 --> 00:25:13,460 Pranešimo lapeliai. 490 00:25:13,460 --> 00:25:14,626 DAVID Malan: lapukas. 491 00:25:14,626 --> 00:25:17,150 Bet kokios formos informacija kad pasakoja savo kambarioku 492 00:25:17,150 --> 00:25:18,670 neina į pieno šaldytuvą. 493 00:25:18,670 --> 00:25:20,440 Aš ruošiuosi eiti atsargas ant savo. 494 00:25:20,440 --> 00:25:22,770 Taigi jūs kažkaip reikia užrakinti šių duomenų. 495 00:25:22,770 --> 00:25:27,180 Taigi, mes galime padaryti this-- galime rūšies sugadinti istoriją ir paversti CS istorija 496 00:25:27,180 --> 00:25:30,360 kuriuo galvoti apie tai, kaip kaip kintamasis, kuris saugoti tam tikrą vertę. 497 00:25:30,360 --> 00:25:32,570 Ir dabar, pieno vertė yra nulis, 498 00:25:32,570 --> 00:25:35,410 kuris nenori jūsų kambarioku, patikrinti tą kintamąjį, 499 00:25:35,410 --> 00:25:38,730 ir tada būtų galima priimti sprendimą jis pats remiantis to kintamojo valstybės 500 00:25:38,730 --> 00:25:42,430 jei esate iš proceso keičiant to kintamojo būklę. 501 00:25:42,430 --> 00:25:46,140 >> Taigi vienas iš SQL linijų, kad mes suteikti jums PSet 7 specifikacija 502 00:25:46,140 --> 00:25:47,310 tai vienas čia. 503 00:25:47,310 --> 00:25:49,740 Ir mes neturime išleisti didžiulis daug laiko apie tai kalbėti. 504 00:25:49,740 --> 00:25:55,100 Bet it turns out, jei jūs bandote nusipirkti rankų į CS50 finansų 505 00:25:55,100 --> 00:25:58,000 kad jūs jau turite kai, jus akcijos 506 00:25:58,000 --> 00:26:01,750 norite, kad būtų galima padaryti tam tikrą numerį dalykų akimirksniu kartu. 507 00:26:01,750 --> 00:26:04,360 Jūs norite, kad būtų suteikta galimybė veiksmingai, aukšto lygio, 508 00:26:04,360 --> 00:26:06,700 patikrinti, ar visi sau teisę, jei aš noriu pirkti daugiau akcijų nemokamai, 509 00:26:06,700 --> 00:26:08,780 Penny Stock mes kalbėti apie į spec, 510 00:26:08,780 --> 00:26:10,660 Noriu pirmo patikrinimas kiek akcijų turiu. 511 00:26:10,660 --> 00:26:11,810 Ir tarkime, kad tai penki. 512 00:26:11,810 --> 00:26:14,600 Ir tarkime, kad aš noriu pirkti 10 daugiau, aš galiausiai 513 00:26:14,600 --> 00:26:17,069 norite turėti 15 "akcijų. 514 00:26:17,069 --> 00:26:18,360 Taigi turiu paklausti dviejų klausimų. 515 00:26:18,360 --> 00:26:20,230 Kas kintamojo būsena? 516 00:26:20,230 --> 00:26:21,470 Kas iš eilės valstybė? 517 00:26:21,470 --> 00:26:22,970 Kiek akcijos man šiuo metu? 518 00:26:22,970 --> 00:26:24,636 Tada jūs norite eiti į priekį ir jį atnaujinti. 519 00:26:24,636 --> 00:26:27,720 Štai analogas pienas, kad jums patikrinti eilutę, 520 00:26:27,720 --> 00:26:30,730 ir tada jūs norite ją atnaujinti nes jei norite pirkti 10 akcijas, 521 00:26:30,730 --> 00:26:32,521 Jūs nenorite pakeisti eilutė iki 10, jūs 522 00:26:32,521 --> 00:26:35,300 norite pakeisti jį į 5 plius 10 ar, žinoma, 15. 523 00:26:35,300 --> 00:26:40,030 >> Ši kodo eilutę užtikrina, kad tos dvi konceptualios idėjos 524 00:26:40,030 --> 00:26:42,810 atsitikti taip, ar ne visai. 525 00:26:42,810 --> 00:26:46,920 Niekas, įskaitant kai kurių kitų vartotojų kas prisijungęs prie to paties interneto svetainėje, 526 00:26:46,920 --> 00:26:49,900 kažkaip gali pertraukti iš eilės tikrinamas 527 00:26:49,900 --> 00:26:52,960 ir iš eilės atnaujinimą, pasirinkti ir, jei bus atnaujinti. 528 00:26:52,960 --> 00:26:57,360 Ir sintaksė nėra super akivaizdus, bet tai viena eilutė, kol jis yra, 529 00:26:57,360 --> 00:27:01,150 užtikrina, kad šios dvi operacijos Tikrinti kintamąjį arba patikrinti eilutę 530 00:27:01,150 --> 00:27:04,660 ir atnaujinti eilutė atsitikti atominių. 531 00:27:04,660 --> 00:27:06,849 >> O čia mes einame vėl. 532 00:27:06,849 --> 00:27:07,890 Teksto žinutė mano telefone. 533 00:27:07,890 --> 00:27:09,954 Taigi galime padaryti tai šiek tiek daugiau betono. 534 00:27:09,954 --> 00:27:12,120 Tarkime, kad jūs ne Įgyvendinant šaldytuvas, 535 00:27:12,120 --> 00:27:16,400 ir jūs neįgyvendina PSet 7 bet tikrasis bankas, 536 00:27:16,400 --> 00:27:20,000 arba ATM, Bankomatai Mašina, kurios dėka tu kažkaip 537 00:27:20,000 --> 00:27:22,960 nori, kad būtų galima įgalinti Vartotojų pervesti pinigus 538 00:27:22,960 --> 00:27:24,500 iš vienos sąskaitos į kitą. 539 00:27:24,500 --> 00:27:25,100 Gerai, palauk. 540 00:27:25,100 --> 00:27:26,683 Aš ruošiuosi nutildyti dabar, ačiū. 541 00:27:26,683 --> 00:27:30,450 Taigi, mes norime judėti pinigus iš vienos sąskaitos numerį 542 00:27:30,450 --> 00:27:33,600 į kitą sąskaitą skaičius, konkrečiai 100 JAV dolerių. 543 00:27:33,600 --> 00:27:37,690 Taigi tai yra rūšies savavališkas pavyzdys, pagal kurį jums, Bankomatas, 544 00:27:37,690 --> 00:27:41,060 galbūt norėsite atlikti du SQL užklausų, atimti iš vienos sąskaitos, 545 00:27:41,060 --> 00:27:42,430 ir įdėti į kitą sąskaitą. 546 00:27:42,430 --> 00:27:46,766 Bet jūs norite įsitikinti, kad šie dvi linijos ir atsitiktų, ar ne visai. 547 00:27:46,766 --> 00:27:48,640 Nenorite kažką vis nutrūksta. 548 00:27:48,640 --> 00:27:51,440 Jūs neturite kai protingas blogas vaikinas kažkaip stovėjo Bank of America 549 00:27:51,440 --> 00:27:53,270 du bankomatai priekio iš jo ir kažkaip 550 00:27:53,270 --> 00:27:55,270 rūšiuoti rašyti komandas tuo pačiu metu, 551 00:27:55,270 --> 00:28:01,230 tikiuosi bando atimti $ 200 vietoj 100 dolerių, ir tik turintys 100 $ į sąskaitą. 552 00:28:01,230 --> 00:28:04,450 Trumpai tariant, jūs norite tai elgtis taip, kaip tikitės. 553 00:28:04,450 --> 00:28:06,540 >> Ir kaip tai darote tai SQL duomenų bazė yra 554 00:28:06,540 --> 00:28:09,350 Jūs apvyniokite kas vadinamas sandoris. 555 00:28:09,350 --> 00:28:14,290 Drąsiai SQL, galite skambinti CS50 s užklausa funkcija su citata citatos pradžia 556 00:28:14,290 --> 00:28:15,370 sandoris. 557 00:28:15,370 --> 00:28:18,640 Tada galite paleisti bet kokį skaičių Vėlesnių SQL užklausų, 558 00:28:18,640 --> 00:28:20,870 bet nė vienas iš jų imtis Poveikis bazėje 559 00:28:20,870 --> 00:28:25,880 kol skambinate užklausos citata citatos įsipareigoti, jei vėl naudojant PHP. 560 00:28:25,880 --> 00:28:29,810 Ir tokiu būdu, jūs galite užtikrinti, kad net jei turite 1000 vartotojai visi 561 00:28:29,810 --> 00:28:32,080 pradeda savo bazę tuo pačiu metu, SQL 562 00:28:32,080 --> 00:28:34,540 žada, kad tai dvi užklausos bus 563 00:28:34,540 --> 00:28:36,740 įgyvendino vieną teisę po kito. 564 00:28:36,740 --> 00:28:40,330 Taigi jums nereikės baigti su viršija pienas arba neteisingas dydis, galiausiai, 565 00:28:40,330 --> 00:28:40,830 pinigų. 566 00:28:40,830 --> 00:28:43,110 >> Taigi atminkite, ne tiek PSet 7 567 00:28:43,110 --> 00:28:45,250 bet galutiniam projektų jei jūs iš tikrųjų 568 00:28:45,250 --> 00:28:49,690 bando perkelti duomenis apie visoje lenteles, kaip galima čia. 569 00:28:49,690 --> 00:28:53,980 Bet galbūt dar paprastesnė ir Akivaizdu suprasti, pavyzdys 570 00:28:53,980 --> 00:28:54,860 tai vienas čia. 571 00:28:54,860 --> 00:28:57,760 Ir kažkas elektroniniu paštu mums apie tai tik kitą dieną 572 00:28:57,760 --> 00:28:59,600 kai pamačiau kažką panašaus internete. 573 00:28:59,600 --> 00:29:03,480 >> Taigi mano žiniomis, pin sistemos nėra pažeidžiami šios atakos. 574 00:29:03,480 --> 00:29:06,637 Ir aš neįsivaizduoju, jei ji netgi naudoja SQL duomenų bazės po kapotu. 575 00:29:06,637 --> 00:29:08,470 Tačiau galime jį naudoti Diskutuojant. 576 00:29:08,470 --> 00:29:10,178 Štai ekranas, Harvardo žmonės linkę 577 00:29:10,178 --> 00:29:13,620 matyti, kai prisijungsite su savo Harvardo ID numerį ir PIN kodą. 578 00:29:13,620 --> 00:29:19,020 Ir tarkime, kad kaištis sistema buvo įgyvendinti PHP ir MySQL 579 00:29:19,020 --> 00:29:22,000 duomenų bazė, kodas, kad kažkas prieš galėjo raštu metai 580 00:29:22,000 --> 00:29:23,270 gali atrodyti taip. 581 00:29:23,270 --> 00:29:25,230 Pirma, paskelbti kintamasis vadinamas vardą. 582 00:29:25,230 --> 00:29:27,560 Ir tiesiog gauti, kad nuo POST superglobal. 583 00:29:27,560 --> 00:29:30,140 Tada gauti kitą kintamąjį, vadinamas slaptažodį ir pakartoti tą patį. 584 00:29:30,140 --> 00:29:33,080 Ir tada tiesiog atlikti tai ilgas užklausos čia 585 00:29:33,080 --> 00:29:36,690 pasirinkite žvaigždė iš vartotojų tam tikrais Nick lygus toks ir toks 586 00:29:36,690 --> 00:29:38,510 ir slaptažodis yra lygus toks ir toks. 587 00:29:38,510 --> 00:29:40,660 >> Atkreipkite dėmesį, kad garbanotas petnešos aš čia naudojama 588 00:29:40,660 --> 00:29:42,880 tiesiog reiškia PHP, eiti į priekį ir pakaitalas 589 00:29:42,880 --> 00:29:45,400 iš šių dviejų vertė kintamieji teisus ten. 590 00:29:45,400 --> 00:29:50,090 Jie nėra būtini, tačiau jie yra linkę vengti subtilių sintaksės klaidų. 591 00:29:50,090 --> 00:29:53,650 Taigi tai atrodo visiškai teisingas, iš pirmo žvilgsnio. 592 00:29:53,650 --> 00:29:54,240 Ir ji yra. 593 00:29:54,240 --> 00:29:56,680 Galite įdiegti pin sistema šiuo būdu. 594 00:29:56,680 --> 00:30:00,460 >> Bet tarkime, kad super protingas ir kenksminga studentas 595 00:30:00,460 --> 00:30:03,020 įėjimas tai kaip jo ar jos PIN. 596 00:30:03,020 --> 00:30:05,550 Taigi aš pašalinta kulka požymiai čia juoktis iki, 597 00:30:05,550 --> 00:30:08,760 ir aš iš tikrųjų atskleidė ką jis ar ji gali būti rašyti. 598 00:30:08,760 --> 00:30:10,350 Ir tai šiek tiek keista. 599 00:30:10,350 --> 00:30:13,850 Bet kas šokinėja į tave bent potencialiai jaudina apie naudotojo įvesties, 600 00:30:13,850 --> 00:30:16,450 net jei jūs neturite idėjos, kas SQL injekcijos išpuolių reiškia. 601 00:30:16,450 --> 00:30:20,300 Kodėl tai atrodo šiek tiek įtartinas? 602 00:30:20,300 --> 00:30:21,050 Kas tai? 603 00:30:21,050 --> 00:30:21,550 [Nesigirdi] 604 00:30:21,550 --> 00:30:24,260 DAVID Malan: ar yra mažai įtartinas. 605 00:30:24,260 --> 00:30:26,310 Tiesą sakant, tai iš SQL raktažodis. 606 00:30:26,310 --> 00:30:28,105 Kad nėra Bode gerai. 607 00:30:28,105 --> 00:30:29,980 Faktas, kad yra visi šie kabutes 608 00:30:29,980 --> 00:30:32,646 there-- Iš tiesų, vienas iš paprasčiausių būdų išeiti Kai duomenų bazes 609 00:30:32,646 --> 00:30:35,880 yra įvesdami kaip O'Reilly pavadinimas kad yra suinteresuotas jį kabutes 610 00:30:35,880 --> 00:30:38,600 nes jei žmogus, kuris parašė kodas užkulisiuose 611 00:30:38,600 --> 00:30:41,570 neatsižvelgiama į tai, kad ten gali būti vienviečiai kabučių vartotojo 612 00:30:41,570 --> 00:30:45,060 įėjimo, ir jis ar ji naudoja Viengubomis kabutėmis į savo kodą, 613 00:30:45,060 --> 00:30:46,040 blogi dalykai gali atsitikti. 614 00:30:46,040 --> 00:30:47,870 >> Tiesą sakant, dar blogiau, išnagrinėti šį. 615 00:30:47,870 --> 00:30:50,600 Jei tai dar kartą buvo kodas kad kažkas Harvardo metų 616 00:30:50,600 --> 00:30:53,100 prieš rašė kaiščiu sistema, pastebėti tai, kas 617 00:30:53,100 --> 00:30:56,220 apie gauti keitimą už vardą ir slaptažodį 618 00:30:56,220 --> 00:30:59,780 jei vartotojas įveda į kartą skroob kaip jų Vartotojas 619 00:30:59,780 --> 00:31:03,960 ir tada vienas, du, trys, keturi, penki, citata ar citata citatos vieną lygiųjų 620 00:31:03,960 --> 00:31:04,660 Cituoju vieną. 621 00:31:04,660 --> 00:31:07,220 Ir pastebėsite, kas svarbiausia čia yra vartotojas dar neturi 622 00:31:07,220 --> 00:31:09,900 pradėjo savo slaptažodį arba jų pin su citata. 623 00:31:09,900 --> 00:31:12,610 Ir jie nesibaigė jį su citata nes jis 624 00:31:12,610 --> 00:31:16,315 darant prielaidą, kad, jei programuotojas nebuvo tokia aštri, 625 00:31:16,315 --> 00:31:18,690 jie ketina turėti tie Viengubomis kabutėmis į savo kodą. 626 00:31:18,690 --> 00:31:19,860 >> Taigi čia kodas. 627 00:31:19,860 --> 00:31:23,820 Ir pakeitimas, kad dabar gali nutikti yra tai. 628 00:31:23,820 --> 00:31:26,350 Ir aš pabrėžė tai, ką vartotojas turi įvesti. 629 00:31:26,350 --> 00:31:28,480 Taigi, prieš, po. 630 00:31:28,480 --> 00:31:33,330 Ir pastebėsite, kas šiek tiek neramina dabar apie teisę pusmetį SQL kodą? 631 00:31:33,330 --> 00:31:36,300 Tai šiek tiek sudėtingesnis, reikia pripažinti, nei užklausas mes matėme. 632 00:31:36,300 --> 00:31:38,550 Bet tai niekaip negali geras dalykas, jei esate 633 00:31:38,550 --> 00:31:42,240 sakydamas pasirinkite žvaigždę, kuri yra pasirinkite viskas iš vartotojo stalo 634 00:31:42,240 --> 00:31:46,630 kur vartotojo vardas lygi skroob ir slaptažodis lygus vienas, du, trys, keturi, 635 00:31:46,630 --> 00:31:49,610 penkių ar vienas lygi vienetui. 636 00:31:49,610 --> 00:31:53,860 Kas logiška išvada Pastarojo punkto matyt? 637 00:31:53,860 --> 00:31:55,650 Tai tiesiog visada tiesa. 638 00:31:55,650 --> 00:31:59,930 >> Ir todėl, kad mes tarsi atspėjo arba raštuotas bandymų ir klaidų 639 00:31:59,930 --> 00:32:02,760 kad Programuotojas rašė šį kodą nepadarė 640 00:32:02,760 --> 00:32:07,250 numatyti žmogaus ar blogas žmogus rašyti apostrofais taip, 641 00:32:07,250 --> 00:32:10,350 galime sintaksiškai užbaigti SQL užklausa 642 00:32:10,350 --> 00:32:12,260 su kažkuo absurdiškas bet kažkas, kad 643 00:32:12,260 --> 00:32:15,930 yra sintaksiškai neteisingas kad visada vertina, kad tiesa. 644 00:32:15,930 --> 00:32:19,130 Taigi, jei šis kodas yra naudojamas atsakyti Klausimas true arba false turėtų 645 00:32:19,130 --> 00:32:22,930 šis vartotojas bus praleidžiamas, Atsakymas visada atrodo neatsižvelgdamas 646 00:32:22,930 --> 00:32:26,930 kad būtų tiesa, nes tai visada bus pasirinkti kažką iš duomenų bazės 647 00:32:26,930 --> 00:32:29,280 nes vienas iš žinoma visada lygi vienetui. 648 00:32:29,280 --> 00:32:30,360 >> Taigi, kas yra išeitis? 649 00:32:30,360 --> 00:32:33,290 Na PSet 7, mes iš tikrųjų išvengti visų kartu. 650 00:32:33,290 --> 00:32:37,360 Mes jums užklausos funkcija, ir mes rekomenduojame naudoti klaustukų 651 00:32:37,360 --> 00:32:40,430 kaip vietos rezervavimo ženklai, panašūs dvasia į printf s% s, 652 00:32:40,430 --> 00:32:43,710 bet tai, kas svarbiausia apie klaustukų čia yra, jei jūs iš tikrųjų skaityti per 653 00:32:43,710 --> 00:32:46,950 functions.php, kur mūsų užklausa funkcija yra įdiegta, 654 00:32:46,950 --> 00:32:52,780 tie prekių ženklai, pabėgo, kuriuo nieko potencialiai pavojingas 655 00:32:52,780 --> 00:32:58,210 kaip kabutes įjungta į pabėgo kabutes. 656 00:32:58,210 --> 00:33:00,590 >> Taigi tai, kas iš tikrųjų vyksta, jei jums 657 00:33:00,590 --> 00:33:04,850 naudoti CS50 užklausą funkcija arba bet koks skaičius kad trečiosios šalies nemokamai bibliotekų 658 00:33:04,850 --> 00:33:06,000 daryti tą patį. 659 00:33:06,000 --> 00:33:09,850 Nesvarbu, šiuo atveju, žalia, jei vartotojas turi įvesti vieną citata 660 00:33:09,850 --> 00:33:12,070 nes užklausą funkcija, kurią rašei 661 00:33:12,070 --> 00:33:15,120 pridėsime slešų prieš tokie pavojingi citata. 662 00:33:15,120 --> 00:33:17,360 Taigi tai yra ne, į Faktas, bus teisėtas. 663 00:33:17,360 --> 00:33:20,910 Tai kaip rašyti kvailai ieško slaptažodis tai, žinoma, neketinu 664 00:33:20,910 --> 00:33:23,490 būti skroob faktinių slaptažodį. 665 00:33:23,490 --> 00:33:28,260 >> Taigi už CS50 Takeaway yra vienas, absoliučiai visada naudoti kažką 666 00:33:28,260 --> 00:33:30,860 kaip CS50 užklausą funkcija arba pagrindinės bibliotekos, 667 00:33:30,860 --> 00:33:32,560 kuris atsitinka būti vadinamas SKVN. 668 00:33:32,560 --> 00:33:35,880 Bet niekada, niekada, niekada padaryti kodą, kaip tai 669 00:33:35,880 --> 00:33:39,472 be pabėgti arba šveitimo kaip sakoma jūsų įėjimai. 670 00:33:39,472 --> 00:33:42,430 Ir jūs tam tikru momentu tikriausiai Natknąć keletas tinklapio kaip šis. 671 00:33:42,430 --> 00:33:46,060 Tiesą sakant, atrodo, kad būti atvejis kaip oro uostuose ir viešbučiuose, esančiuose tokiose vietose 672 00:33:46,060 --> 00:33:48,880 kur jie turi nemokamą belaidį internetą prieigos, kad jums reikia prisijungti, kad, 673 00:33:48,880 --> 00:33:51,010 Šios svetainės yra visada siaubingai įgyvendinta. 674 00:33:51,010 --> 00:33:55,680 Ir taip smagu rūšiuoti namuose naudotis, ne piktavališkais tikslais ar daugiau 675 00:33:55,680 --> 00:33:59,170 iš kelyje įdomus mankštos, yra tiesiog įrašykite 676 00:33:59,170 --> 00:34:02,850 apostrofo kabutes, į dėl tam tikrų svetainės forma 677 00:34:02,850 --> 00:34:03,810 ir pamatyti, kas atsitiks. 678 00:34:03,810 --> 00:34:06,660 Ir jei serveris avarijos arba duoda Jūs kai rūšies klaidos pranešimą, 679 00:34:06,660 --> 00:34:09,690 jis gali labai gerai būti, kad kas nors nesitikima tai. 680 00:34:09,690 --> 00:34:15,239 Ir tada jūs turėtumėte įspėti tinkamai institucijos ir tęsti toliau. 681 00:34:15,239 --> 00:34:20,843 >> Taigi, dabar jūs vaikinai turėtų tikiuosi suprasti šiek tiek daugiau Geek humoro čia. 682 00:34:20,843 --> 00:34:24,120 >> [Juokas] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID Malan: Jūs žinote, jūs esate Geek. 685 00:34:29,070 --> 00:34:30,944 Dėl šalia keli metų, jums bus prisiminti 686 00:34:30,944 --> 00:34:33,520 kas mažai Bobby Stalai yra nes šio animacinio čia. 687 00:34:33,520 --> 00:34:36,760 Taigi keep that in mind, kaip mes kontekstas jungiklis vienas paskutinis kartas 688 00:34:36,760 --> 00:34:38,770 Šiandien JavaScript. 689 00:34:38,770 --> 00:34:41,600 Mes praleido gana mažai laikas nuo PHP sintaksė 690 00:34:41,600 --> 00:34:43,440 nes tai iš tikrųjų super panašus į C. 691 00:34:43,440 --> 00:34:47,300 Ir pakankamai gražiai, JavaScript per super panašus į C sintaksę 692 00:34:47,300 --> 00:34:49,639 taip pat pamatysime iš tiesiog akimirka ir kaip mes 693 00:34:49,639 --> 00:34:51,205 pamatyti šią savaitę ypač. 694 00:34:51,205 --> 00:34:54,080 Ką jūs galite padaryti su šia kalba, nors yra dar galingesnis, 695 00:34:54,080 --> 00:34:55,790 ypač su API. 696 00:34:55,790 --> 00:34:56,960 >> Bet pirmiausia greitai turas. 697 00:34:56,960 --> 00:35:00,450 Taigi vienas, JavaScript, yra ne pagrindinė funkcija, kuri yra gražus. 698 00:35:00,450 --> 00:35:02,650 Kaip su PHP, galite tiesiog parašyti kodą. 699 00:35:02,650 --> 00:35:04,310 Sąlygos atrodyti taip. 700 00:35:04,310 --> 00:35:07,100 Ir Bulio išraiškas galia atrodys taip ar taip. 701 00:35:07,100 --> 00:35:09,530 Jungikliai egzistuoti, ir jie gali atrodyti taip. 702 00:35:09,530 --> 00:35:10,970 Keturių kilpų atrodyti taip. 703 00:35:10,970 --> 00:35:12,390 Nors kilpos atrodyti taip. 704 00:35:12,390 --> 00:35:14,160 Ar whiles atrodyti taip. 705 00:35:14,160 --> 00:35:16,850 Ir tada masyvai atrodyti tai, labai panašus į PHP. 706 00:35:16,850 --> 00:35:20,740 Bet pastebėsite, kad "JavaScript" jums paskelbti kintamąjį nėra su doleriu 707 00:35:20,740 --> 00:35:25,190 pasirašyti ne su duomenų tipų, o tiesiog sakydamas var Kintamųjų prieš jį. 708 00:35:25,190 --> 00:35:27,900 Jis taip pat yra laisvai įvedėte tuo, kad ji turi rūšis, 709 00:35:27,900 --> 00:35:29,729 bet jūs neturite aiškiai deklaruoti juos. 710 00:35:29,729 --> 00:35:31,520 Ir tada virvutė, už pavyzdžiui, gali atrodyti 711 00:35:31,520 --> 00:35:34,350 kaip tai, kad eilutė vadinamas s šiuo atveju. 712 00:35:34,350 --> 00:35:35,410 Ir tada objektas. 713 00:35:35,410 --> 00:35:37,010 Ir tai mes pamatysime daugiau prieš ilgas. 714 00:35:37,010 --> 00:35:41,470 Ir objektas yra galbūt vienas iš Dažniausiai pastebėti duomenų struktūras 715 00:35:41,470 --> 00:35:44,050 į JavaScript pagrįstas programa, nes ji leidžia 716 00:35:44,050 --> 00:35:46,680 jums asocijuojasi savavališkas Pagrindinės reikšmės poros tiesiog 717 00:35:46,680 --> 00:35:51,240 kaip PHP Association masyvai ir kaip savo maišos lentelė 718 00:35:51,240 --> 00:35:54,042 arba pabandyti kaip mes įgyvendinti keletą savaičių atgal. 719 00:35:54,042 --> 00:35:56,250 Taigi galime realiai pamatyti, ką mes galime padaryti su JavaScript. 720 00:35:56,250 --> 00:35:59,410 Ir ypač tai skalbimo funkcijų sąrašas 721 00:35:59,410 --> 00:36:02,300 kad naršyklių kad leidžia mums Pajungti JavaScript 722 00:36:02,300 --> 00:36:05,470 į šiuo būdu interneto svetainėje. 723 00:36:05,470 --> 00:36:09,340 JavaScript yra dažnai naudojamas kaip kliento pusėje skriptų kalba. 724 00:36:09,340 --> 00:36:10,130 Tai nerenkami. 725 00:36:10,130 --> 00:36:11,370 Jis taip pat yra aiškinama. 726 00:36:11,370 --> 00:36:15,740 Tačiau skirtingai PHP, kuri veikia jau serveryje, žiniatinklio serverio, 727 00:36:15,740 --> 00:36:18,220 arba giliai viduje Klientai, JavaScript 728 00:36:18,220 --> 00:36:22,190 skiriasi tuo, kad: paprastai eina į naršyklę. 729 00:36:22,190 --> 00:36:26,060 >> Taigi bet koks JavaScript kodas pradėdami rašyti už PSet 8 arba savo galutiniam projektui, 730 00:36:26,060 --> 00:36:29,890 arba realiame pasaulyje paprastai vyksta būti išsaugomi serveryje, visiškai 731 00:36:29,890 --> 00:36:33,110 į dot HTML arba tašku JS failą JavaScript. 732 00:36:33,110 --> 00:36:35,770 Bet naršyklė vyksta atsisiųsti, kad "JavaScript" 733 00:36:35,770 --> 00:36:39,530 kodas jūsų paties instancijos Chrome, arba IE, arba Firefox, ar dar ką nors. 734 00:36:39,530 --> 00:36:43,870 Ir kodas iš tikrųjų ketiname gauti vykdoma viduje savo naršyklėje. 735 00:36:43,870 --> 00:36:46,560 Tik, kad tai daugiau nekilnojamojo, pažiūrėkime tai konkrečia forma. 736 00:36:46,560 --> 00:36:50,120 >> Mes nežinome, kas tai kodas daro be tikrai permatyti kiaurai. 737 00:36:50,120 --> 00:36:52,670 Bet leiskite man eiti į Facebook.com be prisijungimo. 738 00:36:52,670 --> 00:37:00,440 Leiskite man eiti į Tikrinti elementą ir eiti, tarkim, Tinklo ir perkraukite puslapį. 739 00:37:00,440 --> 00:37:04,150 Ir mes see-- leiskite pereiti iš naujo įkelkite Puslapis gauti visus atsakymus į naujus prašymus. 740 00:37:04,150 --> 00:37:08,850 Ir pats pirmas failas matau yra CSS, CSS. 741 00:37:08,850 --> 00:37:10,880 Štai pirmas JavaScript failą, ir aš turiu 742 00:37:10,880 --> 00:37:14,600 ne idėja, ką šis daro, bet čia yra keletas JavaScript kodo 743 00:37:14,600 --> 00:37:16,180 kad diskai "Facebook". 744 00:37:16,180 --> 00:37:18,400 Tai net ne tikrai, kad atskleidžiant, norėdami padidinti. 745 00:37:18,400 --> 00:37:20,260 Jis vis dar toks pat absurdiškas. 746 00:37:20,260 --> 00:37:24,341 >> Bet pamatysite net žemyn žemiau, ten net daugiau iš šių "JavaScript" failus. 747 00:37:24,341 --> 00:37:24,840 Oho. 748 00:37:24,840 --> 00:37:25,440 Štai ping. 749 00:37:25,440 --> 00:37:28,550 Vykime šiek tiek žemyn toliau, toliau, toliau. 750 00:37:28,550 --> 00:37:29,894 Yra vienas. 751 00:37:29,894 --> 00:37:31,238 Yra vienas. 752 00:37:31,238 --> 00:37:31,880 Yra vienas. 753 00:37:31,880 --> 00:37:35,820 >> Taigi, nors "Facebook", už scenos, parašyta iš dalies PHP 754 00:37:35,820 --> 00:37:39,100 ir "Facebook" savo versiją dalį, ten didžiulis JavaScript. 755 00:37:39,100 --> 00:37:41,330 Iš tiesų, bet koks kalbasi jūs dėl "Facebook", 756 00:37:41,330 --> 00:37:45,520 nors iš Inline laiko juostoje atnaujinimus , kad taip atsitiktų realiu laiku, kad visa tai 757 00:37:45,520 --> 00:37:47,944 varo JavaScript. 758 00:37:47,944 --> 00:37:48,444 Taip? 759 00:37:48,444 --> 00:37:50,235 >> AUDITORIJA: Nesu tikras jei tai yra "Facebook", 760 00:37:50,235 --> 00:37:53,624 bet aš maniau, kad "Facebook" sukūrė savo in-house kodas kalba? 761 00:37:53,624 --> 00:37:54,540 DAVID Malan: Jie padarė. 762 00:37:54,540 --> 00:37:58,110 Štai kodėl aš sakau iš dispersijos PHP vadinamas Hip Hop, kad jie iš tikrųjų 763 00:37:58,110 --> 00:38:03,440 papildomos funkcijos tokios, kad į kai Pažymėti įgyvendinama pirmą Facebook, 764 00:38:03,440 --> 00:38:04,710 jis buvo parašytas PHP. 765 00:38:04,710 --> 00:38:07,370 Ir kad tarsi išliko iš priekinės kalba rūšiuoti 766 00:38:07,370 --> 00:38:09,030 kad jie naudoja daug jų kodavimo, tačiau ji 767 00:38:09,030 --> 00:38:11,870 nebuvo kalbos tai svarstyklės itin gerai milijardus 768 00:38:11,870 --> 00:38:12,630 Žmonių. 769 00:38:12,630 --> 00:38:15,300 Ir taip jie pridūrė savo patobulinimai užkulisiuose. 770 00:38:15,300 --> 00:38:17,049 Ir jie naudoja bet koks skaičius Kitų kalbų 771 00:38:17,049 --> 00:38:19,170 dėl įvairių gabalų jų infrastruktūra. 772 00:38:19,170 --> 00:38:24,080 Taip taip, tai dispersinė ką mes dabar žinome kaip PHP. 773 00:38:24,080 --> 00:38:26,610 >> Taigi galime pažvelgti esant pavyzdžių pora 774 00:38:26,610 --> 00:38:28,890 kaip mes galime naudoti "JavaScript" čia. 775 00:38:28,890 --> 00:38:32,530 Šiandienos šaltinio kodą, turime krūva failų, kurių pirmasis, 776 00:38:32,530 --> 00:38:34,090 tegul vadinama DOM nulis. 777 00:38:34,090 --> 00:38:36,770 Taigi DOM nulis atrodo taip. 778 00:38:36,770 --> 00:38:40,730 Leiskite man eiti į šį katalogą ir atverti domzero.html, 779 00:38:40,730 --> 00:38:44,970 iš kurių viršuje yra doc tipas deklaracija, sakydamas čia ateina HTML 5. 780 00:38:44,970 --> 00:38:46,440 Ir dabar čia yra HTML tegus. 781 00:38:46,440 --> 00:38:47,540 Štai galva tag. 782 00:38:47,540 --> 00:38:49,210 Ir štai kas naujo šiandien. 783 00:38:49,210 --> 00:38:52,620 >> Dabar turime scenarijaus žymė viduje puslapio galvos. 784 00:38:52,620 --> 00:38:55,290 Ir tai, matyt, daro labai mažai, tačiau pranešimas 785 00:38:55,290 --> 00:38:58,410 kad aš apibrėžta Scenarijus, JavaScript. 786 00:38:58,410 --> 00:39:01,050 Ir kaip žemę, nes tai Yra paplitusi klaidinga nuomonė, 787 00:39:01,050 --> 00:39:05,220 JavaScript turi visiškai nieko daryti su Java, kalba 788 00:39:05,220 --> 00:39:08,010 kad kai kurie iš jūsų gali išmoko APCs. 789 00:39:08,010 --> 00:39:10,480 Tai buvo daugiau rinkodaros dalykas nei nieko, 790 00:39:10,480 --> 00:39:12,980 jojimo Java metų Protekcija prieš. 791 00:39:12,980 --> 00:39:17,300 Bet JavaScript, neturi nieko bendro su Java, tiesiog panašiai, ir annoyingly, 792 00:39:17,300 --> 00:39:18,480 klaidinančiai vadinamas. 793 00:39:18,480 --> 00:39:21,890 >> Taigi čia yra kaip deklaruojate funkciją JavaScript, pažodžiui pasakyti funkciją, 794 00:39:21,890 --> 00:39:24,556 tada iš funkcijos pavadinimas, tada bet argumentai gali užtrukti, 795 00:39:24,556 --> 00:39:25,530 Kaip ir PHP. 796 00:39:25,530 --> 00:39:28,990 Pasirodo JavaScript, vieną iš labiausiai erzina funkcijos, kurios egzistuoja yra perspėjimas. 797 00:39:28,990 --> 00:39:31,392 Tai šiek tiek langas, kuris iššoks ir įspėti jus 798 00:39:31,392 --> 00:39:32,600 tam tikros informacijos. 799 00:39:32,600 --> 00:39:33,766 Tai paprastai frowned. 800 00:39:33,766 --> 00:39:35,980 Bet mes jį naudoti kaip savo Pirmasis pratimas čia. 801 00:39:35,980 --> 00:39:37,900 >> Pranešimas kelis požymius JavaScript. 802 00:39:37,900 --> 00:39:41,524 Viengubomis kabutėmis ir kabutes ne iš tikrųjų svarbu nebėra. 803 00:39:41,524 --> 00:39:43,690 Viengubomis kabutėmis ir dvigubas citatos gali būti sukeistos, 804 00:39:43,690 --> 00:39:46,220 o C, turite naudoti kabutes styginiams 805 00:39:46,220 --> 00:39:48,150 ir jūs turite dvi viengulės kabučių simbolių. 806 00:39:48,150 --> 00:39:51,150 Be JavaScript pasaulyje daug žmonių, dauguma žmonių 807 00:39:51,150 --> 00:39:54,970 Viengubomis kabutėmis aplink stygos tik todėl, kad stilistinė dalykas. 808 00:39:54,970 --> 00:39:58,330 Bet kas plius operatorius čia kurių mes nematėme anksčiau? 809 00:39:58,330 --> 00:39:59,836 >> AUDITORIJA: Sąryšis. 810 00:39:59,836 --> 00:40:00,960 DAVID Malan: Sąryšis. 811 00:40:00,960 --> 00:40:02,450 Taigi C net neturi tai. 812 00:40:02,450 --> 00:40:04,820 PHP turi taškinę operatorių, kuris tai daro. 813 00:40:04,820 --> 00:40:09,710 JavaScript turi pliuso operatorių, kuris klaidinančiai yra kaip Java. 814 00:40:09,710 --> 00:40:11,440 Dabar, kas vyksta čia? 815 00:40:11,440 --> 00:40:14,260 >> Taigi čia, kur pagrindinė supratimas to paveikslėlyje 816 00:40:14,260 --> 00:40:17,010 mes išmetė porą d atgal ateina į žaidimą. 817 00:40:17,010 --> 00:40:19,620 Prisiminkite, kai mes turėjome paprasta versija HTML page-- 818 00:40:19,620 --> 00:40:20,830 jis tik pasakė, hello world. 819 00:40:20,830 --> 00:40:22,770 Ir tada mes atkreipė medį į dešinę, kuri 820 00:40:22,770 --> 00:40:27,320 turėjo stačiakampių ir linijų krūva prijungiant juos kaip šeimos medį. 821 00:40:27,320 --> 00:40:30,820 Štai vadinamasis DOM arba Document Object Model. 822 00:40:30,820 --> 00:40:36,759 Ir paaiškėja, kad jūs galite prisijungti stačiakampių tą medį su sintakse 823 00:40:36,759 --> 00:40:37,550 kaip šiuos. 824 00:40:37,550 --> 00:40:41,370 Jūs tiesiog pasakyti dokumentą, kuris yra ypatingą pasaulinį kintamąjį į "JavaScript" 825 00:40:41,370 --> 00:40:45,890 programa, kuri turi funkciją susijęs su juo, kad jūs galite pasiekti 826 00:40:45,890 --> 00:40:50,280 panašus į struct, bet jūs tiesiog pasakyti tašką, o po to ši funkcija vardą, 827 00:40:50,280 --> 00:40:52,390 gauti elementą pagal ID. 828 00:40:52,390 --> 00:40:55,460 >> Elementas Noriu gauti yra matyt citata citatos vardą. 829 00:40:55,460 --> 00:40:57,150 Ir tada aš noriu gauti jo vertę. 830 00:40:57,150 --> 00:40:58,330 Dabar mes vis prieš save. 831 00:40:58,330 --> 00:41:00,038 Nesu tikras, net tai, kas visa tai yra apie. 832 00:41:00,038 --> 00:41:03,000 Leiskite pirmyn į HTML į puslapis, kuris yra super paprasta. 833 00:41:03,000 --> 00:41:05,370 >> Atkreipkite dėmesį, kad aš apibrėžta sudaro žemyn čia. 834 00:41:05,370 --> 00:41:07,940 Atkreipkite dėmesį, aš jį davė savo unikalų ID, nors mes ne naudoti 835 00:41:07,940 --> 00:41:08,870 šis atributas anksčiau. 836 00:41:08,870 --> 00:41:11,300 Bet tai HTML egzistuoja. 837 00:41:11,300 --> 00:41:15,570 Galite identifikuoti kai riekė HTML su kaip šis identifikatorius. 838 00:41:15,570 --> 00:41:19,880 >> Pranešimas dabar this-- pasirodo HTML palaiko, per tą skalbimo sąrašą 839 00:41:19,880 --> 00:41:22,490 prieš akimirką, visa krūva renginių tvarkytojai. 840 00:41:22,490 --> 00:41:25,060 Ir šis renginys prižiūrėtojas sako ant pateikti. 841 00:41:25,060 --> 00:41:28,730 Dėl vartotojo pateikimo šio forma, skambinkite šį kodą. 842 00:41:28,730 --> 00:41:31,360 Ir kodas, kas vyksta vadinti ar įvykdyta 843 00:41:31,360 --> 00:41:35,260 yra būtent tai, Graikų funkcija po return FALSE. 844 00:41:35,260 --> 00:41:37,360 Visa kita turėtų būti gana susipažinę. 845 00:41:37,360 --> 00:41:42,050 >> Štai tipo teksto įvestį, kurio ID, šiuo atveju, tai bus vardas. 846 00:41:42,050 --> 00:41:45,430 Mes neturime faktinė atributas name tai LAIKĄ_ ir mygtuką "Siųsti". 847 00:41:45,430 --> 00:41:48,330 Tuomet gauta puslapis atrodo taip. 848 00:41:48,330 --> 00:41:52,890 Ir todėl elgesys, pamatysite, atrodo taip. 849 00:41:52,890 --> 00:41:56,940 Puslapis vietinėms šeimininkai sako, hello David, beveik estetiška 850 00:41:56,940 --> 00:41:58,340 būdas pasveikinti vartotoją. 851 00:41:58,340 --> 00:41:59,950 Bet kas iš tikrųjų vyksta? 852 00:41:59,950 --> 00:42:01,360 >> Na, pagalvokite, ką tai. 853 00:42:01,360 --> 00:42:02,310 Tai tekstinis laukas. 854 00:42:02,310 --> 00:42:04,635 Ir pagal HTML čia, aš jį davė savo 855 00:42:04,635 --> 00:42:07,350 unikalus identifikatorius vadinamas citata citatos vardas. 856 00:42:07,350 --> 00:42:09,770 Tuo tarpu, aš sakė, kai vartotojas pateikia šią formą 857 00:42:09,770 --> 00:42:13,820 pataikyti Įveskite arba spustelėkite Pridėti mygtuką, skambinkite funkcija vadinama palydėk 858 00:42:13,820 --> 00:42:15,410 ir tada grįžti Neteisingų. 859 00:42:15,410 --> 00:42:16,870 Apžvelkime tuos atvirkščiai. 860 00:42:16,870 --> 00:42:20,590 Pranešimą, kai aš spauskite Pateikti, URL šio puslapio nesikeičia. 861 00:42:20,590 --> 00:42:22,420 Naršyklės piktograma nepradėjo suktis. 862 00:42:22,420 --> 00:42:27,050 Aš ne eiti bet kur, ir tai pažodžiui, nes sakiau return FALSE. 863 00:42:27,050 --> 00:42:31,534 Return FALSE trumpojo jungimo arba sustabdo Numatytasis elgesys forma. 864 00:42:31,534 --> 00:42:33,700 Kad tada palieka mus su tai vienas paskutinis klausimas. 865 00:42:33,700 --> 00:42:34,764 Ką Greet daryti? 866 00:42:34,764 --> 00:42:36,680 Na, Pasitikite matyt ragina funkcija vadinama 867 00:42:36,680 --> 00:42:39,250 Įspėjimo, eina į vieną ilgas argumentas, kad tai 868 00:42:39,250 --> 00:42:43,950 iš concatenating kartu rezultatas krūva poeilių, hello kablelis erdvė, 869 00:42:43,950 --> 00:42:45,810 tada viskas, ką šis grįžta. 870 00:42:45,810 --> 00:42:51,490 Taigi dokumentas yra kaip pasaulinė kintamasis tai tos medžio lygyje, 871 00:42:51,490 --> 00:42:55,560 sušaukti specialų funkciją, kitaip dabar žinomas kaip metodą. 872 00:42:55,560 --> 00:42:57,650 Funkcija, kuri yra viduje kintamasis 873 00:42:57,650 --> 00:42:59,640 vadinamas metodas, o ne funkcija. 874 00:42:59,640 --> 00:43:01,570 >> Taigi gauti elementą pagal ID. 875 00:43:01,570 --> 00:43:03,940 Ką elementas padaryti jums nori gauti savo ID? 876 00:43:03,940 --> 00:43:06,970 Cituoti citatos vardą ir tada specialiai vertiname. 877 00:43:06,970 --> 00:43:12,000 Taigi, kitaip tariant, kad tiesiog kodas nustato teksto lauką, kurio ID yra vardas 878 00:43:12,000 --> 00:43:13,380 ir tada gauna savo vertę. 879 00:43:13,380 --> 00:43:16,460 Taigi, jei aš būčiau tai pakeisti ir pasakyti Davin Dovydo vietoje, 880 00:43:16,460 --> 00:43:20,670 ir spauskite Pateikti, dabar mes turite "Davin sveikinimą. 881 00:43:20,670 --> 00:43:22,890 >> Gerai, kad viskas gerai, ir gerai. 882 00:43:22,890 --> 00:43:25,480 Tačiau galime pamatyti, jei mes galime padaryti tai tiek švaresnis, nes tik 883 00:43:25,480 --> 00:43:28,190 rašyti kodą, kaip tai yra paprastai bus frowned. 884 00:43:28,190 --> 00:43:30,060 Tai atrodys baisiau. 885 00:43:30,060 --> 00:43:32,330 Bet kas pirmas skirtumas, kad jūs dėmesį čia 886 00:43:32,330 --> 00:43:35,970 Šioje versijoje neskaitant pavadinimas keičiasi į DOM vieną? 887 00:43:35,970 --> 00:43:41,110 Ką struktūriškai atrodo kitaip apie tai prieš kitą? 888 00:43:41,110 --> 00:43:41,932 Taip? 889 00:43:41,932 --> 00:43:43,890 AUDITORIJA: Ar ant formos top scenarijų dabar? 890 00:43:43,890 --> 00:43:46,570 DAVID Malan: Taip, forma viršuje Kurį smalsu priežasties scenarijų. 891 00:43:46,570 --> 00:43:48,736 Štai pirmas dalykas kad šuoliai į mane, per daug. 892 00:43:48,736 --> 00:43:50,990 Ir laimei bent ši dalis yra identiška. 893 00:43:50,990 --> 00:43:53,470 Taigi vienintelis dalykas, kad atrodo būti kitoks tai. 894 00:43:53,470 --> 00:43:55,296 >> Taigi štai ką tvarkingas apie JavaScript 2. 895 00:43:55,296 --> 00:43:57,420 Ir tai daro jį sunkiai suprasti iš pirmo žvilgsnio, 896 00:43:57,420 --> 00:44:00,670 ypač galutinių projektų, jei jūs ieškote mėginio kodą internete, 897 00:44:00,670 --> 00:44:04,200 bet ji suvesta į kai Pagrindinės sintaksės savybės. 898 00:44:04,200 --> 00:44:06,230 Čia yra tai, kad vėl pasaulinį kintamąjį dokumentas. 899 00:44:06,230 --> 00:44:09,540 Čia vėl yra tas metodas, arba funkcija kad sako gauti pagal ID elemento. 900 00:44:09,540 --> 00:44:11,570 Šį kartą noriu gauti ID vadinamas demo. 901 00:44:11,570 --> 00:44:12,490 Kur tai yra? 902 00:44:12,490 --> 00:44:15,400 Štai, matyt, teisė čia pati forma. 903 00:44:15,400 --> 00:44:20,010 >> Ir dabar pastebėti, kad, matyt, jei aš grįžti tą mazgą nuo medžio, kad 904 00:44:20,010 --> 00:44:22,940 reiškia formą pati, o ne tekstinis laukas, 905 00:44:22,940 --> 00:44:26,970 Pasirodo, kad forma, kad mazgas arba stačiakampis iš medžio, 906 00:44:26,970 --> 00:44:30,450 turi ką mes vadiname turtą, labai, labai, labai panašus 907 00:44:30,450 --> 00:44:35,390 dvasia į C struct Tai tiesiog Duomenų narys viduje stačiakampio. 908 00:44:35,390 --> 00:44:38,300 >> Taigi aš turiu formą čia, ir aš prijungti, 909 00:44:38,300 --> 00:44:44,650 ar aš paskiriant, į savo Pateikti prižiūrėtojas ar veikiau Pateikti turtą 910 00:44:44,650 --> 00:44:45,740 šią funkciją. 911 00:44:45,740 --> 00:44:49,000 Ir tai yra, iki šiol, craziest dalykas šiol sintaksiškai. 912 00:44:49,000 --> 00:44:53,610 Pasirodo JavaScript ir PHP ir atvirai tuo klausimu į C, 913 00:44:53,610 --> 00:44:58,990 nors mes neturime daryti, jūs galite pridėti bevardis, anoniminis arba AKA liambda 914 00:44:58,990 --> 00:45:03,000 funkcijos, kurios neturi pavadinimo bet gali būti vadinamas vis. 915 00:45:03,000 --> 00:45:07,050 >> Taigi, ką aš darau čia aš suteikiant Šioje vietoje Pateikti turtą, kuris 916 00:45:07,050 --> 00:45:14,330 yra viduje šio mano DOM medžio mazgas, funkcija, funkcija žymeklis, jei bus. 917 00:45:14,330 --> 00:45:16,310 Ši funkcija neturi pavadinimas, bet tai nereiškia, 918 00:45:16,310 --> 00:45:19,110 klausimas, nes matysime akimirkos, kaip ją vadina. 919 00:45:19,110 --> 00:45:21,780 Kai ši funkcija vadinama, šis kodas paleidžiama vykdyti, tada 920 00:45:21,780 --> 00:45:24,210 false grąžinama kaip ir anksčiau. 921 00:45:24,210 --> 00:45:25,800 >> Bet pastebėsite, ką aš padariau. 922 00:45:25,800 --> 00:45:27,830 Šiuo istorija, turiu formą. 923 00:45:27,830 --> 00:45:30,190 Jis gavo unikalų identifikacijos pavadinimu demo. 924 00:45:30,190 --> 00:45:33,740 Žemyn čia, turiu scenarijaus žymė kad vykdo šį kodą. 925 00:45:33,740 --> 00:45:37,720 Jis prisijungia prie to mazgo jai medžio On Pateikti 926 00:45:37,720 --> 00:45:40,260 nuosavybė ši funkcija čia. 927 00:45:40,260 --> 00:45:44,310 Ir tik iš prigimties, kaip naršyklės darbą, kai aš dabar paspausk Submit arba paspauskite Enter, 928 00:45:44,310 --> 00:45:45,889 kad funkcija ketina gauti vadinamas. 929 00:45:45,889 --> 00:45:48,680 Tai nereikia nes kas vardą Heck rūpinasi, kaip ji vadinama. 930 00:45:48,680 --> 00:45:52,540 Tik laiko jis kada nors gauti vadinama, kai aš pateikti formą. 931 00:45:52,540 --> 00:45:55,130 Nėra jokios man reikia, žmogaus kūrėjas, 932 00:45:55,130 --> 00:45:57,330 kad iš tikrųjų ją vadina niekur kitur. 933 00:45:57,330 --> 00:46:00,720 >> Dabar lygiai taip pat erzina, nes jei tai buvo ne tai lenkimo pakankamai, 934 00:46:00,720 --> 00:46:03,330 mes netgi galite padaryti tai žiūrėti daugiau paslaptingas naudojant 935 00:46:03,330 --> 00:46:05,850 super populiarus biblioteka vadinama JQuery. 936 00:46:05,850 --> 00:46:08,760 Iš tiesų jQuery ir JavaScript dažnai sietų. 937 00:46:08,760 --> 00:46:12,790 Ir tai, ką mes darysime, trečiadienį yra pradžia Naudojant šią kalbą ir šias bibliotekas 938 00:46:12,790 --> 00:46:16,030 statyti vis asinchroninis ir dinaminiai prašymus 939 00:46:16,030 --> 00:46:18,950 kaip žemėlapyje gauti Programas, prašymai 940 00:46:18,950 --> 00:46:22,360 kad atnaujinti realiu tinklalapį laikas, panašiai kaip "Facebook" ar "Gchat 941 00:46:22,360 --> 00:46:27,130 daryti, o ne apsiribosime Paspaudus Pateikti kurią vakaronėse ar tiesiog paštu 942 00:46:27,130 --> 00:46:27,630 vieni. 943 00:46:27,630 --> 00:46:29,055 Taigi, aš pamatysiu jus, trečiadienį. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [Muzikos grojimo] 946 00:46:35,550 --> 00:48:09,728