1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH Blumberg: Sveiki visi. 3 00:00:07,030 --> 00:00:09,530 Mes ketiname pradėti tik pora minučių anksčiau 4 00:00:09,530 --> 00:00:11,738 nes mes turime visai daug medžiagos gauti per. 5 00:00:11,738 --> 00:00:12,790 Aš Ona. 6 00:00:12,790 --> 00:00:13,865 Aš TF. 7 00:00:13,865 --> 00:00:16,239 Maria bus prisijungti mums vos pora minučių. 8 00:00:16,239 --> 00:00:17,560 Ji moko skyrių tiesiai prieš. 9 00:00:17,560 --> 00:00:19,351 Aš mokau teisę skyrių po, todėl mes ketiname 10 00:00:19,351 --> 00:00:21,200 išlaikyti jį į valandą ir pusę. 11 00:00:21,200 --> 00:00:25,490 >> Taigi, kaip jūs pamatysite čia, mes turime gana keli klausimai turime gauti per, 12 00:00:25,490 --> 00:00:27,200 todėl mes ketiname būti šiek tiek greitai. 13 00:00:27,200 --> 00:00:31,140 Bet jei bet kuriuo momentu mes sakome kažką per greitai arba jūs nesuprantate, 14 00:00:31,140 --> 00:00:33,170 nedvejodami nutraukti klausimus. 15 00:00:33,170 --> 00:00:36,610 Mes norime, kad būtų galima padaryti tai peržiūrėti sesiją naudinga jums visiems 16 00:00:36,610 --> 00:00:37,973 kaip įmanoma. 17 00:00:37,973 --> 00:00:38,920 Nuostabus. 18 00:00:38,920 --> 00:00:41,650 >> Taigi leiskite pereiti teisę su Kai kurios temos, kad mes iš tikrųjų 19 00:00:41,650 --> 00:00:46,980 labai, labai trumpai, kuriems už viktorina 0 viktorinoje 0 peržiūros sesijos. 20 00:00:46,980 --> 00:00:48,840 Taigi pradedant susijusių sąrašus. 21 00:00:48,840 --> 00:00:52,090 Taigi tiesiog įsitikinkite, kad turite kai pagrindinių žinių apie susijusius sąrašus 22 00:00:52,090 --> 00:00:55,110 ir yra patogūs daro kai kurie iš pagrindinių operacijas. 23 00:00:55,110 --> 00:00:58,560 >> Taigi tiesiog peržiūrėti, susijusi sąrašai yra geriau nei masyvai 24 00:00:58,560 --> 00:01:01,020 nes jie gali augti dinamiškai. 25 00:01:01,020 --> 00:01:03,300 Taigi, mes turime tą didžiulį pranašumą. 26 00:01:03,300 --> 00:01:06,031 Mes matėme juos naudoti į maišos lentelėmis, kai mes 27 00:01:06,031 --> 00:01:08,280 nežinau tiksliai, kiek tai, ką mes ketiname nori 28 00:01:08,280 --> 00:01:10,900 įterpti į mūsų duomenų struktūros. 29 00:01:10,900 --> 00:01:15,700 Deja, mes turime vienetų susietą sąrašą visame atminties, 30 00:01:15,700 --> 00:01:20,820 todėl nebūtinai bus sugebėti daryti pastovų laiko susipažinti 31 00:01:20,820 --> 00:01:22,502 bet susietame sąrašo elemento. 32 00:01:22,502 --> 00:01:24,210 Norint rasti ypač elementas, mes 33 00:01:24,210 --> 00:01:26,510 turi pakartoti visus būdas iš pradžių. 34 00:01:26,510 --> 00:01:30,610 Taigi reikia nepamiršti, kad dauguma Pagrindinės operacijos yra omega 1 d. 35 00:01:30,610 --> 00:01:32,130 Taigi įdėklas yra tik ketina imtis 1 d. 36 00:01:32,130 --> 00:01:37,520 Ištrinti ketina imtis n, nes mes turi eiti ieškoti jį iš sąrašo. 37 00:01:37,520 --> 00:01:39,260 Ir paieška, galėtų imtis blogiausiu atveju, n. 38 00:01:39,260 --> 00:01:42,330 Mes negalime padaryti kažką panašaus dvejetainis paieškos susietą sąrašą 39 00:01:42,330 --> 00:01:45,101 nes mes galime ne tik atsitiktinai peršokti į vidurį. 40 00:01:45,101 --> 00:01:45,600 Kietas. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 Nuostabus. 43 00:01:48,960 --> 00:01:50,270 >> Šiek tiek kaminai. 44 00:01:50,270 --> 00:01:53,980 Tai vėlgi atėjo į viktorinos 0, todėl jūs turėtų būti super patogiai su juo. 45 00:01:53,980 --> 00:01:57,210 Bet kaminai, mes prašome jus prisiminti keletą padėklai kamino. 46 00:01:57,210 --> 00:01:59,940 Ir tai bus pirmasis, paskutinis iš. 47 00:01:59,940 --> 00:02:02,272 Taigi, mes sukrauti viską pluošte, ir tada 48 00:02:02,272 --> 00:02:04,980 jei mes bandome imtis ko nors off-- kuri mes vadiname Popping išjungtas 49 00:02:04,980 --> 00:02:06,581 stack-- mes pleiskanoti viršuje. 50 00:02:06,581 --> 00:02:09,289 Ir jei mes norime įdėti kažką į kaminą, mes vadiname tai stumia. 51 00:02:09,289 --> 00:02:13,170 Taigi ji visada bus augo iš panašaus dėklų pluošto apačioje. 52 00:02:13,170 --> 00:02:14,540 Nuostabus. 53 00:02:14,540 --> 00:02:17,607 >> Mes matėme kaminai įgyvendinti su abiem susijusių sąrašų ir matricos. 54 00:02:17,607 --> 00:02:19,440 Jei įgyvendinant su matricomis, norite 55 00:02:19,440 --> 00:02:22,350 įsitikinti, sekti tiek dydis ir talpa. 56 00:02:22,350 --> 00:02:27,540 Taigi dydis bus dabartinis Taškų dalykų savo kaminą, 57 00:02:27,540 --> 00:02:32,900 o talpa yra viso dalykų, kuriuos galite laikyti savo kamino. 58 00:02:32,900 --> 00:02:34,220 Kietas. 59 00:02:34,220 --> 00:02:35,767 >> Labai panašiai, mes turime eiles. 60 00:02:35,767 --> 00:02:38,850 Tokiu atveju vietoj galvoti apie iš padėklų kamino, manau linija. 61 00:02:38,850 --> 00:02:40,697 Tai bus pirmasis, pirmasis iš. 62 00:02:40,697 --> 00:02:42,780 Taigi, jei jūs rikiuojasi kažkas parduotuvėje, 63 00:02:42,780 --> 00:02:46,920 Tikimės, kad asmuo iš pradžių linija bus padėjo pirmas. 64 00:02:46,920 --> 00:02:49,350 >> Vietoj sakydamas stumti ir pop, kaip mes darome kaminą, 65 00:02:49,350 --> 00:02:52,000 mes tiesiog pasakyti į eilę ir dequeue. 66 00:02:52,000 --> 00:02:54,970 Ir vėl, jei esate įgyvendinti tai su masyvo, 67 00:02:54,970 --> 00:02:56,720 mes turime sekti ne tik į dydis 68 00:02:56,720 --> 00:03:02,390 ir talpą, bet taip pat ir galvos, kuri bus mūsų eilės priekyje. 69 00:03:02,390 --> 00:03:03,010 Kietas. 70 00:03:03,010 --> 00:03:05,770 Bet dėl ​​to klausimų? 71 00:03:05,770 --> 00:03:06,320 Nuostabus. 72 00:03:06,320 --> 00:03:07,640 Persikėlimas į dešinę kartu. 73 00:03:07,640 --> 00:03:08,564 >> Gerai, maišos lentelės. 74 00:03:08,564 --> 00:03:10,605 Štai kur jis pradeda gauti tikrai įdomu. 75 00:03:10,605 --> 00:03:14,150 Taigi maišos lentelės yra vienas įgyvendinimas Association masyvas. 76 00:03:14,150 --> 00:03:16,700 Taigi, iš esmės, kas atsitiko yra mes turime visą šią įvestį, 77 00:03:16,700 --> 00:03:18,750 ir mes duoti maišos funkcija, kuri sako, 78 00:03:18,750 --> 00:03:21,840 Gerai, tai yra, kur į maišos lentelė jis priklauso. 79 00:03:21,840 --> 00:03:24,860 >> Taigi paprasčiausias maišos funkcija kad mes matėme yra tiesiog pasakyti, 80 00:03:24,860 --> 00:03:28,170 Gerai, tarkime, kad mes norime įdėti įsipareigojimų mūsų maišos lentelė. 81 00:03:28,170 --> 00:03:30,870 Ir tikrai paprasta idėja gali būti pasakyti, gerai, 82 00:03:30,870 --> 00:03:34,350 tegul tiesiog surūšiuoti mašinas pagal pirmoji raidė žodžio. 83 00:03:34,350 --> 00:03:37,570 Taigi galite pamatyti čia, mes bananą, mes įdėti jį per maišos funkcija, 84 00:03:37,570 --> 00:03:40,190 ir ji sako, ei, kad turėtų eiti 1 indeksą. 85 00:03:40,190 --> 00:03:45,120 >> Taigi, mes galime iš esmės galvoti apie maišos Lentelę įvairių kaušų krūva. 86 00:03:45,120 --> 00:03:49,880 Ir kiekvienas iš šių kibirai vyksta surengti susieto sąrašą galvą. 87 00:03:49,880 --> 00:03:55,030 Ir tą susietą sąrašą, kur mes galime iš tikrųjų įdėti skirtingų vienetų duomenis. 88 00:03:55,030 --> 00:03:57,820 >> Taigi nardymo šiek tiek daugiau į maišos funkcija, čia 89 00:03:57,820 --> 00:03:59,870 pavyzdys aš tiesiog aprašyta, kur mes tiesiog pasakyti, 90 00:03:59,870 --> 00:04:02,460 Gerai, imtis pirmąją raidę Žodžio ir mes 91 00:04:02,460 --> 00:04:03,990 ketina rūšiuoti ją į kibirus. 92 00:04:03,990 --> 00:04:08,490 Taigi, matyt, ten bus 26 kibirų, po vieną kiekvienam abėcėlės raide. 93 00:04:08,490 --> 00:04:10,090 Kodėl diskusijose nėra galimybės tai puikus maišos funkcija? 94 00:04:10,090 --> 00:04:13,461 Ką daro ši ne idealus? 95 00:04:13,461 --> 00:04:13,960 Taip. 96 00:04:13,960 --> 00:04:15,790 >> Auditorija: Jūs ketinate turėti susidūrimų. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH Blumberg: Taip, tiksliai. 98 00:04:16,390 --> 00:04:18,000 Jūs ketinate turėti susidūrimų. 99 00:04:18,000 --> 00:04:18,954 Taigi, kad vienas dalykas. 100 00:04:18,954 --> 00:04:21,620 Ir mes kalbame apie tai, kaip mes galime nustatyti susidūrimų vos sekundę. 101 00:04:21,620 --> 00:04:23,980 Su kita, ši problema ypač maišos funkcija 102 00:04:23,980 --> 00:04:25,980 yra tai, kad mūsų skirtingi kaušai ketinate būti 103 00:04:25,980 --> 00:04:28,960 Pretty drastiškai įvairių dydžių. 104 00:04:28,960 --> 00:04:33,840 >> Mes žinome, kad ten visai daug daugiau žodžių, kurie prasideda su ne-X, 105 00:04:33,840 --> 00:04:38,980 todėl mes ketiname turėti labai nesubalansuotas kibirai mūsų maišos lentelė. 106 00:04:38,980 --> 00:04:40,050 Kietas. 107 00:04:40,050 --> 00:04:41,340 Taigi, taip, grįžkime prie susidūrimų vieta. 108 00:04:41,340 --> 00:04:42,900 Ką mes darome, jei ten susidūrimas? 109 00:04:42,900 --> 00:04:44,490 >> Mes turime keletą skirtingų variantų. 110 00:04:44,490 --> 00:04:47,600 Taigi vienas, todėl manau, mes stengiamės įdėti uogų į mūsų maišos lentelė. 111 00:04:47,600 --> 00:04:50,370 Ir mes matome, oi, mes norime įdėti ją į indeksu 1, 112 00:04:50,370 --> 00:04:52,070 bet bananų jau gyvena ten. 113 00:04:52,070 --> 00:04:53,110 Ką mes ketiname daryti? 114 00:04:53,110 --> 00:04:54,560 Mes turime du pagrindinius variantus. 115 00:04:54,560 --> 00:04:58,050 >> Numeris vienas yra, mes galime pasakyti, gerai, nėra patalpa indeksu 1, 116 00:04:58,050 --> 00:05:03,210 bet tegul tiesiog nuolat ieško per kol mes galime rasti kitą atvirą vietą. 117 00:05:03,210 --> 00:05:08,490 Taigi mes pasakyti, gerai, tegul įdėti jį į vietą 3. 118 00:05:08,490 --> 00:05:09,240 Štai vienas variantas. 119 00:05:09,240 --> 00:05:11,470 Tai vadinama linijinis zondavimo. 120 00:05:11,470 --> 00:05:15,500 >> Ir antras variantas sako, gerai, gerai, tegul tiesiog padaryti kiekvienas iš šių kibirai 121 00:05:15,500 --> 00:05:17,470 būti vadovais susijusių sąrašus. 122 00:05:17,470 --> 00:05:21,910 Ir tai gerai, jei yra daugiau nei vieno dalyko į kibirą. 123 00:05:21,910 --> 00:05:23,820 Užtenka tik ketina pridėti jį į priekį. 124 00:05:23,820 --> 00:05:26,032 Taigi čia matote, gerai, kai mes įdėta uogų, mes 125 00:05:26,032 --> 00:05:28,240 tiesiog paėmė bananą, rūšies pastūmėjo jį per trupučiu 126 00:05:28,240 --> 00:05:29,842 ir išmetė uogų ten. 127 00:05:29,842 --> 00:05:31,050 Ir tai taip pat visiškai gerai. 128 00:05:31,050 --> 00:05:32,830 Tai vadinama atskira jungimo. 129 00:05:32,830 --> 00:05:38,100 Jūs galite galvoti apie tai, kaip lyg AN vadovų masyvas susijusių sąrašus. 130 00:05:38,100 --> 00:05:41,950 Bet kokie maišos klausimai stalai, maišos funkcijos? 131 00:05:41,950 --> 00:05:44,290 Nuostabus. 132 00:05:44,290 --> 00:05:45,470 >> Medžiai ir nutraukė. 133 00:05:45,470 --> 00:05:47,287 Taigi medis yra bet kokios rūšies duomenų struktūros 134 00:05:47,287 --> 00:05:49,453 kurioje yra keletas Rūšiuoti hierarchijos ar tam tikros rūšies 135 00:05:49,453 --> 00:05:51,247 Eilės savo įvairių objektų. 136 00:05:51,247 --> 00:05:53,580 Ir tai bus super aišku, kai mes matome pavyzdį. 137 00:05:53,580 --> 00:05:56,960 Ir mes matėme kartų, kartu su maišos lentelėmis, į pset5-- 138 00:05:56,960 --> 00:06:00,700 kuris, vėlgi, visiškai teisingas žaidimas tai quiz--, kaip ir kitas duomenų 139 00:06:00,700 --> 00:06:03,110 struktūros, kad mes galime laikyti skirtingus dalykus. 140 00:06:03,110 --> 00:06:06,782 Atsižvelgiant į žodyną atveju, mes saugomi žodžių krūva. 141 00:06:06,782 --> 00:06:08,240 Taigi leiskite pažvelgti į kai kurių medžių išvaizdą. 142 00:06:08,240 --> 00:06:10,190 Taigi, tai yra medžio pavyzdys. 143 00:06:10,190 --> 00:06:13,105 Ji turi struktūrą rūšies, kad hierarchinėje struktūroje, 144 00:06:13,105 --> 00:06:15,920 kur galima pamatyti, kad šis 1 mazgas viršuje 145 00:06:15,920 --> 00:06:20,750 turi tam tikrą rangą rūšiuoti virš 2 ir 3 kuri yra virš 4, 5, 6 ir 7, ir, 146 00:06:20,750 --> 00:06:22,860 kuri yra virš 8 ir 9. 147 00:06:22,860 --> 00:06:25,210 Taigi, kad viskas, ką mes vadiname medis, todėl galite tiesiog natūra 148 00:06:25,210 --> 00:06:26,660 paveikslo šią nuorodą į savo galvą. 149 00:06:26,660 --> 00:06:29,050 >> Dabar, mes turėti pora daugiau specializuotų medžiai. 150 00:06:29,050 --> 00:06:31,070 Taigi vienas pavyzdys yra dvejetainis medis. 151 00:06:31,070 --> 00:06:33,290 Ir dvejetainis medis, vėl, tik bus 152 00:06:33,290 --> 00:06:37,040 duomenų struktūra su kažkokia hierarchijos, bet kiekvienas iš mazgų 153 00:06:37,040 --> 00:06:38,650 gali būti ne daugiau kaip du vaikams. 154 00:06:38,650 --> 00:06:41,530 Štai kur žodis dvejetainis ateina iš. 155 00:06:41,530 --> 00:06:43,410 Taigi, tai yra Binarinės medžio pavyzdys. 156 00:06:43,410 --> 00:06:45,720 Taigi, kad mažesnės kategorijos medžių. 157 00:06:45,720 --> 00:06:48,960 >> Dabar galime gauti net daugiau specifinių ir kalbėti apie dvejetainis dvejetainis paieškos trees-- 158 00:06:48,960 --> 00:06:51,310 medžiai, o. 159 00:06:51,310 --> 00:06:56,430 Taigi čia idėja yra ne tik kiekvienas mazgas turi ne daugiau kaip du vaikus, 160 00:06:56,430 --> 00:07:00,300 bet visi su vaikais Kairėje bus mažesnis 161 00:07:00,300 --> 00:07:03,450 ir visi su vaikais teisė ketinate būti didesni. 162 00:07:03,450 --> 00:07:05,890 Taigi pranešimas tiesiog mūsų dvejetainis medis, ten 163 00:07:05,890 --> 00:07:08,650 ne santykiai tarp numerius. 164 00:07:08,650 --> 00:07:12,990 Tačiau mūsų dvejetainis paieškos medis, matome, gerai, čia 44. 165 00:07:12,990 --> 00:07:17,080 Ir kiekvienas numeris, 44 kairėje yra mažesni ir viskas į dešinę 166 00:07:17,080 --> 00:07:17,920 yra didesni. 167 00:07:17,920 --> 00:07:20,130 >> Ir tai priklauso ne kiekvienas lygis medžio. 168 00:07:20,130 --> 00:07:24,810 Taigi čia, tai yra mažesnės nei 22, ir tai yra didesnis nei 22. 169 00:07:24,810 --> 00:07:26,390 Ir tai dvejetainis paieškos medis. 170 00:07:26,390 --> 00:07:28,900 Kodėl mes manome, ji vadinama dvejetainis paieškos medis? 171 00:07:28,900 --> 00:07:30,651 Kas algoritmas ji jums priminti? 172 00:07:30,651 --> 00:07:31,650 Auditorija: Dvejetainiai paieška. 173 00:07:31,650 --> 00:07:32,480 HANNAH Blumberg: Dvejetainiai paieška. 174 00:07:32,480 --> 00:07:35,150 Nes jei ieškote pirma skaičius šio medžio, 175 00:07:35,150 --> 00:07:38,800 kiekviename taške, galite tiesiog trankyti išjungti pusė medžio, kuris yra didelis. 176 00:07:38,800 --> 00:07:43,800 Ir taip, kad ketina suteikti mums kažką kad atrodo kaip dvejetainis paieškos daug. 177 00:07:43,800 --> 00:07:45,870 Turite klausimų? 178 00:07:45,870 --> 00:07:47,570 Gerai, gerai. 179 00:07:47,570 --> 00:07:48,560 >> Gerai, bando. 180 00:07:48,560 --> 00:07:49,657 Visiems mėgstamiausia. 181 00:07:49,657 --> 00:07:51,990 Taigi, tai yra, kad pavyzdys mes matėme A klasės krūva. 182 00:07:51,990 --> 00:07:54,710 Ir vėl, tai tik dar vienas būdas, kad mes galime saugoti duomenis. 183 00:07:54,710 --> 00:07:57,530 Atsižvelgiant į žodyną atveju, vėl, tai tik bus įsipareigojimų. 184 00:07:57,530 --> 00:08:00,870 Taigi pažiūrėkime, ką tai iš tiesų atrodo šiek tiek žemesnio lygio. 185 00:08:00,870 --> 00:08:03,690 >> Taigi leiskite pažvelgti vienu mazgo TRIE. 186 00:08:03,690 --> 00:08:07,532 Ir mes matome, gerai, ten vyksta būti Būlio ir mazgas, 187 00:08:07,532 --> 00:08:09,170 rodyklė į mazgą. 188 00:08:09,170 --> 00:08:11,400 Ir mes matome, kad Būlio vadinamas is_word. 189 00:08:11,400 --> 00:08:13,490 Taigi, iš esmės, tai ketina atitinka 190 00:08:13,490 --> 00:08:16,750 prie šių mažų trikampių, kurie sako, jei jūs čia Dotarłeś, 191 00:08:16,750 --> 00:08:19,100 radote pilną žodį. 192 00:08:19,100 --> 00:08:23,670 >> Mes žinome, kad "Tiuringo" per Čia yra pilnas žodis, 193 00:08:23,670 --> 00:08:28,030 kadangi tik T-U-R nėra žodis nes mes nematome, kad mažai deltą. 194 00:08:28,030 --> 00:08:31,440 Ir tai mažai Delta, vėlgi, atitinka šio is_word, 195 00:08:31,440 --> 00:08:34,480 tai Bulio is_word. 196 00:08:34,480 --> 00:08:36,320 Ir tada mes turime vaikų masyvo. 197 00:08:36,320 --> 00:08:39,860 Taigi kiekviename lygyje, galite turi tam tikrą mazgą, 198 00:08:39,860 --> 00:08:42,470 ir kad mazgas taškų į masyvas visą abėcėlės. 199 00:08:42,470 --> 00:08:44,346 >> Taigi matote, vėl, Šioje picture-- aš 200 00:08:44,346 --> 00:08:48,170 ketina išlaikyti šokinėja atgal ir forth--, kad, kad viršuje masyvo 201 00:08:48,170 --> 00:08:51,640 turi skirtingas krūva mazgai atskilimas jį. 202 00:08:51,640 --> 00:08:57,140 Jis turi 26, arba 27, jei norite įtraukti papildomą pobūdį. 203 00:08:57,140 --> 00:09:01,320 Ir tai suteikia mums būdas saugoti mūsų duomenų 204 00:09:01,320 --> 00:09:04,450 tokiu būdu, kad gali būti žiūrima kad jūs galite ieškoti super greitai. 205 00:09:04,450 --> 00:09:06,650 Kas yra peržvalgos metas TRIE? 206 00:09:06,650 --> 00:09:07,970 >> Auditorija: [nesigirdi]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH Blumberg: Taip. 208 00:09:08,300 --> 00:09:09,550 Teoriškai, tai pastovus laikas. 209 00:09:09,550 --> 00:09:13,230 Tai tik ketina būti dydis žodis, kurį norite ieškoti. 210 00:09:13,230 --> 00:09:15,950 Net jei mes pridėti Zillion daugiau žodžių mūsų TRIE, 211 00:09:15,950 --> 00:09:18,160 jis nesiruošia imtis mums bet ilgiau nustatyti 212 00:09:18,160 --> 00:09:19,690 jei duotas žodis yra TRIE. 213 00:09:19,690 --> 00:09:21,412 Taigi tai tikrai gražus. 214 00:09:21,412 --> 00:09:23,697 >> Auditorija: Ar jūs tiesiog inicijuoti, kad masyvas? 215 00:09:23,697 --> 00:09:24,780 Praleidote tašką ar du. 216 00:09:24,780 --> 00:09:26,130 Ar jūs tiesiog kalbėti apie kad per sekundę? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH Blumberg: Žinoma, absoliučiai. 218 00:09:26,680 --> 00:09:27,590 Geras klausimas. 219 00:09:27,590 --> 00:09:31,140 Klausimas buvo, mes turi masyvą, kad yra 220 00:09:31,140 --> 00:09:34,180 teks mazgas žvaigždę ne tik mazgas, tiesa? 221 00:09:34,180 --> 00:09:35,180 Kietas. 222 00:09:35,180 --> 00:09:37,990 Taigi čia ką kalbate yra mūsų masyvas yra tik 223 00:09:37,990 --> 00:09:40,035 bus rodykles į kitus matricos. 224 00:09:40,035 --> 00:09:42,910 Taigi, tai essentially-- ją natūra jaučia susietą sąrašą, tokiu būdu 225 00:09:42,910 --> 00:09:46,620 kur kiekvienas iš šių vaikų tiesiog atkreipti dėmesį į kitą mazgą. 226 00:09:46,620 --> 00:09:49,030 >> Ir taip, kad mes realiai nustatyti, ei, gerai, 227 00:09:49,030 --> 00:09:52,320 mes pakartota per visą Žodis, yra šis žodis žodyne, 228 00:09:52,320 --> 00:09:54,476 mes tiesiog patikrinti šį is_word. 229 00:09:54,476 --> 00:09:55,100 Didelis klausimas. 230 00:09:55,100 --> 00:09:55,675 Taip. 231 00:09:55,675 --> 00:09:56,216 Auditorija: Gerai. 232 00:09:56,216 --> 00:09:57,470 Taigi, kas buvo už TRIE Runtime? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH Blumberg: Žinoma. 234 00:09:58,386 --> 00:10:01,852 Taigi dėl pasiūlymo dėl TRIE runtime Ieškoti ketina būti pastovus laikas. 235 00:10:01,852 --> 00:10:04,310 Taigi, tai tik ketina būti skaičius raidėmis žodį. 236 00:10:04,310 --> 00:10:06,310 Tai nepriklauso nuo dydis žodyne 237 00:10:06,310 --> 00:10:09,510 arba duomenų struktūros dydis. 238 00:10:09,510 --> 00:10:12,170 Taigi čia šiek tiek paprastesnis pavyzdys. 239 00:10:12,170 --> 00:10:15,430 >> Šiuo atveju, jūs galite pamatyti, kad žodis GPGB yra žodyne 240 00:10:15,430 --> 00:10:18,900 ir jūs turite priartinimas, bet jūs neturi kažką panašaus zoologijos sode. 241 00:10:18,900 --> 00:10:20,050 Kaip mes zoologijos sode? 242 00:10:20,050 --> 00:10:24,276 Kaip mes pridėti zoologijos į mūsų žodynas, mūsų TRIE? 243 00:10:24,276 --> 00:10:24,776 Taip. 244 00:10:24,776 --> 00:10:27,014 >> Auditorija: Padaryti is_word pasakytina apie [nesigirdi]. 245 00:10:27,014 --> 00:10:27,930 HANNAH Blumberg: Geras. 246 00:10:27,930 --> 00:10:31,731 Taigi mes norime pasakyti, Z-O-O, ir tada mes norime norite patikrinti ne tą langelį, taip pat. 247 00:10:31,731 --> 00:10:32,230 Didysis. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 Leiskite palyginti labai trumpai bando palyginti maišos lentelėmis. 250 00:10:37,930 --> 00:10:39,770 Tries yra tikrai puikus nes, kaip jau minėjome, 251 00:10:39,770 --> 00:10:41,610 jie suteikia pastovus laiko peržvalgos. 252 00:10:41,610 --> 00:10:44,285 Bet didžiulis trūkumas yra jie humongous. 253 00:10:44,285 --> 00:10:46,160 Jūs galite gauti jausmas, net žiūri į jį, 254 00:10:46,160 --> 00:10:48,454 kad ji ketina imtis didžiulis atminties. 255 00:10:48,454 --> 00:10:50,620 Taigi jie ketina būti daug didesnis nei maišos lentelėmis, 256 00:10:50,620 --> 00:10:52,270 bet jie ketina duoti mums daug greičiau lookup kartų. 257 00:10:52,270 --> 00:10:54,478 Taigi, kad tipo tavo kompromisas, kas jums rūpi, 258 00:10:54,478 --> 00:10:57,350 ar tai greitis ar atminties. 259 00:10:57,350 --> 00:11:02,251 Bet dėl ​​to klausimus, visi C duomenų struktūrų. 260 00:11:02,251 --> 00:11:02,750 Gražus. 261 00:11:02,750 --> 00:11:03,250 GERAI. 262 00:11:03,250 --> 00:11:07,322 Mes ketiname pereiti prie šiek tiek tiek interneto plėtrai su Maria. 263 00:11:07,322 --> 00:11:08,280 MARIA ZLATKOVA: Gražus. 264 00:11:08,280 --> 00:11:09,036 GERAI. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH Blumberg: Galite naudoti savo nešiojamas. 266 00:11:10,380 --> 00:11:11,255 >> MARIA ZLATKOVA: gražus. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 Gerai. 269 00:11:14,912 --> 00:11:17,120 Kaip mes judėti dabar internete plėtra, mes kalbėjome šiek tiek 270 00:11:17,120 --> 00:11:20,680 apie besikeičiančius leidimų failų ir katalogų 271 00:11:20,680 --> 00:11:24,190 taip, kad jie gali būti pasiekiamas su kitais naudotojais, kad pasaulyje, 272 00:11:24,190 --> 00:11:28,640 ir taip, kad mes galime pamatyti, kaip Iš esmės mes galime perteikti jiems 273 00:11:28,640 --> 00:11:32,600 kai mes sukurti tokius dalykus kaip interneto svetainėse kad mes dažniausiai darome. 274 00:11:32,600 --> 00:11:36,400 >> Taigi mes matėme chmod komandą kuris yra kaita režimas, iš esmės. 275 00:11:36,400 --> 00:11:39,300 Štai Linux komandų ir jis keičia prieigos teises 276 00:11:39,300 --> 00:11:40,410 failų sistemos objektus. 277 00:11:40,410 --> 00:11:43,370 Ir failų sistemos objektas tik katalogas, failas, 278 00:11:43,370 --> 00:11:46,810 nieko, kad jūs galite pakeisti leidimus. 279 00:11:46,810 --> 00:11:53,750 >> Taigi norėdami pamatyti failų teises, mes įveskite komandą ls, sąrašą, -L. 280 00:11:53,750 --> 00:11:56,500 Ir kai mes tipo, kad mes paprastai pamatyti kai leidimus 281 00:11:56,500 --> 00:11:59,660 kad atrodo tarsi tai priešais katalogo pavadinimą. 282 00:11:59,660 --> 00:12:01,260 Taigi d nuoroda į katalogą. 283 00:12:01,260 --> 00:12:05,930 Ir tada mes turime tris trigarsių, kad iš esmės 284 00:12:05,930 --> 00:12:11,675 kreiptis į bet teises naudotojas, grupė, arba pasaulyje. 285 00:12:11,675 --> 00:12:16,490 >> Dėl leidimų tipų, kad mes galime turėti šių trijų grupių žmonių 286 00:12:16,490 --> 00:12:20,830 yra arba r skaitymo, w rašyti ir X įvykdyti. 287 00:12:20,830 --> 00:12:23,650 Ir mes galime turėti tiems, grupė ir pasaulio, taip pat. 288 00:12:23,650 --> 00:12:26,940 Gudrybės dalykas yra tai, kad kartais kai mes įvesti chmod komandą 289 00:12:26,940 --> 00:12:32,960 mes tipo šiek tiek skaičių kad sudarė trys bitai. 290 00:12:32,960 --> 00:12:36,990 Taigi, mes galime padaryti, kaip 777, ir, kad iš esmės 291 00:12:36,990 --> 00:12:40,450 nurodytų pridėtinės vertės kiekviena iš šių triads 292 00:12:40,450 --> 00:12:45,060 nes R norėtų atkreipti dėmesį į 4, W būtų perduoti iki 2, ir x būtų galima nurodyti 1, 293 00:12:45,060 --> 00:12:50,020 todėl, kai pridedama iki, kiekvienas iš skaičių būtų nusileisti į kaupiamojo skaičius 294 00:12:50,020 --> 00:12:52,750 prie bendros vertės tarp 0 ir 7. 295 00:12:52,750 --> 00:12:55,150 Taigi, mes taip pat gali turėti: 0 už ne visais leidimais. 296 00:12:55,150 --> 00:12:58,200 Ir kad būtų iš esmės duoti mums už abiejų vartotojui teises, 297 00:12:58,200 --> 00:13:00,450 grupė arba pasaulyje. 298 00:13:00,450 --> 00:13:02,620 Bet apie tai klausimai iki šiol? 299 00:13:02,620 --> 00:13:05,331 >> Auditorija: Jūs sakėte, skaityti buvo 4? 300 00:13:05,331 --> 00:13:06,164 MARIA ZLATKOVA: Taip. 301 00:13:06,164 --> 00:13:07,568 Auditorija: [nesigirdi]. 302 00:13:07,568 --> 00:13:08,504 HANNAH Blumberg: Yup. 303 00:13:08,504 --> 00:13:11,790 Auditorija: Ir tada pridedant visus tuos kiti rodytų savo numerį. 304 00:13:11,790 --> 00:13:12,665 MARIA ZLATKOVA: Taip. 305 00:13:12,665 --> 00:13:14,970 Taip. 306 00:13:14,970 --> 00:13:17,810 Tai yra puikus klausimai. 307 00:13:17,810 --> 00:13:20,490 Gražus. 308 00:13:20,490 --> 00:13:25,340 Be to, mes šoktelėjo į HTML ir A šiek tiek daugiau apie interneto plėtrą. 309 00:13:25,340 --> 00:13:27,990 Taigi HTML tiesiog reiškia, Hiperteksto kalba. 310 00:13:27,990 --> 00:13:30,460 Ir tai yra antkainis kalba, kuri yra standartinė 311 00:13:30,460 --> 00:13:32,720 kad ji naudojama siekiant sukurti tinklalapius. 312 00:13:32,720 --> 00:13:35,750 >> Tai vadinama žymėjimo kalba nes tai nėra iš tikrųjų surinkti. 313 00:13:35,750 --> 00:13:40,310 Jis nesako kaip kai kodekse turėtų būti būti įvykdytas ar ko nors panašaus, kad. 314 00:13:40,310 --> 00:13:44,800 Jis tiesiog apibrėžia ir aprašoma, kaip interneto 315 00:13:44,800 --> 00:13:46,840 puslapis turi būti įsteigtas su kiekviena iš jo elementų 316 00:13:46,840 --> 00:13:48,460 ir kaip jie turėtų atrodyti vartotojui. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> Kai kurie iš HTML žymes kad mes perėjo yra šie. 319 00:13:57,110 --> 00:14:00,500 Visi mūsų HTML dokumentų pradėjo su DOCTYPE HTML. 320 00:14:00,500 --> 00:14:02,550 Tada mes visada turime HTML tegus. 321 00:14:02,550 --> 00:14:03,930 Mes turime galvą ir kūną. 322 00:14:03,930 --> 00:14:07,890 Ir labai svarbu, kad HTML yra Šis įdėtos struktūros Rūšiuoti 323 00:14:07,890 --> 00:14:09,280 nes tai labai aišku. 324 00:14:09,280 --> 00:14:13,200 Ir tada ji tampa labai aišku, kai mes reikia atidaryti ir iš tikrųjų glaudžius žymes. 325 00:14:13,200 --> 00:14:18,400 Ir mes visada reikia uždaryti Žymos kad mes atidarytas. 326 00:14:18,400 --> 00:14:23,170 >> Ir čia mes turime kai kurių tipų dalykų į priekį, kad mes norime turėti. 327 00:14:23,170 --> 00:14:26,580 Taigi turime, pavyzdžiui, iš CS50 pavadinimas. 328 00:14:26,580 --> 00:14:31,980 Ir tada mes iš tikrųjų galite susieti stiliaus lapą 329 00:14:31,980 --> 00:14:34,030 kuris apibrėžia, kaip mes stilius mūsų svetainėje. 330 00:14:34,030 --> 00:14:35,650 Tai atitinka CSS. 331 00:14:35,650 --> 00:14:39,320 Mes ketiname eiti per jį Kitas pora skaidres, taip pat. 332 00:14:39,320 --> 00:14:42,580 >> Per kūno, mes nustatyti kai klasės ir idėjas. 333 00:14:42,580 --> 00:14:45,860 Ir kaip priminimas, vėlgi, ID yra unikalus ir klasių 334 00:14:45,860 --> 00:14:47,390 galima priskirti kelis elementus. 335 00:14:47,390 --> 00:14:52,110 Ir tai tiesiog reiškia, kad mes galime naudoti klases ir ID 336 00:14:52,110 --> 00:14:55,860 per kita structures-- Taigi, Pavyzdžiui, per CSS failus ar stiliaus 337 00:14:55,860 --> 00:15:00,940 sheets-- kreiptis į konkrečių elementų ir iš esmės teigia, kad norime stilius 338 00:15:00,940 --> 00:15:03,280 arba sukurti tam tikrą elementą kai tikru būdu. 339 00:15:03,280 --> 00:15:06,440 Ir mes vadiname juos jų identifikatoriai ir klasės. 340 00:15:06,440 --> 00:15:09,870 Ir taip pat gali reikšti skirtingi dalykai pagal žymeles, taip pat, 341 00:15:09,870 --> 00:15:13,830 bet identifikatoriai ir klasių tiesiog duoti mums šiek tiek universalumas ir ką konkrečiai mes 342 00:15:13,830 --> 00:15:15,850 noriu kreiptis į. 343 00:15:15,850 --> 00:15:19,620 >> Taigi tik pavyzdys. 344 00:15:19,620 --> 00:15:22,730 Vėl, mes galime per CSS failą, kur mes 345 00:15:22,730 --> 00:15:25,770 norite nustatyti kai style-- tiek spalvų, šriftų, 346 00:15:25,770 --> 00:15:30,340 ir stuff like that-- mes galime apibrėžti kūno stilių. 347 00:15:30,340 --> 00:15:32,640 Taigi, kad būtų apibrėžti už viso kūno žyme. 348 00:15:32,640 --> 00:15:36,160 Bet tada mes taip pat galime apibrėžti pasiūlymas dėl #title stilius. 349 00:15:36,160 --> 00:15:40,390 Ir vėl, hashtag remiasi mūsų ID ir taškas remiasi mūsų klasėje. 350 00:15:40,390 --> 00:15:44,760 >> Ir tada už .info, mes Taip pat galite nustatyti keletą atributų. 351 00:15:44,760 --> 00:15:49,750 Ir vėl, kai mes einame atgal, mes turėjome mūsų klasė vadinama informacijos ir mūsų ID pavadinimas. 352 00:15:49,750 --> 00:15:53,422 Ir matome, kad mes vadiname jiems #title ir .info. 353 00:15:53,422 --> 00:15:55,380 Auditorija: Ar galėtumėte pasakyti, grotelėmis [? priimti mane? ?] 354 00:15:55,380 --> 00:15:55,725 MARIA ZLATKOVA: Atsiprašome? 355 00:15:55,725 --> 00:15:58,120 Auditorija: Ar galėtumėte pasakyti, grotelėmis [? priimti mane? ?] 356 00:15:58,120 --> 00:16:01,400 MARIA ZLATKOVA: hashtag reiškia ID SO #title 357 00:16:01,400 --> 00:16:07,890 nurodo kokiomis elementų turi šį ID vadinamas pavadinimas. 358 00:16:07,890 --> 00:16:10,735 Ir tada taškas reiškia klasės. 359 00:16:10,735 --> 00:16:14,590 Taigi .info remiasi šio elemento nes ji turi klasės info. 360 00:16:14,590 --> 00:16:15,090 Taip. 361 00:16:15,090 --> 00:16:17,905 >> Auditorija: Kodėl jūs atskirti juos į HTML? 362 00:16:17,905 --> 00:16:20,985 Kodėl jūs sakote tam tikri dalykai yra ID ir tam tikri dalykai yra klasės? 363 00:16:20,985 --> 00:16:22,610 MARIA ZLATKOVA: Tai tik iki you-- 364 00:16:22,610 --> 00:16:24,151 HANNAH Blumberg: Pakartokite klausimą. 365 00:16:24,151 --> 00:16:25,370 MARIA ZLATKOVA: Oi, atsiprašau. 366 00:16:25,370 --> 00:16:29,480 Kodėl mes atskirti tam tikrus elementus kaip ID ir kitų elementų klasėms? 367 00:16:29,480 --> 00:16:34,760 Štai tik todėl, kad tikrai dažnai dizaino pasirinkimas. 368 00:16:34,760 --> 00:16:38,520 Jis suteikia jums daug universalumas yra 369 00:16:38,520 --> 00:16:43,250 galėtų pasakyti, kad aš noriu šį konkretų objektą turėti šį ID, nes jie nori 370 00:16:43,250 --> 00:16:45,300 daryti daug dalykų su juo, ir I tik 371 00:16:45,300 --> 00:16:50,010 norite nustatyti stilių, tam tikras stilius arba spalva kokia to elemento. 372 00:16:50,010 --> 00:16:52,630 Ir būdas tai padaryti yra tiesiog suteikiant jai ID. 373 00:16:52,630 --> 00:16:55,060 >> Ir tada, jei aš noriu turėti įvairių daiktų pora 374 00:16:55,060 --> 00:16:58,940 turintys, kad vietoj vyksta ir nustatyti their-- 375 00:16:58,940 --> 00:17:03,840 užuot jį Tag nes žymė būtų 376 00:17:03,840 --> 00:17:07,369 nustatyti ląstelių visai žyme kiekvieną kartą, kad žymė yra naudojama, 377 00:17:07,369 --> 00:17:09,740 galite nustatyti klasę kelis elementus. 378 00:17:09,740 --> 00:17:15,109 Ir tada tiesiog prisijungti prie šios klasės ir pasakyti Noriu stiliaus šioje klasėje, kad taip. 379 00:17:15,109 --> 00:17:17,579 >> Ir vėl, klasė gali būti daug skirtingų daiktų 380 00:17:17,579 --> 00:17:21,150 ir ID turi būti unikalus. 381 00:17:21,150 --> 00:17:21,849 Didžiosios klausimai. 382 00:17:21,849 --> 00:17:25,339 Visi kiti klausimai? 383 00:17:25,339 --> 00:17:26,220 Gerai, nuostabus. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Vėlgi, tai yra, kaip šie selektoriai yra nuorodos į CSS, su grotelėmis, 386 00:17:35,330 --> 00:17:40,031 su tašku, arba be nieko priskiriant tam tikros žymės stilių, 387 00:17:40,031 --> 00:17:40,530 pavyzdžiui, organizme. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 Ir čia mes turime bendras sintaksė, kaip tai daroma. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> Norėdami pakartoti kai geriausias praktika HTML ir CSS, 392 00:17:55,680 --> 00:17:59,170 turime vėl uždaryti visus HTML žymės, kad mes atviri. 393 00:17:59,170 --> 00:18:03,950 Ir tai, ką mes jus rekomendavo padaryti jūsų galutinis projektų, 394 00:18:03,950 --> 00:18:10,560 taip pat CS50 Finansų, yra padaryti Įsitikinkite, kad visi jūsų HTML patvirtina. 395 00:18:10,560 --> 00:18:12,920 Ir tai daroma su W3 tvirtintojas. 396 00:18:12,920 --> 00:18:16,940 >> Ir tada, ką mes padarėme, ir ką mes rekomenduojame tai 397 00:18:16,940 --> 00:18:19,790 yra atskirti stilių, todėl CSS nuo žymėjimo HTML. 398 00:18:19,790 --> 00:18:24,210 Taigi viskas, kas susiję su tuo, kaip Jūsų puslapis ketina vizualiai atrodo 399 00:18:24,210 --> 00:18:27,330 ir kaip ji ketina būti pakeista reikia eiti į CSS dokumentą. 400 00:18:27,330 --> 00:18:33,880 Ir tada jūsų antkainis sakydamas, kaip viskas yra vienas kito atžvilgiu yra HTML, 401 00:18:33,880 --> 00:18:37,550 ir kad reikia eiti į vidų Jūsų HTML dokumentus. 402 00:18:37,550 --> 00:18:38,590 Turite klausimų? 403 00:18:38,590 --> 00:18:39,226 Mhm. 404 00:18:39,226 --> 00:18:42,628 >> Auditorija: Ką tiksliai vyksta nuo su puslapio įteisinimo 405 00:18:42,628 --> 00:18:47,945 kai mes patvirtinimui HTML, kad [nesigirdi] buvo sukurta? 406 00:18:47,945 --> 00:18:49,850 >> MARIA ZLATKOVA: Taigi what-- manote jus. 407 00:18:49,850 --> 00:18:53,020 Taigi, kas tiksliai vyksta nuo su puslapio įteisinimo 408 00:18:53,020 --> 00:18:55,570 Ir kodėl mes turime padaryti, kad? 409 00:18:55,570 --> 00:18:59,180 Iš esmės, mes turime padaryti, kad nes daug kartų, Jūsų naršyklė, 410 00:18:59,180 --> 00:19:01,390 jei nenorite uždaryti žymą ar kažkas panašaus, 411 00:19:01,390 --> 00:19:05,680 Jūsų naršyklė vis dar vyksta padaryti puslapį, ir dar gali dirbti, 412 00:19:05,680 --> 00:19:10,840 bet tai geriausia praktika įsitikinti, kad jūs vėl uždaryti visus savo žodžius, 413 00:19:10,840 --> 00:19:13,190 kad visi jūsų elementai yra taip, kad jie turėtų būti, 414 00:19:13,190 --> 00:19:18,470 ir iš esmės, kad tai, padarytais konvencijų, kurios yra derinys. 415 00:19:18,470 --> 00:19:21,970 >> Tai, vėlgi, tik dalykas, kad jums reikia 416 00:19:21,970 --> 00:19:24,040 būti mokymosi daryti, priešingai, turintis 417 00:19:24,040 --> 00:19:25,696 sloppier kodas ir stuff like that. 418 00:19:25,696 --> 00:19:26,688 Taip. 419 00:19:26,688 --> 00:19:27,680 O, atsiprašau. 420 00:19:27,680 --> 00:19:29,221 Maniau, kad jums buvo pakelti ranką. 421 00:19:29,221 --> 00:19:31,240 Auditorija: Ne, aš tiesiog buvau [nesigirdi]. 422 00:19:31,240 --> 00:19:33,800 >> MARIA ZLATKOVA: Gerai. 423 00:19:33,800 --> 00:19:34,640 >> Auditorija: Ačiū. 424 00:19:34,640 --> 00:19:36,181 >> MARIA ZLATKOVA: Žinoma, ačiū. 425 00:19:36,181 --> 00:19:41,680 Taigi dar kartą, vyksta į tai, kaip informacija perduodama 426 00:19:41,680 --> 00:19:44,630 ir komunikacijos modeliai perduoti informaciją. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP tiesiog reiškia perdavimas Valdymo protokolas ir IP 429 00:19:48,600 --> 00:19:51,260 nuoroda į interneto protokolo. 430 00:19:51,260 --> 00:19:54,275 Ir tai tik nuoroda į būdas duomenys yra pateikta. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Jei mes turime kai kuriuos duomenis, kad turi pristatyti į you-- taip 433 00:20:02,710 --> 00:20:06,770 jums padaryti už tam tikrą serverį prašymą. 434 00:20:06,770 --> 00:20:09,800 Pavyzdžiui, kai mes bandyti prieiti cs50.net, 435 00:20:09,800 --> 00:20:12,420 mes pateikti prašymą CS50 serveris ir mes 436 00:20:12,420 --> 00:20:14,720 matyti, kad mes norime gauti Ši informacija rūšiuoti. 437 00:20:14,720 --> 00:20:19,294 Ir tada yra pagrįsti šio protokolo kiek ši informacija yra pateikta, 438 00:20:19,294 --> 00:20:21,460 serveris suteikia informacijos grįžti į mus, klientas. 439 00:20:21,460 --> 00:20:25,590 Ir tada mes galime peržiūrėti už puslapį informacija 440 00:20:25,590 --> 00:20:26,390 ir tada jį naudoti. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Taigi Hiperteksto perdavimo protokolas yra tik dar vienas protokolas arba nustatyti 443 00:20:33,050 --> 00:20:37,470 konvencijų, kuris apibrėžia, kaip interneto naršyklė ir interneto serveris 444 00:20:37,470 --> 00:20:38,890 turėtų bendrauti. 445 00:20:38,890 --> 00:20:43,730 Ir pradėti visa tai kartu, HTTP, vėlgi, 446 00:20:43,730 --> 00:20:50,960 tik apibrėžia, kaip tai apibrėžta hiperteksto kurį HTML, kad mes dirbame, kad, 447 00:20:50,960 --> 00:20:59,500 kaip ji turėtų būti pristatytas jums ir kaip kad duomenys, pateikti jums 448 00:20:59,500 --> 00:21:00,540 pasireiškia jums. 449 00:21:00,540 --> 00:21:05,990 >> Ir štai kodėl, jei jus vaikinai prisiminti iš klasės, mes turėjome daug prašymų 450 00:21:05,990 --> 00:21:08,970 ir mes turėjome daug sintaksės šių prašymų, kad mes 451 00:21:08,970 --> 00:21:10,250 ketiname pereiti dabar. 452 00:21:10,250 --> 00:21:13,270 Taigi dar kartą, kai mes išsiųsti prašymas prie serverio, 453 00:21:13,270 --> 00:21:15,920 mes turime apibrėžti keletą dalykų. 454 00:21:15,920 --> 00:21:18,520 Taigi, mes turime rasti tipą Prašymo, kad mes kuriame. 455 00:21:18,520 --> 00:21:22,180 Ir vėl, turime, pavyzdžiui, GET yra vieno tipo metodas 456 00:21:22,180 --> 00:21:25,290 kad mes turime mūsų prašymą. 457 00:21:25,290 --> 00:21:31,710 >> Ir galiausiai HTTP / 1.1 yra tik protokolas, mes naudojame dabar. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 Dauguma laiko, kad vyksta protokolą, kad mes naudojate. 460 00:21:36,890 --> 00:21:40,290 Taigi, jei turite klausimų kaip kad ant jūsų viktorina. 461 00:21:40,290 --> 00:21:43,120 Štai konvencijų kad mes iki šiol. 462 00:21:43,120 --> 00:21:46,580 >> Kairinis pasvirasis brūkšnys reiškia, kokios rūšies dalykų mes prašyti. 463 00:21:46,580 --> 00:21:52,810 Tada, mūsų kompiuteris, pavyzdžiui, šis atveju, mes bandome eiti į google.com. 464 00:21:52,810 --> 00:21:57,070 Taigi, tai yra už priimančioje vertė. 465 00:21:57,070 --> 00:21:59,330 Tai yra informacijos tipas , kurie gali būti išsiųstas. 466 00:21:59,330 --> 00:22:02,890 >> Ir tada atsako, kurios galėtų siunčiami, vėl, remiantis šio protokolo, 467 00:22:02,890 --> 00:22:05,190 vėl, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Taigi, kad HTTP versija dar kartą. 469 00:22:07,150 --> 00:22:09,730 200 Gerai yra tik statuso kodą. 470 00:22:09,730 --> 00:22:12,860 Ir tai Gerai yra tik frazė remiantis šios būsenos kodą. 471 00:22:12,860 --> 00:22:15,520 >> Ir tada Content-Type nurodo tipo 472 00:22:15,520 --> 00:22:20,295 kad grąžinamas jums, kad yra už tą tinklalapį, kad jums gauti 473 00:22:20,295 --> 00:22:22,570 ir kad Jūsų naršyklėje gali tapti vėliau. 474 00:22:22,570 --> 00:22:24,401 Ir tai yra text / html. 475 00:22:24,401 --> 00:22:26,660 >> Auditorija: Ką 1.1 reiškia? 476 00:22:26,660 --> 00:22:29,910 >> MARIA ZLATKOVA: Tai tik versija of-- oh, ką 1,1 reiškia? 477 00:22:29,910 --> 00:22:37,075 Tai tik versija, HTTP versija protokolą, kad mes naudojate. 478 00:22:37,075 --> 00:22:37,700 Didelis klausimas. 479 00:22:37,700 --> 00:22:38,366 Kiti klausimai? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> Auditorija: Gal galite Apibendrinant Content-Type nekilnojamojo greitai? 482 00:22:45,080 --> 00:22:48,150 >> MARIA ZLATKOVA: Taigi, kad yra tai, ką serveris. 483 00:22:48,150 --> 00:22:51,020 iš informacija-- tipo kas turinio tipas buvo klausimai. 484 00:22:51,020 --> 00:22:53,400 Taigi, kad buvo tipo informacija, kad jūs gaunate atgal 485 00:22:53,400 --> 00:22:58,200 iš serverio, tipo duomenų, kad naršyklė gali tada 486 00:22:58,200 --> 00:23:00,604 padaryti, kad jūs naudojate. 487 00:23:00,604 --> 00:23:03,020 Auditorija: Ar tai, ką ši protokolas sakau jums daryti? 488 00:23:03,020 --> 00:23:03,390 MARIA ZLATKOVA: Atsiprašome? 489 00:23:03,390 --> 00:23:05,380 Auditorija: Ar tai, ką protokolas pasakyti? 490 00:23:05,380 --> 00:23:05,915 MARIA ZLATKOVA: The protocol-- 491 00:23:05,915 --> 00:23:07,940 Auditorija: --what Content-Type yra arba what-- 492 00:23:07,940 --> 00:23:12,040 MARIA ZLATKOVA: protokolas yra paremtas on-- kas protokolas sakau? 493 00:23:12,040 --> 00:23:16,070 Tai tiesiog būdas kad šios informacijos 494 00:23:16,070 --> 00:23:18,610 buvo pristatytas jums grindžiamas ant kokios protokolo 495 00:23:18,610 --> 00:23:21,830 Ar ši informacija buvo gavo pristatyti atgal. 496 00:23:21,830 --> 00:23:23,500 Ar tai prasminga rūšiuoti? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH Blumberg: Jūs galima galvoti apie protokolo 499 00:23:30,070 --> 00:23:33,300 kaip a-- Manau profesorius Malan apibūdino 500 00:23:33,300 --> 00:23:36,910 klasėje, kaip lyg a-- tai kaip žmogiškojo Patvirtinimas ryšio ekvivalentas. 501 00:23:36,910 --> 00:23:44,930 Pasakykite, kaip, ei, aš prašymas ir aš žinoti, kaip elgtis HTTP 1.1 versijos. 502 00:23:44,930 --> 00:23:48,770 Ir tada serveris sako, oh, gerai, I-- ir tiek egzistuoja. 503 00:23:48,770 --> 00:23:51,337 Aš taip pat žinau, kaip elgtis su HTTP / 1.1. 504 00:23:51,337 --> 00:23:53,170 Ir aš ruošiuosi duoti atsarginę dalį turinio. 505 00:23:53,170 --> 00:23:56,230 Šiuo atveju, ji vyksta būti tipo text / html. 506 00:23:56,230 --> 00:23:58,480 Taigi tai tipo tik būdas iš jų communicating-- 507 00:23:58,480 --> 00:24:00,480 >> MARIA ZLATKOVA: Tai tiesiog patvirtinantis, kad esate 508 00:24:00,480 --> 00:24:03,290 tiek pagal tą pačią protokolas ir kad tiek 509 00:24:03,290 --> 00:24:06,620 klientas ir taip server-- Jūsų naršyklė ir server-- 510 00:24:06,620 --> 00:24:09,280 rūšiuoti žinoti, kas esate kalbame apie ir turėti 511 00:24:09,280 --> 00:24:12,557 už einančios į duomenų konvencija. 512 00:24:12,557 --> 00:24:17,022 >> Auditorija: Taigi Content-Type part-- Content-Type text / html-- tai 513 00:24:17,022 --> 00:24:18,521 atskiras dalis to paties pranešimo? 514 00:24:18,521 --> 00:24:20,509 Ar tai dalis tarkim, 200? 515 00:24:20,509 --> 00:24:22,010 Ar 200 jiems pasakyti, kad arba is-- 516 00:24:22,010 --> 00:24:23,770 >> MARIA ZLATKOVA: 200 sako, kad visi nuėjo Gerai. 517 00:24:23,770 --> 00:24:27,900 Ir tada turinio tipas yra tarsi atskiras dalis pačiu pranešimu, 518 00:24:27,900 --> 00:24:34,274 ir sakydamas dalykas, kad aš Gražintinos šį text / html tipo. 519 00:24:34,274 --> 00:24:35,690 Tai tiesiog suteikiant daugiau informacijos. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Nieko pridėti? 522 00:24:39,995 --> 00:24:40,495 GERAI. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Visi kiti klausimai apie tai? 525 00:24:46,530 --> 00:24:48,370 Nuostabus. 526 00:24:48,370 --> 00:24:54,070 Todėl kai kurie kiti HTTP būsenos, kad mes galėtume gauti papildomai 200 OK, 527 00:24:54,070 --> 00:24:59,500 tie, kurie mes matėme gal galbūt daug yra 403 ir 404. 528 00:24:59,500 --> 00:25:05,190 Taigi 404, jei bandėte prieiga kažkas, kad neegzistuoja. 529 00:25:05,190 --> 00:25:10,460 Taigi, pavyzdžiui, jūsų CS50 Finansai psets, 530 00:25:10,460 --> 00:25:15,640 jei buvo teikimo quote.html ir jūs neturėjo tokio failo, 531 00:25:15,640 --> 00:25:19,740 bet vietoj jūs turėjote quote.php, kad lemtų 404 Not Found 532 00:25:19,740 --> 00:25:21,600 nes failas gali neegzistuoja. 533 00:25:21,600 --> 00:25:25,690 >> Dėl 403 Uždraudė, kad nurodo leidimus. 534 00:25:25,690 --> 00:25:31,150 Taigi, jei kai byla yra neįžvelgiamos pasaulis, galite gauti 403 grąžinami. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Kai kurie kiti, kad jūs galite get-- 301, Perkelta Pastoviai; 537 00:25:37,810 --> 00:25:41,300 302, Surasta; 304, modifikuotas; 400, Bad prašymu; 538 00:25:41,300 --> 00:25:47,330 ir tada vidinė serverio klaida dėl 500 ir 503, paslauga neprieinama. 539 00:25:47,330 --> 00:25:48,140 Taip. 540 00:25:48,140 --> 00:25:51,490 >> Auditorija: mes Tikimasi prisiminti visus tuos statusus? 541 00:25:51,490 --> 00:25:53,739 MARIA ZLATKOVA: būčiau juos savo apgauti lape. 542 00:25:53,739 --> 00:25:55,146 [Juokas] 543 00:25:55,146 --> 00:25:59,954 Auditorija: Ar mes Tikimasi žinoti, kas sukelia kiekvienas? 544 00:25:59,954 --> 00:26:00,995 MARIA ZLATKOVA: Ar jie? 545 00:26:00,995 --> 00:26:03,870 HANNAH Blumberg: Už tuos, kurie mes paleisti into-- Taigi klausimas was-- 546 00:26:03,870 --> 00:26:08,010 MARIA ZLATKOVA: Ar jie tikėjosi žinoti, ką kiekvienas vieną iš šių statuso 547 00:26:08,010 --> 00:26:09,330 kodai gali būti užfiksuojamas? 548 00:26:09,330 --> 00:26:13,240 Taigi tie, kad mes naudojamų ir įvažiavo į, sakyčiau, taip. 549 00:26:13,240 --> 00:26:16,610 Taigi mes tikrai matė 200 Gerai ir dėstė jį psets. 550 00:26:16,610 --> 00:26:19,071 Mes matėme 403, 404. 551 00:26:19,071 --> 00:26:20,550 Dėl kitų kokius? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH Blumberg: Aš norėčiau pasakyti 500 atrodo teisingas žaidimas. 553 00:26:22,690 --> 00:26:23,330 >> MARIA ZLATKOVA: 500, taip. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH Blumberg: Taip. 555 00:26:24,246 --> 00:26:27,006 Tiesiog turi bendrą prasmę kas juos sukelia. 556 00:26:27,006 --> 00:26:28,880 Ir taip pat, tiesiog jų pavadinimai, galite rūšies 557 00:26:28,880 --> 00:26:32,890 kaip padaryti išsilavinę atspėti, kaip į tai, ką iš tikrųjų juos sukelia. 558 00:26:32,890 --> 00:26:36,919 Pavyzdžiui, visam laikui, tikriausiai failas buvo perkeltas visam laikui. 559 00:26:36,919 --> 00:26:39,328 >> Auditorija: Bet ankstesnis Egzaminas, ten buvo taip 560 00:26:39,328 --> 00:26:41,050 kaip jūs tikitės mums atsakyti, kad? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH Blumberg: Tai buvo verta nulis taškų. 562 00:26:42,883 --> 00:26:45,870 Ant 418 klausimą dėl arbatinukas yra techniškai HTTP statuso, 563 00:26:45,870 --> 00:26:47,090 bet tai buvo verta nulis taškų. 564 00:26:47,090 --> 00:26:48,320 Akivaizdu, kad esate ne Tikimasi, kad juos žinoti. 565 00:26:48,320 --> 00:26:49,670 >> Auditorija: Ar tai realus? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH Blumberg: Tai tikras viena, bet tai nieko nereiškia. 567 00:26:51,970 --> 00:26:52,700 Tai tiesiog pokštas. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Interneto žmonės yra juokinga. 570 00:26:57,010 --> 00:26:59,680 >> MARIA ZLATKOVA: Didžiosios klausimai, vaikinai. 571 00:26:59,680 --> 00:27:01,452 Visi kiti klausimai? 572 00:27:01,452 --> 00:27:04,891 >> Auditorija: Kas yra vidinė serverio klaida? 573 00:27:04,891 --> 00:27:06,640 MARIA ZLATKOVA: Vidaus serverio klaida tiesiog 574 00:27:06,640 --> 00:27:10,050 reiškia, kad tapote negali bendrauti 575 00:27:10,050 --> 00:27:13,400 su dėl tam tikrų priežasčių serveryje. 576 00:27:13,400 --> 00:27:15,400 Taigi, tai nebūtinai kažkas, kad turi daryti 577 00:27:15,400 --> 00:27:19,170 su klientu ar kažkas panašaus. 578 00:27:19,170 --> 00:27:22,170 Aš nežinau, bet konkretus pavyzdys kad mes perėjo paaiškinti, 579 00:27:22,170 --> 00:27:23,000 bet taip. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH Blumberg: Žinoma. 581 00:27:23,250 --> 00:27:25,625 Taigi, pavyzdžiui, kaip tegul sako, kad jūs dirbote Mashup 582 00:27:25,625 --> 00:27:30,440 ir "Google" serverių, sumažėjo kai priežastis, elektros energija nutraukimo, tarkim. 583 00:27:30,440 --> 00:27:33,400 Tai būtų vidinė serverio klaida arba kai rūšiuoti of-- patinka jums 584 00:27:33,400 --> 00:27:34,630 nebūtų gauti atsakymą atgal. 585 00:27:34,630 --> 00:27:35,260 >> MARIA ZLATKOVA: Taip. 586 00:27:35,260 --> 00:27:37,050 Tai tik tada, kai esate negali bendrauti 587 00:27:37,050 --> 00:27:40,299 su tam tikrą, nes priežasties serveris IT žemyn ar kokios nors kitos priežasties. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Taigi šokinėja į PHP. 590 00:27:47,690 --> 00:27:49,930 PHP, skirtingai nuo HTML, yra programavimo kalba. 591 00:27:49,930 --> 00:27:54,820 Ir mes pradėjome jį naudoti, nes ji yra labai naudinga interneto plėtrai. 592 00:27:54,820 --> 00:27:56,940 >> Mes pirmą kartą naudojo jį CS50 finansų. 593 00:27:56,940 --> 00:28:02,240 Ir tai iš esmės padeda mums atnešti kartu tai antkainis, dizainas, 594 00:28:02,240 --> 00:28:07,460 ir kaip mes iš tikrųjų naudoti informaciją rodyti dalykų tinklalapį. 595 00:28:07,460 --> 00:28:11,870 Taigi PHP pati reiškia PHP Hiperteksto pirminio apdorojimo, 596 00:28:11,870 --> 00:28:15,360 todėl rekursywny backnorym savaime. 597 00:28:15,360 --> 00:28:22,330 Ir atidarymo žymės PHP mes kairė ir dešinę rodykles su klaustukais 598 00:28:22,330 --> 00:28:23,060 ir PHP. 599 00:28:23,060 --> 00:28:25,890 >> Taigi, mes jau matėme jį krūva. 600 00:28:25,890 --> 00:28:29,150 Dabar mes tik ketina eiti per kai kurie iš pagrindinių dalykų apie jį. 601 00:28:29,150 --> 00:28:32,280 Taigi su PHP, kintamojo pavadinimai prasideda su dolerio ženklu. 602 00:28:32,280 --> 00:28:35,660 Mes nenurodysite, vėlgi, kintamasis tipo nebėra. 603 00:28:35,660 --> 00:28:38,450 Tiesiog kaip mes padarėme su C, mums nereikia daryti. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Mes galime padaryti įvairių krūva Daiktai su kintamaisiais. 606 00:28:44,490 --> 00:28:47,750 Mes galime sudėti juos kartu iki concatenating juos 607 00:28:47,750 --> 00:28:52,900 su dot žymėjimo, kuris mes negalėjome padaryti C dar kartą. 608 00:28:52,900 --> 00:28:57,490 Vėlgi, mes turime šiek tiek daugiau universalumo PHP požiūriu kintamųjų. 609 00:28:57,490 --> 00:29:00,080 Kartą, mes neturi pagrindinę funkciją. 610 00:29:00,080 --> 00:29:03,370 >> Ir PHP yra interpretuojamas o ne renkami, 611 00:29:03,370 --> 00:29:09,970 Taigi tiesiog kaip mes padarys C failus, mes neturime daryti, kad PHP. 612 00:29:09,970 --> 00:29:15,440 Bet, o, taip, kad kalba paleisti savaime, ji aiškinama. 613 00:29:15,440 --> 00:29:18,550 Ir tada laisvai įvedėte tiesiog reiškia, kad mes 614 00:29:18,550 --> 00:29:22,490 neturi nurodyti kintamąjį tipas ir kintamųjų tipai 615 00:29:22,490 --> 00:29:25,415 yra suprantama runtime. 616 00:29:25,415 --> 00:29:29,185 >> Auditorija: Bet ką tu reiškia dot sąryšis? 617 00:29:29,185 --> 00:29:30,060 MARIA ZLATKOVA: Žinoma. 618 00:29:30,060 --> 00:29:37,660 Kai mes norime įdėti dalykų together-- Taigi, jei mes turėjome šiek tiek kintamasis, kad 619 00:29:37,660 --> 00:29:41,500 turėjo 3 vertę ir mes turėjome kitą kintamasis, kuris turėjo eilutės reikšmė, 620 00:29:41,500 --> 00:29:45,920 galėtume įdėti kintamieji kartu įgyvendinant tašką tarp jų 621 00:29:45,920 --> 00:29:46,970 ir concatenating juos. 622 00:29:46,970 --> 00:29:52,670 Arba mes galime sukurti kintamasis vadinamas vardas 623 00:29:52,670 --> 00:29:56,900 ir įdėti jį kartu concatenating dvi eilutes. 624 00:29:56,900 --> 00:30:00,680 >> Taigi, jei mes turėjome eilutę dvigubai citatos ir mes įdėti tašką po jo, 625 00:30:00,680 --> 00:30:03,660 ir tada mes turėjome kitą eilutę, kad būtų sukurti eilutę apskritai. 626 00:30:03,660 --> 00:30:05,242 >> Auditorija: Gerai. 627 00:30:05,242 --> 00:30:06,450 MARIA Latvija: buvo, kad išvalyti? 628 00:30:06,450 --> 00:30:07,099 Auditorija: Taip. 629 00:30:07,099 --> 00:30:07,890 MARIA ZLATKOVA: Gerai. 630 00:30:07,890 --> 00:30:08,766 Taip. 631 00:30:08,766 --> 00:30:11,146 >> Auditorija: Kai sakote aiškinti, o ne renkami, 632 00:30:11,146 --> 00:30:14,160 tu kalbi apie jus ne reikia kaip speciali, kai 633 00:30:14,160 --> 00:30:15,906 kalbama apie PHP, palyginti su C? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MARIA ZLATKOVA: Kai mes sakome, aiškinti, o ne renkami, 636 00:30:20,710 --> 00:30:21,850 Ką mums reiškia? 637 00:30:21,850 --> 00:30:26,220 Taigi, tai reiškia, kad mes nereikia Vykdomieji failai paleisti PHP. 638 00:30:26,220 --> 00:30:29,870 Tai reiškia, kad jis veikia, kaip jis eina. 639 00:30:29,870 --> 00:30:31,650 Ar tai prasminga? 640 00:30:31,650 --> 00:30:32,495 Šiek tiek daugiau. 641 00:30:32,495 --> 00:30:34,620 HANNAH Blumberg: Taigi jūs galima galvoti apie vertėjo 642 00:30:34,620 --> 00:30:38,980 kaip kitos programos, kuri yra atsakinga už ketinate eilutė po eilutės per PHP 643 00:30:38,980 --> 00:30:42,745 ir iš tikrųjų jį paleidus, o ne kad sudarant visa tai žemyn į dvejetainę. 644 00:30:42,745 --> 00:30:46,050 Tai nėra iš tikrųjų ką nors reiškia apie tai, kaip konkreti turime būti. 645 00:30:46,050 --> 00:30:49,470 Mes vis dar turime būti tikslūs, ir ne Pamiršote kabliataškį ir įsitikinkite, 646 00:30:49,470 --> 00:30:51,470 jūs turite savo dolerio ženklas, ir tokie dalykai kaip, kad. 647 00:30:51,470 --> 00:30:52,240 Geras klausimas. 648 00:30:52,240 --> 00:30:53,115 >> MARIA ZLATKOVA: Taip. 649 00:30:53,115 --> 00:30:55,590 Taigi eilutė po eilutės, kaip ne su C failus, 650 00:30:55,590 --> 00:30:59,100 mes turime padaryti visa finalą kol mes iš tikrųjų gali ją paleisti. 651 00:30:59,100 --> 00:31:00,360 Štai pagrindinis skirtumas. 652 00:31:00,360 --> 00:31:02,655 Bet vėl, mes negalime tikrai ne tokia konkreti. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Taigi masyvai PHP atstovauti faktiškai užsisakyti žemėlapis. 655 00:31:13,950 --> 00:31:17,550 >> Taigi matricas asocijuotų vertybių raktus. 656 00:31:17,550 --> 00:31:23,350 Du būdai, kaip paskelbti masyvas, remiantis šia sintakse, 657 00:31:23,350 --> 00:31:26,380 mes galime būti aiškiau sakydamas turime masyvą 658 00:31:26,380 --> 00:31:31,010 ir mes turime šį key1 mapowaną tai 1 reikšmė, key2 kad žemėlapiai VALUE2. 659 00:31:31,010 --> 00:31:34,660 Arba mes galime tik sukurti masyvą kad yra vertybes pati 660 00:31:34,660 --> 00:31:38,360 ir tada raktai Suprantama, tokiu būdu,. 661 00:31:38,360 --> 00:31:40,000 Bet apie tai klausimai? 662 00:31:40,000 --> 00:31:42,500 >> Auditorija: kas būtų raktai būti antrame pavyzdyje? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> MARIA ZLATKOVA: Pavyzdžiui, tai tik šioje grupėje raktai nebūtinai 667 00:31:55,780 --> 00:31:56,550 padaryti skirtumą. 668 00:31:56,550 --> 00:32:01,720 Jie tiesiog apibrėžti, kaip jūs galite naudoti vertybes viduje ji. 669 00:32:01,720 --> 00:32:08,660 Taigi, jei mes turėjome foreach kilpa PHP, kad būtų 670 00:32:08,660 --> 00:32:14,760 leidžia mums pereiti per visus vertybes, mes galime eiti per visus vertybes, 671 00:32:14,760 --> 00:32:19,570 net jei mes turėjome arba nebuvo apibrėžta konkretus raktas per svetainės 672 00:32:19,570 --> 00:32:20,820 Ankstesnis sintaksė. 673 00:32:20,820 --> 00:32:23,460 >> Taigi net ir su šios rūšies iš masyvo, mes vis dar gali 674 00:32:23,460 --> 00:32:26,260 turėti foreach ciklas kad eina per kiekvieną 675 00:32:26,260 --> 00:32:31,240 iš masyve rakto reikšmių. 676 00:32:31,240 --> 00:32:36,180 Taigi foreach sintaksę kilpa, mes pradėti su masyvo. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Ši $ arr kintamasis yra mūsų tikrasis masyvas kad mes apibrėžta ankstesniame šliaužiklio 679 00:32:43,900 --> 00:32:47,550 kaip vertės, tiesiog eina per kiekvieną iš verčių, 680 00:32:47,550 --> 00:32:50,122 nepriklausomai nuo to, ar mes turėjo raktą, ar ne. 681 00:32:50,122 --> 00:32:53,080 Ir tada mes galime padaryti kažką viduje iš foreach ciklas vertė. 682 00:32:53,080 --> 00:32:57,730 Taigi dar kartą, jei mes turėjome masyvą kaip tai čia created-- 683 00:32:57,730 --> 00:33:03,270 taip mes turime foo ir vertę raktą baras, Baz raktas ir vertė qux-- 684 00:33:03,270 --> 00:33:09,730 mes galime turėti foreach ciklą, kad eina per masyvo rakto 685 00:33:09,730 --> 00:33:11,900 ir tada kažką daryti su raktu, ir / arba vertė. 686 00:33:11,900 --> 00:33:15,980 Bet mes ne visada turėti foreach kilpų, kad 687 00:33:15,980 --> 00:33:19,410 eina per masyvą kaip pagrindinis žemėlapį į vertę. 688 00:33:19,410 --> 00:33:26,060 Mes galime eiti per foreach ciklas masyvo vertės. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH Blumberg: Ir aš manau, to-- buvo jūsų klausimą, ką 690 00:33:28,990 --> 00:33:31,229 yra išvestinis indeksas? 691 00:33:31,229 --> 00:33:31,895 Auditorija: Kinda. 692 00:33:31,895 --> 00:33:32,240 MARIA ZLATKOVA: O. 693 00:33:32,240 --> 00:33:33,406 HANNAH Blumberg: Taip, taip. 694 00:33:33,406 --> 00:33:36,150 Taigi, iš esmės, jei nenurodysite pagrindinis, tai bus 01. 695 00:33:36,150 --> 00:33:37,140 >> MARIA ZLATKOVA: Taip. 696 00:33:37,140 --> 00:33:41,718 Kaip ir su C, tai nulis indeksuojami jei nenurodysite klavišą. 697 00:33:41,718 --> 00:33:42,384 Auditorija: Atsiprašau. 698 00:33:42,384 --> 00:33:43,827 Gal bandote kalbėti šiek tiek garsiau? 699 00:33:43,827 --> 00:33:45,270 Turiu šiek tiek problemų klausos viską. 700 00:33:45,270 --> 00:33:46,478 >> MARIA ZLATKOVA: Aš taip atsiprašau. 701 00:33:46,478 --> 00:33:48,439 Taip, žinoma. 702 00:33:48,439 --> 00:33:50,230 Taigi jūs norite mane eiti per šį kartą? 703 00:33:50,230 --> 00:33:51,680 Arba this-- 704 00:33:51,680 --> 00:33:54,930 Auditorija: Taigi ankstesniame slide-- jei galite tiesiog eiti atgal per vieną sekundę. 705 00:33:54,930 --> 00:33:57,313 MARIA ZLATKOVA: Žinoma, gaila. 706 00:33:57,313 --> 00:33:59,237 Auditorija: Taigi antrasis masyvas čia nėra 707 00:33:59,237 --> 00:34:04,135 atrodo, turi vertę, raktas, rūšiuoti [? priežastinio ryšio. ?] 708 00:34:04,135 --> 00:34:05,343 MARIA ZLATKOVA: Teisė, teisė. 709 00:34:05,343 --> 00:34:07,608 Auditorija: Taigi, kaip tai veikia kai jums sako, kad viskas arba nieko. 710 00:34:07,608 --> 00:34:08,969 Man atrodo, kad A [? foo?] jau. 711 00:34:08,969 --> 00:34:10,093 >> MARIA ZLATKOVA: Taip, taip. 712 00:34:10,093 --> 00:34:12,969 Taigi dar kartą, tai yra įsakė žemėlapis šia prasme 713 00:34:12,969 --> 00:34:15,639 kad yra suprantami, Pavyzdžiui, indeksai 714 00:34:15,639 --> 00:34:20,159 čia gali būti suprantama kaip 0, 1, 2, 3. 715 00:34:20,159 --> 00:34:25,929 Vėlgi, tai turi tie, indeksai yra mūsų lygiavertis 716 00:34:25,929 --> 00:34:28,980 turėti raktus surišti vertybes. 717 00:34:28,980 --> 00:34:34,710 Taigi, jei mūsų raktas buvo 0-- atsiprašau. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH Blumberg: Ne, ten kreida čia. 719 00:34:36,524 --> 00:34:36,929 Tai tikrai tikrai gražus. 720 00:34:36,929 --> 00:34:37,460 >> MARIA ZLATKOVA: Tai puiku. 721 00:34:37,460 --> 00:34:38,260 GERAI. 722 00:34:38,260 --> 00:34:49,489 Taigi dar kartą, $ arr 0 būtų už vertės 1 raktas. 723 00:34:49,489 --> 00:34:51,138 0 būtų už vertės 1 raktas. 724 00:34:51,138 --> 00:34:51,971 Auditorija: aš atsiprašau. 725 00:34:51,971 --> 00:34:53,190 Tai nematomas. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH Blumberg: Gerai, nevermind. 727 00:34:53,659 --> 00:34:54,980 Kreida buvo prasta idėja. 728 00:34:54,980 --> 00:34:58,030 Aš jį atgal. 729 00:34:58,030 --> 00:35:01,425 Jūs galite galvoti apie raktus kaip 0 žemėlapių vertės 1 d. 730 00:35:01,425 --> 00:35:02,300 MARIA ZLATKOVA: Taip. 731 00:35:02,300 --> 00:35:04,630 Taigi, šis yra 0, tai yra 1, 2, 3. 732 00:35:04,630 --> 00:35:05,760 Tai gali būti jūsų raktai. 733 00:35:05,760 --> 00:35:10,020 Jūs galite galvoti apie juos as-- taip. 734 00:35:10,020 --> 00:35:12,740 Taigi vietoj to, aiškūs mygtukai, jie 735 00:35:12,740 --> 00:35:17,180 rūšiuoti suprantama kaip indeksai pradedant 0. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 Kreida nepadėjo. 738 00:35:24,820 --> 00:35:25,722 Taip. 739 00:35:25,722 --> 00:35:30,914 >> Auditorija: Kad foreach ciklas, jei mes norėjome peržiūrėti kaip vertės, 740 00:35:30,914 --> 00:35:33,245 jis tiesiog automatiškai indeksą 0? 741 00:35:33,245 --> 00:35:34,120 MARIA ZLATKOVA: Taip. 742 00:35:34,120 --> 00:35:35,745 Būtų pereiti per kiekvieną iš reikšmių. 743 00:35:35,745 --> 00:35:39,130 Auditorija: [nesigirdi] kaip 0 arba būtų, kad tik padaryti 0? 744 00:35:39,130 --> 00:35:43,710 >> MARIA ZLATKOVA: Jums reikės pasakyti, kaip dolerio ženklas ir tada 745 00:35:43,710 --> 00:35:46,266 kai kintamojo vardas, vertė. 746 00:35:46,266 --> 00:35:47,182 Auditorija: [nesigirdi]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MARIA ZLATKOVA: Atsiprašome? 749 00:35:50,964 --> 00:35:52,839 Auditorija: Atsiprašome, aš tiesiog bando prisiminti. 750 00:35:52,839 --> 00:35:57,190 Kaip jūs darytumėte, kad jei galite tai padaryti automatiškai indeksavimas yra vos 0 iš? 751 00:35:57,190 --> 00:36:00,780 >> MARIA ZLATKOVA: Taigi, kaip jūs darytumėte, kad Jei neturėjo konkrečios esminės pavadinimus? 752 00:36:00,780 --> 00:36:01,710 >> Auditorija: Taip. 753 00:36:01,710 --> 00:36:07,820 >> MARIA ZLATKOVA: Jūs tiesiog define-- tiesiog pasakyti sau kaip nors pavadinimą. 754 00:36:07,820 --> 00:36:17,950 Taigi, jūsų psets, jūs vaikinai gali prisiminti foreach $ eilutę kaip $ eilutės, 755 00:36:17,950 --> 00:36:24,610 mes sukūrėme Save šį $ eilutę sakydamas mes norime eiti per eilės, kaip $ eilučių. 756 00:36:24,610 --> 00:36:28,360 Nors mes neturėjome Tai aiškus $ eilutės apibrėžta, 757 00:36:28,360 --> 00:36:31,990 galėtume tiesiog eiti ir sako tai gali būti mūsų pagrindinis, 758 00:36:31,990 --> 00:36:33,615 ir tiesiog pereiti per kiekvieną iš reikšmių. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> Auditorija: Taigi yra vertė naujas kintamasis mes sukurti saugoti [nesigirdi]? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MARIA ZLATKOVA: Taigi tai ne prigimties naujas kintamasis. 763 00:36:49,990 --> 00:37:00,310 Tai kintamasis, kuris nurodo į viduje į kiekvieną iš jų masyvo. 764 00:37:00,310 --> 00:37:02,060 HANNAH Blumberg: Tai naujas kintamojo vardas. 765 00:37:02,060 --> 00:37:04,018 MARIA ZLATKOVA: Taip, tai yra nauja kintamojo vardas, 766 00:37:04,018 --> 00:37:06,680 Bet tai ne inherently-- taip. 767 00:37:06,680 --> 00:37:08,950 Tai tiesiog naujas kintamasis kad jūs galite padaryti, kad. 768 00:37:08,950 --> 00:37:12,680 Taigi tiesiog kaip mes padarėme $ eilės, kaip $ eilutės, eilutės 769 00:37:12,680 --> 00:37:17,980 buvo nauja kintamojo pavadinimą, kad mes gali sukurti mūsų foreach ciklas. 770 00:37:17,980 --> 00:37:22,065 Jis neturi Gyvuoti prieš tai. 771 00:37:22,065 --> 00:37:25,777 >> Auditorija: Ar jūs einate per logika kiekvienas, naudojant pavyzdį ten? 772 00:37:25,777 --> 00:37:26,610 MARIA ZLATKOVA: Mhm. 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 O, atsiprašau. 775 00:37:32,080 --> 00:37:33,780 Štai pavyzdys. 776 00:37:33,780 --> 00:37:34,280 Tikrai. 777 00:37:34,280 --> 00:37:38,950 Taigi kiekvienas array-- taip tai reiškia, kad eiti į šio masyvo 778 00:37:38,950 --> 00:37:43,930 kaip raktą value--, kad vyksta eiti per šio masyvo 779 00:37:43,930 --> 00:37:49,480 ir pirmą kartą eiti ir gauti foo, The pagrindinis rūšys ir reikšmė baras. 780 00:37:49,480 --> 00:37:51,570 Ir tada antras pasikartojančių už kilpos, 781 00:37:51,570 --> 00:37:55,090 jis ketina pereiti ir imtis pagrindinis bazių ir vertė qux. 782 00:37:55,090 --> 00:38:00,512 Ir tada jūs galite padaryti kažką bet kuri iš jų arba abu iš jų. 783 00:38:00,512 --> 00:38:03,488 >> Auditorija: Taigi idėja turintys pagrindinį tašką, vertei, 784 00:38:03,488 --> 00:38:07,470 Ką jūs galų gale gauti? 785 00:38:07,470 --> 00:38:10,680 >> MARIA ZLATKOVA: Kas yra idėja turintys pagrindinis nukreipta į vertę? 786 00:38:10,680 --> 00:38:16,400 Tai tik dar vienas konvencija, dar būdas išgyvena masyvo 787 00:38:16,400 --> 00:38:22,600 ir kad galėtų prieiti Arba mygtuką arba vertė arba abu, ir juos naudoti. 788 00:38:22,600 --> 00:38:27,100 >> Auditorija: Kokia vaidmuo pareikalauti, kad foreach veikia? 789 00:38:27,100 --> 00:38:29,250 Taigi, jei mes pridėti elementai masyvo vėliau 790 00:38:29,250 --> 00:38:32,140 būtų tie būti pirmieji vadinamas į foreach masyvas, 791 00:38:32,140 --> 00:38:33,750 ar tai būtų vėliau? 792 00:38:33,750 --> 00:38:37,770 >> MARIA ZLATKOVA: Taigi, kas yra įsakymas, kad foreach 793 00:38:37,770 --> 00:38:39,210 kilpa eina per išsirikiavo? 794 00:38:39,210 --> 00:38:42,220 Jis eina per pirmas elementas paskutinį elementą, 795 00:38:42,220 --> 00:38:43,400 iki paskutinio pridėtinės elemento. 796 00:38:43,400 --> 00:38:48,020 Jei norite pridėti elementus vėliau, jie būtų būti accessed-- pirmieji elementai būtų 797 00:38:48,020 --> 00:38:51,410 būti atvertas kaip pirmas elementai masyvas, 798 00:38:51,410 --> 00:38:57,620 ir tada jūs einate per kiekvieną kad kaip rūšies yra ordered-- elementai 799 00:38:57,620 --> 00:39:02,930 ne padengti, bet taip, kad jie buvo įdėti į masyvą. 800 00:39:02,930 --> 00:39:06,855 >> Auditorija: Taigi nauji elementai papildomas vėliau? 801 00:39:06,855 --> 00:39:10,680 Taigi jie added-- jie bus paskutiniai į [? iteracijos. ?] 802 00:39:10,680 --> 00:39:14,280 >> MARIA ZLATKOVA: nauji elementai can-- Iš esmės, kai nauji elementai yra pridėta, 803 00:39:14,280 --> 00:39:16,520 jie pridėti prie masyvo pabaigos? 804 00:39:16,520 --> 00:39:17,632 >> Auditorija: Taip. 805 00:39:17,632 --> 00:39:18,840 MARIA ZLATKOVA: Manau, kad. 806 00:39:18,840 --> 00:39:20,850 Taip. 807 00:39:20,850 --> 00:39:24,330 Ir tada su savo foreach ciklas, Pridėję naujus elementus 808 00:39:24,330 --> 00:39:26,790 ir jums eiti per juos, nauji elementai būtų 809 00:39:26,790 --> 00:39:30,930 būti accessed-- naują elementą, jei tai įtraukta paskutinis, ji bus atvertas paskutinis. 810 00:39:30,930 --> 00:39:34,416 >> Auditorija: Ar jūs tiesiog pateikite pavyzdį kažką, kad būtų [nesigirdi] 811 00:39:34,416 --> 00:39:37,404 su kažkuo, kurių vertė kaip [nesigirdi] arba vertę, 812 00:39:37,404 --> 00:39:38,910 patinka, kaip jūs formatas, kuris? 813 00:39:38,910 --> 00:39:39,785 >> MARIA ZLATKOVA: Žinoma. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 Ar galiu pateikti pavyzdžiu, ką mes daryti su verte? 816 00:39:46,410 --> 00:39:52,440 Taigi, ką jūs vaikinai gali būti susipažinę su yra tai, kad mes išgyveno masyvo 817 00:39:52,440 --> 00:39:55,380 ir iš esmės spausdinami kiekvieną iš elementų, 818 00:39:55,380 --> 00:40:00,910 pavyzdžiui, kaip dalis įsakė sąrašas ar kažkas, kad. 819 00:40:00,910 --> 00:40:02,674 Ar tai prasminga ar mes norime to-- 820 00:40:02,674 --> 00:40:04,340 Auditorija: Ar mes galime spausdinti šias vertybes iš kitų? 821 00:40:04,340 --> 00:40:13,220 MARIA ZLATKOVA: Taip, mes galime spausdinti ir tada iš esmės $ vertę, nes ne 822 00:40:13,220 --> 00:40:16,570 kad konkreti vertė, mes būtume spausdinimas viduje jo vertę. 823 00:40:16,570 --> 00:40:20,150 Taigi, jei mes buvome mūsų pirmajam iteracijos tai ir mes spausdinami $ vertę, 824 00:40:20,150 --> 00:40:23,775 mes būtume spausdinimo baras. 825 00:40:23,775 --> 00:40:27,020 >> Auditorija: Ar yra taip pat kilpos PHP ar tiesiog foreach kilpos? 826 00:40:27,020 --> 00:40:30,430 >> MARIA ZLATKOVA: Yra taip pat vyrių į PHP. 827 00:40:30,430 --> 00:40:33,399 Ir jų logika yra beveik tokios pats, ką jūs jau naudojamas. 828 00:40:33,399 --> 00:40:34,690 Auditorija: Taigi jos vertė yra niekinis. 829 00:40:34,690 --> 00:40:35,090 MARIA ZLATKOVA: Tai kaip tas pats. 830 00:40:35,090 --> 00:40:35,590 Taip. 831 00:40:35,590 --> 00:40:37,747 Auditorija: aš tik ketina prašyti. 832 00:40:37,747 --> 00:40:39,695 Taigi, kai jūs paskelbti masyvas, jums nereikia 833 00:40:39,695 --> 00:40:42,617 pasakyti, kokio dydžio jis ketina būti, o tai reiškia, kad galite tiesiog 834 00:40:42,617 --> 00:40:44,417 pridėti ir atimti elementų [nesigirdi]. 835 00:40:44,417 --> 00:40:45,250 MARIA ZLATKOVA: Yup. 836 00:40:45,250 --> 00:40:45,750 Taip. 837 00:40:45,750 --> 00:40:46,251 Būtent. 838 00:40:46,251 --> 00:40:48,875 Kai mes pareiškiame masyvą, mes nereikia sakyti, kokio dydžio ji yra, 839 00:40:48,875 --> 00:40:51,022 todėl mes galime tiesiog pridėkite elementus ant vėliau ji taip pat. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 Daugiau klausimų? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Taigi pareikšti PHP ir HTML kartu, ką mes seen-- gerai, 844 00:41:05,950 --> 00:41:15,130 Pavyzdžiui, šiame pavyzdyje, turime HTML forma, kuri turi įvesties lauką. 845 00:41:15,130 --> 00:41:18,830 >> Ir įvesties laukas yra tik pavadinimas ir tada jis turi mygtuką Pateikti. 846 00:41:18,830 --> 00:41:26,040 Ir kai jūs paspauskite Submit mygtuką, mūsų hello.php failą, 847 00:41:26,040 --> 00:41:32,130 nes už forma metodas yra gauti, mes galime prieiti kokia yra pavadinimas 848 00:41:32,130 --> 00:41:40,360 pagal tai gauti pasaulinį kintamąjį, kad is-- sintaksę, nes tai yra $ _GET. 849 00:41:40,360 --> 00:41:44,520 Ir tada mes galime prieiti kokia naudotojo įvesties viduje tos formos pavadinimas 850 00:41:44,520 --> 00:41:47,410 nurodant, kad šios srities pavadinimą. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Visi kiti klausimai ar bet klausimai šiuo konkrečiu pavyzdžiui? 853 00:41:55,060 --> 00:41:58,275 >> Auditorija: Kur yra PHP? 854 00:41:58,275 --> 00:41:59,150 MARIA ZLATKOVA: Čia. 855 00:41:59,150 --> 00:42:01,150 Taigi tai yra mūsų atidarymo tegus PHP. 856 00:42:01,150 --> 00:42:01,530 >> AUDITORIJA: O, tiesa. 857 00:42:01,530 --> 00:42:02,363 >> MARIA ZLATKOVA: Taip. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH Blumberg:? = Sutrumpintai tai yra PHP ir tik aidas. 860 00:42:09,609 --> 00:42:10,150 AUDITORIJA: O. 861 00:42:10,150 --> 00:42:10,720 MARIA ZLATKOVA: Taip, atsiprašau. 862 00:42:10,720 --> 00:42:12,040 Aš turėjo padaryti, kad aišku. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH Blumberg: spausdinti. 864 00:42:13,759 --> 00:42:16,800 MARIA ZLATKOVA: Tai tik funkcija kuri leidžia mums spausdinti kažką. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Didelis klausimas. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Taigi going-- taip. 869 00:42:25,495 --> 00:42:31,940 >> Auditorija: Ar yra bus gana iš rankų kodavimas PHP ir HTML tiek 870 00:42:31,940 --> 00:42:33,450 nuo Quiz 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MARIA ZLATKOVA: Gali būti Nemaža aiškinimo 873 00:42:38,810 --> 00:42:43,330 PHP ir HTML, nebūtinai kaip didžiulis kodavimo, 874 00:42:43,330 --> 00:42:46,960 nors jums gali tekti parašyti foreach ciklas, nors už kilpa. 875 00:42:46,960 --> 00:42:49,790 Bet kuris iš kilpų, kad mes padengti čia yra teisingas žaidimas. 876 00:42:49,790 --> 00:42:51,889 Ir tai dažniausiai tai. 877 00:42:51,889 --> 00:42:53,430 HANNAH Blumberg: būčiau pasirengęs. 878 00:42:53,430 --> 00:42:57,010 Lygiai taip pat, kad mes paprašėme jūsų rašyti viktorina 0 A C funkcijų krūva, 879 00:42:57,010 --> 00:42:59,766 Būčiau pasirengęs padaryti pats PHP ir JavaScript. 880 00:42:59,766 --> 00:43:00,640 MARIA ZLATKOVA: Taip. 881 00:43:00,640 --> 00:43:03,210 HANNAH Blumberg: Sakyčiau, little-- kaip mes ne 882 00:43:03,210 --> 00:43:06,251 vyksta, kad jums parašyti didžiulis HTML puslapis tik todėl, kad yra šiek tiek 883 00:43:06,251 --> 00:43:08,240 varginantis, tačiau jums gali tekti dalių. 884 00:43:08,240 --> 00:43:09,310 Štai visiškai teisingas žaidimas. 885 00:43:09,310 --> 00:43:11,082 Kaip mažą HTML puslapį, visiškai teisinga. 886 00:43:11,082 --> 00:43:11,623 Auditorija: Gerai. 887 00:43:11,623 --> 00:43:13,814 Kaip apie JavaScript, taip pat? 888 00:43:13,814 --> 00:43:14,730 HANNAH Blumberg: Taip. 889 00:43:14,730 --> 00:43:15,250 JavaScript yra teisingas žaidimas. 890 00:43:15,250 --> 00:43:15,635 >> MARIA ZLATKOVA: Taip. 891 00:43:15,635 --> 00:43:16,801 Štai visiškai teisingas žaidimas. 892 00:43:16,801 --> 00:43:19,280 HANNAH Blumberg: Mes gausite į tą, kuris, kaip 10 minučių. 893 00:43:19,280 --> 00:43:23,750 >> MARIA ZLATKOVA: SQL, vėlgi, Struktūrinių užklausų kalba. 894 00:43:23,750 --> 00:43:28,651 Ji iš esmės leidžia mums valdyti duomenis į reliacinės duomenų bazės valdymo 895 00:43:28,651 --> 00:43:29,150 sistema. 896 00:43:29,150 --> 00:43:31,149 Tai tiesiog iš esmės reiškia, kad mes turime kažkur 897 00:43:31,149 --> 00:43:37,980 saugoti kai kuriuos duomenis, kad mes galbūt norėsite naudoti tinklalapyje ar kitu pavidalu. 898 00:43:37,980 --> 00:43:42,190 Ir tada mes turime užklausas gauti informaciją iš mūsų duomenų bazės, 899 00:43:42,190 --> 00:43:44,320 arba įrašyti informaciją apie juos. 900 00:43:44,320 --> 00:43:47,560 Iš bendros ones-- UPDATE daug, ĮRAŠYTI, pasirinkite ir ištrinti. 901 00:43:47,560 --> 00:43:50,790 >> Taigi UPDATE, tai yra sintaksė atnaujinimo duomenis į duomenų bazę. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Atnaujinama šią lentelę, pavadintą stalo sakydamas SET, 904 00:43:57,340 --> 00:44:04,170 mes galime nustatyti keletą Visos reikšmės eilučių vienodo kažkas. 905 00:44:04,170 --> 00:44:09,410 Taigi mes taip pat galite nurodyti, kai konkretus įrašų, kad mes norime keisti 906 00:44:09,410 --> 00:44:11,240 ir kad gali būti prireikus naudojant. 907 00:44:11,240 --> 00:44:16,380 Ir mes galime nurodyti, kad mes tik norime pakeisti kai eilutes, kur už namo, 908 00:44:16,380 --> 00:44:19,830 jei mes turėjome studentų lentelę ir visi studentai turėjo namą, 909 00:44:19,830 --> 00:44:24,890 todėl būtų tik pakeisti kai vertybes kai namas yra lygus Kurier, 910 00:44:24,890 --> 00:44:25,430 pavyzdžiui. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> Dėl INSERT, mes galime įterpti tam tikros vertybės į lentelę. 913 00:44:31,800 --> 00:44:35,150 Taigi INSERT INTO lentelės ir tada vertes, 914 00:44:35,150 --> 00:44:39,080 ir tada skliausteliuose, mes nurodyti kuri vertina norite įterpti. 915 00:44:39,080 --> 00:44:43,220 Taigi INSERT INTO lentelės, col1 ir col2, vertė yra VAL1 ir VAL2. 916 00:44:43,220 --> 00:44:48,930 Taigi tai įterpia iš esmės naują eilutę į kuriame pateikiamos reikšmes 1 ir 2 917 00:44:48,930 --> 00:44:50,850 pagal 1 ir 2 stulpelių. 918 00:44:50,850 --> 00:44:54,760 >> Ir tada mes ketiname eiti per greitas pavyzdys, kaip tai atrodo 919 00:44:54,760 --> 00:44:56,310 kaip mūsų duomenų bazėje truputį. 920 00:44:56,310 --> 00:44:58,685 Bet tai galutinis užklausa, kad aš manau, kad mes ketiname eiti per, 921 00:44:58,685 --> 00:45:01,450 PASIRINKTI, jis tiesiog leidžia mums pasirinkti duomenis iš lentelės 922 00:45:01,450 --> 00:45:03,080 galbūt jį naudoti vėliau. 923 00:45:03,080 --> 00:45:05,830 Ir kaip mes tai padaryti mes tiesiog laikyti jį tam tikru kintamuoju. 924 00:45:05,830 --> 00:45:07,780 Ir tada mes galbūt gali jį naudoti dar kartą. 925 00:45:07,780 --> 00:45:10,260 >> Taigi PASIRINKTI žvaigždutė reiškia pasirinkti visus. 926 00:45:10,260 --> 00:45:13,280 Tai tik trumpa atrankos visiems. 927 00:45:13,280 --> 00:45:19,760 IŠ lentelę, kurioje, mes ieškome kai kurioms specifinėms sąlygoms, 928 00:45:19,760 --> 00:45:22,290 taip, jei stulpelyje yra lygus kažkas, pavyzdžiui. 929 00:45:22,290 --> 00:45:24,410 Jei mes tiesiog norėjau Atrinkti visus nuo stalo, 930 00:45:24,410 --> 00:45:28,400 tai tik parenka visus stulpelius ir visos eilutės iš lentelės. 931 00:45:28,400 --> 00:45:32,040 >> Ir tada DELETE FROM stalo KUR sp lygus kažką, 932 00:45:32,040 --> 00:45:36,440 tai tik ištrina kai eilėje iš mūsų stalo 933 00:45:36,440 --> 00:45:38,860 kur mes turime tam tikras specialias sąlygas. 934 00:45:38,860 --> 00:45:41,870 Šiuo atveju, sąlygos yra stulpelis lygus kažką. 935 00:45:41,870 --> 00:45:43,460 Taigi tik greitas pavyzdys. 936 00:45:43,460 --> 00:45:49,100 Jei mes turime šią lentelę čia ir mes jį įterpti į lentelę, šios reikšmės, 937 00:45:49,100 --> 00:45:50,400 kad būtų įterpti naują eilutę. 938 00:45:50,400 --> 00:45:56,380 Ir jei mes turėjo automatinį prieaugį, tai tik prieaugio mūsų ID nuo 0 iki 1 iki 2. 939 00:45:56,380 --> 00:46:00,010 >> Jei mes išrinkome visi iš studentų, ją tiesiog grįžta visus laukus ir visus eilučių. 940 00:46:00,010 --> 00:46:02,430 Kur m yra didesnis nei arba lygus 2016, 941 00:46:02,430 --> 00:46:04,390 kad būtų tiesiog grįžti Ona ir aš. 942 00:46:04,390 --> 00:46:08,360 Ir tada, jei mes tiesiog pasirinktas metų tapatybės ir metus studentai 943 00:46:08,360 --> 00:46:11,710 kur namas yra Cabot namai, kad būtų vėl grįžti Oną ir save. 944 00:46:11,710 --> 00:46:14,430 >> Tada, jei mes išbraukiami iš studentų kur vardas yra lygus Rob, 945 00:46:14,430 --> 00:46:16,760 kad būtų ištrinti visą eilutę. 946 00:46:16,760 --> 00:46:19,696 Ir tada, jei mes nustatome Vardas, atnaujinkite studentai 947 00:46:19,696 --> 00:46:21,570 SET vardas lygi Daven KUR namas yra lygi 948 00:46:21,570 --> 00:46:27,010 Cabot namai, kad ketina eiti į tie eilutės ir tada atnaujinti vardą. 949 00:46:27,010 --> 00:46:31,470 >> Ir tada keli SQL duomenų tipai yra CHAR, VARCHAR, INT, ir plaustas. 950 00:46:31,470 --> 00:46:32,760 Tai yra teisingas žaidimas. 951 00:46:32,760 --> 00:46:36,740 Norėčiau eiti vėl ir įsitikinkite, kad žinote, 952 00:46:36,740 --> 00:46:40,930 ir turi juos savo Cheat sheet, ką kiekvienas iš tų ženklų 953 00:46:40,930 --> 00:46:44,140 buvo naudojami, kokia Jūs naudojote juos savo psets, 954 00:46:44,140 --> 00:46:48,050 ir įsitikinkite, kad esate susipažinę ir patogu turintys pasirinkti 955 00:46:48,050 --> 00:46:51,450 iš skirtingų duomenų tipų savo pset. 956 00:46:51,450 --> 00:46:51,950 Taip. 957 00:46:51,950 --> 00:46:54,300 >> Auditorija: Kas buvo, kad stalo saugomi? 958 00:46:54,300 --> 00:46:57,119 Taip, kur yra ši lentelė saugomi? 959 00:46:57,119 --> 00:46:59,160 MARIA ZLATKOVA: Na, dabar, tai nėra saugomi. 960 00:46:59,160 --> 00:47:00,700 Bet kokiu atveju, kur yra ši lentelė saugomi? 961 00:47:00,700 --> 00:47:04,503 Tačiau jis gali būti saugomi SQL duomenų bazės. 962 00:47:04,503 --> 00:47:07,330 >> Auditorija: O kur yra SQL duomenų bazės? 963 00:47:07,330 --> 00:47:11,200 Be kompiuterio, interneto kažkur, serveris? 964 00:47:11,200 --> 00:47:15,000 >> MARIA ZLATKOVA: Tai gali būti Taškų įvairių dalykų. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH Blumberg: Mes susieti su SQL lenteles daugiausia su phpMyAdmin. 966 00:47:19,690 --> 00:47:22,060 Taigi, mes galime paklausti serverį saugoti juos mums. 967 00:47:22,060 --> 00:47:23,830 Galėtume juos laikyti mūsų kompiuteryje. 968 00:47:23,830 --> 00:47:27,950 >> MARIA ZLATKOVA: Tai tiesiog priklauso nuo kaip norite tai padaryti patys. 969 00:47:27,950 --> 00:47:30,075 Bet mes jau saugojimo jiems, kaip minėta Ona, 970 00:47:30,075 --> 00:47:31,755 phpMyAdmin, kuri yra internete. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 Ir tada, kaip mes naudojame PHP ir SQL, mes jį laikyti 973 00:47:39,280 --> 00:47:43,450 į tam tikrą kintamojo ką mes užklausti dėl. 974 00:47:43,450 --> 00:47:48,370 >> Taigi, jei mes Atrinkti visus iš istorijos kur user_id lygus Session ID, 975 00:47:48,370 --> 00:47:53,900 kad būtų pasirinkti visus eilutes konkrečiam asmeniui, kuris 976 00:47:53,900 --> 00:47:58,327 yra prisijungęs iš istorijos stalas ir rūšiuoti juos į eilučių. 977 00:47:58,327 --> 00:48:00,410 Cool dalykas žinoti kad CS50 užklausą funkcija 978 00:48:00,410 --> 00:48:02,180 apsaugo nuo SQL injection žymes. 979 00:48:02,180 --> 00:48:07,420 Tai tiesiog reiškia, kad ji užtikrina, įėjimo, kad būtų įvestas teisingas 980 00:48:07,420 --> 00:48:09,920 ir kad asmuo, kuris įeina į įvestį 981 00:48:09,920 --> 00:48:15,100 ne bando įvesti kai kenksminga kodas arba lašas mūsų stalų 982 00:48:15,100 --> 00:48:17,305 arba ištrinti viską viduje mūsų duomenų bazės. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> Trumpa apžvalga iš Modelis Peržiūrėti kontrolierius modelis 985 00:48:23,400 --> 00:48:27,360 tai tik organizuoti būdas ir galvoju apie kodą. 986 00:48:27,360 --> 00:48:29,100 Tai vėl, projektavimo paradigma. 987 00:48:29,100 --> 00:48:33,380 Tai, kas reiškia, kad yra tai, kad mes can-- ir gera praktika 988 00:48:33,380 --> 00:48:37,790 atskirti skirtingų dalių Mūsų kodą ir ką jie 989 00:48:37,790 --> 00:48:40,530 kontroliuoti į šių trijų paradigmų. 990 00:48:40,530 --> 00:48:46,700 >> Taigi, mūsų požiūris yra dažniausiai mūsų šablonai, mūsų išdėstymą, būdas 991 00:48:46,700 --> 00:48:48,260 kad mes nustatyti, kaip mūsų kodas atrodo. 992 00:48:48,260 --> 00:48:55,190 Štai dažniausiai mūsų CSS failai ir būdas kad mes apibrėžti mūsų kodą dizainas, 993 00:48:55,190 --> 00:48:55,710 iš esmės. 994 00:48:55,710 --> 00:48:59,280 Mūsų valdiklis yra daugiausia, ką mes jau darome su PHP failus. 995 00:48:59,280 --> 00:49:03,030 Taigi dar kartą, dirbti su informacija, kad mes turime 996 00:49:03,030 --> 00:49:06,700 ir apibrėžti, kaip tai informacija yra naudojama, 997 00:49:06,700 --> 00:49:10,660 ir tada artimųjų, kad informacija arba ant mano arba modelį. 998 00:49:10,660 --> 00:49:13,880 Ir modelis, taip, kad mes naudoju, kai ji buvo mūsų duomenų bazėje, 999 00:49:13,880 --> 00:49:17,510 taip, kur mūsų informacija saugomi, todėl jis turi kažkur 1000 00:49:17,510 --> 00:49:21,490 gyvena, ir bet kurio iš kodas, kuris yra susijęs su tuo, kaip 1001 00:49:21,490 --> 00:49:25,410 kad mes gauti šią informaciją arba būdas, kad mes šią informaciją atnaujina. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> Taigi, MVC modelį, HTTP prašymai siunčiami į interneto serverį. 1004 00:49:33,200 --> 00:49:36,220 Tada valdiklis interpretuoja prašymas iš naudotojo 1005 00:49:36,220 --> 00:49:38,260 ir tada patvirtina vartotojo įvestį. 1006 00:49:38,260 --> 00:49:41,580 Tai neprivaloma, kad mes turime valdytojas bendrauti 1007 00:49:41,580 --> 00:49:44,000 su modeliu, todėl kažką kaip mūsų duomenų bazėje 1008 00:49:44,000 --> 00:49:47,500 ar kokios nors kitos funkcijos kad relės informaciją. 1009 00:49:47,500 --> 00:49:50,340 Ir tada, pagaliau, valdiklis eina informacija į mano 1010 00:49:50,340 --> 00:49:52,090 taip, kad ji gali būti priimtas, ir kad ji gali 1011 00:49:52,090 --> 00:49:55,860 tampa matoma bet kuriam asmeniui, patekti į tinklalapį. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Turite klausimų? 1014 00:50:01,340 --> 00:50:01,840 Nuostabus. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Taigi dar kartą, modelis, jo funkcija, vėl, 1017 00:50:08,469 --> 00:50:11,260 yra patvari informacijos saugojimas, valdyti ir organizuoti duomenis. 1018 00:50:11,260 --> 00:50:13,890 Ir ką mes matėme, kad kas yra MySQL duomenų bazės 1019 00:50:13,890 --> 00:50:16,200 ir bet kokius duomenų failus, kurie gali naudoti. 1020 00:50:16,200 --> 00:50:20,580 >> Peržiūrėti pateikimas informacijos vartotojas, UI arba vartotojo sąsaja. 1021 00:50:20,580 --> 00:50:22,350 Ir šis pavyzdys yra HTML. 1022 00:50:22,350 --> 00:50:23,950 Ir tada mes galime turėti minimalų PHP. 1023 00:50:23,950 --> 00:50:28,360 Taigi už kilpos, kad kartojasi daugiau duomenų, kurie yra išspausdinti 1024 00:50:28,360 --> 00:50:30,720 yra dalis: vaizdas, kaip priešingai reguliatoriumi. 1025 00:50:30,720 --> 00:50:35,660 Ir tada mūsų PHP failus daug patenka į valdiklio kategorijas. 1026 00:50:35,660 --> 00:50:38,410 Jis tiesiog rankenos vartotojų prašymų ir gauna informaciją iš modelio. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Šuoliai į dokumentą Objektas Modelis, tai tik 1029 00:50:45,590 --> 00:50:47,700 nurodo, kaip HTML dokumentai yra organizuotas. 1030 00:50:47,700 --> 00:50:51,600 Ir jie organizuojami į medį struktūra, kuri turi hierarchijos. 1031 00:50:51,600 --> 00:50:56,720 Taigi, jei mes turime prieigą prie [nesigirdi] pavaizdavimas dokumento, 1032 00:50:56,720 --> 00:51:02,750 galime dirbti su dokumentu, pavyzdžiui, mes manipuliuoti objektus iš esmės. 1033 00:51:02,750 --> 00:51:06,630 >> Ir padaryti tai šiek tiek aiškiau, kai 1034 00:51:06,630 --> 00:51:10,540 mes turime daug mūsų Įvairios žymės atsakyti 1035 00:51:10,540 --> 00:51:12,590 skirtingų maršrutų mūsų medžiu. 1036 00:51:12,590 --> 00:51:17,070 Ir tada šiame pavyzdyje, mes turi pradinį dokumento mazgas. 1037 00:51:17,070 --> 00:51:20,010 Mes turime, tada, mūsų HTML mazgas kad skyla į galvą ir kūną. 1038 00:51:20,010 --> 00:51:22,810 Vadovas turi pavadinimą ir tada pavadinimas yra Hello, World. 1039 00:51:22,810 --> 00:51:24,860 Ir mūsų kūnas tiesiog yra Labas, pasauli, taip pat. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Taigi kokių nors klausimų dėl bet kurios dalykų, kad mes, kuriems iki šiol? 1042 00:51:31,900 --> 00:51:35,891 O jei ne, Ona bus perimti JavaScript. 1043 00:51:35,891 --> 00:51:36,390 Nuostabus. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH Blumberg: Gerai, gerai. 1045 00:51:37,473 --> 00:51:40,980 Jei kas nors ateina su PHP arba HTML arba bet stuff Marija, kuriai, 1046 00:51:40,980 --> 00:51:42,700 mes visada galime pristabdyti. 1047 00:51:42,700 --> 00:51:46,430 Mes darome geriau laikas vėl, todėl nuostabus. 1048 00:51:46,430 --> 00:51:48,770 Ir tik grįžti tikrai greitai tai, 1049 00:51:48,770 --> 00:51:51,010 jei peržvelgsite kiekvieną praėjusių metų egzamino, tai 1050 00:51:51,010 --> 00:51:54,120 ateina either-- čia kai HTML, padaryti šią schemą. 1051 00:51:54,120 --> 00:51:58,380 Arba štai ši schema, padaryti kai HTML, todėl tikrai praktikuoti tai. 1052 00:51:58,380 --> 00:52:01,500 Ir tada, kad viena su garantija klausimas, kad jūs galite gauti į dešinę. 1053 00:52:01,500 --> 00:52:02,000 Kietas. 1054 00:52:02,000 --> 00:52:04,510 Taigi pakalbėkime apie JavaScript ir kaip tai šiek tiek 1055 00:52:04,510 --> 00:52:09,130 skiriasi nuo kalbomis, pavyzdžiui, PHP ir C, dvi kalbos matėme iš anksto. 1056 00:52:09,130 --> 00:52:10,780 Taigi numeris vienas, tai silpnai įvedėte. 1057 00:52:10,780 --> 00:52:14,630 Tai kaip PHP, tačiau, skirtingai nei C 1058 00:52:14,630 --> 00:52:15,890 >> Tai aiškinama kalba. 1059 00:52:15,890 --> 00:52:19,870 Vėlgi, tai, kaip PHP, skirtingai nuo C ir tai 1060 00:52:19,870 --> 00:52:24,630 ketina leisti mums use-- ją veikia tikrai gražiai su interneto svetainėse. 1061 00:52:24,630 --> 00:52:28,350 Ji ketina leisti mums manipuliuoti turinys ir kaip jis atrodo 1062 00:52:28,350 --> 00:52:30,300 ir ką jis daro. 1063 00:52:30,300 --> 00:52:32,330 >> Mes ketiname pamatyti šiek tiek "Ajax". 1064 00:52:32,330 --> 00:52:36,140 Tai leidžia mums bendrauti asinchroniškai su skirtingais serveriais 1065 00:52:36,140 --> 00:52:37,950 ir gauti informaciją. 1066 00:52:37,950 --> 00:52:42,820 Ir tai yra dalykas, kad tikrai atskiria JavaScript nuo PHP ir C 1067 00:52:42,820 --> 00:52:45,590 yra tai, kad jis yra kliento pusėje. 1068 00:52:45,590 --> 00:52:49,860 Tiek PHP ir C yra paprastai serverio pusėje. 1069 00:52:49,860 --> 00:52:51,960 >> Nes didžioji dalis, ir beveik visiškai ką 1070 00:52:51,960 --> 00:52:53,900 matėme, bent jau Ši klasė, "JavaScript" 1071 00:52:53,900 --> 00:52:57,040 veikia kliento pusėje, o tai reiškia, kad naršyklė yra iš tikrųjų 1072 00:52:57,040 --> 00:52:58,597 atsakingas už paleisti jį. 1073 00:52:58,597 --> 00:53:01,180 Ir tai reiškia, kad mes ne reikia bendrauti su serverio. 1074 00:53:01,180 --> 00:53:04,380 Taigi, tai reiškia, kad jis gali būti daug greičiau nes tai iš tikrųjų tik tai Chrome ", 1075 00:53:04,380 --> 00:53:10,420 tai Safari, tai "Firefox", ką jūs naudoti iš tikrųjų veikia jūsų "JavaScript". 1076 00:53:10,420 --> 00:53:12,290 >> Auditorija: Ką asinchroninis reiškia? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH Blumberg: Ak, koks ar asinchroniškai reiškia? 1078 00:53:13,620 --> 00:53:14,250 Didelis klausimas. 1079 00:53:14,250 --> 00:53:17,890 Asinchroniškai means-- Na, kiekis, kuris 1080 00:53:17,890 --> 00:53:22,140 mes naudojame tai, gerai, mes yra kurti tinklalapį 1081 00:53:22,140 --> 00:53:23,860 ir mes turime gauti tam tikrą informaciją. 1082 00:53:23,860 --> 00:53:28,250 Taigi, su Mashup Pavyzdžiui, tam tikra informacija, kad mes galbūt norėsite 1083 00:53:28,250 --> 00:53:30,580 yra straipsnis pavadinimai. 1084 00:53:30,580 --> 00:53:33,330 Dabar mes could-- vieną variantą yra daryti sinchroniškai 1085 00:53:33,330 --> 00:53:37,940 o tai reiškia, tegul sustabdyti, eikite gauti straipsnį, 1086 00:53:37,940 --> 00:53:41,275 gauti straipsnyje nugarą, o tada padaryti, bet tai būtų tikrai lėtai. 1087 00:53:41,275 --> 00:53:44,150 Tai būtų blogas vartotojo patirtį nes jūs tiesiog sėdėti 1088 00:53:44,150 --> 00:53:46,630 ten laukia kažkas atsakyti. 1089 00:53:46,630 --> 00:53:50,020 >> Asinchroniškai reiškia mes toliau vyksta apie savo verslą, 1090 00:53:50,020 --> 00:53:52,529 teikiant puslapį, ir mes atsiųsime išjungti prašymą 1091 00:53:52,529 --> 00:53:54,570 Tai tipo ketinate atsitikti fone. 1092 00:53:54,570 --> 00:53:57,610 Manau, mes naudojame pavyzdyje paskaita, iš kurios skambinama Rob ir sakydami: 1093 00:53:57,610 --> 00:53:59,980 Ei, jūs galite surasti tai iki man ir grįžti į mane, 1094 00:53:59,980 --> 00:54:02,870 o ne tik man laukia telefonu. 1095 00:54:02,870 --> 00:54:07,020 Taigi asinchroniškai reiškia, kad ji vyksta fone nuo mūsų 1096 00:54:07,020 --> 00:54:08,676 lygiagrečiai. 1097 00:54:08,676 --> 00:54:10,400 >> Didelis klausimas. 1098 00:54:10,400 --> 00:54:11,830 Kasnors dar? 1099 00:54:11,830 --> 00:54:12,330 Didysis. 1100 00:54:12,330 --> 00:54:15,020 Mes šokinėti daug daugiau į asinchroniniai prašymai su Ajax. 1101 00:54:15,020 --> 00:54:18,287 >> Auditorija: Ar JavaScript-- kur daro jis patenka su MVC? 1102 00:54:18,287 --> 00:54:19,620 HANNAH Blumberg: Didžioji klausimas. 1103 00:54:19,620 --> 00:54:23,320 Kur JavaScript rudenį su MVC? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Aš manau, kad jis gali fall-- todėl paprastai nėra 1106 00:54:28,350 --> 00:54:31,340 patinka Squish ją į tą paradigma, bet aš manau, sakyčiau, 1107 00:54:31,340 --> 00:54:34,280 Gerai, kad "JavaScript" iš tikrųjų ketina leisti 1108 00:54:34,280 --> 00:54:37,587 mums surinkti duomenis, interpretuoti duomenis, iš tikrųjų 1109 00:54:37,587 --> 00:54:38,920 prasmingų dalykų su duomenimis. 1110 00:54:38,920 --> 00:54:41,100 Tokiu būdu, tai labai kontrolės pan. 1111 00:54:41,100 --> 00:54:43,900 >> Bet tai taip pat ketina leisti mums rodyti dalykų ir spausdinimo dalykų. 1112 00:54:43,900 --> 00:54:47,021 Tokiu būdu, tai labai Peržiūrėti panašūs. 1113 00:54:47,021 --> 00:54:47,520 Taip. 1114 00:54:47,520 --> 00:54:51,710 Taigi, tai lyg PHP kur ji gali rūšies būti tiek. 1115 00:54:51,710 --> 00:54:53,330 Geras klausimas. 1116 00:54:53,330 --> 00:54:55,209 Kasnors dar? 1117 00:54:55,209 --> 00:54:56,000 Gerai, nuostabus. 1118 00:54:56,000 --> 00:54:57,120 Persikėlimas į dešinę kartu. 1119 00:54:57,120 --> 00:54:59,110 >> Taigi pažiūrėkime pavyzdį kaip mes galime naudoti 1120 00:54:59,110 --> 00:55:02,250 JavaScript vieną iš mūsų interneto programas. 1121 00:55:02,250 --> 00:55:05,680 Taigi aš, kad tai index.html su HTML krūva. 1122 00:55:05,680 --> 00:55:08,800 Ir dalykas, kurį noriu jums sutelkti dėmesį į tai scenarijus žymė. 1123 00:55:08,800 --> 00:55:13,280 Ir tai sako, gerai, aš noriu paleisti kai JavaScript ir čia yra, kur jis gyvena. 1124 00:55:13,280 --> 00:55:15,400 Jis gyvena hello.js. 1125 00:55:15,400 --> 00:55:21,120 >> Ir labai daug, kaip CSS, mes galime įdėti JavaScript per HTML. 1126 00:55:21,120 --> 00:55:24,000 Kodėl mes norime, kad atskirtumėte jį? 1127 00:55:24,000 --> 00:55:24,500 Taip. 1128 00:55:24,500 --> 00:55:25,486 >> Auditorija: Lengviau perrašyti? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH Blumberg: Taip. 1130 00:55:26,402 --> 00:55:28,450 Tai lengviau naudotis visoje skirtingi tinklalapiai. 1131 00:55:28,450 --> 00:55:29,980 Jis išvaduoja švaresnis. 1132 00:55:29,980 --> 00:55:32,090 Tai tiesiog gera praktika. 1133 00:55:32,090 --> 00:55:32,590 Nuostabus. 1134 00:55:32,590 --> 00:55:33,930 Geras atsakymas. 1135 00:55:33,930 --> 00:55:36,690 Taigi gerai, todėl tai vyksta būti mūsų index.html. 1136 00:55:36,690 --> 00:55:39,430 Ir tada žemyn čia yra mūsų maža maža failas JavaScript. 1137 00:55:39,430 --> 00:55:42,410 >> Ir visa tai sako yra perspėjimas Labas, pasauli. 1138 00:55:42,410 --> 00:55:46,040 Taigi, kas atsitinka, kai šiuo puslapiu renders-- 1139 00:55:46,040 --> 00:55:49,680 todėl, jei jūs einate į bet kokios svetainės tai is-- visa tai nutiks 1140 00:55:49,680 --> 00:55:53,330 jis ketina pasakyti, gerai, aš ketina paleisti šią JavaScript kodą. 1141 00:55:53,330 --> 00:55:56,370 Ir tai JavaScript kodą tiesiog sako perspėjimas Labas, pasauli. 1142 00:55:56,370 --> 00:55:59,090 Taigi, aš ruošiuosi gauti šią draugiškas tiek pop-up. 1143 00:55:59,090 --> 00:56:00,360 >> Kietas? 1144 00:56:00,360 --> 00:56:04,746 Tai tipo kaip mūsų pats pirmas JavaScript programa, mūsų Labas, pasauli. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Pažvelkime šiek tiek daugiau apie tai, ką "JavaScript sintaksė atrodo. 1147 00:56:12,190 --> 00:56:16,330 Ir konkrečiai, galime palyginti ją C ir PHP, kurį mes matėme anksčiau. 1148 00:56:16,330 --> 00:56:20,610 >> Be JavaScript, mes ketiname turėti var, kintamojo vardas, ir tada 1149 00:56:20,610 --> 00:56:21,690 jo tikroji vertė. 1150 00:56:21,690 --> 00:56:26,170 Ir mes neturime nurodyti rūšį, tiesiog kaip PHP, bet labai skirtingai C 1151 00:56:26,170 --> 00:56:28,850 Taigi, pavyzdžiui, jei mes norėjome laikyti vertę 50, 1152 00:56:28,850 --> 00:56:32,490 C, mes turime pasakyti, ei, C, noriu sveikasis skaičius, 1153 00:56:32,490 --> 00:56:35,076 Aš ruošiuosi jį vadiname i, o jos vertė yra 50. 1154 00:56:35,076 --> 00:56:36,450 PHP, tai šiek tiek lengviau. 1155 00:56:36,450 --> 00:56:41,880 Mes sakome, ei, aš noriu kintamąjį vadinamas I ir jo vertė yra 50. 1156 00:56:41,880 --> 00:56:45,890 Labai panašiai, JavaScript, mes sako ei, aš noriu kintamasis vadinamas i, 1157 00:56:45,890 --> 00:56:47,080 jos vertė yra 50. 1158 00:56:47,080 --> 00:56:52,140 Kiekvienas paskesnis laikas, kad aš naudoju I nereikia rašyti var. 1159 00:56:52,140 --> 00:56:53,810 Tai tiesiog aš iš to taško. 1160 00:56:53,810 --> 00:56:58,660 Tuo pačiu būdu,, C, kur kai mes sakome, int i, mes tiesiog naudokite i. 1161 00:56:58,660 --> 00:57:00,340 Kietas? 1162 00:57:00,340 --> 00:57:01,800 Gerai. 1163 00:57:01,800 --> 00:57:03,710 >> Pereinant prie kilpos, Laimei, tai beveik 1164 00:57:03,710 --> 00:57:06,720 ieškoti exactly-- Manau, kad jie lygiai tas pats, ką 1165 00:57:06,720 --> 00:57:09,799 kilpos ketinate atrodyti kažkas panašaus į C, kur yra jūsų for ciklas 1166 00:57:09,799 --> 00:57:11,840 ketina turėti tris parts-- iniciacijos, 1167 00:57:11,840 --> 00:57:13,640 būklė ir atnaujinimas. 1168 00:57:13,640 --> 00:57:15,340 Kurį laiką kilpa, jis atrodo lygiai toks pats. 1169 00:57:15,340 --> 00:57:16,390 Mes tiesiog suteikti jai būklę. 1170 00:57:16,390 --> 00:57:18,264 >> Ir do while cikle, vėl, lygiai taip pat,. 1171 00:57:18,264 --> 00:57:20,190 Mes suteikiame jis sąlyga. 1172 00:57:20,190 --> 00:57:24,510 Tarkime, aš norėjau pakartoti over-- Norėjau daryti kažką penkis kartus. 1173 00:57:24,510 --> 00:57:27,840 C, mes galime rašyti už init i lygus 0. 1174 00:57:27,840 --> 00:57:30,480 i yra mažesnis nei 5, i ++. 1175 00:57:30,480 --> 00:57:34,240 Tik skirtumas, JavaScript, Užuot pasakęs int i lygus 0, 1176 00:57:34,240 --> 00:57:36,820 mes sakome var i lygus 0. 1177 00:57:36,820 --> 00:57:38,370 Gražus. 1178 00:57:38,370 --> 00:57:41,320 Tai vienintelis skirtumas. 1179 00:57:41,320 --> 00:57:43,200 Bet dėl ​​to klausimų? 1180 00:57:43,200 --> 00:57:44,160 Taip. 1181 00:57:44,160 --> 00:57:48,480 >> Auditorija: Taigi PHP, tai tas pats dalykas, išskyrus atvejus, tačiau, kaip kintamąjį? 1182 00:57:48,480 --> 00:57:49,564 Arba buvo toks var pavyzdžiui? 1183 00:57:49,564 --> 00:57:50,480 HANNAH Blumberg: Taip. 1184 00:57:50,480 --> 00:57:52,310 Taigi PHP, ji vyksta būti dolerio ženklas. 1185 00:57:52,310 --> 00:57:59,450 Taigi jis ketina $ i lygiųjų 0, $ i yra mažesnis nei 5, $ i ++. 1186 00:57:59,450 --> 00:58:02,490 Didelis klausimas. 1187 00:58:02,490 --> 00:58:04,570 >> Dabar pakalbėkime apie funkcija deklaracijos. 1188 00:58:04,570 --> 00:58:07,010 C, kai mes deklaruotas funkcija, mes davė jam vardą 1189 00:58:07,010 --> 00:58:08,490 ir mes jį davė kai kuriuos parametrus. 1190 00:58:08,490 --> 00:58:10,670 Ir pradžioje, mes rašė tipą. 1191 00:58:10,670 --> 00:58:12,440 Be JavaScript, visi mes tereikia parašyti 1192 00:58:12,440 --> 00:58:15,080 raktažodžių funkcija, sako, ei, JavaScript, 1193 00:58:15,080 --> 00:58:16,570 Aš apie apibrėžti funkciją. 1194 00:58:16,570 --> 00:58:18,520 >> Šiuo atveju, ji turi pavadinimas suma. 1195 00:58:18,520 --> 00:58:20,820 Ir tai trunka du argumentus, X ir Y. 1196 00:58:20,820 --> 00:58:23,280 Atkreipkite dėmesį, kad mes nerūpi apie x ir y tipų. 1197 00:58:23,280 --> 00:58:26,280 Ir kaip C, turime Šis raktažodis grąža, 1198 00:58:26,280 --> 00:58:29,140 todėl mes galime padaryti kažką kaip grįžimo x ir y. 1199 00:58:29,140 --> 00:58:32,540 >> Ir dabar, kai mes parašiau tai pirmas funkcija, mes galime naudoti sumą visur. 1200 00:58:32,540 --> 00:58:34,740 Ir tai visiškai gerai. 1201 00:58:34,740 --> 00:58:37,530 Vienas tikrai cool dalykas apie JavaScript, kad yra labai skirtingai C 1202 00:58:37,530 --> 00:58:40,770 yra ta, kad funkcijos gali būti traktuojami kaip vertybių. 1203 00:58:40,770 --> 00:58:43,895 Taigi, mes galime padaryti kažką panašaus čia kur aš manau, aš padengti tai up-- 1204 00:58:43,895 --> 00:58:46,400 Aš, kuriems iki var sumą part-- ir mes ką tik pasakė 1205 00:58:46,400 --> 00:58:49,850 funkcija xy lygus grąžinimo x plus y. 1206 00:58:49,850 --> 00:58:52,140 >> Tai yra tai, ką būtų galima pavadinti anoniminis funkcija. 1207 00:58:52,140 --> 00:58:53,920 Tai be pavadinimo funkcija. 1208 00:58:53,920 --> 00:58:56,290 Kadangi ši sako funkcija suma, bla, bla, bla, 1209 00:58:56,290 --> 00:58:59,340 tai tiesiog pasakyti funkciją. 1210 00:58:59,340 --> 00:59:02,020 Bet dabar, nors turiu Tai anoniminė funkcija, 1211 00:59:02,020 --> 00:59:03,630 kad funkcija yra tikrai tik vertė. 1212 00:59:03,630 --> 00:59:05,160 Mes galime traktuoti kaip vertybė. 1213 00:59:05,160 --> 00:59:10,180 >> Taigi, mes galime išsaugoti jį kintamajam tas pats būdas galėtume laikyti 50 kintamąjį. 1214 00:59:10,180 --> 00:59:13,870 Taigi, mes galime pasakyti, gerai, aš noriu kintamasis, tai vadinama suma, 1215 00:59:13,870 --> 00:59:16,011 ir ji yra ši funkcija. 1216 00:59:16,011 --> 00:59:18,760 Taigi šie du dalykai yra iš tikrųjų ketina daryti tą patį dalyką, 1217 00:59:18,760 --> 00:59:21,576 bet sintaksė yra šiek tiek skiriasi ir rūšies įdomus dėmesį. 1218 00:59:21,576 --> 00:59:22,076 Taip. 1219 00:59:22,076 --> 00:59:25,548 >> Auditorija: Taigi jums gali skambinti funkcija, kuri buvo anoniminė, sakydamas, 1220 00:59:25,548 --> 00:59:28,244 sum laikiklius 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH Blumberg: Taip. 1222 00:59:29,160 --> 00:59:32,280 Galite skambinti šiuo anonimiškai funkcija tuo pačiu būdu. 1223 00:59:32,280 --> 00:59:33,350 Jūs darytumėte sumą (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Tai būtų visiškai gerai. 1226 00:59:38,200 --> 00:59:41,575 >> Jei aš nepadarė var suma yra lygi funkcija, jei aš tiesiog ištrinti 1227 00:59:41,575 --> 00:59:45,480 this-- aš žinau, tai ant mano rankos, bet apsimesti Aš ištrynė this-- tada 1228 00:59:45,480 --> 00:59:46,964 kad funkcija rūšies tiesiog dingo. 1229 00:59:46,964 --> 00:59:49,630 Jūs niekada negali naudoti jį dar kartą, nes Jūs neturite už jį pavadinimą. 1230 00:59:49,630 --> 00:59:53,497 Sunku kreiptis į kažką jūs nežinote, ką skambinti. 1231 00:59:53,497 --> 00:59:54,080 Geras klausimas. 1232 00:59:54,080 --> 00:59:54,580 Taip. 1233 00:59:54,580 --> 00:59:59,580 >> Auditorija: Ar galite nuoroda sumą kitose vietose su x plius y vertę? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH Blumberg: Ar galite nuoroda suma kitose vietose 1235 01:00:01,940 --> 01:00:03,360 su x vertė plius y? 1236 01:00:03,360 --> 01:00:05,130 Aš nesu visiškai tikras, ką reiškia. 1237 01:00:05,130 --> 01:00:10,582 >> Auditorija: Taigi savo praeitį pusiau anoniminis funkcija yra suma yra lygi tai 1238 01:00:10,582 --> 01:00:14,452 Anoniminis funkciją, todėl suma yra dabar kintamas, kad jūs can-- 1239 01:00:14,452 --> 01:00:15,410 HANNAH Blumberg: Teisė. 1240 01:00:15,410 --> 01:00:18,980 Taigi suma yra kintamasis, bet tai actually-- 1241 01:00:18,980 --> 01:00:23,770 taip, suma yra kintamas, kurio reikšmė yra funkcija. 1242 01:00:23,770 --> 01:00:27,030 Taigi, tai yra funkcija, kuri yra rūšies Keistas dalykas, į kuriuos vyniojami aplink galvą 1243 01:00:27,030 --> 01:00:29,880 nes mes jau žaisti su C, ir jūs negalite padaryti, kad C. 1244 01:00:29,880 --> 01:00:32,679 Bet dabar mes galime skambinti susumuotų pačiu būdu galėtume vadinti sumą čia. 1245 01:00:32,679 --> 01:00:33,220 Auditorija: Gerai. 1246 01:00:33,220 --> 01:00:33,970 HANNAH Blumberg: Taip. 1247 01:00:33,970 --> 01:00:34,553 Geras klausimas. 1248 01:00:34,553 --> 01:00:35,438 Taip. 1249 01:00:35,438 --> 01:00:39,862 >> Auditorija: Taigi mes Nenaudokite prototipų PHP arba JavaScript? 1250 01:00:39,862 --> 01:00:42,070 HANNAH Blumberg: Ne, mes nereikia naudoti prototipų, 1251 01:00:42,070 --> 01:00:43,880 ypač JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Taigi vienas blogas dalykas, praktika, kad aš ketinate pasakyti, kad jūs neturėtumėte daryti 1253 01:00:49,380 --> 01:00:52,620 yra jūs neturite rašyti var i = 50. 1254 01:00:52,620 --> 01:00:54,840 Jūs galite tiesiog pradėti daryti i = 50. 1255 01:00:54,840 --> 01:00:57,490 Ir būtų tiesiog padaryti i pasaulinė kintamasis. 1256 01:00:57,490 --> 01:01:00,550 >> Tai labai bloga praktika, kad never say to aiškiai var i, 1257 01:01:00,550 --> 01:01:01,800 bet tai ką jūs galite padaryti. 1258 01:01:01,800 --> 01:01:03,591 Vertėjas nėra ketina klykauti ne jums. 1259 01:01:03,591 --> 01:01:05,920 JavaScript yra gana panašus, galite daryti ką norite. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 O, atsiprašau. 1262 01:01:09,800 --> 01:01:10,300 Yra du. 1263 01:01:10,300 --> 01:01:12,150 Oranžinės kelnės. 1264 01:01:12,150 --> 01:01:13,190 Pirmyn. 1265 01:01:13,190 --> 01:01:14,390 >> Auditorija: Ne, tu pirmas. 1266 01:01:14,390 --> 01:01:16,765 >> Auditorija: Ne, aš tiesiog pasakyti Aš neturėjau mano ranką. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 GERAI. 1269 01:01:20,748 --> 01:01:26,604 Taigi, jei jums buvo skambinti kad pirmą kartą, dabar Apibendrinant, 1270 01:01:26,604 --> 01:01:29,864 mes jį vadiname tas pats būdas, X, y, kaip kiekvieną kartą? 1271 01:01:29,864 --> 01:01:30,780 HANNAH Blumberg: Taip. 1272 01:01:30,780 --> 01:01:32,572 Taigi šie du esmės padaryti tą patį. 1273 01:01:32,572 --> 01:01:35,113 Auditorija: Ir kas yra privalumas naudojant vieną arba kitą? 1274 01:01:35,113 --> 01:01:37,500 HANNAH Blumberg: Nėra privalumas naudojant vieną arba kitą. 1275 01:01:37,500 --> 01:01:40,080 Aš tik norėjau parodyti jums du skirtingų vienetų sintaksė. 1276 01:01:40,080 --> 01:01:42,770 Kur anoniminė Daug kartų funkcijos turiu tikslą 1277 01:01:42,770 --> 01:01:48,220 yra, jei į kitą argumentą funkcija turėtų būti funkcija. 1278 01:01:48,220 --> 01:01:50,600 Ir mes pamatysime, kad tik antras su Ajax. 1279 01:01:50,600 --> 01:01:53,577 >> Taigi, jei tai nebuvo jokios prasmės, laikyti jį į savo pakaušį. 1280 01:01:53,577 --> 01:01:55,660 Štai kur anoniminis funkcija gali būti naudinga, 1281 01:01:55,660 --> 01:01:58,284 nes tai tikrai ne verta suteikiant jai vardą, nes mes tiesiog 1282 01:01:58,284 --> 01:01:59,443 ketina jį naudoti iš karto. 1283 01:01:59,443 --> 01:02:00,370 Taip. 1284 01:02:00,370 --> 01:02:03,635 >> Auditorija: Jei X ir Y pokytis vėliau įjungtas, bus susumuoti keisti, taip pat? 1285 01:02:03,635 --> 01:02:06,510 HANNAH Blumberg: Jei X ir Y pokytis vėliau, bus susumuoti keisti, taip pat? 1286 01:02:06,510 --> 01:02:08,840 Taigi tai yra iš tikrųjų aš manau, kažką, kad, 1287 01:02:08,840 --> 01:02:12,260 vėl, ji tiesiog jaučiasi labai skiriasi iš C. Tai nėra vertė. 1288 01:02:12,260 --> 01:02:13,620 Tai ne 5. 1289 01:02:13,620 --> 01:02:15,550 Tai tiesiog pati funkcija. 1290 01:02:15,550 --> 01:02:19,110 Taigi kuo greičiau, kad tai parametrai, tada jūs iš tikrųjų apskaičiuoti vertę. 1291 01:02:19,110 --> 01:02:21,193 >> MARIA ZLATKOVA: Ir tada galite skambinti funkcija 1292 01:02:21,193 --> 01:02:23,272 ir naudoti jį gauti tam tikrą vertę. 1293 01:02:23,272 --> 01:02:24,230 HANNAH Blumberg: Teisė. 1294 01:02:24,230 --> 01:02:25,250 Būtent. 1295 01:02:25,250 --> 01:02:25,863 Taip. 1296 01:02:25,863 --> 01:02:27,946 >> Auditorija: Taigi, jei jūs tiesiog laikyti jį į kintamąjį, 1297 01:02:27,946 --> 01:02:31,430 kaip var x lygus sumai dviejų values-- 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH Blumberg: Taip. 1299 01:02:32,420 --> 01:02:35,320 Taigi jums gali tiesiog daryti var sumą lygus sumai dviejų reikšmių. 1300 01:02:35,320 --> 01:02:37,670 Taip. 1301 01:02:37,670 --> 01:02:38,680 Visi kiti klausimai? 1302 01:02:38,680 --> 01:02:39,642 Taip. 1303 01:02:39,642 --> 01:02:42,047 >> Auditorija: Bet norėčiau, kad painioja sumą ir sumą? 1304 01:02:42,047 --> 01:02:45,062 Pavyzdžiui, jei Jūs skambinate savo kintamą sumą, Jūs skambinti funkcija sumą? 1305 01:02:45,062 --> 01:02:45,895 HANNAH Blumberg: mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Jei tu kažką kaip, suma yra lygi suma 2, 5? 1308 01:02:51,253 --> 01:02:53,170 >> Auditorija: Taip. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH Blumberg: Manau, kad būtų perrašyti sumos vertę. 1310 01:02:56,465 --> 01:02:59,290 Taigi dar vienas įdomus dalykas, apie JavaScript 1311 01:02:59,290 --> 01:03:02,950 yra tai, kad tik vienas kintamas gali būti nuo įvairių tipų krūva. 1312 01:03:02,950 --> 01:03:03,790 Blogas praktika. 1313 01:03:03,790 --> 01:03:06,280 Jūs neturėtumėte daryti kažką kaip ką tik pasakė. 1314 01:03:06,280 --> 01:03:10,240 >> Tačiau C, jei aš nustatytas lygus sveikasis skaičius, 1315 01:03:10,240 --> 01:03:13,570 mes žinome, kad tai niekada ketina tapti eilutė. 1316 01:03:13,570 --> 01:03:15,670 Tai ne "JavaScript" atveju. 1317 01:03:15,670 --> 01:03:17,770 Taip, geras klausimas. 1318 01:03:17,770 --> 01:03:20,151 Kasnors dar? 1319 01:03:20,151 --> 01:03:20,650 Gerai. 1320 01:03:20,650 --> 01:03:21,850 Daro viską teisę laiku. 1321 01:03:21,850 --> 01:03:23,050 Išlaikyti vyksta. 1322 01:03:23,050 --> 01:03:25,200 Gerai. 1323 01:03:25,200 --> 01:03:27,780 >> Jei pažvelgsime į masyvą JavaScript, čia 1324 01:03:27,780 --> 01:03:30,250 greitas pavyzdys stygų masyvo. 1325 01:03:30,250 --> 01:03:31,967 Ir masyvai gali augti dinamiškai. 1326 01:03:31,967 --> 01:03:33,675 Jie neturi turėti fiksuoto dydžio tas pats būdas 1327 01:03:33,675 --> 01:03:37,990 kad jie C Galime prieiti prie elementai tik su laužtiniuose skliaustuose. 1328 01:03:37,990 --> 01:03:41,720 >> Tai atrodo kaip PHP ir daug daug pavyzdžiui, C, kur galime pasakyti, šiuo atveju, 1329 01:03:41,720 --> 01:03:48,360 jei aš norėjau žodį JavaScript, aš norėčiau do ARR skliaustus su 0, 1, 2. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 Ir tada, jei pamenate, C, kai mes norėjo gauti masyvo ilgį, 1332 01:03:55,390 --> 01:03:56,820 tai buvo tikrai erzina. 1333 01:03:56,820 --> 01:03:58,460 Bet JavaScript, super lengva. 1334 01:03:58,460 --> 01:03:59,910 Visi mes darome, .length. 1335 01:03:59,910 --> 01:04:01,120 Suteikia jai ilgio. 1336 01:04:01,120 --> 01:04:01,892 Viskas. 1337 01:04:01,892 --> 01:04:03,140 >> Auditorija: Štai paprasta. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH Blumberg: Taip, daro jūsų gyvenimą daug lengviau. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 Gerai, object-- nėra. 1341 01:04:11,560 --> 01:04:15,480 Objektai JavaScript jaustis panašus structs C daug 1342 01:04:15,480 --> 01:04:18,280 ir asociatyvių masyvai PHP. 1343 01:04:18,280 --> 01:04:20,270 Taigi, ką mes matėme daug yra JSON, kuris 1344 01:04:20,270 --> 01:04:23,150 reiškia JavaScript Object žymėjimo aprašas. 1345 01:04:23,150 --> 01:04:25,550 Ir tai iš esmės yra būdas struktūrizavimo mūsų duomenų. 1346 01:04:25,550 --> 01:04:27,880 >> Taigi pažiūrėkime pavyzdį, turbūt lengviausias. 1347 01:04:27,880 --> 01:04:32,540 Taigi čia rasite objekto pavyzdys kad saugo klasę, CS50. 1348 01:04:32,540 --> 01:04:37,790 Ir kai aš sakau klasę, aš turiu galvoje, žinoma, ne like-- Taip, žinoma, CS50. 1349 01:04:37,790 --> 01:04:40,730 Ir jūs pamatysite, kad viskas objektą 1350 01:04:40,730 --> 01:04:43,526 bus pateikta į garbanotas petnešos. 1351 01:04:43,526 --> 01:04:48,260 >> Ir mes pradedame bendrauti laukų pavadinimus arba raktai su įvairiomis vertybėmis. 1352 01:04:48,260 --> 01:04:52,920 Taigi galite pradėti pamatyti, kaip šios rūšies jaučiasi masyvą PHP. 1353 01:04:52,920 --> 01:04:57,450 Taigi mes ketiname susieti sritis arba raktas vardas, žinoma, su eilutę, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Mes ketiname turėti instruktorius. 1356 01:04:59,940 --> 01:05:00,940 Mes ketiname turėti TFS. 1357 01:05:00,940 --> 01:05:05,240 Mes ketiname turėti skaičių psets ir mes ketiname įrašyti. 1358 01:05:05,240 --> 01:05:10,720 Ir vienas kietas dalykas, reikia pažymėti visus šie dalykai turi skirtingus tipus, 1359 01:05:10,720 --> 01:05:12,020 ir tai visiškai gerai. 1360 01:05:12,020 --> 01:05:15,330 >> Tai bauda už objekto, iš tiesų, tai tikriausiai tikimasi objekto 1361 01:05:15,330 --> 01:05:19,620 turėti stygų derinys ir numerius ir loginę ir masyvai 1362 01:05:19,620 --> 01:05:23,420 ir kas nors jums gali nori turėti viduje objektas. 1363 01:05:23,420 --> 01:05:28,570 Ir pažymi, kad jie bus vardai ar raktus, ir tada mes tiesiog 1364 01:05:28,570 --> 01:05:30,300 nustatyti, kad jis lygus su trupučiu dvitaškis. 1365 01:05:30,300 --> 01:05:32,015 >> Auditorija: Ką tiksliai reiškia JSON reiškia? 1366 01:05:32,015 --> 01:05:33,890 HANNAH Blumberg: Kas tiksliai reiškia JSON reiškia? 1367 01:05:33,890 --> 01:05:36,470 JSON tiesiog stovi JavaScript objektas Žymėjimas. 1368 01:05:36,470 --> 01:05:38,430 Tai tik keletas iš formatavimo būdas. 1369 01:05:38,430 --> 01:05:40,040 Taip. 1370 01:05:40,040 --> 01:05:41,800 Tai formatavimo mūsų duomenų būdas. 1371 01:05:41,800 --> 01:05:43,620 >> C, tai structs. 1372 01:05:43,620 --> 01:05:45,800 PHP, tai asociatyvias masyvus. 1373 01:05:45,800 --> 01:05:47,120 Be JavaScript, turime objektus. 1374 01:05:47,120 --> 01:05:48,969 >> Auditorija: Taigi CS50 yra objektas? 1375 01:05:48,969 --> 01:05:51,010 HANNAH Blumberg: CS50 yra šiuo atveju objektas. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Dabar, kaip padaryti mes iš tikrųjų prieigą tie laukai arba pakeisti šiose srityse. 1378 01:05:57,880 --> 01:06:03,920 Pavyzdžiui, tarkime, mes nusprendėme, kad jūs norėjote vieną mažiau pset šį semestrą. 1379 01:06:03,920 --> 01:06:06,300 Vietoj devynių, mes tik teks aštuoni. 1380 01:06:06,300 --> 01:06:08,240 Kaip mes tai pakeisti? 1381 01:06:08,240 --> 01:06:09,436 >> Oi, negerai taip. 1382 01:06:09,436 --> 01:06:11,060 Yra du būdai, kad mes galime tai padaryti. 1383 01:06:11,060 --> 01:06:13,490 Numeris vienas yra su tašku žymėjimas ir numeris du 1384 01:06:13,490 --> 01:06:15,750 yra kvadratinės kronšteino žymėjimo. 1385 01:06:15,750 --> 01:06:19,720 Taigi, pavyzdžiui, jei I norėjo pakeisti ar prieigos 1386 01:06:19,720 --> 01:06:26,820 psets laukas mūsų CS50 objektą, ką aš norėčiau padaryti, tai CS50.psets, 1387 01:06:26,820 --> 01:06:30,770 todėl objekto tašku vardas iš lauko ar rakto pavadinimą. 1388 01:06:30,770 --> 01:06:37,120 >> Labai panašiai, tai tiksliai lygiavertis padaryti CS50, tada 1389 01:06:37,120 --> 01:06:42,050 laužtiniuose skliausteliuose, psets. 1390 01:06:42,050 --> 01:06:42,837 Kietas? 1391 01:06:42,837 --> 01:06:44,298 Taip. 1392 01:06:44,298 --> 01:06:47,707 >> Auditorija: Taigi yra JSON techniškai JavaScript vis tiek, 1393 01:06:47,707 --> 01:06:51,814 nors į psets mes atskirti jį [nesigirdi]? 1394 01:06:51,814 --> 01:06:52,730 HANNAH Blumberg: Žinoma. 1395 01:06:52,730 --> 01:06:56,290 Taigi klausimas yra, ar JavaScript ir JSON ekvivalentas? 1396 01:06:56,290 --> 01:07:00,750 Taigi JSON yra žymėjimas, iš esmės būdas, kad mes parašyti 1397 01:07:00,750 --> 01:07:02,700 objektą iš JavaScript. 1398 01:07:02,700 --> 01:07:05,190 Taigi jie ne visai tas pats. 1399 01:07:05,190 --> 01:07:08,950 >> Sakyčiau, "JavaScript", ten yra objektų JavaScript. 1400 01:07:08,950 --> 01:07:12,590 JSON į tuos objektus ir atspausdina juos ir rodo juos 1401 01:07:12,590 --> 01:07:15,160 ar saugo juos gražus būdas. 1402 01:07:15,160 --> 01:07:18,110 Taigi JSON nėra programavimo kalba taip, kad JavaScript. 1403 01:07:18,110 --> 01:07:20,900 Tai tiesiog už žymėjimas Mūsų objektai JavaScript. 1404 01:07:20,900 --> 01:07:21,400 Taip. 1405 01:07:21,400 --> 01:07:24,144 >> Auditorija: Taigi, kas tiksliai [Nesigirdi] užbaigti? 1406 01:07:24,144 --> 01:07:25,060 HANNAH Blumberg: Žinoma. 1407 01:07:25,060 --> 01:07:27,727 Taigi tai iš tiesų nieko nedaro. 1408 01:07:27,727 --> 01:07:28,935 Tai tik būdas pasiekti. 1409 01:07:28,935 --> 01:07:31,393 Taigi tarkime, mes norėjome pakeisti iš probleminių rinkinių skaičius 1410 01:07:31,393 --> 01:07:32,450 nuo devynių iki aštuonių. 1411 01:07:32,450 --> 01:07:34,383 Ką mes darome, yra kažką daryti kaip CS50.psets = 8 ;. 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Taip, puikus klausimas. 1414 01:07:39,400 --> 01:07:40,733 Tai tik parodyti jums, sintaksė. 1415 01:07:40,733 --> 01:07:43,620 Ar ne iš tikrųjų nieko naudingo. 1416 01:07:43,620 --> 01:07:46,085 Turite klausimų? 1417 01:07:46,085 --> 01:07:48,210 Persikėlimas į dešinę kartu. 1418 01:07:48,210 --> 01:07:51,960 >> Taigi pažvelkime greitai pavyzdys, kaip JavaScript veikia, nes aš jums papasakojo 1419 01:07:51,960 --> 01:07:55,170 daro visi šie dalykai ir cool leidžia mums pakeisti puslapius. 1420 01:07:55,170 --> 01:07:56,970 Leiskite realiai pamatyti kaip tai veikia. 1421 01:07:56,970 --> 01:07:59,850 Taigi imtis, pavyzdžiui, šį HTML failą. 1422 01:07:59,850 --> 01:08:04,350 >> Ir dalykas, kurį noriu jums sutelkti dėmesį į tai šis konkretus žymė, kuris yra mygtukas, 1423 01:08:04,350 --> 01:08:06,182 su id search_button. 1424 01:08:06,182 --> 01:08:08,670 Tai tiesiog šiame puslapyje. 1425 01:08:08,670 --> 01:08:10,690 Taigi, dabar pažiūrėkime, ką mes iš tikrųjų galime padaryti. 1426 01:08:10,690 --> 01:08:12,560 >> Na, tarkime, kai Paspaudus šį mygtuką, 1427 01:08:12,560 --> 01:08:16,010 mes norime padaryti alert-- jūs paspaudėte mygtuką. 1428 01:08:16,010 --> 01:08:17,840 Pažiūrėkime, kaip mes galime tai padaryti. 1429 01:08:17,840 --> 01:08:23,869 Taigi window.onload-- tai nėra kažkas kad jūs mačiau klasei, todėl 1430 01:08:23,869 --> 01:08:26,180 nereikia žinoti jį viktorinoje. 1431 01:08:26,180 --> 01:08:33,660 Tačiau tai iš esmės sako, gerai, skambučių Ši funkcija kai langas apkrovos. 1432 01:08:33,660 --> 01:08:35,080 >> Taigi, kad tiesiog rūšies nustatymo kodą. 1433 01:08:35,080 --> 01:08:36,390 Nesijaudinkite tiek daug apie tai. 1434 01:08:36,390 --> 01:08:39,170 Ką aš noriu jums sutelkti dėmesį yra čia. 1435 01:08:39,170 --> 01:08:44,020 Mes sakome, var Searchbutton lygus document.getElementById search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Taigi, kaip jums gali atspėti, Kas tai yra ji sako, 1437 01:08:46,450 --> 01:08:50,920 Gerai, eikite rasti elementą su ID search_button. 1438 01:08:50,920 --> 01:08:52,790 Ir dabar mes turime, kad Tikrasis elementas ir aš 1439 01:08:52,790 --> 01:08:56,279 ketina laikyti jį kintamasis Searchbutton. 1440 01:08:56,279 --> 01:09:00,651 Ir dabar mes iš tikrųjų gali naudoti, kad elementas ir jį pakeisti, ar prieiti prie savo vertybes, 1441 01:09:00,651 --> 01:09:01,359 dalykų, kaip kad. 1442 01:09:01,359 --> 01:09:04,649 Mes iš tikrųjų galite pradėti bendradarbiauti su interneto puslapyje. 1443 01:09:04,649 --> 01:09:10,330 >> Taigi čia aš sakau, gerai, kad dabar turiu kad mygtuką, kai jis paspaudžia, 1444 01:09:10,330 --> 01:09:12,859 skambinti šiuo anoniminį funkciją. 1445 01:09:12,859 --> 01:09:16,811 Taigi, tai yra, kai anoniminis funkcijos tampa naudinga. 1446 01:09:16,811 --> 01:09:18,060 Ir ką funkcija daryti? 1447 01:09:18,060 --> 01:09:20,529 Na, tai tik tai vadina įspėjimo funkcija ir ji sako, 1448 01:09:20,529 --> 01:09:22,910 jūs paspaudėte mygtuką Pateikti užklausą. 1449 01:09:22,910 --> 01:09:29,670 >> Taigi, kas atsitiks, jei aš einu ten, kur HTML gyvena ir aš spustelėkite mygtuką, 1450 01:09:29,670 --> 01:09:33,729 Aš gausiu išgalvotas mažai perspėjimą kad sako, kad jūs paspaudėte mygtuką. 1451 01:09:33,729 --> 01:09:40,710 Taigi ką atkreipti dėmesį į here-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 gauna ypač HTML elementas su nurodytu ID. 1453 01:09:44,960 --> 01:09:48,529 Ir dabar mes galime nustatyti kas turėtų atsitikti, kai 1454 01:09:48,529 --> 01:09:50,702 kad ypač elementas yra paspaudėte. 1455 01:09:50,702 --> 01:09:52,670 >> Auditorija: Mes turime įdėti visus, kad? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH Blumberg: Atsiprašome? 1457 01:09:53,162 --> 01:09:55,130 >> Auditorija: Ar turime fiziškai kodą visa tai? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH Blumberg: Ar turime fiziškai kodą visa tai? 1459 01:09:56,340 --> 01:09:56,839 Taip. 1460 01:09:56,839 --> 01:09:58,120 Ar tai ne erzina natūra? 1461 01:09:58,120 --> 01:10:00,032 Tai kodą aikštelė. 1462 01:10:00,032 --> 01:10:01,574 >> Auditorija: Jūs galite importuoti kažką. 1463 01:10:01,574 --> 01:10:02,532 HANNAH Blumberg: Teisė. 1464 01:10:02,532 --> 01:10:03,610 Mes galime naudoti kažką. 1465 01:10:03,610 --> 01:10:08,140 Ir particular-- oh, tai pasakojo, turiu mokyti skyrių. 1466 01:10:08,140 --> 01:10:11,061 Visų pirma, tegul naudotis biblioteka JQuery, 1467 01:10:11,061 --> 01:10:13,060 nes tai buvo tikrai ilgai ir tikrai erzina 1468 01:10:13,060 --> 01:10:16,860 ir aš noriu, kad būtų galima supaprastinti ir padaryti jį trumpesnis ir lengviau rašyti. 1469 01:10:16,860 --> 01:10:19,810 >> Taigi JQuery yra JavaScript biblioteką. 1470 01:10:19,810 --> 01:10:24,930 Taigi JavaScript programavimo kalba; JQuery yra biblioteka. 1471 01:10:24,930 --> 01:10:27,190 Ir tai daro lengviau krūva. 1472 01:10:27,190 --> 01:10:33,230 Tai daro keičiasi ir vyksta visoje HTML-dokumentą daug lengviau. 1473 01:10:33,230 --> 01:10:35,030 >> Tai daro tvarkymo renginiai lengviau. 1474 01:10:35,030 --> 01:10:37,580 Tai daro animacija lengviau ir tai daro Ajax lengviau. 1475 01:10:37,580 --> 01:10:40,140 Taigi leiskite peršokti į dvi tie dalykai dabar. 1476 01:10:40,140 --> 01:10:40,900 Atsiprašau. 1477 01:10:40,900 --> 01:10:42,620 Prieš mes darome, kai pagrindinė sintaksė. 1478 01:10:42,620 --> 01:10:46,870 >> Tai yra tai, ką dauguma skambučiai į JQuery biblioteka atrodyti. 1479 01:10:46,870 --> 01:10:50,520 Mes naudojame šią doleris sign-- jokio ryšio ženklas PHP, 1480 01:10:50,520 --> 01:10:56,030 tik inconvenient-- pavadinimo selektorių, taškas, tada veiksmas. 1481 01:10:56,030 --> 01:10:58,860 Taigi pažiūrėkime, kai konkrečių pavyzdžių, kad. 1482 01:10:58,860 --> 01:11:02,980 >> Taigi, šis iš tikrųjų yra tas pats, Kodas iš renginio skaidrę. 1483 01:11:02,980 --> 01:11:08,740 Taigi, tai ilgas, negraži dalykas tampa tai daug gražiau, mažesnis dalykas. 1484 01:11:08,740 --> 01:11:10,370 Taigi pabandykime padalyti. 1485 01:11:10,370 --> 01:11:17,090 Tai sako, gerai, jQuery-- tai doleris sign-- JQuery, mane surasti langą. 1486 01:11:17,090 --> 01:11:18,480 Taigi, kad selektorius. 1487 01:11:18,480 --> 01:11:21,800 >> Kai jis įkelia, skambinkite šią funkciją. 1488 01:11:21,800 --> 01:11:23,880 Taigi, kad viskas viduje. 1489 01:11:23,880 --> 01:11:24,380 GERAI. 1490 01:11:24,380 --> 01:11:25,740 Kol kas viskas gerai? 1491 01:11:25,740 --> 01:11:26,750 Gerai. 1492 01:11:26,750 --> 01:11:32,970 >> Dabar, JQuery, rasti mane į dalykas su ID search_button. 1493 01:11:32,970 --> 01:11:36,090 Ir ką ji paspaudėte, skambinti šią funkciją. 1494 01:11:36,090 --> 01:11:37,900 Ir tada šios funkcijos visiškai toks pat. 1495 01:11:37,900 --> 01:11:41,052 Tiesiog truputį perspėjimo, jūs paspaudėte mygtuką Pateikti užklausą. 1496 01:11:41,052 --> 01:11:42,650 >> Taigi tai tikrai gražus. 1497 01:11:42,650 --> 01:11:46,260 Tai tikrai kondensuojasi ir supaprastina mūsų kodą. 1498 01:11:46,260 --> 01:11:49,030 Kaip aš žinau, kad tai ID search_button 1499 01:11:49,030 --> 01:11:50,960 o ne kaip klasės search_button? 1500 01:11:50,960 --> 01:11:52,024 >> Auditorija: hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH Blumberg: Taip. 1502 01:11:52,940 --> 01:11:56,450 Tai maišos simbolis, tai tik kaip CSS. 1503 01:11:56,450 --> 01:12:00,080 Taigi nepamirškite, su CSS, kai mes norėjo pasirinkti kažką pagal ID, 1504 01:12:00,080 --> 01:12:01,590 mes panaudojome svaras ženklas. 1505 01:12:01,590 --> 01:12:05,400 Ir kai mes norėjome pasirinkti kažkas pagal klases, mes naudojame tašką. 1506 01:12:05,400 --> 01:12:06,870 Didysis. 1507 01:12:06,870 --> 01:12:08,230 Logiška? 1508 01:12:08,230 --> 01:12:11,500 Taigi JQuery, kaip manoma, tik, kad mūsų gyvenimas būtų lengvesnis. 1509 01:12:11,500 --> 01:12:12,000 Taip. 1510 01:12:12,000 --> 01:12:15,660 >> Auditorija: Taigi, aš esu šiek tiek supainioti, kaip anoniminis funkcija veikia. 1511 01:12:15,660 --> 01:12:19,027 Ar jūs vadinate šį anonymouse funkcija, funkcija? 1512 01:12:19,027 --> 01:12:20,594 Kaip tai vadinama? 1513 01:12:20,594 --> 01:12:21,510 HANNAH Blumberg: Žinoma. 1514 01:12:21,510 --> 01:12:25,812 Taigi funkcija yra tik raktinis žodis, kuris sako, aš apie apibrėžti funkciją. 1515 01:12:25,812 --> 01:12:26,520 AUDITORIJA: O, gerai. 1516 01:12:26,520 --> 01:12:27,353 HANNAH Blumberg: Gerai? 1517 01:12:27,353 --> 01:12:32,120 Ir tada mes perduoti jį kaip argumentas to-- Paimkime 1518 01:12:32,120 --> 01:12:37,040 Šis vidinis one-- į paspaudimą funkcija. 1519 01:12:37,040 --> 01:12:39,420 Taigi, taip, kad funkcija, Tai anoniminė funkcija, 1520 01:12:39,420 --> 01:12:40,910 tampa faktinis argumentas. 1521 01:12:40,910 --> 01:12:43,632 Taigi nepamirškite JavaScript, mes galima gydyti funkcijas, vertybes. 1522 01:12:43,632 --> 01:12:44,340 AUDITORIJA: O, gerai. 1523 01:12:44,340 --> 01:12:45,256 HANNAH Blumberg: Taip. 1524 01:12:45,256 --> 01:12:46,035 Man patinka, kad "O". 1525 01:12:46,035 --> 01:12:47,490 Gražus. 1526 01:12:47,490 --> 01:12:49,915 Kiti klausimai? 1527 01:12:49,915 --> 01:12:50,505 Laikas? 1528 01:12:50,505 --> 01:12:51,380 MARIA ZLATKOVA: Geras. 1529 01:12:51,380 --> 01:12:52,760 Geras. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH Blumberg: awesome. 1531 01:12:54,210 --> 01:12:55,720 Po greito naudinga JQuery. 1532 01:12:55,720 --> 01:12:57,559 Nesiruošiu eiti per visą jų. 1533 01:12:57,559 --> 01:12:59,350 Šios skaidrės bus iki internetinėje trupučiu 1534 01:12:59,350 --> 01:13:02,040 vėliau, todėl jūs galite patikrinti tai iš šiek tiek vėliau. 1535 01:13:02,040 --> 01:13:07,120 Bet iš esmės, apskritai modelis turi kur mes sakome, 1536 01:13:07,120 --> 01:13:11,510 Gerai, ei, JQuery, čia mano selektorių ir tada čia veiksmas. 1537 01:13:11,510 --> 01:13:15,940 Ir jūs galite padaryti tokius dalykus kaip patekti vertė forma, prieigą prie kai kurių HTML, 1538 01:13:15,940 --> 01:13:19,195 kontrolė, kas atsitinka, kai vartotojas pateikia formą, dalykų, pavyzdžiui, kad. 1539 01:13:19,195 --> 01:13:20,106 Taip. 1540 01:13:20,106 --> 01:13:22,090 >> Auditorija: Taigi, Egzaminas, mes ketiname reikia 1541 01:13:22,090 --> 01:13:25,066 žinoti gana daug iš JQuery dokumentai. 1542 01:13:25,066 --> 01:13:31,018 Taigi turint omenyje, kad mes kopijuoti / įklijuoti JQuery dokumentus, mūsų apgauti lape, 1543 01:13:31,018 --> 01:13:32,506 Kur nubrėžta linija? 1544 01:13:32,506 --> 01:13:33,957 Kaip, kiek mums reikia žinoti? 1545 01:13:33,957 --> 01:13:35,290 HANNAH Blumberg: Didžioji klausimas. 1546 01:13:35,290 --> 01:13:37,765 Kyla klausimas, iš esmės turint omenyje, kad jums 1547 01:13:37,765 --> 01:13:41,330 negali prieiti prie jQuery dokumentus bandymo metu, kiek jūs turėtumėte 1548 01:13:41,330 --> 01:13:41,830 žinoti? 1549 01:13:41,830 --> 01:13:45,540 Mes ne tikėtis jums ateiti su kai kurių atsitiktinių funkcija 1550 01:13:45,540 --> 01:13:47,240 kad mes tikimės, kad jūs "Google". 1551 01:13:47,240 --> 01:13:52,930 >> Dalykų, kurie yra teisingas žaidimas yra norėčiau sako tiesiog rūšies bendrojo sintaksę, 1552 01:13:52,930 --> 01:13:58,310 galėtų pasirinkti pagal ID ir iki class-- taip kaip CSS. 1553 01:13:58,310 --> 01:14:01,876 Ir tada faktinių funkcijų save programą, mes tikriausiai pasakys. 1554 01:14:01,876 --> 01:14:02,376 Taip. 1555 01:14:02,376 --> 01:14:05,591 >> Auditorija: Taigi, kai jūs pasirenkate pagal klases reikštų tašką. 1556 01:14:05,591 --> 01:14:06,840 HANNAH Blumberg: Taip, tiksliai. 1557 01:14:06,840 --> 01:14:07,340 Geras. 1558 01:14:07,340 --> 01:14:10,461 Kai pasirenkate pagal klases, jis ketina reikia dot vietoj svaro ženklas. 1559 01:14:10,461 --> 01:14:10,960 Taip. 1560 01:14:10,960 --> 01:14:12,710 >> Auditorija: Would You eiti per skirtumu 1561 01:14:12,710 --> 01:14:14,310 tarp pasirinkdami pagal ID ir klasės? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH Blumberg: Žinoma. 1563 01:14:14,560 --> 01:14:17,510 Skirtumas tarp to ID ir parinkimas pagal klases. 1564 01:14:17,510 --> 01:14:20,685 Taigi, kaip sakė Marija Šiek tiek anksčiau, 1565 01:14:20,685 --> 01:14:26,280 gali būti tik vienas elementas HTML su tam tikra ID, o klasėje, 1566 01:14:26,280 --> 01:14:29,740 ji leidžia mums grupės krūva Skirtingų elementų kartu, 1567 01:14:29,740 --> 01:14:34,300 taip dalykų, kurie yra susiję, bet ne visai tas pats. 1568 01:14:34,300 --> 01:14:35,685 Ar tai atsakyti į klausimą? 1569 01:14:35,685 --> 01:14:36,200 Nuostabus. 1570 01:14:36,200 --> 01:14:37,194 Taip. 1571 01:14:37,194 --> 01:14:40,680 >> Auditorija: Ką daryti, jei turite kelias dalykų, kurie yra toje pačioje klasėje? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH Blumberg: Kas atsitinka, jei turite kelis dalykus, kurie 1573 01:14:42,150 --> 01:14:43,280 yra tos pačios klasės? 1574 01:14:43,280 --> 01:14:45,829 Taigi, pavyzdžiui, jei mes tik naudojant gryną JavaScript, 1575 01:14:45,829 --> 01:14:48,120 mes padaryti kažką panašaus document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 Ir kas tada, kad iš tiesų yra Grąžina elementų masyvas. 1578 01:14:56,320 --> 01:14:59,517 >> Ir jūs turite arba pakartoti per juos arba rasti, kuris iš jūsų nori. 1579 01:14:59,517 --> 01:15:01,350 Jis nesiruošia duoti Jūs vienas elementas. 1580 01:15:01,350 --> 01:15:03,450 Jis ketina suteikti jums AN elementų masyvas. 1581 01:15:03,450 --> 01:15:05,280 Didelis klausimas. 1582 01:15:05,280 --> 01:15:07,700 Kasnors dar? 1583 01:15:07,700 --> 01:15:09,520 Nuostabus. 1584 01:15:09,520 --> 01:15:12,860 >> Taigi manau, kad, jei esate susipažinę su bet JQuery matėte į pset, 1585 01:15:12,860 --> 01:15:15,600 jums turėtų būti gerai eiti. 1586 01:15:15,600 --> 01:15:16,325 Klausimas? 1587 01:15:16,325 --> 01:15:17,610 Oi, ne. 1588 01:15:17,610 --> 01:15:18,859 Aš tikrai turi mokyti. 1589 01:15:18,859 --> 01:15:19,358 Atsipalaiduokite. 1590 01:15:19,358 --> 01:15:20,035 Tai bus gerai. 1591 01:15:20,035 --> 01:15:20,660 Aš ten. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> Pakalbėkime apie Ajax. 1594 01:15:26,870 --> 01:15:31,350 Taigi Ajax bus a-- gerai, pradėkime su tuo, ką jis reiškia. 1595 01:15:31,350 --> 01:15:32,350 Tai akronimas. 1596 01:15:32,350 --> 01:15:35,855 Tai reiškia Asinchroninis JavaScript ir XML. 1597 01:15:35,855 --> 01:15:39,800 Ir XML yra iš esmės bus [Nesigirdi] su mūsų duomenų tipą. 1598 01:15:39,800 --> 01:15:42,100 Bet mes ne iš tikrųjų naudojamas XML. 1599 01:15:42,100 --> 01:15:43,430 Vietoj to, mes tiesiog naudoti JSON. 1600 01:15:43,430 --> 01:15:48,350 >> Taigi, iš esmės, tai kai data-- Asinchroninis JavaScript ir duomenų, 1601 01:15:48,350 --> 01:15:50,040 Šiuo atveju, JSON. 1602 01:15:50,040 --> 01:15:52,820 Ir mūsų tikslas, kaip minėjome šiek tiek anksčiau, 1603 01:15:52,820 --> 01:15:56,880 yra, kad būtų galima padaryti prašymą, turi būti toks prašymas daryti 1604 01:15:56,880 --> 01:16:00,700 jos dalykas fonas, bet toliau 1605 01:16:00,700 --> 01:16:02,550 daryti viską, kas mes buvome, ketinanti daryti. 1606 01:16:02,550 --> 01:16:06,650 Ir tada, kai tokia informacija yra pasiruošę, tada mes jį įtraukti. 1607 01:16:06,650 --> 01:16:08,470 >> Taigi pažiūrėkime, ką šis iš tikrųjų atrodo. 1608 01:16:08,470 --> 01:16:11,210 Ir tai, jums turėtų būti šiek tiek susipažinę 1609 01:16:11,210 --> 01:16:13,680 nuo pset8, vienas tiesiog sužaidė. 1610 01:16:13,680 --> 01:16:16,200 Taigi čia galioja JQuery funkcija, mes galime 1611 01:16:16,200 --> 01:16:18,250 noriu žinoti about-- šio dolerio ženklas. 1612 01:16:18,250 --> 01:16:21,500 Taigi ji sako, JQuery funkcija, .getJson. 1613 01:16:21,500 --> 01:16:25,020 >> Ir kas ši funkcija daro tai mano URL ir šiek tiek parameters-- 1614 01:16:25,020 --> 01:16:28,000 todėl manau, kad tuo atveju, iš pset8, tai buvo, pavyzdžiui, 1615 01:16:28,000 --> 01:16:33,520 URL buvo articles.php ir parametrai buvo eiti = šiek pašto kodą. 1616 01:16:33,520 --> 01:16:41,580 Ir ji sako, gerai, kad prašymą Tai URL su pateiktų parametrų. 1617 01:16:41,580 --> 01:16:43,480 Ir tai tiesiog atsitinka. 1618 01:16:43,480 --> 01:16:47,730 >> Kai jis baigia, tai arba vyksta sėkmingai baigtas 1619 01:16:47,730 --> 01:16:49,370 ar jis ketina nepavyks. 1620 01:16:49,370 --> 01:16:53,480 Taigi tai yra pokalbio lygiavertis Robas ir paprašyti, kad jis ką nors daryti. 1621 01:16:53,480 --> 01:17:00,260 Ir tada, kai jis vadina atgal, jis arba ketinate pasakyti Atlikau ar man nepavyko. 1622 01:17:00,260 --> 01:17:04,030 >> Taigi tuo atveju, kai esate padaryta, jūs sakote, gerai, aš padaryti. 1623 01:17:04,030 --> 01:17:05,980 Ir tada jūs vadinate šią funkciją. 1624 01:17:05,980 --> 01:17:08,915 Šiuo atveju, ji ketina būti funkcija, kuri užima šiek tiek informacijos. 1625 01:17:08,915 --> 01:17:12,890 Vienas mes paprastai rūpi duomenys, duomenys, kad mes iš tikrųjų buvo grąžinta 1626 01:17:12,890 --> 01:17:15,900 kaip kvietimas .getJSON rezultatas. 1627 01:17:15,900 --> 01:17:17,470 >> Ir jūs galite padaryti kažką su juo. 1628 01:17:17,470 --> 01:17:23,670 Taigi, atsižvelgiant į pset8 atveju, mes rodomas kaip sąrašą. 1629 01:17:23,670 --> 01:17:29,050 Fail bus funkcija tai vadinama jeigu prašymas neatitinka 1630 01:17:29,050 --> 01:17:30,450 dėl kokios nors priežasties. 1631 01:17:30,450 --> 01:17:35,104 Ir atsižvelgiant į pset8 atveju, mes tiesiog console.log ją. 1632 01:17:35,104 --> 01:17:36,020 Bet apie tai klausimai? 1633 01:17:36,020 --> 01:17:36,300 Taip. 1634 01:17:36,300 --> 01:17:39,633 >> Auditorija: Ar mes tiesiog naudokite funkciją teta vietoj funkcija, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH Blumberg: Žinoma. 1637 01:17:44,380 --> 01:17:46,713 Taigi, taip, manau, kad į pset, mes tik pamačiau funkcija duomenis. 1638 01:17:46,713 --> 01:17:48,700 Taigi tai tik the-- Taip, gerai. 1639 01:17:48,700 --> 01:17:50,510 Štai ką matėme pset. 1640 01:17:50,510 --> 01:17:51,480 Štai visiškai gerai. 1641 01:17:51,480 --> 01:17:54,210 >> Tai tik, jei norite ištraukti daugiau informacijos, 1642 01:17:54,210 --> 01:17:57,190 tai yra dalykai, kurie galite gauti iš .getJSON. 1643 01:17:57,190 --> 01:17:59,040 Geras klausimas. 1644 01:17:59,040 --> 01:17:59,706 Kasnors dar? 1645 01:17:59,706 --> 01:18:00,206 Taip. 1646 01:18:00,206 --> 01:18:01,787 >> Auditorija: Taigi .getJSON yra Ajax? 1647 01:18:01,787 --> 01:18:02,620 HANNAH Blumberg: Gerai. 1648 01:18:02,620 --> 01:18:05,700 Taigi, tai yra keblus dalis natūra. 1649 01:18:05,700 --> 01:18:12,390 Tai yra JQuery funkcija, kuri leidžia jums reikia padaryti, asinchroninis skambučius. 1650 01:18:12,390 --> 01:18:16,080 Ir tie asinchroniniai skambučiai, tai tai, ką mes jau kalbama kaip Ajax. 1651 01:18:16,080 --> 01:18:16,850 Taip. 1652 01:18:16,850 --> 01:18:20,185 Tai paėmė mane tikrai ilgą laiką išardyti, kai buvau studentas. 1653 01:18:20,185 --> 01:18:21,560 Auditorija: Ar galite pasakyti, kad dar kartą? 1654 01:18:21,560 --> 01:18:22,476 HANNAH Blumberg: Taip. 1655 01:18:22,476 --> 01:18:23,630 Ar galiu pasakyti, kad dar kartą? 1656 01:18:23,630 --> 01:18:29,010 Tai .getJSON funkcija, ji yra JQuery funkcija. 1657 01:18:29,010 --> 01:18:31,970 Ir tai ketina padaryti asinchroninis skambutis. 1658 01:18:31,970 --> 01:18:35,700 Ir šie asinchroniniai ragina mes buvo kalbama apie tuos, kurie, kaip "Ajax". 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Visi kiti klausimai? 1661 01:18:41,872 --> 01:18:43,330 Mes turime tik keletą minučių liko. 1662 01:18:43,330 --> 01:18:45,080 Ir Marija ketina susivynioti su saugumu 1663 01:18:45,080 --> 01:18:47,464 ir tada mes ketiname turi būti tik apie padaryta. 1664 01:18:47,464 --> 01:18:48,630 MARIA ZLATKOVA: Nuostabus, Gerai. 1665 01:18:48,630 --> 01:18:54,030 Taigi tai is-- tiesiog pora sekundžių ieškoti per tai. 1666 01:18:54,030 --> 01:18:56,750 Ir tai nėra kažkas tikrai didelis. 1667 01:18:56,750 --> 01:18:59,430 Ir gali kas nors pasakykite man, kodėl? 1668 01:18:59,430 --> 01:19:05,650 Kas vyksta foo ir gali galėtų potencialiai sukelti kažką blogo, 1669 01:19:05,650 --> 01:19:06,770 ir ką tai vadinama? 1670 01:19:06,770 --> 01:19:07,270 Taip. 1671 01:19:07,270 --> 01:19:10,391 Auditorija: Jei argumentas, kad tai praėjo daugiau kaip 12 simbolių, 1672 01:19:10,391 --> 01:19:11,454 tai galėtų ištekėti. 1673 01:19:11,454 --> 01:19:12,370 MARIA ZLATKOVA: Teisė. 1674 01:19:12,370 --> 01:19:14,180 Tobula. 1675 01:19:14,180 --> 01:19:15,384 Ką jis vadinamas? 1676 01:19:15,384 --> 01:19:16,300 Jūs tiesiog paminėjo. 1677 01:19:16,300 --> 01:19:16,840 >> Auditorija: buferio. 1678 01:19:16,840 --> 01:19:18,381 >> MARIA ZLATKOVA: Yup, buferio. 1679 01:19:18,381 --> 01:19:21,230 Taigi, tai yra kažkas, kad mes vadina buferio. 1680 01:19:21,230 --> 01:19:25,500 Ir mes matome, kad foo vidų, mes apibrėžti mūsų buferio, C, 1681 01:19:25,500 --> 01:19:27,240 su 12 dydžio. 1682 01:19:27,240 --> 01:19:32,680 Tačiau pagrindinis, mes do not patikrinti bet kokiu būdu ne visi 1683 01:19:32,680 --> 01:19:36,480 ar kad argv1-- buvo antrasis argumentas. 1684 01:19:36,480 --> 01:19:39,630 Mes neturime patikrinti, ar dydis tai yra tinkama. 1685 01:19:39,630 --> 01:19:43,380 >> Taigi, jei mes turėjome ypač piktybinis vartotojas 1686 01:19:43,380 --> 01:19:47,170 uždavęs tam tikru argumentu, kad buvo ilgesnis nei 12, ir tada potencialiai 1687 01:19:47,170 --> 01:19:50,850 po tos ribų argumentas, turėjo tam tikrą vykdomąjį kodą 1688 01:19:50,850 --> 01:19:55,570 kad jis bando padaryti kažką blogo su tuo; tai, kas nutiktų, 1689 01:19:55,570 --> 01:19:59,310 būtų svarbesni grąžą adresas foo funkciją, 1690 01:19:59,310 --> 01:20:04,370 sukelia funkciją, kai grįžti vykdyti šią kodą. 1691 01:20:04,370 --> 01:20:07,540 Ir tada blogi dalykai gali atsitikti. 1692 01:20:07,540 --> 01:20:09,850 Ar tai prasminga visiems? 1693 01:20:09,850 --> 01:20:12,424 >> Ir kaip mes galime apsaugoti nuo tai? 1694 01:20:12,424 --> 01:20:13,090 Bet kokie pasiūlymai? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Iš esmės, viduje potencialiai rūšys, kaip 1697 01:20:21,890 --> 01:20:28,294 mes galime patikrinti, įsitikinkite, kad negali atsitikti? 1698 01:20:28,294 --> 01:20:33,879 >> Auditorija: Jei dydis 12 viršijama, Jums skirs papildomą atmintį? 1699 01:20:33,879 --> 01:20:37,170 MARIA ZLATKOVA: pasiūlymas yra skirti Papildoma atmintis dydžio viršyta. 1700 01:20:37,170 --> 01:20:39,800 Tiesą sakant, mes galime padaryti kažką daug paprastesnė nei kad taip pat. 1701 01:20:39,800 --> 01:20:44,870 Mes galime tik gauti eilutės ilgis argumento, kad yra įregistruotas, 1702 01:20:44,870 --> 01:20:48,590 patikrinti, ar tai yra mažiau nei arba lygus 12-- 1703 01:20:48,590 --> 01:20:50,790 o tai, ką mes norime ją būti, nes mes nenorime 1704 01:20:50,790 --> 01:20:52,373 tai viršija mūsų buferis ribų. 1705 01:20:52,373 --> 01:20:55,690 Ir tada, jei jis nėra, mes gali dirbti su argumentais. 1706 01:20:55,690 --> 01:21:00,296 Ir tada, jeigu ji, mes iš tikrųjų norime į Yello potencialiai vartotojui. 1707 01:21:00,296 --> 01:21:01,670 Bet tai, kaip mes norėtume daryti. 1708 01:21:01,670 --> 01:21:02,443 Taip. 1709 01:21:02,443 --> 01:21:04,360 >> Auditorija: Ar galite paaiškinti memcpy nekilnojamojo Greita? 1710 01:21:04,360 --> 01:21:05,443 MARIA ZLATKOVA: Oi, atsiprašau. 1711 01:21:05,443 --> 01:21:06,040 Taip. 1712 01:21:06,040 --> 01:21:11,290 Memcpy trunka kokia is-- Atsiprašome, Gerai. 1713 01:21:11,290 --> 01:21:15,850 Memcpy trunka kokia yra bar, kokia yra perduodama 1714 01:21:15,850 --> 01:21:18,050 į foo kaip komandinės eilutės argumentas. 1715 01:21:18,050 --> 01:21:19,440 Taigi ji ketina imtis argv1. 1716 01:21:19,440 --> 01:21:21,420 Argv1 vadinamas baras čia. 1717 01:21:21,420 --> 01:21:24,453 Taigi ji ketina imtis baras ir jis ketina nukopijuokite jį į c. 1718 01:21:24,453 --> 01:21:25,402 >> Auditorija: Gerai. 1719 01:21:25,402 --> 01:21:28,360 MARIA ZLATKOVA: Ir jis ketina copy-- trečiasis argumentas tiesiog reiškia 1720 01:21:28,360 --> 01:21:30,601 į tai, kiek ji ketina kopijuoti į C. 1721 01:21:30,601 --> 01:21:31,142 Auditorija: Ak. 1722 01:21:31,142 --> 01:21:33,030 Taigi Tai vienas kopijavimas visa tai tada. 1723 01:21:33,030 --> 01:21:34,310 >> MARIA ZLATKOVA: Taip, tai kopijavimo visa tai. 1724 01:21:34,310 --> 01:21:34,810 Yep. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 Pirma, mes įsitikinkite, kad juosta yra ne lygi nuliui, nes tai rodyklė. 1727 01:21:41,910 --> 01:21:44,680 Tada mes gauti string ilgis bare. 1728 01:21:44,680 --> 01:21:47,530 Mes įsitikinkite, kad jis mažesnis arba lygus 12. 1729 01:21:47,530 --> 01:21:50,070 Ir tada, nes mes pasirūpino, mes galime iš tikrųjų 1730 01:21:50,070 --> 01:21:53,122 memcpy ir būti tikri, kad viskas OK. 1731 01:21:53,122 --> 01:21:53,705 Turite klausimų? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Didysis. 1734 01:21:58,690 --> 01:22:00,400 Turiu du true arba false klausimus. 1735 01:22:00,400 --> 01:22:05,470 Can anyone tell me iš karto jei tai yra true arba false? 1736 01:22:05,470 --> 01:22:07,460 Taip, tai klaidinga. 1737 01:22:07,460 --> 01:22:07,960 Būtent. 1738 01:22:07,960 --> 01:22:09,330 Abu jie yra neteisingi. 1739 01:22:09,330 --> 01:22:12,682 Taigi, naudojant vieną slaptažodį niekada tikrai gera idėja 1740 01:22:12,682 --> 01:22:14,890 nes jei kas nors žino Jūsų slaptažodis, jie gali tiesiog 1741 01:22:14,890 --> 01:22:16,260 prieiti prie visų kitų jūsų sąskaitas. 1742 01:22:16,260 --> 01:22:19,260 Ir tada piktogramos nieko siekiant užtikrinti saugumą. 1743 01:22:19,260 --> 01:22:24,900 Mes paprastai turėtų ieškoti HTTPS vietoj HTTP ir URL. 1744 01:22:24,900 --> 01:22:28,560 >> Ir kai kurių kitų tipų išpuolių, kad mes paminėti, 1745 01:22:28,560 --> 01:22:31,390 Dovydas buvo paminėta paskaita, SQL injection atakas. 1746 01:22:31,390 --> 01:22:37,310 Mes jau matėme, kad jeigu mes don't-- CS50 užklausos funkcija užtikrina, kad SQL 1747 01:22:37,310 --> 01:22:39,530 injekcijos išpuolių negali atsirasti. 1748 01:22:39,530 --> 01:22:42,640 Bet jei mes ne naudojant CS50, citata, citatos pabaiga "Query" 1749 01:22:42,640 --> 01:22:46,830 mes turime įsitikinti, kad naudotojo įvesties nėra faktiškai kai "SQL 1750 01:22:46,830 --> 01:22:49,670 užklausa kurie bus sukelti visi mūsų stalų būti atsisakyta 1751 01:22:49,670 --> 01:22:54,070 ar kažką blogo atsitikti su mūsų duomenų bazės. 1752 01:22:54,070 --> 01:22:56,790 >> Sesijos vogimą yra kitas priepuolis tipas 1753 01:22:56,790 --> 01:23:05,940 tai atsitiks, kai kai kurie blogai asmuo naudoja kai aukos sesiją 1754 01:23:05,940 --> 01:23:08,740 ID atidarykite prisijungimo informaciją. 1755 01:23:08,740 --> 01:23:13,620 Taigi labai trivialus pavyzdys, kad yra pavyzdžiui, jei mes turime viešą kompiuterį, 1756 01:23:13,620 --> 01:23:21,120 tada blogas žmogus prisijungia ir tada jie slapukus, kurie yra išgelbėti. 1757 01:23:21,120 --> 01:23:23,380 Ir slapukus nekeičia sesijai. 1758 01:23:23,380 --> 01:23:27,620 >> Tada mes turime auka eiti ir tada prisijungti prie svetainės. 1759 01:23:27,620 --> 01:23:30,290 Slapukai nesikeičia tam tikrą sesijos. 1760 01:23:30,290 --> 01:23:33,060 Ir tada auka registruojasi svetainėje ir paskui palieka. 1761 01:23:33,060 --> 01:23:36,190 Ir tada tas asmuo, kuris nueina tada gali ir toliau naudoti savo sesijos ID 1762 01:23:36,190 --> 01:23:37,430 prieigą prie savo informacijos. 1763 01:23:37,430 --> 01:23:40,050 Štai vienas pavyzdys kaip kad gali atsitikti. 1764 01:23:40,050 --> 01:23:45,570 >> Ir tada aš ne nerimauti per daug apie specialų kodą arba nieko 1765 01:23:45,570 --> 01:23:49,270 kaip kad gali sukelti tai, bet tam tikra idėja rūšiuoti ką 1766 01:23:49,270 --> 01:23:51,400 kintamieji dalyvaujančių šiame yra. 1767 01:23:51,400 --> 01:23:53,897 Ir tada manipuliuoti antraštę duomenys yra dar vienas tipo atakos 1768 01:23:53,897 --> 01:23:55,230 kad turi Dovydas kalbėjo apie. 1769 01:23:55,230 --> 01:23:59,730 Ir tai tik nuoroda į kas gali atsitikti, kai 1770 01:23:59,730 --> 01:24:04,300 atsakymas, HTTP atsakymas viduje mūsų antraštės 1771 01:24:04,300 --> 01:24:05,720 nėra tinkamai dezinfekuotas. 1772 01:24:05,720 --> 01:24:14,340 >> Ir bet koks, pavyzdžiui fields--, jei kas nors perrašo vieną iš antraštės 1773 01:24:14,340 --> 01:24:18,860 vertės yra nieko daugiau, nei ką jie turėtų contain-- ir iš tikrųjų 1774 01:24:18,860 --> 01:24:22,720 sudėtyje, pavyzdžiui, 200 Gerai statusas kodas, tada jie 1775 01:24:22,720 --> 01:24:26,890 potencialiai gali daryti kenksmingą dalykų, kai jie neturėjo. 1776 01:24:26,890 --> 01:24:30,815 Bet aš ne nerimauti per daug apie konkretų kodas 1777 01:24:30,815 --> 01:24:34,110 kad gali sukelti tai, tiesiog tarsi supratimo 1778 01:24:34,110 --> 01:24:37,290 aukšto lygio dalykai, kaip kad. 1779 01:24:37,290 --> 01:24:39,570 >> Manau, kad tai yra viskas kad mes turime padengti. 1780 01:24:39,570 --> 01:24:40,090 Nuostabi. 1781 01:24:40,090 --> 01:24:43,310 Kiekvienas turi kokių nors klausimų dėl bet iš dalykų, kad mes, kuriems? 1782 01:24:43,310 --> 01:24:44,213 Taip. 1783 01:24:44,213 --> 01:24:48,077 >> Auditorija: Taigi vienas rūšiuoti daugiau logistikos klausimas. 1784 01:24:48,077 --> 01:24:53,400 Ar turinys daugiausia dėmesio dalykų po viktorina 1? 1785 01:24:53,400 --> 01:24:55,730 >> MARIA ZLATKOVA: Taigi Kyla klausimas, yra turinio 1786 01:24:55,730 --> 01:24:59,720 daugiausia dėmesio buvo skiriama dalykų po viktorina 1? 1787 01:24:59,720 --> 01:25:06,070 Taigi dėmesys skiriamas po viktorina 1, su išimtimi 1788 01:25:06,070 --> 01:25:10,914 kad mes turime sutelkti dėmesį į dalykus pset5 ir iš duomenų struktūrų daug 1789 01:25:10,914 --> 01:25:11,580 kad mes padengti. 1790 01:25:11,580 --> 01:25:14,300 Ir mes negalime pasakyti, kad mes gali ignoruoti nieko prieš 1791 01:25:14,300 --> 01:25:17,120 kad, nes jis remiasi jį taip pat. 1792 01:25:17,120 --> 01:25:21,845 >> Taigi dėmesys, kad, plius pset5 medžiagos kaip, įskaitant susijusius sąrašus, kaminai, 1793 01:25:21,845 --> 01:25:23,720 eiles, ir viskas kad Hannah perėjo. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH Blumberg: Teisė. 1795 01:25:24,050 --> 01:25:27,450 Taip, mes nuėjome per visą C stuff iš pat pradžių labai greitai. 1796 01:25:27,450 --> 01:25:29,090 Tačiau įsitikinkite, kad peržiūrėti šį. 1797 01:25:29,090 --> 01:25:32,700 Grįžti atgal ir žiūrėti Viktorina 0 apžvalgą. 1798 01:25:32,700 --> 01:25:36,110 >> Pora daugiau logistikos pastabos, tiesiog, o mes turime savo dėmesį. 1799 01:25:36,110 --> 01:25:39,100 Mes ketiname turėti darbo valandas tiek pirmadienį ir antradienį naktį. 1800 01:25:39,100 --> 01:25:41,540 Jie ketina būti MD 119. 1801 01:25:41,540 --> 01:25:44,220 Tai yra all į svetainę, todėl jei nenorite girdėti, jokių rūpesčių. 1802 01:25:44,220 --> 01:25:45,266 >> MARIA ZLATKOVA: 8:30 iki 11:00. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH Blumberg: Taip, 8:30 iki 11:00 val. 1804 01:25:46,260 --> 01:25:46,910 Mes būsiu ten. 1805 01:25:46,910 --> 01:25:48,368 Mes ten atsakyti į klausimus. 1806 01:25:48,368 --> 01:25:49,480 Tai gana chill ir įdomus. 1807 01:25:49,480 --> 01:25:53,240 Vaikinai gali užduoti klausimus kad jūs turite ant viktorina 1 d. 1808 01:25:53,240 --> 01:25:55,740 Ir viktorina 1 yra Trečiadienis, todėl geros kloties. 1809 01:25:55,740 --> 01:25:59,770 Jei turite kokių nors klausimų, gal ateis kalbėtis su mumis čia vienas ant vieno. 1810 01:25:59,770 --> 01:26:00,880 Kietas. 1811 01:26:00,880 --> 01:26:01,630 Labai ačiū. 1812 01:26:01,630 --> 01:26:02,880 >> MARIA ZLATKOVA: Labai ačiū, vaikinai. 1813 01:26:02,880 --> 01:26:03,480 >> Auditorija: Šaulys. 1814 01:26:03,480 --> 01:26:05,930 >> [Plojimai] 1815 01:26:05,930 --> 01:26:07,530