1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH Blumbergs: Sveiki visiem. 3 00:00:07,030 --> 00:00:09,530 Mēs ejam, lai sāktu tikai pāris minūtes agrāk 4 00:00:09,530 --> 00:00:11,738 jo mums ir visai daudz Materiāla tikt cauri. 5 00:00:11,738 --> 00:00:12,790 Es esmu Hannah. 6 00:00:12,790 --> 00:00:13,865 Es esmu TF. 7 00:00:13,865 --> 00:00:16,239 Maria tiks savieno mums tikai pāris minūtes. 8 00:00:16,239 --> 00:00:17,560 Viņa māca sadaļu tieši pirms. 9 00:00:17,560 --> 00:00:19,351 Es mācīt sadaļu tiesības pēc, tāpēc mēs ejam 10 00:00:19,351 --> 00:00:21,200 lai saglabātu to pusotru stundu. 11 00:00:21,200 --> 00:00:25,490 >> Tātad, kā jūs redzēsiet šeit, mums ir diezgan dažas tēmas mums ir nepieciešams, lai saņemtu ar, 12 00:00:25,490 --> 00:00:27,200 tāpēc mēs iet mazliet ātri. 13 00:00:27,200 --> 00:00:31,140 Bet, ja kādā brīdī mēs kaut ko pateikt pārāk ātri vai jūs nesaprotat, 14 00:00:31,140 --> 00:00:33,170 justies brīvi pārtraukt ar jautājumiem. 15 00:00:33,170 --> 00:00:36,610 Mēs vēlamies, lai varētu veikt šo pārskatīt sesiju kā noderīga jums visiem 16 00:00:36,610 --> 00:00:37,973 pēc iespējas. 17 00:00:37,973 --> 00:00:38,920 Lielisks. 18 00:00:38,920 --> 00:00:41,650 >> Tātad pieņemsim lēkt tiesības ar dažas tēmas, kas mēs patiesībā 19 00:00:41,650 --> 00:00:46,980 ļoti, ļoti īsi jāietver par viktorīna 0 no viktorīna 0 pārskata sesiju. 20 00:00:46,980 --> 00:00:48,840 Tātad, sākot ar saistītiem sarakstiem. 21 00:00:48,840 --> 00:00:52,090 Tātad, tikai pārliecinieties, ka Jums ir dažas pamatzināšanas par saistītiem sarakstiem 22 00:00:52,090 --> 00:00:55,110 un ir ērti darīt daži no pamata darbību. 23 00:00:55,110 --> 00:00:58,560 >> Tik vienkārši, lai pārskatītu, kas saistīti saraksti ir labāk nekā masīvi 24 00:00:58,560 --> 00:01:01,020 jo tie var augt dinamiski. 25 00:01:01,020 --> 00:01:03,300 Tātad mums ir, ka milzīga priekšrocība. 26 00:01:03,300 --> 00:01:06,031 Mēs esam redzējuši tos izmanto in hash tabulu, kad mēs 27 00:01:06,031 --> 00:01:08,280 nezinu, cik tieši lietas, ko mēs esam gatavojas vēlaties 28 00:01:08,280 --> 00:01:10,900 ievietot mūsu datu struktūras. 29 00:01:10,900 --> 00:01:15,700 Diemžēl, mums ir gabalus piesaistītais saraksts visā atmiņu, 30 00:01:15,700 --> 00:01:20,820 tāpēc mēs ne vienmēr būs spēj darīt pastāvīgu piekļuvi laika 31 00:01:20,820 --> 00:01:22,502 jebkuram elementa saistīts sarakstā. 32 00:01:22,502 --> 00:01:24,210 Lai atrastu īpaši elements, mēs 33 00:01:24,210 --> 00:01:26,510 ir atkārtot visu ceļš no sākuma. 34 00:01:26,510 --> 00:01:30,610 Tāpēc paturiet prātā, ka lielākā daļa Pamatdarbības ir omega no 1. 35 00:01:30,610 --> 00:01:32,130 Tik ieliktnis ir tikai gatavojas veikt 1. 36 00:01:32,130 --> 00:01:37,520 Dzēst gatavojas veikt n kopš mēs ir iet atrast to no saraksta. 37 00:01:37,520 --> 00:01:39,260 Un meklēt varētu veikt, sliktākajā gadījumā, n. 38 00:01:39,260 --> 00:01:42,330 Mēs nevaram darīt kaut ko līdzīgu binārā meklēšanu saistītajā sarakstā 39 00:01:42,330 --> 00:01:45,101 jo mēs nevaram vienkārši nejauši pāriet uz vidu. 40 00:01:45,101 --> 00:01:45,600 Cool. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 Lielisks. 43 00:01:48,960 --> 00:01:50,270 >> Mazliet skursteņi. 44 00:01:50,270 --> 00:01:53,980 Tas atkal nāca klajā ar viktorīnu 0, lai jūs būtu super apmierināti ar to. 45 00:01:53,980 --> 00:01:57,210 Bet skursteņi, lūdzam Jūs atcerēties kaudze paplātes. 46 00:01:57,210 --> 00:01:59,940 Un tas būs pirmais, pēdējais out. 47 00:01:59,940 --> 00:02:02,272 Tāpēc mēs kaudze lietas uz augšu kaudze, un pēc tam 48 00:02:02,272 --> 00:02:04,980 ja mēs cenšamies, lai kaut ko off-- ko mēs saucam popping off 49 00:02:04,980 --> 00:02:06,581 stack-- mēs nonākam pie top. 50 00:02:06,581 --> 00:02:09,289 Un, ja mēs gribam, lai kaut ko kaudze, mēs saucam to stumšanu. 51 00:02:09,289 --> 00:02:13,170 Tātad, tas vienmēr būs aug No kā kaudze paplātes apakšā. 52 00:02:13,170 --> 00:02:14,540 Lielisks. 53 00:02:14,540 --> 00:02:17,607 >> Mēs esam redzējuši skursteņi īstenoti gan ar saistītiem sarakstiem un masīvi. 54 00:02:17,607 --> 00:02:19,440 Ja jūs īstenošanai ar masīviem, jūs vēlaties 55 00:02:19,440 --> 00:02:22,350 pārliecināties, lai sekotu gan lielums un kapacitāte. 56 00:02:22,350 --> 00:02:27,540 Tātad lielums būs pašreizējā vairākas lietas jūsu kaudze, 57 00:02:27,540 --> 00:02:32,900 tā jauda ir kopējais skaits lietas jūs varat uzglabāt jūsu kaudze. 58 00:02:32,900 --> 00:02:34,220 Cool. 59 00:02:34,220 --> 00:02:35,767 >> Ļoti līdzīgi, mums ir rindas. 60 00:02:35,767 --> 00:02:38,850 Šajā gadījumā, tā vietā, lai domātu par kaudze paplātes, domā par līniju. 61 00:02:38,850 --> 00:02:40,697 Šis būs pirmais iekšā, pirmais ārā. 62 00:02:40,697 --> 00:02:42,780 Tātad, ja jūs uzliku up kaut kas pie veikala, 63 00:02:42,780 --> 00:02:46,920 mēs ceram, ka persona vispirms līnija tiks palīdzēja vispirms. 64 00:02:46,920 --> 00:02:49,350 >> Tā vietā, lai sakot push un pop kā mēs darīt kaudze, 65 00:02:49,350 --> 00:02:52,000 mēs vienkārši sakām Enqueue un dequeue. 66 00:02:52,000 --> 00:02:54,970 Un atkal, ja jums ir Īstenojot šo ar masīvu, 67 00:02:54,970 --> 00:02:56,720 mums ir nepieciešams, lai sekotu no ne tikai izmērs 68 00:02:56,720 --> 00:03:02,390 un spējas, bet arī galva, kas būs priekšā mūsu rindā. 69 00:03:02,390 --> 00:03:03,010 Cool. 70 00:03:03,010 --> 00:03:05,770 Visus jautājumus par kādu no tā? 71 00:03:05,770 --> 00:03:06,320 Lielisks. 72 00:03:06,320 --> 00:03:07,640 Pārvietojas tiesības kopā. 73 00:03:07,640 --> 00:03:08,564 >> OK, hash tabulas. 74 00:03:08,564 --> 00:03:10,605 Lūk, kur tas sāk riktīgi interesanti. 75 00:03:10,605 --> 00:03:14,150 Tātad hash tabulu, ir viens īstenošana no asociatīvo masīvu. 76 00:03:14,150 --> 00:03:16,700 Tātad būtībā, kas noticis ir mums visu šo ieguldījumu, 77 00:03:16,700 --> 00:03:18,750 un mēs dodam to jaucējkoda funkcija, kas saka, 78 00:03:18,750 --> 00:03:21,840 OK, tas ir, ja In hash tabulu tā pieder. 79 00:03:21,840 --> 00:03:24,860 >> Tātad vienkāršākā jaucējfunkciju ka mēs esam redzējuši, ir tikai saprotams, 80 00:03:24,860 --> 00:03:28,170 Labi, pieņemsim, ka mēs vēlamies, lai virknes mūsu hash tabulu. 81 00:03:28,170 --> 00:03:30,870 Un patiešām vienkārša ideja varētu būt teikt, OK, 82 00:03:30,870 --> 00:03:34,350 pieņemsim tikai šķirot ar pirmais burts vārda. 83 00:03:34,350 --> 00:03:37,570 Tātad jūs varat redzēt šeit, mēs ņemam banānu, mēs ieliekam to caur hash funkciju, 84 00:03:37,570 --> 00:03:40,190 un tā saka, hey, ka vajadzētu iet pie indeksu 1. 85 00:03:40,190 --> 00:03:45,120 >> Tātad, mēs varam būtiski domāt par hash galds kā ķekars dažādu spaiņos. 86 00:03:45,120 --> 00:03:49,880 Un katrs no šiem spaiņi notiek turēt galvu saistītajā sarakstā. 87 00:03:49,880 --> 00:03:55,030 Un šajā saistīta sarakstā ir vieta, kur mēs varam faktiski likt dažādus gabalus datiem. 88 00:03:55,030 --> 00:03:57,820 >> Tātad diving mazliet vairāk par hash funkciju, šeit ir 89 00:03:57,820 --> 00:03:59,870 I piemērs tikko aprakstīts, kur mēs tikai teikt, 90 00:03:59,870 --> 00:04:02,460 OK, spert pirmo burtu vārda, un mēs esam 91 00:04:02,460 --> 00:04:03,990 gatavojas kārtot to spaiņiem. 92 00:04:03,990 --> 00:04:08,490 Tātad, iespējams, tur būs 26 kausi, viena katram alfabēta burtam. 93 00:04:08,490 --> 00:04:10,090 Kāpēc nav šo lieliska hash funkcija? 94 00:04:10,090 --> 00:04:13,461 Kas padara šo non-ideāli? 95 00:04:13,461 --> 00:04:13,960 Jā. 96 00:04:13,960 --> 00:04:15,790 >> Mērķauditorija: Jūs gatavojas ir sadursmes. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH Blumbergs: Jā, tieši tā. 98 00:04:16,390 --> 00:04:18,000 Jūs esat nāksies sadursmes. 99 00:04:18,000 --> 00:04:18,954 Tāpēc, ka ir viena lieta. 100 00:04:18,954 --> 00:04:21,620 Un mēs runājam par to, kā mēs varam noteikt sadursmes tikai sekundē. 101 00:04:21,620 --> 00:04:23,980 Vēl viena problēma ar šo īpaši hash funkciju 102 00:04:23,980 --> 00:04:25,980 ir tas, ka mūsu atšķirīgs spaiņi gribam būt 103 00:04:25,980 --> 00:04:28,960 no diezgan krasi dažādi izmēri. 104 00:04:28,960 --> 00:04:33,840 >> Mēs zinām, ka tur ir visai daudz vārdi, kas sākas ar A nekā X, 105 00:04:33,840 --> 00:04:38,980 tāpēc mēs esam nāksies ļoti nelīdzsvarots spaiņi mūsu hash tabulu. 106 00:04:38,980 --> 00:04:40,050 Cool. 107 00:04:40,050 --> 00:04:41,340 Tātad yeah, pieņemsim nokļūt atpakaļ punkts sadursmes. 108 00:04:41,340 --> 00:04:42,900 Ko mums darīt, ja tur ir sadursme? 109 00:04:42,900 --> 00:04:44,490 >> Mums ir pāris dažādas iespējas. 110 00:04:44,490 --> 00:04:47,600 Tik viens, tāpēc domāju, ka mēs cenšamies likt ogu mūsu hash tabulu. 111 00:04:47,600 --> 00:04:50,370 Un mēs redzam, ak, mēs gribam likt to indeksu 1, 112 00:04:50,370 --> 00:04:52,070 bet banāns jau dzīvo tur. 113 00:04:52,070 --> 00:04:53,110 Ko mēs darīsim? 114 00:04:53,110 --> 00:04:54,560 Mums ir divas galvenās iespējas. 115 00:04:54,560 --> 00:04:58,050 >> Numur viens ir, mēs varam teikt, OK, tur nav vietas šajā indeksā 1, 116 00:04:58,050 --> 00:05:03,210 bet pieņemsim tikai glabāt meklē caur kamēr mēs varam atrast vēl vienu atklātu vietu. 117 00:05:03,210 --> 00:05:08,490 Tāpēc mēs sakām, OK, pieņemsim likt to uz vietas 3. 118 00:05:08,490 --> 00:05:09,240 Tas ir viens variants. 119 00:05:09,240 --> 00:05:11,470 Ka sauc lineārs zondēšana. 120 00:05:11,470 --> 00:05:15,500 >> Un otrais variants ir saprotams, OK, labi, pieņemsim tikai padara katru no šiem spaiņi 121 00:05:15,500 --> 00:05:17,470 būt vadītāji saistītas sarakstiem. 122 00:05:17,470 --> 00:05:21,910 Un tas ir OK, ja tur ir vairāk nekā viena lieta spainī. 123 00:05:21,910 --> 00:05:23,820 Mēs esam tikai gatavojas pievieno to uz priekšu. 124 00:05:23,820 --> 00:05:26,032 Tātad, šeit jūs varat redzēt, OK, kad mēs ievietota ogu, mēs 125 00:05:26,032 --> 00:05:28,240 vienkārši ņēma banānu, sava veida uzstāja, ka vairāk nekā mazliet 126 00:05:28,240 --> 00:05:29,842 un iemeta ogu tur. 127 00:05:29,842 --> 00:05:31,050 Un tas ir arī pilnīgi naudas sodu. 128 00:05:31,050 --> 00:05:32,830 To sauc par atsevišķu ķēžu rādītāju. 129 00:05:32,830 --> 00:05:38,100 Jūs varat domāt par to kā veida, piemēram, masīvs galvas saistītajiem sarakstiem. 130 00:05:38,100 --> 00:05:41,950 Visus jautājumus par hash galdi, hash funkcijas? 131 00:05:41,950 --> 00:05:44,290 Lielisks. 132 00:05:44,290 --> 00:05:45,470 >> Koki un valstīs. 133 00:05:45,470 --> 00:05:47,287 Tātad koks ir jebkāda veida Datu struktūras 134 00:05:47,287 --> 00:05:49,453 kurā tur ir kaut kāda hierarhijas vai kaut kāda 135 00:05:49,453 --> 00:05:51,247 no ranga jūsu dažādiem objektiem. 136 00:05:51,247 --> 00:05:53,580 Un tas kļūs super skaidrs, kad mēs redzam piemēru. 137 00:05:53,580 --> 00:05:56,960 Un mēs redzējām neveiksmīgiem mēģinājumiem kopā ar hash tabulas, kas pset5-- 138 00:05:56,960 --> 00:06:00,700 kas, atkal, pilnīgi godīga spēle šo quiz-- kā cits datiem 139 00:06:00,700 --> 00:06:03,110 struktūrām, ka mēs varam uzglabāt dažādas lietas. 140 00:06:03,110 --> 00:06:06,782 Gadījumā, ja vārdnīcā, mēs uzglabāt ķekars vārdiem. 141 00:06:06,782 --> 00:06:08,240 Tātad, pieņemsim to apskatīt dažiem kokiem. 142 00:06:08,240 --> 00:06:10,190 Tātad šis ir piemērs no koka. 143 00:06:10,190 --> 00:06:13,105 Tā ir sava veida struktūru, ka hierarhiskas struktūras, 144 00:06:13,105 --> 00:06:15,920 kur jūs varat redzēt, ka šis 1 mezgls augšpusē 145 00:06:15,920 --> 00:06:20,750 ir sava veida ranga veida virs 2 un 3, kas ir virs 4, 5, un 6 un 7, 146 00:06:20,750 --> 00:06:22,860 kas ir virs 8 un 9. 147 00:06:22,860 --> 00:06:25,210 Tātad tas ir viss, ko mēs saprotam ar koks, lai jūs varat vienkārši veida 148 00:06:25,210 --> 00:06:26,660 Attēla šo jūsu galvā. 149 00:06:26,660 --> 00:06:29,050 >> Tagad mums ir pāris vairāk specializētas koki. 150 00:06:29,050 --> 00:06:31,070 Tātad viens piemērs ir binārs koks. 151 00:06:31,070 --> 00:06:33,290 Un bināro koks, atkal, tikai būs 152 00:06:33,290 --> 00:06:37,040 datu struktūra ar kādu no veida hierarhija, bet katrs no mezgliem 153 00:06:37,040 --> 00:06:38,650 var būt ne vairāk kā divi bērni. 154 00:06:38,650 --> 00:06:41,530 Tas ir, ja vārds binārais nāk no. 155 00:06:41,530 --> 00:06:43,410 Tātad šis ir piemērs bināro koku. 156 00:06:43,410 --> 00:06:45,720 Tātad tas ir mazāks kategorija kokiem. 157 00:06:45,720 --> 00:06:48,960 >> Tagad pieņemsim nokļūt vēl konkrētāks un runāt par bināru trees-- bināro meklēšanu 158 00:06:48,960 --> 00:06:51,310 koki, drīzāk. 159 00:06:51,310 --> 00:06:56,430 Tātad, šeit ideja ir tas ne tikai katrs mezgls ir ne vairāk kā divi bērni, 160 00:06:56,430 --> 00:07:00,300 bet visi bērnus kreisi gribam būt mazāks 161 00:07:00,300 --> 00:07:03,450 un visi no bērniem, kā Tiesības gribam būt lielāks. 162 00:07:03,450 --> 00:07:05,890 Tik paziņojuma tikai mūsu binārā koks, tur ir 163 00:07:05,890 --> 00:07:08,650 nē attiecības starp numuriem. 164 00:07:08,650 --> 00:07:12,990 Bet mūsu bināro meklēšanu koks, mēs redzam, OK, šeit ir 44. 165 00:07:12,990 --> 00:07:17,080 Un katrs numurs pa kreisi no 44 ir mazākas un viss pa labi 166 00:07:17,080 --> 00:07:17,920 ir lielāks. 167 00:07:17,920 --> 00:07:20,130 >> Un kas tur ik līmenis koku. 168 00:07:20,130 --> 00:07:24,810 Tātad šeit, tas ir mazāks nekā 22 un tas ir lielāks nekā 22. 169 00:07:24,810 --> 00:07:26,390 Un tas ir bināro meklēšanas koku. 170 00:07:26,390 --> 00:07:28,900 Kāpēc mēs domājam, tā sauc bināro meklēšanas koku? 171 00:07:28,900 --> 00:07:30,651 Ko algoritms tas atgādinātu jums? 172 00:07:30,651 --> 00:07:31,650 Mērķauditorija: Binary meklēšanu. 173 00:07:31,650 --> 00:07:32,480 HANNAH Blumbergs: Binary meklēšanu. 174 00:07:32,480 --> 00:07:35,150 Jo, ja jūs meklējat īpaši skaits šajā kokā, 175 00:07:35,150 --> 00:07:38,800 katrā vietā, jūs varat vienkārši klauvēt off pusi no koka, kas ir lieliski. 176 00:07:38,800 --> 00:07:43,800 Un tā tas notiek, lai dotu mums kaut ko kas izskatās daudz, piemēram, bināro meklēšanu. 177 00:07:43,800 --> 00:07:45,870 Kādi jautājumi? 178 00:07:45,870 --> 00:07:47,570 Labi, atdzesē. 179 00:07:47,570 --> 00:07:48,560 >> Labi, mēģina. 180 00:07:48,560 --> 00:07:49,657 Ikvienam ir mīļākie. 181 00:07:49,657 --> 00:07:51,990 Tātad šis ir piemērs, ka mēs esam redzējuši ķekars klasē. 182 00:07:51,990 --> 00:07:54,710 Un atkal, tas ir tikai vēl viens veids, kā mēs varam glabāt datus. 183 00:07:54,710 --> 00:07:57,530 Gadījumā, ja vārdnīcā, atkal, tas tikai būs stīgas. 184 00:07:57,530 --> 00:08:00,870 Tātad, pieņemsim redzēt, ko tas patiesībā izskatās nedaudz zemākā līmenī. 185 00:08:00,870 --> 00:08:03,690 >> Tātad, pieņemsim to apskatīt vienā mezglu TRIE. 186 00:08:03,690 --> 00:08:07,532 Un mēs redzam, OK, tur notiek būt Būla un mezglā, 187 00:08:07,532 --> 00:08:09,170 rādītāju uz mezglu. 188 00:08:09,170 --> 00:08:11,400 Un mēs redzam, ka Boolean sauc is_word. 189 00:08:11,400 --> 00:08:13,490 Tātad būtībā, tas ir gatavojas sarakstīties 190 00:08:13,490 --> 00:08:16,750 uz šiem maz trīsstūra kas saka, ja tu būsi šeit, 191 00:08:16,750 --> 00:08:19,100 esat atradis pilnu vārdu. 192 00:08:19,100 --> 00:08:23,670 >> Mēs zinām, ka "Turing" vairāk Šeit ir pilns vārds, 193 00:08:23,670 --> 00:08:28,030 tā tikai T-U-R nav vārds jo mēs neredzam, ka maz deltu. 194 00:08:28,030 --> 00:08:31,440 Un ka maz delta, atkal, atbilst šo is_word, 195 00:08:31,440 --> 00:08:34,480 šis Būla is_word. 196 00:08:34,480 --> 00:08:36,320 Un tad mums ir masīvs bērniem. 197 00:08:36,320 --> 00:08:39,860 Tātad katrā līmenī, jums ir īpaša mezglu, 198 00:08:39,860 --> 00:08:42,470 un ka mezglu punkti uz masīvs visa alfabēta. 199 00:08:42,470 --> 00:08:44,346 >> Tātad jūs varat redzēt, atkal, Šajā picture-- es esmu 200 00:08:44,346 --> 00:08:48,170 gatavojas glabāt lekt atpakaļ un forth-- ka ka masīvs augšpusē 201 00:08:48,170 --> 00:08:51,640 ir ķekars atšķirīgs mezglus nāk nost no tā. 202 00:08:51,640 --> 00:08:57,140 Tas ir 26, vai 27, ja vēlaties lai iekļautu papildu raksturs. 203 00:08:57,140 --> 00:09:01,320 Un tas dod mums veids, kā saglabāt savu datu 204 00:09:01,320 --> 00:09:04,450 tādā veidā, ka var aplūkot uz ka jūs varat meklēt super ātri. 205 00:09:04,450 --> 00:09:06,650 Kāds ir uzmeklēšanas laiks TRIE? 206 00:09:06,650 --> 00:09:07,970 >> Mērķauditorija: [nedzirdama]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH Blumbergs: Jā. 208 00:09:08,300 --> 00:09:09,550 Teorētiski, tas ir nemainīgs laiks. 209 00:09:09,550 --> 00:09:13,230 Tas tikai būs lielums vārdu, ka jūs vēlaties meklēt. 210 00:09:13,230 --> 00:09:15,950 Pat tad, ja mēs pievienot zillion vairāk vārdi mūsu TRIE, 211 00:09:15,950 --> 00:09:18,160 tas nav gatavojas veikt mums vairs noteikt 212 00:09:18,160 --> 00:09:19,690 ja dots vārds atrodas TRIE. 213 00:09:19,690 --> 00:09:21,412 Tātad tas ir patiešām jauki. 214 00:09:21,412 --> 00:09:23,697 >> Mērķauditorija: Vai jums vienkārši inicializēt šo masīvu? 215 00:09:23,697 --> 00:09:24,780 Jūs neatbildējāt uz jautājumu, vai divas. 216 00:09:24,780 --> 00:09:26,130 Vai jūs vienkārši runāt par ka uz otru? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH Blumbergs: Protams, absolūti. 218 00:09:26,680 --> 00:09:27,590 Labs jautājums. 219 00:09:27,590 --> 00:09:31,140 Jautājums bija, mēs ir masīvs, kas ir 220 00:09:31,140 --> 00:09:34,180 nāksies mezglu zvaigzne kā nevis tikai mezglu, vai ne? 221 00:09:34,180 --> 00:09:35,180 Cool. 222 00:09:35,180 --> 00:09:37,990 Tātad, šeit to, ko mēs esam sakot ir mūsu masīvs ir tikai 223 00:09:37,990 --> 00:09:40,035 būs norādes uz citiem blokiem. 224 00:09:40,035 --> 00:09:42,910 Tātad, tas ir essentially-- to veida jūtas kā saistīts sarakstā šādā veidā 225 00:09:42,910 --> 00:09:46,620 kur katrs no šiem bērniem tikai norāda uz nākamo mezglu. 226 00:09:46,620 --> 00:09:49,030 >> Un tā, ka mēs faktiski nosaka, hey, OK, 227 00:09:49,030 --> 00:09:52,320 mēs esam atkārtoja cauri visai vārds, tas ir vārds vārdnīcā, 228 00:09:52,320 --> 00:09:54,476 mēs vienkārši pārbaudīt šo is_word. 229 00:09:54,476 --> 00:09:55,100 Liels jautājums. 230 00:09:55,100 --> 00:09:55,675 Jā. 231 00:09:55,675 --> 00:09:56,216 Mērķauditorija: OK. 232 00:09:56,216 --> 00:09:57,470 Tātad, kas bija runtime par TRIE? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH Blumbergs: Protams. 234 00:09:58,386 --> 00:10:01,852 Tātad Runtime par TRIE par Meklēt būs nemainīga laiks. 235 00:10:01,852 --> 00:10:04,310 Tātad tas ir tikai gatavojas būt skaits burtu vārda. 236 00:10:04,310 --> 00:10:06,310 Tas nav atkarīgs no izmērs no vārdnīcā 237 00:10:06,310 --> 00:10:09,510 vai lielums datu struktūru. 238 00:10:09,510 --> 00:10:12,170 Tātad, šeit ir nedaudz vienkāršāka piemērs. 239 00:10:12,170 --> 00:10:15,430 >> Šajā gadījumā, jūs varat redzēt, ka vārds nūja ir vārdnīcā 240 00:10:15,430 --> 00:10:18,900 un jums ir zoom, bet tu nav kaut kas līdzīgs zoodārzā. 241 00:10:18,900 --> 00:10:20,050 Kā mēs zoo? 242 00:10:20,050 --> 00:10:24,276 Kā mēs pievienot zoo uz mūsu vārdnīcu, mūsu TRIE? 243 00:10:24,276 --> 00:10:24,776 Jā. 244 00:10:24,776 --> 00:10:27,014 >> Mērķauditorija: Marka is_word taisnība par [nedzirdama]. 245 00:10:27,014 --> 00:10:27,930 HANNAH Blumbergs: Labi. 246 00:10:27,930 --> 00:10:31,731 Tātad mēs teiktu Z-O-O, un tad mēs gribētu vēlaties pārbaudīt off šo lodziņu, kā arī. 247 00:10:31,731 --> 00:10:32,230 Liels. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 Pieņemsim salīdzināt ļoti īsi mēģina pret hash tabulas. 250 00:10:37,930 --> 00:10:39,770 Mēģina ir tiešām liels jo, kā mēs teicām, 251 00:10:39,770 --> 00:10:41,610 tie nodrošina nemainīgu laika lookup. 252 00:10:41,610 --> 00:10:44,285 Bet milzīgs trūkums ir viņi humongous. 253 00:10:44,285 --> 00:10:46,160 Jūs varat iegūt sajūtu, pat skatoties uz to, 254 00:10:46,160 --> 00:10:48,454 ka tas notiek, lai milzīgs daudzums atmiņas. 255 00:10:48,454 --> 00:10:50,620 Tāpēc viņi būs daudz lielāks nekā hash tabulas, 256 00:10:50,620 --> 00:10:52,270 bet viņi gatavojas sniegt mums daudz ātrāk lookup reizes. 257 00:10:52,270 --> 00:10:54,478 Tātad tas ir sava veida jūsu Tradeoff, ko jums rūp, 258 00:10:54,478 --> 00:10:57,350 vai tas ir ātrums vai atmiņas. 259 00:10:57,350 --> 00:11:02,251 Visus jautājumus par jebkuru, kas, visi no C datu struktūras. 260 00:11:02,251 --> 00:11:02,750 Skaisti. 261 00:11:02,750 --> 00:11:03,250 LABI. 262 00:11:03,250 --> 00:11:07,322 Mēs ejam, lai pārietu uz nedaudz mazliet interneta attīstību ar Maria. 263 00:11:07,322 --> 00:11:08,280 MARIA ZLATKOVA: Lovely. 264 00:11:08,280 --> 00:11:09,036 LABI. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH Blumbergs: Jūs varat izmantot savu klēpjdatoru. 266 00:11:10,380 --> 00:11:11,255 >> MARIA ZLATKOVA: Nice. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 OK, atdzesē. 269 00:11:14,912 --> 00:11:17,120 Kā mēs tagad pāriet uz web attīstība, mēs runājām maz 270 00:11:17,120 --> 00:11:20,680 par mainīgajām atļaujām failus un direktorijas 271 00:11:20,680 --> 00:11:24,190 tā, ka tie var būt pieejami uz citiem lietotājiem, pie pasaulē, 272 00:11:24,190 --> 00:11:28,640 un lai mēs varētu redzēt, kā Būtībā mēs varam nodot tos 273 00:11:28,640 --> 00:11:32,600 kad mēs attīstīt lietas, piemēram, tīmekļa vietnēm ka mēs esam galvenokārt darot. 274 00:11:32,600 --> 00:11:36,400 >> Tātad mēs redzējām chmod komandu, kas ir pārmaiņas režīmā, būtībā. 275 00:11:36,400 --> 00:11:39,300 Tas ir Linux komandu un tas maina piekļuves atļaujas 276 00:11:39,300 --> 00:11:40,410 failu sistēmas objektu. 277 00:11:40,410 --> 00:11:43,370 Un failu sistēma objekts tikai direktoriju, fails, 278 00:11:43,370 --> 00:11:46,810 kaut kas jūs varat mainīt atļaujas. 279 00:11:46,810 --> 00:11:53,750 >> Tātad, lai redzētu failu atļaujas, mēs ierakstiet komandu ls, saraksts, -L. 280 00:11:53,750 --> 00:11:56,500 Un, kad mēs rakstīt, ka mēs parasti redzēt dažas atļaujas 281 00:11:56,500 --> 00:11:59,660 kas izskatās veida, piemēram, šis priekšā direktorija nosaukumu. 282 00:11:59,660 --> 00:12:01,260 Tātad d attiecas uz direktoriju. 283 00:12:01,260 --> 00:12:05,930 Un tad mums ir trīs triādes ka būtībā 284 00:12:05,930 --> 00:12:11,675 attiecas uz atļauju, vai nu lietotājs, grupa, vai pasaule. 285 00:12:11,675 --> 00:12:16,490 >> Par atļauju veidi, ka mēs varam ir par šīm trim grupām 286 00:12:16,490 --> 00:12:20,830 ir vai nu R lasīt, W rakstīt, un X izpildīt. 287 00:12:20,830 --> 00:12:23,650 Un mēs varam būt tie, grupa un pasaulē, kā arī. 288 00:12:23,650 --> 00:12:26,940 Grūts ir tas, ka dažreiz kad mēs ierakstiet chmod komandu, 289 00:12:26,940 --> 00:12:32,960 mēs varētu rakstīt kādu numuru kas sastāvēja no trim bitiem. 290 00:12:32,960 --> 00:12:36,990 Tātad mēs varētu darīt, piemēram, 777 un kas būtībā 291 00:12:36,990 --> 00:12:40,450 atsaucās uz pievienoto vērtību katrs no šiem triads 292 00:12:40,450 --> 00:12:45,060 jo r norāda uz 4, w būtu attiecas uz 2, un x norāda uz 1, 293 00:12:45,060 --> 00:12:50,020 tad, kad saskaita, katrs no numuriem nāks uz leju, lai kumulatīvais skaits 294 00:12:50,020 --> 00:12:52,750 kumulatīvo vērtību no 0 līdz 7. 295 00:12:52,750 --> 00:12:55,150 Tāpēc mēs varētu arī būt 0 ne atļaujas vispār. 296 00:12:55,150 --> 00:12:58,200 Un tas būtībā dot mums atļaujas vai nu lietotāju, 297 00:12:58,200 --> 00:13:00,450 grupa, vai pasaule. 298 00:13:00,450 --> 00:13:02,620 Visus jautājumus par šo līdz šim? 299 00:13:02,620 --> 00:13:05,331 >> Mērķauditorija: Jūs teicāt, lasīt bija 4? 300 00:13:05,331 --> 00:13:06,164 MARIA ZLATKOVA: Jā. 301 00:13:06,164 --> 00:13:07,568 Mērķauditorija: [nedzirdama]. 302 00:13:07,568 --> 00:13:08,504 HANNAH Blumbergs: Yup. 303 00:13:08,504 --> 00:13:11,790 Mērķauditorija: Un tad, pievienojot visus tos citi varētu norādīt savu numuru. 304 00:13:11,790 --> 00:13:12,665 MARIA ZLATKOVA: Jā. 305 00:13:12,665 --> 00:13:14,970 Jā. 306 00:13:14,970 --> 00:13:17,810 Tie ir liels jautājumi. 307 00:13:17,810 --> 00:13:20,490 Lovely. 308 00:13:20,490 --> 00:13:25,340 Tālāk, mēs ielēca HTML un a mazliet vairāk par interneta attīstību. 309 00:13:25,340 --> 00:13:27,990 Tik HTML tikai nozīmē Hiperteksta iezīmēšanas valoda. 310 00:13:27,990 --> 00:13:30,460 Un tas ir atzīmes valoda, kas ir standarta 311 00:13:30,460 --> 00:13:32,720 ka tas ir izmantots, lai izveidotu interneta lapas. 312 00:13:32,720 --> 00:13:35,750 >> To sauc par iezīmēšanas valoda jo tas nav reāli apkopota. 313 00:13:35,750 --> 00:13:40,310 Tas nav teikt, kā daži kods būtu izpildīts vai kaut kas tamlīdzīgs. 314 00:13:40,310 --> 00:13:44,800 Tā vienkārši iezīmē un apraksta, kā tīmekļa 315 00:13:44,800 --> 00:13:46,840 lapa būtu jāizveido ar katru no tās elementiem 316 00:13:46,840 --> 00:13:48,460 un kā tie būtu jāizskatās lietotājam. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> Daži no HTML tagiem, ka mēs piegāja ir šādi. 319 00:13:57,110 --> 00:14:00,500 Visi mūsu HTML dokumentu sākās ar DOCTYPE html. 320 00:14:00,500 --> 00:14:02,550 Tad mums vienmēr ir html tag. 321 00:14:02,550 --> 00:14:03,930 Mums ir galvu un ķermeni. 322 00:14:03,930 --> 00:14:07,890 Un tas ir svarīgi, ka HTML ir šāda veida ligzdotu struktūras 323 00:14:07,890 --> 00:14:09,280 jo tas ir ļoti skaidrs. 324 00:14:09,280 --> 00:14:13,200 Un tad tas kļūst ļoti skaidrs, kad mēs nepieciešams atvērt un faktiski tuvu tagus. 325 00:14:13,200 --> 00:14:18,400 Un mēs vienmēr vajag, lai aizvērtu tags, ka mēs esam atvērti. 326 00:14:18,400 --> 00:14:23,170 >> Un šeit mums ir daži no veidiem lietas uz priekšu, ka mēs vēlamies būt. 327 00:14:23,170 --> 00:14:26,580 Tātad, mēs ir, piemēram, nosaukums CS50. 328 00:14:26,580 --> 00:14:31,980 Un tad mēs faktiski var saistīt ar stilu lapu 329 00:14:31,980 --> 00:14:34,030 kas nosaka to, kā mēs stils mūsu mājas lapā. 330 00:14:34,030 --> 00:14:35,650 Tas ir CSS. 331 00:14:35,650 --> 00:14:39,320 Mēs ejam, lai iet pa to Nākamais pāris slaidiem, kā arī. 332 00:14:39,320 --> 00:14:42,580 >> Organismā, mēs noteikti dažas nodarbības un ID. 333 00:14:42,580 --> 00:14:45,860 Un kā atgādinājums, atkal, ID ir unikāls un nodarbības 334 00:14:45,860 --> 00:14:47,390 var piešķirt vairākiem posteņiem. 335 00:14:47,390 --> 00:14:52,110 Un tas tikai nozīmē, ka mēs varam izmantot klasēm un ID 336 00:14:52,110 --> 00:14:55,860 citās structures-- jā, Piemēram, laikā CSS failu vai stils 337 00:14:55,860 --> 00:15:00,940 sheets-- atsaukties uz īpašiem elementiem un būtībā saka, ka mēs vēlamies, lai stils 338 00:15:00,940 --> 00:15:03,280 vai izstrādāt kādu elementu kādā noteiktā veidā. 339 00:15:03,280 --> 00:15:06,440 Un mēs atsaucamies uz tiem to ID un klasēs. 340 00:15:06,440 --> 00:15:09,870 Un mēs varam arī atsaukties uz dažādas lietas ar tagiem, kā arī, 341 00:15:09,870 --> 00:15:13,830 bet ID un klases tikai dod mums daži daudzpusība un ko konkrēti mēs 342 00:15:13,830 --> 00:15:15,850 vēlas atsaukties uz. 343 00:15:15,850 --> 00:15:19,620 >> Tātad tikai piemērs. 344 00:15:19,620 --> 00:15:22,730 Mēs varam, atkal, laikā CSS fails, kurā mēs 345 00:15:22,730 --> 00:15:25,770 vēlaties, lai noteiktu dažus style-- tik krāsas, fontus, 346 00:15:25,770 --> 00:15:30,340 un sīkumi, piemēram that-- mēs varam definēt stilu ķermeņa. 347 00:15:30,340 --> 00:15:32,640 Tā, ka varētu noteikt to par visa ķermeņa tag. 348 00:15:32,640 --> 00:15:36,160 Bet tad mēs varam arī definēt stils par #title. 349 00:15:36,160 --> 00:15:40,390 Un atkal, hashtag atsaucas uz mūsu ID un dot attiecas uz mūsu klasi. 350 00:15:40,390 --> 00:15:44,760 >> Un tad par info, mēs var arī noteikt dažus atribūtus. 351 00:15:44,760 --> 00:15:49,750 Un atkal, kad mēs ejam atpakaļ, mums bija mūsu klases sauc info un mūsu ID nosaukums. 352 00:15:49,750 --> 00:15:53,422 Un mēs redzam, ka mēs atsaucamies ko viņiem #title un Info. 353 00:15:53,422 --> 00:15:55,380 Mērķauditorija: Vai jūs teiktu, hashtag [? pieņem mani? ?] 354 00:15:55,380 --> 00:15:55,725 MARIA ZLATKOVA: Sorry? 355 00:15:55,725 --> 00:15:58,120 Mērķauditorija: Vai jūs teiktu, hashtag [? pieņem mani? ?] 356 00:15:58,120 --> 00:16:01,400 MARIA ZLATKOVA: hashtag nozīmē ID, tāpēc #title 357 00:16:01,400 --> 00:16:07,890 atsaucas uz kāda elementiem ir šo ID sauc virsraksts. 358 00:16:07,890 --> 00:16:10,735 Un pēc tam tā kā punkts attiecas uz klasi. 359 00:16:10,735 --> 00:16:14,590 Tātad Info attiecas uz šo elementu jo tā ir klases info. 360 00:16:14,590 --> 00:16:15,090 Jā. 361 00:16:15,090 --> 00:16:17,905 >> Mērķauditorija: Kāpēc jūs atšķirt tos HTML? 362 00:16:17,905 --> 00:16:20,985 Kāpēc jūs sakāt, dažas lietas ir ID un dažas lietas ir klase? 363 00:16:20,985 --> 00:16:22,610 MARIA ZLATKOVA: Tas ir tikai līdz you-- 364 00:16:22,610 --> 00:16:24,151 HANNAH Blumbergs: Atkārtojiet šo jautājumu. 365 00:16:24,151 --> 00:16:25,370 MARIA ZLATKOVA: Ak, piedodiet. 366 00:16:25,370 --> 00:16:29,480 Kāpēc mēs atšķirt atsevišķus elementus kā ID un citus elementus, klasēs? 367 00:16:29,480 --> 00:16:34,760 Tas ir tikai tāpēc, ka tas ir tiešām bieži dizaina izvēle. 368 00:16:34,760 --> 00:16:38,520 Tas dod jums daudz daudzpusība, jo ar to 369 00:16:38,520 --> 00:16:43,250 varētu teikt es vēlos šo konkrēto posteni lai šo ID, jo viņi vēlas 370 00:16:43,250 --> 00:16:45,300 darīt daudzas lietas ar to, un es tikai 371 00:16:45,300 --> 00:16:50,010 vēlaties, lai noteiktu stilu, skaidrs stils vai krāsu kāds šim postenim. 372 00:16:50,010 --> 00:16:52,630 Un veids, kā to darīt, ir tikai piešķirot tai ID. 373 00:16:52,630 --> 00:16:55,060 >> Un tad, ja es gribu būt pāris dažādu priekšmetu 374 00:16:55,060 --> 00:16:58,940 ņemot ka, tā vietā, lai iet un nosakot their-- 375 00:16:58,940 --> 00:17:03,840 tā vietā, darot to, ko tag jo tag būtu 376 00:17:03,840 --> 00:17:07,369 noteikt šūnu visai tag par katru reizi tiek izmantots ka tag, 377 00:17:07,369 --> 00:17:09,740 jūs varat iestatīt klasi vairākiem posteņiem. 378 00:17:09,740 --> 00:17:15,109 Un tad tikai piekļūt šo klasi un teikt Es gribu, lai stils šajā klasē, ka veidā. 379 00:17:15,109 --> 00:17:17,579 >> Un atkal, klases var būt vairāki dažādi priekšmeti 380 00:17:17,579 --> 00:17:21,150 un ID ir unikāls. 381 00:17:21,150 --> 00:17:21,849 Great jautājumi. 382 00:17:21,849 --> 00:17:25,339 Jebkuri citi jautājumi? 383 00:17:25,339 --> 00:17:26,220 OK, awesome. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Atkal, tas ir, kā šie selektori ir atsauce CSS, ar hashtag, 386 00:17:35,330 --> 00:17:40,031 ar punktu, vai bez kaut par piešķirot stilu kādu frāzi, 387 00:17:40,031 --> 00:17:40,530 tāpat organismā. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 Un šeit mums ir vispārējā sintaksi, kā tas tiek darīts. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> Atkārtot daži labākais prakse HTML un CSS, 392 00:17:55,680 --> 00:17:59,170 mums ir nepieciešams, atkal, aizvērt visus HTML tagus, ka mēs atveram. 393 00:17:59,170 --> 00:18:03,950 Un ko mēs jūs ieteica darīt, lai jūsu gala projektiem, 394 00:18:03,950 --> 00:18:10,560 kā arī par CS50 Finanšu, ir veikt pārliecināts, ka visas jūsu HTML apstiprina. 395 00:18:10,560 --> 00:18:12,920 Un tas ir darīts ar W3 validators. 396 00:18:12,920 --> 00:18:16,940 >> Un tad mēs to izdarījām un tas, ko mēs iesakām darām 397 00:18:16,940 --> 00:18:19,790 tiek atdalot stils, tāpēc CSS no iezīmēšanas HTML. 398 00:18:19,790 --> 00:18:24,210 Tātad viss, kas attiecas uz to, kā jūsu lapa gatavojas vizuāli izskatās 399 00:18:24,210 --> 00:18:27,330 un kā tas notiek, lai jāpārveido vajadzētu iedziļināties CSS dokumentā. 400 00:18:27,330 --> 00:18:33,880 Un tad jūsu iezīmēšanas pasakot, kā lietas ir attiecībā viena pret otru ir HTML, 401 00:18:33,880 --> 00:18:37,550 un ka vajadzētu iet iekšā Jūsu HTML dokumentu. 402 00:18:37,550 --> 00:18:38,590 Kādi jautājumi? 403 00:18:38,590 --> 00:18:39,226 Mhm. 404 00:18:39,226 --> 00:18:42,628 >> Mērķauditorija: Kas tieši notiek par ar lapu validāciju 405 00:18:42,628 --> 00:18:47,945 kad mēs esam apstiprināšanu HTML, ka [dzirdams] izveidots? 406 00:18:47,945 --> 00:18:49,850 >> MARIA ZLATKOVA: Tātad what-- domāju jums. 407 00:18:49,850 --> 00:18:53,020 Tātad, kas īsti notiek par ar lapu validāciju 408 00:18:53,020 --> 00:18:55,570 un kāpēc mums vajag to darīt? 409 00:18:55,570 --> 00:18:59,180 Būtībā, mums ir nepieciešams, lai to izdarītu jo daudz reižu, jūsu pārlūkprogrammā, 410 00:18:59,180 --> 00:19:01,390 ja jums nav aizvērt tagu vai kaut kas tamlīdzīgs, 411 00:19:01,390 --> 00:19:05,680 Jūsu pārlūkā ir vēl gatavojas padarīt lapu un, iespējams, joprojām strādā, 412 00:19:05,680 --> 00:19:10,840 bet tas ir labākā prakse, lai pārliecinātos, ka jūs esat, atkal slēgtas visas atslēgvārdus, 413 00:19:10,840 --> 00:19:13,190 ka visi jūsu elementi ir tā, ka tie būtu, 414 00:19:13,190 --> 00:19:18,470 un būtībā, ka tas ir ar konvencijas, kas ir kopa. 415 00:19:18,470 --> 00:19:21,970 >> Tas ir, atkal, tikai lieta, ka jums vajadzētu 416 00:19:21,970 --> 00:19:24,040 var mācīties darīt, pretstatā ar 417 00:19:24,040 --> 00:19:25,696 sloppier kodu un sīkumi, piemēram, ka. 418 00:19:25,696 --> 00:19:26,688 Jā. 419 00:19:26,688 --> 00:19:27,680 Ak, piedod. 420 00:19:27,680 --> 00:19:29,221 Es domāju, ka tu paaugstināt savu roku. 421 00:19:29,221 --> 00:19:31,240 Mērķauditorija: Nē, es biju tikko [nedzirdama]. 422 00:19:31,240 --> 00:19:33,800 >> MARIA ZLATKOVA: OK. 423 00:19:33,800 --> 00:19:34,640 >> Mērķauditorija: Paldies. 424 00:19:34,640 --> 00:19:36,181 >> MARIA ZLATKOVA: Protams, paldies. 425 00:19:36,181 --> 00:19:41,680 Tātad vēlreiz, notiek par to, kā informācija tiek nodota 426 00:19:41,680 --> 00:19:44,630 un komunikācijas modeļi nodot informāciju. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP vienkārši nozīmē pārraides Control Protocol un IP 429 00:19:48,600 --> 00:19:51,260 atsaucas uz interneta protokolu. 430 00:19:51,260 --> 00:19:54,275 Un tas tikai norāda uz veids dati tiek piegādāts. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Ja mums ir daži dati, kas ir piegādāti you-- tik 433 00:20:02,710 --> 00:20:06,770 jūs veicat pieprasījumu noteiktā serverī. 434 00:20:06,770 --> 00:20:09,800 Piemēram, kad mēs mēģināt piekļūt cs50.net, 435 00:20:09,800 --> 00:20:12,420 mēs iesniegt pieprasījumu CS50 serveri un mēs 436 00:20:12,420 --> 00:20:14,720 redz, ka mēs vēlamies, lai iegūtu šāda veida informāciju. 437 00:20:14,720 --> 00:20:19,294 Un pēc tam, pamatojoties uz šo protokolu par to, kā šī informācija tiek sniegts, 438 00:20:19,294 --> 00:20:21,460 serveris sniedz informāciju atpakaļ pie mums, klients. 439 00:20:21,460 --> 00:20:25,590 Un tad mēs esam spējīgi, lai skatītos informācija par lapas 440 00:20:25,590 --> 00:20:26,390 un tad to izmantot. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Tātad Hiperteksta pārsūtīšanas protokols ir tikai vēl viens protokols vai iestatīt 443 00:20:33,050 --> 00:20:37,470 konvenciju, kas nosaka, kā interneta pārlūks un tīmekļa servera 444 00:20:37,470 --> 00:20:38,890 vajadzētu sazināties. 445 00:20:38,890 --> 00:20:43,730 Un liekot tas viss kopā, HTTP, atkal, 446 00:20:43,730 --> 00:20:50,960 tieši definē kā šī hiperteksta definēts ar HTML, ka mēs esam strādājuši tā, 447 00:20:50,960 --> 00:20:59,500 kā tas būtu piegādāts jums un cik, ka dati, kas tiek piegādāts jums 448 00:20:59,500 --> 00:21:00,540 izpaužas jums. 449 00:21:00,540 --> 00:21:05,990 >> Un tāpēc, ja jūs guys atcerēties no klases, mums bija daudz pieprasījumu 450 00:21:05,990 --> 00:21:08,970 un mums bija daudz sintakses Šo pieprasījumu, ka mēs esam 451 00:21:08,970 --> 00:21:10,250 kas iet pāri tieši tagad. 452 00:21:10,250 --> 00:21:13,270 Tātad atkal, kad mēs sūtīt lūgumu uz serveri, 453 00:21:13,270 --> 00:21:15,920 mums ir jādefinē pāris lietas. 454 00:21:15,920 --> 00:21:18,520 Tāpēc mums ir nepieciešams, lai atrastu veidu Lūguma ka mēs esam iestatījumu. 455 00:21:18,520 --> 00:21:22,180 Un atkal, mums ir, piemēram, GET ir viena veida metodi 456 00:21:22,180 --> 00:21:25,290 ka mums ir mūsu lūgumu. 457 00:21:25,290 --> 00:21:31,710 >> Un tad HTTP / 1.1 ir tikai protokols, kas mēs esam, izmantojot pašlaik. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 Lielāko daļu laika, kas notiek, ar protokolu, ko izmantojam. 460 00:21:36,890 --> 00:21:40,290 Tātad, ja jums ir jautājums piemēram, ka uz jūsu viktorīnā. 461 00:21:40,290 --> 00:21:43,120 Tas ir konvencijas ka mums ir tik tālu. 462 00:21:43,120 --> 00:21:46,580 >> Slīpsvītru norāda, kāda veida no lietām, ko mēs esam pieprasa. 463 00:21:46,580 --> 00:21:52,810 Pēc tam, mūsu mītnes ir, piemēram, jo ​​šī gadījumā, mēs cenšamies, lai dotos uz google.com. 464 00:21:52,810 --> 00:21:57,070 Tātad šis ir vērtība uzņēmēja. 465 00:21:57,070 --> 00:21:59,330 Tas ir veids pieprasījuma kas varētu tikt nosūtīts. 466 00:21:59,330 --> 00:22:02,890 >> Un tad veida reakciju, kas varētu jāsūta, atkal, pamatojoties uz šo protokolu, 467 00:22:02,890 --> 00:22:05,190 atkal, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Tātad tas ir HTTP versija vēlreiz. 469 00:22:07,150 --> 00:22:09,730 200 OK ir tikai statusa kodu. 470 00:22:09,730 --> 00:22:12,860 Un tas OK ir tikai frāze balstoties uz šo statusa kodu. 471 00:22:12,860 --> 00:22:15,520 >> Un tad Content-Type attiecas uz tipa 472 00:22:15,520 --> 00:22:20,295 kas tiek atgriezta jums, ka ir par šo mājas lapu, jūs saņemat 473 00:22:20,295 --> 00:22:22,570 un ka jūsu pārlūkprogrammā var padarīt pēc tam. 474 00:22:22,570 --> 00:22:24,401 Un tas ir text / html. 475 00:22:24,401 --> 00:22:26,660 >> Mērķauditorija: Ko 1.1 nozīmē? 476 00:22:26,660 --> 00:22:29,910 >> MARIA ZLATKOVA: Tas ir tikai versija of-- oh, ko tas nozīmē 1,1? 477 00:22:29,910 --> 00:22:37,075 Tas ir tikai versija, HTTP versija protokols, ko izmantojam. 478 00:22:37,075 --> 00:22:37,700 Liels jautājums. 479 00:22:37,700 --> 00:22:38,366 Citi jautājumi? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> Mērķauditorija: Vai jūs varētu Rezumējot Content-Type nekustamo ātri? 482 00:22:45,080 --> 00:22:48,150 >> MARIA ZLATKOVA: Tāpēc, ka ir kāds serveris. 483 00:22:48,150 --> 00:22:51,020 veids information-- to, kas ir Satura tips bija jautājumi. 484 00:22:51,020 --> 00:22:53,400 Tā, ka bija Tipa informācija, ka jūs saņemsiet atpakaļ 485 00:22:53,400 --> 00:22:58,200 no servera, tipa dati, ka pārlūks var tad 486 00:22:58,200 --> 00:23:00,604 padarīt ka ​​jūs izmantojat. 487 00:23:00,604 --> 00:23:03,020 Mērķauditorija: Vai tas, ko šis protokols ir stāsta jums to darīt? 488 00:23:03,020 --> 00:23:03,390 MARIA ZLATKOVA: Sorry? 489 00:23:03,390 --> 00:23:05,380 Mērķauditorija: Vai tas ko protokols teikt? 490 00:23:05,380 --> 00:23:05,915 MARIA ZLATKOVA: The protocol-- 491 00:23:05,915 --> 00:23:07,940 Mērķauditorija: --what Content-Type ir vai what-- 492 00:23:07,940 --> 00:23:12,040 MARIA ZLATKOVA: Protokola pamatā on-- kāds ir protokols stāsta jums? 493 00:23:12,040 --> 00:23:16,070 Tas ir tikai veids, kā ka šī informācija 494 00:23:16,070 --> 00:23:18,610 tika piegādāts jums, balstoties par kāda veida protokols 495 00:23:18,610 --> 00:23:21,830 Vai šī informācija bija ieguvuši piegādāts atpakaļ uz jums. 496 00:23:21,830 --> 00:23:23,500 Vai tas jēgas veida? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH Blumbergs: You var domāt par protokola 499 00:23:30,070 --> 00:23:33,300 kā a-- es domāju, profesors Malan to raksturoja 500 00:23:33,300 --> 00:23:36,910 klasē, kā veids kā a-- tas ir tāpat kā ekvivalents cilvēka handshaking. 501 00:23:36,910 --> 00:23:44,930 Teiksim, piemēram, hey, es esmu pieprasījums un es zina, kā rīkoties HTTP par versiju 1.1. 502 00:23:44,930 --> 00:23:48,770 Un tad serveris saka: oh, OK, I-- un abi pastāv. 503 00:23:48,770 --> 00:23:51,337 Es arī zinu, kā rīkoties ar HTTP / 1.1. 504 00:23:51,337 --> 00:23:53,170 Un es esmu gatavojas sniegt jūs atpakaļ kādu saturu. 505 00:23:53,170 --> 00:23:56,230 Šajā gadījumā tas notiek būt tipa text / html. 506 00:23:56,230 --> 00:23:58,480 Tātad, tas ir sava veida tikai veids no tām communicating-- 507 00:23:58,480 --> 00:24:00,480 >> MARIA ZLATKOVA: Tas ir tikai apstiprinot, ka tu esi 508 00:24:00,480 --> 00:24:03,290 gan pēc to pašu protokols un ka gan 509 00:24:03,290 --> 00:24:06,620 klients un tā server-- Jūsu pārlūkprogramma un server-- 510 00:24:06,620 --> 00:24:09,280 kārtot zināt, ko tu esi runā, un ir 511 00:24:09,280 --> 00:24:12,557 Konvencija par iet datos. 512 00:24:12,557 --> 00:24:17,022 >> Mērķauditorija: Tātad Content-Type part-- Saturs-Type text / html-- tas 513 00:24:17,022 --> 00:24:18,521 atsevišķa daļa no tā paša ziņojuma? 514 00:24:18,521 --> 00:24:20,509 Vai tas ir daļa no, teiksim, 200? 515 00:24:20,509 --> 00:24:22,010 Vai 200 viņiem saku, ka vai is-- 516 00:24:22,010 --> 00:24:23,770 >> MARIA ZLATKOVA: 200 saka, ka tas viss gāja OK. 517 00:24:23,770 --> 00:24:27,900 Un tad satura tips ir sava veida atsevišķa daļa no tā paša ziņojuma, 518 00:24:27,900 --> 00:24:34,274 un sakot lieta, ka es Atgriezās ir šāda veida text / html. 519 00:24:34,274 --> 00:24:35,690 Tas ir tikai sniedzot vairāk informācijas. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Vai kaut ko piebilst? 522 00:24:39,995 --> 00:24:40,495 LABI. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Jebkuri citi jautājumi par šo? 525 00:24:46,530 --> 00:24:48,370 Lielisks. 526 00:24:48,370 --> 00:24:54,070 Tāpēc daži citi HTTP statusi, ka mēs varētu saņemt papildus 200 OK, 527 00:24:54,070 --> 00:24:59,500 tie, kas mēs esam redzējuši varbūt iespējams, daudz ir 403 un 404. 528 00:24:59,500 --> 00:25:05,190 Tātad 404, ja jūs mēģināt Pieeja kaut kas neeksistē. 529 00:25:05,190 --> 00:25:10,460 Tā, piemēram, ar savu CS50 Finance psets, 530 00:25:10,460 --> 00:25:15,640 ja jūs būtu padarīt quote.html un jums nav šo failu, 531 00:25:15,640 --> 00:25:19,740 bet tā vietā jums bija quote.php, ka novestu pie 404 Not Found 532 00:25:19,740 --> 00:25:21,600 jo fails, iespējams, nepastāv. 533 00:25:21,600 --> 00:25:25,690 >> Par 403 aizliegts, ka attiecas uz atļaujas. 534 00:25:25,690 --> 00:25:31,150 Tātad, ja kāds fails nav lasāms ar pasaule, jūs varētu saņemt 403 atgriezās. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Daži citi, kas jums varētu get-- 301, pastāvīgi pārvietotajiem; 537 00:25:37,810 --> 00:25:41,300 302, Atrasts; 304, modificēta; 400, Bad pieprasījums; 538 00:25:41,300 --> 00:25:47,330 un tad Internal Server kļūda 500 un 503, Pakalpojums nav pieejams. 539 00:25:47,330 --> 00:25:48,140 Jā. 540 00:25:48,140 --> 00:25:51,490 >> Mērķauditorija: mēs sagaidāms iegaumēt visus šos statusus? 541 00:25:51,490 --> 00:25:53,739 MARIA ZLATKOVA: man būtu tos uz jūsu apkrāptu lapas. 542 00:25:53,739 --> 00:25:55,146 [Smiekli] 543 00:25:55,146 --> 00:25:59,954 Mērķauditorija: Vai mēs sagaidāms zināt, ko izraisa katrs? 544 00:25:59,954 --> 00:26:00,995 MARIA ZLATKOVA: Vai tie ir? 545 00:26:00,995 --> 00:26:03,870 HANNAH Blumbergs: Par tiem, kas mēs esam palaist into-- Tātad jautājums was-- 546 00:26:03,870 --> 00:26:08,010 MARIA ZLATKOVA: Vai viņi sagaidāms zinu, ko katrs no šiem statusa 547 00:26:08,010 --> 00:26:09,330 kodi varētu izraisīja? 548 00:26:09,330 --> 00:26:13,240 Tātad tiem, kas mēs esam, ko izmanto un uzbrauca, es teiktu, jā. 549 00:26:13,240 --> 00:26:16,610 Tāpēc mēs esam noteikti redzējuši 200 OK un lekcijas to psets. 550 00:26:16,610 --> 00:26:19,071 Mēs esam redzējuši 403, 404. 551 00:26:19,071 --> 00:26:20,550 Attiecībā uz citiem uzņēmumiem? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH Blumbergs: es būtu teikt 500 šķiet godīga spēle. 553 00:26:22,690 --> 00:26:23,330 >> MARIA ZLATKOVA: 500, jā. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH Blumbergs: Jā. 555 00:26:24,246 --> 00:26:27,006 Vienkārši ir vispārēju sajūtu par to, kas izraisa tos. 556 00:26:27,006 --> 00:26:28,880 Un arī tikai ar tiem nosaukumi, jūs varat veida 557 00:26:28,880 --> 00:26:32,890 piemēram, veikt izglītoti minējums par uz ko faktiski izraisa tos. 558 00:26:32,890 --> 00:26:36,919 Piemēram, pārvietot pastāvīgi, iespējams, fails tika pārvietots pastāvīgi. 559 00:26:36,919 --> 00:26:39,328 >> Mērķauditorija: Bet par iepriekšējo eksāmens, tur bija tik 560 00:26:39,328 --> 00:26:41,050 kā jūs sagaida, lai mēs atbildētu, ka? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH Blumbergs: Ka bija vērts nulles punkti. 562 00:26:42,883 --> 00:26:45,870 Jautājums par 418 uz tējkannu ir tehniski HTTP statusa, 563 00:26:45,870 --> 00:26:47,090 bet tas bija tā vērts nulle punkti. 564 00:26:47,090 --> 00:26:48,320 Protams, tu neesi Paredzams, ka viņiem zināt. 565 00:26:48,320 --> 00:26:49,670 >> Mērķauditorija: Vai tā ir reāla? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH Blumbergs: Tā ir īsta viens, bet tas nenozīmē neko. 567 00:26:51,970 --> 00:26:52,700 Tas ir tikai joks. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Interneta cilvēki ir smieklīgi. 570 00:26:57,010 --> 00:26:59,680 >> MARIA ZLATKOVA: Great jautājumi, puiši. 571 00:26:59,680 --> 00:27:01,452 Jebkuri citi jautājumi? 572 00:27:01,452 --> 00:27:04,891 >> Mērķauditorija: Kas ir iekšēja servera kļūda? 573 00:27:04,891 --> 00:27:06,640 MARIA ZLATKOVA: Iekšējais servera kļūda tikko 574 00:27:06,640 --> 00:27:10,050 nozīmē, ka jums ir bijis nespēj sazināties 575 00:27:10,050 --> 00:27:13,400 ar serveri kāda iemesla dēļ. 576 00:27:13,400 --> 00:27:15,400 Tātad, tas nav obligāti kaut kas ir jādara 577 00:27:15,400 --> 00:27:19,170 ar klientu vai kaut kas tamlīdzīgs. 578 00:27:19,170 --> 00:27:22,170 Es nezinu, par kādu konkrētu piemēru ka mēs esam pārgājuši paskaidrot, 579 00:27:22,170 --> 00:27:23,000 Bet jā. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH Blumbergs: Protams. 581 00:27:23,250 --> 00:27:25,625 Tā, piemēram, piemēram, pieņemsim teikt jūs strādājāt pie mashup 582 00:27:25,625 --> 00:27:30,440 un Google serveris samazinājās par dažiem Iemesls, jauda nobirums, teiksim. 583 00:27:30,440 --> 00:27:33,400 Tas būtu iekšēja servera kļūda vai kāda veida of-- patīk jums 584 00:27:33,400 --> 00:27:34,630 nevarētu saņemt atbildi atpakaļ. 585 00:27:34,630 --> 00:27:35,260 >> MARIA ZLATKOVA: Jā. 586 00:27:35,260 --> 00:27:37,050 Tas ir tikai tad, kad jūs esat nespēj sazināties 587 00:27:37,050 --> 00:27:40,299 ar serveri kādu iemesls, jo no tā iet uz leju, vai kāda cita iemesla dēļ. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Tātad lekt PHP. 590 00:27:47,690 --> 00:27:49,930 PHP, atšķirībā no HTML, ir programmēšanas valoda. 591 00:27:49,930 --> 00:27:54,820 Un mēs sākām to lietot, jo tas ir ļoti noderīgi interneta attīstību. 592 00:27:54,820 --> 00:27:56,940 >> Mēs pirmo reizi izmantots to CS50 Finance. 593 00:27:56,940 --> 00:28:02,240 Un tas būtībā palīdz mums celt kopā šis atzīmes, dizains, 594 00:28:02,240 --> 00:28:07,460 un kā mēs faktiski izmantot informāciju parādīt lietas uz mājas lapā. 595 00:28:07,460 --> 00:28:11,870 Tātad PHP pati nozīmē PHP Hypertext Preprocessor, 596 00:28:11,870 --> 00:28:15,360 tāpēc tas ir rekursīvs backnorym pats par sevi. 597 00:28:15,360 --> 00:28:22,330 Un atverot tagus PHP mēs kreisais un labo bultiņu ar jautājuma zīmes 598 00:28:22,330 --> 00:28:23,060 un php. 599 00:28:23,060 --> 00:28:25,890 >> Tāpēc mēs esam jau redzējuši ķekars tā. 600 00:28:25,890 --> 00:28:29,150 Tagad mēs esam tikai gatavojas iet pa daži no pamata lietas par to. 601 00:28:29,150 --> 00:28:32,280 Tātad ar PHP, mainīgo nosaukumi sākas ar dolāra zīmi. 602 00:28:32,280 --> 00:28:35,660 Mums nav precizēt, no jauna, mainīgs tips vairs. 603 00:28:35,660 --> 00:28:38,450 Tāpat kā mēs to darījām ar C, mums nevajag to darīt. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Mēs varam darīt ķekars atšķirīgs sīkumi ar mainīgajiem. 606 00:28:44,490 --> 00:28:47,750 Mēs varam viņus kopā ar konkatenācijas tos 607 00:28:47,750 --> 00:28:52,900 ar dot apzīmējums, kas mēs nevarētu darīt C vēlreiz. 608 00:28:52,900 --> 00:28:57,490 Atkal, mums ir mazliet vairāk daudzpusība ar PHP ziņā mainīgajiem. 609 00:28:57,490 --> 00:29:00,080 Atkal, mums nav galvenā funkcija. 610 00:29:00,080 --> 00:29:03,370 >> Un PHP tiek interpretēts pretstatā apkopoti, 611 00:29:03,370 --> 00:29:09,970 Tik vienkārši, kā mēs to padarīt par C failus, mums nav jādara, ka PHP. 612 00:29:09,970 --> 00:29:15,440 Bet, tā, ka valodas vada sevi, tas tiek interpretēts. 613 00:29:15,440 --> 00:29:18,550 Un tad brīvi drukāti tikai nozīmē, ka mēs 614 00:29:18,550 --> 00:29:22,490 nav norādīt mainīgo tips un mainīgās veidi 615 00:29:22,490 --> 00:29:25,415 tiek saprasts runtime. 616 00:29:25,415 --> 00:29:29,185 >> Mērķauditorija: Bet ko jūs domāju ar dot konkatenācija? 617 00:29:29,185 --> 00:29:30,060 MARIA ZLATKOVA: Protams. 618 00:29:30,060 --> 00:29:37,660 Ja mēs gribam, lai lietas together-- Tātad, ja mums bija dažas mainīgo ka 619 00:29:37,660 --> 00:29:41,500 bija vērtību 3 un mums bija vēl viens mainīgais kas bija vērtību virknes, 620 00:29:41,500 --> 00:29:45,920 mēs varētu likt mainīgos kopā , liekot dot starp tiem 621 00:29:45,920 --> 00:29:46,970 un konkatenācijas tos. 622 00:29:46,970 --> 00:29:52,670 Vai mēs varētu izveidot mainīgā sauc vārds 623 00:29:52,670 --> 00:29:56,900 un nodot to kopā ar konkatenācijas divas stīgas. 624 00:29:56,900 --> 00:30:00,680 >> Tātad, ja mums bija virknes dubultā citātus un mēs nodot dot pēc tam, 625 00:30:00,680 --> 00:30:03,660 un tad mums bija vēl virkni, kas radītu virkni vispār. 626 00:30:03,660 --> 00:30:05,242 >> Mērķauditorija: OK. 627 00:30:05,242 --> 00:30:06,450 MARIA LATVIJA: Bija skaidrs, ka? 628 00:30:06,450 --> 00:30:07,099 Mērķauditorija: Jā. 629 00:30:07,099 --> 00:30:07,890 MARIA ZLATKOVA: OK. 630 00:30:07,890 --> 00:30:08,766 Jā. 631 00:30:08,766 --> 00:30:11,146 >> Mērķauditorija: Kad jūs sakāt interpretējusi nevis apkopoti, 632 00:30:11,146 --> 00:30:14,160 jūs runājat par jums nav jābūt tik īpašs, ja 633 00:30:14,160 --> 00:30:15,906 runa ir par PHP pret C? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MARIA ZLATKOVA: Kad mēs sakām interpretēts pretstatā apkopoti, 636 00:30:20,710 --> 00:30:21,850 Ko mēs domājam? 637 00:30:21,850 --> 00:30:26,220 Tātad tas nozīmē, ka mums nav vajadzīga izpildāmos failus palaist PHP. 638 00:30:26,220 --> 00:30:29,870 Tas nozīmē, ka tā darbojas kā tā iet. 639 00:30:29,870 --> 00:30:31,650 Vai tas ir jēga? 640 00:30:31,650 --> 00:30:32,495 Nedaudz vairāk. 641 00:30:32,495 --> 00:30:34,620 HANNAH Blumbergs: Tātad jūs var domāt par tulka 642 00:30:34,620 --> 00:30:38,980 kā citu programmu, kas ir atbildīga lai dotos pozīcijai caur PHP 643 00:30:38,980 --> 00:30:42,745 un faktiski izpildot to, pretstatā to apkopojot to visu uz leju, lai bināro. 644 00:30:42,745 --> 00:30:46,050 Tas nav reāli nozīmē kaut ko par to, kā īpašs mums jābūt. 645 00:30:46,050 --> 00:30:49,470 Mums joprojām ir jābūt precīziem, un nav aizmirsis savu semikolu, un pārliecinieties, ka 646 00:30:49,470 --> 00:30:51,470 Jums ir jūsu dolāra zīmi, un lietām, piemēram, ka. 647 00:30:51,470 --> 00:30:52,240 Labs jautājums. 648 00:30:52,240 --> 00:30:53,115 >> MARIA ZLATKOVA: Jā. 649 00:30:53,115 --> 00:30:55,590 Tātad pozīcijai, kā pretstatā ar C failiem, 650 00:30:55,590 --> 00:30:59,100 mums ir padarīt visu finālā Pirms mēs faktiski var palaist to. 651 00:30:59,100 --> 00:31:00,360 Tas ir galvenā atšķirība. 652 00:31:00,360 --> 00:31:02,655 Bet atkal, mēs nevaram tiešām būt tik īpašs. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Tātad masīvi PHP pārstāvēt faktiski lika karte. 655 00:31:13,950 --> 00:31:17,550 >> Tātad bloki asociēto vērtībām uz taustiņiem. 656 00:31:17,550 --> 00:31:23,350 Divi veidi, kā pasludināt masīvs, pamatojoties uz šo sintaksi, 657 00:31:23,350 --> 00:31:26,380 mēs varam būt skaidrāk , sakot, mums ir masīvs 658 00:31:26,380 --> 00:31:31,010 un mums ir šī taustiņš1 ka Maps Tas vērtība1, key2 ka kartes Vērtība2. 659 00:31:31,010 --> 00:31:34,660 Vai mēs varam vienkārši izveidot masīvu kas satur pati vērtības 660 00:31:34,660 --> 00:31:38,360 un pēc tam taustiņi ir jāsaprot tādā veidā. 661 00:31:38,360 --> 00:31:40,000 Visus jautājumus par šo? 662 00:31:40,000 --> 00:31:42,500 >> Mērķauditorija: Kādi būtu atslēgas būt otrajā piemērā? 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: Piemēram, tā ir tikai taustiņi šajā ne vienmēr 667 00:31:55,780 --> 00:31:56,550 kaut ko mainīt. 668 00:31:56,550 --> 00:32:01,720 Viņi vienkārši definēt kā jūs varat izmantot vērtības iekšpusē no tā. 669 00:32:01,720 --> 00:32:08,660 Tātad, ja mums bija foreach cilpa PHP, kas būtu 670 00:32:08,660 --> 00:32:14,760 ļauj mums iet cauri visiem vērtībām, mēs varam iet cauri visiem vērtībām, 671 00:32:14,760 --> 00:32:19,570 pat tad, ja mums bija vai nebija definēts īpaša atslēga ietvaros vietnes 672 00:32:19,570 --> 00:32:20,820 iepriekšējā sintakse. 673 00:32:20,820 --> 00:32:23,460 >> Tātad, pat ar šāda veida no masīva, mēs joprojām varētu 674 00:32:23,460 --> 00:32:26,260 ir foreach cilpu kas iet caur katru 675 00:32:26,260 --> 00:32:31,240 no vērtībām atslēgu masīvā. 676 00:32:31,240 --> 00:32:36,180 Tātad sintaksi ar foreach cilpa, mēs sākam ar masīvu. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Šī $ arr mainīgais ir mūsu aktuālā masīvs ka mēs definēts iepriekšējās slide 679 00:32:43,900 --> 00:32:47,550 kā vērtību, kas burtiski iet caur katru no vērtībām, 680 00:32:47,550 --> 00:32:50,122 neatkarīgi no tā, vai mums bija atslēgu vai nav. 681 00:32:50,122 --> 00:32:53,080 Un tad mēs varam kaut ko darīt ar vērtība iekšpusē foreach cilpas. 682 00:32:53,080 --> 00:32:57,730 Tātad vēlreiz, ja mums bija masīvs piemēram, tas šeit created-- 683 00:32:57,730 --> 00:33:03,270 tāpēc mums ir galvenais, foo un vērtības bar, tad no Baz taustiņu un vērtība qux-- 684 00:33:03,270 --> 00:33:09,730 mēs varam būt foreach cilpa, kas iet cauri masīvu kā galveno vērtību 685 00:33:09,730 --> 00:33:11,900 un tad kaut ko darīt ar atslēgu un / vai vērtību. 686 00:33:11,900 --> 00:33:15,980 Bet mēs ne vienmēr jābūt ar foreach cilpas, kas 687 00:33:15,980 --> 00:33:19,410 iet cauri masīvu kā galveno karti ar vērtību. 688 00:33:19,410 --> 00:33:26,060 Mēs varam iet caur foreach cilpa masīvs kā vērtību. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH Blumbergs: Un es domāju, ka kuri paredzēti, bija jūsu jautājums, ko 690 00:33:28,990 --> 00:33:31,229 ir netiešais indekss? 691 00:33:31,229 --> 00:33:31,895 Mērķauditorija: Kinda. 692 00:33:31,895 --> 00:33:32,240 MARIA ZLATKOVA: Ak. 693 00:33:32,240 --> 00:33:33,406 HANNAH Blumbergs: Jā, jā. 694 00:33:33,406 --> 00:33:36,150 Vārdu sakot, ja jums nav jānorāda galvenais, tas būs 01. 695 00:33:36,150 --> 00:33:37,140 >> MARIA ZLATKOVA: Jā. 696 00:33:37,140 --> 00:33:41,718 Tāpat kā ar C, tas ir nulle indeksētas ja jums nav jānorāda atslēgu. 697 00:33:41,718 --> 00:33:42,384 Mērķauditorija: Sorry. 698 00:33:42,384 --> 00:33:43,827 Vai jūs varētu mēģināt runājot mazliet skaļāk? 699 00:33:43,827 --> 00:33:45,270 Es esmu, kam mazliet nepatikšanas dzirdes viss. 700 00:33:45,270 --> 00:33:46,478 >> MARIA ZLATKOVA: Es esmu tik žēl. 701 00:33:46,478 --> 00:33:48,439 Jā, protams. 702 00:33:48,439 --> 00:33:50,230 Tātad jūs vēlaties, lai mani lai iet pa šo vēlreiz? 703 00:33:50,230 --> 00:33:51,680 Vai ir this-- 704 00:33:51,680 --> 00:33:54,930 Mērķauditorija: Tātad par iepriekšējo slide-- ja jūs varētu vienkārši doties atpakaļ uz vienu sekundi. 705 00:33:54,930 --> 00:33:57,313 MARIA ZLATKOVA: Protams, sorry. 706 00:33:57,313 --> 00:33:59,237 Mērķauditorija: Tātad otrais masīvs šeit nav 707 00:33:59,237 --> 00:34:04,135 šķiet, ir vērtība, lai ievadītu, veida [? cēloņsakarību. ?] 708 00:34:04,135 --> 00:34:05,343 MARIA ZLATKOVA: pa kreisi, pa labi. 709 00:34:05,343 --> 00:34:07,608 Mērķauditorija: Tātad, kā tas darbojas ja jūs sakāt tas viss ir vai nav. 710 00:34:07,608 --> 00:34:08,969 Man, kas izskatās [? foo?] jau. 711 00:34:08,969 --> 00:34:10,093 >> MARIA ZLATKOVA: Jā, jā. 712 00:34:10,093 --> 00:34:12,969 Tātad vēlreiz, tas ir pasūtīt karti šajā ziņā 713 00:34:12,969 --> 00:34:15,639 ka tur ir jāsaprot, Piemēram, indeksi 714 00:34:15,639 --> 00:34:20,159 šeit var tikt uztverta kā 0, 1, 2, 3. 715 00:34:20,159 --> 00:34:25,929 Atkal, tas ir ar tiem, indeksi ir mūsu līdzvērtīgi 716 00:34:25,929 --> 00:34:28,980 , kam atslēgas plānots uz vērtībām. 717 00:34:28,980 --> 00:34:34,710 Tātad, ja mūsu galvenais bija 0-- žēl. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH Blumbergs: Nē, tur ir krīta šeit. 719 00:34:36,524 --> 00:34:36,929 Tas ir tiešām ļoti jauki. 720 00:34:36,929 --> 00:34:37,460 >> MARIA ZLATKOVA: Tas ir lieliski. 721 00:34:37,460 --> 00:34:38,260 LABI. 722 00:34:38,260 --> 00:34:49,489 Tātad vēlreiz, $ arr 0 būtu galvenais, lai vērtību 1. 723 00:34:49,489 --> 00:34:51,138 0 būtu galvenais par vērtību 1. 724 00:34:51,138 --> 00:34:51,971 Mērķauditorija: Es atvainojos. 725 00:34:51,971 --> 00:34:53,190 Tas ir neredzams. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH Blumbergs: Nu labi, nevermind. 727 00:34:53,659 --> 00:34:54,980 Krīts bija slikta ideja. 728 00:34:54,980 --> 00:34:58,030 Es to atpakaļ. 729 00:34:58,030 --> 00:35:01,425 Jūs varat iedomāties taustiņiem kā 0 kartēs vērtību 1. 730 00:35:01,425 --> 00:35:02,300 MARIA ZLATKOVA: Jā. 731 00:35:02,300 --> 00:35:04,630 Tāpēc tas ir 0, tas ir 1, 2, 3. 732 00:35:04,630 --> 00:35:05,760 Tie var būt jūsu atslēgas. 733 00:35:05,760 --> 00:35:10,020 Jūs varat domāt par tiem as-- yeah. 734 00:35:10,020 --> 00:35:12,740 Tāpēc tā vietā, skaidri atslēgas, viņi 735 00:35:12,740 --> 00:35:17,180 kārtot saprot indeksi, sākot ar 0. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 Krīts nepalīdzēja. 738 00:35:24,820 --> 00:35:25,722 Jā. 739 00:35:25,722 --> 00:35:30,914 >> Mērķauditorija: Par foreach cilpas, ja mēs vēlējāmies, lai apskatītu, kā vērtību, 740 00:35:30,914 --> 00:35:33,245 tas vienkārši automātiski indekss līdz 0? 741 00:35:33,245 --> 00:35:34,120 MARIA ZLATKOVA: Jā. 742 00:35:34,120 --> 00:35:35,745 Tas iet caur katru no vērtībām. 743 00:35:35,745 --> 00:35:39,130 Mērķauditorija: [dzirdams] kā 0 vai arī kas vienkārši darīt 0? 744 00:35:39,130 --> 00:35:43,710 >> MARIA ZLATKOVA: Jums būtu teikt, kā dolāra zīmi un tad 745 00:35:43,710 --> 00:35:46,266 daži mainīgā nosaukums, vērtība. 746 00:35:46,266 --> 00:35:47,182 Mērķauditorija: [nedzirdama]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MARIA ZLATKOVA: Sorry? 749 00:35:50,964 --> 00:35:52,839 Mērķauditorija: Atvainojiet, es esmu tikai mēģina atcerēties. 750 00:35:52,839 --> 00:35:57,190 Kā jums, ka, ja jūs varat darīt to automātiski indeksācija ir tikai 0 no? 751 00:35:57,190 --> 00:36:00,780 >> MARIA ZLATKOVA: Tātad, kā jūs to darīt ja jums nav konkrētas galvenās nosaukumus? 752 00:36:00,780 --> 00:36:01,710 >> Mērķauditorija: Jā. 753 00:36:01,710 --> 00:36:07,820 >> MARIA ZLATKOVA: jūs vienkārši define-- tikai teikt sevi kā sava vārda. 754 00:36:07,820 --> 00:36:17,950 Tātad jūsu psets, jūs puiši varētu atcerēties foreach $ rindu kā $ rindas, 755 00:36:17,950 --> 00:36:24,610 mēs izveidojām ourself šo $ rindu sakot mēs gribam iet cauri rindai, kā $ rindās. 756 00:36:24,610 --> 00:36:28,360 Pat ja mums nebija Tas skaidri $ rindas noteikts, 757 00:36:28,360 --> 00:36:31,990 mēs varētu tikai iet un saka, tas var būt mūsu galvenais, 758 00:36:31,990 --> 00:36:33,615 un tikai iet caur katru no vērtībām. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> Mērķauditorija: Tātad ir vērtība jauns mainīgais mēs esam radot glabāt [nedzirdama]? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MARIA ZLATKOVA: Tātad, tas nav būtības jauns mainīgais. 763 00:36:49,990 --> 00:37:00,310 Tas ir mainīgs, kas attiecas uz iekšpusē masīva uz katru no tiem. 764 00:37:00,310 --> 00:37:02,060 HANNAH Blumbergs: Ir jauna mainīgā nosaukums. 765 00:37:02,060 --> 00:37:04,018 MARIA ZLATKOVA: Jā, tas ir jauns mainīgā nosaukums, 766 00:37:04,018 --> 00:37:06,680 bet tas nav inherently-- yeah. 767 00:37:06,680 --> 00:37:08,950 Tas ir tikai jauns mainīgais ka jūs varat darīt. 768 00:37:08,950 --> 00:37:12,680 Tik vienkārši, kā mēs to darīja $ rinda kā $ rindas, rindas 769 00:37:12,680 --> 00:37:17,980 bija jauna mainīgā nosaukums, kas mums varētu radīt mūsu foreach cilpa. 770 00:37:17,980 --> 00:37:22,065 Tas nav iepriekš pastāvēt pirms tam. 771 00:37:22,065 --> 00:37:25,777 >> Mērķauditorija: Vai jūs varētu iet cauri loģika katram, izmantojot piemēru tur? 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 Ak, piedod. 775 00:37:32,080 --> 00:37:33,780 Lūk, piemērs. 776 00:37:33,780 --> 00:37:34,280 Pārliecināts. 777 00:37:34,280 --> 00:37:38,950 Tātad katram array-- tik tas nozīmē, ka iet uz šo masīvs 778 00:37:38,950 --> 00:37:43,930 kā atslēgu value-- kas notiek iet caur šo masīvu 779 00:37:43,930 --> 00:37:49,480 un pirmās aizej foo, tad Galvenais foo un vērtība bar. 780 00:37:49,480 --> 00:37:51,570 Un tad uz otro atkārtojuma no cilpas, 781 00:37:51,570 --> 00:37:55,090 tas notiek, lai iet cauri, un veikt galvenais baz un vērtību qux. 782 00:37:55,090 --> 00:38:00,512 Un tad jūs varat darīt kaut ko ar vienu no tām, vai abi. 783 00:38:00,512 --> 00:38:03,488 >> Mērķauditorija: Tātad ideja kurai ir atslēgas punktu ar vērtību, 784 00:38:03,488 --> 00:38:07,470 ko jūs galu galā piekļūt? 785 00:38:07,470 --> 00:38:10,680 >> MARIA ZLATKOVA: Kāda ir ideja , kam galvenais norādot to vērtību? 786 00:38:10,680 --> 00:38:16,400 Tas ir tikai vēl viens konvencija, cits veids, kā iet caur masīva 787 00:38:16,400 --> 00:38:22,600 un to var piekļūt vai nu taustiņu vai vērtību, vai abus, un izmantot tos. 788 00:38:22,600 --> 00:38:27,100 >> Mērķauditorija: Kāda ir nozīme, lai nolemt, ka foreach darbojas? 789 00:38:27,100 --> 00:38:29,250 Tātad, ja mēs pievienot elementi masīva vēlāk, 790 00:38:29,250 --> 00:38:32,140 būtu tie būs pirmie sauc par foreach masīvs, 791 00:38:32,140 --> 00:38:33,750 vai tas būtu vēlāk? 792 00:38:33,750 --> 00:38:37,770 >> MARIA ZLATKOVA: Tātad, kas ir rīkojums, ka foreach 793 00:38:37,770 --> 00:38:39,210 cilpa iet cauri masīva? 794 00:38:39,210 --> 00:38:42,220 Tas iet cauri pirmais elements uz pēdējo elementu, 795 00:38:42,220 --> 00:38:43,400 uz pēdējo pievienoto elementu. 796 00:38:43,400 --> 00:38:48,020 Ja jūs pievienot elementus vēlāk, tie būtu tikt accessed-- pirmie elementi būtu 797 00:38:48,020 --> 00:38:51,410 piekļūt, jo pirmais elementi masīva, 798 00:38:51,410 --> 00:38:57,620 un tad jūs gribētu iet caur katru no elementi kā sava veida ar ordered-- 799 00:38:57,620 --> 00:39:02,930 nevis lika, bet tā, ka tie ir laisti masīva. 800 00:39:02,930 --> 00:39:06,855 >> Mērķauditorija: Tātad jauni elementi pievieno vēlāk? 801 00:39:06,855 --> 00:39:10,680 Tātad viņi added-- viņi būšu pēdējie, kas [? atkārtojuma. ?] 802 00:39:10,680 --> 00:39:14,280 >> MARIA ZLATKOVA: Jauni elementi can-- Būtībā, kad jauni elementi ir pievienoti, 803 00:39:14,280 --> 00:39:16,520 ir tie pievienoti beigām masīva? 804 00:39:16,520 --> 00:39:17,632 >> Mērķauditorija: Jā. 805 00:39:17,632 --> 00:39:18,840 MARIA ZLATKOVA: Es uzskatu, ka tā. 806 00:39:18,840 --> 00:39:20,850 Jā. 807 00:39:20,850 --> 00:39:24,330 Un tad ar savu foreach cilpu, pēc tam, kad esat pievienojis jaunus elementus 808 00:39:24,330 --> 00:39:26,790 un jums iet caur tiem, jaunie elementi būtu 809 00:39:26,790 --> 00:39:30,930 būt accessed-- jauno elementu, ja tas ir piebilda pēdējais, tas būtu pieejams pēdējais. 810 00:39:30,930 --> 00:39:34,416 >> Mērķauditorija: Vai jūs vienkārši sniegt piemēru par kaut ko, kas varētu [nedzirdama] 811 00:39:34,416 --> 00:39:37,404 ar kaut ko ar vērtību piemēram, [dzirdams] vai vērtībā, 812 00:39:37,404 --> 00:39:38,910 tāpat kā jūs vēlaties formatēt, ka? 813 00:39:38,910 --> 00:39:39,785 >> MARIA ZLATKOVA: Protams. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 Vai es varu sniegt piemēru par to, kas mēs varētu darīt ar vērtību? 816 00:39:46,410 --> 00:39:52,440 Tātad, ko jūs guys varētu būt pazīstami ar ir tas, ka mēs esam izgājuši cauri masīvu 817 00:39:52,440 --> 00:39:55,380 un būtībā iespiesti katrs no minētajiem elementiem, 818 00:39:55,380 --> 00:40:00,910 piemēram, kā daļu no pasūtīts saraksts vai kaut kas. 819 00:40:00,910 --> 00:40:02,674 Vai tas ir jēga, vai mēs gribam kuri paredzēti, 820 00:40:02,674 --> 00:40:04,340 Mērķauditorija: Vai mēs varam izdrukāt šīs vērtības ārā? 821 00:40:04,340 --> 00:40:13,220 MARIA ZLATKOVA: Jā, mēs varētu drukāt un tad būtībā $ vērtība, jo pie 822 00:40:13,220 --> 00:40:16,570 ka īpaša vērtība, mēs būtu drukāšanas vērtību iekšpusē no tā. 823 00:40:16,570 --> 00:40:20,150 Tātad, ja mēs bijām pie mūsu pirmā atkārtojuma par to, un mēs iespiesti $ vērtību, 824 00:40:20,150 --> 00:40:23,775 mēs būtu drukāšanas bar. 825 00:40:23,775 --> 00:40:27,020 >> Mērķauditorija: Vai tur ir arī cilpas PHP vai vienkārši foreach cilpas? 826 00:40:27,020 --> 00:40:30,430 >> MARIA ZLATKOVA: Ir arī cilpas PHP. 827 00:40:30,430 --> 00:40:33,399 Un viņu loģika ir galvenokārt tāds pats kā tas, ko jūs esat pieraduši. 828 00:40:33,399 --> 00:40:34,690 Mērķauditorija: Tātad tā vērtība ir nulle. 829 00:40:34,690 --> 00:40:35,090 MARIA ZLATKOVA: Tas ir tāpat kā pats. 830 00:40:35,090 --> 00:40:35,590 Jā. 831 00:40:35,590 --> 00:40:37,747 Mērķauditorija: Es esmu tikai gatavojas lūgt. 832 00:40:37,747 --> 00:40:39,695 Tātad, ja jūs pasludināt masīvs, jums nav nepieciešams 833 00:40:39,695 --> 00:40:42,617 pateikt kāda izmēra tas notiek, lai būt, kas nozīmē, ka jūs varat vienkārši 834 00:40:42,617 --> 00:40:44,417 pievienot un atņemt elementu [nedzirdama]. 835 00:40:44,417 --> 00:40:45,250 MARIA ZLATKOVA: Yup. 836 00:40:45,250 --> 00:40:45,750 Jā. 837 00:40:45,750 --> 00:40:46,251 Tieši tā. 838 00:40:46,251 --> 00:40:48,875 Kad mēs deklarēt masīvu, mēs nevajag teikt, kāda izmēra tas ir, 839 00:40:48,875 --> 00:40:51,022 lai mēs varētu vienkārši pievienot elementus uz tā vēlāk kā labi. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 Citi jautājumi? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Tātad celt PHP un HTML kopā, tas, ko mēs esam seen-- labi, 844 00:41:05,950 --> 00:41:15,130 piemēram, šajā piemērā, mums ir HTML forma, kas ir ievades lauku. 845 00:41:15,130 --> 00:41:18,830 >> Un ievades lauks ir tikai vārds un pēc tam tā ir pogas Iesniegt. 846 00:41:18,830 --> 00:41:26,040 Un, kad jūs nospiežat Iesniegt poga, mūsu hello.php failā, 847 00:41:26,040 --> 00:41:32,130 jo metode veidā ir saņemt, mēs varam piekļūt kāds ir nosaukums 848 00:41:32,130 --> 00:41:40,360 ar šo saņemt globālo mainīgo ka is-- sintakse tas ir $ _GET. 849 00:41:40,360 --> 00:41:44,520 Un tad mēs varam piekļūt neatkarīgi lietotāja ievadi iekšpusē šo veidlapu nosaukuma 850 00:41:44,520 --> 00:41:47,410 norādot nosaukumu šajā jomā. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Jebkuras citas jautājumi vai jebkurš jautājumi par šo konkrēto piemēru? 853 00:41:55,060 --> 00:41:58,275 >> Mērķauditorija: Kur ir PHP? 854 00:41:58,275 --> 00:41:59,150 MARIA ZLATKOVA: šeit. 855 00:41:59,150 --> 00:42:01,150 Tātad šis ir mūsu atklāšana tag par PHP. 856 00:42:01,150 --> 00:42:01,530 >> Mērķauditorija: Ak, labi. 857 00:42:01,530 --> 00:42:02,363 >> MARIA ZLATKOVA: Jā. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH Blumbergs:? Tā = ir saīsinājums jo tas ir PHP un tikai atbalss. 860 00:42:09,609 --> 00:42:10,150 Mērķauditorija: Ak. 861 00:42:10,150 --> 00:42:10,720 MARIA ZLATKOVA: Jā, sorry. 862 00:42:10,720 --> 00:42:12,040 Es būtu jāparedz, ka skaidrs. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH Blumbergs: Print. 864 00:42:13,759 --> 00:42:16,800 MARIA ZLATKOVA: Tas ir tikai funkcija kas ļauj drukāt kaut ko. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Liels jautājums. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Tātad going-- jā. 869 00:42:25,495 --> 00:42:31,940 >> Mērķauditorija: Vai tur būs diezgan mazliet roku kodēšanas PHP un HTML 870 00:42:31,940 --> 00:42:33,450 par viktorīnā 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MARIA ZLATKOVA: Tur var būt godīgi summa interpretācijas 873 00:42:38,810 --> 00:42:43,330 PHP un HTML, ne vienmēr piemēram, milzīgu kodēšana, 874 00:42:43,330 --> 00:42:46,960 ja jūs varētu būt uzrakstīt foreach cilpa, lai gan, lai cilpas. 875 00:42:46,960 --> 00:42:49,790 Jebkurš no cilpas, kas mums segtu šeit ir godīga spēle. 876 00:42:49,790 --> 00:42:51,889 Un tas ir lielākoties tā. 877 00:42:51,889 --> 00:42:53,430 HANNAH Blumbergs: es būtu gatavs. 878 00:42:53,430 --> 00:42:57,010 Tādā pašā veidā, ka mēs jautājām jums uzrakstīt ķekars C funkciju uz viktorīnu 0, 879 00:42:57,010 --> 00:42:59,766 Es būtu gatavs darīt pats PHP un JavaScript. 880 00:42:59,766 --> 00:43:00,640 MARIA ZLATKOVA: Jā. 881 00:43:00,640 --> 00:43:03,210 HANNAH Blumbergs: es teiktu little-- kā mēs neesam 882 00:43:03,210 --> 00:43:06,251 notiek, lai jūs rakstīt milzīgs HTML lapa tikai tāpēc, ka ir mazliet 883 00:43:06,251 --> 00:43:08,240 garlaicīgs, bet jūs varētu būt daļas. 884 00:43:08,240 --> 00:43:09,310 Tas ir pilnīgi godīga spēle. 885 00:43:09,310 --> 00:43:11,082 Tāpat nelielu HTML lapas, pilnīgi godīgi. 886 00:43:11,082 --> 00:43:11,623 Mērķauditorija: OK. 887 00:43:11,623 --> 00:43:13,814 Kā par JavaScript, kā arī? 888 00:43:13,814 --> 00:43:14,730 HANNAH Blumbergs: Jā. 889 00:43:14,730 --> 00:43:15,250 JavaScript ir godīga spēle. 890 00:43:15,250 --> 00:43:15,635 >> MARIA ZLATKOVA: Jā. 891 00:43:15,635 --> 00:43:16,801 Tas ir pilnīgi godīga spēle. 892 00:43:16,801 --> 00:43:19,280 HANNAH Blumbergs: Mēs dabūsim lai, ka, piemēram, 10 minūtes. 893 00:43:19,280 --> 00:43:23,750 >> MARIA ZLATKOVA: SQL, atkal, Strukturēts Query Language. 894 00:43:23,750 --> 00:43:28,651 Pamatā tas ļauj mums vadīt datus relāciju datu bāzu pārvaldības 895 00:43:28,651 --> 00:43:29,150 sistēma. 896 00:43:29,150 --> 00:43:31,149 Ka tikai būtībā nozīmē ka mums ir kaut kur 897 00:43:31,149 --> 00:43:37,980 uzglabāt daži dati, ka mēs varētu vēlēties, lai izmantot mājas lapā vai kādā citā veidā. 898 00:43:37,980 --> 00:43:42,190 Un tad mums ir jautājumi, lai iegūtu informāciju no mūsu datubāzē, 899 00:43:42,190 --> 00:43:44,320 vai ievietot informāciju tiem. 900 00:43:44,320 --> 00:43:47,560 Vairāki kopējās ones-- UPDATE daudz, INSERT, SELECT, un DELETE. 901 00:43:47,560 --> 00:43:50,790 >> Tātad atjauninājumu, tas ir sintakse aktualizēšanai datiem datu bāzē. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Atjauninot šo tabulu sauc galds, sakot SET, 904 00:43:57,340 --> 00:44:04,170 mēs varam noteikt dažas vērtības visiem rindas uz vienlīdzīgu kaut kas cits. 905 00:44:04,170 --> 00:44:09,410 Tātad, mēs varam arī norādīt kādu specifisku ieraksti, ka mēs vēlamies, lai mainītu 906 00:44:09,410 --> 00:44:11,240 un kas var būt, izmantojot KUR. 907 00:44:11,240 --> 00:44:16,380 Un mēs varam norādīt, ka mēs tikai vēlamies, lai modificēt dažas rindas, ja māja, 908 00:44:16,380 --> 00:44:19,830 ja mēs būtu tabulu studentu un visi studenti bija māja, 909 00:44:19,830 --> 00:44:24,890 lai mēs būtu tikai mainīt dažas vērtības ja māja ir vienāds CURRIER, 910 00:44:24,890 --> 00:44:25,430 piemēram. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> Par ievietot, mēs varam ievietot noteiktas vērtības uz galda. 913 00:44:31,800 --> 00:44:35,150 Tātad INSERT INTO galda, un pēc tam vērtības, 914 00:44:35,150 --> 00:44:39,080 un tad iekavās, mēs norādīt kuru vērtības vēlaties ievietot. 915 00:44:39,080 --> 00:44:43,220 Tātad INSERT INTO galda, col1 un col2, vērtība ir VAL1 un val2. 916 00:44:43,220 --> 00:44:48,930 Tātad tas ievieto būtībā jaunu rindu uz tabula, kurā vērtības 1 un 2 917 00:44:48,930 --> 00:44:50,850 saskaņā ar kolonnām 1 un 2. 918 00:44:50,850 --> 00:44:54,760 >> Un tad mēs ejam, lai iet pa ātrs piemērs tam, kā tas izskatās 919 00:44:54,760 --> 00:44:56,310 tāpat mūsu datubāzē mazliet. 920 00:44:56,310 --> 00:44:58,685 Bet tas final vaicājums, ka es domāju, ka mēs esam gatavojas iet pāri, 921 00:44:58,685 --> 00:45:01,450 SELECT, tas vienkārši ļauj mums datu atlasei no tabulas 922 00:45:01,450 --> 00:45:03,080 to iespējams izmantot to vēlāk. 923 00:45:03,080 --> 00:45:05,830 Un, kā mēs to darām, ir mums tikai glabāt to kādā mainīga. 924 00:45:05,830 --> 00:45:07,780 Un tad mēs, iespējams, var izmantot atkārtoti. 925 00:45:07,780 --> 00:45:10,260 >> Tātad SELECT zvaigzne nozīmē izvēlēties visus. 926 00:45:10,260 --> 00:45:13,280 Tas ir tikai stenogrāfija Lai izvēlētos visus. 927 00:45:13,280 --> 00:45:19,760 No galda, kur mēs meklējam dažiem īpašiem nosacījumiem, 928 00:45:19,760 --> 00:45:22,290 Tātad, ja kolonna ir vienāds kaut kas, piemēram. 929 00:45:22,290 --> 00:45:24,410 Ja mēs vienkārši vēlējāmies izvēlēties visu no galda, 930 00:45:24,410 --> 00:45:28,400 tas tikai atlasa visas slejas un visas rindas no tabulas. 931 00:45:28,400 --> 00:45:32,040 >> Un tad izdzēst no tabulas KUR col vienāds kaut, 932 00:45:32,040 --> 00:45:36,440 tas tikai izdzēš dažus rinda no mūsu galda 933 00:45:36,440 --> 00:45:38,860 kur mums ir daži īpaši nosacījumi. 934 00:45:38,860 --> 00:45:41,870 Šajā gadījumā nosacījumi ir kolonna vienāds kaut ko. 935 00:45:41,870 --> 00:45:43,460 Tik vienkārši ātri piemērs. 936 00:45:43,460 --> 00:45:49,100 Ja mums ir šo tabulu tieši šeit, un mēs ievietojiet to galdu, šīs vērtības, 937 00:45:49,100 --> 00:45:50,400 kas varētu ievietot jaunu rindu. 938 00:45:50,400 --> 00:45:56,380 Un, ja mums bija auto-pieaugumu, tas tikko pieauguma mūsu ID no 0 līdz 1 līdz 2. 939 00:45:56,380 --> 00:46:00,010 >> Ja mēs izvēlējāmies visi no studentiem, to vienkārši atgriež visus laukus un visas rindas. 940 00:46:00,010 --> 00:46:02,430 Ja gads ir lielāks par vai vienāda ar 2016, 941 00:46:02,430 --> 00:46:04,390 ka vēlētos atgriezties Hannah un sevi. 942 00:46:04,390 --> 00:46:08,360 Un tad, ja mēs vienkārši izvēlēts gads id un gadu no studentiem 943 00:46:08,360 --> 00:46:11,710 ja māja ir Cabot House, ka varētu atkal atgriezties Hannah un sevi. 944 00:46:11,710 --> 00:46:14,430 >> Tad, ja mēs svītrots no studentiem kur vārds ir vienāds ar Rob, 945 00:46:14,430 --> 00:46:16,760 kas varētu izdzēst visu rindu. 946 00:46:16,760 --> 00:46:19,696 Un tad, ja mēs nosakām nosaukums, Update studentiem 947 00:46:19,696 --> 00:46:21,570 SET nosaukums ir vienāds ar Daven KUR māja ir vienāds 948 00:46:21,570 --> 00:46:27,010 Cabot House, kas notiek, lai dotos uz šie rindas un pēc tam atjaunina nosaukumu. 949 00:46:27,010 --> 00:46:31,470 >> Un tad daži SQL datu tipi ir CHAR, VARCHAR, INT, un peldēt. 950 00:46:31,470 --> 00:46:32,760 Tie ir godīga spēle. 951 00:46:32,760 --> 00:46:36,740 Es gribētu iet atkal un pārliecinieties, ka jūs zināt 952 00:46:36,740 --> 00:46:40,930 un tos uz jūsu apkrāptu lapas, ko katrs no šiem burtiem 953 00:46:40,930 --> 00:46:44,140 ir izmantoti, kas tu izmanto tos uz jūsu psets, 954 00:46:44,140 --> 00:46:48,050 un pārliecinieties, ka jūs esat iepazinušies un ērti ar kuru, lai izvēlētos 955 00:46:48,050 --> 00:46:51,450 no dažādiem datu veidiem jūsu PSET. 956 00:46:51,450 --> 00:46:51,950 Jā. 957 00:46:51,950 --> 00:46:54,300 >> Mērķauditorija: Kas bija tas, ka tabula uzglabāti? 958 00:46:54,300 --> 00:46:57,119 Jā, kur šī tabula uzglabāti? 959 00:46:57,119 --> 00:46:59,160 MARIA ZLATKOVA: Nu, tieši tagad, tas nav saglabāti. 960 00:46:59,160 --> 00:47:00,700 Anyway, kur šī tabula uzglabāti? 961 00:47:00,700 --> 00:47:04,503 Bet tas var uzglabāt SQL datu bāzē. 962 00:47:04,503 --> 00:47:07,330 >> Mērķauditorija: Un kur ir SQL datu bāzes? 963 00:47:07,330 --> 00:47:11,200 Datorā, online kaut kur, serveris? 964 00:47:11,200 --> 00:47:15,000 >> MARIA ZLATKOVA: Tas var būt vairākas atšķirīgas lietas. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH Blumbergs: Mēs esam saskarnē ar SQL tabulas galvenokārt ar phpMyAdmin. 966 00:47:19,690 --> 00:47:22,060 Tātad mēs varētu lūgt serveri uzglabāt tos mums. 967 00:47:22,060 --> 00:47:23,830 Mēs varētu glabāt tos uz mūsu datorā. 968 00:47:23,830 --> 00:47:27,950 >> MARIA ZLATKOVA: Tas tikai atkarīgs kā jūs vēlaties darīt to pats. 969 00:47:27,950 --> 00:47:30,075 Bet mēs esam glabāšanai tos, kā Hannah minēts, 970 00:47:30,075 --> 00:47:31,755 uz phpMyAdmin, kas ir online. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 Un tad, kā mēs izmantojam PHP un SQL, mēs to uzglabā 973 00:47:39,280 --> 00:47:43,450 uz kādu mainīgo tas, ko mēs esam vaicāti. 974 00:47:43,450 --> 00:47:48,370 >> Tātad, ja mēs izvēlētos visi no vēstures kur user_id vienāds sesijas id, 975 00:47:48,370 --> 00:47:53,900 kas varētu atlasīt visas rindas par konkrētu personu, kas 976 00:47:53,900 --> 00:47:58,327 ir pieteicies no vēstures galds un sakārtot tos rindās. 977 00:47:58,327 --> 00:48:00,410 Cool lieta zināt ka CS50 vaicājumu funkcijas 978 00:48:00,410 --> 00:48:02,180 aizsargā pret SQL injekciju tagus. 979 00:48:02,180 --> 00:48:07,420 Tas nozīmē tikai to, ka tas padara pārliecināts ieejas, kas tiek ievadīti pareizi 980 00:48:07,420 --> 00:48:09,920 un ka persona, kas ienāk ievadi 981 00:48:09,920 --> 00:48:15,100 nav mēģina ievadi dažas ļaunprātīgu kods vai nu nomest mūsu galdiem 982 00:48:15,100 --> 00:48:17,305 vai izdzēst visu iekšpusē mūsu datu bāzē. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> Īss pārskats no Model View Controller modelis, 985 00:48:23,400 --> 00:48:27,360 tas ir tikai veids, kā organizēt un domāt par kodu. 986 00:48:27,360 --> 00:48:29,100 Tas atkal, dizaina paradigma. 987 00:48:29,100 --> 00:48:33,380 Ko tas nozīmē, ka mēs can-- un tā ir laba prakse 988 00:48:33,380 --> 00:48:37,790 lai atdalītu dažādas daļas Mūsu kodu un ko viņi 989 00:48:37,790 --> 00:48:40,530 kontrolēt šajos trīs paradigmas. 990 00:48:40,530 --> 00:48:46,700 >> Tātad mūsu viedoklis ir visbiežāk mūsu veidnes, mūsu izkārtojums, ceļš 991 00:48:46,700 --> 00:48:48,260 ka mēs, kas kā mūsu kods izskatās. 992 00:48:48,260 --> 00:48:55,190 Tas ir galvenokārt mūsu CSS failus un veids ka mēs definēts dizainu mūsu kodu, 993 00:48:55,190 --> 00:48:55,710 būtībā. 994 00:48:55,710 --> 00:48:59,280 Mūsu kontrolieris ir galvenokārt, ko mēs esam bijuši dara ar PHP failus. 995 00:48:59,280 --> 00:49:03,030 Tātad vēlreiz, strādājot ar informāciju, kas mums ir 996 00:49:03,030 --> 00:49:06,700 un nosakot, kā tas informācija tiek izmantota, 997 00:49:06,700 --> 00:49:10,660 un tad iet šo informāciju nu uz domām vai modeli. 998 00:49:10,660 --> 00:49:13,880 Un modelis, tā, ka mēs esam tika izmantojat ir mūsu datu bāzē, 999 00:49:13,880 --> 00:49:17,510 lai kur mūsu informācija uzglabāti tāpēc tas ir kaut kur 1000 00:49:17,510 --> 00:49:21,490 dzīvot, un ir kāda no šīm kodu, kas ir saistīta ar to, kā 1001 00:49:21,490 --> 00:49:25,410 ka mēs šo informāciju vai tā, ka mēs atjaunināt šo informāciju. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> Tātad MVC modelis, HTTP pieprasījumi tiek nosūtīti uz web serveri. 1004 00:49:33,200 --> 00:49:36,220 Tad kontrolieris interpretē pieprasījumu no lietotāja 1005 00:49:36,220 --> 00:49:38,260 un pēc tam apstiprina lietotāja ievadi. 1006 00:49:38,260 --> 00:49:41,580 Tā ir iespēja, ka mums ir kontrolieris sazināties 1007 00:49:41,580 --> 00:49:44,000 ar modeli, lai kaut ko tāpat kā mūsu datubāzei 1008 00:49:44,000 --> 00:49:47,500 vai kādu citu funkcionalitāti kas retranslē informāciju. 1009 00:49:47,500 --> 00:49:50,340 Un tad beidzot, kontrolieris nodod informāciju uz skatu 1010 00:49:50,340 --> 00:49:52,090 tā, ka tas var būt taisīts un ka tā var 1011 00:49:52,090 --> 00:49:55,860 kļūst redzamas jebkurai personai piekļūstot tīmekļa lapu. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Kādi jautājumi? 1014 00:50:01,340 --> 00:50:01,840 Lielisks. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Tātad vēlreiz, modelis, tā funkcijas, atkal, 1017 00:50:08,469 --> 00:50:11,260 ir noturīga informācijas glabāšana, pārvaldību un datu organizēšanu. 1018 00:50:11,260 --> 00:50:13,890 Un tas, ko mēs esam redzējuši tik tālu ir MySQL datu bāze 1019 00:50:13,890 --> 00:50:16,200 un datu failus, kas var izmantot. 1020 00:50:16,200 --> 00:50:20,580 >> Skats, prezentācija informācijas Lietotājs, UI, vai lietotāja interfeisu. 1021 00:50:20,580 --> 00:50:22,350 Un piemērs ir HTML. 1022 00:50:22,350 --> 00:50:23,950 Un tad mēs varētu būt minimāla PHP. 1023 00:50:23,950 --> 00:50:28,360 Tātad, lai cilpa, kas vairākkārt uzsvērts pār datiem, kas tiek izdrukāti 1024 00:50:28,360 --> 00:50:30,720 ir daļa no domām, kā nevis kontrolieris. 1025 00:50:30,720 --> 00:50:35,660 Un tad daudzi no mūsu PHP failus nonākt kontrolieris kategorijā. 1026 00:50:35,660 --> 00:50:38,410 Tas tikai rokturi lietotāju pieprasījumus un saņem informāciju no modeļa. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Lekt Dokumenta Object Model, tas tikai 1029 00:50:45,590 --> 00:50:47,700 attiecas uz to, kā HTML tiek organizētas dokumenti. 1030 00:50:47,700 --> 00:50:51,600 Un viņi organizē kokā struktūra, kas ir hierarhiju. 1031 00:50:51,600 --> 00:50:56,720 Tātad, ja mums ir pieejami [nedzirdama] pārstāvība dokumenta, 1032 00:50:56,720 --> 00:51:02,750 mēs varam strādāt ar dokumentu, piemēram, mēs manipulēt objektiem būtībā. 1033 00:51:02,750 --> 00:51:06,630 >> Un, lai padarītu šo mazliet skaidrāks, kad 1034 00:51:06,630 --> 00:51:10,540 mums ir daudz mūsu dažādas birkas atbildēt 1035 00:51:10,540 --> 00:51:12,590 uz dažādiem maršrutiem mūsu koku. 1036 00:51:12,590 --> 00:51:17,070 Un pēc tam šim piemēram, mēs ir sākuma dokumenta mezglā. 1037 00:51:17,070 --> 00:51:20,010 Mums ir, tad, mūsu HTML mezgls kas sadalās galvu un ķermeni. 1038 00:51:20,010 --> 00:51:22,810 Vadītājs ir nosaukums, un tad nosaukumā ir sveiki, pasauli. 1039 00:51:22,810 --> 00:51:24,860 Un mūsu ķermenis vienkārši satur hello, pasaule, kā arī. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Tātad kādi jautājumi par kādu no lietas, ko mēs līdz šim iekļauti? 1042 00:51:31,900 --> 00:51:35,891 Un, ja ne, Hannah būs pārņemt ar JavaScript. 1043 00:51:35,891 --> 00:51:36,390 Lielisks. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH Blumbergs: OK, atdzesē. 1045 00:51:37,473 --> 00:51:40,980 Ja kaut kas nāk klajā ar PHP vai HTML, vai kāds no sīkumi Maria apdrošināta, 1046 00:51:40,980 --> 00:51:42,700 mēs vienmēr varam pauze. 1047 00:51:42,700 --> 00:51:46,430 Mēs darām labāk atkal, tik awesome. 1048 00:51:46,430 --> 00:51:48,770 Un tikai, lai dotos atpakaļ tiešām ātri tam, 1049 00:51:48,770 --> 00:51:51,010 ja paskatās ik Pagājušais gads ir eksāmens, šis 1050 00:51:51,010 --> 00:51:54,120 pārādās either-- šeit ir daži HTML, padara šo diagrammu. 1051 00:51:54,120 --> 00:51:58,380 Vai šeit ir šis diagramma, veikt dažas HTML, tāpēc noteikti praktizēt to. 1052 00:51:58,380 --> 00:52:01,500 Un tad tas ir viens garantēto Jautājums, ka jūs varat iegūt tiesības. 1053 00:52:01,500 --> 00:52:02,000 Cool. 1054 00:52:02,000 --> 00:52:04,510 Tātad parunāsim par JavaScript un cik tas ir mazliet 1055 00:52:04,510 --> 00:52:09,130 atšķiras no valodas, piemēram, PHP un C, divas valodas, mēs redzējām iepriekš. 1056 00:52:09,130 --> 00:52:10,780 Tātad numur viens, tas ir brīvi drukāti. 1057 00:52:10,780 --> 00:52:14,630 Tas ir tāpat, PHP, bet atšķirībā no C. 1058 00:52:14,630 --> 00:52:15,890 >> Tas ir interpretējama valoda. 1059 00:52:15,890 --> 00:52:19,870 Atkal, tas ir tāpat kā PHP, atšķirībā no C un šī 1060 00:52:19,870 --> 00:52:24,630 gatavojas ļauj mums use-- to darbojas patiešām labi ar interneta lapas. 1061 00:52:24,630 --> 00:52:28,350 Tas notiek, lai ļautu mums manipulēt saturs un kā tas izskatās 1062 00:52:28,350 --> 00:52:30,300 un ko tā dara. 1063 00:52:30,300 --> 00:52:32,330 >> Mēs ejam, lai redzētu mazliet Ajax. 1064 00:52:32,330 --> 00:52:36,140 Tas ļauj mums komunicēt asinhroni ar dažādiem serveriem 1065 00:52:36,140 --> 00:52:37,950 un saņemt informāciju. 1066 00:52:37,950 --> 00:52:42,820 Un šī ir lieta, kas patiešām atdala JavaScript no PHP un C 1067 00:52:42,820 --> 00:52:45,590 ir tā, ka tas ir klienta puses. 1068 00:52:45,590 --> 00:52:49,860 Gan PHP un C ir parasti servera puses. 1069 00:52:49,860 --> 00:52:51,960 >> Par lielāko daļu, un gandrīz pilnībā, ko 1070 00:52:51,960 --> 00:52:53,900 mēs esam redzējuši, vismaz šī klase, JavaScript 1071 00:52:53,900 --> 00:52:57,040 iedarbojas uz klienta puses, kas nozīmē, ka pārlūks ir faktiski 1072 00:52:57,040 --> 00:52:58,597 atbildīgā rādīt to. 1073 00:52:58,597 --> 00:53:01,180 Un tas nozīmē, ka mums nav ir nepieciešams, lai mijiedarbotos ar serveri. 1074 00:53:01,180 --> 00:53:04,380 Tātad tas nozīmē, ka var būt daudz ātrāk jo tas ir tiešām tikai tas Chrome, 1075 00:53:04,380 --> 00:53:10,420 tas ir Safari, tas ir Firefox, neatkarīgi no jums izmantot faktiski darbojas jūsu JavaScript. 1076 00:53:10,420 --> 00:53:12,290 >> Mērķauditorija: Ko asinhronā nozīmē? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH Blumbergs: Ah, ko tas asinhroni nozīmē? 1078 00:53:13,620 --> 00:53:14,250 Liels jautājums. 1079 00:53:14,250 --> 00:53:17,890 Asinhroni means-- labi, saturu, kurā 1080 00:53:17,890 --> 00:53:22,140 mēs izmantojam to, OK, mēs veidojat mājas lapu 1081 00:53:22,140 --> 00:53:23,860 un mums ir nepieciešams iegūt kādu informāciju. 1082 00:53:23,860 --> 00:53:28,250 Tātad ar piemēru mashup, daži informāciju, ka mēs varētu vēlēties, 1083 00:53:28,250 --> 00:53:30,580 ir rakstu virsraksti. 1084 00:53:30,580 --> 00:53:33,330 Tagad mēs could-- vienu iespēju ir darīt to sinhroni 1085 00:53:33,330 --> 00:53:37,940 un tas nozīmē, ka pieņemsim apstāties, iet saņemt rakstu, 1086 00:53:37,940 --> 00:53:41,275 iegūt rakstu atpakaļ, un pēc tam padarīt, bet tas būtu patiešām lēns. 1087 00:53:41,275 --> 00:53:44,150 Tas būtu slikta lietotāja pieredzi jo jūs vienkārši sēžot 1088 00:53:44,150 --> 00:53:46,630 tur gaida kaut ko atbildēt. 1089 00:53:46,630 --> 00:53:50,020 >> Asinhroni nozīmē mēs turpināt iet par mūsu uzņēmumu, 1090 00:53:50,020 --> 00:53:52,529 attēlot lapu, un mēs nosūtīsim off pieprasījumu 1091 00:53:52,529 --> 00:53:54,570 kas ir sava veida gatavojas notikt fonā. 1092 00:53:54,570 --> 00:53:57,610 Es domāju, ka mēs izmantojam piemērs lekcija par izsaucēja Rob un saka, 1093 00:53:57,610 --> 00:53:59,980 hey, jūs varat meklēt šo augšu par mani un saņemt atpakaļ uz mani, 1094 00:53:59,980 --> 00:54:02,870 pretstatā tikai man gaidīšana pa tālruni. 1095 00:54:02,870 --> 00:54:07,020 Tātad asinhroni nozīmē, ka tas notiek fonā prom no mums 1096 00:54:07,020 --> 00:54:08,676 paralēli. 1097 00:54:08,676 --> 00:54:10,400 >> Liels jautājums. 1098 00:54:10,400 --> 00:54:11,830 Jebkas cits? 1099 00:54:11,830 --> 00:54:12,330 Liels. 1100 00:54:12,330 --> 00:54:15,020 Mēs lēkt daudz vairāk par asinhroni pieprasījumi ar Ajax. 1101 00:54:15,020 --> 00:54:18,287 >> Mērķauditorija: Vai JavaScript-- kur nav tas samazināsies ar MVC? 1102 00:54:18,287 --> 00:54:19,620 HANNAH Blumbergs: Great jautājums. 1103 00:54:19,620 --> 00:54:23,320 Kur JavaScript kritumu ar MVC? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Es domāju, tas varētu fall-- tāpēc mums nav parasti 1106 00:54:28,350 --> 00:54:31,340 patīk squish to, ka paradigma, bet es domāju, es teiktu, 1107 00:54:31,340 --> 00:54:34,280 Labi, tāpēc JavaScript faktiski gatavojas ļaut 1108 00:54:34,280 --> 00:54:37,587 mums apkopot datus, datu interpretēt, faktiski darīt 1109 00:54:37,587 --> 00:54:38,920 nozīmīgas lietas ar datiem. 1110 00:54:38,920 --> 00:54:41,100 Tādā veidā, tas ir ļoti kontrole līdzīgi. 1111 00:54:41,100 --> 00:54:43,900 >> Bet tas arī notiek, lai ļautu mums parādīt lietas un drukas lietām. 1112 00:54:43,900 --> 00:54:47,021 Tādā veidā, tas ir ļoti skats līdzīgi. 1113 00:54:47,021 --> 00:54:47,520 Jā. 1114 00:54:47,520 --> 00:54:51,710 Tātad, tas ir veids kā PHP kur tā var veida būt gan. 1115 00:54:51,710 --> 00:54:53,330 Labs jautājums. 1116 00:54:53,330 --> 00:54:55,209 Jebkas cits? 1117 00:54:55,209 --> 00:54:56,000 Labi, awesome. 1118 00:54:56,000 --> 00:54:57,120 Pārvietojas tiesības kopā. 1119 00:54:57,120 --> 00:54:59,110 >> Tātad, pieņemsim redzēt piemēru par to, kā mēs varam izmantot 1120 00:54:59,110 --> 00:55:02,250 JavaScript kādā no mūsu tīmekļa programmu. 1121 00:55:02,250 --> 00:55:05,680 Tāpēc es ņemšu uzskatu, ka šis index.html ar ķekars HTML. 1122 00:55:05,680 --> 00:55:08,800 Un lieta, ko es gribu tevi koncentrēties uz tas ir skripts tag. 1123 00:55:08,800 --> 00:55:13,280 Un tas saka, OK, es gribu palaist kādu JavaScript un šeit ir tas, kur tā dzīvo. 1124 00:55:13,280 --> 00:55:15,400 Tā dzīvo hello.js. 1125 00:55:15,400 --> 00:55:21,120 >> Un ļoti daudz, piemēram, CSS, mēs varētu likts JavaScript ietvaros HTML. 1126 00:55:21,120 --> 00:55:24,000 Kāpēc mēs varētu vēlēties, lai atdalītu to ārā? 1127 00:55:24,000 --> 00:55:24,500 Jā. 1128 00:55:24,500 --> 00:55:25,486 >> Mērķauditorija: Vieglāk pārrakstīt? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH Blumbergs: Jā. 1130 00:55:26,402 --> 00:55:28,450 Tas ir vieglāk izmantot pāri Dažādu Web lapas. 1131 00:55:28,450 --> 00:55:29,980 Tas tur lietas tīrāku. 1132 00:55:29,980 --> 00:55:32,090 Tas ir tikai laba prakse. 1133 00:55:32,090 --> 00:55:32,590 Lielisks. 1134 00:55:32,590 --> 00:55:33,930 Laba atbilde. 1135 00:55:33,930 --> 00:55:36,690 Tik labi, tāpēc tas notiek būtu mūsu index.html. 1136 00:55:36,690 --> 00:55:39,430 Un tad noteikti šeit ir mūsu tiny maz JavaScript failu. 1137 00:55:39,430 --> 00:55:42,410 >> Un visi tā saka, ir brīdinājums Sveiki, pasaule. 1138 00:55:42,410 --> 00:55:46,040 Tātad, kas notiek, ir, kad šīs lapas renders-- 1139 00:55:46,040 --> 00:55:49,680 Tātad, ja jums iet uz kāda mājas lapā tas is-- viss, kas notiek varētu notikt 1140 00:55:49,680 --> 00:55:53,330 tas notiek, lai teikt, OK, es esmu gatavojas palaist šo JavaScript kodu. 1141 00:55:53,330 --> 00:55:56,370 Un šis JavaScript kodu vienkārši saka brīdinājumu Sveiki, pasaule. 1142 00:55:56,370 --> 00:55:59,090 Tāpēc es esmu gatavojas saņemt šo draudzīgs maz pop-up. 1143 00:55:59,090 --> 00:56:00,360 >> Cool? 1144 00:56:00,360 --> 00:56:04,746 Tas ir veids, piemēram, mūsu pirmais JavaScript programma, mūsu Sveiki, pasaule. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Apskatīsim mazliet vairāk par to, ko sintakse JavaScript izskatās. 1147 00:56:12,190 --> 00:56:16,330 Un konkrēti, pieņemsim salīdzināt to C un PHP, ko mēs esam redzējuši iepriekš. 1148 00:56:16,330 --> 00:56:20,610 >> JavaScript, mēs esam nāksies Var, nosaukums mainīgo, un pēc tam 1149 00:56:20,610 --> 00:56:21,690 tā faktisko vērtību. 1150 00:56:21,690 --> 00:56:26,170 Un mums nav norādīt veidu, tikai tāpat PHP, bet ļoti atšķirībā no C. 1151 00:56:26,170 --> 00:56:28,850 Tā, piemēram, ja mēs vēlējāmies lai saglabātu vērtību 50, 1152 00:56:28,850 --> 00:56:32,490 C, mums būtu jāsaka, hey, C, es gribu vesels skaitlis, 1153 00:56:32,490 --> 00:56:35,076 Es esmu gatavojas to nosaukt i, un tā vērtība ir 50. 1154 00:56:35,076 --> 00:56:36,450 PHP, tas ir mazliet vieglāk. 1155 00:56:36,450 --> 00:56:41,880 Mēs sakām, hey, es gribu mainīgo sauc i un tā vērtība ir 50. 1156 00:56:41,880 --> 00:56:45,890 Ļoti līdzīgi, JavaScript, mēs saka hey, es gribu mainīgs sauc i, 1157 00:56:45,890 --> 00:56:47,080 tā vērtība ir 50. 1158 00:56:47,080 --> 00:56:52,140 Katra nākamā reize, kad es izmantot i, man nav nepieciešams rakstīt var. 1159 00:56:52,140 --> 00:56:53,810 Tas ir tikai man no tā brīža. 1160 00:56:53,810 --> 00:56:58,660 Tādā pašā veidā, C, kur kad mēs sakām int i, mēs tikai izmantot i. 1161 00:56:58,660 --> 00:57:00,340 Cool? 1162 00:57:00,340 --> 00:57:01,800 Viss kārtībā. 1163 00:57:01,800 --> 00:57:03,710 >> Pārcelšanās uz cilpas, Par laimi, tie gandrīz 1164 00:57:03,710 --> 00:57:06,720 izskatīties exactly-- Es domāju, ka viņi tieši tāds pats kā tas, ko 1165 00:57:06,720 --> 00:57:09,799 cilpas gatavojas izskatās kaut kas, piemēram, C, kur jūsu cilpas 1166 00:57:09,799 --> 00:57:11,840 nāksies trīs parts-- inicializācijas, 1167 00:57:11,840 --> 00:57:13,640 nosacījums, un atjaunināt. 1168 00:57:13,640 --> 00:57:15,340 Kāda laika cilpa, tas izskatās tieši tā pati. 1169 00:57:15,340 --> 00:57:16,390 Mēs vienkārši to stāvokli. 1170 00:57:16,390 --> 00:57:18,264 >> Un darīt, kamēr cilpa, atkal, tieši tāds pats. 1171 00:57:18,264 --> 00:57:20,190 Mēs arī tā stāvoklis. 1172 00:57:20,190 --> 00:57:24,510 Teiksim es gribēju atkārtot over-- Es gribēju kaut ko darīt piecas reizes. 1173 00:57:24,510 --> 00:57:27,840 In C, mēs varētu rakstīt init i ir vienāds ar 0. 1174 00:57:27,840 --> 00:57:30,480 i ir mazāks nekā 5, i ++. 1175 00:57:30,480 --> 00:57:34,240 Vienīgā atšķirība, JavaScript, tā vietā, lai sakot int i ir vienāds ar 0, 1176 00:57:34,240 --> 00:57:36,820 mēs sakām VAR i ir vienāds ar 0. 1177 00:57:36,820 --> 00:57:38,370 Skaisti. 1178 00:57:38,370 --> 00:57:41,320 Tas ir vienīgā atšķirība. 1179 00:57:41,320 --> 00:57:43,200 Visus jautājumus par kādu no tā? 1180 00:57:43,200 --> 00:57:44,160 Jā. 1181 00:57:44,160 --> 00:57:48,480 >> Mērķauditorija: Tātad PHP, tas ir tas pats lieta, izņemot bet kā mainīgo? 1182 00:57:48,480 --> 00:57:49,564 Vai bija, ka ar VAR piemēram? 1183 00:57:49,564 --> 00:57:50,480 HANNAH Blumbergs: Jā. 1184 00:57:50,480 --> 00:57:52,310 Tātad PHP, tas notiek būt dolāra zīmi. 1185 00:57:52,310 --> 00:57:59,450 Tātad tas būs $ i līdztiesīgu 0, $ i ir mazāks nekā 5, $ i ++. 1186 00:57:59,450 --> 00:58:02,490 Liels jautājums. 1187 00:58:02,490 --> 00:58:04,570 >> Tagad parunāsim par funkciju deklarācijas. 1188 00:58:04,570 --> 00:58:07,010 In C, kad mēs izsludināja funkcija, mēs deva tai nosaukumu 1189 00:58:07,010 --> 00:58:08,490 un mēs to dažus parametrus. 1190 00:58:08,490 --> 00:58:10,670 Un sākumā, mēs rakstījām veidu. 1191 00:58:10,670 --> 00:58:12,440 JavaScript, viss, ko mēs ir jādara, ir rakstīt 1192 00:58:12,440 --> 00:58:15,080 atslēgvārds funkcija, kas saka, hey, JavaScript, 1193 00:58:15,080 --> 00:58:16,570 Es esmu par to, lai definētu funkciju. 1194 00:58:16,570 --> 00:58:18,520 >> Šajā gadījumā tas ir nosaukums summu. 1195 00:58:18,520 --> 00:58:20,820 Un tas aizņem divus argumentus, x un y. 1196 00:58:20,820 --> 00:58:23,280 Ievērojiet, ka mēs vienalga par veidiem x un y. 1197 00:58:23,280 --> 00:58:26,280 Un tāpat kā C, mums ir Šis atslēgvārds atgriešanās, 1198 00:58:26,280 --> 00:58:29,140 tāpēc mēs varam kaut ko darīt piemēram, atgriešanās x un y. 1199 00:58:29,140 --> 00:58:32,540 >> Un tagad, kad mēs esam rakstīts šis pirmais funkciju, mēs varam izmantot summu jebkur. 1200 00:58:32,540 --> 00:58:34,740 Un tas ir pilnīgi naudas sodu. 1201 00:58:34,740 --> 00:58:37,530 Viena tiešām atdzist lieta par JavaScript ka ir ļoti atšķirībā no C 1202 00:58:37,530 --> 00:58:40,770 ir tas, ka funkcijas var jāizturas tāpat vērtībām. 1203 00:58:40,770 --> 00:58:43,895 Tātad, mēs varam darīt kaut ko līdzīgu šeit kur es domāju, ka es uz šo up-- 1204 00:58:43,895 --> 00:58:46,400 Es uz augšu VAR summu part-- un mēs tikko teica 1205 00:58:46,400 --> 00:58:49,850 funkcija xy vienāds atgriešanās x plus y. 1206 00:58:49,850 --> 00:58:52,140 >> Tas ir tas, ko varētu saukt anonīms funkcija. 1207 00:58:52,140 --> 00:58:53,920 Tā ir funkcija, bez nosaukuma. 1208 00:58:53,920 --> 00:58:56,290 Tā kā šī saka funkcija summa, blah, blah, blah, 1209 00:58:56,290 --> 00:58:59,340 tas tikai teikt funkciju. 1210 00:58:59,340 --> 00:59:02,020 Bet tagad, lai gan man ir šī anonīma funkcija, 1211 00:59:02,020 --> 00:59:03,630 ka funkcija ir tiešām tikai vērtība. 1212 00:59:03,630 --> 00:59:05,160 Mēs varam uzskatīt to kā vērtību. 1213 00:59:05,160 --> 00:59:10,180 >> Tātad, mēs varam saglabāt to mainīgo tas pats veids, kā mēs varētu uzglabāt 50 mainīgo. 1214 00:59:10,180 --> 00:59:13,870 Tātad, mēs varam teikt, OK, es gribu mainīgs, to sauc summa, 1215 00:59:13,870 --> 00:59:16,011 un tā ir šī funkcija. 1216 00:59:16,011 --> 00:59:18,760 Tātad šīs divas lietas ir patiesībā gatavojas darīt tieši to pašu, 1217 00:59:18,760 --> 00:59:21,576 bet sintakse ir nedaudz atšķirīgs un veida jautru piezīmi. 1218 00:59:21,576 --> 00:59:22,076 Jā. 1219 00:59:22,076 --> 00:59:25,548 >> Mērķauditorija: Tātad jūs varētu zvanīt funkcija, kas bija anonīma, sakot, 1220 00:59:25,548 --> 00:59:28,244 summa kronšteini 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH Blumbergs: Jā. 1222 00:59:29,160 --> 00:59:32,280 Jūs varat zvanīt tas anonīms funkcija tādā pašā veidā. 1223 00:59:32,280 --> 00:59:33,350 Jūs varētu darīt summa (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Tas būtu pilnīgi naudas sodu. 1226 00:59:38,200 --> 00:59:41,575 >> Ja es to nedarīju VAR summa ir vienāda funkcija, ja es vienkārši izdzēsts 1227 00:59:41,575 --> 00:59:45,480 this-- Es zinu, tas ir uz manas rokas, bet izlikties es svītrots this-- tad 1228 00:59:45,480 --> 00:59:46,964 ka funkcija ir sava veida tikai aizgāja. 1229 00:59:46,964 --> 00:59:49,630 Jūs nekad nevar izmantot atkārtoti, jo jums nav vārdu par to. 1230 00:59:49,630 --> 00:59:53,497 Tas ir grūti, lai apzīmētu kaut ko jūs nezināt, ko zvanīt. 1231 00:59:53,497 --> 00:59:54,080 Labs jautājums. 1232 00:59:54,080 --> 00:59:54,580 Jā. 1233 00:59:54,580 --> 00:59:59,580 >> Mērķauditorija: Vai jūs varat atsauces apmērā citas vietas ar vērtību x plus y? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH Blumbergs: Vai jūs varat atsauces summa citās vietās 1235 01:00:01,940 --> 01:00:03,360 ar vērtību x plus y? 1236 01:00:03,360 --> 01:00:05,130 Es neesmu pilnīgi pārliecināts, ko tu domā. 1237 01:00:05,130 --> 01:00:10,582 >> Mērķauditorija: Tātad savu pagātni daļēji anonīms funkcija ir summa ir vienāda ar šī 1238 01:00:10,582 --> 01:00:14,452 anonīma funkcija, tā summa ir tagad mainīgais, kas jums can-- 1239 01:00:14,452 --> 01:00:15,410 HANNAH Blumbergs: Right. 1240 01:00:15,410 --> 01:00:18,980 Tātad summa ir mainīgs, bet tas ir actually-- 1241 01:00:18,980 --> 01:00:23,770 tā summa ir mainīgs lielums, kuru vērtība ir funkcija. 1242 01:00:23,770 --> 01:00:27,030 Tāpēc tas ir funkcija, kas ir veida dīvaini lieta wrap galvu ap 1243 01:00:27,030 --> 01:00:29,880 jo mēs esam spēlē ar C un jūs nevarat darīt, ka C. 1244 01:00:29,880 --> 01:00:32,679 Bet tagad mēs varam zvanīt summai Tāpat mēs varētu saukt summa šeit. 1245 01:00:32,679 --> 01:00:33,220 Mērķauditorija: OK. 1246 01:00:33,220 --> 01:00:33,970 HANNAH Blumbergs: Jā. 1247 01:00:33,970 --> 01:00:34,553 Labs jautājums. 1248 01:00:34,553 --> 01:00:35,438 Jā. 1249 01:00:35,438 --> 01:00:39,862 >> Mērķauditorija: Tātad mums nav izmantot prototipi PHP vai JavaScript? 1250 01:00:39,862 --> 01:00:42,070 HANNAH Blumbergs: Nē, mēs nav nepieciešams, lai izmantotu prototipus, 1251 01:00:42,070 --> 01:00:43,880 īpaši JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Tātad viena slikta prakse lieta, ka es esmu teiksiet, ka jums nevajadzētu darīt 1253 01:00:49,380 --> 01:00:52,620 ir jums nav rakstīt VAR I = 50. 1254 01:00:52,620 --> 01:00:54,840 Jūs varētu vienkārši sākt darīt i = 50. 1255 01:00:54,840 --> 01:00:57,490 Un tas tikai padara i globāls mainīgais. 1256 01:00:57,490 --> 01:01:00,550 >> Tas ir ļoti slikta prakse, lai nekad nesaki explicity VAR i, 1257 01:01:00,550 --> 01:01:01,800 bet tas ir kaut kas jūs varat darīt. 1258 01:01:01,800 --> 01:01:03,591 Tulks nav gatavojas kliegt uz tevi. 1259 01:01:03,591 --> 01:01:05,920 JavaScript ir diezgan līdzīgs, Jūs varat darīt to, ko jūs vēlaties. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 Ak, piedod. 1262 01:01:09,800 --> 01:01:10,300 Tur ir divi. 1263 01:01:10,300 --> 01:01:12,150 In apelsīnu bikses. 1264 01:01:12,150 --> 01:01:13,190 Uz priekšu. 1265 01:01:13,190 --> 01:01:14,390 >> Mērķauditorija: Nē, jums iet pirmais. 1266 01:01:14,390 --> 01:01:16,765 >> Mērķauditorija: Nē, es tikai saku Man nebija mana roku uz augšu. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 LABI. 1269 01:01:20,748 --> 01:01:26,604 Tātad, ja jums bija, lai izsauktu ka pirmo reizi, tagad Rezumējot, 1270 01:01:26,604 --> 01:01:29,864 mēs to saucam tāpat, x, y, piemēram, katru reizi? 1271 01:01:29,864 --> 01:01:30,780 HANNAH Blumbergs: Jā. 1272 01:01:30,780 --> 01:01:32,572 Tātad šie divi būtībā darīt to pašu. 1273 01:01:32,572 --> 01:01:35,113 Mērķauditorija: Un kāda ir priekšrocība no, izmantojot vienu vai otru? 1274 01:01:35,113 --> 01:01:37,500 HANNAH Blumbergs: Nē priekšrocība no, izmantojot vienu vai otru. 1275 01:01:37,500 --> 01:01:40,080 Es tikai gribēju jums parādīt divas dažādi gabaliņi sintaksi. 1276 01:01:40,080 --> 01:01:42,770 Kur anonīms daudz reižu funkcijām, ir mērķis 1277 01:01:42,770 --> 01:01:48,220 ir, ja arguments uz citu funkcija ir funkcija. 1278 01:01:48,220 --> 01:01:50,600 Un mēs redzam, ka tikai otrais ar Ajax. 1279 01:01:50,600 --> 01:01:53,577 >> Tātad, ja tas nav nekādas jēgas, uzglabāt to atpakaļ jūsu galvas. 1280 01:01:53,577 --> 01:01:55,660 Tas ir, ja anonīms funkcija var būt noderīga 1281 01:01:55,660 --> 01:01:58,284 jo tas nav īsti vērts dodot tai nosaukumu, jo mēs esam tikai 1282 01:01:58,284 --> 01:01:59,443 gatavojas izmantot to vienu reizi. 1283 01:01:59,443 --> 01:02:00,370 Jā. 1284 01:02:00,370 --> 01:02:03,635 >> Mērķauditorija: Ja x un y izmaiņas vēlāk gada, apkopos mainīties, kā arī? 1285 01:02:03,635 --> 01:02:06,510 HANNAH Blumbergs: Ja x un y izmaiņas vēlāk, apkopos mainīties, kā arī? 1286 01:02:06,510 --> 01:02:08,840 Tātad tas ir faktiski I domāju, ka kaut kas ir, 1287 01:02:08,840 --> 01:02:12,260 atkal, tas vienkārši jūtas ļoti atšķirīgs no C. Šis nav vērtība. 1288 01:02:12,260 --> 01:02:13,620 Tas nav 5. 1289 01:02:13,620 --> 01:02:15,550 Tas ir tikai funkcija pati. 1290 01:02:15,550 --> 01:02:19,110 Tātad, tiklīdz jūs piešķirat tā parametri, tad jūs faktiski aprēķināt vērtību. 1291 01:02:19,110 --> 01:02:21,193 >> MARIA ZLATKOVA: Un tad Jūs varat zvanīt funkciju 1292 01:02:21,193 --> 01:02:23,272 un izmantot to, lai saņemtu kādu vērtību. 1293 01:02:23,272 --> 01:02:24,230 HANNAH Blumbergs: Right. 1294 01:02:24,230 --> 01:02:25,250 Tieši tā. 1295 01:02:25,250 --> 01:02:25,863 Jā. 1296 01:02:25,863 --> 01:02:27,946 >> Mērķauditorija: Tātad, ja jūs vienkārši uzglabāt to mainīgo, 1297 01:02:27,946 --> 01:02:31,430 tāpat VAR X ir summa divu values-- 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH Blumbergs: Jā. 1299 01:02:32,420 --> 01:02:35,320 Tātad, jūs varētu vienkārši darīt VAR summa vienāds summa divām vērtībām. 1300 01:02:35,320 --> 01:02:37,670 Jā. 1301 01:02:37,670 --> 01:02:38,680 Jebkuri citi jautājumi? 1302 01:02:38,680 --> 01:02:39,642 Jā. 1303 01:02:39,642 --> 01:02:42,047 >> Mērķauditorija: Bet tas, kas sajaukt summu un summu? 1304 01:02:42,047 --> 01:02:45,062 Tāpat, ja jūs izsauktu mainīgo summu, Jūs zvanīt funkciju summu? 1305 01:02:45,062 --> 01:02:45,895 HANNAH Blumbergs: Mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Ja jūs kaut ko piemēram, summa ir vienāda summa 2, 5? 1308 01:02:51,253 --> 01:02:53,170 >> Mērķauditorija: Jā. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH Blumbergs: Es uzskatu, ka varētu pārrakstīt vērtību summas. 1310 01:02:56,465 --> 01:02:59,290 Tātad vēl viens interesants lieta par JavaScript 1311 01:02:59,290 --> 01:03:02,950 ir tā, ka viens mainīgais var pieņemt par ķekars dažādu veidu. 1312 01:03:02,950 --> 01:03:03,790 Slikta prakse. 1313 01:03:03,790 --> 01:03:06,280 Jums nevajadzētu darīt kaut ko patīk tas, ko jūs tikko teica. 1314 01:03:06,280 --> 01:03:10,240 >> Bet C, ja man ir uzstādīts vienāds līdz veselam skaitlim, 1315 01:03:10,240 --> 01:03:13,570 mēs zinām, ka tas nekad nav gatavojas kļūt par string. 1316 01:03:13,570 --> 01:03:15,670 Šis nav tas gadījums JavaScript. 1317 01:03:15,670 --> 01:03:17,770 Jā, labs jautājums. 1318 01:03:17,770 --> 01:03:20,151 Jebkas cits? 1319 01:03:20,151 --> 01:03:20,650 Viss kārtībā. 1320 01:03:20,650 --> 01:03:21,850 Dara visu tiesības uz laiku. 1321 01:03:21,850 --> 01:03:23,050 Turot iet. 1322 01:03:23,050 --> 01:03:25,200 Viss kārtībā. 1323 01:03:25,200 --> 01:03:27,780 >> Ja mēs skatāmies uz masīva JavaScript, šeit ir 1324 01:03:27,780 --> 01:03:30,250 ātrs piemērs masīva stīgas. 1325 01:03:30,250 --> 01:03:31,967 Un bloki var augt dinamiski. 1326 01:03:31,967 --> 01:03:33,675 Viņiem nav fiksēts lielums tāpat 1327 01:03:33,675 --> 01:03:37,990 ka viņi dara C. Mēs varam piekļūt elementi ar tikai kvadrātiekavās. 1328 01:03:37,990 --> 01:03:41,720 >> Tas izskatās daudz, piemēram, PHP, un daudz piemēram, C, kur mēs varam teikt, šajā gadījumā, 1329 01:03:41,720 --> 01:03:48,360 ja es gribēju vārdu JavaScript, es Vai Arr kvadrātiekavas ar 0, 1, 2. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 Un tad, ja jūs atceraties, C, kad mēs gribēja garums masīva, 1332 01:03:55,390 --> 01:03:56,820 tas bija tiešām kaitinošas. 1333 01:03:56,820 --> 01:03:58,460 Bet JavaScript, super viegli. 1334 01:03:58,460 --> 01:03:59,910 Viss, kas mums jādara, .length. 1335 01:03:59,910 --> 01:04:01,120 Dod to garumu. 1336 01:04:01,120 --> 01:04:01,892 Tieši tā. 1337 01:04:01,892 --> 01:04:03,140 >> Mērķauditorija: Tas ir vienkārši. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH Blumbergs: Jā, padara Jūsu dzīvi daudz vieglāku. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 OK, object-- tur nav. 1341 01:04:11,560 --> 01:04:15,480 Objekti JavaScript justies daudz, piemēram structs C 1342 01:04:15,480 --> 01:04:18,280 un asociatīvas bloki PHP. 1343 01:04:18,280 --> 01:04:20,270 Tātad, ko mēs esam redzējuši Partijas ir JSON, kas 1344 01:04:20,270 --> 01:04:23,150 stendi JavaScript Object papildinājumiem. 1345 01:04:23,150 --> 01:04:25,550 Un tas būtībā ir veids no strukturēt mūsu datiem. 1346 01:04:25,550 --> 01:04:27,880 >> Tātad, pieņemsim redzēt piemēru, iespējams, ir vienkāršākais. 1347 01:04:27,880 --> 01:04:32,540 Tātad, šeit ir piemērs objektu kas saglabā klasi, CS50. 1348 01:04:32,540 --> 01:04:37,790 Un, kad es saku klasi, es domāju, protams, ne like-- yeah, kursu, CS50. 1349 01:04:37,790 --> 01:04:40,730 Un jūs redzēsiet, ka viss objektā 1350 01:04:40,730 --> 01:04:43,526 tiks iekļauti cirtaini lencēm. 1351 01:04:43,526 --> 01:04:48,260 >> Un mēs sākam saistīt lauku nosaukumus vai taustiņi ar dažādām vērtībām. 1352 01:04:48,260 --> 01:04:52,920 Tātad jūs varat sākt, lai redzētu, kā šī veida jūtas kā asociatīvo masīvu PHP. 1353 01:04:52,920 --> 01:04:57,450 Tātad mēs ejam asociēt laukumā vai galvenais nosaukums, Protams, ar string, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Mēs ejam, lai būtu instruktors. 1356 01:04:59,940 --> 01:05:00,940 Mēs ejam, lai būtu TFS. 1357 01:05:00,940 --> 01:05:05,240 Mēs ejam, lai būtu vairāki psets un mēs ejam, lai ir reģistrēti. 1358 01:05:05,240 --> 01:05:10,720 Un viens atdzist lieta ir visiem šīs lietas ir dažādi veidi, 1359 01:05:10,720 --> 01:05:12,020 un tas ir pilnīgi naudas sodu. 1360 01:05:12,020 --> 01:05:15,330 >> Tas ir sods par objektu, patiesībā, tas ir iespējams, gaidāms objektu 1361 01:05:15,330 --> 01:05:19,620 ir kombinācija virknes un numuri un Booleans un bloki 1362 01:05:19,620 --> 01:05:23,420 un kāds cits jūs varētu gribu būt iekšpusē jūsu objektu. 1363 01:05:23,420 --> 01:05:28,570 Un ņemiet vērā, ka tie būs nosaukumi vai atslēgas, un tad mēs vienkārši 1364 01:05:28,570 --> 01:05:30,300 noteikti tas ir vienāds ar nelielu kolu. 1365 01:05:30,300 --> 01:05:32,015 >> Mērķauditorija: Ko tieši JSON nozīmē? 1366 01:05:32,015 --> 01:05:33,890 HANNAH Blumbergs: Kas tieši tas JSON nozīmē? 1367 01:05:33,890 --> 01:05:36,470 JSON tikai stendi JavaScript Object Apzīmējumi. 1368 01:05:36,470 --> 01:05:38,430 Tas ir tikai veids, formatējumu. 1369 01:05:38,430 --> 01:05:40,040 Jā. 1370 01:05:40,040 --> 01:05:41,800 Tas ir veids, formatējumu mūsu datiem. 1371 01:05:41,800 --> 01:05:43,620 >> In C, tas ir structs. 1372 01:05:43,620 --> 01:05:45,800 PHP, tas ir asociatīvās bloki. 1373 01:05:45,800 --> 01:05:47,120 JavaScript, mums ir objekti. 1374 01:05:47,120 --> 01:05:48,969 >> Mērķauditorija: Tātad CS50 ir objekts? 1375 01:05:48,969 --> 01:05:51,010 HANNAH Blumbergs: CS50 ir objekts šajā gadījumā. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Tagad, kā mēs patiesībā piekļuve šie lauki vai mainīt šos laukus. 1378 01:05:57,880 --> 01:06:03,920 Piemēram, pieņemsim, mēs nolēmām, ka jūs vēlētos vienu mazāk PSET šajā semestrī. 1379 01:06:03,920 --> 01:06:06,300 Tā vietā, lai deviņiem, mēs esam tikai nāksies astoņi. 1380 01:06:06,300 --> 01:06:08,240 Kā mēs mainīt? 1381 01:06:08,240 --> 01:06:09,436 >> Ak, nepareizs ceļš. 1382 01:06:09,436 --> 01:06:11,060 Ir divi veidi, kā mēs varam darīt. 1383 01:06:11,060 --> 01:06:13,490 Numur viens ir ar dot notācija un numur divi 1384 01:06:13,490 --> 01:06:15,750 ir ar kvadrātiekava papildinājumiem. 1385 01:06:15,750 --> 01:06:19,720 Tā, piemēram, ja I vēlējās mainīt vai piekļuves 1386 01:06:19,720 --> 01:06:26,820 psets lauks mūsu CS50 objektā, ko es varētu darīt, ir CS50.psets, 1387 01:06:26,820 --> 01:06:30,770 tā nosaukums objekta DOT nosaukums lauka vai atslēgu. 1388 01:06:30,770 --> 01:06:37,120 >> Ļoti līdzīgi, tas ir tieši tas, ekvivalents darīt CS50, un pēc tam 1389 01:06:37,120 --> 01:06:42,050 kvadrātiekavās bikšturi, psets. 1390 01:06:42,050 --> 01:06:42,837 Cool? 1391 01:06:42,837 --> 01:06:44,298 Jā. 1392 01:06:44,298 --> 01:06:47,707 >> Mērķauditorija: Tātad ir JSON tehniski JavaScript joprojām, 1393 01:06:47,707 --> 01:06:51,814 kaut arī ar psets mums nodalīt to ārā [dzirdams]? 1394 01:06:51,814 --> 01:06:52,730 HANNAH Blumbergs: Protams. 1395 01:06:52,730 --> 01:06:56,290 Tātad jautājums ir, ir JavaScript un JSON ekvivalents? 1396 01:06:56,290 --> 01:07:00,750 Tātad JSON ir apzīmējums, būtībā tā, ka mēs rakstīt out 1397 01:07:00,750 --> 01:07:02,700 objektu no JavaScript. 1398 01:07:02,700 --> 01:07:05,190 Tātad viņi nav tieši tāds pats. 1399 01:07:05,190 --> 01:07:08,950 >> Es teiktu JavaScript, tur Ir objekti JavaScript. 1400 01:07:08,950 --> 01:07:12,590 JSON ņem šos objektus un izdrukā tos un parāda tos 1401 01:07:12,590 --> 01:07:15,160 vai uzglabā tos jaukā veidā. 1402 01:07:15,160 --> 01:07:18,110 Tātad JSON nav programmēšana Valoda tā, ka JavaScript ir. 1403 01:07:18,110 --> 01:07:20,900 Tas ir tikai par notācija Mūsu objekti JavaScript. 1404 01:07:20,900 --> 01:07:21,400 Jā. 1405 01:07:21,400 --> 01:07:24,144 >> Mērķauditorija: Tātad, kas īsti [Dzirdams] pabeigt? 1406 01:07:24,144 --> 01:07:25,060 HANNAH Blumbergs: Protams. 1407 01:07:25,060 --> 01:07:27,727 Tātad tas patiesībā nav nekas. 1408 01:07:27,727 --> 01:07:28,935 Tas ir tikai veids, kā piekļūt. 1409 01:07:28,935 --> 01:07:31,393 Tātad pieņemsim, ka mēs vēlējāmies, lai mainītu skaits problemātisko komplekti 1410 01:07:31,393 --> 01:07:32,450 no deviņiem līdz astoņiem. 1411 01:07:32,450 --> 01:07:34,383 Ko mēs darām, ir kaut ko darīt tāpat CS50.psets = 8 ;. 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Jā, liels jautājums. 1414 01:07:39,400 --> 01:07:40,733 Tas ir tikai, lai parādītu jums sintaksi. 1415 01:07:40,733 --> 01:07:43,620 Vai tiešām nav darīt kaut ko noderīgu. 1416 01:07:43,620 --> 01:07:46,085 Kādi jautājumi? 1417 01:07:46,085 --> 01:07:48,210 Pārvietojas tiesības kopā. 1418 01:07:48,210 --> 01:07:51,960 >> So aplūkosim ātrs piemērs, kā JavaScript darbojas, jo es jums teicu to 1419 01:07:51,960 --> 01:07:55,170 dara visas šīs labas lietas un ļauj mums mainīt tīmekļa lapas. 1420 01:07:55,170 --> 01:07:56,970 Pieņemsim faktiski redzēt to darbībā. 1421 01:07:56,970 --> 01:07:59,850 Tātad ņemt, piemēram, šo HTML failu. 1422 01:07:59,850 --> 01:08:04,350 >> Un lieta, ko es gribu, lai jūs pievērst uzmanību ir Tas īpaši tag, kas ir poga, 1423 01:08:04,350 --> 01:08:06,182 ar id search_button. 1424 01:08:06,182 --> 01:08:08,670 Tas ir tikai uz lapu. 1425 01:08:08,670 --> 01:08:10,690 Tāpēc tagad pieņemsim redzēt, kas mēs faktiski var darīt. 1426 01:08:10,690 --> 01:08:12,560 >> Nu, pieņemsim, kad Noklikšķinot uz šīs pogas, 1427 01:08:12,560 --> 01:08:16,010 mēs vēlamies veikt alert-- Jūs uzklikšķināt uz pogas. 1428 01:08:16,010 --> 01:08:17,840 Let 's redzēt, kā mēs varam darīt. 1429 01:08:17,840 --> 01:08:23,869 Tātad window.onload-- tas nav kaut kas ka jūs esat redzējuši klasē, tāpēc 1430 01:08:23,869 --> 01:08:26,180 nav nepieciešams zināt to viktorīnas. 1431 01:08:26,180 --> 01:08:33,660 Bet tas būtībā saka, OK, zvanu Šī funkcija kad logs kravas. 1432 01:08:33,660 --> 01:08:35,080 >> Tātad tas ir tikai sava veida iestatīšanas kodu. 1433 01:08:35,080 --> 01:08:36,390 Neuztraucieties tik daudz par to. 1434 01:08:36,390 --> 01:08:39,170 Ko es gribu, lai jūs pievērst uzmanību ir šeit. 1435 01:08:39,170 --> 01:08:44,020 Mēs sakām VAR searchButton vienāds document.getElementById search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Tātad, kā jūs varētu uzminēt, Kas tas ir teikts, 1437 01:08:46,450 --> 01:08:50,920 OK, iet atrast elementu ar ID search_button. 1438 01:08:50,920 --> 01:08:52,790 Un tagad mums ir, ka faktiskais elements, un es esmu 1439 01:08:52,790 --> 01:08:56,279 gatavojas uzglabāt to mainīgs searchButton. 1440 01:08:56,279 --> 01:09:00,651 Un tagad mēs faktiski var izmantot šo elementu un mainīt to, vai piekļūt tās vērtības, 1441 01:09:00,651 --> 01:09:01,359 lietas, piemēram, ka. 1442 01:09:01,359 --> 01:09:04,649 Mēs faktiski var sākt nodarboties ar mājas lapā. 1443 01:09:04,649 --> 01:09:10,330 >> Tātad, šeit es saku, OK, tagad, ka man ir ka poga, kad tas ir noklikšķinājuši, 1444 01:09:10,330 --> 01:09:12,859 nosaukt šo anonīms funkciju. 1445 01:09:12,859 --> 01:09:16,811 Tātad, tas ir, ja anonīms funkcijas kļūt noderīga. 1446 01:09:16,811 --> 01:09:18,060 Un ko tas funkcija darīt? 1447 01:09:18,060 --> 01:09:20,529 Nu, tā vienkārši aicina šo trauksmes funkcija un tā saka, 1448 01:09:20,529 --> 01:09:22,910 noklikšķinājāt uz pogas Meklēt. 1449 01:09:22,910 --> 01:09:29,670 >> Tātad, kas notiks, ja es eju, lai kur šis HTML dzīvo un es noklikšķiniet uz pogas, 1450 01:09:29,670 --> 01:09:33,729 Es nopirkšu iedomātā nedaudz brīdinājumu ka saka, jūs uzklikšķināt uz pogas. 1451 01:09:33,729 --> 01:09:40,710 Tātad lietas, lai koncentrētos uz here-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 izpaužas īpaši HTML elements ar doto ID. 1453 01:09:44,960 --> 01:09:48,529 Un tagad mēs varam noteikt ko vajadzētu notikt, ja 1454 01:09:48,529 --> 01:09:50,702 kas īpaši elements ir uzklikšķināt. 1455 01:09:50,702 --> 01:09:52,670 >> Mērķauditorija: Mums ir, lai visi, kas ir? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH Blumbergs: Sorry? 1457 01:09:53,162 --> 01:09:55,130 >> Mērķauditorija: Vai mums fiziski kodu visu, kas? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH Blumbergs: Vai mums fiziski kodu visu, kas? 1459 01:09:56,340 --> 01:09:56,839 Jā. 1460 01:09:56,839 --> 01:09:58,120 Vai tas nav sava veida kaitinošas? 1461 01:09:58,120 --> 01:10:00,032 Tas ir daudz kodu. 1462 01:10:00,032 --> 01:10:01,574 >> Mērķauditorija: Jūs varētu importēt kaut ko. 1463 01:10:01,574 --> 01:10:02,532 HANNAH Blumbergs: Right. 1464 01:10:02,532 --> 01:10:03,610 Mēs varētu izmantot kaut ko. 1465 01:10:03,610 --> 01:10:08,140 Un particular-- ak, tas ir man saki man mācīt sadaļā. 1466 01:10:08,140 --> 01:10:11,061 Jo īpaši, pieņemsim izmantot bibliotēku jQuery, 1467 01:10:11,061 --> 01:10:13,060 jo tas bija tiešām garš un tiešām kaitinošas 1468 01:10:13,060 --> 01:10:16,860 un es vēlos, lai varētu vienkāršot to un padarīt to īsāku un vieglāk rakstīt. 1469 01:10:16,860 --> 01:10:19,810 >> Tātad jQuery ir JavaScript bibliotēka. 1470 01:10:19,810 --> 01:10:24,930 Tātad JavaScript ir programmēšana valoda; jQuery ir bibliotēka. 1471 01:10:24,930 --> 01:10:27,190 Un tas padara ķekars lietas vieglāk. 1472 01:10:27,190 --> 01:10:33,230 Tas padara mainās un iet pāri HTML dokuments daudz vieglāk. 1473 01:10:33,230 --> 01:10:35,030 >> Tas padara apstrādes notikumi vieglāk. 1474 01:10:35,030 --> 01:10:37,580 Tas padara vieglāku animācija un tas padara Ajax vieglāk. 1475 01:10:37,580 --> 01:10:40,140 Tātad pieņemsim pāriet uz diviem šīs lietas jau tagad. 1476 01:10:40,140 --> 01:10:40,900 Atvainojiet. 1477 01:10:40,900 --> 01:10:42,620 Pirms mēs darām, dažas pamata sintakse. 1478 01:10:42,620 --> 01:10:46,870 >> Tas ir tas, ko visvairāk zvani jQuery bibliotēka izskatās. 1479 01:10:46,870 --> 01:10:50,520 Mēs izmantojam šo dolāru sign-- nav savienojuma zīme PHP, 1480 01:10:50,520 --> 01:10:56,030 vienkārši inconvenient-- nosaukumu selektors, dot, un tad prasība. 1481 01:10:56,030 --> 01:10:58,860 Tātad, pieņemsim redzēt dažus konkrēti piemēri par to. 1482 01:10:58,860 --> 01:11:02,980 >> Tātad, šis faktiski ir tas pats kodu no notikuma slaida. 1483 01:11:02,980 --> 01:11:08,740 Tātad šis ilgi, neglīts lieta kļūst tas ir daudz jaukāk, mazākas lieta. 1484 01:11:08,740 --> 01:11:10,370 Tātad pieņemsim mēģināt lauzt šo leju. 1485 01:11:10,370 --> 01:11:17,090 Šis saka, OK, jQuery-- šī dolārs sign-- jQuery, atrast man logu. 1486 01:11:17,090 --> 01:11:18,480 Tā ka ir selektoru. 1487 01:11:18,480 --> 01:11:21,800 >> Kad tas slodzes, zvaniet šo funkciju. 1488 01:11:21,800 --> 01:11:23,880 Tātad tas ir viss iekšā. 1489 01:11:23,880 --> 01:11:24,380 LABI. 1490 01:11:24,380 --> 01:11:25,740 Līdz šim tik labi? 1491 01:11:25,740 --> 01:11:26,750 Viss kārtībā. 1492 01:11:26,750 --> 01:11:32,970 >> Tagad, jQuery, atrast mani ir lieta ar ID search_button. 1493 01:11:32,970 --> 01:11:36,090 Un kas tas ir noklikšķinājuši, nosaukt šo funkciju. 1494 01:11:36,090 --> 01:11:37,900 Un tad šī funkcija ir tieši tāds pats. 1495 01:11:37,900 --> 01:11:41,052 Just do mazliet no brīdinājumu, noklikšķinājāt uz pogas Meklēt. 1496 01:11:41,052 --> 01:11:42,650 >> Tātad, tas ir patiešām jauki. 1497 01:11:42,650 --> 01:11:46,260 Tas tiešām kondensējas un vienkāršo mūsu kodu. 1498 01:11:46,260 --> 01:11:49,030 Kā es zinu, ka tas ir ID search_button 1499 01:11:49,030 --> 01:11:50,960 un nepatīk klases search_button? 1500 01:11:50,960 --> 01:11:52,024 >> Mērķauditorija: hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH Blumbergs: Jā. 1502 01:11:52,940 --> 01:11:56,450 Tas hash simbols, tas ir tāpat kā CSS. 1503 01:11:56,450 --> 01:12:00,080 Līdz ar to atcerēties, ar CSS, kad mēs gribēja, lai izvēlētos kaut ko ID, 1504 01:12:00,080 --> 01:12:01,590 mēs izmantojām mārciņu zīmi. 1505 01:12:01,590 --> 01:12:05,400 Un, kad mēs vēlējāmies, lai izvēlētos kaut ko klasē, mēs izmantojam dot. 1506 01:12:05,400 --> 01:12:06,870 Liels. 1507 01:12:06,870 --> 01:12:08,230 Jēga? 1508 01:12:08,230 --> 01:12:11,500 Tātad jQuery ir paredzēts, lai vienkārši padara mūsu dzīvi vieglāku. 1509 01:12:11,500 --> 01:12:12,000 Jā. 1510 01:12:12,000 --> 01:12:15,660 >> Mērķauditorija: Tātad es esmu nedaudz mulsina, jo to, kā anonīma funkcija darbojas. 1511 01:12:15,660 --> 01:12:19,027 Vai varat nosaukt šo anonymouse funkcija, darbojas? 1512 01:12:19,027 --> 01:12:20,594 Kā to sauc? 1513 01:12:20,594 --> 01:12:21,510 HANNAH Blumbergs: Protams. 1514 01:12:21,510 --> 01:12:25,812 Tātad funkcija ir tikai atslēgvārds, kas saka, es esmu par to, lai definētu funkciju. 1515 01:12:25,812 --> 01:12:26,520 Mērķauditorija: Ak, OK. 1516 01:12:26,520 --> 01:12:27,353 HANNAH Blumbergs: OK? 1517 01:12:27,353 --> 01:12:32,120 Un tad mēs nodot to kā arguments kuri paredzēti, pieņemsim 1518 01:12:32,120 --> 01:12:37,040 šī iekšējā one-- ar klikšķi funkciju. 1519 01:12:37,040 --> 01:12:39,420 Tātad yeah, tāpēc šīs funkcijas, šī anonīma funkcija, 1520 01:12:39,420 --> 01:12:40,910 kļūst par faktisko arguments. 1521 01:12:40,910 --> 01:12:43,632 Līdz ar to atcerēties JavaScript, mēs var ārstēt funkcijas, vērtībām. 1522 01:12:43,632 --> 01:12:44,340 Mērķauditorija: Ak, OK. 1523 01:12:44,340 --> 01:12:45,256 HANNAH Blumbergs: Jā. 1524 01:12:45,256 --> 01:12:46,035 Man patīk, ka "oh." 1525 01:12:46,035 --> 01:12:47,490 Nice. 1526 01:12:47,490 --> 01:12:49,915 Citi jautājumi? 1527 01:12:49,915 --> 01:12:50,505 Time? 1528 01:12:50,505 --> 01:12:51,380 MARIA ZLATKOVA: Labi. 1529 01:12:51,380 --> 01:12:52,760 Labs. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH Blumbergs: satriecošs. 1531 01:12:54,210 --> 01:12:55,720 Dažas ātri noderīga jQuery. 1532 01:12:55,720 --> 01:12:57,559 Es neesmu gatavojas iet cauri visiem šiem. 1533 01:12:57,559 --> 01:12:59,350 Šie slaidi būs up tiešsaistes mazliet 1534 01:12:59,350 --> 01:13:02,040 vēlāk, lai jūs varētu pārbaudīt tā out mazliet vēlāk. 1535 01:13:02,040 --> 01:13:07,120 Bet būtībā, vispārējā modelis tur, kur mēs sakām, 1536 01:13:07,120 --> 01:13:11,510 OK, hey, jQuery, šeit ir mana selektors un tad šeit ir rīcība. 1537 01:13:11,510 --> 01:13:15,940 Un jūs varat darīt lietas, piemēram, piekļuve ar vērtība formā, piekļūt kādu HTML, 1538 01:13:15,940 --> 01:13:19,195 kontrole, kas notiek, kad lietotājs iesniedz formu, lietas, piemēram, ka. 1539 01:13:19,195 --> 01:13:20,106 Jā. 1540 01:13:20,106 --> 01:13:22,090 >> Mērķauditorija: Tātad eksāmenu, mēs ejam uz nepieciešamību 1541 01:13:22,090 --> 01:13:25,066 zināt diezgan daudz no jQuery dokumentācija. 1542 01:13:25,066 --> 01:13:31,018 Tāpēc, ka mēs copy / paste jQuery dokumentāciju, lai mūsu apkrāptu lapas, 1543 01:13:31,018 --> 01:13:32,506 Kur ir robeža novilkta? 1544 01:13:32,506 --> 01:13:33,957 Tāpat, cik daudz mums vajag zināt? 1545 01:13:33,957 --> 01:13:35,290 HANNAH Blumbergs: Great jautājums. 1546 01:13:35,290 --> 01:13:37,765 Jautājums ir būtības ņemot vērā, ka jums 1547 01:13:37,765 --> 01:13:41,330 nevar piekļūt jQuery dokumentāciju testa laikā, cik daudz Jums vajadzētu 1548 01:13:41,330 --> 01:13:41,830 zināt? 1549 01:13:41,830 --> 01:13:45,540 Mēs nevarētu gaidīt, lai jūs nākt klajā ar kādu izlases funkciju 1550 01:13:45,540 --> 01:13:47,240 ka mēs varētu sagaidīt jūs Google. 1551 01:13:47,240 --> 01:13:52,930 >> Lietas, kas ir godīga spēle ir man būtu teikt tikko veida vispārējo sintaksi, 1552 01:13:52,930 --> 01:13:58,310 spēt izvēlēties pēc ID un ar class-- tāpēc tāpat kā CSS. 1553 01:13:58,310 --> 01:14:01,876 Un tad faktiskie funkcijas themself, mēs varētu pateikt. 1554 01:14:01,876 --> 01:14:02,376 Jā. 1555 01:14:02,376 --> 01:14:05,591 >> Mērķauditorija: Tātad, kad jūs izvēlaties ar klasi nozīmētu dot. 1556 01:14:05,591 --> 01:14:06,840 HANNAH Blumbergs: Jā, tieši tā. 1557 01:14:06,840 --> 01:14:07,340 Labs. 1558 01:14:07,340 --> 01:14:10,461 Kad jūs izvēlaties ar klasi, tas notiek kas dot vietā restīte. 1559 01:14:10,461 --> 01:14:10,960 Jā. 1560 01:14:10,960 --> 01:14:12,710 >> Mērķauditorija: Vai jūs iet pa starpību 1561 01:14:12,710 --> 01:14:14,310 starp atlasot pēc ID un klases? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH Blumbergs: Protams. 1563 01:14:14,560 --> 01:14:17,510 Atšķirība starp atlases ID un izvēloties ar klasi. 1564 01:14:17,510 --> 01:14:20,685 Tātad, kā teica Maria a mazliet agrāk, tur 1565 01:14:20,685 --> 01:14:26,280 var būt tikai viens HTML elements ar konkrētā ID, savukārt klasē, 1566 01:14:26,280 --> 01:14:29,740 tas ļauj mums grupai ķekars atšķirīgi faktori kopā, 1567 01:14:29,740 --> 01:14:34,300 lai lietas, kas ir saistītas, bet nav tieši tāds pats. 1568 01:14:34,300 --> 01:14:35,685 Vai tas atbildēt uz jautājumu? 1569 01:14:35,685 --> 01:14:36,200 Lielisks. 1570 01:14:36,200 --> 01:14:37,194 Jā. 1571 01:14:37,194 --> 01:14:40,680 >> Mērķauditorija: Ko darīt, ja jums ir vairāki lietas, kas ir tajā pašā klasē? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH Blumbergs: Kas notiek Ja jums ir vairākas lietas, kas 1573 01:14:42,150 --> 01:14:43,280 ir vienādi klase? 1574 01:14:43,280 --> 01:14:45,829 Tā, piemēram, ja mēs tikai izmantojot tīru JavaScript, 1575 01:14:45,829 --> 01:14:48,120 mēs varētu darīt kaut ko līdzīgu document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 Un tad, kas tas patiesībā dara ir atgriežas masīvs elementiem. 1578 01:14:56,320 --> 01:14:59,517 >> Un jums ir vai nu atkārtot vairāk viņiem vai atrast kuriem viens jūs vēlaties. 1579 01:14:59,517 --> 01:15:01,350 Tas nav gatavojas sniegt Jūs esat viens elements. 1580 01:15:01,350 --> 01:15:03,450 Tas notiek, lai dotu jums masīvs elementiem. 1581 01:15:03,450 --> 01:15:05,280 Liels jautājums. 1582 01:15:05,280 --> 01:15:07,700 Jebkas cits? 1583 01:15:07,700 --> 01:15:09,520 Lielisks. 1584 01:15:09,520 --> 01:15:12,860 >> Tāpēc es domāju, ka, ja jūs esat iepazinušies ar jebkurš jQuery redzējāt uz PSET, 1585 01:15:12,860 --> 01:15:15,600 Jums vajadzētu būt labi iet. 1586 01:15:15,600 --> 01:15:16,325 Jautājums? 1587 01:15:16,325 --> 01:15:17,610 Ak, nē. 1588 01:15:17,610 --> 01:15:18,859 Man tiešām ir mācīt. 1589 01:15:18,859 --> 01:15:19,358 Atslābinieties. 1590 01:15:19,358 --> 01:15:20,035 Tas būs labi. 1591 01:15:20,035 --> 01:15:20,660 Es tur nokļūt. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> Parunāsim par Ajax. 1594 01:15:26,870 --> 01:15:31,350 Tātad Ajax būs a-- labi, Sāksim ar to, ko tas nozīmē. 1595 01:15:31,350 --> 01:15:32,350 Tas ir akronīms. 1596 01:15:32,350 --> 01:15:35,855 Tas nozīmē asinhronā JavaScript un XML. 1597 01:15:35,855 --> 01:15:39,800 Un XML pamatā būs [Dzirdams] ar tāda tipa mūsu datiem. 1598 01:15:39,800 --> 01:15:42,100 Bet mēs neesam faktiski izmantota XML. 1599 01:15:42,100 --> 01:15:43,430 Tā vietā, mēs tikai izmantot JSON. 1600 01:15:43,430 --> 01:15:48,350 >> Vārdu sakot, tas ir daži data-- asinhrono, JavaScript, un dati, 1601 01:15:48,350 --> 01:15:50,040 Šajā gadījumā, JSON. 1602 01:15:50,040 --> 01:15:52,820 Un mūsu mērķis, kā mēs minēts mazliet agrāk, 1603 01:15:52,820 --> 01:15:56,880 ir, lai varētu veikt pieprasījums, ir, ka lūgums darīt 1604 01:15:56,880 --> 01:16:00,700 tā lieta fons, bet turpina 1605 01:16:00,700 --> 01:16:02,550 darīt visu, mēs gatavojas darīt. 1606 01:16:02,550 --> 01:16:06,650 Un tad, kad šī informācija ir gatava, tad mēs iekļaut to. 1607 01:16:06,650 --> 01:16:08,470 >> Tātad, pieņemsim redzēt, ko tas tiešām izskatās. 1608 01:16:08,470 --> 01:16:11,210 Un tas, jums vajadzētu būt mazliet pazīstami 1609 01:16:11,210 --> 01:16:13,680 no pset8, vienu jūs vienkārši pagriezās. 1610 01:16:13,680 --> 01:16:16,200 Tātad, šeit ir derīgs jQuery funkcija, kas mēs varētu 1611 01:16:16,200 --> 01:16:18,250 gribu zināt about-- šo dolāra zīmi. 1612 01:16:18,250 --> 01:16:21,500 Tātad tā saka jQuery funkcija, .getJson. 1613 01:16:21,500 --> 01:16:25,020 >> Un ko šī funkcija dara tas ir aizņem URL un daži parameters-- 1614 01:16:25,020 --> 01:16:28,000 tāpēc es domāju, ka šajā gadījumā no pset8, tas bija, piemēram, 1615 01:16:28,000 --> 01:16:33,520 URL bija articles.php un parametri bija iet = dažas pasta kodu. 1616 01:16:33,520 --> 01:16:41,580 Un tā saka, OK, iesniegt pieprasījumu šis URL ar dotajiem parametriem. 1617 01:16:41,580 --> 01:16:43,480 Un tas vienkārši notiek. 1618 01:16:43,480 --> 01:16:47,730 >> Kad tas beidzas, tas ir vai nu gatavojas veiksmīgi pabeigta 1619 01:16:47,730 --> 01:16:49,370 vai tas notiek, lai izgāztos. 1620 01:16:49,370 --> 01:16:53,480 Tātad šis ir ekvivalents zvanu Rob un lūgt viņam kaut ko darīt. 1621 01:16:53,480 --> 01:17:00,260 Un tad, kad viņš prasa atpakaļ, viņš ir vai nu teiksiet es esmu darījis, vai man neizdevās. 1622 01:17:00,260 --> 01:17:04,030 >> Tātad gadījumā, ja tu esi darīts, jūs sakāt, OK, es esmu darīts. 1623 01:17:04,030 --> 01:17:05,980 Un tad jūs saucat šo funkciju. 1624 01:17:05,980 --> 01:17:08,915 Šajā gadījumā, tas būs funkcija, kas prasa zināmu informāciju. 1625 01:17:08,915 --> 01:17:12,890 Vienu mēs parasti rūp, ir dati, dati, kas mēs patiesībā atpakaļ 1626 01:17:12,890 --> 01:17:15,900 kā rezultātā zvanot .getJSON. 1627 01:17:15,900 --> 01:17:17,470 >> Un jūs varat kaut ko darīt ar to. 1628 01:17:17,470 --> 01:17:23,670 Tātad, šajā gadījumā pset8, mēs parādīta to kā sarakstu. 1629 01:17:23,670 --> 01:17:29,050 Fail būs funkcija kas ieslēdzas, ja pieprasījums neatbilst 1630 01:17:29,050 --> 01:17:30,450 kāda iemesla dēļ. 1631 01:17:30,450 --> 01:17:35,104 Un gadījumā, ja pset8, mēs vienkārši console.log to. 1632 01:17:35,104 --> 01:17:36,020 Visus jautājumus par šo? 1633 01:17:36,020 --> 01:17:36,300 Jā. 1634 01:17:36,300 --> 01:17:39,633 >> Mērķauditorija: Vai mēs varam tikai izmantot funkciju teta tā vietā, lai funkcijas, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH Blumbergs: Protams. 1637 01:17:44,380 --> 01:17:46,713 Tātad yeah, es domāju, ka PSET, mēs tikko redzējām funkciju datus. 1638 01:17:46,713 --> 01:17:48,700 Tātad tas ir tikai the-- jā, OK. 1639 01:17:48,700 --> 01:17:50,510 Tas, ko mēs redzējām PSET. 1640 01:17:50,510 --> 01:17:51,480 Tas ir pilnīgi naudas sodu. 1641 01:17:51,480 --> 01:17:54,210 >> Šie ir tikai, ja vēlaties izraut vairāk informācijas, 1642 01:17:54,210 --> 01:17:57,190 tās ir lietas, kas jūs varētu saņemt no .getJSON. 1643 01:17:57,190 --> 01:17:59,040 Labs jautājums. 1644 01:17:59,040 --> 01:17:59,706 Jebkas cits? 1645 01:17:59,706 --> 01:18:00,206 Jā. 1646 01:18:00,206 --> 01:18:01,787 >> Mērķauditorija: Tātad .getJSON ir Ajax? 1647 01:18:01,787 --> 01:18:02,620 HANNAH Blumbergs: OK. 1648 01:18:02,620 --> 01:18:05,700 Tātad šis ir sava veida kutelīgs daļa. 1649 01:18:05,700 --> 01:18:12,390 Tas ir jQuery funkcija, kas ļauj jūs darīt asinhrono zvanus. 1650 01:18:12,390 --> 01:18:16,080 Un tie asinhrono zvanus, kas ir tas, ko mēs esam atsaucoties uz kā Ajax. 1651 01:18:16,080 --> 01:18:16,850 Jā. 1652 01:18:16,850 --> 01:18:20,185 Tas bija man ļoti ilgu laiku pull izņemot tad, kad es biju students. 1653 01:18:20,185 --> 01:18:21,560 Mērķauditorija: Vai varat teikt, ka atkal? 1654 01:18:21,560 --> 01:18:22,476 HANNAH Blumbergs: Jā. 1655 01:18:22,476 --> 01:18:23,630 Vai es varu teikt, ka atkal? 1656 01:18:23,630 --> 01:18:29,010 Šī .getJSON funkcija, tas ir jQuery funkcija. 1657 01:18:29,010 --> 01:18:31,970 Un tas notiek, lai asinhrons zvanu. 1658 01:18:31,970 --> 01:18:35,700 Un šie asinhrono zvani, mēs esam tika atsaucoties uz tiem, kā Ajax. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Jebkuri citi jautājumi? 1661 01:18:41,872 --> 01:18:43,330 Mums ir tikai pa kreisi pāris minūtes. 1662 01:18:43,330 --> 01:18:45,080 Un Maria gatavojas satīt ar drošību 1663 01:18:45,080 --> 01:18:47,464 un tad mēs ejam kas tikai par darīts. 1664 01:18:47,464 --> 01:18:48,630 MARIA ZLATKOVA: satriecošs, OK. 1665 01:18:48,630 --> 01:18:54,030 Tātad tas is-- vienkārši aizņemt pāris Sekunžu lai apskatīt šo. 1666 01:18:54,030 --> 01:18:56,750 Un tas nav kaut kas tiešām liels. 1667 01:18:56,750 --> 01:18:59,430 Un var kāds man pateikt, kāpēc? 1668 01:18:59,430 --> 01:19:05,650 Kas notiek foo un var varētu potenciāli radīt kaut ko sliktu, 1669 01:19:05,650 --> 01:19:06,770 un ko tas sauc? 1670 01:19:06,770 --> 01:19:07,270 Jā. 1671 01:19:07,270 --> 01:19:10,391 Mērķauditorija: Ja arguments, kas ir pagājis ir vairāk nekā 12 rakstzīmes, 1672 01:19:10,391 --> 01:19:11,454 tas varētu pārplūst. 1673 01:19:11,454 --> 01:19:12,370 MARIA ZLATKOVA: Right. 1674 01:19:12,370 --> 01:19:14,180 Perfect. 1675 01:19:14,180 --> 01:19:15,384 Kā to sauc? 1676 01:19:15,384 --> 01:19:16,300 Jūs tikko minēja to. 1677 01:19:16,300 --> 01:19:16,840 >> Mērķauditorija: Bufera pārpildes. 1678 01:19:16,840 --> 01:19:18,381 >> MARIA ZLATKOVA: Yup, bufera pārpildes. 1679 01:19:18,381 --> 01:19:21,230 Tātad tas ir kaut kas, mēs atsaukties kā bufera pārpildes. 1680 01:19:21,230 --> 01:19:25,500 Un mēs redzam, ka iekšpusē foo, mēs esam definēta mūsu bufera, C, 1681 01:19:25,500 --> 01:19:27,240 ar izmēru 12. 1682 01:19:27,240 --> 01:19:32,680 Tomēr galvenais, mums nav pārbaudiet jebkādā veidā vispār 1683 01:19:32,680 --> 01:19:36,480 vai tā, ka argv1-- bija otrais arguments. 1684 01:19:36,480 --> 01:19:39,630 Mums nav pārbaudīt, vai izmērs no tā ir atbilstoša. 1685 01:19:39,630 --> 01:19:43,380 >> Tātad, ja mums bija īpaši ļaunprātīgs lietotājs 1686 01:19:43,380 --> 01:19:47,170 kas izvirzīti kādā argumentu, kas bija ilgāk nekā 12, un pēc tam, iespējams, 1687 01:19:47,170 --> 01:19:50,850 aiz robežas, kas arguments, bija daži izpildāmu kodu 1688 01:19:50,850 --> 01:19:55,570 ka viņš mēģina darīt kaut ko sliktu ar to; tad tas, kas notiktu, 1689 01:19:55,570 --> 01:19:59,310 svarīgākas par atgriešanos adrese foo funkciju, 1690 01:19:59,310 --> 01:20:04,370 izraisot funkciju, kad atgriežoties izpildīt šo kodu. 1691 01:20:04,370 --> 01:20:07,540 Un tad sliktas lietas varētu notikt. 1692 01:20:07,540 --> 01:20:09,850 Vai tas ir jēga, lai ikvienam? 1693 01:20:09,850 --> 01:20:12,424 >> Un kā mēs varam aizsargāt pret to? 1694 01:20:12,424 --> 01:20:13,090 Kādi ieteikumi? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Būtībā, iekšpusē potenciāli foo, kā 1697 01:20:21,890 --> 01:20:28,294 mēs varam pārbaudīt, lai pārliecinātos, ka tas nevar notikt? 1698 01:20:28,294 --> 01:20:33,879 >> Mērķauditorija: Ja lielums 12 tiek pārsniegts, jūs varētu piešķirt papildu atmiņu? 1699 01:20:33,879 --> 01:20:37,170 MARIA ZLATKOVA: ierosinājums ir, piešķirt papildu atmiņas lieluma pārsniegts. 1700 01:20:37,170 --> 01:20:39,800 Patiesībā, mēs varam darīt kaut ko vienkāršāka nekā, ka labi daudz. 1701 01:20:39,800 --> 01:20:44,870 Mēs varam tikai iegūt virknes garumu par argumentu, ka ir ievadīta, 1702 01:20:44,870 --> 01:20:48,590 pārbaudīt, ja tas ir mazāks par vai vienāds ar 12-- 1703 01:20:48,590 --> 01:20:50,790 kas ir tas, ko mēs gribam būt, jo mēs nevēlamies 1704 01:20:50,790 --> 01:20:52,373 to pārsniegusi mūsu bufera. 1705 01:20:52,373 --> 01:20:55,690 Un tad, ja tā nav, mēs var strādāt ar argumentu. 1706 01:20:55,690 --> 01:21:00,296 Un tad, ja tas tā ir, mēs tiešām gribam līdz yello potenciāli pie lietotājam. 1707 01:21:00,296 --> 01:21:01,670 Bet tas ir tas, kā mēs varētu darīt. 1708 01:21:01,670 --> 01:21:02,443 Jā. 1709 01:21:02,443 --> 01:21:04,360 >> Mērķauditorija: Vai jūs, izskaidrot memcpy nekustamo ātri? 1710 01:21:04,360 --> 01:21:05,443 MARIA ZLATKOVA: Ak, piedodiet. 1711 01:21:05,443 --> 01:21:06,040 Jā. 1712 01:21:06,040 --> 01:21:11,290 Memcpy notiek neatkarīgi is-- sorry, OK. 1713 01:21:11,290 --> 01:21:15,850 Memcpy notiek kāds ir bar, kāds ir pagājis 1714 01:21:15,850 --> 01:21:18,050 uz foo kā komandrindas argumentu. 1715 01:21:18,050 --> 01:21:19,440 Tātad, tas notiek, lai argv1. 1716 01:21:19,440 --> 01:21:21,420 Argv1 sauc bāru šeit. 1717 01:21:21,420 --> 01:21:24,453 Tātad, tas notiek, lai bāru un tas notiek, lai kopētu to c. 1718 01:21:24,453 --> 01:21:25,402 >> Mērķauditorija: OK. 1719 01:21:25,402 --> 01:21:28,360 MARIA ZLATKOVA: Un tas notiek, lai copy-- trešais arguments tikai atsaucas 1720 01:21:28,360 --> 01:21:30,601 to, cik daudz tas notiek, lai iekopēt c. 1721 01:21:30,601 --> 01:21:31,142 Mērķauditorija: Ah. 1722 01:21:31,142 --> 01:21:33,030 Tātad šis viens spēlētājs kopēšana to visu pēc tam. 1723 01:21:33,030 --> 01:21:34,310 >> MARIA ZLATKOVA: Jā, tas kopēšana visi no tā. 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 Pirmkārt, mēs pārliecināmies, bārs nav vienāds null, jo tas ir rādītājs. 1727 01:21:41,910 --> 01:21:44,680 Tad mēs iegūtu virknes garumu joslas. 1728 01:21:44,680 --> 01:21:47,530 Mēs pārliecinieties, ka tā ir mazāks par vai vienāds ar 12. 1729 01:21:47,530 --> 01:21:50,070 Un tad tāpēc, ka mēs esam pārliecinājās, mēs faktiski var 1730 01:21:50,070 --> 01:21:53,122 memcpy un būt pārliecināti, ka tas ir OK. 1731 01:21:53,122 --> 01:21:53,705 Kādi jautājumi? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Liels. 1734 01:21:58,690 --> 01:22:00,400 Man ir divi patiess vai nepatiess jautājumiem. 1735 01:22:00,400 --> 01:22:05,470 Vai kāds man pateikt uzreiz ja tie ir patiess vai nepatiess? 1736 01:22:05,470 --> 01:22:07,460 Jā, tā ir nepatiesa. 1737 01:22:07,460 --> 01:22:07,960 Tieši tā. 1738 01:22:07,960 --> 01:22:09,330 Abas no tām ir nepatiesa. 1739 01:22:09,330 --> 01:22:12,682 Tātad izmantojot vienu paroli nekad nav īsti laba ideja 1740 01:22:12,682 --> 01:22:14,890 jo, ja kāds zina, paroli, viņi var vienkārši 1741 01:22:14,890 --> 01:22:16,260 piekļūt visiem jūsu citus kontus. 1742 01:22:16,260 --> 01:22:19,260 Un tad ikonas nedarīt neko lai nodrošinātu drošību. 1743 01:22:19,260 --> 01:22:24,900 Mēs parasti jāmeklē HTTPS nevis HTTP un URL. 1744 01:22:24,900 --> 01:22:28,560 >> Un daži citi veidi uzbrukumi, ka mēs esam minēts, 1745 01:22:28,560 --> 01:22:31,390 ka Deivids ir minēts lekciju, SQL injekcijas uzbrukumu. 1746 01:22:31,390 --> 01:22:37,310 Mēs jau redzējām, ka, ja mēs don't-- CS50 query funkcija nodrošina, ka SQL 1747 01:22:37,310 --> 01:22:39,530 injekcijas uzbrukumiem nevar notikt. 1748 01:22:39,530 --> 01:22:42,640 Bet, ja mēs nebūtu izmantojot CS50, quote, likt pēdiņas beigās "in vaicājumu," 1749 01:22:42,640 --> 01:22:46,830 mums būtu pārliecināties, ka lietotājs ievade nav faktiski dažas SQL 1750 01:22:46,830 --> 01:22:49,670 vaicājums, kas radīs visu Mūsu tabulas samazinājies 1751 01:22:49,670 --> 01:22:54,070 vai kaut kas slikts, lai notikt ar mūsu datu bāzē. 1752 01:22:54,070 --> 01:22:56,790 >> Sesija nolaupīšana ir cita veida uzbrukums 1753 01:22:56,790 --> 01:23:05,940 kas notiek, kad daži slikti persona izmanto dažas upura sesiju 1754 01:23:05,940 --> 01:23:08,740 ID piekļūt pieteikšanās informāciju. 1755 01:23:08,740 --> 01:23:13,620 Tik ļoti niecīgs piemērs, kas ir piemēram, ja mums ir publisku datoru, 1756 01:23:13,620 --> 01:23:21,120 tad slikts cilvēks piesakās un pēc tam tie ir sīkdatnes, kas saglabāti. 1757 01:23:21,120 --> 01:23:23,380 Un cookies nemaina par sesiju. 1758 01:23:23,380 --> 01:23:27,620 >> Tad mēs esam cietušais iet un tad ieiet mājas lapā. 1759 01:23:27,620 --> 01:23:30,290 Šie cepumi nemaina par noteiktu sesijas. 1760 01:23:30,290 --> 01:23:33,060 Un tad cietušais piesakās mājas lapā un pēc tam atstāj. 1761 01:23:33,060 --> 01:23:36,190 Un tad persona, kas iet atpakaļ pēc tam var vēl izmantot savas sesijas ID 1762 01:23:36,190 --> 01:23:37,430 piekļūt savu informāciju. 1763 01:23:37,430 --> 01:23:40,050 Tātad tas ir viens piemērs kā tas varētu notikt. 1764 01:23:40,050 --> 01:23:45,570 >> Un tad es nebūtu jāuztraucas pārāk daudz par īpašu kodu vai kaut 1765 01:23:45,570 --> 01:23:49,270 piemēram, ka tas varētu izraisīt to, bet kam kaut kādas idejas, ko veida 1766 01:23:49,270 --> 01:23:51,400 iesaistīti šajā mainīgie ir. 1767 01:23:51,400 --> 01:23:53,897 Un tad manipulējot galveni dati ir cita veida uzbrukums 1768 01:23:53,897 --> 01:23:55,230 kas ir Deivids ir runāja par. 1769 01:23:55,230 --> 01:23:59,730 Un tas tikai norāda uz kas var notikt, ja 1770 01:23:59,730 --> 01:24:04,300 atbilde, HTTP atbilde iekšpusē mūsu header 1771 01:24:04,300 --> 01:24:05,720 nav dezinficē pareizi. 1772 01:24:05,720 --> 01:24:14,340 >> Un kāds no fields-- piemēram, ja kāds pārraksta viens no galvenes 1773 01:24:14,340 --> 01:24:18,860 Vērtības, kas satur kaut ko vairāk nekā ko viņi būtu contain-- un faktiski 1774 01:24:18,860 --> 01:24:22,720 satur, piemēram, 200 OK statusa kods, tad viņi 1775 01:24:22,720 --> 01:24:26,890 iespējams, varētu darīt ļaunprātīgs lietas, kad viņi nav paredzēts. 1776 01:24:26,890 --> 01:24:30,815 Bet es nebūtu jāuztraucas pārāk daudz par īpašo kodu 1777 01:24:30,815 --> 01:24:34,110 kas var izraisīt to, vienkārši veida izpratnes 1778 01:24:34,110 --> 01:24:37,290 augsta līmeņa lietas, piemēram, ka. 1779 01:24:37,290 --> 01:24:39,570 >> Es domāju, ka tas ir viss ka mums ir segšanai. 1780 01:24:39,570 --> 01:24:40,090 Amazing. 1781 01:24:40,090 --> 01:24:43,310 Kāds ir kādi jautājumi par kādu no lietām, ko mēs uz? 1782 01:24:43,310 --> 01:24:44,213 Jā. 1783 01:24:44,213 --> 01:24:48,077 >> Mērķauditorija: Tātad viena veida vairāk loģistikas jautājums. 1784 01:24:48,077 --> 01:24:53,400 Vai saturs galvenokārt koncentrējās par lietām pēc viktorīnā 1? 1785 01:24:53,400 --> 01:24:55,730 >> MARIA ZLATKOVA: So Jautājums ir, ir saturs 1786 01:24:55,730 --> 01:24:59,720 koncentrējas galvenokārt uz lietām pēc viktorīnā 1? 1787 01:24:59,720 --> 01:25:06,070 Tātad uzsvars tiek likts uz pēc viktorīna 1, izņemot 1788 01:25:06,070 --> 01:25:10,914 ka mums ir nepieciešams koncentrēties uz lietām pset5 un daudz datu struktūras 1789 01:25:10,914 --> 01:25:11,580 ka mēs uz. 1790 01:25:11,580 --> 01:25:14,300 Un mēs nevaram teikt, ka mēs var ignorēt kaut ko pirms 1791 01:25:14,300 --> 01:25:17,120 , jo tas balstās uz to, kā labi. 1792 01:25:17,120 --> 01:25:21,845 >> Tā koncentrēties uz to, plus pset5 materiāls tāpat arī saistītas sarakstiem, skursteņi, 1793 01:25:21,845 --> 01:25:23,720 rindas, un viss ka Hannah piegāja. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH Blumbergs: Right. 1795 01:25:24,050 --> 01:25:27,450 Jā, mēs devāmies pa visu C sīkumi pašā sākumā ļoti ātri. 1796 01:25:27,450 --> 01:25:29,090 Bet, pārliecinieties, lai pārskatītu to. 1797 01:25:29,090 --> 01:25:32,700 Iet atpakaļ un skatīties viktorīna 0 pārskatīšanu. 1798 01:25:32,700 --> 01:25:36,110 >> Pāris vairāk loģistikas piezīmes, vienkārši, bet mums ir jūsu uzmanību. 1799 01:25:36,110 --> 01:25:39,100 Mums nāksies biroja stundas gan pirmdien un otrdien naktī. 1800 01:25:39,100 --> 01:25:41,540 Viņi gatavojas būt MD 119. 1801 01:25:41,540 --> 01:25:44,220 Tas viss ir mājas lapā, tāpēc ja jums nav dzirdēt to, neuztraucieties. 1802 01:25:44,220 --> 01:25:45,266 >> MARIA ZLATKOVA: 8:30 līdz 11:00. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH Blumbergs: Jā, 8:30 līdz 11:00. 1804 01:25:46,260 --> 01:25:46,910 Mēs būsim tur. 1805 01:25:46,910 --> 01:25:48,368 Mēs būsim tur, lai atbildētu uz jautājumiem. 1806 01:25:48,368 --> 01:25:49,480 Tas ir diezgan chill un jautri. 1807 01:25:49,480 --> 01:25:53,240 Jūs guys var uzdot jebkādus jautājumus kas jums ir uz viktorīnas 1. 1808 01:25:53,240 --> 01:25:55,740 Un viktorīna 1 ir ieslēgts Trešdiena, lai jums veicas. 1809 01:25:55,740 --> 01:25:59,770 Ja jums ir kādi jautājumi, varbūt nākt runāt ar mums šeit viens-on-one. 1810 01:25:59,770 --> 01:26:00,880 Cool. 1811 01:26:00,880 --> 01:26:01,630 Liels paldies. 1812 01:26:01,630 --> 01:26:02,880 >> MARIA ZLATKOVA: Paldies tik daudz, puiši. 1813 01:26:02,880 --> 01:26:03,480 >> Mērķauditorija: Yay. 1814 01:26:03,480 --> 01:26:05,930 >> [Aplausi] 1815 01:26:05,930 --> 01:26:07,530