1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH Blumberg: Hæ allir. 3 00:00:07,030 --> 00:00:09,530 Við erum að fara að byrja bara nokkrar mínútur snemma 4 00:00:09,530 --> 00:00:11,738 þar sem við höfum allt fullt efnis að komast í gegnum. 5 00:00:11,738 --> 00:00:12,790 Ég er Hannah. 6 00:00:12,790 --> 00:00:13,865 Ég er TF. 7 00:00:13,865 --> 00:00:16,239 Maria er að fara að ganga til liðs okkur bara nokkrar mínútur. 8 00:00:16,239 --> 00:00:17,560 Hún kennir kafla rétt áður. 9 00:00:17,560 --> 00:00:19,351 Ég kenni kafla rétt eftir, þannig að við erum að fara 10 00:00:19,351 --> 00:00:21,200 að halda því til klukkutíma og hálfan. 11 00:00:21,200 --> 00:00:25,490 >> Svo eins og þú munt sjá hér, höfum við alveg nokkrar efni sem við þurfum að komast í gegnum, 12 00:00:25,490 --> 00:00:27,200 svo við munum vera að fara smá hratt. 13 00:00:27,200 --> 00:00:31,140 En ef á hverjum stað við að segja eitthvað of fljótt eða þú skilur ekki, 14 00:00:31,140 --> 00:00:33,170 ekki hika við að trufla með spurningum. 15 00:00:33,170 --> 00:00:36,610 Við viljum vera fær um að gera þetta endurskoða setu sem gagnlegt til ykkar allra 16 00:00:36,610 --> 00:00:37,973 og hægt er. 17 00:00:37,973 --> 00:00:38,920 Awesome. 18 00:00:38,920 --> 00:00:41,650 >> Svo skulum hoppa rétt með Sum efni sem við í raun 19 00:00:41,650 --> 00:00:46,980 mjög, mjög stuttlega fjallað fyrir quiz 0 í quiz 0 fundur. 20 00:00:46,980 --> 00:00:48,840 Svo að byrja með tengd listum. 21 00:00:48,840 --> 00:00:52,090 Svo bara vera viss um að þú hafa sumir grunnþekkingu um tengd listum 22 00:00:52,090 --> 00:00:55,110 og eru vel að gera sumir af the undirstöðu rekstur. 23 00:00:55,110 --> 00:00:58,560 >> Svo bara til að skoða, tengt Listarnir eru betri en fylki 24 00:00:58,560 --> 00:01:01,020 vegna þess að þeir geta vaxið mjög virk. 25 00:01:01,020 --> 00:01:03,300 Þannig að við höfum það mikið forskot. 26 00:01:03,300 --> 00:01:06,031 Við höfum séð þá notað í kjötkássa matskeið þegar við 27 00:01:06,031 --> 00:01:08,280 veit ekki nákvæmlega hversu margir það sem við erum að fara til að vilja 28 00:01:08,280 --> 00:01:10,900 til að setja inn gögn uppbygging okkar. 29 00:01:10,900 --> 00:01:15,700 Því miður höfum við stykki af tengda listanum allan minni, 30 00:01:15,700 --> 00:01:20,820 þannig að við munum ekki endilega að vera fær um að gera stöðugt tíma aðgang 31 00:01:20,820 --> 00:01:22,502 á hvaða þáttur í tengda listanum. 32 00:01:22,502 --> 00:01:24,210 Til þess að finna a Einkum þáttur, við 33 00:01:24,210 --> 00:01:26,510 að árétta allan leið frá upphafi. 34 00:01:26,510 --> 00:01:30,610 Svo hafa í huga að flest helstu aðgerðir eru omega af 1. 35 00:01:30,610 --> 00:01:32,130 Svo innskotið er bara að fara að taka 1. 36 00:01:32,130 --> 00:01:37,520 Eyða er að fara að taka n síðan vér að fara að finna það úr listanum. 37 00:01:37,520 --> 00:01:39,260 Og leita gæti tekið, í versta falli, n. 38 00:01:39,260 --> 00:01:42,330 Við getum ekki gert eitthvað eins og Tvíundarleit á tengda listanum 39 00:01:42,330 --> 00:01:45,101 þar sem við getum ekki bara handahófi hoppa til miðju. 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 Awesome. 43 00:01:48,960 --> 00:01:50,270 >> A lítill hluti af stafla. 44 00:01:50,270 --> 00:01:53,980 Þetta, aftur, kom upp á spurningakeppni 0, svo þú ætti að vera frábær ánægð með það. 45 00:01:53,980 --> 00:01:57,210 En fyrir stafla, biðjum við þig að muna stafla af stæði. 46 00:01:57,210 --> 00:01:59,940 Og það er að fara að vera fyrst í, endast út. 47 00:01:59,940 --> 00:02:02,272 Þannig að við stafla hlutum upp í stafla, og þá 48 00:02:02,272 --> 00:02:04,980 ef við erum að reyna að taka eitthvað off-- sem við köllum pabbi burt 49 00:02:04,980 --> 00:02:06,581 sem stack-- komum burt the toppur. 50 00:02:06,581 --> 00:02:09,289 Og ef við viljum setja eitthvað í stafla, við köllum það að ýta. 51 00:02:09,289 --> 00:02:13,170 Svo það er alltaf að fara að vera að alast upp frá botni eins og stafla bakka. 52 00:02:13,170 --> 00:02:14,540 Awesome. 53 00:02:14,540 --> 00:02:17,607 >> Við höfum séð stafla framkvæmda bæði tengd listum og fylki. 54 00:02:17,607 --> 00:02:19,440 Ef þú ert að innleiða með fylki, þú vilt 55 00:02:19,440 --> 00:02:22,350 að ganga úr skugga um að halda utan um bæði stærð og getu. 56 00:02:22,350 --> 00:02:27,540 Svo stærð er að fara að vera núverandi Fjöldi hluta í stafla þinn, 57 00:02:27,540 --> 00:02:32,900 en getu er heildarfjöldi af hlutum sem þú getur geymt í stafla þinn. 58 00:02:32,900 --> 00:02:34,220 Cool. 59 00:02:34,220 --> 00:02:35,767 >> Mjög álíka, höfum við biðraðir. 60 00:02:35,767 --> 00:02:38,850 Í þessu tilviki, í stað þess að hugsa um stafla af stæði, hugsa um línu. 61 00:02:38,850 --> 00:02:40,697 Þetta er að fara að vera fyrst inn, fyrst út. 62 00:02:40,697 --> 00:02:42,780 Svo ef þú ert að undirbúa fyrir eitthvað í búð, 63 00:02:42,780 --> 00:02:46,920 við vonum að sá fyrsti í lína er að fara til að fá aðstoð fyrst. 64 00:02:46,920 --> 00:02:49,350 >> Í stað þess að segja ýta og skjóta eins og við gerum fyrir mánudaginn, 65 00:02:49,350 --> 00:02:52,000 við segjum bara enqueue og dequeue. 66 00:02:52,000 --> 00:02:54,970 Og aftur, ef þú ert innleiða þetta með fjölda, 67 00:02:54,970 --> 00:02:56,720 við þurfum að halda utan sem er ekki aðeins á stærð 68 00:02:56,720 --> 00:03:02,390 og getu, en einnig yfirmaður, sem er að fara að vera framan á biðröð okkar. 69 00:03:02,390 --> 00:03:03,010 Cool. 70 00:03:03,010 --> 00:03:05,770 Einhverjar spurningar um eitthvað af því? 71 00:03:05,770 --> 00:03:06,320 Awesome. 72 00:03:06,320 --> 00:03:07,640 Flytja rétt eftir. 73 00:03:07,640 --> 00:03:08,564 >> OK, kjötkássa matskeið. 74 00:03:08,564 --> 00:03:10,605 Hér er þar sem það byrjar að fá mjög áhugavert. 75 00:03:10,605 --> 00:03:14,150 Svo er kjötkássa borð eitt framkvæmd á tengin array. 76 00:03:14,150 --> 00:03:16,700 Svo í rauninni hvað gerðist er að við höfum allt þetta inntak, 77 00:03:16,700 --> 00:03:18,750 og við gefum það til kjötkássa virka sem segir, 78 00:03:18,750 --> 00:03:21,840 OK, þetta er þar í kjötkássa borð það tilheyrir. 79 00:03:21,840 --> 00:03:24,860 >> Svo einföldustu kjötkássa virka sem við höfum séð er bara að segja, 80 00:03:24,860 --> 00:03:28,170 OK, býst við viljum að setja strengir í kjötkássa töflunni okkar. 81 00:03:28,170 --> 00:03:30,870 Og mjög einföld hugmynd gæti verið að segja, OK, 82 00:03:30,870 --> 00:03:34,350 skulum raða bara með fyrsti stafur orðsins. 83 00:03:34,350 --> 00:03:37,570 Svo er hægt að sjá hér, taka við banana, við að setja það í gegnum kjötkássa virka, 84 00:03:37,570 --> 00:03:40,190 og það segir, hey, sem ætti að fara á vísitölu 1. 85 00:03:40,190 --> 00:03:45,120 >> Svo við getum í raun hugsa um kjötkássa borð og fullt af mismunandi fötunum. 86 00:03:45,120 --> 00:03:49,880 Og hver af þeim fötunum er að fara að halda höfuð tengda listanum. 87 00:03:49,880 --> 00:03:55,030 Og í því tengda listanum er þar sem við getum setti reyndar mismunandi stykki af gögn. 88 00:03:55,030 --> 00:03:57,820 >> Svo köfun svolítið meira í kjötkássa virka, hér er 89 00:03:57,820 --> 00:03:59,870 dæmi ég bara lýst þar sem við segjum bara, 90 00:03:59,870 --> 00:04:02,460 OK, taka fyrsta stafinn orðsins og við erum 91 00:04:02,460 --> 00:04:03,990 fara að flokka það í fötunum. 92 00:04:03,990 --> 00:04:08,490 Svo væntanlega, það verður 26 fötunum, einn fyrir hvern staf í stafrófinu. 93 00:04:08,490 --> 00:04:10,090 Hvers vegna er þetta ekki mikill kjötkássa virka? 94 00:04:10,090 --> 00:04:13,461 Hvað gerir þetta ekki tilvalið? 95 00:04:13,461 --> 00:04:13,960 Já. 96 00:04:13,960 --> 00:04:15,790 >> Áhorfendur: Þú ert að fara að hafa árekstra. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH Blumberg: Já, einmitt. 98 00:04:16,390 --> 00:04:18,000 Þú ert að fara að hafa árekstra. 99 00:04:18,000 --> 00:04:18,954 Svo er það eitt. 100 00:04:18,954 --> 00:04:21,620 Og við munum tala um hvernig við getum festa árekstra á aðeins sekúndu. 101 00:04:21,620 --> 00:04:23,980 Annað vandamál með þetta einkum kjötkássa virka 102 00:04:23,980 --> 00:04:25,980 er að mismunandi okkar fötunum eru að fara að vera 103 00:04:25,980 --> 00:04:28,960 af nokkuð harkalegur mismunandi stærðum. 104 00:04:28,960 --> 00:04:33,840 >> Við vitum að það er allt fullt fleiri orð sem byrja á A en X, 105 00:04:33,840 --> 00:04:38,980 þannig að við erum að fara að hafa mjög ójafnvægi fötunum í kjötkássa töflunni okkar. 106 00:04:38,980 --> 00:04:40,050 Cool. 107 00:04:40,050 --> 00:04:41,340 Svo já, við skulum fara aftur til að benda á árekstrum. 108 00:04:41,340 --> 00:04:42,900 Hvað gerum við ef það er árekstur? 109 00:04:42,900 --> 00:04:44,490 >> Við höfum nokkrar mismunandi valkosti. 110 00:04:44,490 --> 00:04:47,600 Svo einn, svo býst við erum að reyna að setja Berry í kjötkássa töflunni okkar. 111 00:04:47,600 --> 00:04:50,370 Og við sjáum, ó, við viljum að setja það í skránni 1., 112 00:04:50,370 --> 00:04:52,070 en banani býr nú þegar. 113 00:04:52,070 --> 00:04:53,110 Hvað erum við að fara að gera? 114 00:04:53,110 --> 00:04:54,560 Við höfum tvo megin valkosti. 115 00:04:54,560 --> 00:04:58,050 >> Númer eitt er að við getum sagt, OK, það er ekkert pláss í skránni 1., 116 00:04:58,050 --> 00:05:03,210 en við skulum halda bara að horfa í gegnum þangað til við getum fundið annan opinn stað. 117 00:05:03,210 --> 00:05:08,490 Þannig að við munum segja, OK, skulum setja það í stað 3. 118 00:05:08,490 --> 00:05:09,240 Það er einn kostur. 119 00:05:09,240 --> 00:05:11,470 Það er kallað línuleg leit. 120 00:05:11,470 --> 00:05:15,500 >> Og Seinni valkosturinn er að segja, OK, vel, við skulum bara gera öllum þessum fötunum 121 00:05:15,500 --> 00:05:17,470 vera forstöðumenn tengd listum. 122 00:05:17,470 --> 00:05:21,910 Og það er allt í lagi ef það er meira en eitt í fötu. 123 00:05:21,910 --> 00:05:23,820 Við erum bara að fara að auka það á framan. 124 00:05:23,820 --> 00:05:26,032 Svo hér er hægt að sjá, OK, þegar við settum Berry, við 125 00:05:26,032 --> 00:05:28,240 bara tók banani, eins konar ýtti á smá 126 00:05:28,240 --> 00:05:29,842 og kastaði Berry þar. 127 00:05:29,842 --> 00:05:31,050 Og það er líka alveg í lagi. 128 00:05:31,050 --> 00:05:32,830 Þetta er kallað sérstakt chaining. 129 00:05:32,830 --> 00:05:38,100 Þú getur hugsað þetta eins konar eins An array af höfuð að tengjast listum. 130 00:05:38,100 --> 00:05:41,950 Einhverjar spurningar um kjötkássa töflur, kjötkássa virka? 131 00:05:41,950 --> 00:05:44,290 Awesome. 132 00:05:44,290 --> 00:05:45,470 >> Tré og reynir. 133 00:05:45,470 --> 00:05:47,287 Svo er tré hvers konar af gögn uppbygging 134 00:05:47,287 --> 00:05:49,453 þar sem það er einhvers konar stigveldi eða einhvers konar 135 00:05:49,453 --> 00:05:51,247 af röðun á mismunandi hlutum þínum. 136 00:05:51,247 --> 00:05:53,580 Og þetta mun verða frábær ljóst þegar við sjáum dæmi. 137 00:05:53,580 --> 00:05:56,960 Og við sáum tilraunir, ásamt með kjötkássa matskeið, í pset5-- 138 00:05:56,960 --> 00:06:00,700 sem, aftur, algerlega sanngjarn leikur fyrir þetta quiz-- sem annar gögnum 139 00:06:00,700 --> 00:06:03,110 mannvirki sem við getum geyma mismunandi hluti. 140 00:06:03,110 --> 00:06:06,782 Þegar um er að ræða orðabókinni, við geymt fullt af orðum. 141 00:06:06,782 --> 00:06:08,240 Svo skulum taka a líta á sumir tré. 142 00:06:08,240 --> 00:06:10,190 Svo er þetta dæmi um tré. 143 00:06:10,190 --> 00:06:13,105 Það er eins konar uppbyggingu, að valdakerfi, 144 00:06:13,105 --> 00:06:15,920 þar sem þú getur séð að þetta 1 hnút efst 145 00:06:15,920 --> 00:06:20,750 hefur einhverskonar stöðu ofan 2 og 3, sem eru yfir 4, 5, og 6 og 7, 146 00:06:20,750 --> 00:06:22,860 sem eru yfir 8 og 9. 147 00:06:22,860 --> 00:06:25,210 Svo það er allt átt við með tré, svo þú getur bara góður 148 00:06:25,210 --> 00:06:26,660 af mynd þetta í höfuðið. 149 00:06:26,660 --> 00:06:29,050 >> Nú höfum við nokkra sérhæfðari tré. 150 00:06:29,050 --> 00:06:31,070 Svo er eitt dæmi tvöfaldur tré. 151 00:06:31,070 --> 00:06:33,290 Og tvöfaldur tré er, aftur, bara að fara að vera 152 00:06:33,290 --> 00:06:37,040 gögn uppbygging með einhverskonar stigveldi, en hver hnúður 153 00:06:37,040 --> 00:06:38,650 Hægt er að hafa á flestum tvö börn. 154 00:06:38,650 --> 00:06:41,530 Það er þar sem hugtakið tvöfaldur kemur frá. 155 00:06:41,530 --> 00:06:43,410 Svo er þetta dæmi um tvöfaldur tré. 156 00:06:43,410 --> 00:06:45,720 Svo er það minni flokkur trjám. 157 00:06:45,720 --> 00:06:48,960 >> Nú skulum fá enn nákvæmari og tala um tvöfaldur trees-- tvöfaldur leit 158 00:06:48,960 --> 00:06:51,310 tré, frekar. 159 00:06:51,310 --> 00:06:56,430 Svo hér hugmyndin er ekki eini hjartarskinn hver hnútur hefur í mesta lagi tveimur börnum, 160 00:06:56,430 --> 00:07:00,300 en öll börn til vinstri eru að fara að vera minni 161 00:07:00,300 --> 00:07:03,450 og öll börnin til að rétt er að fara að vera stærri. 162 00:07:03,450 --> 00:07:05,890 Svo eftir á aðeins okkar tvöfaldur tré, það er 163 00:07:05,890 --> 00:07:08,650 engin tengsl á milli talnanna. 164 00:07:08,650 --> 00:07:12,990 En í tvöfaldur leit okkar tré, sem við sjáum, OK, hér er 44. 165 00:07:12,990 --> 00:07:17,080 Og sérhver tala vinstra megin við 44 er minni og allt til hægri 166 00:07:17,080 --> 00:07:17,920 er stærri. 167 00:07:17,920 --> 00:07:20,130 >> Og það heldur á hverjum stigi trénu. 168 00:07:20,130 --> 00:07:24,810 Svo hér, þetta er minni en 22 og þetta er stærri en 22. 169 00:07:24,810 --> 00:07:26,390 Og það er tvöfaldur leita tré. 170 00:07:26,390 --> 00:07:28,900 Hvers vegna eigum við held að það heitir tvíleitartré? 171 00:07:28,900 --> 00:07:30,651 Hvað reiknirit er það minna þig á? 172 00:07:30,651 --> 00:07:31,650 Áhorfendur: Binary leit. 173 00:07:31,650 --> 00:07:32,480 HANNAH Blumberg: Binary leit. 174 00:07:32,480 --> 00:07:35,150 Vegna þess að ef þú ert að leita að Einkum tala í þessu tré, 175 00:07:35,150 --> 00:07:38,800 á hverjum stað, getur þú bara högg burt helmingur af því tré, sem er frábært. 176 00:07:38,800 --> 00:07:43,800 Og svo það er að fara að gefa okkur eitthvað sem lítur mikið eins og tvöfaldur leit. 177 00:07:43,800 --> 00:07:45,870 Einhverjar spurningar? 178 00:07:45,870 --> 00:07:47,570 Allt í lagi, flott. 179 00:07:47,570 --> 00:07:48,560 >> Allt í lagi, reynir. 180 00:07:48,560 --> 00:07:49,657 Hvers manns hugljúfi. 181 00:07:49,657 --> 00:07:51,990 Þannig að þetta er dæmi sem við höfum séð fullt í bekknum. 182 00:07:51,990 --> 00:07:54,710 Og aftur, þetta er bara annað þannig að við getum geymt gögn. 183 00:07:54,710 --> 00:07:57,530 Þegar um er að ræða orðabókinni, aftur, þetta er bara að fara að vera strengi. 184 00:07:57,530 --> 00:08:00,870 Svo skulum sjá hvað þetta raunverulega lítur út eins og á aðeins lægra stigi. 185 00:08:00,870 --> 00:08:03,690 >> Svo skulum taka a líta á einum hnút í Trie. 186 00:08:03,690 --> 00:08:07,532 Og við sjáum, OK, það er að fara að vera Boolean og hnút, 187 00:08:07,532 --> 00:08:09,170 bendi á hnút. 188 00:08:09,170 --> 00:08:11,400 Og við sjáum að Boolean heitir is_word. 189 00:08:11,400 --> 00:08:13,490 Svo í raun, það er að fara að svara 190 00:08:13,490 --> 00:08:16,750 þessum litlu þríhyrninga sem segir, ef þú hefur fengið hér, 191 00:08:16,750 --> 00:08:19,100 þú hefur fundið fullkomið orð. 192 00:08:19,100 --> 00:08:23,670 >> Við vitum að "Turing" yfir hér er heill orð, 193 00:08:23,670 --> 00:08:28,030 en bara T-U-R er ekki orð vegna þess að við sjáum ekki þessi litla delta. 194 00:08:28,030 --> 00:08:31,440 Og að lítið Delta, aftur, samsvarar þetta is_word, 195 00:08:31,440 --> 00:08:34,480 þetta Boolean is_word. 196 00:08:34,480 --> 00:08:36,320 Og þá höfum við fjölda barna. 197 00:08:36,320 --> 00:08:39,860 Svo á hverju stigi, þú hafa ákveðna hnút, 198 00:08:39,860 --> 00:08:42,470 og hnút stig til að array af öllu stafrófinu. 199 00:08:42,470 --> 00:08:44,346 >> Svo þú sérð, aftur, í þessum picture-- ég 200 00:08:44,346 --> 00:08:48,170 fara að halda stökk aftur og forth-- sem að array efst 201 00:08:48,170 --> 00:08:51,640 hefur fullt af mismunandi hnúður koma burt af því. 202 00:08:51,640 --> 00:08:57,140 Það hefur 26 eða 27 ef þú vilt að fela auka staf. 203 00:08:57,140 --> 00:09:01,320 Og þetta gefur okkur leið til að geyma gögn okkar 204 00:09:01,320 --> 00:09:04,450 á þann hátt sem hægt er að leit á að þú getur litið upp frábær fljótur. 205 00:09:04,450 --> 00:09:06,650 Hvað er útlit tími fyrir Trie? 206 00:09:06,650 --> 00:09:07,970 >> Áhorfendur: [inaudible]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH Blumberg: Já. 208 00:09:08,300 --> 00:09:09,550 Í orði, það er stöðug tími. 209 00:09:09,550 --> 00:09:13,230 Það er bara að fara að vera á stærð við orðið sem þú vilt að fletta upp. 210 00:09:13,230 --> 00:09:15,950 Jafnvel ef við bæta zillion fleiri orð til Trie okkar, 211 00:09:15,950 --> 00:09:18,160 það er ekki að fara að taka okkur lengur til að ákvarða 212 00:09:18,160 --> 00:09:19,690 Ef tiltekið orð er í Trie. 213 00:09:19,690 --> 00:09:21,412 Svo er það mjög gott. 214 00:09:21,412 --> 00:09:23,697 >> Áhorfendur: Vissir þú bara frumstilla að array? 215 00:09:23,697 --> 00:09:24,780 Þú misstir punkt eða tvær. 216 00:09:24,780 --> 00:09:26,130 Getur þú talað bara um sem eitt augnablik? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH Blumberg: Jú, alveg. 218 00:09:26,680 --> 00:09:27,590 Góð spurning. 219 00:09:27,590 --> 00:09:31,140 Spurningin var, við hafa array sem er 220 00:09:31,140 --> 00:09:34,180 fara að hafa hnút stjörnuna sem öfugt við bara hnút, ekki satt? 221 00:09:34,180 --> 00:09:35,180 Cool. 222 00:09:35,180 --> 00:09:37,990 Svo hér það sem við erum að segja er array okkar er bara 223 00:09:37,990 --> 00:09:40,035 að fara að vera ábendingum til annarra fylki. 224 00:09:40,035 --> 00:09:42,910 Svo það er essentially-- það konar líður eins og tengda listanum með þessum hætti 225 00:09:42,910 --> 00:09:46,620 þar sem hver af þessum börnum bara benda á næsta hnút. 226 00:09:46,620 --> 00:09:49,030 >> Og hvernig sem við reyndar ákveða, hey, OK, 227 00:09:49,030 --> 00:09:52,320 við höfum ítrekað í gegnum heilt orð, er þetta orð í orðabókinni, 228 00:09:52,320 --> 00:09:54,476 við athugum bara þessa is_word. 229 00:09:54,476 --> 00:09:55,100 Frábær spurning. 230 00:09:55,100 --> 00:09:55,675 Já. 231 00:09:55,675 --> 00:09:56,216 Áhorfendur: OK. 232 00:09:56,216 --> 00:09:57,470 Svo það var afturkreistingur fyrir Trie? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH Blumberg: Jú. 234 00:09:58,386 --> 00:10:01,852 Svo afturkreistingur fyrir Trie fyrir uppflettingu er að fara að vera stöðug tími. 235 00:10:01,852 --> 00:10:04,310 Svo það er bara að fara að vera fjöldi bréfa í orðinu. 236 00:10:04,310 --> 00:10:06,310 Það er ekki háð Stærð orðabókina 237 00:10:06,310 --> 00:10:09,510 eða stærð gögn uppbygging. 238 00:10:09,510 --> 00:10:12,170 Svo hér er örlítið einfaldari dæmi. 239 00:10:12,170 --> 00:10:15,430 >> Í þessu tilfelli, þú getur séð að orðið kylfa er í orðabókinni 240 00:10:15,430 --> 00:10:18,900 og þú hefur zoom, en þú hefur ekki eitthvað eins dýragarðinum. 241 00:10:18,900 --> 00:10:20,050 Hvernig myndum við gera dýragarðinum? 242 00:10:20,050 --> 00:10:24,276 Hvernig eigum við að bæta dýragarðinum til okkar orðabók, til Trie okkar? 243 00:10:24,276 --> 00:10:24,776 Já. 244 00:10:24,776 --> 00:10:27,014 >> Áhorfendur: Gerðu is_word satt fyrir [inaudible]. 245 00:10:27,014 --> 00:10:27,930 HANNAH Blumberg: Good. 246 00:10:27,930 --> 00:10:31,731 Svo við myndum segja Z-O-O, og þá við myndum langar að skrá sig á kassann eins og heilbrigður. 247 00:10:31,731 --> 00:10:32,230 Great. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 Við skulum bera saman mjög stuttlega reynir móti kjötkássa matskeið. 250 00:10:37,930 --> 00:10:39,770 Reynir eru mjög mikill vegna þess, eins og ég sagði, 251 00:10:39,770 --> 00:10:41,610 þeir veita stöðug skipti útlit. 252 00:10:41,610 --> 00:10:44,285 En mikið ókostur er þeir eru humongous. 253 00:10:44,285 --> 00:10:46,160 Þú getur fengið tilfinningu, jafnvel með því að horfa á það, 254 00:10:46,160 --> 00:10:48,454 að það er að fara að taka a gríðarstór magn af minni. 255 00:10:48,454 --> 00:10:50,620 Svo þeir eru að fara að vera mikið stærri en kjötkássa matskeið, 256 00:10:50,620 --> 00:10:52,270 en þeir eru að fara að gefa okkur mun hraðar útlit sinnum. 257 00:10:52,270 --> 00:10:54,478 Svo er það eins konar þinn tradeoff, hvað þér þykir vænt um, 258 00:10:54,478 --> 00:10:57,350 hvort sem það er að stjórna hraða eða minni. 259 00:10:57,350 --> 00:11:02,251 Einhverjar spurningar um eitthvað af því, allar C gögn uppbygging. 260 00:11:02,251 --> 00:11:02,750 Beautiful. 261 00:11:02,750 --> 00:11:03,250 OK. 262 00:11:03,250 --> 00:11:07,322 Við erum að fara að fara á smá hluti af þróun vefur með Maria. 263 00:11:07,322 --> 00:11:08,280 MARIA ZLATKOVA: Lovely. 264 00:11:08,280 --> 00:11:09,036 OK. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH Blumberg: Þú getur notað fartölvuna mína. 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, flott. 269 00:11:14,912 --> 00:11:17,120 Eins og við snúum okkur til vefur þróun, talaði við smá 270 00:11:17,120 --> 00:11:20,680 um að breyta aðgangsheimildum skráa og möppur 271 00:11:20,680 --> 00:11:24,190 svo að þeir geti verið aðgengileg til annarra notenda, að í heiminum, 272 00:11:24,190 --> 00:11:28,640 og svo að við getum séð hvernig grundvallaratriðum við getum miðla þeim 273 00:11:28,640 --> 00:11:32,600 þegar við að þróa hluti eins vefsíður sem við höfum aðallega verið að gera. 274 00:11:32,600 --> 00:11:36,400 >> Þannig að við sáum chmod skipunina, sem er breyting ham, í grundvallaratriðum. 275 00:11:36,400 --> 00:11:39,300 Það er Linux stjórn og það breytist heimildir 276 00:11:39,300 --> 00:11:40,410 af skrá kerfi hlutum. 277 00:11:40,410 --> 00:11:43,370 Og skrá kerfi mótmæla er bara skrá, skrá, 278 00:11:43,370 --> 00:11:46,810 eitthvað sem þú getur breyta heimildum. 279 00:11:46,810 --> 00:11:53,750 >> Svo til að sjá skrá heimildir, við slá skipunina LS, lista, -L. 280 00:11:53,750 --> 00:11:56,500 Og þegar við slá það, við yfirleitt sjá nokkur heimildir 281 00:11:56,500 --> 00:11:59,660 að líta svona eins og þetta framan nafn á möppu. 282 00:11:59,660 --> 00:12:01,260 Svo vísar d að skrá. 283 00:12:01,260 --> 00:12:05,930 Og þá höfum við þrjú triads sem í grundvallaratriðum 284 00:12:05,930 --> 00:12:11,675 vísa til aðgangsheimildum annaðhvort notandi, hópur, eða heimurinn. 285 00:12:11,675 --> 00:12:16,490 >> Tegundir af heimildum sem við getum hafa þessa þrjá hópa fólks 286 00:12:16,490 --> 00:12:20,830 eru ýmist r fyrir að lesa, w fyrir skrifa, og x fyrir framkvæma. 287 00:12:20,830 --> 00:12:23,650 Og við getum haft þá fyrir hópurinn og heimurinn eins og heilbrigður. 288 00:12:23,650 --> 00:12:26,940 The erfiður hlutur er að stundum þegar við slá chmod skipunina, 289 00:12:26,940 --> 00:12:32,960 við myndum slá sumir tala sem samanstóð af þremur bitum. 290 00:12:32,960 --> 00:12:36,990 Þannig að við gætum gert eins 777 og að í grundvallaratriðum 291 00:12:36,990 --> 00:12:40,450 vísað til virðisauka af öllum þessum triads 292 00:12:40,450 --> 00:12:45,060 vegna r myndi vísa til 4, W myndi vísa til 2, og X myndi vísa til 1, 293 00:12:45,060 --> 00:12:50,020 þannig að þegar því er bætt upp, hvert af númerum myndi koma niður að uppsöfnuð tala 294 00:12:50,020 --> 00:12:52,750 að uppsöfnuð gildi milli 0 og 7. 295 00:12:52,750 --> 00:12:55,150 Svo við gætum einnig hafa 0 fyrir ekki heimildir á öllum. 296 00:12:55,150 --> 00:12:58,200 Og sem myndi grundvallaratriðum gefa okkur heimildir fyrir annaðhvort notanda, 297 00:12:58,200 --> 00:13:00,450 hópurinn, eða heimurinn. 298 00:13:00,450 --> 00:13:02,620 Einhverjar spurningar um þetta svo langt? 299 00:13:02,620 --> 00:13:05,331 >> Áhorfendur: Þú sagði lesið var 4? 300 00:13:05,331 --> 00:13:06,164 MARIA ZLATKOVA: Já. 301 00:13:06,164 --> 00:13:07,568 Áhorfendur: [inaudible]. 302 00:13:07,568 --> 00:13:08,504 HANNAH Blumberg: Yup. 303 00:13:08,504 --> 00:13:11,790 Áhorfendur: Og svo með því að bæta öllum þeim aðrir mundu benda númer. 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 Þetta eru frábær spurningar. 307 00:13:17,810 --> 00:13:20,490 Lovely. 308 00:13:20,490 --> 00:13:25,340 Næst, stökk við í HTML og a aðeins meira um þróun á vefnum. 309 00:13:25,340 --> 00:13:27,990 Svo HTML þýðir bara HyperText Markup Language. 310 00:13:27,990 --> 00:13:30,460 Og það er Markup tungumál sem er staðlað 311 00:13:30,460 --> 00:13:32,720 sem það er notað til að búa til vefsíður. 312 00:13:32,720 --> 00:13:35,750 >> Það er kallað Markup Language vegna þess að það er í raun ekki saman. 313 00:13:35,750 --> 00:13:40,310 Það þýðir ekki að segja hvernig sumir númer ætti að framkvæma eða eitthvað svoleiðis. 314 00:13:40,310 --> 00:13:44,800 Það lýsir bara og lýsir því hvernig vefur 315 00:13:44,800 --> 00:13:46,840 síða ætti að vera sett upp við hvert rununni 316 00:13:46,840 --> 00:13:48,460 og hvernig þeir ættu að líta til notandans. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> Sumir af the HTML tags sem við fór yfir eru eftirfarandi. 319 00:13:57,110 --> 00:14:00,500 Öll HTML skjöl okkar byrjaði með DOCTYPE HTML. 320 00:14:00,500 --> 00:14:02,550 Þá höfum við alltaf HTML tag. 321 00:14:02,550 --> 00:14:03,930 Við höfum höfuð og líkama. 322 00:14:03,930 --> 00:14:07,890 Og það er mikilvægt að HTML er Þessi tegund af hreiður uppbygging 323 00:14:07,890 --> 00:14:09,280 vegna þess að það er mjög skýr. 324 00:14:09,280 --> 00:14:13,200 Og þá verður það mjög ljóst þegar við þarf að opna og í raun loka tags. 325 00:14:13,200 --> 00:14:18,400 Og við þurfum alltaf að loka merki sem við höfum opnað. 326 00:14:18,400 --> 00:14:23,170 >> Og hér höfum við sumir af the tegund af hlutum framundan sem við viljum hafa. 327 00:14:23,170 --> 00:14:26,580 Þannig að við höfum, til dæmis, titill CS50. 328 00:14:26,580 --> 00:14:31,980 Og þá erum við í raun getur tengt stílblað 329 00:14:31,980 --> 00:14:34,030 sem skilgreinir hvernig við stíl vefsíðuna okkar. 330 00:14:34,030 --> 00:14:35,650 Það er CSS. 331 00:14:35,650 --> 00:14:39,320 Við ætlum að fara yfir það í næstu glærum eins og heilbrigður. 332 00:14:39,320 --> 00:14:42,580 >> Í líkamanum, við setjum sumir flokkar og auðkenni. 333 00:14:42,580 --> 00:14:45,860 Og eins og áminning, aftur, Auðkenni eru einstök og námskeið 334 00:14:45,860 --> 00:14:47,390 geta verið úthlutað til marga hluti. 335 00:14:47,390 --> 00:14:52,110 Og það þýðir bara að við getum notað flokka og auðkenni 336 00:14:52,110 --> 00:14:55,860 innan hins structures-- svo, að dæmi, innan CSS skrár eða stíl 337 00:14:55,860 --> 00:15:00,940 sheets-- að vísa til ákveðinna þátta og í rauninni segja að við viljum að stíll 338 00:15:00,940 --> 00:15:03,280 eða hönnun sumir þáttur á einhvern ákveðinn hátt. 339 00:15:03,280 --> 00:15:06,440 Og við vísa til þeirra með Auðkenni þeirra og flokkum. 340 00:15:06,440 --> 00:15:09,870 Og við getum einnig átt við mismunandi hlutir eftir tags eins og heilbrigður, 341 00:15:09,870 --> 00:15:13,830 en kenni og flokkar bara gefa okkur nokkrar fjölhæfni og hvað sérstaklega við 342 00:15:13,830 --> 00:15:15,850 vilja til að vísa til. 343 00:15:15,850 --> 00:15:19,620 >> Svo bara dæmi. 344 00:15:19,620 --> 00:15:22,730 Við getum aftur innan CSS skrá þar sem við 345 00:15:22,730 --> 00:15:25,770 viljir tilgreina nokkrar style-- svo liti, letur, 346 00:15:25,770 --> 00:15:30,340 og efni eins that-- við getum skilgreina stíl fyrir aðila. 347 00:15:30,340 --> 00:15:32,640 Svo sem myndi skilgreina það fyrir allan líkamann merkinu. 348 00:15:32,640 --> 00:15:36,160 En þá getum við einnig að skilgreina stíl fyrir #title. 349 00:15:36,160 --> 00:15:40,390 Og aftur, hashtag átt við okkar ID og punktur vísar til bekknum. 350 00:15:40,390 --> 00:15:44,760 >> Síðan fyrir Upplýsa við Einnig er hægt að setja nokkrar eiginleika. 351 00:15:44,760 --> 00:15:49,750 Og aftur, þegar við förum til baka, við höfðum okkar flokkur sem kallast upplýsingar og ID titill okkar. 352 00:15:49,750 --> 00:15:53,422 Og við sjáum að við vísa þeim með #title og Upplýsa. 353 00:15:53,422 --> 00:15:55,380 Áhorfendur: Vilt þú segir kassamerki [? ættleiða mig? ?] 354 00:15:55,380 --> 00:15:55,725 MARIA ZLATKOVA miður? 355 00:15:55,725 --> 00:15:58,120 Áhorfendur: Vilt þú segir kassamerki [? ættleiða mig? ?] 356 00:15:58,120 --> 00:16:01,400 MARIA ZLATKOVA: Hashtag þýðir barnsins, svo #title 357 00:16:01,400 --> 00:16:07,890 er átt við hvað sem þætti hafa þetta auðkenni heitir titill. 358 00:16:07,890 --> 00:16:10,735 Og þá er átt punktur í flokki. 359 00:16:10,735 --> 00:16:14,590 Svo vísar Lesblinda þessari frumefni vegna þess að það hefur flokks vöru. 360 00:16:14,590 --> 00:16:15,090 Já. 361 00:16:15,090 --> 00:16:17,905 >> Áhorfendur: Hvers vegna heldur þú greina þær í HTML? 362 00:16:17,905 --> 00:16:20,985 Hvers vegna segir þú vissir hlutir eru Kenni og ákveðin atriði eru bekknum? 363 00:16:20,985 --> 00:16:22,610 MARIA ZLATKOVA: Það er bara allt að you-- 364 00:16:22,610 --> 00:16:24,151 HANNAH Blumberg: Endurtaka spurningu. 365 00:16:24,151 --> 00:16:25,370 MARIA ZLATKOVA: Ó, fyrirgefðu. 366 00:16:25,370 --> 00:16:29,480 Hvers vegna eigum við að greina ákveðna þætti eins auðkenni og önnur atriði sem flokka? 367 00:16:29,480 --> 00:16:34,760 Það er bara vegna þess að það er virkilega oft hönnun val. 368 00:16:34,760 --> 00:16:38,520 Það gefur þér mikið af fjölhæfni í að vera 369 00:16:38,520 --> 00:16:43,250 fær um að segja að ég vil þetta tiltekna atriði að hafa þetta auðkenni vegna þess að þeir vilja 370 00:16:43,250 --> 00:16:45,300 að gera a einhver fjöldi af hlutur með það, og ég bara 371 00:16:45,300 --> 00:16:50,010 vilja til að skilgreina stíl, ákveðinn stíl eða lit hvað fyrir þessi atriði. 372 00:16:50,010 --> 00:16:52,630 Og leiðin til að gera það er bara að gefa það kenni. 373 00:16:52,630 --> 00:16:55,060 >> Og þá ef ég vil hafa a par af mismunandi hlutum 374 00:16:55,060 --> 00:16:58,940 að hafa það, í stað þess að fara og setja their-- 375 00:16:58,940 --> 00:17:03,840 í stað þess að gera það með því að tag því tag myndi 376 00:17:03,840 --> 00:17:07,369 að stilla hólf til að sjá alla merkinu fyrir hvert skipti sem tag er notað, 377 00:17:07,369 --> 00:17:09,740 þú getur stillt bekknum að mörg atriði. 378 00:17:09,740 --> 00:17:15,109 Og þá bara fá aðgang að bekknum og segja Ég vil að stíll þessum flokki þannig. 379 00:17:15,109 --> 00:17:17,579 >> Og aftur, bekknum getur verið margar mismunandi hlutir 380 00:17:17,579 --> 00:17:21,150 og ID er að vera einstakt. 381 00:17:21,150 --> 00:17:21,849 Frábærir spurningar. 382 00:17:21,849 --> 00:17:25,339 Aðrar spurningar? 383 00:17:25,339 --> 00:17:26,220 OK, ógnvekjandi. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Aftur, þetta er hvernig þessar selectors eru vísað í CSS, með hashtag, 386 00:17:35,330 --> 00:17:40,031 með punkti, eða án þess að nokkuð fyrir framselja stíl einhverjum tag, 387 00:17:40,031 --> 00:17:40,530 eins og líkami. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 Og hér höfum við almennt setningafræði hvernig þetta er gert. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> Að endurtaka sumir bestu leiðirnar til HTML og CSS, 392 00:17:55,680 --> 00:17:59,170 við þurfum að, aftur, loka öllum HTML tög sem við opinn. 393 00:17:59,170 --> 00:18:03,950 Og það sem við með þér gera lokaverkefni þínum, 394 00:18:03,950 --> 00:18:10,560 sem og CS50 fjármálaráðherra, er að gera tryggja að öll HTML í gildi. 395 00:18:10,560 --> 00:18:12,920 Og það er gert með w3 Staðfestir. 396 00:18:12,920 --> 00:18:16,940 >> Og þá hvað við gerðum og það sem við mælum gera 397 00:18:16,940 --> 00:18:19,790 er að aðgreina stíl, svo CSS frá Markup HTML. 398 00:18:19,790 --> 00:18:24,210 Svo eitthvað sem tengist hvernig síðu er að fara að sjónrænt líta 399 00:18:24,210 --> 00:18:27,330 og hvernig það er að fara að breyta ætti að fara í CSS skjal. 400 00:18:27,330 --> 00:18:33,880 Og þá sniðinu segja hvernig hlutirnir eru í tengslum við hvert annað er HTML, 401 00:18:33,880 --> 00:18:37,550 og sem ætti að fara inn HTML skjölum. 402 00:18:37,550 --> 00:18:38,590 Einhverjar spurningar? 403 00:18:38,590 --> 00:18:39,226 MHM. 404 00:18:39,226 --> 00:18:42,628 >> Áhorfendur: Hvað nákvæmlega er að gerast á með síðu löggilding 405 00:18:42,628 --> 00:18:47,945 þegar við erum að staðfesta HTML sem [inaudible] búin? 406 00:18:47,945 --> 00:18:49,850 >> MARIA ZLATKOVA: Svo what-- hugsa þig. 407 00:18:49,850 --> 00:18:53,020 Og hvað nákvæmlega er að fara á með síðu löggilding 408 00:18:53,020 --> 00:18:55,570 og hvers vegna þurfum við að gera það? 409 00:18:55,570 --> 00:18:59,180 Í grundvallaratriðum, við þurfum að gera það vegna þess að einhver fjöldi af sinnum, vafrinn þinn, 410 00:18:59,180 --> 00:19:01,390 ef þú lokar ekki merki eða eitthvað svoleiðis, 411 00:19:01,390 --> 00:19:05,680 Vafrinn þinn er enn að fara að bakið á síðu og gæti enn vinna, 412 00:19:05,680 --> 00:19:10,840 en það er best æfa sig til að ganga úr skugga um að þú hefur, aftur, lokað öllum tags þinn, 413 00:19:10,840 --> 00:19:13,190 að allir þættir eru á þann hátt að þeir ættu að vera, 414 00:19:13,190 --> 00:19:18,470 og í rauninni að það er komi samninga sem eru settar. 415 00:19:18,470 --> 00:19:21,970 >> Það er, aftur, bara hlutur sem þú ættir 416 00:19:21,970 --> 00:19:24,040 að læra að vera að gera, öfugt við að hafa 417 00:19:24,040 --> 00:19:25,696 sloppier kóða og svoleiðis. 418 00:19:25,696 --> 00:19:26,688 Já. 419 00:19:26,688 --> 00:19:27,680 Ó fyrirgefðu. 420 00:19:27,680 --> 00:19:29,221 Ég hélt að þú værir að hækka hönd þína. 421 00:19:29,221 --> 00:19:31,240 Áhorfendur: Nei, ég var bara [inaudible]. 422 00:19:31,240 --> 00:19:33,800 >> MARIA ZLATKOVA: OK. 423 00:19:33,800 --> 00:19:34,640 >> Áhorfendur: Þakka þér. 424 00:19:34,640 --> 00:19:36,181 >> MARIA ZLATKOVA: Auðvitað, þakka þér. 425 00:19:36,181 --> 00:19:41,680 Svo aftur, fara á í hvernig upplýsingar eru fluttar 426 00:19:41,680 --> 00:19:44,630 og samskipti módel til að flytja upplýsingar. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP þýðir bara Sending Control Protocol og IP 429 00:19:48,600 --> 00:19:51,260 er átt við Internet Protocol. 430 00:19:51,260 --> 00:19:54,275 Og það bara átt við hvernig gögn eru afhent. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Ef við höfum nokkrar upplýsingar sem þarf að afhenda you-- svo 433 00:20:02,710 --> 00:20:06,770 þú leggja fram beiðni um tiltekinn miðlara. 434 00:20:06,770 --> 00:20:09,800 Til dæmis, þegar við reyna að komast cs50.net, 435 00:20:09,800 --> 00:20:12,420 við leggja fram beiðni til CS50 miðlara og við 436 00:20:12,420 --> 00:20:14,720 sjá að við viljum fá Þessi tegund af upplýsingum. 437 00:20:14,720 --> 00:20:19,294 Og þá eru byggðar á þessari aðferðarlýsingu fyrir hvernig þessar upplýsingar eru afhent, 438 00:20:19,294 --> 00:20:21,460 miðlara gefur upplýsingar aftur til okkar, viðskiptavinurinn. 439 00:20:21,460 --> 00:20:25,590 Og þá erum við fær um að sjá upplýsingar fyrir síðuna 440 00:20:25,590 --> 00:20:26,390 og þá nota það. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Svo þá Hypertext Transfer Protocol er bara annað siðareglur eða setja 443 00:20:33,050 --> 00:20:37,470 af samningum sem skilgreinir hvernig vefur flettitæki og the vefur framreiðslumaður 444 00:20:37,470 --> 00:20:38,890 ætti samskipti. 445 00:20:38,890 --> 00:20:43,730 Og setja þetta allt saman, HTTP, aftur, 446 00:20:43,730 --> 00:20:50,960 bara skilgreinir hvernig þetta HyperText skilgreint af HTML sem við höfum verið að vinna það, 447 00:20:50,960 --> 00:20:59,500 hvernig það ætti að vera frelsari til þú og hvernig þessi gögn sem er skilað til þín 448 00:20:59,500 --> 00:21:00,540 fær til þín. 449 00:21:00,540 --> 00:21:05,990 >> Og þess vegna, ef þú krakkar muna frá bekknum, við höfðum mikið af beiðnum 450 00:21:05,990 --> 00:21:08,970 og við höfðum mikið af setningafræði fyrir þessar beiðnir sem við erum 451 00:21:08,970 --> 00:21:10,250 að fara yfir núna. 452 00:21:10,250 --> 00:21:13,270 Svo aftur, þegar við sendum beiðni til miðlara, 453 00:21:13,270 --> 00:21:15,920 við verðum að skilgreina nokkra hluti. 454 00:21:15,920 --> 00:21:18,520 Þannig að við þurfum að finna þá tegund af beiðni sem við erum að setja. 455 00:21:18,520 --> 00:21:22,180 Og aftur, höfum við, til dæmis, GET er ein tegund af aðferð 456 00:21:22,180 --> 00:21:25,290 sem við höfum í beiðni okkar. 457 00:21:25,290 --> 00:21:31,710 >> Og þá er HTTP / 1.1 bara siðareglur sem við erum að nota núna. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 Flest af þeim tíma, það er að fara að siðareglur sem við erum að nota. 460 00:21:36,890 --> 00:21:40,290 Þannig að ef þú ert með spurningu svona á spurningakeppni þína. 461 00:21:40,290 --> 00:21:43,120 Það er samninga sem við höfum hingað til. 462 00:21:43,120 --> 00:21:46,580 >> Sviga átt við hvers konar af hlutum sem við erum að biðja. 463 00:21:46,580 --> 00:21:52,810 Þá, gestgjafi okkar er, til dæmis, í þessu tilfelli erum við að reyna að fara á google.com. 464 00:21:52,810 --> 00:21:57,070 Svo er þetta gildi fyrir a gestgjafi. 465 00:21:57,070 --> 00:21:59,330 Þetta er tegund af beiðni sem hægt væri að senda. 466 00:21:59,330 --> 00:22:02,890 >> Og þá tegund af svörun sem gæti að senda aftur, byggt á þessari bókun, 467 00:22:02,890 --> 00:22:05,190 er aftur, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Svo er það HTTP útgáfa aftur. 469 00:22:07,150 --> 00:22:09,730 200 OK er bara staða kóða. 470 00:22:09,730 --> 00:22:12,860 Og það í lagi er bara setning byggt á þeim stöðukóðanum. 471 00:22:12,860 --> 00:22:15,520 >> Og þá Content-Type átt við þá tegund 472 00:22:15,520 --> 00:22:20,295 sem er skilað til þín sem er fyrir þá vefsíðu sem þú færð 473 00:22:20,295 --> 00:22:22,570 og að vafranum þínum geta gera eftirá. 474 00:22:22,570 --> 00:22:24,401 Og það er texti / HTML. 475 00:22:24,401 --> 00:22:26,660 >> Áhorfendur: Hvað 1,1 meina? 476 00:22:26,660 --> 00:22:29,910 >> MARIA ZLATKOVA: Það er bara útgáfa of-- ó, hvað þýðir 1,1 meina? 477 00:22:29,910 --> 00:22:37,075 Það er bara útgáfa, the HTTP útgáfa af siðareglur sem við erum að nota. 478 00:22:37,075 --> 00:22:37,700 Frábær spurning. 479 00:22:37,700 --> 00:22:38,366 Aðrar spurningar? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> Áhorfendur: Gætirðu summa upp Content-Type raunverulegur fljótur? 482 00:22:45,080 --> 00:22:48,150 >> MARIA ZLATKOVA: Svo að er það sem miðlara. 483 00:22:48,150 --> 00:22:51,020 tegund information-- hvað er efnisgerð var spurningarnar. 484 00:22:51,020 --> 00:22:53,400 Svo sem var gerð upplýsingar sem þú færð til baka 485 00:22:53,400 --> 00:22:58,200 frá þjóninum, tegund gögn sem vafrinn getur þá 486 00:22:58,200 --> 00:23:00,604 láta sem þú ert að nota. 487 00:23:00,604 --> 00:23:03,020 Áhorfendur: Er það sem þetta siðareglur er að segja þér að gera? 488 00:23:03,020 --> 00:23:03,390 MARIA ZLATKOVA miður? 489 00:23:03,390 --> 00:23:05,380 Áhorfendur: Er það sem siðareglur segja? 490 00:23:05,380 --> 00:23:05,915 MARIA ZLATKOVA: The protocol-- 491 00:23:05,915 --> 00:23:07,940 Áhorfendur: --what á Content-Type er eða what-- 492 00:23:07,940 --> 00:23:12,040 MARIA ZLATKOVA: The siðareglur er byggt on-- hvað er siðareglur segja þér? 493 00:23:12,040 --> 00:23:16,070 Það er bara þannig að þessum upplýsingum 494 00:23:16,070 --> 00:23:18,610 var afhent þér miðað á hvaða tegund af siðareglur 495 00:23:18,610 --> 00:23:21,830 voru þessar upplýsingar fékk skilað til þín. 496 00:23:21,830 --> 00:23:23,500 Er að skynsamleg konar? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH Blumberg: Þú er að hugsa um siðareglur 499 00:23:30,070 --> 00:23:33,300 eins a-- ég held prófessor Malan lýsti 500 00:23:33,300 --> 00:23:36,910 í bekknum og svona eins a-- það er eins og jafnvirði manna handshaking. 501 00:23:36,910 --> 00:23:44,930 Segja, eins og, hey, ég er beiðni og ég vita hvernig á að höndla HTTP af útgáfa 1.1. 502 00:23:44,930 --> 00:23:48,770 Og þá þjóninn segir, ó, OK, I-- og bæði til. 503 00:23:48,770 --> 00:23:51,337 Ég veit líka hvernig á að takast á við HTTP / 1.1. 504 00:23:51,337 --> 00:23:53,170 Og ég ætla að gefa þú aftur að sumt efni. 505 00:23:53,170 --> 00:23:56,230 Í þessu tilfelli, það er að fara að vera af gerðinni text / html. 506 00:23:56,230 --> 00:23:58,480 Svo það er góður af bara leið af þeim fyrir communicating-- 507 00:23:58,480 --> 00:24:00,480 >> MARIA ZLATKOVA: Það er bara staðfestir að þú ert 508 00:24:00,480 --> 00:24:03,290 báðir fylgja sömu siðareglur og að bæði 509 00:24:03,290 --> 00:24:06,620 viðskiptavinur og server-- svo Vafrinn þinn og server-- 510 00:24:06,620 --> 00:24:09,280 konar veist hvað þú ert að tala um og hafa 511 00:24:09,280 --> 00:24:12,557 venju fyrir brottför í gögnum. 512 00:24:12,557 --> 00:24:17,022 >> Áhorfendur: Svo Content-Type part-- Content-Type texta / html-- það er 513 00:24:17,022 --> 00:24:18,521 sérstakt hluti af sömu skilaboðum? 514 00:24:18,521 --> 00:24:20,509 Eða er það hluti af skulum segja, 200? 515 00:24:20,509 --> 00:24:22,010 Er 200 segja þeim það eða is-- 516 00:24:22,010 --> 00:24:23,770 >> MARIA ZLATKOVA: 200 segir það fór allt í lagi. 517 00:24:23,770 --> 00:24:27,900 Og þá er efnisgerð konar a Sérstakur hluti af sömu skilaboðum, 518 00:24:27,900 --> 00:24:34,274 og segja það, sem ég Kominn hefur þessa tegund af texta / html. 519 00:24:34,274 --> 00:24:35,690 Það er bara að gefa meiri upplýsingar. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Hafa nokkuð að bæta? 522 00:24:39,995 --> 00:24:40,495 OK. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Aðrar spurningar um þetta? 525 00:24:46,530 --> 00:24:48,370 Awesome. 526 00:24:48,370 --> 00:24:54,070 Svo nokkrar aðrar HTTP stöður sem við gætum fengið til viðbótar við 200 lagi, 527 00:24:54,070 --> 00:24:59,500 þær sem við höfum séð kannski hugsanlega mikið eru 403 og 404. 528 00:24:59,500 --> 00:25:05,190 Svo 404, ef þú varst að reyna að Aðgangur eitthvað sem er ekki til. 529 00:25:05,190 --> 00:25:10,460 Svo til dæmis, í þinn CS50 Fjármál psets, 530 00:25:10,460 --> 00:25:15,640 ef þú hefðir verið að flutningur quote.html og þú ekki hafa þessi skrá, 531 00:25:15,640 --> 00:25:19,740 en í staðinn hafði quote.php, sem myndi leiða til 404 Not Found 532 00:25:19,740 --> 00:25:21,600 vegna þess að skráin gæti ekki til. 533 00:25:21,600 --> 00:25:25,690 >> Fyrir 403 bannað, að er átt við heimildir. 534 00:25:25,690 --> 00:25:31,150 Svo ef einhver skrá er ekki lesið heimurinn, þú might fá a 403 aftur. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Sumir aðrir sem þú gætir get-- 301, færð varanlega; 537 00:25:37,810 --> 00:25:41,300 302, Found; 304, Breytt; 400, Bad Request; 538 00:25:41,300 --> 00:25:47,330 og þá Innri Server Error fyrir 500 og 503, Þjónusta ekki tiltæk. 539 00:25:47,330 --> 00:25:48,140 Já. 540 00:25:48,140 --> 00:25:51,490 >> Áhorfendur: Mun við ráð fyrir að leggja á minnið alla þá stöður? 541 00:25:51,490 --> 00:25:53,739 MARIA ZLATKOVA: Ég hefði þá á svindlari lak. 542 00:25:53,739 --> 00:25:55,146 [Hlátur] 543 00:25:55,146 --> 00:25:59,954 Áhorfendur: Erum við gert ráð fyrir að vita hvað kallar hvern og einn? 544 00:25:59,954 --> 00:26:00,995 MARIA ZLATKOVA: Eru þeir? 545 00:26:00,995 --> 00:26:03,870 HANNAH Blumberg: Fyrir þær sem við höfum hlaupa into-- Svo spurningin was-- 546 00:26:03,870 --> 00:26:08,010 MARIA ZLATKOVA: Eru þeir ráð fyrir að vita hvað hver einn af þessum stöðu 547 00:26:08,010 --> 00:26:09,330 númer gæti komið af stað? 548 00:26:09,330 --> 00:26:13,240 Svo fyrir þau sem við höfum notað og hljóp inn, myndi ég segja, já. 549 00:26:13,240 --> 00:26:16,610 Þannig að við höfum ákveðið séð 200 OK og fyrirlestra það í psets. 550 00:26:16,610 --> 00:26:19,071 Við höfum séð 403, 404. 551 00:26:19,071 --> 00:26:20,550 Fyrir hinar? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH Blumberg: Ég myndi segja 500 virðist sanngjarn leikur. 553 00:26:22,690 --> 00:26:23,330 >> MARIA ZLATKOVA: 500, já. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH Blumberg: Já. 555 00:26:24,246 --> 00:26:27,006 Bara hafa almenna tilfinningu af því sem veldur þeim. 556 00:26:27,006 --> 00:26:28,880 Og líka bara af þessum nöfn, þú getur konar 557 00:26:28,880 --> 00:26:32,890 eins að menntuð giska hvað raunverulega olli þeim. 558 00:26:32,890 --> 00:26:36,919 Til dæmis, fara varanlega, sennilega skráin var flutt til frambúðar. 559 00:26:36,919 --> 00:26:39,328 >> Áhorfendur: En á fyrri próf, það var svo 560 00:26:39,328 --> 00:26:41,050 hvernig býstu okkur að svara því? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH Blumberg: That var þess virði núll stig. 562 00:26:42,883 --> 00:26:45,870 Spurningin um 418 á katli er tæknilega a HTTP stöðu, 563 00:26:45,870 --> 00:26:47,090 en það var þess virði núll stig. 564 00:26:47,090 --> 00:26:48,320 Vitanlega, þú ert ekki gert ráð fyrir að vita þá. 565 00:26:48,320 --> 00:26:49,670 >> Áhorfendur: Er það raunverulegur einn? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH Blumberg: Það er alvöru einn, en það þýðir ekki neitt. 567 00:26:51,970 --> 00:26:52,700 Það er bara brandari. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Internet fólk er fyndið. 570 00:26:57,010 --> 00:26:59,680 >> MARIA ZLATKOVA: Great spurningar, krakkar. 571 00:26:59,680 --> 00:27:01,452 Aðrar spurningar? 572 00:27:01,452 --> 00:27:04,891 >> Áhorfendur: Hvað er innri framreiðslumaður villa? 573 00:27:04,891 --> 00:27:06,640 MARIA ZLATKOVA: Innri villa framreiðslumaður bara 574 00:27:06,640 --> 00:27:10,050 þýðir að þú hefur verið ófær um að miðla 575 00:27:10,050 --> 00:27:13,400 með þjóninum fyrir sumir ástæða. 576 00:27:13,400 --> 00:27:15,400 Svo það er ekki endilega eitthvað sem þarf að gera 577 00:27:15,400 --> 00:27:19,170 við viðskiptavininn eða eitthvað svoleiðis. 578 00:27:19,170 --> 00:27:22,170 Ég veit ekki af tiltekinni dæmis sem við höfum farið yfir til að útskýra, 579 00:27:22,170 --> 00:27:23,000 en já. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH Blumberg: Jú. 581 00:27:23,250 --> 00:27:25,625 Svo til dæmis, eins og við skulum segja að þú varst að vinna á Mashup 582 00:27:25,625 --> 00:27:30,440 og Google miðlara fór niður fyrir suma Ástæðan, máttur outage, við skulum segja. 583 00:27:30,440 --> 00:27:33,400 Það myndi vera innri miðlara villa eða einhvers konar of-- like you 584 00:27:33,400 --> 00:27:34,630 myndi ekki fá svar til baka. 585 00:27:34,630 --> 00:27:35,260 >> MARIA ZLATKOVA: Já. 586 00:27:35,260 --> 00:27:37,050 Það er bara þegar þú ert ófær um að miðla 587 00:27:37,050 --> 00:27:40,299 með þjóninum fyrir sumir ástæða vegna af því að fara niður eða einhver önnur ástæða. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Svo stökk inn í PHP. 590 00:27:47,690 --> 00:27:49,930 PHP, ólíkt HTML, er forritunarmál. 591 00:27:49,930 --> 00:27:54,820 Og við byrjuðum að nota það vegna þess að það er mjög gagnlegt fyrir vefur þróun. 592 00:27:54,820 --> 00:27:56,940 >> Við notuðum það fyrst í CS50 fjármál. 593 00:27:56,940 --> 00:28:02,240 Og það hjálpar í rauninni okkur koma saman þetta Markup, hönnun, 594 00:28:02,240 --> 00:28:07,460 og hvernig við notum í raun upplýsingar til að birta það á vefsíðu. 595 00:28:07,460 --> 00:28:11,870 Svo PHP sjálft þýðir PHP Hypertext Preprocessor, 596 00:28:11,870 --> 00:28:15,360 svo það er endurkvæma backnorym af sjálfu sér. 597 00:28:15,360 --> 00:28:22,330 Og opna merkin fyrir PHP við vinstri og hægri örvarnar með spurningarmerkjum 598 00:28:22,330 --> 00:28:23,060 og PHP. 599 00:28:23,060 --> 00:28:25,890 >> Þannig að við höfum þegar séð fullt af henni. 600 00:28:25,890 --> 00:28:29,150 Nú erum við bara að fara að fara yfir sumir af the atriði um það. 601 00:28:29,150 --> 00:28:32,280 Svo með PHP, breytunni nöfn byrja með dollaramerki. 602 00:28:32,280 --> 00:28:35,660 Við tilgreinir ekki, aftur, breytu tegund lengur. 603 00:28:35,660 --> 00:28:38,450 Rétt eins og við gerðum með C, við þurfum ekki að gera það. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Við getum gert fullt af mismunandi efni með breytum. 606 00:28:44,490 --> 00:28:47,750 Við getum sett þá saman eftir concatenating þá 607 00:28:47,750 --> 00:28:52,900 með punktur merki, sem við gátum ekki gert í C aftur. 608 00:28:52,900 --> 00:28:57,490 Aftur höfum við aðeins meira fjölhæfni með PHP í skilmálar af breytum. 609 00:28:57,490 --> 00:29:00,080 Aftur höfum við ekki meginhlutverki. 610 00:29:00,080 --> 00:29:03,370 >> Og PHP er túlkað öfugt við saman, 611 00:29:03,370 --> 00:29:09,970 Svo bara hvernig við vildum gera fyrir C skrár, við þurfum ekki að gera það fyrir PHP. 612 00:29:09,970 --> 00:29:15,440 Heldur á þann hátt að tungumálinu er rekið af sjálfu sér, það er túlkað. 613 00:29:15,440 --> 00:29:18,550 Og þá lauslega slegið bara þýðir að við 614 00:29:18,550 --> 00:29:22,490 þarft ekki að tilgreina breytu tegund og breytilegum gerðir 615 00:29:22,490 --> 00:29:25,415 er skilið á afturkreistingur. 616 00:29:25,415 --> 00:29:29,185 >> Áhorfendur: En hvað gerði þig meina með punktur samtenging? 617 00:29:29,185 --> 00:29:30,060 MARIA ZLATKOVA: Jú. 618 00:29:30,060 --> 00:29:37,660 Þegar við viljum setja hlutina together-- þannig að ef við fengum breytu sem 619 00:29:37,660 --> 00:29:41,500 hafði verðmæti 3 og við höfðum annað breyta sem hafði gildi band, 620 00:29:41,500 --> 00:29:45,920 við gætum sett breyturnar saman með því að setja punkt á milli þeirra 621 00:29:45,920 --> 00:29:46,970 og concatenating þá. 622 00:29:46,970 --> 00:29:52,670 Eða við gætum búið til a breyta nefndi 623 00:29:52,670 --> 00:29:56,900 og setja það saman með concatenating tvo strengi. 624 00:29:56,900 --> 00:30:00,680 >> Svo ef við hefðum streng í tvöföldu vitna og við setja punkt eftir það, 625 00:30:00,680 --> 00:30:03,660 og þá höfðum annað band, sem myndi skapa band með öllu. 626 00:30:03,660 --> 00:30:05,242 >> Áhorfendur: OK. 627 00:30:05,242 --> 00:30:06,450 MARIA LETTLAND: Var að hreinsa? 628 00:30:06,450 --> 00:30:07,099 Áhorfendur: 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 >> Áhorfendur: Þegar þú segir túlka frekar en saman, 632 00:30:11,146 --> 00:30:14,160 ertu að tala um þig ekki þurfa að vera eins nákvæm þegar 633 00:30:14,160 --> 00:30:15,906 það kemur að því að PHP móti C? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MARIA ZLATKOVA: Þegar við segjum túlka öfugt við saman, 636 00:30:20,710 --> 00:30:21,850 hvað er átt við? 637 00:30:21,850 --> 00:30:26,220 Svo það þýðir að við þurfum ekki executable skrá til að keyra PHP. 638 00:30:26,220 --> 00:30:29,870 Það þýðir að það keyrir eins og það fer. 639 00:30:29,870 --> 00:30:31,650 Er að skynsamleg? 640 00:30:31,650 --> 00:30:32,495 A hluti. 641 00:30:32,495 --> 00:30:34,620 HANNAH Blumberg: Svo þú er að hugsa um túlk 642 00:30:34,620 --> 00:30:38,980 sem annað forrit sem er ábyrgur fyrir að fara línu fyrir línu í gegnum PHP 643 00:30:38,980 --> 00:30:42,745 og í raun framkvæmd það, öfugt að setja saman það allt niður í tvöfaldur. 644 00:30:42,745 --> 00:30:46,050 Það þýðir í raun ekki neitt um hvernig ákveðin við þurfum að vera. 645 00:30:46,050 --> 00:30:49,470 Við þurfum samt að vera nákvæmur, og gera ekki gleyma semíkommu þína, og ganga úr skugga um 646 00:30:49,470 --> 00:30:51,470 þú þarft dollara Skráðu, og svoleiðis. 647 00:30:51,470 --> 00:30:52,240 Góð spurning. 648 00:30:52,240 --> 00:30:53,115 >> MARIA ZLATKOVA: Já. 649 00:30:53,115 --> 00:30:55,590 Svo línu fyrir línu, sem öfugt við C skrár, 650 00:30:55,590 --> 00:30:59,100 við verðum að gera allt endanlega áður en við getum í raun að keyra það. 651 00:30:59,100 --> 00:31:00,360 Það er helsti munurinn. 652 00:31:00,360 --> 00:31:02,655 En aftur, við getum ekki raunverulega vera minna sérstakur. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Svo fylki í PHP tákna í raun pantað kort. 655 00:31:13,950 --> 00:31:17,550 >> Svo fylki félagi gildi til lykla. 656 00:31:17,550 --> 00:31:23,350 Tvær leiðir til að lýsa array, byggt á þessari setningafræði, 657 00:31:23,350 --> 00:31:26,380 við getum verið skýr að segja að við höfum fjölda 658 00:31:26,380 --> 00:31:31,010 og við höfum þetta key1 að leyfa að þetta gildi1, key2 sem varpar VALUE2. 659 00:31:31,010 --> 00:31:34,660 Eða við getum bara búa til array sem inniheldur gildi sig 660 00:31:34,660 --> 00:31:38,360 og þá takkarnir eru skilið á þann hátt. 661 00:31:38,360 --> 00:31:40,000 Einhverjar spurningar um þetta? 662 00:31:40,000 --> 00:31:42,500 >> Áhorfendur: Hvað myndi takka að vera í öðrum td? 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: Til dæmis, það er bara takkarnir í þetta þurfa ekki endilega 667 00:31:55,780 --> 00:31:56,550 gera a mismunur. 668 00:31:56,550 --> 00:32:01,720 Þeir skilgreina bara hvernig þú getur nota gildi innan þess. 669 00:32:01,720 --> 00:32:08,660 Svo ef við hefðum framhandleggur lykkja í PHP sem myndi 670 00:32:08,660 --> 00:32:14,760 leyfa okkur að fara í gegnum allar gildum, við getum farið í gegnum allar gildum, 671 00:32:14,760 --> 00:32:19,570 jafnvel þótt við hefðum eða höfðu ekki skilgreint a sérstakur lykill í síðunnar 672 00:32:19,570 --> 00:32:20,820 fyrri setningafræði. 673 00:32:20,820 --> 00:32:23,460 >> Svo jafnvel með þessari tegund af fjölda, við gátum samt 674 00:32:23,460 --> 00:32:26,260 hafa framhandleggur lykkja sem fer í gegnum hvert 675 00:32:26,260 --> 00:32:31,240 gildanna í helstu í array. 676 00:32:31,240 --> 00:32:36,180 Svo setningafræði á framhandleggur lykkja, byrjum við með fjölda. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Þetta $ Arr breyta er raunveruleg array okkar að við þær eru skilgreindar í eina skyggnu 679 00:32:43,900 --> 00:32:47,550 sem gildi sem bókstaflega fer í gegnum hvert af þeim gildum, 680 00:32:47,550 --> 00:32:50,122 án tillits til þess hvort við höfðum lykil eða ekki. 681 00:32:50,122 --> 00:32:53,080 Og þá getum við gert eitthvað með gildi inni í framhandleggur lykkja. 682 00:32:53,080 --> 00:32:57,730 Svo aftur, ef við hefðum fylki svona hér created-- 683 00:32:57,730 --> 00:33:03,270 þannig að við höfum lykil foo og verðmæti Bar, lykillinn af Baz og gildi qux-- 684 00:33:03,270 --> 00:33:09,730 við getum haft framhandleggur lykkja sem fer í gegnum array sem lykill gildi 685 00:33:09,730 --> 00:33:11,900 og síðan gera eitthvað með lyklinum og / eða verðmæti. 686 00:33:11,900 --> 00:33:15,980 En við gerum ekki endilega alltaf verða að fá framhandleggur lykkjur sem 687 00:33:15,980 --> 00:33:19,410 fer í gegnum array eins og lykill kort til að gildi. 688 00:33:19,410 --> 00:33:26,060 Við getum farið í gegnum framhandleggur lykkja array sem gildi. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH Blumberg: Og ég held to-- var þinn spurning, hvað 690 00:33:28,990 --> 00:33:31,229 er fólgið vísitölu? 691 00:33:31,229 --> 00:33:31,895 Áhorfendur: Kinda. 692 00:33:31,895 --> 00:33:32,240 MARIA ZLATKOVA: Oh. 693 00:33:32,240 --> 00:33:33,406 HANNAH Blumberg: Já, já. 694 00:33:33,406 --> 00:33:36,150 Svo í rauninni, ef þú tilgreinir ekki lykill, það er að fara að vera 01. 695 00:33:36,150 --> 00:33:37,140 >> MARIA ZLATKOVA: Já. 696 00:33:37,140 --> 00:33:41,718 Rétt eins og með C, það er núll verðtryggð ef þú tilgreinir ekki lykil. 697 00:33:41,718 --> 00:33:42,384 Áhorfendur: Sorry. 698 00:33:42,384 --> 00:33:43,827 Gætirðu reynt að tala svolítið hávær? 699 00:33:43,827 --> 00:33:45,270 Ég ætla að hafa smá vandræði heyra allt. 700 00:33:45,270 --> 00:33:46,478 >> MARIA ZLATKOVA: Ég er svo leitt. 701 00:33:46,478 --> 00:33:48,439 Já auðvitað. 702 00:33:48,439 --> 00:33:50,230 Svo viltu mér til að fara yfir þetta aftur? 703 00:33:50,230 --> 00:33:51,680 Eða er this-- 704 00:33:51,680 --> 00:33:54,930 Áhorfendur: Svo á fyrri slide-- ef þú getur bara farið aftur í eina sekúndu. 705 00:33:54,930 --> 00:33:57,313 MARIA ZLATKOVA: Auðvitað, því miður. 706 00:33:57,313 --> 00:33:59,237 Áhorfendur: Svo annað array hér ekki 707 00:33:59,237 --> 00:34:04,135 virðast hafa gildi að slá, konar [? orsök. ?] 708 00:34:04,135 --> 00:34:05,343 MARIA ZLATKOVA: Hægri, hægri. 709 00:34:05,343 --> 00:34:07,608 Áhorfendur: Svo er að vinna hvernig þegar þú segir það er allt eða ekkert. 710 00:34:07,608 --> 00:34:08,969 Fyrir mér, sem lítur út eins og a [? foo?] þegar. 711 00:34:08,969 --> 00:34:10,093 >> MARIA ZLATKOVA: Já, já. 712 00:34:10,093 --> 00:34:12,969 Svo aftur, þetta er panta kort í þessum skilningi 713 00:34:12,969 --> 00:34:15,639 að það er skilið, til dæmis, Vísitölur 714 00:34:15,639 --> 00:34:20,159 Hér er hægt að skilja sem 0, 1, 2, 3. 715 00:34:20,159 --> 00:34:25,929 Aftur, það er að hafa þá Vísitölur jafngildir okkar 716 00:34:25,929 --> 00:34:28,980 af því að hafa lykla varpað á gildi. 717 00:34:28,980 --> 00:34:34,710 Svo ef lykill okkar var 0-- miður. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH Blumberg: Nei, það er Kalksteinn upp hér. 719 00:34:36,524 --> 00:34:36,929 Það er reyndar mjög gott. 720 00:34:36,929 --> 00:34:37,460 >> MARIA ZLATKOVA: Það er frábært. 721 00:34:37,460 --> 00:34:38,260 OK. 722 00:34:38,260 --> 00:34:49,489 Svo aftur, $ Arr 0 væri lykillinn að verðmæti 1. 723 00:34:49,489 --> 00:34:51,138 0 væri lykillinn að verðmæti 1. 724 00:34:51,138 --> 00:34:51,971 Áhorfendur: Fyrirgefðu. 725 00:34:51,971 --> 00:34:53,190 Það er ósýnileg. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH Blumberg: Allt í lagi, Nevermind. 727 00:34:53,659 --> 00:34:54,980 Chalk var slæm hugmynd. 728 00:34:54,980 --> 00:34:58,030 Ég tek það til baka. 729 00:34:58,030 --> 00:35:01,425 Þú getur hugsað lyklunum sem 0 kortum til verðmæti 1. 730 00:35:01,425 --> 00:35:02,300 MARIA ZLATKOVA: Já. 731 00:35:02,300 --> 00:35:04,630 Svo er þetta 0, þetta er 1, 2, 3. 732 00:35:04,630 --> 00:35:05,760 Þetta getur verið lyklana. 733 00:35:05,760 --> 00:35:10,020 Þú getur hugsa um þau as-- já. 734 00:35:10,020 --> 00:35:12,740 Svo í stað þess að þurfa skýr takkana, þeir 735 00:35:12,740 --> 00:35:17,180 konar Litið Vísitölur byrja á 0. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 The krít ekki hjálpa. 738 00:35:24,820 --> 00:35:25,722 Já. 739 00:35:25,722 --> 00:35:30,914 >> Áhorfendur: Fyrir framhandleggur lykkja, ef við vildum skoða sem gildi, 740 00:35:30,914 --> 00:35:33,245 það myndi bara sjálfkrafa vísitölu til 0? 741 00:35:33,245 --> 00:35:34,120 MARIA ZLATKOVA: Já. 742 00:35:34,120 --> 00:35:35,745 Það myndi fara í gegnum hvert af þeim gildum. 743 00:35:35,745 --> 00:35:39,130 Áhorfendur: [inaudible] sem 0 eða myndi það bara gera 0? 744 00:35:39,130 --> 00:35:43,710 >> MARIA ZLATKOVA: Þú þyrftir að segja sem dollaramerki og þá 745 00:35:43,710 --> 00:35:46,266 sumir breyta heiti, gildi. 746 00:35:46,266 --> 00:35:47,182 Áhorfendur: [inaudible]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MARIA ZLATKOVA miður? 749 00:35:50,964 --> 00:35:52,839 Áhorfendur: Sorry, ég er bara að reyna að muna. 750 00:35:52,839 --> 00:35:57,190 Hvernig myndir þú gera það ef þú getur gert það sjálfkrafa flokkun er bara 0 af? 751 00:35:57,190 --> 00:36:00,780 >> MARIA ZLATKOVA: Svo hvernig myndir þú gera það ef þú did ekki hafa ákveðna takka nöfn? 752 00:36:00,780 --> 00:36:01,710 >> Áhorfendur: Já. 753 00:36:01,710 --> 00:36:07,820 >> MARIA ZLATKOVA: Þú myndir bara define-- bara segja þér eins og sumir nafn. 754 00:36:07,820 --> 00:36:17,950 Svo í psets þínum, þú krakkar gætu muna framhandleggur $ umf $ raðir, 755 00:36:17,950 --> 00:36:24,610 við bjuggum okkur sjálf þessa $ röð segja við viljum fara í gegnum röð eins og $ raðir. 756 00:36:24,610 --> 00:36:28,360 Jafnvel þó við höfum ekki þetta skýr $ raðir skilgreint, 757 00:36:28,360 --> 00:36:31,990 við gátum bara farið og segja að þetta getur verið lykill okkar, 758 00:36:31,990 --> 00:36:33,615 og bara fara í gegnum hvert af þeim gildum. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> Áhorfendur: Svo er gildi ný breyta við erum að búa til að geyma [inaudible]? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MARIA ZLATKOVA: Svo það er ekki eðli sínu nýja breytu. 763 00:36:49,990 --> 00:37:00,310 Það er breyta sem vísar til inni í fylkinu til hvers þeirra. 764 00:37:00,310 --> 00:37:02,060 HANNAH Blumberg: Það er nýtt breyta nafn. 765 00:37:02,060 --> 00:37:04,018 MARIA ZLATKOVA: Já, það er nýr breyta heiti, 766 00:37:04,018 --> 00:37:06,680 en það er ekki inherently-- já. 767 00:37:06,680 --> 00:37:08,950 Það er bara ný breyta að þú getur gert það. 768 00:37:08,950 --> 00:37:12,680 Svo bara hvernig við gerðum $ róa og $ raðir, raðir 769 00:37:12,680 --> 00:37:17,980 var nýtt heiti breytunnar sem við gætu búið í framhandleggur lykkja okkar. 770 00:37:17,980 --> 00:37:22,065 Það þarf ekki að preexist áður. 771 00:37:22,065 --> 00:37:25,777 >> Áhorfendur: Gætirðu farið í gegnum rökfræði fyrir hvern, með því að nota dæmi þarna? 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 Ó fyrirgefðu. 775 00:37:32,080 --> 00:37:33,780 Hér er dæmi. 776 00:37:33,780 --> 00:37:34,280 Viss. 777 00:37:34,280 --> 00:37:38,950 Svo fyrir hvert array-- svo sem þýðir að fara að þessu fylki 778 00:37:38,950 --> 00:37:43,930 eins og lykill value-- það er að fara að fara í gegnum þennan fjölda 779 00:37:43,930 --> 00:37:49,480 og fyrst að fara og fá foo er lykill foo og verðmæti bar. 780 00:37:49,480 --> 00:37:51,570 Og síðan á seinni endurtekning af fyrir lykkju, 781 00:37:51,570 --> 00:37:55,090 það er að fara að fara í gegnum og taka lykillinn Baz og gildi qux. 782 00:37:55,090 --> 00:38:00,512 Og þá er hægt að gera eitthvað við annað þeirra eða þau bæði. 783 00:38:00,512 --> 00:38:03,488 >> Áhorfendur: Svo hugmyndin á bak hafa lykilatriði að verðmæti, 784 00:38:03,488 --> 00:38:07,470 hvað þú endar aðgang? 785 00:38:07,470 --> 00:38:10,680 >> MARIA ZLATKOVA: Hvað er hugmynd af því að hafa a lykill benda að meta? 786 00:38:10,680 --> 00:38:16,400 Það er bara annar samningur, annar leið til að fara í gegnum array 787 00:38:16,400 --> 00:38:22,600 og vera fær um að fá aðgang annaðhvort lykill eða gildi eða bæði og nota þær. 788 00:38:22,600 --> 00:38:27,100 >> Áhorfendur: Hvað er hlutverk fyrir mælt fyrir um að framhandleggur keyrir í? 789 00:38:27,100 --> 00:38:29,250 Svo ef við vorum að bæta við þættir til array síðar, 790 00:38:29,250 --> 00:38:32,140 myndi þá vera the fyrstur sjálfur kallað í framhandleggur array, 791 00:38:32,140 --> 00:38:33,750 eða myndi það vera síðar? 792 00:38:33,750 --> 00:38:37,770 >> MARIA ZLATKOVA: Svo er það röð sem framhandleggur 793 00:38:37,770 --> 00:38:39,210 lykkja fer í gegnum array í? 794 00:38:39,210 --> 00:38:42,220 Það fer í gegnum fyrsta þáttur til síðasta frumefni, 795 00:38:42,220 --> 00:38:43,400 að síðustu bætt frumefni. 796 00:38:43,400 --> 00:38:48,020 Ef þú bætir þætti síðar, þeir myndu að accessed-- fyrstu þættir myndu 797 00:38:48,020 --> 00:38:51,410 að nálgast sem fyrst þættir array, 798 00:38:51,410 --> 00:38:57,620 og þá þú vilt fara í gegnum hvern þættir sem einskonar ordered-- 799 00:38:57,620 --> 00:39:02,930 ekki pantað, en á þann hátt að þeir hafa verið sett inn í array. 800 00:39:02,930 --> 00:39:06,855 >> Áhorfendur: Svo nýja þætti er bætt síðar? 801 00:39:06,855 --> 00:39:10,680 Svo þeir eru added-- þeir vera Síðustu sjálfur í [? endurtekning. ?] 802 00:39:10,680 --> 00:39:14,280 >> MARIA ZLATKOVA: Nýjar þættir can-- grundvallaratriðum, þegar nýja þætti er bætt við, 803 00:39:14,280 --> 00:39:16,520 eru þeir bætt við í lok fylkisins? 804 00:39:16,520 --> 00:39:17,632 >> Áhorfendur: Já. 805 00:39:17,632 --> 00:39:18,840 MARIA ZLATKOVA: Ég trúi því. 806 00:39:18,840 --> 00:39:20,850 Já. 807 00:39:20,850 --> 00:39:24,330 Og þá með framhandleggur lykkja, eftir að þú hefur bætt við nýjum þætti 808 00:39:24,330 --> 00:39:26,790 og þú fara í gegnum þá, nýja þætti myndi 809 00:39:26,790 --> 00:39:30,930 vera accessed-- nýju frumefni, ef það er bætt síðast, myndi það að nálgast síðasta. 810 00:39:30,930 --> 00:39:34,416 >> Áhorfendur: Getur þú gefið bara dæmi um eitthvað sem myndi [inaudible] 811 00:39:34,416 --> 00:39:37,404 með eitthvað með gildi eins og [inaudible] eða gildi, 812 00:39:37,404 --> 00:39:38,910 eins og hvernig þú vilt forsníða það? 813 00:39:38,910 --> 00:39:39,785 >> MARIA ZLATKOVA: Jú. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 Get ég gefa dæmi um hvað við myndum gera með verðmæti? 816 00:39:46,410 --> 00:39:52,440 Svo hvað þú krakkar gætu verið kunnugt er að við höfum farið í gegnum fjölda 817 00:39:52,440 --> 00:39:55,380 og í rauninni prentað hvert atriði, 818 00:39:55,380 --> 00:40:00,910 til dæmis, sem hluti af raðaður listi eða eitthvað sem. 819 00:40:00,910 --> 00:40:02,674 Er að skynsamleg eða viljum við to-- 820 00:40:02,674 --> 00:40:04,340 Áhorfendur: Getum við prentað þessi gildi út? 821 00:40:04,340 --> 00:40:13,220 MARIA ZLATKOVA: Já, við gætum prentað og þá $ rauninni gildi vegna þess að á 822 00:40:13,220 --> 00:40:16,570 sem tiltekið gildi, myndum við vera prentun verðmæti inni af því. 823 00:40:16,570 --> 00:40:20,150 Þannig að ef við vorum á fyrsta endurtekning okkar af því og við prentað $ gildi, 824 00:40:20,150 --> 00:40:23,775 við viljum að prenta bar. 825 00:40:23,775 --> 00:40:27,020 >> Áhorfendur: Eru einnig fyrir lykkjur í PHP eða bara framhandleggur lykkjur? 826 00:40:27,020 --> 00:40:30,430 >> MARIA ZLATKOVA: Það er einnig fyrir lykkjur í PHP. 827 00:40:30,430 --> 00:40:33,399 Og rökfræði þeirra er að mestu sama og það sem þú hefur verið að nota til að. 828 00:40:33,399 --> 00:40:34,690 Áhorfendur: Svo gildi þess er null. 829 00:40:34,690 --> 00:40:35,090 MARIA ZLATKOVA: Það er eins og hið sama. 830 00:40:35,090 --> 00:40:35,590 Já. 831 00:40:35,590 --> 00:40:37,747 Áhorfendur: Ég ætla bara að fara að spyrja. 832 00:40:37,747 --> 00:40:39,695 Svo þegar þú lýsa array, þú þarft ekki 833 00:40:39,695 --> 00:40:42,617 að segja hvaða stærð það er að fara að vera, sem þýðir að þú getur bara 834 00:40:42,617 --> 00:40:44,417 bæta við og taka í burtu þætti [inaudible]. 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 Nákvæmlega. 838 00:40:46,251 --> 00:40:48,875 Þegar við lýsa fylki, við þarft ekki að segja hvaða stærð það er, 839 00:40:48,875 --> 00:40:51,022 svo við getum bara bæta þætti á það síðar eins og heilbrigður. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 Fleiri spurningar? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Svo koma PHP og HTML saman, það sem við höfum seen-- vel, 844 00:41:05,950 --> 00:41:15,130 Til dæmis, í þessu dæmi, við höfum HTML formi sem hefur innsláttarreitinn. 845 00:41:15,130 --> 00:41:18,830 >> Og inntak reitur er bara nafn og þá hefur það Senda hnappinn. 846 00:41:18,830 --> 00:41:26,040 Og þegar þú ýtir á Senda hnappinn, í hello.php skrá okkar, 847 00:41:26,040 --> 00:41:32,130 vegna þess að aðferðin fyrir formi er fá, getum við aðgang hvað er nafn 848 00:41:32,130 --> 00:41:40,360 eftir þetta fá alþjóðlegt breytu sem is-- setningafræði fyrir það er $ _GET. 849 00:41:40,360 --> 00:41:44,520 Og þá getum við nálgast hvað notandi inntak inni í því formi að nafninu 850 00:41:44,520 --> 00:41:47,410 með því að tilgreina nafn því sviði. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Aðrar spurningar eða eitthvað spurningar um þetta tiltekna dæmi? 853 00:41:55,060 --> 00:41:58,275 >> Áhorfendur: Hvar er PHP? 854 00:41:58,275 --> 00:41:59,150 MARIA ZLATKOVA: Hér. 855 00:41:59,150 --> 00:42:01,150 Svo er þetta opna tag okkar fyrir PHP. 856 00:42:01,150 --> 00:42:01,530 >> Áhorfendur: Einmitt. 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 Blumberg: The = er styttingin fyrir þetta er PHP og bara bergmál. 860 00:42:09,609 --> 00:42:10,150 Áhorfendur: Oh. 861 00:42:10,150 --> 00:42:10,720 MARIA ZLATKOVA: Já, því miður. 862 00:42:10,720 --> 00:42:12,040 Ég ætti að hafa sagt það skýrt. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH Blumberg: Print. 864 00:42:13,759 --> 00:42:16,800 MARIA ZLATKOVA: Það er bara virka sem gerir okkur kleift að prenta eitthvað. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Frábær spurning. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Svo going-- já. 869 00:42:25,495 --> 00:42:31,940 >> Áhorfendur: Er að fara að vera alveg smá hönd kóðun PHP og HTML 870 00:42:31,940 --> 00:42:33,450 á spurningakeppni 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MARIA ZLATKOVA: Það getur verið heilmiklar túlkun 873 00:42:38,810 --> 00:42:43,330 PHP og HTML, ekki endilega eins og a gríðarstór magn af erfðaskrá, 874 00:42:43,330 --> 00:42:46,960 þó að þú gætir þurft að skrifa framhandleggur lykkja, þó, til hliðar. 875 00:42:46,960 --> 00:42:49,790 Allir af lykkjur sem við þessu hér er sanngjarn leikur. 876 00:42:49,790 --> 00:42:51,889 Og það er að mestu leyti það. 877 00:42:51,889 --> 00:42:53,430 HANNAH Blumberg: Ég myndi vera tilbúinn. 878 00:42:53,430 --> 00:42:57,010 Á sama hátt og við spurði þig að skrifa fullt af C aðgerðir á spurningakeppni 0, 879 00:42:57,010 --> 00:42:59,766 Ég væri tilbúinn að gera Sama á PHP og Javascript. 880 00:42:59,766 --> 00:43:00,640 MARIA ZLATKOVA: Já. 881 00:43:00,640 --> 00:43:03,210 HANNAH Blumberg: Ég myndi segja a little-- eins og við erum ekki 882 00:43:03,210 --> 00:43:06,251 fara að gera þú skrifar mikið HTML síðu bara því það er svolítið 883 00:43:06,251 --> 00:43:08,240 leiðinlegur, en þú gætir þurft hluta. 884 00:43:08,240 --> 00:43:09,310 Það er algerlega sanngjarn leikur. 885 00:43:09,310 --> 00:43:11,082 Eins litlum HTML síðu, algerlega sanngjarnt. 886 00:43:11,082 --> 00:43:11,623 Áhorfendur: OK. 887 00:43:11,623 --> 00:43:13,814 Hvernig væri JavaScript eins og heilbrigður? 888 00:43:13,814 --> 00:43:14,730 HANNAH Blumberg: Já. 889 00:43:14,730 --> 00:43:15,250 Sanngjarn leikur JavaScript er. 890 00:43:15,250 --> 00:43:15,635 >> MARIA ZLATKOVA: Já. 891 00:43:15,635 --> 00:43:16,801 Það er alveg sanngjarn leikur. 892 00:43:16,801 --> 00:43:19,280 HANNAH Blumberg: Við munum fá til að í eins og 10 mínútur. 893 00:43:19,280 --> 00:43:23,750 >> MARIA ZLATKOVA: SQL, aftur, Structured Query Language. 894 00:43:23,750 --> 00:43:28,651 Það gerir í grundvallaratriðum okkur til að stjórna gögnum í Venslagagnagrunnur stjórnun 895 00:43:28,651 --> 00:43:29,150 kerfi. 896 00:43:29,150 --> 00:43:31,149 Það þýðir bara í rauninni að við höfum einhvers staðar 897 00:43:31,149 --> 00:43:37,980 að geyma ýmsar upplýsingar sem við gætum vilja til að nota í viðbót eða á einhvern annan hátt. 898 00:43:37,980 --> 00:43:42,190 Og þá höfum við fyrirspurnir til að fá Upplýsingar úr gagnagrunni okkar, 899 00:43:42,190 --> 00:43:44,320 eða til að setja upplýsingar í þeim. 900 00:43:44,320 --> 00:43:47,560 A einhver fjöldi af the sameiginlegur ones-- UPDATE, INSERT, SELECT, og eyða. 901 00:43:47,560 --> 00:43:50,790 >> Svo að uppfærslu, þetta er setningafræði til að uppfæra gögn í gagnagrunninum. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Uppfæra þessa töflu sem heitir borð með því að segja SET, 904 00:43:57,340 --> 00:44:04,170 getum við sett nokkur gildi í öllum raðir til jafn eitthvað annað. 905 00:44:04,170 --> 00:44:09,410 Þannig að við getum einnig tilgreina sumir sérstakur Færslur sem við viljum breyta 906 00:44:09,410 --> 00:44:11,240 og það getur verið að nota þar. 907 00:44:11,240 --> 00:44:16,380 Og við getum tilgreina að við viljum bara að breyta sumum raðir þar sem hús fyrir, 908 00:44:16,380 --> 00:44:19,830 ef við hefðum borð nemenda og allir nemendur höfðu hús, 909 00:44:19,830 --> 00:44:24,890 svo við myndum bara breytt nokkur gildi þar hús jafnt Currier, 910 00:44:24,890 --> 00:44:25,430 til dæmis. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> Fyrir INSERT, getum við setja ákveðin gildi í töflu. 913 00:44:31,800 --> 00:44:35,150 Svo INSERT INTO töflu, og þá gildi, 914 00:44:35,150 --> 00:44:39,080 og þá í sviga, við að skilgreina hvaða gildi þú vilt setja inn. 915 00:44:39,080 --> 00:44:43,220 Svo INSERT INTO borð, col1 og col2, gildi er VAL1 og VAL2. 916 00:44:43,220 --> 00:44:48,930 Svo setur þetta í rauninni nýja línu inn töflu má gildin 1 og 2 917 00:44:48,930 --> 00:44:50,850 undir dálkum 1 og 2. 918 00:44:50,850 --> 00:44:54,760 >> Og þá erum við að fara að fara yfir a fljótur dæmi um hvernig þetta lítur 919 00:44:54,760 --> 00:44:56,310 eins og í gagnasafn okkar smá. 920 00:44:56,310 --> 00:44:58,685 En þetta endanlega fyrirspurn sem ég held að við erum að fara að fara yfir, 921 00:44:58,685 --> 00:45:01,450 SELECT, það gerir okkur bara til að velja gögn úr töflu 922 00:45:01,450 --> 00:45:03,080 að hugsanlega nota það síðar. 923 00:45:03,080 --> 00:45:05,830 Og hvernig við gerum þetta er að við bara geyma það í sumum breytu. 924 00:45:05,830 --> 00:45:07,780 Og þá getum við hugsanlega notað hann aftur. 925 00:45:07,780 --> 00:45:10,260 >> Svo SELECT stjörnu merkir að velja allt. 926 00:45:10,260 --> 00:45:13,280 Það er bara styttingin til að velja allt. 927 00:45:13,280 --> 00:45:19,760 FRÁ borð þar, við erum að leita að einhverjum tilteknum skilyrðum, 928 00:45:19,760 --> 00:45:22,290 svo þar dálki jafngildir eitthvað, til dæmis. 929 00:45:22,290 --> 00:45:24,410 Ef við vildum bara að velja allt úr töflunni, 930 00:45:24,410 --> 00:45:28,400 Þetta velur bara alla dálka og allar færslur frá borði. 931 00:45:28,400 --> 00:45:32,040 >> Og þá DELETE FROM borð HVAR Col jafngildir eitthvað, 932 00:45:32,040 --> 00:45:36,440 þetta bara eyðir sumar róa frá borðinu okkar 933 00:45:36,440 --> 00:45:38,860 þar sem við höfum nokkrar sérstakar aðstæður. 934 00:45:38,860 --> 00:45:41,870 Í þessu tilfelli, skilyrði eru dálki jafngildir eitthvað. 935 00:45:41,870 --> 00:45:43,460 Svo bara fljótur dæmi um þetta. 936 00:45:43,460 --> 00:45:49,100 Ef við höfum þetta borð hérna og við setja það inn í töflu, þessi gildi, 937 00:45:49,100 --> 00:45:50,400 sem myndi setja nýja línu. 938 00:45:50,400 --> 00:45:56,380 Og ef við hefðum sjálfvirka aukningu, þetta myndi bara hækka skilríki frá 0 til 1 til 2. 939 00:45:56,380 --> 00:46:00,010 >> Ef við valið allt frá nemendum, það bara skilar öllum sviðum og allar umf. 940 00:46:00,010 --> 00:46:02,430 Hvar ári er meiri en eða jafnt og 2016, 941 00:46:02,430 --> 00:46:04,390 sem myndi bara snúa aftur Hannah og mig. 942 00:46:04,390 --> 00:46:08,360 Og þá ef við valið bara ári id og ár frá nemendum 943 00:46:08,360 --> 00:46:11,710 þar sem húsið er Cabot House, sem myndi aftur, aftur Hönnu og mig. 944 00:46:11,710 --> 00:46:14,430 >> Þá ef við eytt frá nemendum þar sem nafn er jafn Rob, 945 00:46:14,430 --> 00:46:16,760 sem myndi eyða allt röð. 946 00:46:16,760 --> 00:46:19,696 Og þá ef við setjum nafn, UPDATE nemendur 947 00:46:19,696 --> 00:46:21,570 SET nafn jafngildir Daven HVAR Húsið er jafn 948 00:46:21,570 --> 00:46:27,010 Cabot House, sem er að fara að fara í þessir raðir og þá uppfæra nafn. 949 00:46:27,010 --> 00:46:31,470 >> Og þá nokkrar SQL gögn tegundir eru CHAR, VARCHAR, INT, og fljóta. 950 00:46:31,470 --> 00:46:32,760 Þetta eru sanngjörn leik. 951 00:46:32,760 --> 00:46:36,740 Ég myndi fara aftur og ganga úr skugga um að þú veist 952 00:46:36,740 --> 00:46:40,930 og hafa þá á svindlari lak, hvað hver af þeim stafi 953 00:46:40,930 --> 00:46:44,140 hafa verið notað, hvað þú notað þá á psets þínum, 954 00:46:44,140 --> 00:46:48,050 og ganga úr skugga um að þú ert kunnuglegur og ánægð með að þurfa að velja 955 00:46:48,050 --> 00:46:51,450 frá mismunandi tegundir gagna í pset þinn. 956 00:46:51,450 --> 00:46:51,950 Já. 957 00:46:51,950 --> 00:46:54,300 >> Áhorfendur: Hvað var það borð geymt? 958 00:46:54,300 --> 00:46:57,119 Já, hvar er þessi tafla geymdar? 959 00:46:57,119 --> 00:46:59,160 MARIA ZLATKOVA: Jæja, núna, það er ekki geymt. 960 00:46:59,160 --> 00:47:00,700 Engu að síður, þar er þetta borð geymt? 961 00:47:00,700 --> 00:47:04,503 En það er hægt að geyma í SQL gagnagrunn. 962 00:47:04,503 --> 00:47:07,330 >> Áhorfendur: Og hvar er SQL gagnagrunnur? 963 00:47:07,330 --> 00:47:11,200 Í tölvunni, á netinu einhvers staðar, framreiðslumaður? 964 00:47:11,200 --> 00:47:15,000 >> MARIA ZLATKOVA: Það getur verið tala af ólíkur hlutur. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH Blumberg: Við höfum interfaced með SQL töflur aðallega með phpMyAdmin. 966 00:47:19,690 --> 00:47:22,060 Þannig að við gætum beðið miðlara að geyma þá fyrir okkur. 967 00:47:22,060 --> 00:47:23,830 Við gætum geyma þá á tölvunni okkar. 968 00:47:23,830 --> 00:47:27,950 >> MARIA ZLATKOVA: Það fer bara eftir hvernig þú vilt gera það fyrir þig. 969 00:47:27,950 --> 00:47:30,075 En við höfum verið að geyma þá, sem Hannah getið, 970 00:47:30,075 --> 00:47:31,755 á phpMyAdmin, sem er á netinu. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 Og þá leið sem við notum PHP og SQL, geymum við það 973 00:47:39,280 --> 00:47:43,450 í sumum breytu það sem við höfum sent fyrirspurn til. 974 00:47:43,450 --> 00:47:48,370 >> Þannig að ef við velja allt úr sögunni þar USER_ID jafngildir fundur ID, 975 00:47:48,370 --> 00:47:53,900 sem myndi velja allar línur fyrir ákveðna aðila sem 976 00:47:53,900 --> 00:47:58,327 er skráður í frá sögu borð og raða þeim í raðir. 977 00:47:58,327 --> 00:48:00,410 A kaldur hlutur að vita er sem CS50 er fyrirspurn virka 978 00:48:00,410 --> 00:48:02,180 verndar gegn SQL innspýting tags. 979 00:48:02,180 --> 00:48:07,420 Það þýðir bara að það gerir viss inntak sem er rétt slegið inn 980 00:48:07,420 --> 00:48:09,920 og að sá sem er að slá inntak 981 00:48:09,920 --> 00:48:15,100 er ekki að reyna að inntak sumir illgjarn kóða til að annað hvort sleppa borðum okkar 982 00:48:15,100 --> 00:48:17,305 eða eyða öllu inni hjá okkur. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> A fljótur yfirlit af the Model View Controller líkan, 985 00:48:23,400 --> 00:48:27,360 það er bara leið til að skipuleggja og hugsa um kóða. 986 00:48:27,360 --> 00:48:29,100 Það er aftur, hönnun hugmyndafræði. 987 00:48:29,100 --> 00:48:33,380 Hvað það þýðir er að við can-- og það er góð regla 988 00:48:33,380 --> 00:48:37,790 til að aðgreina mismunandi hlutum af kóða okkar og hvað þeir 989 00:48:37,790 --> 00:48:40,530 stjórna í þessum þremur málin. 990 00:48:40,530 --> 00:48:46,700 >> Svo er að okkar mati oftast okkar sniðmát, skipulag okkar, hvernig 991 00:48:46,700 --> 00:48:48,260 sem við setjum hvernig númerið okkar lítur út. 992 00:48:48,260 --> 00:48:55,190 Það er að mestu leyti CSS skrár okkar og hvernig að við skilgreint hönnun númerið okkar, 993 00:48:55,190 --> 00:48:55,710 grundvallaratriðum. 994 00:48:55,710 --> 00:48:59,280 Stjórnandi okkar er að mestu leyti hvað við höfum verið að gera með PHP skrá. 995 00:48:59,280 --> 00:49:03,030 Svo aftur, að vinna með upplýsingar sem við höfum 996 00:49:03,030 --> 00:49:06,700 og skilgreina hvernig það upplýsingarnar eru notaðar, 997 00:49:06,700 --> 00:49:10,660 og þá liggur að upplýsingar annaðhvort inn á útsýni eða líkan. 998 00:49:10,660 --> 00:49:13,880 Og líkanið, á þann hátt að við höfum verið að nota er hefur verið hjá okkur, 999 00:49:13,880 --> 00:49:17,510 svo þar sem upplýsingar okkar er geymd svo það hefur eitthvað 1000 00:49:17,510 --> 00:49:21,490 að lifa í, og eitthvað af kóða sem snýr að því hvernig 1001 00:49:21,490 --> 00:49:25,410 að við fáum þær upplýsingar eða leiðin sem við uppfæra þær upplýsingar. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> Svo í MVC líkan, HTTP beiðnir eru sendar til vefþjóni. 1004 00:49:33,200 --> 00:49:36,220 Þá er stjórnandi túlkar beiðni frá notanda 1005 00:49:36,220 --> 00:49:38,260 og þá staðfestir notandi inntak. 1006 00:49:38,260 --> 00:49:41,580 Það er valfrjálst að við höfum stjórnandi samskipti 1007 00:49:41,580 --> 00:49:44,000 með líkan, svo eitthvað eins hjá okkur 1008 00:49:44,000 --> 00:49:47,500 eða einhver önnur virkni sem relays upplýsingar. 1009 00:49:47,500 --> 00:49:50,340 Og svo að lokum, stjórnandi fer upplýsingar inn á útsýni 1010 00:49:50,340 --> 00:49:52,090 þannig að það getur verið veitt og að það getur 1011 00:49:52,090 --> 00:49:55,860 verða sýnileg þeim sem um aðgang að vefsíðu. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Einhverjar spurningar? 1014 00:50:01,340 --> 00:50:01,840 Awesome. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Svo aftur, en fyrirmynd, hlutverk þess, aftur, 1017 00:50:08,469 --> 00:50:11,260 er viðvarandi geymsla upplýsinga, stjórna og skipuleggja gögn. 1018 00:50:11,260 --> 00:50:13,890 Og það sem við höfum séð langt er MySQL gagnagrunnur 1019 00:50:13,890 --> 00:50:16,200 og allar gagnaskrár sem getur notað. 1020 00:50:16,200 --> 00:50:20,580 >> View, framsetningu upplýsinga til notandi, HÍ, eða notandi tengi. 1021 00:50:20,580 --> 00:50:22,350 Og dæmi um þetta er HTML. 1022 00:50:22,350 --> 00:50:23,950 Og þá erum við kannski hafa óveruleg PHP. 1023 00:50:23,950 --> 00:50:28,360 Svo fyrir lykkju sem iterates yfir gögn sem eru prentaðar út 1024 00:50:28,360 --> 00:50:30,720 er hluti af mati, sem öfugt við the stjórnandi. 1025 00:50:30,720 --> 00:50:35,660 Og þá er mikið af PHP skrá okkar falla í stýringu flokki. 1026 00:50:35,660 --> 00:50:38,410 Það sér bara notandi beiðnir og fær upplýsingar frá líkaninu. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Stökk inn í skjalið Object Model, þetta bara 1029 00:50:45,590 --> 00:50:47,700 vísar til þess hvernig HTML skjöl eru skipulögð. 1030 00:50:47,700 --> 00:50:51,600 Og þeir eru skipulögð í tré uppbygging sem hefur stigveldi. 1031 00:50:51,600 --> 00:50:56,720 Svo ef við höfum aðgang að [inaudible] framsetning skjalinu, 1032 00:50:56,720 --> 00:51:02,750 við getum unnið með skjalinu, eins við vinna hluti í grundvallaratriðum. 1033 00:51:02,750 --> 00:51:06,630 >> Og til að gera þetta svolítið skýrari, þegar 1034 00:51:06,630 --> 00:51:10,540 við höfum mikið af okkar mismunandi merki bregðast 1035 00:51:10,540 --> 00:51:12,590 að mismunandi leiðum í trénu okkar. 1036 00:51:12,590 --> 00:51:17,070 Og þá í þessu dæmi, við hafa upphafsdegi skjal hnút. 1037 00:51:17,070 --> 00:51:20,010 Við höfum þá HTML hnút okkar sem skiptist í höfuð og líkama. 1038 00:51:20,010 --> 00:51:22,810 Head hefur titil og síðan titill inniheldur Halló, heimur. 1039 00:51:22,810 --> 00:51:24,860 Og líkami okkar inniheldur bara halló, heimur eins og heilbrigður. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Svo einhverjar spurningar um eitthvað af hlutir sem við falla svo langt? 1042 00:51:31,900 --> 00:51:35,891 Og ef ekki, Hannah mun taka yfir með JavaScript. 1043 00:51:35,891 --> 00:51:36,390 Awesome. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH Blumberg: OK, flott. 1045 00:51:37,473 --> 00:51:40,980 Ef eitthvað kemur upp með PHP eða HTML, eða einhverju efni Maria nær, 1046 00:51:40,980 --> 00:51:42,700 við getum alltaf gert hlé. 1047 00:51:42,700 --> 00:51:46,430 Við erum að gera betur á tími aftur, svo ógnvekjandi. 1048 00:51:46,430 --> 00:51:48,770 Og bara til að fara aftur mjög fljótt við þetta, 1049 00:51:48,770 --> 00:51:51,010 ef þú horfir á hvert exam síðasta ári, þetta 1050 00:51:51,010 --> 00:51:54,120 kemur upp either-- hér er sumir HTML, gera þessa skýringarmynd. 1051 00:51:54,120 --> 00:51:58,380 Eða hér er þetta skýringarmynd, að sumir HTML, svo ákveðið að æfa það. 1052 00:51:58,380 --> 00:52:01,500 Og þá er það eitt öruggt Spurningin sem þú getur fengið rétt. 1053 00:52:01,500 --> 00:52:02,000 Cool. 1054 00:52:02,000 --> 00:52:04,510 Svo skulum við tala um JavaScript og hvernig það er svolítið 1055 00:52:04,510 --> 00:52:09,130 frábrugðin tungumálum eins og PHP og C, tvö tungumál sem við sáum fyrir. 1056 00:52:09,130 --> 00:52:10,780 Svo númer eitt, það er lauslega slegið. 1057 00:52:10,780 --> 00:52:14,630 Það er eins og PHP, en ólíkt C 1058 00:52:14,630 --> 00:52:15,890 >> Það er túlkað tungumál. 1059 00:52:15,890 --> 00:52:19,870 Aftur, það er eins og PHP, ólíkt C Og þetta 1060 00:52:19,870 --> 00:52:24,630 er að fara að leyfa okkur að use-- það virkar virkilega vel með vefsíðum. 1061 00:52:24,630 --> 00:52:28,350 Það er að fara að leyfa okkur að vinna efni og hvernig það lítur út 1062 00:52:28,350 --> 00:52:30,300 og hvað það gerir. 1063 00:52:30,300 --> 00:52:32,330 >> Við erum að fara að sjá smá Ajax. 1064 00:52:32,330 --> 00:52:36,140 Það gerir okkur kleift að eiga samskipti asynchronously með mismunandi netþjónum 1065 00:52:36,140 --> 00:52:37,950 og fá upplýsingar. 1066 00:52:37,950 --> 00:52:42,820 Og þetta er hlutur sem raunverulega skilur Javascript úr PHP og C 1067 00:52:42,820 --> 00:52:45,590 er að það er viðskiptavinur-hlið. 1068 00:52:45,590 --> 00:52:49,860 Bæði PHP og C eru oftast framreiðslumaður-hlið. 1069 00:52:49,860 --> 00:52:51,960 >> Fyrir the hluti og nær eingöngu það 1070 00:52:51,960 --> 00:52:53,900 við höfum séð, að minnsta kosti í þennan flokk, JavaScript 1071 00:52:53,900 --> 00:52:57,040 virkar á client-megin, sem þýðir að vafrinn er í raun 1072 00:52:57,040 --> 00:52:58,597 ábyrgur fyrir að keyra það. 1073 00:52:58,597 --> 00:53:01,180 Og það þýðir að við gerum ekki þurfa að hafa samskipti við þjóninn. 1074 00:53:01,180 --> 00:53:04,380 Svo það þýðir að það geta vera a einhver fjöldi hraðar vegna þess að það er í raun bara það Chrome, 1075 00:53:04,380 --> 00:53:10,420 það er Safari, það er Firefox, hvað þér nota í raun í gangi þínum JavaScript. 1076 00:53:10,420 --> 00:53:12,290 >> Áhorfendur: Hvað ósamstilltur meina? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH Blumberg: Ah, hvað er asynchronously meina? 1078 00:53:13,620 --> 00:53:14,250 Frábær spurning. 1079 00:53:14,250 --> 00:53:17,890 Asynchronously means-- vel, efni sem 1080 00:53:17,890 --> 00:53:22,140 við notum það er, OK, við eru að búa til vefsíðu 1081 00:53:22,140 --> 00:53:23,860 og við þurfum að fá smá upplýsingar. 1082 00:53:23,860 --> 00:53:28,250 Svo með dæmi um Mashup, einhverjar upplýsingar sem við gætum vilja 1083 00:53:28,250 --> 00:53:30,580 er grein titla. 1084 00:53:30,580 --> 00:53:33,330 Nú, could-- við einn valkost er að gera það í réttri 1085 00:53:33,330 --> 00:53:37,940 og það þýðir skulum stöðva, fara að fá greinina, 1086 00:53:37,940 --> 00:53:41,275 fá grein aftur, og þá bakið, en það væri mjög hægur. 1087 00:53:41,275 --> 00:53:44,150 Það væri slæmt notandi reynsla því að þú myndir bara að sitja 1088 00:53:44,150 --> 00:53:46,630 að bíða eftir eitthvað að svara. 1089 00:53:46,630 --> 00:53:50,020 >> Asynchronously þýðir að við munum halda áfram að fara um viðskipti okkar, 1090 00:53:50,020 --> 00:53:52,529 flutningur á síðunni, og við munum senda út beiðni 1091 00:53:52,529 --> 00:53:54,570 Það er góður af fara að gerast í bakgrunni. 1092 00:53:54,570 --> 00:53:57,610 Ég held að við notum dæmi í fyrirlestur starf Rob og sagði: 1093 00:53:57,610 --> 00:53:59,980 hey, þú getur litið þetta upp fyrir mig og fá aftur til mín, 1094 00:53:59,980 --> 00:54:02,870 öfugt við bara mér bíða á símanum. 1095 00:54:02,870 --> 00:54:07,020 Svo þýðir asynchronously það gerist í bakgrunni burtu frá okkur 1096 00:54:07,020 --> 00:54:08,676 samhliða. 1097 00:54:08,676 --> 00:54:10,400 >> Frábær spurning. 1098 00:54:10,400 --> 00:54:11,830 Eitthvað annað? 1099 00:54:11,830 --> 00:54:12,330 Great. 1100 00:54:12,330 --> 00:54:15,020 Við munum hoppa miklu meira í ósamstilltur beiðnir með Ajax. 1101 00:54:15,020 --> 00:54:18,287 >> Áhorfendur: Er Javascript-- hvar það falla með Model-View-Controller? 1102 00:54:18,287 --> 00:54:19,620 HANNAH Blumberg: Great spurning. 1103 00:54:19,620 --> 00:54:23,320 Hvar er JavaScript fall með Model-View-Controller? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Ég giska á að það getur fall-- þannig að við gerum ekki venjulega 1106 00:54:28,350 --> 00:54:31,340 eins að troða henni inn í það hugmyndafræði, en ég held ég myndi segja, 1107 00:54:31,340 --> 00:54:34,280 OK, svo JavaScript reyndar er að fara að leyfa 1108 00:54:34,280 --> 00:54:37,587 okkur til að safna gögnum, túlka gögn, í raun gera 1109 00:54:37,587 --> 00:54:38,920 þroskandi hluti með gögnin. 1110 00:54:38,920 --> 00:54:41,100 Á þann hátt, er það mjög stjórn eins. 1111 00:54:41,100 --> 00:54:43,900 >> En það er líka að fara að leyfa okkur að sýna hlutina og prenta það. 1112 00:54:43,900 --> 00:54:47,021 Á þann hátt, er það mjög útsýni eins. 1113 00:54:47,021 --> 00:54:47,520 Já. 1114 00:54:47,520 --> 00:54:51,710 Svo það er góður af eins og PHP þar sem það getur konar bæði. 1115 00:54:51,710 --> 00:54:53,330 Góð spurning. 1116 00:54:53,330 --> 00:54:55,209 Eitthvað annað? 1117 00:54:55,209 --> 00:54:56,000 Allt í lagi, ógnvekjandi. 1118 00:54:56,000 --> 00:54:57,120 Flytja rétt eftir. 1119 00:54:57,120 --> 00:54:59,110 >> Svo skulum sjá dæmi um hvernig við getum notað 1120 00:54:59,110 --> 00:55:02,250 JavaScript í einn af verkefnum okkar á vefnum. 1121 00:55:02,250 --> 00:55:05,680 Svo ég ætla að íhuga þetta index.html með fullt af HTML. 1122 00:55:05,680 --> 00:55:08,800 Og það sem ég vil þig leggja áherslu á er þetta handrit tag. 1123 00:55:08,800 --> 00:55:13,280 Og þetta segir, OK, ég vil að hlaupa sumir JavaScript og hér er þar sem það býr. 1124 00:55:13,280 --> 00:55:15,400 Það býr í hello.js. 1125 00:55:15,400 --> 00:55:21,120 >> Og mjög mikið eins og CSS, við gátum setja Javascript innan HTML. 1126 00:55:21,120 --> 00:55:24,000 Hvers vegna getum við vilja til að skilja það út? 1127 00:55:24,000 --> 00:55:24,500 Já. 1128 00:55:24,500 --> 00:55:25,486 >> Áhorfendur: Auðveldara að umrita? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH Blumberg: Já. 1130 00:55:26,402 --> 00:55:28,450 Það er auðveldara að nota yfir mismunandi vefsíðum. 1131 00:55:28,450 --> 00:55:29,980 Það heldur það hreinni. 1132 00:55:29,980 --> 00:55:32,090 Það er bara gott. 1133 00:55:32,090 --> 00:55:32,590 Awesome. 1134 00:55:32,590 --> 00:55:33,930 Gott svar. 1135 00:55:33,930 --> 00:55:36,690 Svo gott, svo þetta er að fara að vera index.html okkar. 1136 00:55:36,690 --> 00:55:39,430 Og þá hérna er okkar agnarsmár JavaScript skrá. 1137 00:55:39,430 --> 00:55:42,410 >> Og allt það segir er vakandi Halló, heimur. 1138 00:55:42,410 --> 00:55:46,040 Svo hvað gerist er þegar þessa síðu renders-- 1139 00:55:46,040 --> 00:55:49,680 þannig að ef þú ferð til hvaða vefsíðu þetta is-- allt sem er að fara að gerast 1140 00:55:49,680 --> 00:55:53,330 er það er að fara að segja, OK, ég er að fara að keyra þennan JavaScript kóða. 1141 00:55:53,330 --> 00:55:56,370 Og þetta JavaScript kóða bara segir vakandi Halló, heimur. 1142 00:55:56,370 --> 00:55:59,090 Þannig að ég ætla að fá þetta vingjarnlegur lítill pop-up. 1143 00:55:59,090 --> 00:56:00,360 >> Cool? 1144 00:56:00,360 --> 00:56:04,746 Það er góður af eins og okkar fyrstu JavaScript program, okkar Halló, heimur. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Við skulum líta svolítið meira um hvað setningafræði JavaScript lítur út. 1147 00:56:12,190 --> 00:56:16,330 Og sérstaklega, við skulum bera saman það til C og PHP, sem við höfum séð áður. 1148 00:56:16,330 --> 00:56:20,610 >> JavaScript, við erum að fara að hafa Var, nafn breytu, og þá 1149 00:56:20,610 --> 00:56:21,690 raunveruleg gildi þess. 1150 00:56:21,690 --> 00:56:26,170 Og við tilgreinir ekki tegund, bara eins og í PHP, en mjög ólíkt í C. 1151 00:56:26,170 --> 00:56:28,850 Svo til dæmis, ef við vildum að geyma verðmæti 50, 1152 00:56:28,850 --> 00:56:32,490 í C, myndum við að segja, hey, C, ég vil heiltölu 1153 00:56:32,490 --> 00:56:35,076 Ég ætla að kalla það i, og gildi þess er 50. 1154 00:56:35,076 --> 00:56:36,450 Í PHP, það er svolítið auðveldara. 1155 00:56:36,450 --> 00:56:41,880 Við segjum, hey, ég vil breytu kallaði ég og gildi þess er 50. 1156 00:56:41,880 --> 00:56:45,890 Mjög álíka, í JavaScript, við segja hey, ég vil breyta kallaði ég, 1157 00:56:45,890 --> 00:56:47,080 gildi er 50. 1158 00:56:47,080 --> 00:56:52,140 Sérhver síðari skipti sem ég nota i, ég þarf ekki að skrifa var. 1159 00:56:52,140 --> 00:56:53,810 Það er bara ég frá þeim tímapunkti á. 1160 00:56:53,810 --> 00:56:58,660 Á sama hátt, í C, þar sem þegar við segjum int i, við notum bara i. 1161 00:56:58,660 --> 00:57:00,340 Cool? 1162 00:57:00,340 --> 00:57:01,800 Allt í lagi. 1163 00:57:01,800 --> 00:57:03,710 >> Færa um að lykkjur, sem betur fer, þetta nánast 1164 00:57:03,710 --> 00:57:06,720 líta exactly-- Ég held að þeir séu nákvæmlega það sama og hvað 1165 00:57:06,720 --> 00:57:09,799 lykkjur eru að fara að líta út eins og í eitthvað eins og C þar sem þinn fyrir lykkju 1166 00:57:09,799 --> 00:57:11,840 er að fara að hafa þrjú parts-- frumstilling, 1167 00:57:11,840 --> 00:57:13,640 ástand, og uppfærsla. 1168 00:57:13,640 --> 00:57:15,340 A meðan lykkja, það lítur nákvæmlega sama. 1169 00:57:15,340 --> 00:57:16,390 Við gefum bara það ástand. 1170 00:57:16,390 --> 00:57:18,264 >> Og gera á meðan lykkja, aftur, nákvæmlega það sama. 1171 00:57:18,264 --> 00:57:20,190 Við gefum það skilyrði. 1172 00:57:20,190 --> 00:57:24,510 Skulum segja að ég vildi að árétta over-- Mig langaði til að gera eitthvað fimm sinnum. 1173 00:57:24,510 --> 00:57:27,840 Í C, gætum við skrifað fyrir init ég er 0. 1174 00:57:27,840 --> 00:57:30,480 Ég er minna en 5, ég ++. 1175 00:57:30,480 --> 00:57:34,240 Eini munurinn, í JavaScript, í stað þess að segja int i jafngildir 0, 1176 00:57:34,240 --> 00:57:36,820 við segjum Var ég er 0. 1177 00:57:36,820 --> 00:57:38,370 Beautiful. 1178 00:57:38,370 --> 00:57:41,320 Það er eini munurinn. 1179 00:57:41,320 --> 00:57:43,200 Einhverjar spurningar um eitthvað af því? 1180 00:57:43,200 --> 00:57:44,160 Já. 1181 00:57:44,160 --> 00:57:48,480 >> Áhorfendur: Svo í PHP, það er sama hlutur, nema en eins breytu? 1182 00:57:48,480 --> 00:57:49,564 Eða var það VAR dæmis? 1183 00:57:49,564 --> 00:57:50,480 HANNAH Blumberg: Já. 1184 00:57:50,480 --> 00:57:52,310 Svo í PHP, það er að fara að vera dollaramerki. 1185 00:57:52,310 --> 00:57:59,450 Svo það er að fara að $ i jafningja 0, $ I er minni en 5, $ I ++. 1186 00:57:59,450 --> 00:58:02,490 Frábær spurning. 1187 00:58:02,490 --> 00:58:04,570 >> Nú skulum tala um virka yfirlýsingar. 1188 00:58:04,570 --> 00:58:07,010 Í C, þegar við lýst yfir virka, við gáfum honum nafn 1189 00:58:07,010 --> 00:58:08,490 og gáfum henni nokkrar breytur. 1190 00:58:08,490 --> 00:58:10,670 Og í byrjun, skrifaði við gerð. 1191 00:58:10,670 --> 00:58:12,440 JavaScript, allt sem við þarft að gera er að skrifa 1192 00:58:12,440 --> 00:58:15,080 leitarorðið fall sem segir, hey, JavaScript, 1193 00:58:15,080 --> 00:58:16,570 Ég er að fara að skilgreina fall. 1194 00:58:16,570 --> 00:58:18,520 >> Í þessu tilfelli, það hefur nafn summa. 1195 00:58:18,520 --> 00:58:20,820 Og það tekur tvær breytur, x og y. 1196 00:58:20,820 --> 00:58:23,280 Takið eftir að við gerum ekki sama um tegundir x og y. 1197 00:58:23,280 --> 00:58:26,280 Og rétt eins og C, höfum við þetta leitarorð aftur, 1198 00:58:26,280 --> 00:58:29,140 svo við getum gert eitthvað eins aftur x og y. 1199 00:58:29,140 --> 00:58:32,540 >> Og nú þegar við höfum skrifað þetta fyrst virka, getum við notað summan hvar sem er. 1200 00:58:32,540 --> 00:58:34,740 Og það er algerlega fínt. 1201 00:58:34,740 --> 00:58:37,530 Einn mjög kaldur hlutur óður í JavaScript sem er mjög ólíkt C 1202 00:58:37,530 --> 00:58:40,770 er að virka getur að meðhöndla eins og gildum. 1203 00:58:40,770 --> 00:58:43,895 Þannig að við getum gert eitthvað eins og hér þar sem ég býst við að ég ná þessu up-- 1204 00:58:43,895 --> 00:58:46,400 Ég tekur upp VAR summan part-- og ég sagði bara 1205 00:58:46,400 --> 00:58:49,850 virka XY jafngildir aftur x plús y. 1206 00:58:49,850 --> 00:58:52,140 >> Það er það sem væri kallað nafnlaus aðgerð. 1207 00:58:52,140 --> 00:58:53,920 Það er aðgerð án heitis. 1208 00:58:53,920 --> 00:58:56,290 En þetta segir virka summa, bla, bla, bla, 1209 00:58:56,290 --> 00:58:59,340 þetta myndi bara segja virka. 1210 00:58:59,340 --> 00:59:02,020 En nú jafnvel þótt ég hafi þetta nafnlaus aðgerð, 1211 00:59:02,020 --> 00:59:03,630 sem virka er í raun bara gildi. 1212 00:59:03,630 --> 00:59:05,160 Við getum meðhöndla það eins og a gildi. 1213 00:59:05,160 --> 00:59:10,180 >> Svo við getum vistað það í breytu sem sama leið að við getum geymt 50 í breytu. 1214 00:59:10,180 --> 00:59:13,870 Þannig að við getum sagt, OK, ég vil breyta, það er kallað summa, 1215 00:59:13,870 --> 00:59:16,011 og það er þetta fall. 1216 00:59:16,011 --> 00:59:18,760 Svo þessir tveir hlutir eru í raun að fara að gera nákvæmlega það sama, 1217 00:59:18,760 --> 00:59:21,576 en setningafræði er svolítið öðruvísi og svona skemmtilegt huga. 1218 00:59:21,576 --> 00:59:22,076 Já. 1219 00:59:22,076 --> 00:59:25,548 >> Áhorfendur: Svo þú gætir hringt a fall sem var nafnlaus með því að segja, 1220 00:59:25,548 --> 00:59:28,244 summa sviga 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH Blumberg: Já. 1222 00:59:29,160 --> 00:59:32,280 Þú getur hringt þetta nafnlaus virka á sama hátt. 1223 00:59:32,280 --> 00:59:33,350 Þú vilt gera SUM (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Það væri algerlega í lagi. 1226 00:59:38,200 --> 00:59:41,575 >> Ef ég gerði það ekki Var Summa jafngildir virka, ef ég eyddi bara 1227 00:59:41,575 --> 00:59:45,480 this-- Ég veit að það er á minni hendi, en þykjast Ég eyddi this-- þá 1228 00:59:45,480 --> 00:59:46,964 sem virka er eins konar bara farið. 1229 00:59:46,964 --> 00:59:49,630 Þú getur aldrei notað það aftur vegna þess að þú ert ekki með nafn fyrir það. 1230 00:59:49,630 --> 00:59:53,497 Það er erfitt að vísa í eitthvað þú veist ekki hvað ég á að kalla. 1231 00:59:53,497 --> 00:59:54,080 Góð spurning. 1232 00:59:54,080 --> 00:59:54,580 Já. 1233 00:59:54,580 --> 00:59:59,580 >> Áhorfendur: Getur þú vísað summan í öðrum stöðum með verðmæti x plús y? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH Blumberg: Getur þú tilvísun summa í öðrum stöðum 1235 01:00:01,940 --> 01:00:03,360 með gildi x plús y? 1236 01:00:03,360 --> 01:00:05,130 Ég er ekki alveg viss um hvað þú átt við. 1237 01:00:05,130 --> 01:00:10,582 >> Áhorfendur: Svo fortíðina hálf-nafnlaus virka er summan jafngildir þetta 1238 01:00:10,582 --> 01:00:14,452 nafnlaus aðgerð, svo er summan nú breyta sem þú can-- 1239 01:00:14,452 --> 01:00:15,410 HANNAH Blumberg: Hægri. 1240 01:00:15,410 --> 01:00:18,980 Svo er summan breytan, en það er actually-- 1241 01:00:18,980 --> 01:00:23,770 svo er summan breytilegt sem gildi er hlutverk. 1242 01:00:23,770 --> 01:00:27,030 Svo er það fall, sem er eins konar a furðulegur hlutur að vefja höfðinu í kring 1243 01:00:27,030 --> 01:00:29,880 þar sem við höfum verið að spila með C og þú getur ekki gert það í C. 1244 01:00:29,880 --> 01:00:32,679 En nú getum við hringt summa sem sama hátt og við gætum hringt summan hér. 1245 01:00:32,679 --> 01:00:33,220 Áhorfendur: OK. 1246 01:00:33,220 --> 01:00:33,970 HANNAH Blumberg: Já. 1247 01:00:33,970 --> 01:00:34,553 Góð spurning. 1248 01:00:34,553 --> 01:00:35,438 Já. 1249 01:00:35,438 --> 01:00:39,862 >> Áhorfendur: Svo við notum ekki frumgerðir í PHP eða JavaScript? 1250 01:00:39,862 --> 01:00:42,070 HANNAH Blumberg: Nei, við þarf ekki að nota frumgerð, 1251 01:00:42,070 --> 01:00:43,880 sérstaklega í JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Svo einn slæmur siður sem ég er að fara að segja að þú ættir ekki að gera 1253 01:00:49,380 --> 01:00:52,620 er að þú þarft ekki að skrifa VAR I = 50. 1254 01:00:52,620 --> 01:00:54,840 Þú getur bara byrjað að gera i = 50. 1255 01:00:54,840 --> 01:00:57,490 Og vildi bara gera ég alþjóðlegt breytu. 1256 01:00:57,490 --> 01:01:00,550 >> Það er mjög slæmt starf til aldrei segja explicity Var i, 1257 01:01:00,550 --> 01:01:01,800 en það er eitthvað sem þú getur gert. 1258 01:01:01,800 --> 01:01:03,591 Túlkurinn er ekki að fara að æpa á þig. 1259 01:01:03,591 --> 01:01:05,920 JavaScript er nokkuð eins, þú getur gert það sem þú vilt. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 Ó fyrirgefðu. 1262 01:01:09,800 --> 01:01:10,300 Það er tveir. 1263 01:01:10,300 --> 01:01:12,150 Í appelsínugulum buxum. 1264 01:01:12,150 --> 01:01:13,190 Gjörðu svo vel. 1265 01:01:13,190 --> 01:01:14,390 >> Áhorfendur: Nei, þú ferð fyrst. 1266 01:01:14,390 --> 01:01:16,765 >> Áhorfendur: Nei, ég var bara að segja Ég hafði ekki hönd mína. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 OK. 1269 01:01:20,748 --> 01:01:26,604 Svo ef þú varst að hringja að í fyrsta skipti, nú summa, 1270 01:01:26,604 --> 01:01:29,864 við köllum það á sama hátt, x, Y, eins hvert einasta skipti? 1271 01:01:29,864 --> 01:01:30,780 HANNAH Blumberg: Já. 1272 01:01:30,780 --> 01:01:32,572 Svo þessir tveir meginatriðum gera það sama. 1273 01:01:32,572 --> 01:01:35,113 Áhorfendur: Og hvað er kostur þess að nota einn eða annan? 1274 01:01:35,113 --> 01:01:37,500 HANNAH Blumberg: No kostur þess að nota einn eða annan. 1275 01:01:37,500 --> 01:01:40,080 Ég vildi bara að sýna þér tvo mismunandi stykki af setningafræði. 1276 01:01:40,080 --> 01:01:42,770 A einhver fjöldi af sinnum þar nafnlaus aðgerðir gera hafa tilgang 1277 01:01:42,770 --> 01:01:48,220 er ef rök til annars Eftirlit skal vera fall. 1278 01:01:48,220 --> 01:01:50,600 Og við munum sjá að í bara annað með Ajax. 1279 01:01:50,600 --> 01:01:53,577 >> Þannig að ef það var ekki að gera allir skilningarvit, geyma það í hnakkanum. 1280 01:01:53,577 --> 01:01:55,660 Það er þar sem nafnlaus virka gæti verið gagnlegt 1281 01:01:55,660 --> 01:01:58,284 vegna þess að það er í raun ekki þess virði gefa það a nafn þar sem við erum bara 1282 01:01:58,284 --> 01:01:59,443 að fara að nota það einu sinni. 1283 01:01:59,443 --> 01:02:00,370 Já. 1284 01:02:00,370 --> 01:02:03,635 >> Áhorfendur: Ef x og y breyta síðar á, mun summa breytast eins og heilbrigður? 1285 01:02:03,635 --> 01:02:06,510 HANNAH Blumberg: Ef x og y breyting seinna, munt summa breytast eins og heilbrigður? 1286 01:02:06,510 --> 01:02:08,840 Svo er þetta reyndar held eitthvað sem er, 1287 01:02:08,840 --> 01:02:12,260 aftur, finnst það bara mjög mismunandi frá C. Þetta er ekki gildi. 1288 01:02:12,260 --> 01:02:13,620 Það er ekki 5. 1289 01:02:13,620 --> 01:02:15,550 Það er bara virka sjálft. 1290 01:02:15,550 --> 01:02:19,110 Svo um leið og þú gefur það breytur, þá munt þú í raun að reikna gildi. 1291 01:02:19,110 --> 01:02:21,193 >> MARIA ZLATKOVA: Og þá þú getur hringt í aðgerð 1292 01:02:21,193 --> 01:02:23,272 og nota það til að fá smá gildi. 1293 01:02:23,272 --> 01:02:24,230 HANNAH Blumberg: Hægri. 1294 01:02:24,230 --> 01:02:25,250 Nákvæmlega. 1295 01:02:25,250 --> 01:02:25,863 Já. 1296 01:02:25,863 --> 01:02:27,946 >> Áhorfendur: Svo ef þú bara geyma það í breytu, 1297 01:02:27,946 --> 01:02:31,430 eins var x jafngildir summu tveggja values-- 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH Blumberg: Já. 1299 01:02:32,420 --> 01:02:35,320 Svo þú gætir bara gert VAR summan jafngildir summu tveggja gilda. 1300 01:02:35,320 --> 01:02:37,670 Já. 1301 01:02:37,670 --> 01:02:38,680 Aðrar spurningar? 1302 01:02:38,680 --> 01:02:39,642 Já. 1303 01:02:39,642 --> 01:02:42,047 >> Áhorfendur: En væri það rugla summu og summu? 1304 01:02:42,047 --> 01:02:45,062 Eins og ef þú kallar breyta upphæð þitt, myndir þú kalla virka summu? 1305 01:02:45,062 --> 01:02:45,895 HANNAH Blumberg: Mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Ef þú gerðir eitthvað eins og, summa jafngildir summan 2, 5? 1308 01:02:51,253 --> 01:02:53,170 >> Áhorfendur: Já. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH Blumberg: Ég tel að myndi skrifa verðmæti summa. 1310 01:02:56,465 --> 01:02:59,290 Svo annað áhugavert hlutur óður JavaScript 1311 01:02:59,290 --> 01:03:02,950 er að einn breytu getur tekið á fullt af mismunandi gerðum. 1312 01:03:02,950 --> 01:03:03,790 Bad æfa. 1313 01:03:03,790 --> 01:03:06,280 Þú ættir ekki að gera eitthvað eins og það sem þú sagðir. 1314 01:03:06,280 --> 01:03:10,240 >> En í C, ef ég er sett jöfn heiltala, 1315 01:03:10,240 --> 01:03:13,570 við vitum að það er aldrei fara að verða band. 1316 01:03:13,570 --> 01:03:15,670 Þetta er ekki raunin í JavaScript. 1317 01:03:15,670 --> 01:03:17,770 Já, góð spurning. 1318 01:03:17,770 --> 01:03:20,151 Eitthvað annað? 1319 01:03:20,151 --> 01:03:20,650 Allt í lagi. 1320 01:03:20,650 --> 01:03:21,850 Gera allt rétt á réttum tíma. 1321 01:03:21,850 --> 01:03:23,050 Gæsla fara. 1322 01:03:23,050 --> 01:03:25,200 Allt í lagi. 1323 01:03:25,200 --> 01:03:27,780 >> Ef við lítum á fjölda í JavaScript, hér er 1324 01:03:27,780 --> 01:03:30,250 a fljótur dæmi af fjölda strengi. 1325 01:03:30,250 --> 01:03:31,967 Og fylki geta vaxið mjög virk. 1326 01:03:31,967 --> 01:03:33,675 Þeir hafa ekki fastur stærð á sama hátt 1327 01:03:33,675 --> 01:03:37,990 sem þeir gera í C. Við getum nálgast það þætti með aðeins hornklofum. 1328 01:03:37,990 --> 01:03:41,720 >> Sem lítur mikið eins og PHP og mikið eins og C, þar sem við getum sagt, í þessu tilfelli, 1329 01:03:41,720 --> 01:03:48,360 ef ég vildi orðið JavaScript, myndi ég ekki Arr hornklofa með 0, 1, 2. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 Og svo ef þú manst í C þegar við vildi fá lengd fylki, 1332 01:03:55,390 --> 01:03:56,820 það var mjög pirrandi. 1333 01:03:56,820 --> 01:03:58,460 En í JavaScript, frábær auðvelt. 1334 01:03:58,460 --> 01:03:59,910 Allt sem við gerum, .length. 1335 01:03:59,910 --> 01:04:01,120 Gefur það lengdir. 1336 01:04:01,120 --> 01:04:01,892 Það er það. 1337 01:04:01,892 --> 01:04:03,140 >> Áhorfendur: Það er einfalt. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH Blumberg: Já, gerir líf þitt mun auðveldara. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 OK, object-- ekki þar. 1341 01:04:11,560 --> 01:04:15,480 Hlutir í JavaScript feel a einhver fjöldi eins structs í C 1342 01:04:15,480 --> 01:04:18,280 og tengin fylki í PHP. 1343 01:04:18,280 --> 01:04:20,270 Svo það sem við höfum séð mikið af er JSON, sem 1344 01:04:20,270 --> 01:04:23,150 stendur fyrir JavaScript Object Ritháttur. 1345 01:04:23,150 --> 01:04:25,550 Og það er í grundvallaratriðum leið uppbyggingar gögn okkar. 1346 01:04:25,550 --> 01:04:27,880 >> Svo skulum sjá dæmi, sennilega auðveldasta. 1347 01:04:27,880 --> 01:04:32,540 Svo er hér dæmi um hlut sem geymir bekknum, CS50. 1348 01:04:32,540 --> 01:04:37,790 Og þegar ég segi bekknum, ég meina auðvitað, ekki like-- já, að sjálfsögðu, CS50. 1349 01:04:37,790 --> 01:04:40,730 Og þú munt sjá að allt í hlut 1350 01:04:40,730 --> 01:04:43,526 er að fara að vera að finna í hrokkið axlabönd. 1351 01:04:43,526 --> 01:04:48,260 >> Og við byrjum að tengja sviði nöfn eða lykla með mismunandi gildum. 1352 01:04:48,260 --> 01:04:52,920 Svo þú getur byrjað að sjá hvernig þessu tagi finnst eins og tengin array í PHP. 1353 01:04:52,920 --> 01:04:57,450 Þannig að við erum að fara að tengja á sviði eða lykillinn nafn, auðvitað, með band, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Við erum að fara að hafa leiðbeinanda. 1356 01:04:59,940 --> 01:05:00,940 Við erum að fara að hafa TFS. 1357 01:05:00,940 --> 01:05:05,240 Við erum að fara að hafa fjölda psets og við erum að fara að hafa skráð. 1358 01:05:05,240 --> 01:05:10,720 Og einn kaldur hlutur að hafa í huga er allt þetta hafa mismunandi gerðir, 1359 01:05:10,720 --> 01:05:12,020 og það er algerlega fínt. 1360 01:05:12,020 --> 01:05:15,330 >> Það er allt í lagi fyrir hlut, í raun, það er sennilega gert ráð fyrir hlut 1361 01:05:15,330 --> 01:05:19,620 að hafa samsetningu af strengi og tölur og Booleans og fylki 1362 01:05:19,620 --> 01:05:23,420 og hvað annað sem þú gætir vilt hafa inni hlut þinn. 1363 01:05:23,420 --> 01:05:28,570 Og athugið að þetta er að fara að vera heiti eða lykla, og þá erum við bara 1364 01:05:28,570 --> 01:05:30,300 setja það jafnt með smá ristli. 1365 01:05:30,300 --> 01:05:32,015 >> Áhorfendur: Hvað nákvæmlega er JSON meina? 1366 01:05:32,015 --> 01:05:33,890 HANNAH Blumberg: Hvað nákvæmlega er JSON meina? 1367 01:05:33,890 --> 01:05:36,470 JSON stendur bara fyrir JavaScript Object Ritháttur. 1368 01:05:36,470 --> 01:05:38,430 Það er bara leið til að forsníða. 1369 01:05:38,430 --> 01:05:40,040 Já. 1370 01:05:40,040 --> 01:05:41,800 Það er leið til að forsníða gögn okkar. 1371 01:05:41,800 --> 01:05:43,620 >> Í C er það structs. 1372 01:05:43,620 --> 01:05:45,800 Í PHP, það tengin fylki. 1373 01:05:45,800 --> 01:05:47,120 JavaScript, höfum við hluti. 1374 01:05:47,120 --> 01:05:48,969 >> Áhorfendur: Svo er CS50 hlut? 1375 01:05:48,969 --> 01:05:51,010 HANNAH Blumberg: CS50 er hlut í þessu tilfelli. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Nú, hvernig við í raun aðgang þessir reitir eða breyta þeim sviðum. 1378 01:05:57,880 --> 01:06:03,920 Segjum til dæmis að við ákváðum að þú vildir einn færri pset þessa önn. 1379 01:06:03,920 --> 01:06:06,300 Í stað þess að níu, við erum bara að fara að hafa átta. 1380 01:06:06,300 --> 01:06:08,240 Hvernig myndum við breyta því? 1381 01:06:08,240 --> 01:06:09,436 >> Oh, röng leið. 1382 01:06:09,436 --> 01:06:11,060 Það eru tvær leiðir sem við getum gert það. 1383 01:06:11,060 --> 01:06:13,490 Númer eitt er með punkti merki og númer tvö 1384 01:06:13,490 --> 01:06:15,750 er með hornklofi tákn. 1385 01:06:15,750 --> 01:06:19,720 Svo, til dæmis, ef ég vildi breyta eða aðgang 1386 01:06:19,720 --> 01:06:26,820 sem psets sviði í CS50 hlut okkar, það sem ég myndi gera er að CS50.psets, 1387 01:06:26,820 --> 01:06:30,770 svo nafn á hlutnum punktur nafn þess eða þeirra takkanum. 1388 01:06:30,770 --> 01:06:37,120 >> Mjög álíka, það er nákvæmlega jafngildir gera CS50, og þá 1389 01:06:37,120 --> 01:06:42,050 í hornklofa, 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 >> Áhorfendur: Svo er JSON tæknilega JavaScript enn, 1393 01:06:47,707 --> 01:06:51,814 jafnvel þó í psets við aðskilja hana út [inaudible]? 1394 01:06:51,814 --> 01:06:52,730 HANNAH Blumberg: Jú. 1395 01:06:52,730 --> 01:06:56,290 Svo spurningin er, eru JavaScript og JSON jafngildi? 1396 01:06:56,290 --> 01:07:00,750 Svo er JSON merki, í grundvallaratriðum á þann hátt að við að skrifa út 1397 01:07:00,750 --> 01:07:02,700 hlut frá JavaScript. 1398 01:07:02,700 --> 01:07:05,190 Svo þeir eru ekki nákvæmlega það sama. 1399 01:07:05,190 --> 01:07:08,950 >> Ég myndi segja JavaScript, það eru hlutir í JavaScript. 1400 01:07:08,950 --> 01:07:12,590 JSON tekur þá hluti og prentar þá og birtir þær 1401 01:07:12,590 --> 01:07:15,160 eða geymir þær í a ágætur vegur. 1402 01:07:15,160 --> 01:07:18,110 Svo er JSON ekki forritun Tungumál á þann hátt að JavaScript er. 1403 01:07:18,110 --> 01:07:20,900 Það er bara merki um hlutir okkar í JavaScript. 1404 01:07:20,900 --> 01:07:21,400 Já. 1405 01:07:21,400 --> 01:07:24,144 >> Áhorfendur: Og hvað nákvæmlega [Inaudible] ljúka? 1406 01:07:24,144 --> 01:07:25,060 HANNAH Blumberg: Jú. 1407 01:07:25,060 --> 01:07:27,727 Svo þetta er í raun gerir ekki neitt. 1408 01:07:27,727 --> 01:07:28,935 Þetta er bara leið til að fá aðgang. 1409 01:07:28,935 --> 01:07:31,393 Svo skulum segja að við vildum breyta fjöldi vandamál setur 1410 01:07:31,393 --> 01:07:32,450 frá níu til átta. 1411 01:07:32,450 --> 01:07:34,383 Hvað við gerum er að gera eitthvað eins CS50.psets = 8 ;. 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Já, frábær spurning. 1414 01:07:39,400 --> 01:07:40,733 Þetta er bara til að sýna þér setningafræði. 1415 01:07:40,733 --> 01:07:43,620 Ekki í raun að gera neitt gagnlegt. 1416 01:07:43,620 --> 01:07:46,085 Einhverjar spurningar? 1417 01:07:46,085 --> 01:07:48,210 Flytja rétt eftir. 1418 01:07:48,210 --> 01:07:51,960 >> Svo skulum líta á a fljótur dæmi um hvernig JavaScript virkar vegna þess að ég sagði þér það 1419 01:07:51,960 --> 01:07:55,170 gerir allt þetta kaldur hlutur og gerir okkur kleift að breyta vefsíðum. 1420 01:07:55,170 --> 01:07:56,970 Við skulum sjá það í raun í aðgerð. 1421 01:07:56,970 --> 01:07:59,850 Svo taka, til dæmis, þetta HTML skrá. 1422 01:07:59,850 --> 01:08:04,350 >> Og það sem ég vil að þú að leggja áherslu á er Þetta tiltekna tag, sem er hnappur, 1423 01:08:04,350 --> 01:08:06,182 með id search_button. 1424 01:08:06,182 --> 01:08:08,670 Það er bara á síðunni. 1425 01:08:08,670 --> 01:08:10,690 Svo nú skulum sjá hvað við getum í raun gert. 1426 01:08:10,690 --> 01:08:12,560 >> Jæja, ætla þegar þú smellir á hnappinn, 1427 01:08:12,560 --> 01:08:16,010 við viljum gera alert-- þú smellir á hnappinn. 1428 01:08:16,010 --> 01:08:17,840 Við skulum sjá hvernig við getum gert það. 1429 01:08:17,840 --> 01:08:23,869 Svo window.onload-- þetta er ekki eitthvað sem þú hefur séð í bekknum, því 1430 01:08:23,869 --> 01:08:26,180 þarft ekki að vita það fyrir próf. 1431 01:08:26,180 --> 01:08:33,660 En þetta í rauninni segir, OK, kalla Þessi aðgerð þegar gluggi opnast. 1432 01:08:33,660 --> 01:08:35,080 >> Svo er það bara svona setup kóða. 1433 01:08:35,080 --> 01:08:36,390 Ekki hafa áhyggjur svo mikið um það. 1434 01:08:36,390 --> 01:08:39,170 Það sem ég vil að þú að leggja áherslu á er hér. 1435 01:08:39,170 --> 01:08:44,020 Við segjum Var searchButton jafngildir document.getElementById search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Svo eins og þú might giska, hvað þetta gerir er að það segir, 1437 01:08:46,450 --> 01:08:50,920 OK, fara að finna þáttur með ID search_button. 1438 01:08:50,920 --> 01:08:52,790 Og nú höfum við að Raunveruleg þáttur og ég er 1439 01:08:52,790 --> 01:08:56,279 að fara að geyma það í breyta searchButton. 1440 01:08:56,279 --> 01:09:00,651 Og nú getum við í raun nota þessi þáttur og breyta því, eða opna gildum, 1441 01:09:00,651 --> 01:09:01,359 svoleiðis. 1442 01:09:01,359 --> 01:09:04,649 Við getum í raun byrjað að þátt með vefsíðu. 1443 01:09:04,649 --> 01:09:10,330 >> Svo hér er ég að segja, OK, nú að ég hef sem hnappur, þegar það er smellt 1444 01:09:10,330 --> 01:09:12,859 kalla þetta nafnlaus aðgerð. 1445 01:09:12,859 --> 01:09:16,811 Svo er þetta þar nafnlaus aðgerðir verða gagnlegt. 1446 01:09:16,811 --> 01:09:18,060 Og hvað heimtar virka gera? 1447 01:09:18,060 --> 01:09:20,529 Jæja, það kallar bara á þessu viðvörun virka og það segir, 1448 01:09:20,529 --> 01:09:22,910 þú smellir á Leita hnappinn. 1449 01:09:22,910 --> 01:09:29,670 >> Svo hvað mun gerast ef ég fer til hvar þetta HTML býr og ég smelli á hnappinn, 1450 01:09:29,670 --> 01:09:33,729 Ég næ ímynda smá viðvörun sem segir að þú smellir á hnappinn. 1451 01:09:33,729 --> 01:09:40,710 Svo það að leggja áherslu á here-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 fær einkum HTML þáttur með þessu auðkenni. 1453 01:09:44,960 --> 01:09:48,529 Og nú getum við sett hvað ætti að gerast þegar 1454 01:09:48,529 --> 01:09:50,702 sem einkum þáttur er smellt. 1455 01:09:50,702 --> 01:09:52,670 >> Áhorfendur: Við verðum að setja allt sem í? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH Blumberg miður? 1457 01:09:53,162 --> 01:09:55,130 >> Áhorfendur: Þurfum við að líkamlega kóða allt? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH Blumberg: Eigum við að þurfa að líkamlega kóða allt? 1459 01:09:56,340 --> 01:09:56,839 Já. 1460 01:09:56,839 --> 01:09:58,120 Er ekki svona pirrandi? 1461 01:09:58,120 --> 01:10:00,032 Þetta er mikið af kóða. 1462 01:10:00,032 --> 01:10:01,574 >> Áhorfendur: Þú gætir flytja eitthvað. 1463 01:10:01,574 --> 01:10:02,532 HANNAH Blumberg: Hægri. 1464 01:10:02,532 --> 01:10:03,610 Við gætum notað eitthvað. 1465 01:10:03,610 --> 01:10:08,140 Og í particular-- ó, það er segja mér að ég verð að kenna kafla. 1466 01:10:08,140 --> 01:10:11,061 Einkum skulum bókasöfn jQuery, 1467 01:10:11,061 --> 01:10:13,060 því að það var í raun langur og mjög pirrandi 1468 01:10:13,060 --> 01:10:16,860 og ég vil vera fær um að einfalda það og gera það styttra og auðveldara að skrifa. 1469 01:10:16,860 --> 01:10:19,810 >> Svo er jQuery JavaScript bókasafn. 1470 01:10:19,810 --> 01:10:24,930 Svo er JavaScript forritun Tungumál; jQuery er bókasafn. 1471 01:10:24,930 --> 01:10:27,190 Og það gerir fullt af hlutum auðveldara. 1472 01:10:27,190 --> 01:10:33,230 Það gerir að breytast og fara yfir HTML skjal miklu auðveldara. 1473 01:10:33,230 --> 01:10:35,030 >> Það gerir meðhöndlun viðburðir auðveldara. 1474 01:10:35,030 --> 01:10:37,580 Það gerir hreyfimynd auðveldara og það gerir Ajax auðveldara. 1475 01:10:37,580 --> 01:10:40,140 Svo skulum hoppa í tveimur þessir hlutir núna. 1476 01:10:40,140 --> 01:10:40,900 Afsakaðu mig. 1477 01:10:40,900 --> 01:10:42,620 Áður en við gerum, sumir undirstöðu setningafræði. 1478 01:10:42,620 --> 01:10:46,870 >> Þetta er það sem flestir kalla til jQuery bókasafn líta út. 1479 01:10:46,870 --> 01:10:50,520 Við notum þessa dollara sign-- engin tenging merki á PHP, 1480 01:10:50,520 --> 01:10:56,030 bara inconvenient-- nafn a val, punktur, og þá aðgerð. 1481 01:10:56,030 --> 01:10:58,860 Svo skulum sjá sumir steypu dæmi um það. 1482 01:10:58,860 --> 01:11:02,980 >> Þannig að þetta er í raun það sama númer frá the atburður renna. 1483 01:11:02,980 --> 01:11:08,740 Svo verður þetta lengi, ljót hlutur þetta miklu betur, minni hlutur. 1484 01:11:08,740 --> 01:11:10,370 Svo skulum reyna að brjóta þetta niður. 1485 01:11:10,370 --> 01:11:17,090 Þetta segir, OK, jQuery-- þetta dollara sign-- jQuery, finna mér glugga. 1486 01:11:17,090 --> 01:11:18,480 Svo er það val. 1487 01:11:18,480 --> 01:11:21,800 >> Þegar það sækir, kalla þessa aðgerð. 1488 01:11:21,800 --> 01:11:23,880 Svo það er allt inni. 1489 01:11:23,880 --> 01:11:24,380 OK. 1490 01:11:24,380 --> 01:11:25,740 Svo langt, svo góður? 1491 01:11:25,740 --> 01:11:26,750 Allt í lagi. 1492 01:11:26,750 --> 01:11:32,970 >> Nú, jQuery, finna mig á Málið með ID search_button. 1493 01:11:32,970 --> 01:11:36,090 Og hvað það er smellt kalla þessa aðgerð. 1494 01:11:36,090 --> 01:11:37,900 Og þá er þetta aðgerð er nákvæmlega sú sama. 1495 01:11:37,900 --> 01:11:41,052 Bara gera smá viðvörun, þú smellir á Leita hnappinn. 1496 01:11:41,052 --> 01:11:42,650 >> Svo það er mjög gott. 1497 01:11:42,650 --> 01:11:46,260 Það þéttist í raun og einfaldar kóða okkar. 1498 01:11:46,260 --> 01:11:49,030 Hvernig sem ég vissi að það er ID search_button 1499 01:11:49,030 --> 01:11:50,960 og ekki eins og bekknum search_button? 1500 01:11:50,960 --> 01:11:52,024 >> Áhorfendur: Hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH Blumberg: Já. 1502 01:11:52,940 --> 01:11:56,450 Þetta kjötkássa tákn, það er bara eins og CSS. 1503 01:11:56,450 --> 01:12:00,080 Svo man, með CSS, þegar við langaði til að velja eitthvað af ID, 1504 01:12:00,080 --> 01:12:01,590 við notuðum pund merki. 1505 01:12:01,590 --> 01:12:05,400 Og þegar við vildum að velja eitthvað með bekknum, notum við punkt. 1506 01:12:05,400 --> 01:12:06,870 Great. 1507 01:12:06,870 --> 01:12:08,230 Meikar sens? 1508 01:12:08,230 --> 01:12:11,500 Svo jQuery er ætlað að bara gera líf okkar auðveldara. 1509 01:12:11,500 --> 01:12:12,000 Já. 1510 01:12:12,000 --> 01:12:15,660 >> Áhorfendur: Þannig að ég er svolítið ruglaður hvernig nafnlaus aðgerð virkar. 1511 01:12:15,660 --> 01:12:19,027 Ert þú nefna þessa anonymouse virka, virka? 1512 01:12:19,027 --> 01:12:20,594 Hvernig er það kallað? 1513 01:12:20,594 --> 01:12:21,510 HANNAH Blumberg: Jú. 1514 01:12:21,510 --> 01:12:25,812 Svo er virka bara leitarorð sem segir, ég er að fara að skilgreina fall. 1515 01:12:25,812 --> 01:12:26,520 Áhorfendur: Oh, OK. 1516 01:12:26,520 --> 01:12:27,353 HANNAH Blumberg: OK? 1517 01:12:27,353 --> 01:12:32,120 Og þá erum við að gefa það sem rök to-- skulum taka 1518 01:12:32,120 --> 01:12:37,040 þessi innri one-- að smella aðgerð. 1519 01:12:37,040 --> 01:12:39,420 Svo já, svo að virka, þetta nafnlaus aðgerð, 1520 01:12:39,420 --> 01:12:40,910 verður raunveruleg rök. 1521 01:12:40,910 --> 01:12:43,632 Svo man í JavaScript, við getur meðhöndla aðgerðir sem gildi. 1522 01:12:43,632 --> 01:12:44,340 Áhorfendur: Oh, OK. 1523 01:12:44,340 --> 01:12:45,256 HANNAH Blumberg: Já. 1524 01:12:45,256 --> 01:12:46,035 Mér finnst að "ó". 1525 01:12:46,035 --> 01:12:47,490 Nice. 1526 01:12:47,490 --> 01:12:49,915 Aðrar spurningar? 1527 01:12:49,915 --> 01:12:50,505 Time? 1528 01:12:50,505 --> 01:12:51,380 MARIA ZLATKOVA: Good. 1529 01:12:51,380 --> 01:12:52,760 Good. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH Blumberg: Awesome. 1531 01:12:54,210 --> 01:12:55,720 Sumir fljótur gagnlegt jQuery. 1532 01:12:55,720 --> 01:12:57,559 Ég ætla ekki að fara gegnum allt. 1533 01:12:57,559 --> 01:12:59,350 Þessar glærur verður upp á netinu smá 1534 01:12:59,350 --> 01:13:02,040 síðar, svo þú getur athugað það út svolítið síðar. 1535 01:13:02,040 --> 01:13:07,120 En í grundvallaratriðum, almenn mynstur heldur þar sem við segjum, 1536 01:13:07,120 --> 01:13:11,510 OK, hey, jQuery, hér er minn val og þá hér er aðgerð. 1537 01:13:11,510 --> 01:13:15,940 Og þú getur gert hlutina eins og aðgang að gildi formi, opna nokkrar HTML, 1538 01:13:15,940 --> 01:13:19,195 stjórna hvað gerist þegar notandi leggur form, svoleiðis. 1539 01:13:19,195 --> 01:13:20,106 Já. 1540 01:13:20,106 --> 01:13:22,090 >> Áhorfendur: Svo í próf, við erum að fara að þurfa 1541 01:13:22,090 --> 01:13:25,066 að vita alveg fullt af jQuery skjöl. 1542 01:13:25,066 --> 01:13:31,018 Svo í ljósi þess að við afrita / líma jQuery skjöl til svindlari lak okkar, 1543 01:13:31,018 --> 01:13:32,506 hvar er línan dregin? 1544 01:13:32,506 --> 01:13:33,957 Eins og hvernig margir þurfum að vita? 1545 01:13:33,957 --> 01:13:35,290 HANNAH Blumberg: Great spurning. 1546 01:13:35,290 --> 01:13:37,765 Spurningin er í raun í ljósi þess að þú 1547 01:13:37,765 --> 01:13:41,330 getur ekki opnað jQuery skjöl meðan á prófuninni, hversu mikið ætti þér 1548 01:13:41,330 --> 01:13:41,830 veit? 1549 01:13:41,830 --> 01:13:45,540 Við viljum ekki von á að koma upp með sumir af handahófi virka 1550 01:13:45,540 --> 01:13:47,240 að við myndum búast við þér að Google. 1551 01:13:47,240 --> 01:13:52,930 >> Hlutir sem eru sanngjörn leikur eru ég myndi segja bara svona almenna setningafræði, 1552 01:13:52,930 --> 01:13:58,310 vera fær um að velja með ID og eftir class-- svo bara eins og CSS. 1553 01:13:58,310 --> 01:14:01,876 Og þá í raun virka themself, munum við líklega segja þér. 1554 01:14:01,876 --> 01:14:02,376 Já. 1555 01:14:02,376 --> 01:14:05,591 >> Áhorfendur: Svo þegar þú velur með bekknum myndi þýða punktur. 1556 01:14:05,591 --> 01:14:06,840 HANNAH Blumberg: Já, einmitt. 1557 01:14:06,840 --> 01:14:07,340 Good. 1558 01:14:07,340 --> 01:14:10,461 Þegar þú velur af bekknum, það er að fara að punktur í stað breska merki. 1559 01:14:10,461 --> 01:14:10,960 Já. 1560 01:14:10,960 --> 01:14:12,710 >> Áhorfendur: Vilt þú fara yfir mismun 1561 01:14:12,710 --> 01:14:14,310 milli vals eftir ID og með bekknum? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH Blumberg: Jú. 1563 01:14:14,560 --> 01:14:17,510 Munurinn á milli val ID og val af bekknum. 1564 01:14:17,510 --> 01:14:20,685 Svo sem Maria sagði svolítið fyrr, það 1565 01:14:20,685 --> 01:14:26,280 getur aðeins verið einn HTML þáttur með þessu auðkenni, en tegund, 1566 01:14:26,280 --> 01:14:29,740 það gerir okkur kleift að flokka fullt mismunandi þætti saman, 1567 01:14:29,740 --> 01:14:34,300 svo hlutir sem eru tengdar, en ekki nákvæmlega það sama. 1568 01:14:34,300 --> 01:14:35,685 Er að svara spurningunni? 1569 01:14:35,685 --> 01:14:36,200 Awesome. 1570 01:14:36,200 --> 01:14:37,194 Já. 1571 01:14:37,194 --> 01:14:40,680 >> Áhorfendur: Hvað ef þú ert með marga það sem er í sama flokki? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH Blumberg: Hvað gerist ef þú ert með marga hluti sem 1573 01:14:42,150 --> 01:14:43,280 eru þau sömu Class? 1574 01:14:43,280 --> 01:14:45,829 Svo, til dæmis, ef við erum bara með hreint JavaScript, 1575 01:14:45,829 --> 01:14:48,120 við myndum gera eitthvað eins og document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 Og þá hvað það raunverulega hjartarskinn er ávöxtun fjölbreytta þætti. 1578 01:14:56,320 --> 01:14:59,517 >> Og þú þarft að annaðhvort kunnugt um þá eða finna hver sem þú vilt. 1579 01:14:59,517 --> 01:15:01,350 Það er ekki að fara að gefa þú einn þáttur. 1580 01:15:01,350 --> 01:15:03,450 Það er að fara að gefa þér fjölbreytta þætti. 1581 01:15:03,450 --> 01:15:05,280 Frábær spurning. 1582 01:15:05,280 --> 01:15:07,700 Eitthvað annað? 1583 01:15:07,700 --> 01:15:09,520 Awesome. 1584 01:15:09,520 --> 01:15:12,860 >> Þannig að ég held að ef þú ert kunnuglegur með allir jQuery þú sást í pset, 1585 01:15:12,860 --> 01:15:15,600 þú ættir að vera gott að fara. 1586 01:15:15,600 --> 01:15:16,325 Spurning? 1587 01:15:16,325 --> 01:15:17,610 Ó nei. 1588 01:15:17,610 --> 01:15:18,859 Ég hef í raun að kenna. 1589 01:15:18,859 --> 01:15:19,358 Relax. 1590 01:15:19,358 --> 01:15:20,035 Það verður allt í lagi. 1591 01:15:20,035 --> 01:15:20,660 Ég þangað. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> Við skulum tala um Ajax. 1594 01:15:26,870 --> 01:15:31,350 Svo Ajax er að fara að vera a-- vel, skulum byrja með það sem það stendur fyrir. 1595 01:15:31,350 --> 01:15:32,350 Það er skammstöfun. 1596 01:15:32,350 --> 01:15:35,855 Það stendur fyrir ósamstilltur JavaScript og XML. 1597 01:15:35,855 --> 01:15:39,800 Og XML er í grundvallaratriðum er að fara að vera [Inaudible] með gerð gögn okkar. 1598 01:15:39,800 --> 01:15:42,100 En við höfum ekki í raun notað XML. 1599 01:15:42,100 --> 01:15:43,430 Þess í stað notum við bara JSON. 1600 01:15:43,430 --> 01:15:48,350 >> Svo í rauninni, það er sumir data-- ósamstilltur, JavaScript, og gögn, 1601 01:15:48,350 --> 01:15:50,040 í þessu tilfelli, JSON. 1602 01:15:50,040 --> 01:15:52,820 Og markmið okkar, eins og við getið svolítið fyrr, 1603 01:15:52,820 --> 01:15:56,880 er að vera fær um að gera beiðni, hafa að beiðni gera 1604 01:15:56,880 --> 01:16:00,700 hlutur hennar í bakgrunnur, en halda áfram 1605 01:16:00,700 --> 01:16:02,550 gera hvað við vorum ætlaði að gera. 1606 01:16:02,550 --> 01:16:06,650 Og þá er þegar tilbúin, þá munum við fella hana. 1607 01:16:06,650 --> 01:16:08,470 >> Svo skulum sjá hvað þetta reyndar lítur út. 1608 01:16:08,470 --> 01:16:11,210 Og þetta, ættir þú að vera svolítið kunnugleg 1609 01:16:11,210 --> 01:16:13,680 frá pset8, sá sem þú snúið bara í. 1610 01:16:13,680 --> 01:16:16,200 Svo hér er gild jQuery fall sem við gætum 1611 01:16:16,200 --> 01:16:18,250 langar að vita about-- þessum dollaramerki. 1612 01:16:18,250 --> 01:16:21,500 Svo það segir jQuery virka, .getJson. 1613 01:16:21,500 --> 01:16:25,020 >> Og hvað þessi aðgerð gerir er það tekur slóðina og sumir parameters-- 1614 01:16:25,020 --> 01:16:28,000 svo ég held að í tilfelli af pset8, það var eins og, 1615 01:16:28,000 --> 01:16:33,520 URL var articles.php og breytur var að fara = nokkur póstnúmer. 1616 01:16:33,520 --> 01:16:41,580 Og það segir, OK, leggja fram beiðni til þetta URL með gefið breytum. 1617 01:16:41,580 --> 01:16:43,480 Og það bara gerist. 1618 01:16:43,480 --> 01:16:47,730 >> Þegar henni er lokið, það er annað hvort fara til að ljúka 1619 01:16:47,730 --> 01:16:49,370 eða það er að fara að mistakast. 1620 01:16:49,370 --> 01:16:53,480 Svo er þetta jafngildir símtali Rob og biðja hann að gera eitthvað. 1621 01:16:53,480 --> 01:17:00,260 Og svo þegar hann kallar til baka, hann er annað hvort að fara að segja að ég er búin eða ég ekki. 1622 01:17:00,260 --> 01:17:04,030 >> Svo er að ræða þar sem þú ert gert, segir þú, OK, ég er búin. 1623 01:17:04,030 --> 01:17:05,980 Og þá þú kalla þessa aðgerð. 1624 01:17:05,980 --> 01:17:08,915 Í þessu tilfelli, það er að fara til vera a fall sem tekur nokkrar upplýsingar. 1625 01:17:08,915 --> 01:17:12,890 Sá sem við hugsa yfirleitt um gögn, gögn sem við vorum í raun aftur 1626 01:17:12,890 --> 01:17:15,900 sem afleiðing af starf .getJSON. 1627 01:17:15,900 --> 01:17:17,470 >> Og þú getur gert eitthvað við það. 1628 01:17:17,470 --> 01:17:23,670 Þannig að um er að ræða pset8, Við birtum það í lista. 1629 01:17:23,670 --> 01:17:29,050 Fail er að fara til vera a fall sem er kallað ef beiðnin ekki 1630 01:17:29,050 --> 01:17:30,450 fyrir hvað sem ástæða. 1631 01:17:30,450 --> 01:17:35,104 Og um er að ræða pset8, við console.log bara það. 1632 01:17:35,104 --> 01:17:36,020 Einhverjar spurningar um það? 1633 01:17:36,020 --> 01:17:36,300 Já. 1634 01:17:36,300 --> 01:17:39,633 >> Áhorfendur: Er hægt að nota bara virka þeta í stað þess að virka, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH Blumberg: Jú. 1637 01:17:44,380 --> 01:17:46,713 Svo já, ég held í pset, við sáum bara virka gögnum. 1638 01:17:46,713 --> 01:17:48,700 Svo það er bara the-- já, OK. 1639 01:17:48,700 --> 01:17:50,510 Það er það sem við sáum í pset. 1640 01:17:50,510 --> 01:17:51,480 Það er algerlega fínt. 1641 01:17:51,480 --> 01:17:54,210 >> Þetta eru bara ef þú vildir að draga út fleiri upplýsingar, 1642 01:17:54,210 --> 01:17:57,190 þetta eru hlutir sem þú gætir fengið frá .getJSON. 1643 01:17:57,190 --> 01:17:59,040 Góð spurning. 1644 01:17:59,040 --> 01:17:59,706 Eitthvað annað? 1645 01:17:59,706 --> 01:18:00,206 Já. 1646 01:18:00,206 --> 01:18:01,787 >> Áhorfendur: Svo .getJSON er Ajax? 1647 01:18:01,787 --> 01:18:02,620 HANNAH Blumberg: OK. 1648 01:18:02,620 --> 01:18:05,700 Svo er þetta eins konar erfiður hluti. 1649 01:18:05,700 --> 01:18:12,390 Það er jQuery aðgerð sem gerir þú að gera ósamstilltur símtöl. 1650 01:18:12,390 --> 01:18:16,080 Og þeir ósamstilltur símtöl, það er það sem við höfum verið að vísa til sem Ajax. 1651 01:18:16,080 --> 01:18:16,850 Já. 1652 01:18:16,850 --> 01:18:20,185 Það tók mig mjög langan tíma að draga í sundur þegar ég var nemandi. 1653 01:18:20,185 --> 01:18:21,560 Áhorfendur: Getur þú sagt það aftur? 1654 01:18:21,560 --> 01:18:22,476 HANNAH Blumberg: Já. 1655 01:18:22,476 --> 01:18:23,630 Get ég sagt það aftur? 1656 01:18:23,630 --> 01:18:29,010 Þessi .getJSON virka, það er jQuery virka. 1657 01:18:29,010 --> 01:18:31,970 Og það er að fara að gera ósamstilltur kalla. 1658 01:18:31,970 --> 01:18:35,700 Og þessar ósamstilltur símtöl, höfum við verið að vísa til þeirra sem Ajax. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Aðrar spurningar? 1661 01:18:41,872 --> 01:18:43,330 Við höfum bara nokkrar mínútur eftir. 1662 01:18:43,330 --> 01:18:45,080 Og Maria er að fara að sett upp með öryggi 1663 01:18:45,080 --> 01:18:47,464 og þá erum við að fara að vera bara um að gera. 1664 01:18:47,464 --> 01:18:48,630 MARIA ZLATKOVA: Awesome, OK. 1665 01:18:48,630 --> 01:18:54,030 Þannig að þetta is-- bara taka a par hvað á að líta yfir þetta. 1666 01:18:54,030 --> 01:18:56,750 Og þetta er ekki eitthvað mjög mikill. 1667 01:18:56,750 --> 01:18:59,430 Og getur einhver sagt mér hvers vegna? 1668 01:18:59,430 --> 01:19:05,650 Hvað er að gerast í foo og maí gæti hugsanlega leitt eitthvað slæmt, 1669 01:19:05,650 --> 01:19:06,770 og hvað það er kallað? 1670 01:19:06,770 --> 01:19:07,270 Já. 1671 01:19:07,270 --> 01:19:10,391 Áhorfendur: Ef rök sem er samþykkt í er meira en 12 stafir, 1672 01:19:10,391 --> 01:19:11,454 það gæti flæða. 1673 01:19:11,454 --> 01:19:12,370 MARIA ZLATKOVA: Hægri. 1674 01:19:12,370 --> 01:19:14,180 Perfect. 1675 01:19:14,180 --> 01:19:15,384 Hvað er það kallað? 1676 01:19:15,384 --> 01:19:16,300 Þú nefndir bara það. 1677 01:19:16,300 --> 01:19:16,840 >> Áhorfendur: Buffer flæða. 1678 01:19:16,840 --> 01:19:18,381 >> MARIA ZLATKOVA: Yup, biðminni flæða. 1679 01:19:18,381 --> 01:19:21,230 Svo er þetta eitthvað sem við vísa til sem yfirflæði. 1680 01:19:21,230 --> 01:19:25,500 Og við sjáum að inni foo, við höfum skilgreint biðminni okkar, c, 1681 01:19:25,500 --> 01:19:27,240 með stærð sem 12. 1682 01:19:27,240 --> 01:19:32,680 Hins vegar í meginatriðum eigum við ekki athuga á nokkurn hátt á öllum 1683 01:19:32,680 --> 01:19:36,480 hvort argv1-- svo sem var annað rifrildi. 1684 01:19:36,480 --> 01:19:39,630 Við stöðva ekki hvort stærð það er rétt. 1685 01:19:39,630 --> 01:19:43,380 >> Svo ef við hefðum sérstaklega illgjarn notandi 1686 01:19:43,380 --> 01:19:47,170 sem setja inn rök sem var lengur en 12, og þá hugsanlega 1687 01:19:47,170 --> 01:19:50,850 utan við mörk af því rök, fengum inningarkóða 1688 01:19:50,850 --> 01:19:55,570 að hann var að reyna að gera eitthvað slæmt með því; þá er þetta, hvað myndi gerast, 1689 01:19:55,570 --> 01:19:59,310 myndi hunsa aftur heimilisfang foo virka, 1690 01:19:59,310 --> 01:20:04,370 sem veldur því að virka til að þegar aftur til að framkvæma þessi númer. 1691 01:20:04,370 --> 01:20:07,540 Og þá slæmur hlutur getur gerst. 1692 01:20:07,540 --> 01:20:09,850 Er þetta skynsamleg alla? 1693 01:20:09,850 --> 01:20:12,424 >> Og hvernig getum við vernda gegn þessu? 1694 01:20:12,424 --> 01:20:13,090 Allar uppástungur? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Í grundvallaratriðum, inni hugsanlega foo, hvernig 1697 01:20:21,890 --> 01:20:28,294 getum við stöðva til tryggja að það getur ekki gerst? 1698 01:20:28,294 --> 01:20:33,879 >> Áhorfendur: Ef stærð 12 er farið, þú vildi úthluta fleiri minni? 1699 01:20:33,879 --> 01:20:37,170 MARIA ZLATKOVA: Uppástunga er, úthluta viðbótar minni stærð yfir. 1700 01:20:37,170 --> 01:20:39,800 Reyndar getum við gert eitthvað mikið einfaldara en það sem vel. 1701 01:20:39,800 --> 01:20:44,870 Við getum bara fá band lengd af þeim rökum að er gerður, 1702 01:20:44,870 --> 01:20:48,590 athuga hvort það er minna en eða jafnt og 12-- 1703 01:20:48,590 --> 01:20:50,790 sem er það sem við viljum það að vera vegna þess að við viljum ekki 1704 01:20:50,790 --> 01:20:52,373 það að fara yfir mörk biðminni okkar. 1705 01:20:52,373 --> 01:20:55,690 Og þá ef það virkar ekki, við geta unnið með rök. 1706 01:20:55,690 --> 01:21:00,296 Og þá ef það gerist, við viljum í raun og veru til að Yello hugsanlega á notanda. 1707 01:21:00,296 --> 01:21:01,670 En þetta er hvernig við viljum gera það. 1708 01:21:01,670 --> 01:21:02,443 Já. 1709 01:21:02,443 --> 01:21:04,360 >> Áhorfendur: Gætirðu útskýra memcpy raunverulegur fljótur? 1710 01:21:04,360 --> 01:21:05,443 MARIA ZLATKOVA: Ó, fyrirgefðu. 1711 01:21:05,443 --> 01:21:06,040 Já. 1712 01:21:06,040 --> 01:21:11,290 Memcpy tekur hvað is-- miður, OK. 1713 01:21:11,290 --> 01:21:15,850 Memcpy tekur hvað er í bar, hvað er liðinn 1714 01:21:15,850 --> 01:21:18,050 á foo sem stjórn lína rifrildi. 1715 01:21:18,050 --> 01:21:19,440 Svo það er að fara að taka argv1. 1716 01:21:19,440 --> 01:21:21,420 Argv1 heitir bar hér. 1717 01:21:21,420 --> 01:21:24,453 Svo það er að fara að taka bar og það er að fara að afrita það inn c. 1718 01:21:24,453 --> 01:21:25,402 >> Áhorfendur: OK. 1719 01:21:25,402 --> 01:21:28,360 MARIA ZLATKOVA: Og það er að fara að copy-- þriðja rök átt rétt 1720 01:21:28,360 --> 01:21:30,601 að hversu mikið það er að fara að afrita inn c. 1721 01:21:30,601 --> 01:21:31,142 Áhorfendur: Ah. 1722 01:21:31,142 --> 01:21:33,030 Svo að afrita þessa manns allt það þá. 1723 01:21:33,030 --> 01:21:34,310 >> MARIA ZLATKOVA: Já, það er að afrita allt það. 1724 01:21:34,310 --> 01:21:34,810 Jebb. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 Fyrst, við að tryggja að bar er ekki jafnt á núll vegna þess að það er bendi. 1727 01:21:41,910 --> 01:21:44,680 Þá fáum við strenginn lengd bar. 1728 01:21:44,680 --> 01:21:47,530 Við að tryggja að það sé minna en eða jafnt og 12. 1729 01:21:47,530 --> 01:21:50,070 Og þá vegna þess að við höfum gerði viss um, getum við í raun 1730 01:21:50,070 --> 01:21:53,122 memcpy og vera viss um að það er í lagi. 1731 01:21:53,122 --> 01:21:53,705 Einhverjar spurningar? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Great. 1734 01:21:58,690 --> 01:22:00,400 Ég hef tvær satt eða ósatt spurningum. 1735 01:22:00,400 --> 01:22:05,470 Getur einhver sagt mér strax ef þær eru sannar eða rangar? 1736 01:22:05,470 --> 01:22:07,460 Já, það er ósatt. 1737 01:22:07,460 --> 01:22:07,960 Nákvæmlega. 1738 01:22:07,960 --> 01:22:09,330 Báðir þeirra eru rangar. 1739 01:22:09,330 --> 01:22:12,682 Svo nota eitt lykilorð er aldrei mjög góð hugmynd 1740 01:22:12,682 --> 01:22:14,890 því ef einhver veit lykilorðið þitt, þeir geta bara 1741 01:22:14,890 --> 01:22:16,260 nálgast allar aðrar reikningana. 1742 01:22:16,260 --> 01:22:19,260 Og þá tákn ekkert gert til að tryggja öryggi. 1743 01:22:19,260 --> 01:22:24,900 Við ættum að líta yfirleitt fyrir HTTPS stað HTTP og vefslóð. 1744 01:22:24,900 --> 01:22:28,560 >> Og nokkrar aðrar gerðir af árásir sem við hefur minnst á, 1745 01:22:28,560 --> 01:22:31,390 að Davíð hafi nefnt í fyrirlestur, SQL innspýting árásir. 1746 01:22:31,390 --> 01:22:37,310 Við sáum þegar að ef við don't-- á CS50 fyrirspurn virka gerir viss um að SQL 1747 01:22:37,310 --> 01:22:39,530 innspýting árásir geta ekki átt sér stað. 1748 01:22:39,530 --> 01:22:42,640 En ef við vorum ekki að nota CS50, vitna, unquote "í fyrirspurn," 1749 01:22:42,640 --> 01:22:46,830 yrðum við að ganga úr skugga um að notandi inntak er í raun ekki nokkur SQL 1750 01:22:46,830 --> 01:22:49,670 fyrirspurn sem mun valda öllum töflur okkar til að vera niður 1751 01:22:49,670 --> 01:22:54,070 eða eitthvað slæmt að gerast með hjá okkur. 1752 01:22:54,070 --> 01:22:56,790 >> Session ræna er annar tegund af árás 1753 01:22:56,790 --> 01:23:05,940 sem gerist þegar slæmar maður notar fundur sumir fórnarlambsins 1754 01:23:05,940 --> 01:23:08,740 ID til að fá aðgang tenging upplýsingar. 1755 01:23:08,740 --> 01:23:13,620 Svo mjög léttvæg dæmi um það er eins og ef við höfum opinber tölva, 1756 01:23:13,620 --> 01:23:21,120 þá slæm manneskja skráir sig og þá þeir hafa smákökur sem eru vistuð. 1757 01:23:21,120 --> 01:23:23,380 Og smákökur breytast ekki fyrir setu. 1758 01:23:23,380 --> 01:23:27,620 >> Þá höfum við fórnarlambið fara í og inn í viðbót. 1759 01:23:27,620 --> 01:23:30,290 Smákökur breytast ekki í tiltekinn fundur. 1760 01:23:30,290 --> 01:23:33,060 Og þá fórnarlambið skráir sig inn the website og þá skilur. 1761 01:23:33,060 --> 01:23:36,190 Og þá sá sem fer aftur getur þá samt notað fundur ID þeirra 1762 01:23:36,190 --> 01:23:37,430 að nálgast upplýsingar þeirra. 1763 01:23:37,430 --> 01:23:40,050 Svo er það eitt dæmi um hvernig það gæti gerst. 1764 01:23:40,050 --> 01:23:45,570 >> Og þá myndi ég ekki hafa áhyggjur of mikill um ákveðna kóða eða neitt 1765 01:23:45,570 --> 01:23:49,270 svona sem gæti valdið þessu, en hafa einhverskonar hugmynd hvað 1766 01:23:49,270 --> 01:23:51,400 breytur sem taka þátt í þessu eru. 1767 01:23:51,400 --> 01:23:53,897 Og þá notfæra haus gögn er annar tegund af árás 1768 01:23:53,897 --> 01:23:55,230 sem hefur David hefur talað um. 1769 01:23:55,230 --> 01:23:59,730 Og það vísar bara til hvað getur gerst þegar 1770 01:23:59,730 --> 01:24:04,300 svar, HTTP Viðbrögð inni haus okkar 1771 01:24:04,300 --> 01:24:05,720 er ekki sótthreinsa almennilega. 1772 01:24:05,720 --> 01:24:14,340 >> Og eitthvað af fields-- td ef einhver birtist einn af haus 1773 01:24:14,340 --> 01:24:18,860 gildi að innihalda neitt meira en hvað þeir ættu contain-- og raun 1774 01:24:18,860 --> 01:24:22,720 innihalda, til dæmis, 200 OK stöðukóði, þá 1775 01:24:22,720 --> 01:24:26,890 gæti hugsanlega gert illgjarn það þegar þeir eru ekki að. 1776 01:24:26,890 --> 01:24:30,815 En ég myndi ekki hafa áhyggjur of mikið um tiltekna kóða 1777 01:24:30,815 --> 01:24:34,110 sem gæti valdið þessu, bara svona skilning 1778 01:24:34,110 --> 01:24:37,290 háttsettum svoleiðis. 1779 01:24:37,290 --> 01:24:39,570 >> Ég held að þetta sé allt að við verðum að ná. 1780 01:24:39,570 --> 01:24:40,090 Amazing. 1781 01:24:40,090 --> 01:24:43,310 Einhver hefur einhverjar spurningar um eitthvað af því að við falla? 1782 01:24:43,310 --> 01:24:44,213 Já. 1783 01:24:44,213 --> 01:24:48,077 >> Áhorfendur: Svo einn svoleiðis meira skipulagningar spurning. 1784 01:24:48,077 --> 01:24:53,400 Er efni aðallega beinst á það eftir spurningakeppni 1? 1785 01:24:53,400 --> 01:24:55,730 >> MARIA ZLATKOVA: So Spurningin er, er efni 1786 01:24:55,730 --> 01:24:59,720 áherslu aðallega á það eftir spurningakeppni 1? 1787 01:24:59,720 --> 01:25:06,070 Svo er áhersla á eftir quiz 1, að undanskildum 1788 01:25:06,070 --> 01:25:10,914 að við þurfum að leggja áherslu á hluti í pset5 og mikið af gögnum mannvirki 1789 01:25:10,914 --> 01:25:11,580 að við falla. 1790 01:25:11,580 --> 01:25:14,300 Og við getum ekki sagt að við getur hunsa neitt áður 1791 01:25:14,300 --> 01:25:17,120 að vegna þess að það byggir á það eins og heilbrigður. 1792 01:25:17,120 --> 01:25:21,845 >> Svo leggja áherslu á það, auk pset5 efni eins þ.mt tengd listum, stafla, 1793 01:25:21,845 --> 01:25:23,720 biðraðir og allt sem Hannah fór yfir. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH Blumberg: Hægri. 1795 01:25:24,050 --> 01:25:27,450 Já, fórum við yfir allri C efni Í upphafi mjög fljótt. 1796 01:25:27,450 --> 01:25:29,090 En vertu viss um að endurskoða það. 1797 01:25:29,090 --> 01:25:32,700 Fara til baka og horfa á quiz 0. 1798 01:25:32,700 --> 01:25:36,110 >> A par meira skipulagningar athugasemdum, bara á meðan við höfum athygli þína. 1799 01:25:36,110 --> 01:25:39,100 Við erum að fara að hafa skrifstofutíma bæði á mánudag og þriðjudag. 1800 01:25:39,100 --> 01:25:41,540 Þeir eru að fara að vera í MD 119. 1801 01:25:41,540 --> 01:25:44,220 Þetta er allt á vef, þannig að ef þú heyrir það, engar áhyggjur ekki. 1802 01:25:44,220 --> 01:25:45,266 >> MARIA ZLATKOVA: 08:30 til 11:00. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH Blumberg: Já, 08:30 til 11:00. 1804 01:25:46,260 --> 01:25:46,910 Við munum vera þar. 1805 01:25:46,910 --> 01:25:48,368 Við munum vera þar til að svara spurningum. 1806 01:25:48,368 --> 01:25:49,480 Það er nokkuð slappað og gaman. 1807 01:25:49,480 --> 01:25:53,240 Þú krakkar geta spyrja spurninga sem þú ert með á spurningakeppni 1. 1808 01:25:53,240 --> 01:25:55,740 Og quiz 1 er á Miðvikudagur, svo gangi þér vel. 1809 01:25:55,740 --> 01:25:59,770 Ef þú hefur einhverjar spurningar, kannski koma að tala við okkur hér einn-á-einn. 1810 01:25:59,770 --> 01:26:00,880 Cool. 1811 01:26:00,880 --> 01:26:01,630 Kærar þakkir. 1812 01:26:01,630 --> 01:26:02,880 >> MARIA ZLATKOVA: Takk kærlega, krakkar. 1813 01:26:02,880 --> 01:26:03,480 >> Áhorfendur: Yay. 1814 01:26:03,480 --> 01:26:05,930 >> [Applause] 1815 01:26:05,930 --> 01:26:07,530