1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [Tónlist spila] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH: Hi, allir. 5 00:00:12,700 --> 00:00:15,866 Þakka ykkur kærlega fyrir að koma út í ógeðslegur veðri fyrir spurningakeppni eitt 6 00:00:15,866 --> 00:00:16,910 endurskoða setu. 7 00:00:16,910 --> 00:00:20,020 Eins og þú krakkar vita, quiz einn er þetta miðvikudag. 8 00:00:20,020 --> 00:00:22,209 Þannig að við erum að fara að fara í gegnum fullt af efni. 9 00:00:22,209 --> 00:00:24,000 DAVIN: Hey, get ég sagt eitthvað alvöru fljótur? 10 00:00:24,000 --> 00:00:25,215 HANNAH: Já, Davin er að fara að segja eitthvað alvöru fljótur. 11 00:00:25,215 --> 00:00:25,780 DAVIN: Sorry. 12 00:00:25,780 --> 00:00:29,490 Bara raunverulegur fljótur, ef þú hefur einhverjar spurningar um próf, getur þú farið á netinu. 13 00:00:29,490 --> 00:00:32,420 Fara á 2014 quiz einn, um próf. 14 00:00:32,420 --> 00:00:34,680 Það fékk flutninga um hvar á að fara, hvenær á að fara. 15 00:00:34,680 --> 00:00:38,100 Ef þú ert samtímis skráðir, erum við fara að hafa makeup quiz á 05:30. 16 00:00:38,100 --> 00:00:40,350 Eða ef þú sendir mér mál, þú hefur einhverja aðra útgáfu. 17 00:00:40,350 --> 00:00:42,640 En 05:30 er að gera upp tími á miðvikudag. 18 00:00:42,640 --> 00:00:44,540 En ef þú hefur einhverjar spurningar, almennar spurningar, 19 00:00:44,540 --> 00:00:45,748 á netinu hefur alla flutninga. 20 00:00:45,748 --> 00:00:47,690 Svo að athuga það fyrst. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH: Awesome. 22 00:00:49,070 --> 00:00:53,030 Svo er hér stór listi af efni að við erum að fara að fara í gegnum í dag. 23 00:00:53,030 --> 00:00:57,390 Ég ætla að ná öllum C efni, sem er að fyrsta dálki. 24 00:00:57,390 --> 00:01:00,710 Svo C efni sem við falla eftir quiz núll. 25 00:01:00,710 --> 00:01:05,459 Byrjar með tengdan lista, sem felur ábendingum. 26 00:01:05,459 --> 00:01:07,668 >> Allt í lagi, þannig að við sáum þetta í síðustu endurskoðun fundur, 27 00:01:07,668 --> 00:01:10,000 þannig að ég ætla að fara í gegnum þetta er svolítið hraðar. 28 00:01:10,000 --> 00:01:13,500 Bara hækka hönd þína ef þú vilt mig til að hægja á eða takast eitthvað frekar. 29 00:01:13,500 --> 00:01:17,150 En við notum tengd listum því við byrjuðum í C með fylki. 30 00:01:17,150 --> 00:01:20,920 Og fylki eru frábær, en Vandamálið er að þeir hafa fasta stærð. 31 00:01:20,920 --> 00:01:24,925 Tengdir listar leyfa okkur að búa til virk stór gögn uppbygging. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Og við höfum undirstöðu starfsemi okkar, setja, eyða, og leita. 34 00:01:32,320 --> 00:01:36,780 Og við getum gert innleggi í versta tilfelli stöðug skipti 35 00:01:36,780 --> 00:01:39,140 ef við setjum bara það í upphafi. 36 00:01:39,140 --> 00:01:45,220 Eyða og leita, versta ræða stór ó af n tíma. 37 00:01:45,220 --> 00:01:47,140 Svo aftur, bara til að snúa gegnum þessar myndir, 38 00:01:47,140 --> 00:01:50,860 Ég veit að við sáum þessar síðasta sinn, en við vilja til að halda utan um tengda listanum okkar 39 00:01:50,860 --> 00:01:53,440 með því að halda utan um yfirmaður tengda listanum okkar. 40 00:01:53,440 --> 00:01:55,580 Þar sem við vitum að hver hnúta okkar 41 00:01:55,580 --> 00:01:58,610 er bara að fara að benda á Næsta hnút í tengda listanum okkar. 42 00:01:58,610 --> 00:02:00,460 >> Svo er það hvernig við höldum utan. 43 00:02:00,460 --> 00:02:02,910 Jafnvel þó að þetta eru ekki samfelld stykki af minni, 44 00:02:02,910 --> 00:02:07,410 við getum fundið þá bara með fylgja mismunandi örvum. 45 00:02:07,410 --> 00:02:09,800 Hér er uppbygging okkar fyrir tengda lista hnút. 46 00:02:09,800 --> 00:02:11,440 Við sáum þetta síðasta sinn. 47 00:02:11,440 --> 00:02:13,080 Við höfum struct hnút okkar. 48 00:02:13,080 --> 00:02:14,340 Og það hefur tvo eiginleika. 49 00:02:14,340 --> 00:02:17,020 Númer eitt, í raun gildi viljum við geyma. 50 00:02:17,020 --> 00:02:18,290 Í þessu tilfelli, er það heil tala. 51 00:02:18,290 --> 00:02:21,100 Það gæti verið streng, gæti það vera bleikju, hvað sem þú vilt. 52 00:02:21,100 --> 00:02:24,710 Og þá verðum við að halda utan um næsta hnút í tengda listanum okkar. 53 00:02:24,710 --> 00:02:29,797 Svo það er að fara til vera a bendi á næsta hnút. 54 00:02:29,797 --> 00:02:31,880 Ef þú varst bara að gera leita, eins og ég sagði áður, 55 00:02:31,880 --> 00:02:34,900 þú vilt að fylgja örvarnar niður. 56 00:02:34,900 --> 00:02:40,720 Innsetning, viltu halda utan hvar restin af listanum er. 57 00:02:40,720 --> 00:02:44,150 Og þú vilt að beina höfðinu að benda á nýja frumefni okkar, sem 58 00:02:44,150 --> 00:02:46,640 í þessu tilfelli er einn, og þá mun benda 59 00:02:46,640 --> 00:02:49,480 til sem eftir er af tengda listanum. 60 00:02:49,480 --> 00:02:52,996 Svo aftur, ég veit að þetta er lítið hluti af a endurtaka af spurningakeppni núll. 61 00:02:52,996 --> 00:02:55,370 Þannig að við verðum að vera mjög varkár um í hvaða röð við 62 00:02:55,370 --> 00:03:00,390 gera þessar pointings svo við gerum ekki missa utan um aftan á listanum. 63 00:03:00,390 --> 00:03:04,122 OK, einhverjar spurningar með bara ein tengd listum? 64 00:03:04,122 --> 00:03:06,060 Awesome, OK, flott. 65 00:03:06,060 --> 00:03:09,410 >> Svo nú erum við að fara að fara á eitthvað bara örlítið flóknara, 66 00:03:09,410 --> 00:03:10,920 tvöfalt tengd listum. 67 00:03:10,920 --> 00:03:13,680 Svo til viðbótar við að halda lag af næstu hnút, 68 00:03:13,680 --> 00:03:16,220 við viljum líka að halda utan af fyrri hnút. 69 00:03:16,220 --> 00:03:19,580 Og þetta gerir okkur kleift að ef við erum á einhverjum tímapunkti í tengda listanum okkar, 70 00:03:19,580 --> 00:03:23,110 ekki aðeins að fara fram, en einnig kunnugt aftur á bak. 71 00:03:23,110 --> 00:03:25,220 Því eins og við sáum í eintengdan lista, 72 00:03:25,220 --> 00:03:27,980 ef við vorum á einhverjum hnút, og allt í einu, ákváðum við, 73 00:03:27,980 --> 00:03:30,160 reyndar, ég vil fara að hnúturinn rétt fyrir mér, 74 00:03:30,160 --> 00:03:32,034 þú vilt að fara alla leið aftur til höfuðs 75 00:03:32,034 --> 00:03:35,710 og kunnugt gegnum þar til þú fannst hnúturinn þú varst að leita að. 76 00:03:35,710 --> 00:03:37,680 >> Svo gerir þetta hluti örlítið auðveldara þar sem við erum 77 00:03:37,680 --> 00:03:39,670 reyna að kunnugt gegnum tengda listanum okkar. 78 00:03:39,670 --> 00:03:47,870 En það þarf okkur að halda utan um einn meira músina, svo einn hnút stjörnu. 79 00:03:47,870 --> 00:03:50,830 Allt í lagi, svo hér kemur skemmtilega hluti. 80 00:03:50,830 --> 00:03:55,600 Við erum að fara að æfa framkvæmd fjarlægja fyrir tvöfalt tengd listum. 81 00:03:55,600 --> 00:03:58,660 Svo er þetta eitthvað sem er algerlega sanngjarn leikur fyrir próf. 82 00:03:58,660 --> 00:04:00,750 Það sýndi sig á síðustu Skyndipróf. 83 00:04:00,750 --> 00:04:04,220 Svo ákveðið að vera tilbúinn að kóða svolítið í C 84 00:04:04,220 --> 00:04:07,900 Ekki gleyma að með öllum þetta gaman PHP og JavaScript, 85 00:04:07,900 --> 00:04:10,560 við höfum enn að muna að gera C. Svo bursta upp á að 86 00:04:10,560 --> 00:04:12,146 ef þú ert að tilfinning ryðgaður. 87 00:04:12,146 --> 00:04:14,580 >> Allt í lagi, við skulum sjá hvort við getum gert þetta. 88 00:04:14,580 --> 00:04:16,312 OK, flott. 89 00:04:16,312 --> 00:04:18,600 Þannig að við erum að fara að reyna að breyta rétt í hér, 90 00:04:18,600 --> 00:04:20,707 og vonandi fer þetta eins og til stóð. 91 00:04:20,707 --> 00:04:23,915 Allt í lagi, er einhver vilja til að gefa mér tillaga um hvernig ég ætti að byrja? 92 00:04:23,915 --> 00:04:27,030 Eina forsenda ég gerð er að ég þegar 93 00:04:27,030 --> 00:04:30,180 hafa uppbygging skilgreindur eina sem ég sýndi á síðustu síðu, 94 00:04:30,180 --> 00:04:31,420 á síðasta renna. 95 00:04:31,420 --> 00:04:39,250 Og ég er að geyma höfuð Tengd listi í sumum músina heitir lista. 96 00:04:39,250 --> 00:04:42,190 Hefur einhver vilja til fá mér byrjaði? 97 00:04:42,190 --> 00:04:45,410 >> Áhorfendur: Getur þú búa til nýja hnút að hringja í gegnum listann? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH: Awesome, svo við erum að fara að búa til 99 00:04:46,410 --> 00:04:47,951 ný hnút að skríða í gegnum listann. 100 00:04:47,951 --> 00:04:48,570 Mér finnst að. 101 00:04:48,570 --> 00:04:50,799 Ég verð bara að kalla það bendi ef það er allt í lagi. 102 00:04:50,799 --> 00:04:52,340 Og hvar ætti það að byrja upphaflega? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> Áhorfendur: Sennilega á yfirmaður listanum. 105 00:04:59,840 --> 00:05:00,590 HANNAH: Beautiful. 106 00:05:00,590 --> 00:05:03,670 Við viljum byrja á höfuðið, sem Ég sagði er að fara að vera geymd í listanum. 107 00:05:03,670 --> 00:05:04,170 Awesome. 108 00:05:04,170 --> 00:05:05,220 Svo langt, svo góður. 109 00:05:05,220 --> 00:05:08,260 Og nú, markmið okkar er að kunnugt gegnum listann 110 00:05:08,260 --> 00:05:12,870 þar er að finna hnút með gildi n að við viljum eyða. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> Svo er nú sá hluti þar við viljum kunnugt gegnum. 113 00:05:15,910 --> 00:05:19,488 Getur einhver benda a leið til að kunnugt gegnum? 114 00:05:19,488 --> 00:05:20,979 >> Áhorfendur: Lykkja. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH: Lykkja. 116 00:05:21,840 --> 00:05:22,620 Ég elska það. 117 00:05:22,620 --> 00:05:25,550 Sérstaklega, við getum reynt á meðan lykkja. 118 00:05:25,550 --> 00:05:30,919 OK, og við vitum að við höfum náð the endir af listanum okkar þegar það? 119 00:05:30,919 --> 00:05:32,210 Áhorfendur: Þegar bendillinn er null. 120 00:05:32,210 --> 00:05:33,418 HANNAH: Þegar bendillinn er null. 121 00:05:33,418 --> 00:05:34,320 Beautiful, ég elska það. 122 00:05:34,320 --> 00:05:35,110 OK, flott. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Svo hryggur ef hljóp Brace minn er konar detta ekki á skjánum. 125 00:05:43,190 --> 00:05:44,090 Við tókum það aftur. 126 00:05:44,090 --> 00:05:46,610 OK, flott. 127 00:05:46,610 --> 00:05:48,690 Hvað er næst? 128 00:05:48,690 --> 00:05:51,950 >> Þannig að við vitum að við viljum eyða hnúturinn sem hefur gildi n. 129 00:05:51,950 --> 00:05:56,340 Svo skulum finna tilfelli þar finnum reyndar hnút okkar. 130 00:05:56,340 --> 00:05:57,840 Svo hvernig myndi ég athuga það? 131 00:05:57,840 --> 00:06:02,210 Ég myndi bara segja ef músina, og þá ef ég vilja fá verðmæti út úr bendi, 132 00:06:02,210 --> 00:06:08,940 Ég bara arrow n, jafngildir n, breytu 133 00:06:08,940 --> 00:06:14,490 að við gaf þessa aðgerð, sem hnút sem við viljum í raun og veru eyða. 134 00:06:14,490 --> 00:06:17,090 Einhverjar spurningar upp fyrr hér? 135 00:06:17,090 --> 00:06:18,360 Allt í lagi. 136 00:06:18,360 --> 00:06:24,140 OK, svo nú skulum teikna a fljótur mynd á borð til að sjón þessa. 137 00:06:24,140 --> 00:06:30,710 >> Svo skulum segja að það er yndislegt hnút okkar. 138 00:06:30,710 --> 00:06:34,480 Og það hefur gildi, ég bara segja fjórir. 139 00:06:34,480 --> 00:06:40,340 Og það bendir til næsta hnút í tengda listanum okkar. 140 00:06:40,340 --> 00:06:42,220 Og það er ekkert fyrir það. 141 00:06:42,220 --> 00:06:45,800 Þannig að við höfum fyrri okkar benda að engu. 142 00:06:45,800 --> 00:06:48,110 Í þessu tilfelli, benda okkur aftur á bak. 143 00:06:48,110 --> 00:06:50,960 OK, bara að setja upp minn tengd lista hérna. 144 00:06:50,960 --> 00:06:53,630 Og við höfum lista sem vísar að þessari uppbyggingu til að byrja með. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Ég teikna einn meira fyrir sakir heilleika. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 OK. 149 00:07:06,117 --> 00:07:07,480 Ég skal benda þessum framherja. 150 00:07:07,480 --> 00:07:09,550 Og ég skal benda á að einn til baka. 151 00:07:09,550 --> 00:07:10,360 Úbbs, því miður. 152 00:07:10,360 --> 00:07:12,710 Já, fékk þetta aftur á bak. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Gera það aftur. 155 00:07:16,967 --> 00:07:18,330 OK, það sem við förum. 156 00:07:18,330 --> 00:07:19,910 Allt í lagi, fékk það. 157 00:07:19,910 --> 00:07:21,780 OK, hér er mynd af okkur. 158 00:07:21,780 --> 00:07:24,860 >> OK, þannig að við viljum íhuga tveimur tilvikum. 159 00:07:24,860 --> 00:07:27,330 Fyrsta mál er ef hnút við viljum eyða 160 00:07:27,330 --> 00:07:29,420 er á mjög upphafi listanum okkar. 161 00:07:29,420 --> 00:07:34,070 Og þá er það annað tilfelli sem við viljum að íhuga er ef það er einhvers staðar annars. 162 00:07:34,070 --> 00:07:37,660 Ég skil að þetta algerlega sóðalegur teikna með öllum útþurrkun minn, 163 00:07:37,660 --> 00:07:40,400 en vonandi munum við reyna að gera þetta skýrt með nokkrum kóða. 164 00:07:40,400 --> 00:07:45,450 >> OK, þannig að við skulum ná málið þar sem við fundum hnút okkar, 165 00:07:45,450 --> 00:07:48,900 og það er á mjög byrja á tengda listanum okkar. 166 00:07:48,900 --> 00:07:50,810 Einhver gefa mér tillaga hér um hvað 167 00:07:50,810 --> 00:07:54,684 Ég ætti að gera í raun fjarlægja hnút okkar? 168 00:07:54,684 --> 00:07:55,970 Það er svolítið erfiður. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> Áhorfendur: Þú þarft að taka hnút sem myndi vera fyrir það 171 00:07:59,628 --> 00:08:01,794 og gera það benda til að eitt sem væri á eftir honum, 172 00:08:01,794 --> 00:08:03,004 og taka hnút sem væri eftir það og gera 173 00:08:03,004 --> 00:08:04,554 það bent til hnút áður en það. 174 00:08:04,554 --> 00:08:05,220 HANNAH: Einmitt. 175 00:08:05,220 --> 00:08:10,640 OK, svo er þetta málið where-- við höfum tvö tilvik. 176 00:08:10,640 --> 00:08:14,100 Við höfum því tilviki að hnút sem við erum að leita að 177 00:08:14,100 --> 00:08:18,270 er framan á listanum. 178 00:08:18,270 --> 00:08:23,110 OK, og þá málið að þér lýst er annars, ekki satt? 179 00:08:23,110 --> 00:08:24,500 Það er einhvers staðar annars staðar á listanum. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Svo þú segir, við þurfum að líta á hnút fyrri, 182 00:08:32,840 --> 00:08:36,500 og gera fyrri hnút benda á næsta hnút. 183 00:08:36,500 --> 00:08:40,510 Svo skulum segja að við erum reyna að taka út fimm 184 00:08:40,510 --> 00:08:43,059 í mjög sóðalegur teikningu mína hérna. 185 00:08:43,059 --> 00:08:47,530 Við viljum tryggja að Four Points nú í sex. 186 00:08:47,530 --> 00:08:49,590 Fjórir í næstu stig í sex. 187 00:08:49,590 --> 00:08:52,150 Og sex í fyrri stig til fjórum. 188 00:08:52,150 --> 00:08:53,960 Það er markmið okkar hér, ekki satt? 189 00:08:53,960 --> 00:08:56,150 Þetta er það sem ég held að þú bara sagt þarna. 190 00:08:56,150 --> 00:08:58,450 >> OK, þannig að við skulum fá að fyrsta verk. 191 00:08:58,450 --> 00:09:02,300 Við skulum gera hafa fyrri bendi fyrri. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Svo fjögurra er við hliðina að benda á hvað? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Einmitt, í þessu tilfelli, sex. 196 00:09:14,900 --> 00:09:18,470 Svo við ættum að segja músina, næst. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 Allt í lagi. 199 00:09:21,150 --> 00:09:24,870 Svo skulum við fá losa af this ljóta mynd og reyna að draga örlítið ágætur einn. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Við höfum lista höfuð okkar hér. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 Og það bendir til fyrsta hnút í tengd lista okkar, sem við sögðum er fjórir. 204 00:09:42,740 --> 00:09:45,620 Hér er annað hnút okkar, fimm. 205 00:09:45,620 --> 00:09:47,307 Og í þriðja hnút okkar, sex. 206 00:09:47,307 --> 00:09:50,265 Bara að reyna að draga nákvæmlega sama mynd, bara smá meira hreinlegur. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 OK, svo fjórum er næst upphaflega bendir til fimm. 209 00:09:56,280 --> 00:09:58,620 Næstu stig til sex fimm er. 210 00:09:58,620 --> 00:10:00,170 Sex er fyrri stig í fimm. 211 00:10:00,170 --> 00:10:02,470 Og fimm er fyrri stig til fjórum. 212 00:10:02,470 --> 00:10:03,360 Svo miklu betur! 213 00:10:03,360 --> 00:10:04,530 OK, flott. 214 00:10:04,530 --> 00:10:07,770 >> Svo nú, hvað við gerðum bara hér, þessi lína af kóða, 215 00:10:07,770 --> 00:10:12,680 sem segir bendi fyrri næst, svo hvað þýðir það? 216 00:10:12,680 --> 00:10:17,540 Það þýðir að ef við erum að horfa á fimm, fara til baka hnút, 217 00:10:17,540 --> 00:10:21,970 og það er næst ætti nú benda til fimm er við hliðina. 218 00:10:21,970 --> 00:10:27,840 Svo í raun, hvað það er að gera er sem er að hreinsa þetta örina 219 00:10:27,840 --> 00:10:29,640 og gera það að sleppa rétt yfir fimm. 220 00:10:29,640 --> 00:10:31,360 Er það ljóst? 221 00:10:31,360 --> 00:10:33,200 Ég veit það getur verið svolítið sketchy. 222 00:10:33,200 --> 00:10:34,480 Ég séð höfuð kinkar kolli. 223 00:10:34,480 --> 00:10:35,390 Það er gott. 224 00:10:35,390 --> 00:10:36,670 OK, flott. 225 00:10:36,670 --> 00:10:39,590 Nú, hvað er næsta skref? 226 00:10:39,590 --> 00:10:42,060 >> Ég hef endurstilla næst. 227 00:10:42,060 --> 00:10:45,297 Nú, sem önnur arrow þarf ég að breyta? 228 00:10:45,297 --> 00:10:46,130 Þessi hérna. 229 00:10:46,130 --> 00:10:47,560 Six er fyrri. 230 00:10:47,560 --> 00:10:50,620 Við viljum ekki sex er fyrri til að benda á fimm lengur. 231 00:10:50,620 --> 00:10:54,580 Við viljum það til að benda á fjórar. 232 00:10:54,580 --> 00:10:56,190 Er myndin skynsamleg? 233 00:10:56,190 --> 00:10:58,370 Svo nú getum við í raun að taka fimm útskráning. 234 00:10:58,370 --> 00:10:59,370 Svo skulum við fá þessi stykki. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Hvað ætti ég að gera áður en ég endurstilla sex er fyrri til fjórum? 237 00:11:11,180 --> 00:11:14,360 Einhverjar hugmyndir þar? 238 00:11:14,360 --> 00:11:17,369 >> Áhorfendur: Free hnút milli þá með því að setja það til að núll? 239 00:11:17,369 --> 00:11:17,910 HANNAH: Cool. 240 00:11:17,910 --> 00:11:21,100 Ákveðið, enda markmið okkar er að fara að vera að losa hnút. 241 00:11:21,100 --> 00:11:22,490 Þannig að við getum gert það hérna. 242 00:11:22,490 --> 00:11:23,540 Free músina. 243 00:11:23,540 --> 00:11:24,810 Algjörlega. 244 00:11:24,810 --> 00:11:29,160 En jafnvel áður en það, skulum just-- markmiði rétt okkar 245 00:11:29,160 --> 00:11:38,730 hér er að setja músina næst fyrri jafn músina fyrri. 246 00:11:38,730 --> 00:11:40,760 Ég veit að þetta er að fá nær upp. 247 00:11:40,760 --> 00:11:45,440 OK, við skulum take-- kaldur. 248 00:11:45,440 --> 00:11:46,990 Geta allir séð þetta botn lína? 249 00:11:46,990 --> 00:11:47,840 Eða er það frábær pínulítill? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Svo áður en við framkvæmum þessi lína hér, við viljum 252 00:11:54,300 --> 00:11:58,375 til að tryggja að bendillinn næsta er ekki null. 253 00:11:58,375 --> 00:12:00,500 Vegna þess að ef bendillinn næst er null, hvaða villa 254 00:12:00,500 --> 00:12:02,727 mun ég fá þegar ég reyni að tilvísun núll músina? 255 00:12:02,727 --> 00:12:03,560 Áhorfendur: Seg kenna. 256 00:12:03,560 --> 00:12:05,660 HANNAH: A seg kenna, falleg. 257 00:12:05,660 --> 00:12:09,690 OK, þannig að ef það er ekki null, þá getum við endurstilla. 258 00:12:09,690 --> 00:12:14,420 Og við höfum sex stig á ný til fjögurra. 259 00:12:14,420 --> 00:12:17,440 Spurningar Fram til þessa benda? 260 00:12:17,440 --> 00:12:17,940 Já? 261 00:12:17,940 --> 00:12:19,814 >> Áhorfendur: Í fyrsta þinn ef yfirlýsingu, gerði þig 262 00:12:19,814 --> 00:12:23,817 meina að hafa ör næst, eða [inaudible]? 263 00:12:23,817 --> 00:12:25,150 HANNAH: Ég ætlaði músina ör n. 264 00:12:25,150 --> 00:12:30,270 Svo í grundvallaratriðum, það sem ég er að reyna að gera er að segja, núverandi hnút sem ég er 265 00:12:30,270 --> 00:12:34,100 iterating yfir, núverandi hnút sem Ég er að horfa á, ég ætla að geyma í músina. 266 00:12:34,100 --> 00:12:37,630 Og ég vil vita bendi er gildi, sem í þessu tilfelli er n. 267 00:12:37,630 --> 00:12:39,500 Og ég vil sjá, er hnúturinn Ég er að leita 268 00:12:39,500 --> 00:12:42,790 fyrir hnút Ég er miða að því að eyða? 269 00:12:42,790 --> 00:12:47,657 Svo er það hvers vegna við höfum hér músina n. 270 00:12:47,657 --> 00:12:49,857 >> Áhorfendur: Svo arrow fara til n setur þú gildið 271 00:12:49,857 --> 00:12:52,058 og geyma það í hnút kallast n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH: Svo það er eins og ef ég er fara í gegnum þetta tengda listanum 274 00:12:58,820 --> 00:13:00,310 og benda á fimm. 275 00:13:00,310 --> 00:13:03,600 Ef ég vil fá þessi gildi, ef Ég vil fá að tala, 5, 276 00:13:03,600 --> 00:13:06,400 Ég verð að gera músina ör n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Já. 279 00:13:07,900 --> 00:13:11,200 >> Áhorfendur: Er n nafn breytu? 280 00:13:11,200 --> 00:13:11,700 HANNAH: Já. 281 00:13:11,700 --> 00:13:14,870 Svo ef við flettir aftur einn renna, n er nafn 282 00:13:14,870 --> 00:13:18,660 af verðmæti inni á hnút í tengda listanum okkar. 283 00:13:18,660 --> 00:13:21,510 Og ég veit að það er hægt að fá smá svolítið ruglingslegt vegna þess að við einnig 284 00:13:21,510 --> 00:13:24,680 hringir hlutur að við viljum eyða n. 285 00:13:24,680 --> 00:13:26,717 Svo er það þar sem ein lína kemur frá. 286 00:13:26,717 --> 00:13:27,671 Já? 287 00:13:27,671 --> 00:13:31,010 >> Áhorfendur: Hvað hefur þú [Inaudible] hvernig þeir vinna? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 A bendi [inaudible]? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH: Jú. 291 00:13:37,520 --> 00:13:40,027 Ertu að tala about-- sem lína? 292 00:13:40,027 --> 00:13:41,526 Áhorfendur: Síðasta lína [inaudible]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH: Jú, OK. 295 00:13:45,250 --> 00:13:48,540 Svo skulum líta á myndinni í Til að reyna að útskýra þetta. 296 00:13:48,540 --> 00:13:51,030 Fyrirgefðu, fyrir myndavél, spurningin var 297 00:13:51,030 --> 00:13:54,580 getum við útskýrt bendi arrow næsta bendi fyrri. 298 00:13:54,580 --> 00:14:01,510 OK, þannig að við skulum segja að við erum á fimm og markmið okkar er að eyða fimm. 299 00:14:01,510 --> 00:14:07,240 Svo músina næst, sem af þessum þrjú hnúta er að gefa okkur? 300 00:14:07,240 --> 00:14:10,840 Það færir okkur að sjötta hnút, ekki satt? 301 00:14:10,840 --> 00:14:16,490 >> OK, svo nú erum við að biðja fyrir fyrri sex er. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 Og við erum að endurstilla þetta að vera jafn fjórum, 304 00:14:20,210 --> 00:14:23,214 sem gerðist að vera fimm er fyrri. 305 00:14:23,214 --> 00:14:25,180 Ég veit, það er frábær erfitt að halda utan um. 306 00:14:25,180 --> 00:14:29,286 Ég mæli virkilega þú teikna myndir ef þú færð spurningu eins og þessa. 307 00:14:29,286 --> 00:14:30,242 Já? 308 00:14:30,242 --> 00:14:32,617 >> Áhorfendur: Er ástæðan fyrir því að við höfum ekki a [inaudible]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH: Einmitt. 311 00:14:38,570 --> 00:14:44,800 Svo spurningin var, hvers vegna við ekki að athuga hér? 312 00:14:44,800 --> 00:14:48,160 Hvers vegna eigum við ekki að þurfa að athuga að bendillinn fyrri er ekki jafn núll? 313 00:14:48,160 --> 00:14:50,070 Og það er vegna þess að við höfum þegar aðskilin út 314 00:14:50,070 --> 00:14:52,490 raunin ef bendillinn er í upphafi. 315 00:14:52,490 --> 00:14:54,060 Mjög góð spurning. 316 00:14:54,060 --> 00:14:56,880 Allt annað á þessu? 317 00:14:56,880 --> 00:14:57,380 OK, flott. 318 00:14:57,380 --> 00:14:58,360 Svo skulum klára það upp. 319 00:14:58,360 --> 00:14:59,890 Við erum næstum þarna. 320 00:14:59,890 --> 00:15:01,310 >> Svo hvað ef það er í forsvari? 321 00:15:01,310 --> 00:15:03,360 Hvað ef í stað þess að reyna að eyða fimm, 322 00:15:03,360 --> 00:15:06,240 við vildum í raun að eyða fjórum? 323 00:15:06,240 --> 00:15:07,270 Hvað myndi ég að gera? 324 00:15:07,270 --> 00:15:09,610 Jæja, ég vil að endurstilla höfuð mitt við það? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Hrópa það út? 327 00:15:15,585 --> 00:15:16,710 Áhorfendur: The einn eftir það. 328 00:15:16,710 --> 00:15:17,460 HANNAH: Beautiful. 329 00:15:17,460 --> 00:15:26,430 OK, svo við viljum lista til að benda til hvað bendillinn okkar næsta hnúturinn. 330 00:15:26,430 --> 00:15:29,040 Good. 331 00:15:29,040 --> 00:15:30,810 Og bara fyrir heilleika áratugnum sakir, við viljum 332 00:15:30,810 --> 00:15:35,590 langar að athuga að svo lengi sem listi okkar er ekki núll, svo lengi sem lista okkar er ekki 333 00:15:35,590 --> 00:15:42,730 tómur, þá þarf að setja fyrri jafn okkar til null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Spurning svo langt? 336 00:15:50,230 --> 00:15:53,205 Eitt skref í burtu from--? 337 00:15:53,205 --> 00:15:55,530 >> Áhorfendur: Væri ef Listinn er ekki jafn núll? 338 00:15:55,530 --> 00:15:56,950 >> HANNAH: Já, þú ert algerlega rétt. 339 00:15:56,950 --> 00:15:58,130 Ég er svo leitt. 340 00:15:58,130 --> 00:16:00,040 Er listi er ekki jafn núll. 341 00:16:00,040 --> 00:16:01,915 Awesome. 342 00:16:01,915 --> 00:16:04,245 Reynt að koma þessu öllu á skjánum. 343 00:16:04,245 --> 00:16:06,870 Það er góður af falla burt. 344 00:16:06,870 --> 00:16:07,730 Því miður, krakkar. 345 00:16:07,730 --> 00:16:11,874 Og síðast en ekki síst, allir við þurfum að gera er að fara aftur. 346 00:16:11,874 --> 00:16:12,840 OK. 347 00:16:12,840 --> 00:16:15,400 Það var mikið crammed í mjög fljótt. 348 00:16:15,400 --> 00:16:16,800 Taktu annað að líta þetta aftur. 349 00:16:16,800 --> 00:16:18,216 Segðu mér ef þú hefur einhverjar spurningar. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Já? 352 00:16:20,732 --> 00:16:26,940 >> Áhorfendur: Ef listinn er að höfuð, then-- bíða, Nevermind. 353 00:16:26,940 --> 00:16:27,700 >> HANNAH: OK, gott. 354 00:16:27,700 --> 00:16:30,987 Svo er þetta ef listi er á höfði, við að fjarlægja það til hvað við settum. 355 00:16:30,987 --> 00:16:31,486 Já? 356 00:16:31,486 --> 00:16:33,777 >> Áhorfendur: Getur þú útskýrt sem fyrst ef staðhæfing aftur? 357 00:16:33,777 --> 00:16:36,149 Ef bendillinn á móti n er jafnt n? 358 00:16:36,149 --> 00:16:36,690 HANNAH: Jú. 359 00:16:36,690 --> 00:16:42,780 Svo er markmið okkar á þessu öllu virka að eyða hnút sem hefur gildi n. 360 00:16:42,780 --> 00:16:47,460 Þannig að ef við finnum, eins og við erum iterating gegnum listann okkar, 361 00:16:47,460 --> 00:16:51,770 hnúturinn með gildi n, það er sá sem við viljum eyða. 362 00:16:51,770 --> 00:16:57,286 Svo öll við að eyða með gerist innan þess stór ef yfirlýsingu. 363 00:16:57,286 --> 00:16:58,593 Er að vit? 364 00:16:58,593 --> 00:16:59,480 Cool. 365 00:16:59,480 --> 00:16:59,990 Já? 366 00:16:59,990 --> 00:17:02,864 >> Áhorfendur: Kannski þú bara getur ekki séð það, en ekki þú þarft einnig línu 367 00:17:02,864 --> 00:17:06,024 til að fletta í gegnum listann? 368 00:17:06,024 --> 00:17:06,690 HANNAH: Awesome. 369 00:17:06,690 --> 00:17:10,896 Við skulum koma þessu upp smá, og við munum kasta það rétt í botn. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Kannski stjórnin vildi ' verið örlítið betri hugmynd. 372 00:17:15,490 --> 00:17:17,829 Svo hvernig væri að ég flyt músina áfram? 373 00:17:17,829 --> 00:17:20,184 >> Áhorfendur: Pointer jafngildir músina plús einn. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH: Beautiful. 375 00:17:21,599 --> 00:17:25,050 Svo að leyfa okkur að áfram iterating gegnum. 376 00:17:25,050 --> 00:17:26,251 OK. 377 00:17:26,251 --> 00:17:27,750 Áhorfendur: Vildi ekki að það að vera annað? 378 00:17:27,750 --> 00:17:29,028 HANNAH: Eitt sinn? 379 00:17:29,028 --> 00:17:32,444 Áhorfendur: Væri ekki það að vera er annað eftir stóra gamla ef 380 00:17:32,444 --> 00:17:35,519 yfirlýsing [inaudible]? 381 00:17:35,519 --> 00:17:36,310 HANNAH: Hvaða hluti? 382 00:17:36,310 --> 00:17:38,350 Fyrirgefðu. 383 00:17:38,350 --> 00:17:41,800 >> Áhorfendur: The traversal, ætti ekki það að vera í annað? 384 00:17:41,800 --> 00:17:43,550 HANNAH: Þú algerlega gæti haft annað. 385 00:17:43,550 --> 00:17:46,930 Því að ég hef aftur rétt þar, þú þarft ekki að öðru. 386 00:17:46,930 --> 00:17:48,760 En já, góð spurning. 387 00:17:48,760 --> 00:17:50,170 OK, já? 388 00:17:50,170 --> 00:17:52,878 Áhorfendur: Getum við hugsað músina sem er að flytja í gegnum listann 389 00:17:52,878 --> 00:17:56,610 sem taka á gildi hvers hnút í listanum? 390 00:17:56,610 --> 00:18:00,650 Eða ættum við að hugsa um það sem konar ytri á listann? 391 00:18:00,650 --> 00:18:02,350 >> HANNAH: Annaðhvort einn er fínn, held ég. 392 00:18:02,350 --> 00:18:05,880 The vegur ÉG ímyndað sér er Ég segi, OK, ég er bendill. 393 00:18:05,880 --> 00:18:06,520 Og þetta er ég. 394 00:18:06,520 --> 00:18:07,150 Þetta er hönd mín. 395 00:18:07,150 --> 00:18:09,960 Ég ætla að benda á mismunandi hlutir sem mig langar til að kunnugt gegnum. 396 00:18:09,960 --> 00:18:12,270 First, ég ætla að benda yfirmaður listanum. 397 00:18:12,270 --> 00:18:14,144 Og það segir mér að ég er fara að benda á fjórar. 398 00:18:14,144 --> 00:18:18,060 Og svo ég, að vera utan við listann, Ég get bent á hvert þessara þátta. 399 00:18:18,060 --> 00:18:19,520 Þannig að ég hugsa um sjálfan mig sem músina. 400 00:18:19,520 --> 00:18:21,645 Áhorfendur: Svo þegar þú eyðir einn af þeim þáttum, 401 00:18:21,645 --> 00:18:23,404 þú eyðir sjálfur, svo að segja. 402 00:18:23,404 --> 00:18:24,070 HANNAH: Einmitt. 403 00:18:24,070 --> 00:18:25,920 Svo þú eyða hlutur þú ert að benda á. 404 00:18:25,920 --> 00:18:28,340 Svo í dæminu að við sáum þar sem við erum 405 00:18:28,340 --> 00:18:31,670 reyna að eyða fimm, þegar ég er að benda á fimm, 406 00:18:31,670 --> 00:18:34,200 Ég vil eyða sem ég er að benda á. 407 00:18:34,200 --> 00:18:35,870 Nákvæmlega rétt. 408 00:18:35,870 --> 00:18:36,577 Já? 409 00:18:36,577 --> 00:18:39,410 Áhorfendur: Höfum við séð um að tilfelli þar sem n er ekki á listanum? 410 00:18:39,410 --> 00:18:40,460 HANNAH: Ef n er ekki á listanum? 411 00:18:40,460 --> 00:18:43,501 Allt sem er að fara að gerast er að þú ert fara að iterate gegnum og kunnugt 412 00:18:43,501 --> 00:18:47,616 í gegnum, og þá, þú ert að fara að fá að músina tilvera null, 413 00:18:47,616 --> 00:18:48,990 og þá þú ert að fara að gera. 414 00:18:48,990 --> 00:18:50,812 >> Áhorfendur: Svo eigum við að fara aftur eitthvað? 415 00:18:50,812 --> 00:18:51,520 HANNAH: Við gætum. 416 00:18:51,520 --> 00:18:54,500 Leiðin að ef skilgreint þetta virka, segi ég bara að það skilar 417 00:18:54,500 --> 00:18:55,770 ógilt óháð. 418 00:18:55,770 --> 00:18:58,360 En þú gætir hafa eitthvað eins aftur heiltölu 419 00:18:58,360 --> 00:19:00,920 og hafa það aftur neikvæð 1 ef það tekst ekki. 420 00:19:00,920 --> 00:19:03,070 Eitthvað svoleiðis. 421 00:19:03,070 --> 00:19:04,494 Spurningar with-- já? 422 00:19:04,494 --> 00:19:05,410 Áhorfendur: [inaudible]? 423 00:19:05,410 --> 00:19:05,993 HANNAH: Sorry? 424 00:19:05,993 --> 00:19:07,419 Áhorfendur: [inaudible]? 425 00:19:07,419 --> 00:19:07,960 HANNAH: Jú. 426 00:19:07,960 --> 00:19:11,730 Svo er að actual-- Þegar við höfum gert allt þetta verk að færa 427 00:19:11,730 --> 00:19:16,530 allar þessar örvar í kring, allt okkar Markmiðið var að losna við hnút 428 00:19:16,530 --> 00:19:18,230 að við erum að leita að. 429 00:19:18,230 --> 00:19:21,610 Þannig að í þessu tilfelli, frjáls músina, ef ég er að benda á fimm, 430 00:19:21,610 --> 00:19:24,670 það er eins og að þurrka þetta miðju hnút. 431 00:19:24,670 --> 00:19:27,250 Það er ókeypis bendill hluti. 432 00:19:27,250 --> 00:19:29,090 Að skynsamleg? 433 00:19:29,090 --> 00:19:31,390 >> Áhorfendur: Svo jafnvel hugsun þú gerðir ekki [inaudible]? 434 00:19:31,390 --> 00:19:36,060 >> HANNAH: Þannig að við ráð fyrir við upphaf við fengum lista sem var already-- 435 00:19:36,060 --> 00:19:37,220 þeir höfðu setja þetta saman. 436 00:19:37,220 --> 00:19:39,761 Svo í því skyni að byggja þetta lista, hlýt þeir [inaudible]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Cool. 439 00:19:42,750 --> 00:19:44,490 Allt annað með þetta? 440 00:19:44,490 --> 00:19:46,386 Já? 441 00:19:46,386 --> 00:19:49,204 >> Áhorfendur: Hvað ef listinn ekki jöfn núll línu? 442 00:19:49,204 --> 00:19:49,704 [Inaudible]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 HANNAH: Hérna? 445 00:19:53,080 --> 00:19:53,840 Áhorfendur: Já. 446 00:19:53,840 --> 00:19:57,370 HANNAH: OK, allt sem ég er að gera er ég bara að gera viss 447 00:19:57,370 --> 00:20:03,250 að áður en ég reyni að dereference lista, áður en ég reyni að opna fyrri, 448 00:20:03,250 --> 00:20:07,210 Ég vil vera viss um að það er ekki null svo ég fæ ekki seg kenna. 449 00:20:07,210 --> 00:20:08,400 Cool. 450 00:20:08,400 --> 00:20:10,820 >> OK, ég veit að þetta var alveg a einhver fjöldi til að komast í gegnum. 451 00:20:10,820 --> 00:20:14,950 Þannig að þetta renna verður í boði fyrir þig. 452 00:20:14,950 --> 00:20:17,341 Svo þú getur farið í gegnum það nánar. 453 00:20:17,341 --> 00:20:17,841 Já? 454 00:20:17,841 --> 00:20:19,749 >> Áhorfendur: Hvers vegna listinn [inaudible]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH: Jú. 457 00:20:24,670 --> 00:20:27,390 Svo listi bendir raunverulega til þessi þáttur hérna, 458 00:20:27,390 --> 00:20:29,200 fyrsta þáttur í listanum. 459 00:20:29,200 --> 00:20:30,748 Svo það er ekki hægt að hafa fyrri. 460 00:20:30,748 --> 00:20:31,736 Já? 461 00:20:31,736 --> 00:20:35,194 >> Áhorfendur: Er bendi benda á sama heimilisfang í minni? 462 00:20:35,194 --> 00:20:38,404 Er það benda til sömu heimilisfang í minni sem hnút 463 00:20:38,404 --> 00:20:40,640 að það er að benda á? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH: Já, bendir það við þessa hnút í minni. 465 00:20:43,865 --> 00:20:47,190 >> Áhorfendur: Einmitt, svo þegar þú [inaudible]? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH: Í vissum skilningi, já. 467 00:20:50,580 --> 00:20:51,280 OK. 468 00:20:51,280 --> 00:20:52,997 Allt í lagi, við skulum fara með þetta. 469 00:20:52,997 --> 00:20:55,330 Og ef þú hefur fleiri spurningar, kyrr í lok, 470 00:20:55,330 --> 00:20:57,130 og við getum farið í gegnum það aftur. 471 00:20:57,130 --> 00:20:58,120 OK, flott. 472 00:20:58,120 --> 00:21:00,490 Nú fáum við að fara að kjötkássa borðum, tilraunir, 473 00:21:00,490 --> 00:21:04,940 og tré, sem þú fékkst frábær kynnast í p-setja fimm, Speller. 474 00:21:04,940 --> 00:21:11,020 >> Svo er kjötkássa borð bara array með eintengdan lista 475 00:21:11,020 --> 00:21:14,050 eða tvöfalt tengd listum koma burt af því. 476 00:21:14,050 --> 00:21:16,380 Þannig að við höfum einhvers konar af tengin array. 477 00:21:16,380 --> 00:21:21,280 Og hvernig vitum við hver af þessum fylki fötunum til að komast inn, 478 00:21:21,280 --> 00:21:24,137 við notum kjötkássa virka. 479 00:21:24,137 --> 00:21:26,470 Svo í þessu tilviki, getur einhver giska á hvað kássufall 480 00:21:26,470 --> 00:21:28,636 væri bara byggt á einhverjum af inntak og framleiðsla? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> Áhorfendur: Letter fjöldi stafrófinu. 483 00:21:33,194 --> 00:21:33,860 HANNAH: Einmitt. 484 00:21:33,860 --> 00:21:36,160 Það setur bara þá í stafrófsröð. 485 00:21:36,160 --> 00:21:39,280 Allt sem byrjar með A er sett í fyrsta fötu. 486 00:21:39,280 --> 00:21:43,340 Allt með B er sett inn í Annað fötu, svo á og svo framvegis. 487 00:21:43,340 --> 00:21:45,620 Awesome, OK. 488 00:21:45,620 --> 00:21:48,980 Og kjötkássa virka er einhver fall sem tekur í orði 489 00:21:48,980 --> 00:21:51,910 og mun segja þér hvað fötu það tilheyrir í. 490 00:21:51,910 --> 00:21:55,150 Svo sem færsla í okkar array það tilheyrir í. 491 00:21:55,150 --> 00:21:58,080 >> Svo í hvert sinn sem ég gefa mína kjötkássa virka orð, 492 00:21:58,080 --> 00:22:00,660 það ætti að segja mér það sama setja hvert einasta skipti. 493 00:22:00,660 --> 00:22:03,270 Þannig að ef við notum kjötkássa virka frá fyrra glærunni 494 00:22:03,270 --> 00:22:05,950 þar sem við erum að flokkun eftir að fyrsti stafur í stafrófinu, 495 00:22:05,950 --> 00:22:08,230 í hvert sinn sem ég gef mínum kjötkássa virka "epli" 496 00:22:08,230 --> 00:22:10,180 það ætti alltaf að gefa mér aftur 0. 497 00:22:10,180 --> 00:22:12,890 Svo ef ég hef epli að setja í kjötkássa borð mitt, 498 00:22:12,890 --> 00:22:17,700 ef ég gef "epli" í kjötkássa virka minn, það ætti að segja, fara að setja það í fötu 0. 499 00:22:17,700 --> 00:22:19,980 Ef ég er að leita að óákveðinn greinir í ensku epli í kjötkássa borð mitt 500 00:22:19,980 --> 00:22:24,340 og ég segi, þar hreystiverk epli lifandi, þú spyrja kjötkássa virka. 501 00:22:24,340 --> 00:22:26,900 Og það segir, fara Fata 0. 502 00:22:26,900 --> 00:22:29,150 Allt í lagi? 503 00:22:29,150 --> 00:22:32,660 Spurningar með kjötkássa virka? 504 00:22:32,660 --> 00:22:34,570 Awesome. 505 00:22:34,570 --> 00:22:37,320 >> Hér er örlítið meira nákvæmar útskýringar 506 00:22:37,320 --> 00:22:39,570 um hvað kjötkássa virka gæti litið út. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Allt í lagi. 509 00:22:42,960 --> 00:22:45,960 Nú, vandamálið með kjötkássa virka er í fullkomnum heimi, 510 00:22:45,960 --> 00:22:48,870 við myndum bara hafa einn hlutur í hverri fötu. 511 00:22:48,870 --> 00:22:50,900 En í raun og veru, það er ekki aðeins eitt orð 512 00:22:50,900 --> 00:22:54,280 sem byrjar með A. Það er ekki aðeins eitt orð sem byrjar með B. So 513 00:22:54,280 --> 00:22:56,960 í þessu tilfelli, ef við skyndilega fá "Berry" 514 00:22:56,960 --> 00:22:58,710 og við viljum að setja það í kjötkássa töflunni okkar, 515 00:22:58,710 --> 00:23:03,640 og við sjáum, ó, nei, banani er nú þegar, hvað erum við ætla að gera? 516 00:23:03,640 --> 00:23:05,900 >> Jæja, höfum við tvo valkosti. 517 00:23:05,900 --> 00:23:07,990 Fyrsti valkosturinn er línuleg leit, sem 518 00:23:07,990 --> 00:23:11,100 bara þýðir fara finna næsta tóm fötu. 519 00:23:11,100 --> 00:23:14,100 Fara að finna næsta tóma array færslu. 520 00:23:14,100 --> 00:23:15,750 Og bara setja "Berry" þar. 521 00:23:15,750 --> 00:23:18,880 Svo ég veit að það er ætlast til að fara með banana í fötu einu. 522 00:23:18,880 --> 00:23:22,155 En bara setja það í fötu þremur, því fötu þrjú er tóm. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Annar valkostur er sennilega hvað þú framkvæma 525 00:23:26,680 --> 00:23:29,220 í þinn p-setja, þar sem þú hafði sérstakt læsa. 526 00:23:29,220 --> 00:23:33,990 Svo að hver fötunum þínum, hvert array þætti þína, 527 00:23:33,990 --> 00:23:38,410 ekki aðeins heldur eitt orð, en í raun og veru heldur bendi til lista af orðum. 528 00:23:38,410 --> 00:23:41,880 Þannig að ef þú hefðir banani í kjötkássa töflunni 529 00:23:41,880 --> 00:23:44,740 og þú vildir skyndilega að bæta berjum, ekkert vandamál. 530 00:23:44,740 --> 00:23:51,110 Bara bæta berjum á til enda, eða upphaf, um tengda listanum þínum. 531 00:23:51,110 --> 00:23:54,040 OK, ógnvekjandi. 532 00:23:54,040 --> 00:23:58,490 Spurningar með kjötkássa töflur áður en við höldum á? 533 00:23:58,490 --> 00:23:59,850 >> Allt í lagi. 534 00:23:59,850 --> 00:24:01,070 Tré og reynir. 535 00:24:01,070 --> 00:24:07,980 OK, þannig að þetta var annar valkostur til að hrinda orðabók. 536 00:24:07,980 --> 00:24:09,100 Þú gætir hafa gert a reyna. 537 00:24:09,100 --> 00:24:13,420 Svo það er sérstakt konar tré sem hegðar sér eins og multi-láréttur flötur kjötkássa töflunni. 538 00:24:13,420 --> 00:24:16,862 Svo þú munt sjá mynd þar sem þú ert með array sem 539 00:24:16,862 --> 00:24:19,320 bendir til fullt af fylki að benda á fullt af fylki 540 00:24:19,320 --> 00:24:20,390 að benda á fullt af fylki. 541 00:24:20,390 --> 00:24:23,140 Og við munum sjá nákvæmlega hvað það myndi líta út eins og á framtíð renna. 542 00:24:23,140 --> 00:24:26,070 Og almennt, tré er bara allir gagnagrind 543 00:24:26,070 --> 00:24:29,710 þar sem gögn er skipulögð í sumum stigveldi. 544 00:24:29,710 --> 00:24:32,610 Svo þar sem við sáum við höfum einhvers konar skilning 545 00:24:32,610 --> 00:24:36,130 af efra stigi, næsta stig, a næsta stig, a næsta stig. 546 00:24:36,130 --> 00:24:39,690 Svo er þetta sennilega ljóst með ákveðin dæmi. 547 00:24:39,690 --> 00:24:40,880 Svo hér er tré okkar. 548 00:24:40,880 --> 00:24:42,970 Þú getur séð að það hefur einkum stigum 549 00:24:42,970 --> 00:24:45,480 að við byrjum með því rót hnút, einn. 550 00:24:45,480 --> 00:24:47,640 Og við getum farið niður í gegnum tré okkar. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> A tvöfaldur tré er ákveðin tegund af tré. 553 00:24:53,910 --> 00:24:56,770 Og eina forskrift tvíundartrés 554 00:24:56,770 --> 00:25:01,130 er að hver hnútur hefur á flestum tveimur laufum. 555 00:25:01,130 --> 00:25:03,960 Svo þú ert ekki að fara að sjá eitthvað Af þessum hnútar hafa þrjú eða fjögur 556 00:25:03,960 --> 00:25:06,880 eða einhver önnur tala af laufum. 557 00:25:06,880 --> 00:25:11,310 Og þá jafnvel nákvæmari er tvöfaldur leita tré 558 00:25:11,310 --> 00:25:18,010 þar sem hvert hnút vinstra megin við hnútur er að fara að hafa gildi minni. 559 00:25:18,010 --> 00:25:21,180 Og hvert gildi til rétt er að fara að vera stærri. 560 00:25:21,180 --> 00:25:26,900 Svo ef þú sérð 44 er rót okkar, til vinstri, 11, 22, og 33 561 00:25:26,900 --> 00:25:28,940 eru allir minni en rót okkar. 562 00:25:28,940 --> 00:25:33,890 Og á hægri eru tölur bigger-- 66, 55, og 77. 563 00:25:33,890 --> 00:25:37,380 Og þessi eiginleiki sannast á hverju stigi í trénu. 564 00:25:37,380 --> 00:25:42,690 >> Svo þegar við förum niður 22, 11, og 33, enn 11 565 00:25:42,690 --> 00:25:46,950 er minni en 22 og 33 er stærri en 22. 566 00:25:46,950 --> 00:25:50,160 Og þetta gerir það auðveldara að leita því ef við erum að leita fyrir a tala, 567 00:25:50,160 --> 00:25:53,877 við vitum nákvæmlega hvaða útibú að fylgja niður. 568 00:25:53,877 --> 00:25:56,210 Þannig að þetta ætti að minna þig á smá tvöfaldur leit. 569 00:25:56,210 --> 00:25:56,967 Já? 570 00:25:56,967 --> 00:25:58,835 >> Áhorfendur: Svo þegar þú ert lýsa tvöfaldur, 571 00:25:58,835 --> 00:26:00,587 þú sagðir það hefur á flestum tveimur laufum? 572 00:26:00,587 --> 00:26:01,170 HANNAH: Mm-HM. 573 00:26:01,170 --> 00:26:02,580 Áhorfendur: Gæti það hafa minna? 574 00:26:02,580 --> 00:26:03,121 HANNAH: Já. 575 00:26:03,121 --> 00:26:06,720 Svo skulum segja, til dæmis, þú ekki hafa enn ýmislegt 576 00:26:06,720 --> 00:26:11,791 og þú getur ekki fylla upp allur þinn lauf, það er allt í lagi ef maður hefur einn. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 Awesome. 579 00:26:12,789 --> 00:26:15,930 Allar aðrar spurningar um tré? 580 00:26:15,930 --> 00:26:16,670 OK. 581 00:26:16,670 --> 00:26:20,110 >> Til baka á reynir okkar eins og ég var að tala um svolítið fyrr, 582 00:26:20,110 --> 00:26:23,900 hvernig við höfum þessar multi-láréttur flötur fylki. 583 00:26:23,900 --> 00:26:26,280 Þannig að í þessu tilfelli, byrjum við á toppinn. 584 00:26:26,280 --> 00:26:29,030 Og við getum fylgst hverjum orð niður. 585 00:26:29,030 --> 00:26:30,780 Svo skulum segja að við vildum að leita að Turing. 586 00:26:30,780 --> 00:26:34,380 Við byrjum á T, fylgja henni niður til fjölda sem inniheldur U, 587 00:26:34,380 --> 00:26:37,350 og fylgja henni niður þar til við ná þessu litla delta sem 588 00:26:37,350 --> 00:26:39,060 segir okkur, já, þú fundið orð. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Ljóst á reynir? 591 00:26:44,120 --> 00:26:48,138 Nokkuð að fara þarna? 592 00:26:48,138 --> 00:26:48,908 Já? 593 00:26:48,908 --> 00:26:51,866 Áhorfendur: Er tákn delta hafa að hernema pláss innan try? 594 00:26:51,866 --> 00:26:54,532 HANNAH: Já, svo er það ekki endilega einu sinni að vera a Delta. 595 00:26:54,532 --> 00:26:57,760 En við þurfum einhvern hátt til segja okkar computer-- miður, 596 00:26:57,760 --> 00:27:01,130 svo að við vitum að TUR er ekki orð. 597 00:27:01,130 --> 00:27:04,180 Vegna skulum segja að við höfðum ekki þessi hugmynd um Delta, þetta hugtak 598 00:27:04,180 --> 00:27:09,850 Hamingju þú fundið orð, það myndi fara í gegnum og kunnugt T-U-R, 599 00:27:09,850 --> 00:27:11,300 og þá segja, ógnvekjandi, ég fann það! 600 00:27:11,300 --> 00:27:12,670 Það hlýtur að vera orð. 601 00:27:12,670 --> 00:27:13,720 En það er í raun ekki. 602 00:27:13,720 --> 00:27:15,310 Við viljum allt Turing að vera orð. 603 00:27:15,310 --> 00:27:17,760 Svo verðum við að hafa eitthvað á að enda sem segir til hamingju, 604 00:27:17,760 --> 00:27:19,051 þú hefur fundið lögmæt orð. 605 00:27:19,051 --> 00:27:21,680 Áhorfendur: Svo ef þú hefðir eins 26 stafir í stafrófinu, 606 00:27:21,680 --> 00:27:24,560 myndir þú hefur í raun 27 lyklar í prufa þinn? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH: Awesome, já. 608 00:27:26,010 --> 00:27:28,210 Svo í raun, held ég að verður á næstu glæru. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Þar sem ef þú ert a hnút í prufa þinn, þú ert 611 00:27:32,880 --> 00:27:35,800 fara að hafa 27 börn í stað 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Einhverjar spurningar með það? 614 00:27:40,050 --> 00:27:40,550 Já? 615 00:27:40,550 --> 00:27:44,569 Áhorfendur: Af hverju reynir að taka upp svo mikið pláss [inaudible] eins og þú fara? 616 00:27:44,569 --> 00:27:47,629 Hvers vegna er það talið vera [inaudible]? 617 00:27:47,629 --> 00:27:48,170 HANNAH: Jú. 618 00:27:48,170 --> 00:27:48,790 Förum aftur. 619 00:27:48,790 --> 00:27:52,350 Spurningin er, hvers vegna eru reynir svo miklu stærri 620 00:27:52,350 --> 00:27:54,620 en eitthvað eins og kjötkássa töflunni. 621 00:27:54,620 --> 00:27:57,790 Svo fyrir hvert af þessum stigum, jafnvel þótt þær séu ekki dregin hér, 622 00:27:57,790 --> 00:28:01,250 þú þarft að hafa öll 26 stafir. 623 00:28:01,250 --> 00:28:04,420 Og ástæðan fyrir því að þú getur ekki segja, ó, en eins og fyrir Turing, I 624 00:28:04,420 --> 00:28:07,570 þarf ekki að hafa neitt af þeim sömu hlutina á the láréttur flötur af U. Jæja, 625 00:28:07,570 --> 00:28:11,390 ef skyndilega þú vildir bæta eitthvað sem var eins og T-H, 626 00:28:11,390 --> 00:28:14,800 þú vilt þarft að hafa getu að bæta þessi orð. 627 00:28:14,800 --> 00:28:17,330 Svo fyrir hvert einasta bréf, þú ert að fara að hafa 628 00:28:17,330 --> 00:28:19,730 að hafa fullt af fylki koma burt af því. 629 00:28:19,730 --> 00:28:24,060 Svo er hægt að sjá hvernig það myndi fá mjög stór, mjög hratt. 630 00:28:24,060 --> 00:28:26,560 Aðrar spurningar? 631 00:28:26,560 --> 00:28:28,980 Allt í lagi. 632 00:28:28,980 --> 00:28:29,832 Já? 633 00:28:29,832 --> 00:28:33,210 >> Áhorfendur: Hvenær eru tilraunir hraðar en kjötkássa matskeið? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH: Hvenær eru tilraunir hraðar en kjötkássa matskeið? 635 00:28:36,280 --> 00:28:39,120 Svo ef þú átt í raun slæmt kjötkássa virka. 636 00:28:39,120 --> 00:28:41,840 Svo skulum segja að ég var eins og, hér er kjötkássa virka þinn. 637 00:28:41,840 --> 00:28:43,660 Sama hvað orð þú gefur mér, ég er alltaf 638 00:28:43,660 --> 00:28:47,740 að fara að setja það í array færslu 0. 639 00:28:47,740 --> 00:28:52,000 Og svo við á endanum með bara að setja allt í einu stóru lengi tengda listanum. 640 00:28:52,000 --> 00:28:58,740 Og svo leit tími myndi taka í versta falli n ef það er á enda á listanum okkar. 641 00:28:58,740 --> 00:29:03,150 Með try, höfum við bara að kunnugt gegnum stafina í orðinu. 642 00:29:03,150 --> 00:29:07,080 Svo jafnvel ef við bætt fullt fleiri orð til að reyna okkar, 643 00:29:07,080 --> 00:29:09,620 það myndi ekki taka okkur lengur að finna ákveðna orð. 644 00:29:09,620 --> 00:29:11,750 >> Allt sem við þurfum að gera er að dæmi, í þessu tilfelli, 645 00:29:11,750 --> 00:29:17,170 skulum segja að við erum að leita að zoom, við myndum bara að kunnugt yfir 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, fjögur bréf. 647 00:29:19,840 --> 00:29:22,250 Svo er það bara lengd orðsins zoom. 648 00:29:22,250 --> 00:29:25,400 Það skiptir ekki máli hversu margir fleiri orð við að setja í þessari reyna. 649 00:29:25,400 --> 00:29:30,225 Við getum alltaf fá það í þeim fjórum skrefum. 650 00:29:30,225 --> 00:29:31,215 Awesome. 651 00:29:31,215 --> 00:29:32,205 Já? 652 00:29:32,205 --> 00:29:34,185 >> Áhorfendur: Svo [inaudible] er fylki, ekki satt? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: Mm-HM. 654 00:29:35,322 --> 00:29:37,155 Áhorfendur: Ef þú ert leita [inaudible] 655 00:29:37,155 --> 00:29:40,929 þarft þú að fara í gegnum array til að finna [inaudible]? 656 00:29:40,929 --> 00:29:41,470 HANNAH: Jú. 657 00:29:41,470 --> 00:29:44,000 Áhorfendur: Er ekki að taka meiri tíma? 658 00:29:44,000 --> 00:29:46,370 HANNAH: Ef ég ætla að segja að array minn er alltaf 659 00:29:46,370 --> 00:29:49,250 að fara að vera A, B, C, D, E, F, G, bla bla bla, 660 00:29:49,250 --> 00:29:51,630 þannig að ef ég veit alltaf að það er í sömu nákvæmlega röð, 661 00:29:51,630 --> 00:29:53,880 ef ég veit alltaf að það er í stafrófsröð, 662 00:29:53,880 --> 00:29:57,860 Ég get bara sagt O er fjöldi svo og svo í stafrófinu. 663 00:29:57,860 --> 00:29:59,620 Bara hoppa að þeim stað. 664 00:29:59,620 --> 00:30:01,860 Vegna muna, með fylki, getum við aðgang 665 00:30:01,860 --> 00:30:06,590 allir þáttur þeirrar array í föstu tími ef við vitum hvar við erum að leita. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Já? 668 00:30:09,580 --> 00:30:12,005 >> Áhorfendur: Á fyrri renna [inaudible] 27, 669 00:30:12,005 --> 00:30:14,430 en 26 fyrir það fyrsta. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH: Sorry? 671 00:30:15,400 --> 00:30:18,800 >> Áhorfendur: Er ekki fyrst einn 0, svo myndi það ekki vera 26? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH: Jú, þannig að þegar við segjum 27, það er að fara að gefa okkur vísitölur 0 gegnum 26. 673 00:30:24,900 --> 00:30:28,220 En ef þú telur raunverulega þá út, það er að fara að vera 27. 674 00:30:28,220 --> 00:30:30,007 Góð spurning. 675 00:30:30,007 --> 00:30:30,590 Eitthvað annað? 676 00:30:30,590 --> 00:30:31,200 Já? 677 00:30:31,200 --> 00:30:34,420 >> Áhorfendur: Svo eru tilraunir hægari en kjötkássa matskeið? 678 00:30:34,420 --> 00:30:37,920 >> HANNAH: tilraunir eru að fara að vera í kenning, hraðar en kjötkássa matskeið 679 00:30:37,920 --> 00:30:39,760 en taka meira minni. 680 00:30:39,760 --> 00:30:40,534 Já? 681 00:30:40,534 --> 00:30:41,450 Áhorfendur: [inaudible]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH: Fyrirgefðu, ég vissi ekki heyrt í þér. 684 00:30:47,484 --> 00:30:48,400 Áhorfendur: [inaudible]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0-25 gefur þér 26. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH: 0 til 25 myndi gefa þér 26, ekki satt. 688 00:30:56,958 --> 00:30:58,457 >> Áhorfendur: Og þá [inaudible]. 689 00:30:58,457 --> 00:30:59,040 HANNAH: Hægri. 690 00:30:59,040 --> 00:31:04,760 Svo er fjöldi sem við erum að tilgreina fjöldi af hlutur í fylking okkar. 691 00:31:04,760 --> 00:31:07,260 Þannig að ef við höfum 27, það er að fara að gefa okkur 0 692 00:31:07,260 --> 00:31:10,620 gegnum 26., sem mun gefa US pláss fyrir, í þessu tilfelli, 693 00:31:10,620 --> 00:31:12,770 Ég er ekki þar á meðal úrfellingarmerki. 694 00:31:12,770 --> 00:31:17,040 Þannig að við erum að fá 0 í 25 eru fyrstu 26 bókstafir, 695 00:31:17,040 --> 00:31:18,990 eða allt 26 bókstafir. 696 00:31:18,990 --> 00:31:21,190 Og þá að síðustu hlutur á færslu 26, er 697 00:31:21,190 --> 00:31:24,598 að fara að vera að stöðva merkja, eða S. 698 00:31:24,598 --> 00:31:26,960 Eitthvað annað? 699 00:31:26,960 --> 00:31:29,130 Awesome. 700 00:31:29,130 --> 00:31:30,020 Týnt rúm mitt. 701 00:31:30,020 --> 00:31:31,020 OK, flott. 702 00:31:31,020 --> 00:31:33,240 >> Þannig að við snert þegar á þessu. 703 00:31:33,240 --> 00:31:37,430 En stóra viðskipti burt milli reynir og kjötkássa matskeið 704 00:31:37,430 --> 00:31:39,720 er sem reynir gefa, í kenning, stöðug líta upp 705 00:31:39,720 --> 00:31:42,890 sinnum en að nota a heild einhver fjöldi af minni. 706 00:31:42,890 --> 00:31:46,495 Allt í lagi, nú höfum við aðeins minna flókið mannvirki, 707 00:31:46,495 --> 00:31:49,640 og við munum vera með C, og við munum fara rétt eftir. 708 00:31:49,640 --> 00:31:51,930 >> Svo stafla, sáum við þetta í fyrirlestri þar sem þú 709 00:31:51,930 --> 00:31:55,020 hafa eitthvað eins a stafla af bakka, þar sem það 710 00:31:55,020 --> 00:31:57,330 the síðastur hlutur þú setur á mánudaginn er að fara 711 00:31:57,330 --> 00:31:59,500 að vera the fyrstur hlutur þú taka burt. 712 00:31:59,500 --> 00:32:02,880 Svo er það sem raunverulega skilgreinir stafla er að síðasta sem þú setur á 713 00:32:02,880 --> 00:32:06,080 er að fara til vera the fyrstur sem þú tekur burt. 714 00:32:06,080 --> 00:32:09,279 Og hugtök sem við notum ef við erum að fara að setja eitthvað, 715 00:32:09,279 --> 00:32:12,070 ef við erum að fara að bæta eitthvað við stafla okkar, við köllum að þrýsta. 716 00:32:12,070 --> 00:32:14,970 Og ef við tökum eitthvað burt, við köllum það pabbi. 717 00:32:14,970 --> 00:32:17,080 Og ef við erum að fara að innleiða stafla, vér 718 00:32:17,080 --> 00:32:20,660 þarf að vera viss um að halda utan um bæði stærð og getu. 719 00:32:20,660 --> 00:32:24,940 Svo heildarfjöldi staka við getum halda og núverandi fjöldi staka 720 00:32:24,940 --> 00:32:27,880 að við erum að halda. 721 00:32:27,880 --> 00:32:29,885 >> Og mjög álíka, höfum við biðraðir. 722 00:32:29,885 --> 00:32:34,510 Og eini munurinn er í stað þess að við stöflum, 723 00:32:34,510 --> 00:32:37,630 við sögðum síðasta sem við setjum á er það fyrsta sem við tökum burt. 724 00:32:37,630 --> 00:32:40,940 Svo með biðraðir, sem fyrsta sem við setja í 725 00:32:40,940 --> 00:32:43,129 er að fara til vera the fyrsta sem við tökum út. 726 00:32:43,129 --> 00:32:45,420 Svo er þetta eins og ef þú ert raun að undirbúa á verslun 727 00:32:45,420 --> 00:32:48,140 og þú ert að hjálpa, þá fyrsta manneskjan í línu 728 00:32:48,140 --> 00:32:50,880 ætti að vera fyrsta manneskjan til að hjálpa. 729 00:32:50,880 --> 00:32:52,220 Svo það væri biðröð. 730 00:32:52,220 --> 00:32:55,880 >> Þannig að við þurfum að halda utan um stærð, getu, og höfuð þar sem við erum 731 00:32:55,880 --> 00:33:01,130 að fara að taka á alla framan af listanum í stað á bak. 732 00:33:01,130 --> 00:33:03,480 Spurningar um það? 733 00:33:03,480 --> 00:33:06,330 Allar C spurningum sem eru að angra þig? 734 00:33:06,330 --> 00:33:09,590 Gögn uppbygging, neitt af þessu skemmtilegt? 735 00:33:09,590 --> 00:33:10,530 Allt í lagi, flott. 736 00:33:10,530 --> 00:33:14,120 Svo ég afhenda það Alison til hoppa í einhvern meiri forritun. 737 00:33:14,120 --> 00:33:15,965 >> Alison: Oh, munum við sjá. 738 00:33:15,965 --> 00:33:17,370 Við munum sjá hversu vel ég gera hér. 739 00:33:17,370 --> 00:33:21,410 OK, ég ætla að reyna að fljúga í gegnum þetta efni, krakkar. 740 00:33:21,410 --> 00:33:24,540 Hannah fór mjög í dýpt á öllum hlutum hennar. 741 00:33:24,540 --> 00:33:26,900 Ég ætla að reyna að gefa þú fljótur sprengja yfirlit 742 00:33:26,900 --> 00:33:31,290 svo að við getum fengið að Davin með öllum gaman JavaScript og öryggi hluti 743 00:33:31,290 --> 00:33:33,380 kannski þú í raun langar að heyra meira um. 744 00:33:33,380 --> 00:33:36,600 >> OK, eins og Hannah sagði, ef þú hefur einhverjar spurningar, 745 00:33:36,600 --> 00:33:39,170 Ég ætla of hratt, vinsamlegast láttu mig vita. 746 00:33:39,170 --> 00:33:42,114 Ég mun svara spurningum eftir þörfum. 747 00:33:42,114 --> 00:33:45,280 Svo til að byrja, við erum að fara að byrja með sennilega einn af mjög fyrstur hlutur 748 00:33:45,280 --> 00:33:48,730 þú lært með vefnum forritun, heimildir. 749 00:33:48,730 --> 00:33:52,720 Svo CHMOD, þú krakkar ætti hef verið húsbændur á þessu með öllum vefnum 750 00:33:52,720 --> 00:33:54,870 forritun sem þú hefur verið að gera undanfarið. 751 00:33:54,870 --> 00:33:57,320 Það er í rauninni bara stjórn að breytingar heimildir 752 00:33:57,320 --> 00:34:00,779 eða heimildir af skrá kerfi hlutum okkar. 753 00:34:00,779 --> 00:34:02,570 Að sjálfsögðu, að í raun og veru sjá þetta, ef þú ert 754 00:34:02,570 --> 00:34:04,910 hafa allir vandræði með þessum á vandamál stillir, 755 00:34:04,910 --> 00:34:11,460 þú gætir hafa notað LS -l, sem er langur, að fá þá skoðun góður af eins og þetta, 756 00:34:11,460 --> 00:34:14,209 þar sem þú sérð í raun allt heimildir fyrir skrána. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Og í raun, við erum bara að fara að fara gegnum ansi hratt bara nokkuð 759 00:34:20,732 --> 00:34:21,940 mikið hvað hvert þessara meina. 760 00:34:21,940 --> 00:34:24,481 Þannig að við höfum d hérna, sem bara stendur fyrir möppuna. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Vitanlega hérna, sjáum við rwx, sem er læsileg, writeable og executable. 763 00:34:31,739 --> 00:34:37,090 Þetta gæti einnig verið fulltrúa sem bits, sem við munum fá inn á næstu síðu. 764 00:34:37,090 --> 00:34:40,699 Svo að hver triad sem við sáum hér, svo það er þrjár triads. 765 00:34:40,699 --> 00:34:48,120 Við höfum rwx, r ekkert x og r ekkert x fyrir þessa fyrstu skrá. 766 00:34:48,120 --> 00:34:49,690 Það er þetta almenna byggingu. 767 00:34:49,690 --> 00:34:50,940 >> Þannig að við höfum sumir skrá. 768 00:34:50,940 --> 00:34:53,999 Við höfum sumir notendahópur með þessum heimildum. 769 00:34:53,999 --> 00:34:57,040 Sumir hóp sem hefur þessar heimildir, og heimur sem hefur leyfi. 770 00:34:57,040 --> 00:34:59,420 Þú getur hugsað þetta sem triad. 771 00:34:59,420 --> 00:35:01,130 Þú getur hugsað þetta eins og þremur bitum. 772 00:35:01,130 --> 00:35:04,060 Svo þeir geta halda gildi allt frá 0 upp 773 00:35:04,060 --> 00:35:07,350 7, sem er hvers vegna stundum við höfðum þú chmod 774 00:35:07,350 --> 00:35:17,510 600 í stað þess að chmod RW hvað sem er. 775 00:35:17,510 --> 00:35:19,170 Við munum fá inn dæmi þar. 776 00:35:19,170 --> 00:35:24,260 En í grundvallaratriðum, getur þú hugsa af þessum sem annaðhvort bara rwx, 777 00:35:24,260 --> 00:35:28,520 eða þú getur hugsa um þau eins og sumir Fjöldi þar sem þetta fyrsta hér 778 00:35:28,520 --> 00:35:31,480 táknar fjölda milli 0 og 7, þetta second einn 779 00:35:31,480 --> 00:35:33,970 táknar fjölda milli 0 og 7, og sú þriðja 780 00:35:33,970 --> 00:35:38,245 táknar fjölda milli 0 og 7, OK? 781 00:35:38,245 --> 00:35:42,700 >> r hefur gildið 4. w hefur gildið 2 og x 782 00:35:42,700 --> 00:35:49,230 hefur gildið 1, sem er hvers vegna þetta leyfi hér yrði chmod 700. 783 00:35:49,230 --> 00:35:53,520 Vegna þess að í þessu tilfelli hér, segir það sem við hafa fyrsta hluti þar er snúið á. 784 00:35:53,520 --> 00:35:55,380 Þannig að við höfum 4 um les. 785 00:35:55,380 --> 00:35:58,730 Annað hluti er snúið á fyrir w, sem er 2, svo nú höfum við 6. 786 00:35:58,730 --> 00:36:02,070 Og þriðja hluti er snúið á fyrir x, sem er 1, svo við fáum sjö. 787 00:36:02,070 --> 00:36:04,820 Og auðvitað, hópnum okkar og veröld okkar eru hver 0. 788 00:36:04,820 --> 00:36:07,770 Svo er þetta líka jafnvirði chmod 700. 789 00:36:07,770 --> 00:36:12,081 Og ég myndi örugglega reyna að skilja kortlagning milli þeirra. 790 00:36:12,081 --> 00:36:14,080 Ég er ekki viss um að ef það hefur koma upp á spurningakeppni áður, 791 00:36:14,080 --> 00:36:18,590 en það væri Spurningin sem ég gæti beðið. 792 00:36:18,590 --> 00:36:22,110 >> Bara svolítið að fara jafnvel frekar í chmod hér, hér 793 00:36:22,110 --> 00:36:27,730 er mjög almenn uppbygging chmod símtali. 794 00:36:27,730 --> 00:36:29,500 Svo auðvitað, höfum við chmod hér. 795 00:36:29,500 --> 00:36:34,410 Tilvísanir, hvað er átt við er sem við erum að gefa þessar heimildir til 796 00:36:34,410 --> 00:36:36,570 eða sem eru við að taka þetta heimildir í burtu frá. 797 00:36:36,570 --> 00:36:44,330 Þannig að við höfum hér í leyfi, eins og við höfum gefið þér chmod plús x, 798 00:36:44,330 --> 00:36:45,440 eins og við munum sjá fljótlega. 799 00:36:45,440 --> 00:36:48,460 a þýðir bara gefa þessum tilteknu heimildir til allra. 800 00:36:48,460 --> 00:36:49,600 Gefðu þeim öllum. 801 00:36:49,600 --> 00:36:55,370 Svo þú gætir vel hafa u auk x eða g plús x eða o plús X eða heila- og 802 00:36:55,370 --> 00:36:55,870 þegar í stað. 803 00:36:55,870 --> 00:36:59,280 Svo að fyrsti hluti er alltaf að fara að vera tilvísanir. 804 00:36:59,280 --> 00:37:03,220 Hver erum við að gefa þessar heimildir til, eða sem eru við að taka þá í burtu frá? 805 00:37:03,220 --> 00:37:04,850 >> The second einn er rekstraraðili. 806 00:37:04,850 --> 00:37:07,350 Svo þú krakkar hafa að mestu fjallað plús. 807 00:37:07,350 --> 00:37:12,140 Þetta gefur leyfi til hver sem þú ert að gefa þeim, 808 00:37:12,140 --> 00:37:14,840 en mínus, þá er rökrétt, fjarlægja þá. 809 00:37:14,840 --> 00:37:16,880 Svo ekkert of hræðileg þar. 810 00:37:16,880 --> 00:37:23,060 Og þá Flasshamir er það sem við ræddum um með að lesa, skrifa eða framkvæmd. 811 00:37:23,060 --> 00:37:29,070 Svo plús x þýðir að gefa executable heimildir til allra. 812 00:37:29,070 --> 00:37:33,430 Og þá, að sjálfsögðu, sem sérstakur skrá eða möppu. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 Allir góður með chmod? 815 00:37:36,010 --> 00:37:37,850 Ekki svo slæmt? 816 00:37:37,850 --> 00:37:42,417 >> OK, svo HTML, einhver ykkar eru nógu gömul to-- MySpace aldur? 817 00:37:42,417 --> 00:37:44,750 Ég sendi þetta lið mitt, og bókstaflega helmingur fólk 818 00:37:44,750 --> 00:37:45,790 horfði á mig eins og ég væri brjálaður. 819 00:37:45,790 --> 00:37:47,498 Og ég var eins og, krakkar, við erum ekki að gamli. 820 00:37:47,498 --> 00:37:48,910 Komdu. 821 00:37:48,910 --> 00:37:53,360 Svo HyperText Markup Language, það er heiðarlega bara leið fyrir þig 822 00:37:53,360 --> 00:37:57,990 að sýna ákveðna hluti á vefnum. 823 00:37:57,990 --> 00:37:59,210 Svo það er Markup Language. 824 00:37:59,210 --> 00:38:00,640 Það er ekki a forskriftarþarfir tungumál. 825 00:38:00,640 --> 00:38:02,160 Það er engin rökfræði í það. 826 00:38:02,160 --> 00:38:05,710 Það er einfaldlega að breyta vegur sumt er sýnt. 827 00:38:05,710 --> 00:38:07,670 OK, svo það er mikilvægt greinarmunur að gera. 828 00:38:07,670 --> 00:38:12,030 Það er talið Markup Language, ekki forskriftarþarfir tungumál. 829 00:38:12,030 --> 00:38:15,100 >> Svo hér höfum við HTML tög okkar. 830 00:38:15,100 --> 00:38:20,390 Á þessum renna eru sennilega flest þau sem þú ættir að þekkja 831 00:38:20,390 --> 00:38:22,390 og vera mjög sátt við. 832 00:38:22,390 --> 00:38:25,700 Svo augljóslega, höfum við HTML tag okkar, sem 833 00:38:25,700 --> 00:38:29,930 tilnefni að allt í milli þessara tveggja verður HTML. 834 00:38:29,930 --> 00:38:33,070 Við höfum sumir tengilinn, sem augljóslega mun gefa þér 835 00:38:33,070 --> 00:38:34,990 tengill á ytri vefsíðu. 836 00:38:34,990 --> 00:38:37,520 Sumir titill, innan höfuð okkar hér. 837 00:38:37,520 --> 00:38:40,020 Og við höfum líkama okkar með H1, sem er a haus, 838 00:38:40,020 --> 00:38:42,260 svo það verður að gera það gott og djörf og stærri. 839 00:38:42,260 --> 00:38:46,040 Og þá höfum við nokkur p, sem er a málsgrein. 840 00:38:46,040 --> 00:38:49,000 Þú ættir sennilega vita og þekki það 841 00:38:49,000 --> 00:38:54,030 eins og hvernig mynd er sett, eru einhverjar aðrar flokkar haus? 842 00:38:54,030 --> 00:38:57,240 Ég myndi örugglega vera ánægð með div. 843 00:38:57,240 --> 00:39:00,840 Svo þessir hafa meirihluta tags að þú ættir að þekkja. 844 00:39:00,840 --> 00:39:04,370 En auðvitað, eins og með allt í CS 50, listinn er ekki tæmandi. 845 00:39:04,370 --> 00:39:08,200 Svo tryggja þú bursta upp á það. 846 00:39:08,200 --> 00:39:13,260 >> CSS, svo CSS, ef einhver ykkar að horfa Málþingið minn frá tveimur vikum síðan, 847 00:39:13,260 --> 00:39:16,250 er í raun bara leið að stíll á síðunni? 848 00:39:16,250 --> 00:39:18,950 OK, þannig að við höfum sumir Markup Language. 849 00:39:18,950 --> 00:39:23,220 HTML, sem sér um bara texta og þar sem það gæti verið á síðunni. 850 00:39:23,220 --> 00:39:25,760 En CSS er í raun það sem gerir það nokkuð. 851 00:39:25,760 --> 00:39:30,690 Þú gætir hafa þetta í HTML skrár, en eins og við munum tala um síðar, 852 00:39:30,690 --> 00:39:32,660 Ég er nokkuð viss um að það gæti næsti renna, það 853 00:39:32,660 --> 00:39:35,620 er algengt, og í raun framkvæmd sem við hvetjum raun, 854 00:39:35,620 --> 00:39:40,670 fyrir þig að halda þeim aðskilin þegar við tala um MVC og að heil hugmyndafræði. 855 00:39:40,670 --> 00:39:42,490 Það er í raun það sem þetta straumar inn. 856 00:39:42,490 --> 00:39:46,110 >> Svo CSS er bara leið til að gera hlutina líta nokkuð. 857 00:39:46,110 --> 00:39:50,500 Það hér, eins og líkami og #title og Upplýsa, 858 00:39:50,500 --> 00:39:54,340 þessir eru kallaðir selectors og hvað þeir gera er að þeir velja tiltekna hluti 859 00:39:54,340 --> 00:39:59,260 innan HTML skjalinu og gilda hvað stíl, 860 00:39:59,260 --> 00:40:04,090 hvað tegund af hlutur sem þú vilt, það tiltekna þáttur þinn vefur 861 00:40:04,090 --> 00:40:04,590 síðu. 862 00:40:04,590 --> 00:40:08,820 Svo hér höfum við bakgrunnslit og lit 863 00:40:08,820 --> 00:40:12,450 og leturfjölskyldu sem er verið að beitt til hvað er í líkamanum. 864 00:40:12,450 --> 00:40:15,530 Svo ef við leit aftur hér, það myndi ekki gilda um titilinn. 865 00:40:15,530 --> 00:40:22,340 Það myndi aðeins gilda um hvað er í þessum líkama selectors, OK? 866 00:40:22,340 --> 00:40:25,250 >> Með titli hér, þetta er fara til vera the sami hlutur, 867 00:40:25,250 --> 00:40:28,410 lit textans vera blár er bara að fara 868 00:40:28,410 --> 00:40:33,870 að hafa áhrif á hvað er innan Titillinn selectors. 869 00:40:33,870 --> 00:40:36,580 Eins og upplýsa hér, textinn verður bleikur, 870 00:40:36,580 --> 00:40:38,600 hvað er upplýsingar, sem er hérna. 871 00:40:38,600 --> 00:40:40,860 Svo það eina sem væri bleikt á þessari síðu 872 00:40:40,860 --> 00:40:44,100 er dagsetning, Mánudagur 17 Nóvember, 2014. 873 00:40:44,100 --> 00:40:48,770 OK, svo CSS er bara leið til að hafa meiri stjórn over-- já? 874 00:40:48,770 --> 00:40:51,850 >> Áhorfendur: Hvers vegna gera þú hafa að nota kjötkássa með titilinn? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH: Næsta skyggna, lofa! 876 00:40:55,170 --> 00:40:56,810 Við munum fá það. 877 00:40:56,810 --> 00:40:59,830 Svo er þetta vegna við þurfum að nota kjötkássa. 878 00:40:59,830 --> 00:41:03,429 Svo selectors taka á þremur form sem við tölum við ykkur um. 879 00:41:03,429 --> 00:41:05,595 Ég fyou vilt læra meira, það er nóg þarna úti. 880 00:41:05,595 --> 00:41:07,540 Það er frábært CSS skjöl. 881 00:41:07,540 --> 00:41:12,680 There er a tag nafn, sem hefur að gera með aðeins þinn venjulegum tags í HTML. 882 00:41:12,680 --> 00:41:17,210 Svo h1, p, div, h2, þessir tegund af hlutur. 883 00:41:17,210 --> 00:41:20,320 Og við getum bara nefna þá sem er. 884 00:41:20,320 --> 00:41:22,650 Svo eins og við sjáum hér með líkami, það er eðlilegt tag. 885 00:41:22,650 --> 00:41:26,660 Þannig að við getum bara setja líkamann þegar við erum að tala í CSS skrá okkar. 886 00:41:26,660 --> 00:41:29,730 >> Með titli, allt ástæðan að við hafa þetta kjötkássa er að við höfum það sem er 887 00:41:29,730 --> 00:41:31,010 talin ID. 888 00:41:31,010 --> 00:41:35,400 Svo er auðkenni ætti alltaf að vera einstök innan HTML síðuna þína 889 00:41:35,400 --> 00:41:37,930 þannig að þegar þú ert vísa til þess, að þú 890 00:41:37,930 --> 00:41:41,990 veit að þú ert bara að vísa eina sérstaka hlutur. 891 00:41:41,990 --> 00:41:46,270 Þannig að í þessu tilfelli hér, með okkar h1 hér, CS 50 endurskoðun fundur, 892 00:41:46,270 --> 00:41:47,810 við höfum id titli. 893 00:41:47,810 --> 00:41:54,280 Svo í röð til að bara vísa til að stykki af HTML okkar, við gerum kjötkássa titil. 894 00:41:54,280 --> 00:41:58,080 Bara með því að venju, eru auðkenni tilnefnd með kjötkássa fyrir framan þá. 895 00:41:58,080 --> 00:42:01,650 Á sama hátt, sjá við upplýsingar hér er a tegund. 896 00:42:01,650 --> 00:42:06,070 Og svo bekknum með CSS er tilnefnd sem punktur flokki 897 00:42:06,070 --> 00:42:08,895 eða punktur hvað sá flokkur er. 898 00:42:08,895 --> 00:42:10,850 Svo í þessu tilfelli hér, það er upplýsingar. 899 00:42:10,850 --> 00:42:13,090 >> Svo ég tek það til baka. 900 00:42:13,090 --> 00:42:16,200 Báðir þessir væri bleikur fyrir CSS okkar hér 901 00:42:16,200 --> 00:42:18,430 vegna þess að þeir báðir hafa flokk upplýsingar. 902 00:42:18,430 --> 00:42:23,070 Og í CSS skrá okkar, höfum við tilnefnt að eitthvað með flokki upplýsingar 903 00:42:23,070 --> 00:42:24,120 skal vera bleikur. 904 00:42:24,120 --> 00:42:25,968 Er að skynsamleg? 905 00:42:25,968 --> 00:42:27,435 Já? 906 00:42:27,435 --> 00:42:30,731 >> Áhorfendur: Ef þú værir að gera allt í líkamanum hvíta, 907 00:42:30,731 --> 00:42:32,814 og þá reyna að gera eitthvað inni það blár, 908 00:42:32,814 --> 00:42:34,770 myndi það valda vandræðum? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH: Svo er CSS Cascading Style Sheets. 910 00:42:37,310 --> 00:42:40,730 Svo er hvað átt er botn mun hafa forgang. 911 00:42:40,730 --> 00:42:44,080 Svo ef þú gerir eitthvað með líkamanum, og þú gerir allt hvítt, 912 00:42:44,080 --> 00:42:49,300 og þá seinna á að breyta titlinum eða þú breyta texta innan líkama, 913 00:42:49,300 --> 00:42:50,560 það birtist það. 914 00:42:50,560 --> 00:42:55,360 Svo nokkuð í átt að botn mun hafa forgang. 915 00:42:55,360 --> 00:42:56,730 Já? 916 00:42:56,730 --> 00:42:59,627 >> Áhorfendur: Og auðkenni eru einstök, en flokkar getur verið? 917 00:42:59,627 --> 00:43:00,210 HANNAH: Hægri. 918 00:43:00,210 --> 00:43:06,320 Svo auðkenni ætti að vera einstakt, og flokkar geta vísa til eins mörgum hlutum eins og þú vilt. 919 00:43:06,320 --> 00:43:07,580 Aðrar spurningar? 920 00:43:07,580 --> 00:43:09,800 Já. 921 00:43:09,800 --> 00:43:11,210 >> Áhorfendur: [inaudible]. 922 00:43:11,210 --> 00:43:13,509 Ég er að spá í hvort sem skiptir máli. 923 00:43:13,509 --> 00:43:15,217 HANNAH: Fyrirgefðu, hvað var spurningin? 924 00:43:15,217 --> 00:43:18,960 Áhorfendur: Það er lítill "F" og fjármagn "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH: Svo munurinn milli litlu "f" og fjármagn "F" 926 00:43:21,440 --> 00:43:22,606 ætti ekki að gera a mismunur. 927 00:43:22,606 --> 00:43:26,330 Svo "F" verður 15 hvor vegur. 928 00:43:26,330 --> 00:43:28,130 Cool, eitthvað annað? 929 00:43:28,130 --> 00:43:29,930 Allir góður, CSS? 930 00:43:29,930 --> 00:43:30,850 Já? 931 00:43:30,850 --> 00:43:31,790 >> Áhorfendur: Sorry. 932 00:43:31,790 --> 00:43:35,550 Getur þú sért með og kenni? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH: Já, þú getur. 934 00:43:38,030 --> 00:43:40,420 Things að hafa bæði flokk og kenni. 935 00:43:40,420 --> 00:43:44,670 Og ég mæli prófa þetta á eigin spýtur. 936 00:43:44,670 --> 00:43:50,480 CSS þú munt læra best bara með því að gera eitthvað, mjög einfalt vefsíðu, 937 00:43:50,480 --> 00:43:53,440 teikna upp smá CSS, og bara sjá hvernig þeir hafa samskipti. 938 00:43:53,440 --> 00:43:56,970 Og þú munt fá mjög góð, leiðandi vit fyrir því hvernig það virkar. 939 00:43:56,970 --> 00:43:58,810 >> OK, allir góður með CSS? 940 00:43:58,810 --> 00:44:01,280 Þú ert öll að fara að gera falleg vefsíður með CSS núna. 941 00:44:01,280 --> 00:44:05,460 OK, bestu starfsvenjur, bara atriði sem þarf að hafa í huga, það 942 00:44:05,460 --> 00:44:09,810 that-- þetta er hvers vegna við bryggju þú fyrir hönnuður og whatnot. 943 00:44:09,810 --> 00:44:11,820 Svo loka öllum HTML tags. 944 00:44:11,820 --> 00:44:14,840 Svo ef þú ert með opinni yfirbyggingu, það ætti að vera nálægt líkamanum. 945 00:44:14,840 --> 00:44:18,180 Ef þú ert með opið málsgrein, það ætti að vera nálægt mgr. 946 00:44:18,180 --> 00:44:19,555 Athugaðu að sjá síðuna þína í gildi. 947 00:44:19,555 --> 00:44:23,330 Þú krakkar ættu að vera mjög kunnugur með þetta frá p-setja sjö 948 00:44:23,330 --> 00:44:26,350 með CS 50 fjármál með w3 í gildi. 949 00:44:26,350 --> 00:44:28,340 Og eins og ég sagði áður, eitt af stóru málin okkar 950 00:44:28,340 --> 00:44:33,780 er að aðgreina stíl með CSS frá sniðinu, sem er HTML. 951 00:44:33,780 --> 00:44:36,900 Og þá að sjálfsögðu höfum við Þessi mikli XKCD niður hér. 952 00:44:36,900 --> 00:44:38,280 Yay, grínisti léttir! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Milli þessara og HTTP, grundvallaratriðum þeir eru bæði siðareglur. 955 00:44:44,650 --> 00:44:46,810 Svo þú gætir bara hugsa þeirra sem setja reglur 956 00:44:46,810 --> 00:44:50,110 sem stjórna hvernig hlutirnir færa yfir netið. 957 00:44:50,110 --> 00:44:53,410 Svo sending stjórna siðareglur, eða Internet Protocol, 958 00:44:53,410 --> 00:44:57,280 er bara leið til að ganga úr skugga um að gögn fær þar sem það er að fara 959 00:44:57,280 --> 00:45:00,030 og að við vitum ef við erum alltaf vantar gögn. 960 00:45:00,030 --> 00:45:03,520 Svo ef þú krakkar hugsa til baka til fyrirlestur nokkrar vikur síðan með Davíð 961 00:45:03,520 --> 00:45:06,980 þar sem við vorum fjögur umslag, þeir voru öll talin eins og einn af fjórum, 962 00:45:06,980 --> 00:45:11,300 tveir af fjórum, þrír af fjórum, fjórir fjórir, þetta er bara safn reglna. 963 00:45:11,300 --> 00:45:13,830 Við sögðum, OK, þegar við erum senda fleiri en einn pakka, 964 00:45:13,830 --> 00:45:16,610 við erum að fara að tala það með hvaða tala það er 965 00:45:16,610 --> 00:45:19,040 og hversu margir alls sem notandinn ætti að fá. 966 00:45:19,040 --> 00:45:22,540 >> Og þetta er bara að segja hver er að taka gögnin hvort þeir 967 00:45:22,540 --> 00:45:26,120 hafa fengið allt eða ef eitthvað villtist á leiðinni. 968 00:45:26,120 --> 00:45:28,840 Og þeir þurfa að biðja um það aftur. 969 00:45:28,840 --> 00:45:31,140 Þetta er í raun bara safn reglna. 970 00:45:31,140 --> 00:45:33,650 Það er hvernig er hægt að hugsa um það, OK? 971 00:45:33,650 --> 00:45:37,700 Og einnig, skilgreinir það höfn, sem þú krakkar can-- ég veit á fyrirlestri 972 00:45:37,700 --> 00:45:39,170 þeir höfðu alla lista af höfnum. 973 00:45:39,170 --> 00:45:41,630 En við höfum ekki þá hér núna. 974 00:45:41,630 --> 00:45:45,290 >> Svo Hypertext Transfer Protocol er, aftur, það er annar siðareglur. 975 00:45:45,290 --> 00:45:48,630 Svo það er annað sett af reglum sem fjalla, í þessu tilfelli, 976 00:45:48,630 --> 00:45:51,130 hvernig HyperText er flutt. 977 00:45:51,130 --> 00:45:54,340 Svo það gerir bara vafra til að tala við vefþjónum. 978 00:45:54,340 --> 00:45:56,910 Og eins og ég sagði hér, að það er eins manna Handshaking. 979 00:45:56,910 --> 00:46:00,480 Það er bara leið til að stjórna hvernig vefur framreiðslumaður er 980 00:46:00,480 --> 00:46:02,690 fara að hafa samskipti við vafrann þinn. 981 00:46:02,690 --> 00:46:05,660 Og við höfum bara nokkra af dæmum. 982 00:46:05,660 --> 00:46:09,100 Við höfum nokkrar beiðnir hér þar GET er aðferð. 983 00:46:09,100 --> 00:46:13,760 Við höfum HTTP 1.1, sem er siðareglur útgáfa fyrir okkur. 984 00:46:13,760 --> 00:46:17,230 Og þá, gestgjafi, sem er hvað við erum í raun að reyna að fá aðgang. 985 00:46:17,230 --> 00:46:21,800 Og þá, eins og þú sérð hér, við fá svar við þessu 200 986 00:46:21,800 --> 00:46:25,032 OK og HTTP svar okkar kóða. 987 00:46:25,032 --> 00:46:27,240 Við hafa a stór listi sem ég er að fara að draga upp í eina sekúndu 988 00:46:27,240 --> 00:46:29,430 að þið ætti að þekkja. 989 00:46:29,430 --> 00:46:35,750 Og við höfum þessa gerð efnis texti / HTML, sem bara segir hvaða tegund af gögnum 990 00:46:35,750 --> 00:46:39,990 erum við að fá frá the framreiðslumaður, OK? 991 00:46:39,990 --> 00:46:44,230 Þessi vél og þetta efnisgerð eru hluti af HTTP haus. 992 00:46:44,230 --> 00:46:49,610 Hægt er að hafa eins fáar eða eins litlu og nauðsynlegt fyrir samhengi við það sem 993 00:46:49,610 --> 00:46:50,580 þú ert að fást við. 994 00:46:50,580 --> 00:46:53,371 Stundum þú munt hafa a einhver fjöldi af upplýsingar sem koma frá miðlara. 995 00:46:53,371 --> 00:46:56,040 Kannski þeir eru að biðja um mikið upplýsinga frá notanda. 996 00:46:56,040 --> 00:46:57,600 Það er mismunandi eftir samhengi. 997 00:46:57,600 --> 00:47:01,144 Ef þú horfir á CS 50 Study, það er mikið meira um það. 998 00:47:01,144 --> 00:47:03,060 En við höfum mikið til að fá í gegnum, þannig að ég ætla að fara 999 00:47:03,060 --> 00:47:05,760 að fara rétt á undan ef það er í lagi með ykkur? 1000 00:47:05,760 --> 00:47:07,960 Cool. 1001 00:47:07,960 --> 00:47:08,460 Bíddu. 1002 00:47:08,460 --> 00:47:11,182 Ég hef ákveðið að allt listi of-- huh! 1003 00:47:11,182 --> 00:47:13,140 Ég veit ekki hvers vegna þetta er alla leið hérna. 1004 00:47:13,140 --> 00:47:15,660 Ég hélt að ég flutti bókstaflega það á meðan ég var sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> DAVIN: Viltu kenna það? 1006 00:47:16,540 --> 00:47:17,420 Eða viltu að ég að kenna það? 1007 00:47:17,420 --> 00:47:20,010 >> Áhorfendur: Ég hélt að við gætum bara að sýna þeim að byrja með. 1008 00:47:20,010 --> 00:47:22,210 Ég meina, þú getur farið inn þá enn frekar, en ég 1009 00:47:22,210 --> 00:47:26,030 hélt að það gerði meira vit þar sem ég var bara að tala um HTTP stöður. 1010 00:47:26,030 --> 00:47:28,200 Svo er hér allt listi. 1011 00:47:28,200 --> 00:47:31,730 Ég giska á hvað er að fara að gerast er Davin er að fara að fara í þau síðar. 1012 00:47:31,730 --> 00:47:35,330 En það er allt listi, a sýnishorn af smekk að koma. 1013 00:47:35,330 --> 00:47:41,640 OK, við erum að fara að blow-- þetta er að fara að vera PHP hrun námskeið eins og enginn annar. 1014 00:47:41,640 --> 00:47:44,874 >> Svo PHP, Hypertext Preprocessor, það er endurkvæma backronym, 1015 00:47:44,874 --> 00:47:46,540 sem þýðir að það hét eitthvað annað. 1016 00:47:46,540 --> 00:47:49,050 Og þá voru þeir eins og þetta skiptir ekki skynsamleg. 1017 00:47:49,050 --> 00:47:52,210 Svo þeir sem heitir bara it-- og það var skammstöfun, 1018 00:47:52,210 --> 00:47:54,840 svo þeir gerðu bara það PHP Hypertext Preprocessor, sem 1019 00:47:54,840 --> 00:47:55,980 bara gerir ekkert vit. 1020 00:47:55,980 --> 00:47:57,714 Fun saga. 1021 00:47:57,714 --> 00:47:58,880 Það er forritunarmál. 1022 00:47:58,880 --> 00:48:02,360 Svo eins mikið og ég undirstrika að HTML er ekki forritunarmál, 1023 00:48:02,360 --> 00:48:05,350 það er Markup Language, PHP er forritunarmál. 1024 00:48:05,350 --> 00:48:07,422 Hvernig þú veist þetta er vegna þess að það er rökfræði. 1025 00:48:07,422 --> 00:48:08,380 Það eru conditionals. 1026 00:48:08,380 --> 00:48:12,750 Við höfum breytur, en við ekkert af þessum hlutum í HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Allt í lagi, þá höfum við þetta litla bita hér er að eins bragð af PHP. 1028 00:48:16,960 --> 00:48:20,510 Svo grunnatriði, breytilegum nöfn byrja með dollaramerki. 1029 00:48:20,510 --> 00:48:21,500 Fullt af fólki eins og það. 1030 00:48:21,500 --> 00:48:22,371 Minnir okkur peninga. 1031 00:48:22,371 --> 00:48:22,995 Það er allt frábært. 1032 00:48:22,995 --> 00:48:25,280 Við viljum öll PHP. 1033 00:48:25,280 --> 00:48:28,020 Svo við gerum tilgreina ekki tegund breytu lengur. 1034 00:48:28,020 --> 00:48:29,995 Það ræðst á hlaupa tíma. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Túlkurinn verður eins, ó, munum við bara að keyra í gegnum, 1037 00:48:35,890 --> 00:48:39,565 og í samræmi við samhengi, Við munum sjá hvað gerðir gerðir 1038 00:48:39,565 --> 00:48:41,560 þessar breytur þurfa að hafa. 1039 00:48:41,560 --> 00:48:42,815 Það er engin Helsta hlutverk. 1040 00:48:42,815 --> 00:48:43,690 Things verður bara hlaupa. 1041 00:48:43,690 --> 00:48:47,851 Þú krakkar með innflutning þinn í síðasta p-setja, munt þú taka eftir þessu. 1042 00:48:47,851 --> 00:48:49,350 Það var í raun ekki Helsta hlutverk. 1043 00:48:49,350 --> 00:48:52,070 Þú skrifar bara það sem þú vildir að gerast. 1044 00:48:52,070 --> 00:48:53,280 Og það gerðist bara svona. 1045 00:48:53,280 --> 00:48:56,760 Svo er það PHP fyrir þig. 1046 00:48:56,760 --> 00:48:59,180 >> Fylki eru mjög svipuð. 1047 00:48:59,180 --> 00:49:01,270 Við höfum enn þessa krappi. 1048 00:49:01,270 --> 00:49:05,940 Hér höfum við nokkur breytu heitir Arr, og það er jafn 1049 00:49:05,940 --> 00:49:08,540 to-- við höfum eðlilegt okkar krappi merki. 1050 00:49:08,540 --> 00:49:10,630 Og við höfum sumir lykill gildi. 1051 00:49:10,630 --> 00:49:14,630 Og stór munur á milli C og PHP fylki 1052 00:49:14,630 --> 00:49:19,330 er að við getum haft þetta associate-- við að tengja gildin við lykla. 1053 00:49:19,330 --> 00:49:22,440 Þannig að í stað þess bara að hafa fylki sem er verðtryggð 1054 00:49:22,440 --> 00:49:26,630 með fjölda eða stöðu þess frumefnis í fylkinu, 1055 00:49:26,630 --> 00:49:29,060 við getum raunverulega tengja það með lykli. 1056 00:49:29,060 --> 00:49:36,700 Þar sem við getum sagt, OK, ég vil hvað gildi er í tengslum við ávöxtum. 1057 00:49:36,700 --> 00:49:39,280 Og kannski höfum við ávöxtum fór banana. 1058 00:49:39,280 --> 00:49:41,760 Svo það myndi skila banana okkur. 1059 00:49:41,760 --> 00:49:44,100 >> En í grundvallaratriðum, the öflugur hlutur óður í this 1060 00:49:44,100 --> 00:49:47,960 er að ef þú krakkar muna að kynningu frá fyrirlestri þar sem við í rauninni 1061 00:49:47,960 --> 00:49:53,050 rewrote Speller í PHP, og það was-- útlit var í raun bara eins og, 1062 00:49:53,050 --> 00:49:55,007 er þetta lykillinn til? 1063 00:49:55,007 --> 00:49:56,590 Það er í raun eins konar krafti það. 1064 00:49:56,590 --> 00:49:58,560 Þú þarft ekki að kunnugt gegnum fylking þinni. 1065 00:49:58,560 --> 00:50:00,311 Þú þarft ekki að vita hvað pláss það er í. 1066 00:50:00,311 --> 00:50:01,976 Það gæti verið í lok eða í byrjun. 1067 00:50:01,976 --> 00:50:04,790 Svo lengi sem þú veist lykilinn sem er í tengslum við verðmæti, 1068 00:50:04,790 --> 00:50:09,740 PHP getur bara spýta þessi gildi strax aftur út á þig, OK? 1069 00:50:09,740 --> 00:50:12,960 >> Og þá erum við líka bara hafa bara vegna þess að við 1070 00:50:12,960 --> 00:50:16,750 getur haft lykill gildi pör þýðir ekki að þú þarft að. 1071 00:50:16,750 --> 00:50:19,180 Þú getur líka bara búið eðlilegt array eins og hér, 1072 00:50:19,180 --> 00:50:21,540 á neðri hlutanum, þar sem það er bara einn, tveir, þrír, fjórir. 1073 00:50:21,540 --> 00:50:22,510 Þeir eru gildi okkar. 1074 00:50:22,510 --> 00:50:25,320 Og í raun, eru lyklar þeirra vísitölur. 1075 00:50:25,320 --> 00:50:26,830 Svo lykillinn að einn vildi vera núll. 1076 00:50:26,830 --> 00:50:28,610 Lykillinn fyrir tvo væri einn. 1077 00:50:28,610 --> 00:50:31,910 Svo framvegis og svo framvegis, nema þú framselja sérstaklega lykil 1078 00:50:31,910 --> 00:50:34,630 þú gætir ráð fyrir að gildi er bara vísitölu þeirra. 1079 00:50:34,630 --> 00:50:37,290 Er að gera skilningarvit til alla? 1080 00:50:37,290 --> 00:50:38,070 Engin spurning? 1081 00:50:38,070 --> 00:50:38,930 Awesome. 1082 00:50:38,930 --> 00:50:44,420 >> OK, framhandleggur er leið til að kunnugt um fylki þínum. 1083 00:50:44,420 --> 00:50:47,490 Þannig að við höfum eitthvað hér, bara almenn uppbygging. 1084 00:50:47,490 --> 00:50:51,020 Svo framhandleggur, nafn array okkar, eins og hvað 1085 00:50:51,020 --> 00:50:53,930 þú vilt hringja í hvert þáttur í array þinn, 1086 00:50:53,930 --> 00:50:57,270 og við getum gert eitthvað með þessi þáttur eða það gildi. 1087 00:50:57,270 --> 00:50:58,680 Þannig að við höfum dæmi hér. 1088 00:50:58,680 --> 00:51:05,770 Við höfum tengin array með þessum tveimur færslum 1089 00:51:05,770 --> 00:51:10,080 með bar sem tengist foo og qux vera í tengslum við Baz. 1090 00:51:10,080 --> 00:51:12,180 Svo lyklar eru foo og Baz. 1091 00:51:12,180 --> 00:51:13,650 Gildi eru bar og qux. 1092 00:51:13,650 --> 00:51:18,560 Svo framhandleggur, höfum við array okkar hér, eins og the lykill gildi par. 1093 00:51:18,560 --> 00:51:21,560 Þetta gerir okkur kleift að komast bæði á takkann og gildi. 1094 00:51:21,560 --> 00:51:23,680 Kannski þú vilt bara gildi, en í þeim tilvikum 1095 00:51:23,680 --> 00:51:27,640 þú gætir bara að gera eins og samkomulagi og $ virði, og þá 1096 00:51:27,640 --> 00:51:30,640 eru bara aðgang verðmæti eins og þú kunnugt um. 1097 00:51:30,640 --> 00:51:32,600 En kannski, fyrir suma Ástæðan, þú vilt á takkann, 1098 00:51:32,600 --> 00:51:35,460 sem er ástæða þess að ég valdi þetta dæmi í staðinn. 1099 00:51:35,460 --> 00:51:40,240 Svo þú getur raunverulega vinna takkann og gildi í þessu tilfelli. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 Spurning? 1102 00:51:41,905 --> 00:51:44,279 >> Áhorfendur: Ef þú vildir bara vinna takkann, myndi 1103 00:51:44,279 --> 00:51:45,910 þú þarft að gera foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> Alison: Hægri. 1105 00:51:47,360 --> 00:51:50,560 Svo ef þú vildir vinna bara á takkann, 1106 00:51:50,560 --> 00:51:53,680 þú vildi samt þörf á þessari setningafræði því ef þú bara 1107 00:51:53,680 --> 00:51:56,930 hafa ARR sem eitthvað, sem eitt, það er 1108 00:51:56,930 --> 00:52:00,070 fara að gera ráð sem þú vilt gildi, ekki lykillinn. 1109 00:52:00,070 --> 00:52:06,780 Svo ef þú alltaf bara eins Arr eins, kannski er þetta eins og $ frumefni, 1110 00:52:06,780 --> 00:52:11,670 það er að fara að gera ráð fyrir að þú ert að spyrja fyrir aðeins gildi á hverjum tímapunkti. 1111 00:52:11,670 --> 00:52:13,879 Ef þú vilt sérstaklega að gera eitthvað með lykli, 1112 00:52:13,879 --> 00:52:16,170 jafnvel ef þú ert ekki að fara að gera neitt með verðmæti, 1113 00:52:16,170 --> 00:52:18,430 þú þarft þessa uppbyggingu að við höfum hér 1114 00:52:18,430 --> 00:52:22,330 þar sem þú ert sérstaklega að spyrja fyrir bæði takkann og gildi. 1115 00:52:22,330 --> 00:52:24,170 Frábær spurning. 1116 00:52:24,170 --> 00:52:25,940 Eitthvað annað? 1117 00:52:25,940 --> 00:52:27,490 Cool. 1118 00:52:27,490 --> 00:52:29,911 >> Allt í lagi, PHP og HTML. 1119 00:52:29,911 --> 00:52:31,410 Oh, við erum aftur að p-setja sjö aftur. 1120 00:52:31,410 --> 00:52:35,380 Þannig að þetta ætti að líta svolítið kunnuglegt. 1121 00:52:35,380 --> 00:52:41,760 Svo er þetta nokkur einföld HTML formi sem hefur einhverja inntak nafn halló. 1122 00:52:41,760 --> 00:52:43,820 Og við sjáum að við höfum aðferð okkar FÁ. 1123 00:52:43,820 --> 00:52:47,430 Og ef við minnumst úr okkar p-sett, þegar þetta form er lögð fram, 1124 00:52:47,430 --> 00:52:58,130 það sendir fylki kallast $ _GET sem hefur allar þessar aðföngum eða breytur frá 1125 00:52:58,130 --> 00:53:00,490 mynd sem ætti að vera handleika í PHP okkar. 1126 00:53:00,490 --> 00:53:03,320 Svo í þessu tilfelli, the notandi myndi setja í þeirra nafni. 1127 00:53:03,320 --> 00:53:04,370 Þeir senda hana inn. 1128 00:53:04,370 --> 00:53:07,810 Og við sjáum að við fáum smá array hér. 1129 00:53:07,810 --> 00:53:09,080 Við höfum GET array okkar. 1130 00:53:09,080 --> 00:53:11,510 Og við erum að fá aðgang nafn. 1131 00:53:11,510 --> 00:53:15,070 >> Svo sem segir, OK, gefa mér að gildi sem er tengd við nafn, 1132 00:53:15,070 --> 00:53:16,550 nefna að vera lykillinn hér. 1133 00:53:16,550 --> 00:53:21,400 Og það kort beint við það við sögðum nafn inntak okkar er. 1134 00:53:21,400 --> 00:53:28,960 Þannig að þetta var að gefa þér lykilinn að því er að fara að vera í fylking hér. 1135 00:53:28,960 --> 00:53:31,220 Er að gera skilningarvit til alla? 1136 00:53:31,220 --> 00:53:32,070 Já? 1137 00:53:32,070 --> 00:53:36,240 >> Áhorfendur: Er nafnið í GET vísa að fjólubláa línu í [inaudible]? 1138 00:53:36,240 --> 00:53:37,740 >> Alison: Það vísar til þetta hér. 1139 00:53:37,740 --> 00:53:43,840 Svo þessi reitur hérna, það vísar á þetta nafn hér. 1140 00:53:43,840 --> 00:53:47,800 Þannig að þetta gæti hafa verið nefnd eins símanúmer eða hvað sem er. 1141 00:53:47,800 --> 00:53:51,790 Þetta nafn reyndar segir, hvað Ertu að kalla þennan reit? 1142 00:53:51,790 --> 00:53:53,600 Hvernig ætlar þú að vísa til þessu sviði? 1143 00:53:53,600 --> 00:53:57,670 Og nafnið er í raun eins, við erum segja þennan reit er kallað nafn. 1144 00:53:57,670 --> 00:53:59,224 Það er hvernig við ætlum að opna það. 1145 00:53:59,224 --> 00:54:02,070 >> Áhorfendur: Svo er það eins, inntaksnafn jafnt Bob, and-- 1146 00:54:02,070 --> 00:54:04,380 >> Alison: Hægri, þá myndi fá Bob þarna niðri. 1147 00:54:04,380 --> 00:54:06,090 Einmitt. 1148 00:54:06,090 --> 00:54:07,800 Allir kaldur? 1149 00:54:07,800 --> 00:54:10,990 Allt í lagi, svo fá á móti pósti, þetta eru tveir helstu leiðir 1150 00:54:10,990 --> 00:54:14,880 að við framhjá gögn á HTTP beiðni. 1151 00:54:14,880 --> 00:54:17,370 Þú krakkar ættu að hafa séð báðir þessir vonandi. 1152 00:54:17,370 --> 00:54:20,940 Svo við FÁ, upplýsingarnar er í gegnum vefslóð. 1153 00:54:20,940 --> 00:54:23,490 Svo ef þú gerir alltaf Google leit, YouTube, þú munt 1154 00:54:23,490 --> 00:54:25,130 sennilega taka nokkur spurningarmerki. 1155 00:54:25,130 --> 00:54:28,230 Og þá, öll orð að þú setur bara í það. 1156 00:54:28,230 --> 00:54:31,410 Og POST fer gögnin í HTTP skilaboð líkamans. 1157 00:54:31,410 --> 00:54:36,922 Svo ólíkt FÁ, þú konar íhuga að gögnin séu faldir fyrir notendum. 1158 00:54:36,922 --> 00:54:38,630 En hvað er í raun mikilvægt að skilja 1159 00:54:38,630 --> 00:54:44,040 er að þetta er enn eins óörugg og FÁ. 1160 00:54:44,040 --> 00:54:48,780 The hliðstæðan Ég vil nota er ef þú ert númer bankareiknings 1161 00:54:48,780 --> 00:54:52,795 og þú skrifar það á utan umslag, sem er nokkuð hættulegt. 1162 00:54:52,795 --> 00:54:55,920 Ef þú varst að skrifa það á stykki af pappír og setja það inni í umslag, 1163 00:54:55,920 --> 00:54:58,850 það er samt mjög óöruggt vegna allt sem þú þarft að gera er að opna það upp 1164 00:54:58,850 --> 00:55:03,480 og líta á raunverulegt innihald boðanna sjá það. 1165 00:55:03,480 --> 00:55:08,310 Þannig að þetta er "falinn" og fólk eins og til held að það er öruggt, en það er í raun ekki. 1166 00:55:08,310 --> 00:55:11,000 Og ég er viss um Davin mun komast inn í það meira, kannski. 1167 00:55:11,000 --> 00:55:12,850 En það er mikilvægt greinarmunur að gera 1168 00:55:12,850 --> 00:55:15,820 og eitthvað mjög gott að skilja. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL, Structured Query Language. 1170 00:55:19,220 --> 00:55:22,220 Allt efni sem við höfum séð svo nýlega! 1171 00:55:22,220 --> 00:55:25,400 Svo það er í rauninni bara hannað, augljóslega, til að stjórna gögnum. 1172 00:55:25,400 --> 00:55:30,560 Þú krakkar höfðu mikla reynslu með þetta í töflum þínum með PHP MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 Og það eru fjórar algengar fyrirspurnir að við viljum að þú krakkar vita. 1174 00:55:34,100 --> 00:55:37,304 Þannig að það er uppfærsla, setja inn, velja og eyða. 1175 00:55:37,304 --> 00:55:38,970 Svo tryggja þú vita þá mjög vel. 1176 00:55:38,970 --> 00:55:40,960 Við erum að fara að fara í gegnum þá mjög hratt. 1177 00:55:40,960 --> 00:55:44,340 >> Svo uppfæra, í raun, eins og það þú might hugsa það er, 1178 00:55:44,340 --> 00:55:46,740 það uppfærir bara gögn í gagnagrunninn. 1179 00:55:46,740 --> 00:55:48,750 Þannig að við höfum nokkur dæmi hér. 1180 00:55:48,750 --> 00:55:53,310 Þetta er almenna uppbygging uppfærsla fyrirspurn. 1181 00:55:53,310 --> 00:55:56,150 Þannig að við að uppfæra töfluna að við erum að tala um. 1182 00:55:56,150 --> 00:56:00,520 Og við viljum að setja ákveðin gildi, tilteknar dálkar 1183 00:56:00,520 --> 00:56:02,600 jafnt tilteknum gildum. 1184 00:56:02,600 --> 00:56:07,500 Þannig að þetta bara uppfærir borð, breyta gildi í öllum röðum í þessu tilfelli. 1185 00:56:07,500 --> 00:56:13,690 Svo í þessu einn hérna, í raun dæmi, höfum við insert-- miður. 1186 00:56:13,690 --> 00:56:17,630 Það renna háþróaður án mín átta sig á því. 1187 00:56:17,630 --> 00:56:22,230 >> Þannig að þetta uppfærslur borð sett col1 jafnt að VAL1 þar hús jafnt "CURRIER." 1188 00:56:22,230 --> 00:56:25,300 Hvað þetta gerir er það breytist aðeins, það bara 1189 00:56:25,300 --> 00:56:28,130 uppfærir þessi gildi í tilteknum stöðum. 1190 00:56:28,130 --> 00:56:32,300 Þannig að í þessu fyrsta, það breytist þetta gildi fyrir allt í töflunni, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 Það er að fara að breyta þessu dálkur fyrir hvert einasta færslu, 1193 00:56:35,820 --> 00:56:37,020 fyrir hvert einasta röð. 1194 00:56:37,020 --> 00:56:40,840 En þetta þar, þú gætir hugsa um það sem undankeppni. 1195 00:56:40,840 --> 00:56:44,020 Svo það er bara að fara að breyta það í mjög sérstökum stöðum. 1196 00:56:44,020 --> 00:56:47,840 Svo í p-setja sjö, þegar þér kannski uppfærð magn af peningum 1197 00:56:47,840 --> 00:56:53,050 að þinn notandi hafði, hafði sennilega sumir þar ID jafngildir fundur ID, ekki satt? 1198 00:56:53,050 --> 00:56:55,280 >> Því að þú hlýddir ekki að breyta upphæð af peningum 1199 00:56:55,280 --> 00:56:57,630 fyrir hvern einstakling sem var að nota vefsíðuna þína. 1200 00:56:57,630 --> 00:57:00,480 Þú vildir að breyta því fyrir einn sérstakur maður, sem maður að vera 1201 00:57:00,480 --> 00:57:02,410 hver var að nota það á þeim tíma. 1202 00:57:02,410 --> 00:57:04,320 Ekki satt? 1203 00:57:04,320 --> 00:57:07,510 OK, svo setja, settu ákveðin gildi í borðum. 1204 00:57:07,510 --> 00:57:11,650 Þetta er eins og þegar þú ert búa til nýja notendur. 1205 00:57:11,650 --> 00:57:14,240 The almenna byggingu hér er að setja inn hvaða borð 1206 00:57:14,240 --> 00:57:15,680 við erum að tala um. 1207 00:57:15,680 --> 00:57:18,910 Values, enda gildi sem við viljum í raun að setja inn. 1208 00:57:18,910 --> 00:57:23,060 OK, svo sem við sjáum hér, við hafa sett í töflunni. 1209 00:57:23,060 --> 00:57:27,790 Þetta er ákveðin dálka með samsvaraði verðmæti þeirra. 1210 00:57:27,790 --> 00:57:29,940 Svo segir þetta, innskot ný röð inniheldur 1211 00:57:29,940 --> 00:57:33,660 gildi VAL1 og VAL2 undir Þessi sérstöku dálkum. 1212 00:57:33,660 --> 00:57:39,240 >> Svo kannski þú vilt bara til að fylla út helmingi hlutum í þessari röð. 1213 00:57:39,240 --> 00:57:41,150 Það er það sem þessi hluti leyfir hér þú gerir. 1214 00:57:41,150 --> 00:57:43,280 Það leyfir þér raunverulega ákveða hvaða hluta. 1215 00:57:43,280 --> 00:57:44,244 Já? 1216 00:57:44,244 --> 00:57:52,150 >> Áhorfendur: Getur þú aðeins [inaudible] frumur í röð [inaudible]? 1217 00:57:52,150 --> 00:57:55,000 >> Alison: Ef þú fyllir bara í ákveðnum hlutum röð þína, 1218 00:57:55,000 --> 00:57:57,480 restin af þeim frumum eru bara tóm. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Svo lengi sem þú leyfir þeim að vera tómur, það er ekki vandamál. 1221 00:58:05,660 --> 00:58:09,570 Ef þú reynir að nálgast þær, það er fara til baka nokkur tóm frumefni. 1222 00:58:09,570 --> 00:58:13,850 En það er mikilvægt að vita að í ákveðnum töflum, 1223 00:58:13,850 --> 00:58:16,690 þeir hafa til að fá að vera núll. 1224 00:58:16,690 --> 00:58:18,890 Þú gætir hafa keyrt inn í a vandamál á þinn p-setja 1225 00:58:18,890 --> 00:58:21,320 vegna þess að við ekki láta allir af gildum vera null. 1226 00:58:21,320 --> 00:58:26,110 En þú getur tilgreint valfrjáls gildi í töflunni. 1227 00:58:26,110 --> 00:58:29,640 >> OK, velja, þannig að þetta er bara leið til að komast 1228 00:58:29,640 --> 00:58:33,790 ákveðin gögn úr töflu á sumir kennimerki sem þú vilt. 1229 00:58:33,790 --> 00:58:37,990 Svo velja stjörnu frá töflunni þar Col jafngildir eitthvað þýðir bara, 1230 00:58:37,990 --> 00:58:43,820 gefa mér öll gögn sem tengjast þar sem þetta tiltekna dálkur er satt. 1231 00:58:43,820 --> 00:58:49,020 Svo stjarna í þessu tilfelli mun skila heila röð fyrir þig, OK? 1232 00:58:49,020 --> 00:58:54,880 >> Og þá, í ​​þessu tilfelli, velja stjörnu frá Taflan bara þér allt borð. 1233 00:58:54,880 --> 00:58:58,940 Og þá, eyða augljóslega, það bara eyðir línuna í töflunni. 1234 00:58:58,940 --> 00:59:01,320 Svo eyða úr töflunni, hvaða borð við erum 1235 00:59:01,320 --> 00:59:06,830 tilvísanir, þar sem sumir sérstakur kennimerki eða einhver skilyrði er satt. 1236 00:59:06,830 --> 00:59:07,720 Já? 1237 00:59:07,720 --> 00:59:08,700 >> Áhorfendur: Spurning. 1238 00:59:08,700 --> 00:59:10,699 Hvers vegna ert þú að nota tvöfalt vitna, og hvort þér 1239 00:59:10,699 --> 00:59:13,600 gera gæsalappa eða einn vitna, hjartarskinn það gera a mismunur? 1240 00:59:13,600 --> 00:59:18,235 >> Alison: gæsalöppum eða einfalda gæsalöpp ekki gera a mismunur í SQL. 1241 00:59:18,235 --> 00:59:19,610 Ég hélt að ég sá aðra spurningu. 1242 00:59:19,610 --> 00:59:20,814 Já? 1243 00:59:20,814 --> 00:59:25,070 >> Áhorfendur: Er það ekki áhrif hvað fær slapp úr fyrirspurninni? 1244 00:59:25,070 --> 00:59:27,945 >> Alison: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> Rob: Hvað áttu við með slapp úr fyrirspurninni? 1246 00:59:31,410 --> 00:59:36,870 >> Áhorfendur: Ef einhver hefur einn fyrirspurn í formi of-- 1247 00:59:36,870 --> 00:59:39,862 >> Rob: Ef einhver var að setja einn vitna í, 1248 00:59:39,862 --> 00:59:43,560 þá eins lengi og þú ert að sanitizing inntak þitt, þá skiptir ekki máli. 1249 00:59:43,560 --> 00:59:46,205 En ef þú ert að nota einn vitna og þú ert rangt 1250 00:59:46,205 --> 00:59:47,914 sleppi inntak þinn, þá já, þeir þurfa 1251 00:59:47,914 --> 00:59:51,079 að setja eitt vitna til þess að brjóta númerið þitt. ef þú notar gæsalöppum, 1252 00:59:51,079 --> 00:59:53,580 þeir þurfa að setja tvöfalt vitna að brjóta kóðann. 1253 00:59:53,580 --> 00:59:56,163 En svo lengi sem þú flýja það rétt, það skiptir ekki máli. 1254 00:59:56,163 --> 00:59:59,220 Það er bara að fara að þýða á réttan tákn samt. 1255 00:59:59,220 --> 01:00:02,332 >> Áhorfendur: Hvað þýðir flýja meina? 1256 01:00:02,332 --> 01:00:04,040 Alison: Jæja, eins og Sanitizing og flýja. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 The próf sem við höfum, mikill XKCD grínisti sem þeir draga upp þar sem þú þarft, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 Rob: Það er síðasta mynd. 1261 01:00:16,670 --> 01:00:18,500 Alison: Það er síðasta mynd, virkilega? 1262 01:00:18,500 --> 01:00:20,200 Oh my god. 1263 01:00:20,200 --> 01:00:21,780 Þar fara, fullkominn. 1264 01:00:21,780 --> 01:00:27,900 OK, svo í rauninni er hægt að sprauta eitthvað í þessa SQL fyrirspurn 1265 01:00:27,900 --> 01:00:30,560 þar sem það brýtur þína númer, eða eins og David sýndi 1266 01:00:30,560 --> 01:00:38,460 í bekknum, ef við höfum sumir einn vitna 1 er jafnt og 1 og ef í númerið okkar, 1267 01:00:38,460 --> 01:00:41,230 við bara beint afrita það í, og við höfum endar einn vitna, 1268 01:00:41,230 --> 01:00:44,740 það sem gerist er að við fáum sumir tjáning sem 1269 01:00:44,740 --> 01:00:48,680 metur að satt að vilja láta einhvern slá gagnagrunninum okkar 1270 01:00:48,680 --> 01:00:51,720 og fá gögn sem við vil ekki þá að fá. 1271 01:00:51,720 --> 01:00:54,240 Svo sanitizing inntak bara þýðir að tryggja 1272 01:00:54,240 --> 01:00:57,680 að við erum sleppi þessum stafir og tilnefningu þá 1273 01:00:57,680 --> 01:01:01,720 sem stafir og ekki hluti sem ætti að vera heimilt 1274 01:01:01,720 --> 01:01:04,990 að taka bókstaflega sem eins og SQL staðhæfing okkar. 1275 01:01:04,990 --> 01:01:09,980 >> Svo stór hlutur sem ég sagði að þið ættu að vera að nota 1276 01:01:09,980 --> 01:01:13,650 voru HTML sérstök stafir, sem er eitthvað 1277 01:01:13,650 --> 01:01:15,730 að þú might vilja til taka a líta á. 1278 01:01:15,730 --> 01:01:17,240 OK, eyða. 1279 01:01:17,240 --> 01:01:19,450 Gagnatög, þetta mun allt vera á netinu. 1280 01:01:19,450 --> 01:01:23,510 Þar sem við höfum 15 mínútur eftir, ég er bara að fara að fara í gegnum þetta. 1281 01:01:23,510 --> 01:01:28,500 PHP og SQL, í grundvallaratriðum er þetta bara höfðum við fyrirspurn fall sem 1282 01:01:28,500 --> 01:01:31,520 hjálpaði vernda gegn þessi illgjarn árás. 1283 01:01:31,520 --> 01:01:33,970 Svo þegar þú notar fyrirspurn, við vorum að tryggja 1284 01:01:33,970 --> 01:01:36,560 að hlutirnir voru sótthreinsa og whatnot. 1285 01:01:36,560 --> 01:01:41,070 >> MVC er bara hugmyndafræði, svo líkan, skoða, stjórnandi. 1286 01:01:41,070 --> 01:01:44,200 Það er bara leið til að halda hlutum gott og skipt upp á sama hátt 1287 01:01:44,200 --> 01:01:47,100 að við hafa tilhneigingu til að þáttur út kóða í aðgerðir. 1288 01:01:47,100 --> 01:01:53,390 Þetta er bara vefur hönnun ramma sem gerir þér kleift að gera það sama. 1289 01:01:53,390 --> 01:01:54,760 Ég ætla að sleppa þessu. 1290 01:01:54,760 --> 01:01:58,530 >> Þetta er eitthvað sem ég væri frábær notalega með. 1291 01:01:58,530 --> 01:02:01,132 Það er a mikill lítill borð þar. 1292 01:02:01,132 --> 01:02:03,090 Það gefur þér virkni dæmi um fyrirmynd. 1293 01:02:03,090 --> 01:02:05,473 Ég ætla bara að fara í gegnum þetta vegna þess að ég virkilega Davin að vera fær um að tala. 1294 01:02:05,473 --> 01:02:07,140 Ef þú hefur einhverjar spurningar, skaltu ekki hika. 1295 01:02:07,140 --> 01:02:07,931 Ég kem hér á eftir. 1296 01:02:07,931 --> 01:02:10,360 Bara koma að tala við mig. 1297 01:02:10,360 --> 01:02:13,380 Með þessi, höfum við HTTP stöður. 1298 01:02:13,380 --> 01:02:16,270 Og Davin er að fara að blása í gegnum þetta í 15 mínútur. 1299 01:02:16,270 --> 01:02:17,560 Þetta er að fara að vera mikill. 1300 01:02:17,560 --> 01:02:18,893 >> DAVIN: OK. 1301 01:02:18,893 --> 01:02:20,312 Uh, Mic þinn? 1302 01:02:20,312 --> 01:02:22,210 Já. 1303 01:02:22,210 --> 01:02:23,336 Því miður. 1304 01:02:23,336 --> 01:02:24,460 Alison: leið til að vera tilbúinn. 1305 01:02:24,460 --> 01:02:25,335 DAVIN: Nei, ég er tilbúin. 1306 01:02:25,335 --> 01:02:25,860 Ég er tilbúinn. 1307 01:02:25,860 --> 01:02:28,790 Við skulum gera þetta. 1308 01:02:28,790 --> 01:02:29,290 Það er tilbúið. 1309 01:02:29,290 --> 01:02:30,041 OK. 1310 01:02:30,041 --> 01:02:30,540 Því miður. 1311 01:02:30,540 --> 01:02:31,664 Ég hella niður kaffi á mig. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Ég veit ekki hvort ég er meira uppnámi að ég líta asnalega, 1314 01:02:38,210 --> 01:02:40,600 eða að ég hef ekki kaffi lengur. 1315 01:02:40,600 --> 01:02:44,480 Engu að síður, bara fljótur tilkynning um blaði þið hafið. 1316 01:02:44,480 --> 01:02:47,994 Þannig að þetta blað sem þú krakkar hafa ekki opinbera hvað er á prófinu. 1317 01:02:47,994 --> 01:02:49,660 Þetta er opinber hvað er á prófinu. 1318 01:02:49,660 --> 01:02:52,520 Einnig, á heimasíðu, segja við þú, OK, þetta mun vera á prófinu. 1319 01:02:52,520 --> 01:02:55,020 Svo í smá svindlari lak þú þarft, ekki opinbert. 1320 01:02:55,020 --> 01:02:56,690 Og það eru mistök á það. 1321 01:02:56,690 --> 01:03:01,490 Svo best að bara í blindni að nota það. 1322 01:03:01,490 --> 01:03:04,390 Svo, það er það já. 1323 01:03:04,390 --> 01:03:05,980 Svo skulum við fá inn í þennan raunverulegur fljótur. 1324 01:03:05,980 --> 01:03:07,420 >> Svo HTTP staða. 1325 01:03:07,420 --> 01:03:10,430 Svo hvað gerist þegar website, allt er í lagi. 1326 01:03:10,430 --> 01:03:11,144 Allt er í lagi. 1327 01:03:11,144 --> 01:03:13,310 Allt kemur aftur til þú eins og þú vilt. 1328 01:03:13,310 --> 01:03:15,370 Þú færð 200 lagi. 1329 01:03:15,370 --> 01:03:19,250 301, þar sem við höfum séð að 301 áður? 1330 01:03:19,250 --> 01:03:20,890 Bíddu, hvað er uppi? 1331 01:03:20,890 --> 01:03:23,250 Því miður. 1332 01:03:23,250 --> 01:03:24,980 Við sáum i tini fyrirlestur á öryggi. 1333 01:03:24,980 --> 01:03:30,690 Svo á öryggi, þannig að ef David slegið í HTTP og þá reynt að fara í cs50.net, 1334 01:03:30,690 --> 01:03:31,940 þú ert að fara að sjá 301 flutt. 1335 01:03:31,940 --> 01:03:32,440 Hvers vegna? 1336 01:03:32,440 --> 01:03:35,570 Vegna þess að það er að fara að beina þú sjálfkrafa að HTTPS okkar. 1337 01:03:35,570 --> 01:03:38,649 >> Svo 301 flutti, bara það grundvallaratriðum a utanáskrift. 1338 01:03:38,649 --> 01:03:40,190 Og er hægt að hugsa um það eins og þetta. 1339 01:03:40,190 --> 01:03:43,790 Allir af stöður sem byrja með 2 áratugnum, þeir eru eins, OK, allt er í lagi. 1340 01:03:43,790 --> 01:03:46,530 Allir af stöður sem byrja með 3, eru þeir utanáskrift. 1341 01:03:46,530 --> 01:03:49,571 Stöður sem byrja 4, sem þýðir það er einhvers konar viðskiptavinur villa. 1342 01:03:49,571 --> 01:03:52,440 Stöður sem byrja 5, það er einhvers konar villa miðlara. 1343 01:03:52,440 --> 01:03:54,680 Svo þú brjóta konar upp að staða eins og þessi. 1344 01:03:54,680 --> 01:03:59,120 Svo 304 ekki ekki breytt, þannig að í þínum server.c p-setur, þannig að við skulum segja þér 1345 01:03:59,120 --> 01:04:00,600 hlaðinn cat.html. 1346 01:04:00,600 --> 01:04:03,360 Allt kemur til baka, þú færð 200s, OK, frábært. 1347 01:04:03,360 --> 01:04:04,540 >> Við skulum segja að þú endurnærð það. 1348 01:04:04,540 --> 01:04:07,310 Jæja, inni sem cat.html, þú hafa a JPEG. 1349 01:04:07,310 --> 01:04:09,520 Jæja, það JPEG er ekki fara að fá Reloaded. 1350 01:04:09,520 --> 01:04:12,140 Þú ert ekki að fara að senda annað GET beiðni til the framreiðslumaður, 1351 01:04:12,140 --> 01:04:13,980 og þá fá allar þær upplýsingar til baka. 1352 01:04:13,980 --> 01:04:17,560 Það er að fara að bara be-- er image fara að vera afrit á tölvunni þinni. 1353 01:04:17,560 --> 01:04:19,540 Og svo þessi mynd verður 304. 1354 01:04:19,540 --> 01:04:20,720 Svo það er ekki verið breytt. 1355 01:04:20,720 --> 01:04:24,600 Ef þú lokar út þá, ljóst kex, og þá hressa 1356 01:04:24,600 --> 01:04:27,490 og reyna að hlaða þá síðu aftur, þú ert að fara að sjá 200s. 1357 01:04:27,490 --> 01:04:28,910 Þú ert ekki að fara að sjá að 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, slæmt beiðni alvöru fljótur, eins og ef þú 1359 01:04:32,340 --> 01:04:34,880 voru að fara að senda JSON mótmæla miðlara 1360 01:04:34,880 --> 01:04:38,090 og JSON mótmæla þínar rangar, þú munt sjá eitthvað svona. 1361 01:04:38,090 --> 01:04:39,000 403, bannað. 1362 01:04:39,000 --> 01:04:40,330 Þegar myndir þú sjá a bannað? 1363 01:04:40,330 --> 01:04:41,394 Sennilega Sennilega? 1364 01:04:41,394 --> 01:04:42,060 Áhorfendur: chmod. 1365 01:04:42,060 --> 01:04:42,950 DAVIN: chmod, já. 1366 01:04:42,950 --> 01:04:44,730 Svo þú hefur ekki sett heimildir rétt. 1367 01:04:44,730 --> 01:04:45,577 404, fannst ekki. 1368 01:04:45,577 --> 01:04:46,410 Það er bara ekki þarna. 1369 01:04:46,410 --> 01:04:48,670 Svo ef þú skrifar í röngum slóð. 1370 01:04:48,670 --> 01:04:53,500 500, innri framreiðslumaður villa, the framreiðslumaður sennilega var ekki rétt stilltur. 1371 01:04:53,500 --> 01:04:56,260 Eitthvað ekki af þinni hálfu, en eitthvað á miðlara megin. 1372 01:04:56,260 --> 01:04:57,240 Og 503? 1373 01:04:57,240 --> 01:04:59,502 A einhver fjöldi af fólk sá 503s í síðustu p-setja. 1374 01:04:59,502 --> 01:05:00,460 Þegar væri að gerast? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Ég heyrði hvíslar. 1377 01:05:05,660 --> 01:05:07,767 >> Áhorfendur: Þegar Google ákveður þú ert vélmenni. 1378 01:05:07,767 --> 01:05:10,350 DAVIN: Já, þegar Google ákveður þú ert vélmenni, þú færð 503s. 1379 01:05:10,350 --> 01:05:11,560 Svo er það vegna yfirálags. 1380 01:05:11,560 --> 01:05:14,620 Ef þú baðst frá þjóninum of mikið, það er yfirleitt tímabundin. 1381 01:05:14,620 --> 01:05:15,560 Og flest ykkar eftir það. 1382 01:05:15,560 --> 01:05:16,185 Svo þú sást 503. 1383 01:05:16,185 --> 01:05:19,282 Þú gætir hafa tekið smá brot, þá 503s fór í burtu, 1384 01:05:19,282 --> 01:05:20,490 og allt var í lagi. 1385 01:05:20,490 --> 01:05:26,640 >> Gabe: Real fljótur, þegar þú krakkar fá 500 í sennilega þetta síðasta vandamál setja? 1386 01:05:26,640 --> 01:05:27,954 Já? 1387 01:05:27,954 --> 01:05:30,906 >> Áhorfendur: Venjulega ef framreiðslumaður hefur skrá rangan stað 1388 01:05:30,906 --> 01:05:34,650 eða [inaudible] þeirra vél [inaudible]. 1389 01:05:34,650 --> 01:05:38,870 >> Gabe: Svo það gæti verið stillingar mál í PHP þinn á vefþjóninum þínum. 1390 01:05:38,870 --> 01:05:42,250 En það gæti verið bara eitthvað eins semíkommu að þínum gleymdi. 1391 01:05:42,250 --> 01:05:44,130 Ef þú ert að skrifa PHP, sumir rangt setningafræði 1392 01:05:44,130 --> 01:05:46,000 gæti fengið þér eitthvað svoleiðis. 1393 01:05:46,000 --> 01:05:46,960 OK? 1394 01:05:46,960 --> 01:05:48,610 >> DAVIN: Cool. 1395 01:05:48,610 --> 01:05:51,180 Viltu að ég geri bara allt til AJAX? 1396 01:05:51,180 --> 01:05:52,950 >> Gabe: [inaudible]. 1397 01:05:52,950 --> 01:05:53,450 DAVIN: OK. 1398 01:05:53,450 --> 01:05:54,230 Svo er það DOM? 1399 01:05:54,230 --> 01:05:55,290 Hvað er DOM standa fyrir? 1400 01:05:55,290 --> 01:05:56,990 >> Áhorfendur: Document Object Model. 1401 01:05:56,990 --> 01:05:57,490 DAVIN: Nice. 1402 01:05:57,490 --> 01:06:00,775 Og hvers vegna eigum við eins og það? 1403 01:06:00,775 --> 01:06:02,670 Awesome. 1404 01:06:02,670 --> 01:06:06,651 Einmitt, svo það bara leyfa okkur að fá aðgang HTML, skoðar okkar mjög hratt. 1405 01:06:06,651 --> 01:06:07,150 Hvers vegna? 1406 01:06:07,150 --> 01:06:09,980 Vegna þess að við erum að meðhöndla okkar síðu, meðhöndla HTML tags okkar, 1407 01:06:09,980 --> 01:06:11,730 meðhöndla allt eins og ef þeir eru hluti. 1408 01:06:11,730 --> 01:06:13,710 Ef við erum að meðhöndla þá eins og þeir eru hlutir, þá hvað getum við gert? 1409 01:06:13,710 --> 01:06:15,210 Jæja, við getum hringt aðgerðir á þeim. 1410 01:06:15,210 --> 01:06:16,460 Og þetta er mikilvægt hverju? 1411 01:06:16,460 --> 01:06:19,200 Jæja, vegna þess að við erum að fara að nota JavaScript til að uppfæra HTML okkar, 1412 01:06:19,200 --> 01:06:20,500 uppfæra þessa hluti. 1413 01:06:20,500 --> 01:06:23,869 Þannig að ef við förum þá eins og hlutir, getum við þá kalla aðgerðir á þeim. 1414 01:06:23,869 --> 01:06:26,660 Ég ætla að fá inn í þetta smá meira þegar ég fer inn í JavaScript, 1415 01:06:26,660 --> 01:06:30,510 en þú hefur öll séð eins document.getElementByID. 1416 01:06:30,510 --> 01:06:32,870 Svo er þinn skjal þáttur, fá eininguna með því auðkenni, 1417 01:06:32,870 --> 01:06:35,087 svo þú ert að fara að horfa fyrir sumir ID í HTML tag. 1418 01:06:35,087 --> 01:06:36,920 Og þá er hægt að gera eitthvað annað við það. 1419 01:06:36,920 --> 01:06:40,089 Til dæmis, eins og document.body, þá er hægt að auka við barn. 1420 01:06:40,089 --> 01:06:41,630 Svo þú ert að fara að finna skjalið. 1421 01:06:41,630 --> 01:06:42,340 Þú hefur skjalið. 1422 01:06:42,340 --> 01:06:43,629 Þú ert að fara að finna líkamann. 1423 01:06:43,629 --> 01:06:44,420 Þú fannst líkamann. 1424 01:06:44,420 --> 01:06:46,545 Og þá, þú ert að fara að kalla sumir virka á það. 1425 01:06:46,545 --> 01:06:50,312 Svo auka barn, og þú getur auka sumir HTML á enda inni líkama þinn. 1426 01:06:50,312 --> 01:06:52,520 Svo í grundvallaratriðum, þú ert bara meðhöndla það eins og hlut. 1427 01:06:52,520 --> 01:06:54,515 Þú ert að meðhöndla HTML merki sem hlut. 1428 01:06:54,515 --> 01:06:57,071 Og það gerir það mjög auðvelt og fljótur að fara í gegnum þá. 1429 01:06:57,071 --> 01:06:59,070 En það gerir þig líka að hringja virka á þá 1430 01:06:59,070 --> 01:07:04,410 svo þú geta handleika og breyta þætti. 1431 01:07:04,410 --> 01:07:10,162 >> Gabe: Í ljósi þessa, hvers vegna er JavaScript svo a ágætur tungumál til að hafa samskipti við HTML? 1432 01:07:10,162 --> 01:07:12,870 Stuðlar eru, þegar fólk var að velja tungumál fyrir vafrann 1433 01:07:12,870 --> 01:07:14,990 fyrir hlið viðskiptavinur, JavaScript er mjög gott, 1434 01:07:14,990 --> 01:07:16,765 það er mjög gott að meðhöndlun hluti. 1435 01:07:16,765 --> 01:07:20,620 Og hlutir eru góður af eins hlutir sem birtast í HTML, 1436 01:07:20,620 --> 01:07:23,940 svo það er mjög auðvelt fyrir JavaScript að gera svona meðhöndlun. 1437 01:07:23,940 --> 01:07:24,440 DAVIN: Nice. 1438 01:07:24,440 --> 01:07:25,670 Svo er hér bara dæmi. 1439 01:07:25,670 --> 01:07:29,020 Þannig að ég held á spurningakeppni á síðasta ári, eða kannski tvö ár síðan, við 1440 01:07:29,020 --> 01:07:30,840 bað þig að búa til tré. 1441 01:07:30,840 --> 01:07:32,660 Svo er þetta nákvæmlega það sem þú vilt gera. 1442 01:07:32,660 --> 01:07:34,255 Svo þú byrjar út með skjalinu. 1443 01:07:34,255 --> 01:07:36,130 Og þá þú í rauninni bara horfa á tags. 1444 01:07:36,130 --> 01:07:38,100 Svo ef þú horfir, við byrja með HTML tag. 1445 01:07:38,100 --> 01:07:41,660 Og þá, þú færð vísbendingar um hvernig á að gera þetta byggist á inndrátt. 1446 01:07:41,660 --> 01:07:43,870 Svo höfuð konar útibú burt. 1447 01:07:43,870 --> 01:07:46,242 Inni í höfðinu, höfum við annar tag titli. 1448 01:07:46,242 --> 01:07:47,450 Svo þá höfum við titil tag. 1449 01:07:47,450 --> 01:07:49,760 Og inni að við höfum sumir band. 1450 01:07:49,760 --> 01:07:52,210 Og svo við tákna band í hring. 1451 01:07:52,210 --> 01:07:54,010 Og allir merki eru í reitum. 1452 01:07:54,010 --> 01:07:56,270 >> Og ef þú horfir, ef vér hugsa um þetta sem tré, 1453 01:07:56,270 --> 01:07:58,730 og við skulum segja að HTML er foreldri, þá höfuð og líkama 1454 01:07:58,730 --> 01:07:59,772 eru að fara að vera systkini. 1455 01:07:59,772 --> 01:08:01,813 Þeir eru báðir að fara að vera börn foreldrisins. 1456 01:08:01,813 --> 01:08:03,620 Svo vegna þess að þeir eru bæði systkini, eru þeir 1457 01:08:03,620 --> 01:08:06,590 að fara að vera eins konar hlið hvert annað í tré fyrirmynd okkar. 1458 01:08:06,590 --> 01:08:08,590 Og þá, þú í rauninni gera nákvæmlega það sama. 1459 01:08:08,590 --> 01:08:13,512 Svo ekki erfitt, en við höfum beðið spurningar eins og þetta áður á spurningakeppni. 1460 01:08:13,512 --> 01:08:15,220 Gabe: Er einhver hafa spurningar svo langt? 1461 01:08:15,220 --> 01:08:16,357 Er það gott? 1462 01:08:16,357 --> 01:08:16,856 DAVIN: Cool. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 JavaScript, OK, gott efni. 1465 01:08:21,600 --> 01:08:24,069 Svo JavaScript, hvað er JavaScript? 1466 01:08:24,069 --> 01:08:28,370 Jæja, JavaScript is-- það er flókið, en þetta 1467 01:08:28,370 --> 01:08:30,727 eru nokkrar af hápunktum að þú ættir að hafa í huga. 1468 01:08:30,727 --> 01:08:31,810 First, það lauslega slegið. 1469 01:08:31,810 --> 01:08:33,529 Hvað þýðir það? 1470 01:08:33,529 --> 01:08:35,596 Svo PHP was-- já, hvað er uppi? 1471 01:08:35,596 --> 01:08:39,854 >> Áhorfendur: Þú þarft ekki að beinlínis fram hvaða tegund af breytu er. 1472 01:08:39,854 --> 01:08:40,479 DAVIN: Perfect. 1473 01:08:40,479 --> 01:08:43,270 Svo hann sagði að þú þarft ekki að skýrt fram hvaða breytu. 1474 01:08:43,270 --> 01:08:44,160 Það er einmitt rétt. 1475 01:08:44,160 --> 01:08:49,700 Svo í C, ef ég hefði int i jafngildir 50, þá í PHP, það er bara svona, $ i, 1476 01:08:49,700 --> 01:08:50,550 jafngildir 50. 1477 01:08:50,550 --> 01:08:54,319 Þá í JavaScript, hvað myndi kalla að vera? 1478 01:08:54,319 --> 01:08:55,260 Var, ekki satt? 1479 01:08:55,260 --> 01:08:56,566 Það væri eins og var ég jafngildir 50. 1480 01:08:56,566 --> 01:08:58,649 En þú þarft ekki að vera eins, OK, þetta er int. 1481 01:08:58,649 --> 01:09:00,350 OK, þetta er band. 1482 01:09:00,350 --> 01:09:01,731 Engin þörf á að gera það. 1483 01:09:01,731 --> 01:09:02,939 Það er túlkað tungumál. 1484 01:09:02,939 --> 01:09:04,904 Svo hvað þýðir það? 1485 01:09:04,904 --> 01:09:06,340 >> Áhorfendur: Ekki unnin. 1486 01:09:06,340 --> 01:09:10,470 >> DAVIN: Hvað ekki saman við? 1487 01:09:10,470 --> 01:09:11,392 Já? 1488 01:09:11,392 --> 01:09:15,336 >> Áhorfendur: Þú þarft ekki að endurskipuleggja kóða 1489 01:09:15,336 --> 01:09:18,294 að fá það tilbúið fyrir tölvan að keyra hana. 1490 01:09:18,294 --> 01:09:23,144 Það er bara tekið á þeim tíma framkvæmd og tölvan [inaudible]. 1491 01:09:23,144 --> 01:09:25,560 DAVIN: Já, svo það er að fara að fara í gegnum túlk. 1492 01:09:25,560 --> 01:09:26,750 En þú ert nákvæmlega rétt. 1493 01:09:26,750 --> 01:09:28,319 Svo þú ert aldrei að fara að þýða það, ekki satt? 1494 01:09:28,319 --> 01:09:30,399 Þegar þú varst að gera þinn PHP og JavaScript kóða, 1495 01:09:30,399 --> 01:09:31,365 þú aldrei kallað safna saman. 1496 01:09:31,365 --> 01:09:33,779 Þú kallaðir aldrei eitthvað eins og gera eða eitthvað svoleiðis. 1497 01:09:33,779 --> 01:09:34,800 Það er vegna þess að það er túlkað. 1498 01:09:34,800 --> 01:09:37,319 Svo í hvert skipti sem hún fer í gegnum vafra, það fer í gegnum túlk. 1499 01:09:37,319 --> 01:09:40,370 Og það er að fara að túlka það bara í rauntíma strax fyrir þig. 1500 01:09:40,370 --> 01:09:43,770 Svo hvað eru nokkur jákvæður og neikvæður að hafa túlkað tungumál 1501 01:09:43,770 --> 01:09:45,258 og hafa þýtt tungumál? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Svo compiling-- já, hvað er uppi? 1504 01:09:50,540 --> 01:09:52,444 >> Áhorfendur: túlka er hægari. 1505 01:09:52,444 --> 01:09:53,319 DAVIN: Í hvaða skilningi? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> Áhorfendur: Eftir þig safna saman, þú ert ekki 1508 01:09:59,091 --> 01:10:04,400 að gera einhverjar auka skref til að framkvæma það, en á þessu [inaudible]. 1509 01:10:04,400 --> 01:10:05,570 >> DAVIN: Hægri, fullkominn. 1510 01:10:05,570 --> 01:10:08,386 Svo það sem þú segir er í rauninni að setja saman, 1511 01:10:08,386 --> 01:10:10,760 þegar þú saman, hefur þú a mikið af upfront kostnaði, ekki satt? 1512 01:10:10,760 --> 01:10:11,760 Þú ert að fara að taka saman það. 1513 01:10:11,760 --> 01:10:13,750 En eftir að þú safna saman það, sem þýðanda er að fara að fínstilla það. 1514 01:10:13,750 --> 01:10:14,840 Það er að fara að vera fljótur. 1515 01:10:14,840 --> 01:10:16,170 Það er að fara að í grundvallaratriðum vera eins hratt og það getur verið. 1516 01:10:16,170 --> 01:10:18,830 Með túlkun, þér aldrei hafa þessi upfront kostnaður. 1517 01:10:18,830 --> 01:10:22,260 Frekar, það er að fara að vera örlítið hægar hvert einasta skipti sem þú túlka það. 1518 01:10:22,260 --> 01:10:24,940 Og þú ert að fara að þurfa að túlka það á hverjum einasta skipti. 1519 01:10:24,940 --> 01:10:27,114 Þannig að í stað þess að hafa þetta eitt sinn kostnað, nú þú ert 1520 01:10:27,114 --> 01:10:29,530 fara að túlka það í hvert skipti sem síðu gerir. 1521 01:10:29,530 --> 01:10:31,890 >> Svo túlkar eru góð vegna þess að þú þarft ekki að þýða það, 1522 01:10:31,890 --> 01:10:33,980 en þeir eru illa í að sérhver tími síðan opnast, það er 1523 01:10:33,980 --> 01:10:35,771 fara að túlka þetta JavaScript. 1524 01:10:35,771 --> 01:10:40,520 Og það er að fara að keyra örlítið hægar en ef þú varst að taka saman það. 1525 01:10:40,520 --> 01:10:43,044 Leyfir þér að communicate-- ó, bíddu. 1526 01:10:43,044 --> 01:10:44,960 Notað til að vinna að efni og útliti. 1527 01:10:44,960 --> 01:10:46,043 Við ræddum bara um það. 1528 01:10:46,043 --> 01:10:47,250 Það notar DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, munum við fá inn AJAX í smá. 1530 01:10:49,930 --> 01:10:51,520 Og þá er það viðskiptavinur hlið. 1531 01:10:51,520 --> 01:10:53,110 Svo er PHP miðlara megin. 1532 01:10:53,110 --> 01:10:54,360 JavaScript er viðskiptavinur hlið. 1533 01:10:54,360 --> 01:10:57,780 Hvað eru jákvæðir að því? 1534 01:10:57,780 --> 01:10:58,280 Það segir það. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Það er fljótlegra, ekki satt? 1537 01:11:02,780 --> 01:11:05,282 Þar sem þú þarft ekki to-- það hraðar. 1538 01:11:05,282 --> 01:11:07,490 Þú þarft ekki að eiga samskipti með einhver önnur tæki. 1539 01:11:07,490 --> 01:11:08,790 Ef þú ert bara á þinn viðskiptavinur, þú ert aldrei 1540 01:11:08,790 --> 01:11:11,280 fara að fara og sjá hvað er á þjóninum 1541 01:11:11,280 --> 01:11:13,150 og þá skýrslu aftur eða eitthvað svoleiðis. 1542 01:11:13,150 --> 01:11:15,410 Svo hefur tilhneigingu viðskiptavinur hlið til vera svolítið hraðar. 1543 01:11:15,410 --> 01:11:17,910 >> Gabe: Já, en þetta þýðir ekki PHP er 1544 01:11:17,910 --> 01:11:20,440 hraðar en JavaScript eða eitthvað af þess háttar. 1545 01:11:20,440 --> 01:11:23,270 Þeir hlaupa góður yfir í það sama hraði vegna þess að þeir eru báðir 1546 01:11:23,270 --> 01:11:24,490 túlka tungumál. 1547 01:11:24,490 --> 01:11:26,680 The hlutur sem er hægt hér er beiðni. 1548 01:11:26,680 --> 01:11:28,870 Svo þú ert í raun að fara alla leið yfir til Brasilíu 1549 01:11:28,870 --> 01:11:31,460 að fá smá upplýsingar sem býr þar. 1550 01:11:31,460 --> 01:11:34,590 En PHP og JavaScript, þeir konar hlaupa á sama hraða. 1551 01:11:34,590 --> 01:11:37,930 Það er ekki það að einn er hraðar en hitt. 1552 01:11:37,930 --> 01:11:40,600 Þetta einnig bragð spurning hér. 1553 01:11:40,600 --> 01:11:47,338 Svo JavaScript verður aldrei vél númer, satt eða ósatt? 1554 01:11:47,338 --> 01:11:48,590 >> Áhorfendur: False. 1555 01:11:48,590 --> 01:11:49,090 Gabe: False. 1556 01:11:49,090 --> 01:11:51,298 Það þarf að vera vél númer vegna vél númer er 1557 01:11:51,298 --> 01:11:53,210 það eina vélin skilur. 1558 01:11:53,210 --> 01:11:55,800 Jafnvel þó að það er ekki saman, það verður samt vél númer 1559 01:11:55,800 --> 01:11:59,120 vegna þess að túlkur er bara a program sem fer línu fyrir línu 1560 01:11:59,120 --> 01:12:02,170 og umbreytir þessi lína í eitthvað sem tölvan skilur. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 Cool. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> DAVIN: Hér er bara mjög einfalt Halló heimur JavaScript program. 1565 01:12:12,890 --> 01:12:15,590 Svo ég veit ekki if-- þú hefur séð þetta. 1566 01:12:15,590 --> 01:12:17,630 En þú ert bara HTML hér. 1567 01:12:17,630 --> 01:12:21,020 Og í stað þess að í raun að setja JavaScript í handritinu tags, 1568 01:12:21,020 --> 01:12:22,810 svo þú vilt að jafnaði setja það í höfuðið. 1569 01:12:22,810 --> 01:12:24,030 Þú hefur handrit tags. 1570 01:12:24,030 --> 01:12:24,870 Þú falla það þar. 1571 01:12:24,870 --> 01:12:28,350 Allt sem við höfum gert hér er að við höfum tengt in-- þannig að við höfum tengt í JavaScript skrá 1572 01:12:28,350 --> 01:12:29,137 eins og þetta. 1573 01:12:29,137 --> 01:12:30,470 Og þú hefur gert allt þetta, ekki satt? 1574 01:12:30,470 --> 01:12:34,740 Svo þegar þú varst að nota jQuery og underscore.js í síðustu p-sett, 1575 01:12:34,740 --> 01:12:38,700 þú þarft ekki tonn af kóða upp í handrit tags, upp í höfðinu á þér. 1576 01:12:38,700 --> 01:12:41,415 Þú gætir gert það, en í staðinn þú ert bara að tengja það í. 1577 01:12:41,415 --> 01:12:43,540 Og þú ert að tengja það í bara eins og þú gerir með CSS. 1578 01:12:43,540 --> 01:12:50,186 Svo gerir það bara auðveldara að lesa svo númerið þitt er ekki eins og 1000 línur á lengd 1579 01:12:50,186 --> 01:12:52,310 með tonn af aðgerðum sem þú might ekki vera með. 1580 01:12:52,310 --> 01:12:53,518 >> Þess í stað, þú hlekkur bara í. 1581 01:12:53,518 --> 01:12:55,050 Það compartmentalizes það. 1582 01:12:55,050 --> 01:13:00,110 Það er eins og að skrifa nokkur haus skrá og þá meðal að haus skrá í C 1583 01:13:00,110 --> 01:13:01,620 Hugsaðu um það eins og þetta. 1584 01:13:01,620 --> 01:13:02,680 Svo hvað þýðir þetta? 1585 01:13:02,680 --> 01:13:04,560 Jæja, þetta er að fara að keyra. 1586 01:13:04,560 --> 01:13:05,410 Það er að fara að heyrast. 1587 01:13:05,410 --> 01:13:08,020 Svo þú ert að fara að fá smá skjóta upp kollinum sem heitir Halló heimur. 1588 01:13:08,020 --> 01:13:11,420 Quick spurning, bara geðheilbrigði stöðva, svo þú sérð hér í líkamanum, 1589 01:13:11,420 --> 01:13:13,160 segja líkama, HTML hér. 1590 01:13:13,160 --> 01:13:14,080 Hvað kemur fyrst? 1591 01:13:14,080 --> 01:13:16,864 Get ég séð líkama, HTML hér, eða get ég séð viðvörun fyrst? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> Áhorfendur: Alert. 1594 01:13:20,820 --> 01:13:21,470 >> DAVIN: Hægri. 1595 01:13:21,470 --> 01:13:22,110 Hann segir vakandi. 1596 01:13:22,110 --> 01:13:22,610 Hvers vegna? 1597 01:13:22,610 --> 01:13:24,470 >> Áhorfendur: Þar sem þú fara frá toppur til botn. 1598 01:13:24,470 --> 01:13:25,600 >> DAVIN: Já. 1599 01:13:25,600 --> 01:13:26,100 Perfect. 1600 01:13:26,100 --> 01:13:29,207 Svo segir hann, þú ferð frá toppi til botn, sem er alveg rétt. 1601 01:13:29,207 --> 01:13:30,790 Þú ert að fara að fara frá toppur til botn. 1602 01:13:30,790 --> 01:13:34,790 Og í JavaScript, jQuery, hefur þú fall sem er eins onload, eða tilbúinn, 1603 01:13:34,790 --> 01:13:38,030 og það segir, OK, bíddu þangað til allan HTML hefur hlaðinn. 1604 01:13:38,030 --> 01:13:39,580 Og þá, hringja í JavaScript. 1605 01:13:39,580 --> 01:13:42,190 Þar sem við höfum ekki hér, mjög fyrstur hlutur sem er að fara að gerast 1606 01:13:42,190 --> 01:13:43,920 er það er að fara að fara frá toppur til botn. 1607 01:13:43,920 --> 01:13:46,310 Það er að fara að lemja það JS kalla, það er að fara að heyrast. 1608 01:13:46,310 --> 01:13:49,510 Eftir að þú smellir á OK, sem láta fer í burtu. 1609 01:13:49,510 --> 01:13:53,600 Þá er það að fara að sýna þú líkaminn HTML hér. 1610 01:13:53,600 --> 01:13:54,590 Nice. 1611 01:13:54,590 --> 01:14:00,880 >> OK, svo bara alvöru fljótur, skrifa JavaScript er frábær fljótur. 1612 01:14:00,880 --> 01:14:02,710 Til að lýsa breytu, var nafn. 1613 01:14:02,710 --> 01:14:07,070 Svo í C, hefur þú int i, hefur þú til að lýsa hvers konar tegund það er. 1614 01:14:07,070 --> 01:14:08,040 PHP, $. 1615 01:14:08,040 --> 01:14:08,755 JavaScript, var. 1616 01:14:08,755 --> 01:14:09,630 Við ræddum um þetta. 1617 01:14:09,630 --> 01:14:11,020 Allt í lagi, við skulum fara. 1618 01:14:11,020 --> 01:14:12,510 >> Lykkjur, sama. 1619 01:14:12,510 --> 01:14:14,230 Sami hlutur. 1620 01:14:14,230 --> 01:14:18,165 Virka yfirlýsingar, svo bara eins og þú hafir séð í C. 1621 01:14:18,165 --> 01:14:21,290 Það eina sem öðruvísi er svo þegar þú færð að önnur forritunarmál, 1622 01:14:21,290 --> 01:14:24,780 eins og þegar þú tekur 51 á næsta ári og þú ert að gera með OCAML, 1623 01:14:24,780 --> 01:14:26,690 þú getur tekist á við nafnlaus virka. 1624 01:14:26,690 --> 01:14:28,240 Svo er það einmitt það sem þú ert hér. 1625 01:14:28,240 --> 01:14:31,560 Svo þú vilja til setja í summu, einhvers konar summa gildi. 1626 01:14:31,560 --> 01:14:33,870 En þú gætir bara verið að gera það einu sinni. 1627 01:14:33,870 --> 01:14:37,310 Svo þú vilt ekki að kalla það fall summa, gefa það a virka yfirlýsingu. 1628 01:14:37,310 --> 01:14:39,830 Þess í stað, þú notar bara það sem nafnlaus aðgerð. 1629 01:14:39,830 --> 01:14:42,469 Og þú hefur séð þetta mikið. 1630 01:14:42,469 --> 01:14:44,510 Þú munt sjá dæmi um þetta í nokkra skyggnur. 1631 01:14:44,510 --> 01:14:45,597 Já, við munum sjá. 1632 01:14:45,597 --> 01:14:46,430 Gabe: Góð spurning. 1633 01:14:46,430 --> 01:14:50,660 Þegar þú might vilja til nota nafnlaus virka hér? 1634 01:14:50,660 --> 01:14:54,111 Í grundvallaratriðum, þegar þú vilt eitthvað, eins atburði, að gerast. 1635 01:14:54,111 --> 01:14:55,860 Svo þegar músin er smellt, til dæmis, 1636 01:14:55,860 --> 01:14:57,790 þú vilja sumir virka að vera gestur. 1637 01:14:57,790 --> 01:15:00,570 Svo þú fara til the atburður stjórnandinn, framhjá þér að atburðinum 1638 01:15:00,570 --> 01:15:02,870 konar, sem virka sem þú vilja vera kallaður. 1639 01:15:02,870 --> 01:15:04,710 Og hvað þú ert liggur er eins og, í lok 1640 01:15:04,710 --> 01:15:08,757 dagsins, bara bendi á að kennsla, að virka. 1641 01:15:08,757 --> 01:15:11,090 Svo það er ekki eins og þú ert að brottför allt númer, rétt eins og 1642 01:15:11,090 --> 01:15:12,173 bendi aðgerðina. 1643 01:15:12,173 --> 01:15:17,871 Og svo, þegar einhver smellir á mús, þá virka fær kallað. 1644 01:15:17,871 --> 01:15:22,340 >> DAVIN: Fylki, svo þú hafa array yfirlýsingu. 1645 01:15:22,340 --> 01:15:23,990 Þá fylki til að setja hlutina í. 1646 01:15:23,990 --> 01:15:25,769 Raunverulegur fljótur, hvað mun þetta prenta út? 1647 01:15:25,769 --> 01:15:27,060 Hvað mun þriðja þáttur að vera? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> Áhorfendur: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> DAVIN: Hægri, það væri "JS." 1651 01:15:33,940 --> 01:15:35,760 Bíddu, fara til baka. 1652 01:15:35,760 --> 01:15:37,100 Hvað er lengd? 1653 01:15:37,100 --> 01:15:38,117 >> Áhorfendur: Three. 1654 01:15:38,117 --> 01:15:38,950 DAVIN: Three, ekki satt? 1655 01:15:38,950 --> 01:15:40,210 Einmitt það sem þú hugsar. 1656 01:15:40,210 --> 01:15:42,072 OK, nú fara. 1657 01:15:42,072 --> 01:15:43,530 Fylki, getur þú bætt þeim eitthvað. 1658 01:15:43,530 --> 01:15:45,395 Svo er hægt að fara út Fyrstu mörk þeirra. 1659 01:15:45,395 --> 01:15:46,740 Bara eitthvað til að hafa í huga. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, þeir smá aðeins meira fyrirgefa hvað varðar hluti 1661 01:15:49,760 --> 01:15:50,570 eins og þessi. 1662 01:15:50,570 --> 01:15:54,260 Hlutir, mjög mikið eins og structs í C, mjög mikið 1663 01:15:54,260 --> 01:15:56,590 eins tengin fylki í PHP. 1664 01:15:56,590 --> 01:15:58,720 Þú hefur öll haft reynslu með þetta. 1665 01:15:58,720 --> 01:16:01,880 Svo JSON, þegar þú ert að brottför JSON fram og til baka í p-setja átta, 1666 01:16:01,880 --> 01:16:03,260 það er hlutur þinn. 1667 01:16:03,260 --> 01:16:06,290 >> Svo já, dæmi, raunverulegur fljótur dæmi. 1668 01:16:06,290 --> 01:16:07,880 Hér er hlutur. 1669 01:16:07,880 --> 01:16:12,700 The vegur þú vísa þessu hlut, svo bara alvöru fljótur, 1670 01:16:12,700 --> 01:16:18,630 skulum segja að ég vildi finna út, OK, hvað er námskeiðið? 1671 01:16:18,630 --> 01:16:20,681 Og svo að mótmæla nafn hér er CS50. 1672 01:16:20,681 --> 01:16:23,180 Og þá ef ég hefði tengin array, hvernig myndi ég gera það? 1673 01:16:23,180 --> 01:16:24,580 Ég ætla að nota lykil, ekki satt? 1674 01:16:24,580 --> 01:16:26,030 Þannig að ég hef nafn fylkisins. 1675 01:16:26,030 --> 01:16:30,160 Ég hef krappi, tilvitnanir, lykill, endir vitna, enda krappi, 1676 01:16:30,160 --> 01:16:33,610 og það mun vísa að þáttur inni tengin array minn. 1677 01:16:33,610 --> 01:16:37,646 Hvernig set ég vísað Auðvitað inni hlut minn? 1678 01:16:37,646 --> 01:16:39,170 Hver veit? 1679 01:16:39,170 --> 01:16:40,622 >> Áhorfendur: [inaudible]. 1680 01:16:40,622 --> 01:16:41,784 >> DAVIN: Hvað er upp? 1681 01:16:41,784 --> 01:16:42,700 Áhorfendur: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 DAVIN: Hægri, já. 1683 01:16:43,510 --> 01:16:45,320 Svo CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Svo hvernig þú vísað hluti inni í JSON mótmæla er með punkti. 1685 01:16:48,770 --> 01:16:53,114 >> Áhorfendur: Þú getur einnig notað array setningafræði. 1686 01:16:53,114 --> 01:16:54,050 >> DAVIN: OK, allt í lagi. 1687 01:16:54,050 --> 01:16:57,544 >> Gabe: Þú getur einnig notað CS50 krappi, band, eins og gæsalappa. 1688 01:16:57,544 --> 01:16:59,210 Áhorfendur: Ég held að það er eins og PHP. 1689 01:16:59,210 --> 01:17:00,293 Gabe: Það er það sama. 1690 01:17:00,293 --> 01:17:02,487 DAVIN: Fine! 1691 01:17:02,487 --> 01:17:03,945 En þú munt sjá þetta á öðrum stöðum. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Já, svo halda áfram. 1694 01:17:10,480 --> 01:17:13,330 Þetta er það sem ég sagði bara. 1695 01:17:13,330 --> 01:17:17,840 Svo í JavaScript jQuery dæmi. 1696 01:17:17,840 --> 01:17:19,440 Svo er þetta DOM minn, ekki satt? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Raunverulegur fljótur, þannig að ég hef a höfuð, halló heimur, líkami. 1699 01:17:25,410 --> 01:17:26,160 Ég er með hnappinn. 1700 01:17:26,160 --> 01:17:27,870 Það segir "ýta mér," svo ég vil að ýta því. 1701 01:17:27,870 --> 01:17:29,745 Og ég vil gera eitthvað þegar það er smellt. 1702 01:17:29,745 --> 01:17:31,220 Einmitt, við hliðina. 1703 01:17:31,220 --> 01:17:34,630 >> Einmitt, svo er þetta mitt JavaScript. 1704 01:17:34,630 --> 01:17:37,790 Svo er bara auðveldara jQuery leið til að skrifa JavaScript. 1705 01:17:37,790 --> 01:17:40,920 Þannig að þetta, og það sem ég ætla að sýna þú næst, er að fara að vera jQuery, 1706 01:17:40,920 --> 01:17:41,930 eru eins. 1707 01:17:41,930 --> 01:17:43,990 Svo þeir vilja gera sömu hlutina. 1708 01:17:43,990 --> 01:17:45,974 Bara jQuery hefur tilhneigingu til að vera svolítið auðveldara. 1709 01:17:45,974 --> 01:17:47,140 Fólk tilhneigingu til eins og það meira. 1710 01:17:47,140 --> 01:17:48,390 Það hefur a einhver fjöldi af virkni. 1711 01:17:48,390 --> 01:17:49,830 Svo fólk hafa tilhneigingu til að nota jQuery. 1712 01:17:49,830 --> 01:17:53,270 Þú allar notað jQuery í síðustu p-setja. 1713 01:17:53,270 --> 01:17:54,270 Svo hvað þetta gerir? 1714 01:17:54,270 --> 01:17:56,580 Hvað mun þetta Javascript-- svo þetta er bara látlaus JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Hvað mun þetta gera? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Hvað mun það gera? 1718 01:18:03,450 --> 01:18:04,890 >> Svo fyrst þú sérð glugga onload. 1719 01:18:04,890 --> 01:18:05,390 Ekki satt? 1720 01:18:05,390 --> 01:18:06,640 Svo við fengum ekki að sjá að áður. 1721 01:18:06,640 --> 01:18:09,380 Þannig að þetta er að fara að bíða þar öllum glugganum sækir. 1722 01:18:09,380 --> 01:18:12,770 Svo það er að fara að bíða þangað til HTML, allar myndirnar hlaða 1723 01:18:12,770 --> 01:18:13,770 áður en það gerir eitthvað. 1724 01:18:13,770 --> 01:18:16,050 Svo skulum segja DOM okkar hefur hlaðinn. 1725 01:18:16,050 --> 01:18:17,270 Allt er þar. 1726 01:18:17,270 --> 01:18:19,080 Þá hvað er að fara að gerast? 1727 01:18:19,080 --> 01:18:19,922 Já? 1728 01:18:19,922 --> 01:18:22,880 >> Áhorfendur: Button birtist. 1729 01:18:22,880 --> 01:18:25,201 >> DAVIN: The hnappur er þar nú þegar. 1730 01:18:25,201 --> 01:18:26,700 Já, svo á hnappinn er þar nú þegar. 1731 01:18:26,700 --> 01:18:31,190 En þetta er að fara að segja, OK, ef ég smelli á hnappinn, 1732 01:18:31,190 --> 01:18:33,650 svo á hnappinn er þegar það, eins og þessi HTML tag. 1733 01:18:33,650 --> 01:18:35,980 Bíddu, fara aftur raunverulegur fljótur. 1734 01:18:35,980 --> 01:18:39,470 Þetta merki rétt hérna er fara til vera a hnappur þegar. 1735 01:18:39,470 --> 01:18:40,810 Það er nú þegar hnappur. 1736 01:18:40,810 --> 01:18:44,120 En þá, sem JavaScript tag, hérna, 1737 01:18:44,120 --> 01:18:46,160 segir, OK, ég vil að fá eininguna með því auðkenni, 1738 01:18:46,160 --> 01:18:50,300 svo leita hnappinn segir bara, OK, ég vil að kortleggja þessa breytu til þess hnappinn. 1739 01:18:50,300 --> 01:18:53,120 Svo að breyta er bara auðveldari leið til að fá aðgang að hnappinn. 1740 01:18:53,120 --> 01:18:57,300 Og ég segi, OK, ef ég smelli sem hnappinn, þannig að ef ég smelli fyrir að sá hluti, 1741 01:18:57,300 --> 01:18:59,560 og þessi þáttur er átt við hnappurinn, ef ég á hana, 1742 01:18:59,560 --> 01:19:00,875 þá vil ég að hringja í aðgerð. 1743 01:19:00,875 --> 01:19:03,500 Hér er einn af þeim nafnlaus aðgerðir við vorum að tala um. 1744 01:19:03,500 --> 01:19:04,840 >> Bara hringja sumir virka. 1745 01:19:04,840 --> 01:19:08,840 Inni að virka, í grundvallaratriðum eitthvað sem við höfum séð mikið, vakandi. 1746 01:19:08,840 --> 01:19:10,477 Þú smellir á hnappinn Leita. 1747 01:19:10,477 --> 01:19:12,060 Það er að fara að í grundvallaratriðum hafa hnappinn. 1748 01:19:12,060 --> 01:19:13,040 Þú smellir á það. 1749 01:19:13,040 --> 01:19:14,040 Þú færð að viðvörun. 1750 01:19:14,040 --> 01:19:14,850 X út. 1751 01:19:14,850 --> 01:19:15,754 Það er hann. 1752 01:19:15,754 --> 01:19:16,254 Já? 1753 01:19:16,254 --> 01:19:21,980 >> Áhorfendur: Svo ef þú setur handritið [Inaudible], handrit tag í HTML? 1754 01:19:21,980 --> 01:19:24,300 >> DAVIN: Þú getur sett handriti tag beint í höfuðið 1755 01:19:24,300 --> 01:19:30,667 vegna þess að þú hefur þetta onload. 1756 01:19:30,667 --> 01:19:32,000 Það er líka að þú ert smell. 1757 01:19:32,000 --> 01:19:34,166 Svo það er að fara að bíða þangað til þú smellir á eitthvað. 1758 01:19:34,166 --> 01:19:37,470 En onload er bara til að vera örugg, að gera skugga um að allt fullt í HTML 1759 01:19:37,470 --> 01:19:38,170 fyrirfram. 1760 01:19:38,170 --> 01:19:39,247 Já? 1761 01:19:39,247 --> 01:19:40,330 Þú vilt segja eitthvað? 1762 01:19:40,330 --> 01:19:41,080 >> Gabe: [inaudible]. 1763 01:19:41,080 --> 01:19:42,485 DAVIN: Já. 1764 01:19:42,485 --> 01:19:45,426 >> Áhorfendur: Svo onload forðast skilgreina breytu leita hnappinn 1765 01:19:45,426 --> 01:19:49,930 bara með því að segja document.getElementByID leita hnappinn punktur [inaudible]. 1766 01:19:49,930 --> 01:19:52,320 >> DAVIN: Ákveðið, en þá band fær bara mikið. 1767 01:19:52,320 --> 01:19:55,553 Einmitt, svo er þetta bara til að gera það auðveldara fyrir þig, já. 1768 01:19:55,553 --> 01:19:56,053 Já? 1769 01:19:56,053 --> 01:19:57,886 >> Áhorfendur: Hvar gerði við búa window.onload? 1770 01:19:57,886 --> 01:19:58,951 Eða document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> DAVIN: Já, það er. 1772 01:20:00,590 --> 01:20:02,094 Já, það er, kannaði ég. 1773 01:20:02,094 --> 01:20:03,710 >> Gabe: Ekki fyrir þá til að hugsa um. 1774 01:20:03,710 --> 01:20:06,970 >> DAVIN: OK, þannig að ég ætla að fara að segja þér engu að síður. 1775 01:20:06,970 --> 01:20:11,005 Svo í rauninni, bara almennt, svo window.onload bíður fram DOM, allur 1776 01:20:11,005 --> 01:20:12,180 HTML, fullt. 1777 01:20:12,180 --> 01:20:13,513 Það bíður fram myndir hlaða. 1778 01:20:13,513 --> 01:20:14,930 Það bíður þangað til allt fullt. 1779 01:20:14,930 --> 01:20:18,410 document.ready, það bara bíður fram DOM fullt þínum. 1780 01:20:18,410 --> 01:20:22,190 Þegar HTML er allt þarna, einu sinni DOM er það, byrjar að keyra. 1781 01:20:22,190 --> 01:20:23,400 Það er eini munurinn. 1782 01:20:23,400 --> 01:20:24,700 >> Gabe: Quick geðheilbrigði athuga hér. 1783 01:20:24,700 --> 01:20:29,060 Þannig að þetta er hægt að sjá konar eins línu af kóða, ekki satt? 1784 01:20:29,060 --> 01:20:33,600 Vegna þess að það er window.onload jafngildir fullt af efni. 1785 01:20:33,600 --> 01:20:39,030 Þegar JavaScript les þetta, satt eða rangar, sem virka fær keyrð. 1786 01:20:39,030 --> 01:20:40,020 False. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 Hvað gerist hér, þú ert bara farið þessi aðgerð sem nafnlaus virka 1789 01:20:44,470 --> 01:20:45,300 að window.onload. 1790 01:20:45,300 --> 01:20:48,480 Og svo þegar það er að fara að í raun fá fram? 1791 01:20:48,480 --> 01:20:49,600 Þegar gluggi opnast. 1792 01:20:49,600 --> 01:20:50,420 Það er atburður. 1793 01:20:50,420 --> 01:20:52,460 Svo er það jus t sem við erum að tala um áðan, ekki satt? 1794 01:20:52,460 --> 01:20:54,580 Svo þegar atburður gerist, fallið gerist. 1795 01:20:54,580 --> 01:20:55,746 Sami hlutur með onClick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> DAVIN: OK, svo einhver tók burt document.ready. 1798 01:21:03,130 --> 01:21:04,698 En þetta mun vera nákvæmlega same-- 1799 01:21:04,698 --> 01:21:06,864 Áhorfendur: The dollari skilti, sem er document.ready. 1800 01:21:06,864 --> 01:21:07,710 Það er flýtileið. 1801 01:21:07,710 --> 01:21:08,501 >> DAVIN: Ó, það er? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 OK, Þannig að þetta þýðir document.ready, flýtileið. 1804 01:21:15,500 --> 01:21:19,660 En þetta er það sama og window.onload nema fyrir smá munur 1805 01:21:19,660 --> 01:21:20,680 Ég sagði þér frá. 1806 01:21:20,680 --> 01:21:21,870 Og þetta er jQuery. 1807 01:21:21,870 --> 01:21:25,190 Þannig að þetta er nákvæmlega sama thing-- þetta er JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Þetta er just-- sumir hugsa um það sem meira ljós þyngd, sléttur útgáfa 1809 01:21:29,500 --> 01:21:32,370 sem hefur hellingur af virkni að þú munt sennilega vera með. 1810 01:21:32,370 --> 01:21:34,500 Svo er þetta nákvæmlega það sama. 1811 01:21:34,500 --> 01:21:37,110 >> Svo það að eins konar benda á. 1812 01:21:37,110 --> 01:21:40,364 Svo í öðrum td við hafði document.getElementByID, 1813 01:21:40,364 --> 01:21:42,280 svo við höfðum þetta lengi band sem er að fara að fá 1814 01:21:42,280 --> 01:21:44,290 þáttur af þeirri ID það hefur. 1815 01:21:44,290 --> 01:21:46,470 Það er komi þessu símtali hérna. 1816 01:21:46,470 --> 01:21:50,860 Svo þú sérð dollaramerki, þá sérðu vitna, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag er alltaf val. 1818 01:21:52,370 --> 01:21:54,730 Það segir, OK, þetta hefur að gera með auðkenni. 1819 01:21:54,730 --> 01:21:56,120 Hvað er val fyrir flokk? 1820 01:21:56,120 --> 01:21:57,190 >> Áhorfendur: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> DAVIN: Dot, ekki satt. 1822 01:21:57,960 --> 01:22:01,950 Ef þú ert bara að fara að Veldu merki, hvað er það? 1823 01:22:01,950 --> 01:22:03,310 Það er bara tag, nákvæmlega. 1824 01:22:03,310 --> 01:22:05,560 Og þú getur notað það hér, eins og heilbrigður. 1825 01:22:05,560 --> 01:22:08,560 >> Gabe: Og tag, er átt við eins div, til dæmis, eða höfuð. 1826 01:22:08,560 --> 01:22:11,500 >> DAVIN: Eða aðili eða p eða eitthvað svoleiðis, já. 1827 01:22:11,500 --> 01:22:14,390 Svo hér, OK, í stað þess að segja document.getElementByID, 1828 01:22:14,390 --> 01:22:16,500 þetta er bara nákvæmlega það sama. 1829 01:22:16,500 --> 01:22:17,990 Bara í jQuery, það er styttra. 1830 01:22:17,990 --> 01:22:19,860 Svo er það einfaldara. 1831 01:22:19,860 --> 01:22:23,420 Svo, ekki meira onClick, bara smella. 1832 01:22:23,420 --> 01:22:26,320 jQuery virka, kalla þessa aðgerð. 1833 01:22:26,320 --> 01:22:27,580 Alert er nákvæmlega sama. 1834 01:22:27,580 --> 01:22:29,452 Svo það er svolítið minni, eða svolítið 1835 01:22:29,452 --> 01:22:32,410 styttri, heldur lítið bit-- fólk það er svolítið auðveldara að skrifa út, 1836 01:22:32,410 --> 01:22:34,600 svolítið auðveldara að skilja. 1837 01:22:34,600 --> 01:22:35,640 En þetta er jQuery. 1838 01:22:35,640 --> 01:22:37,887 A einhver fjöldi af fólk að fá smá dálítið ruglaður og áhyggjur 1839 01:22:37,887 --> 01:22:40,220 og þeir hugsa, OK, jQuery er öðruvísi en JavaScript. 1840 01:22:40,220 --> 01:22:42,136 Ég verð að muna þetta tveir mismunandi hlutir. 1841 01:22:42,136 --> 01:22:42,740 Það er ekki. 1842 01:22:42,740 --> 01:22:45,315 Ég meina, það er mismunandi setningafræði. 1843 01:22:45,315 --> 01:22:46,970 En jQuery er JavaScript. 1844 01:22:46,970 --> 01:22:50,050 Það er bara að því er virðist betri útgáfa sem 1845 01:22:50,050 --> 01:22:51,967 gæti verið auðveldara að skilja að fólk notar. 1846 01:22:51,967 --> 01:22:53,716 Gabe: Já, að vera heiðarlegur, það dollaramerki 1847 01:22:53,716 --> 01:22:57,240 sem þú sérð í jQuery, það er bara nafn á aðgerð sem jQuery skilgreinir. 1848 01:22:57,240 --> 01:22:58,614 Það hefur ekki neitt sérstakt. 1849 01:22:58,614 --> 01:23:03,140 Er það er bara nafn fall, bara eins og þú gætum skilgreint dollaramerki. 1850 01:23:03,140 --> 01:23:05,670 >> DAVIN: Einmitt, svo talað um þetta. 1851 01:23:05,670 --> 01:23:06,680 Nokkur gagnleg atriði. 1852 01:23:06,680 --> 01:23:10,414 Ég var að horfa aftur á gömlu Skyndipróf. 1853 01:23:10,414 --> 01:23:13,080 Á undanförnum Skyndipróf par, þeir þurfti að nota hluti eins og þetta. 1854 01:23:13,080 --> 01:23:15,230 Svo document.ready, svo ganga úr skugga um að allt er 1855 01:23:15,230 --> 01:23:17,410 hlaðinn áður en þú byrjar að gera hlutina. 1856 01:23:17,410 --> 01:23:20,120 Veldu auðkennið eða velja flokki, myndi það bara 1857 01:23:20,120 --> 01:23:24,020 vera vitna punktur sumir bekknum, enda vitna. 1858 01:23:24,020 --> 01:23:26,580 Leggja fram, þannig að ef þú ert senda mynd og kalla 1859 01:23:26,580 --> 01:23:28,830 þessi aðgerð eftir formi leggur. 1860 01:23:28,830 --> 01:23:34,210 Value, þannig að við skulum segja að ég átti mynd uppgjöf, eins og notandanafn, tölvupóst, 1861 01:23:34,210 --> 01:23:34,950 hvað sem er. 1862 01:23:34,950 --> 01:23:36,010 Ég hafði textabox. 1863 01:23:36,010 --> 01:23:37,670 Þannig að ég ætla að slá inn í þessi textareitinn. 1864 01:23:37,670 --> 01:23:42,170 Jæja, ef þú vilt fá verðmæti út af því að textareitinn, notar þú punktur Val. 1865 01:23:42,170 --> 01:23:44,050 Og þá, hérna, punktur HTML er það sama 1866 01:23:44,050 --> 01:23:47,710 er eins skjal punktur getElementByID punktur Innerhtml. 1867 01:23:47,710 --> 01:23:50,890 Svo það er að fara að fara aftur þú HTML frá þeim ID. 1868 01:23:50,890 --> 01:23:55,080 Hér þú notar bara ID eða hvað punktur HTML. 1869 01:23:55,080 --> 01:23:56,930 Það mun fá HTML frá því frumefni. 1870 01:23:56,930 --> 01:24:00,130 Ef þú vildi þá breyta því HTML, getur þú framhjá henni eitthvað. 1871 01:24:00,130 --> 01:24:05,600 Svo þú vilt vera eins og punktur HTML, og þá inni, vitna, ný HTML eða eitthvað. 1872 01:24:05,600 --> 01:24:07,490 >> Gabe: OK, svo AJAX. 1873 01:24:07,490 --> 01:24:10,347 Mér finnst virkilega að skilja AJAX mjög vel. 1874 01:24:10,347 --> 01:24:12,430 Svo ég vil ykkur til skilja AJAX mjög vel. 1875 01:24:12,430 --> 01:24:14,221 Vegna þess að ef þú gerir það, þú ert ansi mikið að fara 1876 01:24:14,221 --> 01:24:16,810 að skilja allt sem hefur að gera með HTTP, PHP, 1877 01:24:16,810 --> 01:24:21,080 JavaScript vegna það allt kemur saman í AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX er ekki tungumál. 1879 01:24:25,130 --> 01:24:27,000 AJAX er tækni. 1880 01:24:27,000 --> 01:24:31,690 Og það notar fullt af mismunandi verkfæri. 1881 01:24:31,690 --> 01:24:35,090 AJAX stendur fyrir ósamstilltur JavaScript XML. 1882 01:24:35,090 --> 01:24:36,730 Svo aðferð, tungumálið, gögnin. 1883 01:24:36,730 --> 01:24:40,610 >> Svo helstu tungumál sem við notum í AJAX til að kveikja allt 1884 01:24:40,610 --> 01:24:42,830 og að höndla allt síðar er JavaScript. 1885 01:24:42,830 --> 01:24:45,160 Það er hvers vegna það tengist mjög nálægt JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Og þá er ósamstilltur vegna þess að við gerum það ekki 1887 01:24:49,810 --> 01:24:51,980 allt í einu þegar við erum að hlaða síðuna. 1888 01:24:51,980 --> 01:24:57,190 Þetta er hlutur sem við getum gera hlutina konar samhliða. 1889 01:24:57,190 --> 01:24:59,725 The aðalæð hugmynd á bak AJAX er sem þú vilt 1890 01:24:59,725 --> 01:25:02,170 það að fá smá tilteknar upplýsingar. 1891 01:25:02,170 --> 01:25:06,450 Til dæmis, þegar þú ert að skrifa nýja notandanafn þegar þú skráir notandanafn, 1892 01:25:06,450 --> 01:25:08,520 Notendanafnið mitt er abc123. 1893 01:25:08,520 --> 01:25:11,671 Og þá, í ​​lok sem mynd, þú þarft að smella á Senda. 1894 01:25:11,671 --> 01:25:14,420 Og það þurfti að fara til the framreiðslumaður, og þá athuga hvort í gagnagrunninum, 1895 01:25:14,420 --> 01:25:15,594 abc123 er þar nú þegar. 1896 01:25:15,594 --> 01:25:18,510 Og ef það er nú þegar, segir hann, notandanafn er þegar í gagnagrunninum. 1897 01:25:18,510 --> 01:25:21,010 Og þeir, þú þarft að fylla út öllu formi aftur. 1898 01:25:21,010 --> 01:25:23,110 Og það var virkilega, virkilega slæmt. 1899 01:25:23,110 --> 01:25:25,440 >> Og þá fólk segja, OK, hvers vegna getur ekki við bara 1900 01:25:25,440 --> 01:25:29,560 gera lítið HTTP beiðni til réttlátur stöðva til að sjá hvort þessi notandi er í gagnagrunninum 1901 01:25:29,560 --> 01:25:32,080 áður en notandinn þurfti að leggja allt formi? 1902 01:25:32,080 --> 01:25:36,350 Svo til dæmis, þegar notandi lýkur slá abc123, 1903 01:25:36,350 --> 01:25:39,660 skulum fara bara til miðlara a lítill bita og bara sannur eða falskur 1904 01:25:39,660 --> 01:25:43,080 frá miðlara til að sjá hvort það er gilt notandanafn eða ekki. 1905 01:25:43,080 --> 01:25:49,250 OK, svo er það eitt af helstu notar AJAX nú á dögum enn. 1906 01:25:49,250 --> 01:25:52,130 >> DAVIN: Svo raunverulegur fljótur, í að Ajax hringja í jQuery, 1907 01:25:52,130 --> 01:25:54,770 þú gætir endilega að þér vil það að vera samstilltur. 1908 01:25:54,770 --> 01:25:56,330 Þú ættir ekki að gera þetta. 1909 01:25:56,330 --> 01:25:57,640 En þú getur gert það. 1910 01:25:57,640 --> 01:25:59,277 Og ef þú gerðir það, hvað myndi gerast? 1911 01:25:59,277 --> 01:26:01,610 Jæja, til dæmis, þegar þú ert fá fréttir eða hvað, 1912 01:26:01,610 --> 01:26:05,464 Vafrinn þinn er bara að fara að bíða þar sem allt símtalið er lokið 1913 01:26:05,464 --> 01:26:08,130 í stað þess að láta þig gera annað hlutina rétt eftir að þú smellir því. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> Gabe: Það er ekki farið aftur. 1916 01:26:17,115 --> 01:26:19,681 Oh my god. 1917 01:26:19,681 --> 01:26:20,180 Sorry! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Yup. 1920 01:26:23,601 --> 01:26:25,350 "Í the fortíð, viðskiptavinur þarf að beiðni 1921 01:26:25,350 --> 01:26:26,840 allt efni á vefsíðu. " 1922 01:26:26,840 --> 01:26:28,210 Það er það sem ég sagði. 1923 01:26:28,210 --> 01:26:30,070 Það gerir okkur kleift að senda viðbótar GET eða POST 1924 01:26:30,070 --> 01:26:32,140 beiðnir án þess að hafa að endurræsa vafrann okkar. 1925 01:26:32,140 --> 01:26:34,806 Svo í lok dagsins erum við í raun að gera HTTP beiðnir 1926 01:26:34,806 --> 01:26:35,740 hér að nota JavaScript. 1927 01:26:35,740 --> 01:26:39,700 Því áður, sem við notuðum bara JavaScript að breyta HTML sem þegar kom. 1928 01:26:39,700 --> 01:26:43,110 Og nú getum við notað það til tengi með the vefur framreiðslumaður eins og heilbrigður. 1929 01:26:43,110 --> 01:26:46,140 Leiðin þetta gerist er að við höfum viðskiptavinur. 1930 01:26:46,140 --> 01:26:47,340 Davin er viðskiptavinur. 1931 01:26:47,340 --> 01:26:50,797 Og hann hefur alla JavaScript gangi því HTML er heimsk. 1932 01:26:50,797 --> 01:26:51,630 JavaScript er klár. 1933 01:26:51,630 --> 01:26:54,690 Svo hefur davin Davin klár hans hluti og heimsk hluti hans. 1934 01:26:54,690 --> 01:26:57,590 Hann er að fara að nota Smart hluta hans nú. 1935 01:26:57,590 --> 01:27:00,860 Hann er að fara að nota JavaScript til beiðni, til dæmis, 1936 01:27:00,860 --> 01:27:04,340 hvort abc123 er í gagnagrunninum eða ekki. 1937 01:27:04,340 --> 01:27:08,450 >> Svo Davin, vinsamlegast, þú bara senda mér HTTP beiðni. 1938 01:27:08,450 --> 01:27:09,197 Þakka þér. 1939 01:27:09,197 --> 01:27:10,530 Svo sendi hann bara HTTP beiðni. 1940 01:27:10,530 --> 01:27:11,270 Þú sérð það? 1941 01:27:11,270 --> 01:27:14,700 Og það er bara á sama hátt að allir HTTP beiðni er send. 1942 01:27:14,700 --> 01:27:16,830 The flettitæki, Google Króm eða eitthvað, er 1943 01:27:16,830 --> 01:27:19,570 fara að sjá að Davin er reyna að senda HTTP beiðni, 1944 01:27:19,570 --> 01:27:20,930 að fara að hjálpa HM svolítið. 1945 01:27:20,930 --> 01:27:23,950 Og það er að fara að fara alla leið til the framreiðslumaður. 1946 01:27:23,950 --> 01:27:27,370 Nú, the framreiðslumaður er að fara að hafa PHP hér, eða önnur tungumál. 1947 01:27:27,370 --> 01:27:29,990 Rétt eins og í venjulegum HTTP beiðni. 1948 01:27:29,990 --> 01:27:31,950 Það er ansi mikið eðlilegt HTTP beiðni. 1949 01:27:31,950 --> 01:27:33,658 >> Og þá, þjóninum er að fara að segja, OK, 1950 01:27:33,658 --> 01:27:37,270 Davin vill mig til að athuga hvort þessi abc123 er í gagnagrunninum. 1951 01:27:37,270 --> 01:27:38,310 Fara tala fyrirmyndinni. 1952 01:27:38,310 --> 01:27:41,310 Líkanið segir það er ekki. abc123 er góð notandanafn. 1953 01:27:41,310 --> 01:27:47,940 Og þá er vefur framreiðslumaður er að fara að nota PHP til að veita einhvers konar skrá. 1954 01:27:47,940 --> 01:27:52,280 Það gæti verið bókstaflega bara skrá sem inniheldur "já" í það, eða "nei, 1955 01:27:52,280 --> 01:27:53,315 eða eitthvað svoleiðis. 1956 01:27:53,315 --> 01:27:54,190 Það gæti verið einhver skrá. 1957 01:27:54,190 --> 01:27:57,080 >> Það gæti verið eins og ég ætla að senda Davin mynd af önd 1958 01:27:57,080 --> 01:28:01,200 ef það er í gagnagrunninum og senda mynd af hamsturinn 1959 01:28:01,200 --> 01:28:02,420 ef það er ekki í gagnagrunninum. 1960 01:28:02,420 --> 01:28:04,294 Það var svoldið heimsk, en það mun virka. 1961 01:28:04,294 --> 01:28:07,030 OK, þannig að ég sendi önd til Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin fékk önd. 1963 01:28:08,150 --> 01:28:13,330 Og nú, sem er að fara að takast á við önd? 1964 01:28:13,330 --> 01:28:16,390 Klár hluti Davin á ný, svo JavaScript, ekki satt? 1965 01:28:16,390 --> 01:28:18,620 JavaScript sendi beiðni, og JavaScript 1966 01:28:18,620 --> 01:28:22,300 er að fara að fá beiðni og túlka það á einhvern hátt. 1967 01:28:22,300 --> 01:28:26,630 >> Og í þessum skilningi, það er að fara að segja, OK, ef önd þá er ég góður. 1968 01:28:26,630 --> 01:28:30,770 Ef hamsturinn, þá er ég að fara að segja, nei, notandanafn þegar 1969 01:28:30,770 --> 01:28:31,970 er til í gagnagrunninum. 1970 01:28:31,970 --> 01:28:33,845 En yfirleitt, þú ert ekki að fara að senda önd. 1971 01:28:33,845 --> 01:28:36,740 Þú ert að fara að senda eitthvað örlítið betri. 1972 01:28:36,740 --> 01:28:40,320 Og það sem við notum er XML. 1973 01:28:40,320 --> 01:28:42,690 Og nú nýverið, notum við JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON er bara JavaScript Object Ritháttur, sem 1975 01:28:45,629 --> 01:28:47,670 er í grundvallaratriðum þú færð Öll JavaScript mótmæla. 1976 01:28:47,670 --> 01:28:50,820 Og þú setur það í skrá, rétt eins og sem CS50 hlutur sem þú krakkar sáu. 1977 01:28:50,820 --> 01:28:53,090 Þú setur það í skrá, og þú sendir það yfir til Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Þannig að í þessu tilfelli, myndi ég gera JavaScript hlut 1979 01:28:55,850 --> 01:28:59,570 og bara segja, notandi er til, já. 1980 01:28:59,570 --> 01:29:01,630 Eða notandi til, nr. 1981 01:29:01,630 --> 01:29:02,810 Og senda hana aftur til hans. 1982 01:29:02,810 --> 01:29:03,830 Og hvers vegna JSON? 1983 01:29:03,830 --> 01:29:07,330 Vegna einstaklings sem er að fá þetta er 1984 01:29:07,330 --> 01:29:10,030 fara að nota JavaScript að takast á við viðbrögð. 1985 01:29:10,030 --> 01:29:14,970 Og JavaScript virkar svo vel vegna þess að það heitir JavaScript Object Ritháttur. 1986 01:29:14,970 --> 01:29:15,470 Ekki satt? 1987 01:29:15,470 --> 01:29:19,660 Svo hann getur bara hringja í aðgerð og fá þetta ágætur hlutur frá viðbrögðum. 1988 01:29:19,660 --> 01:29:22,890 Og þá er hann að fara að vita hvort að notandinn hefur í gagnagrunninum eða ekki. 1989 01:29:22,890 --> 01:29:25,230 >> Svo þú sérð, það allt að koma saman í vefþjóni, 1990 01:29:25,230 --> 01:29:28,450 og þá er það einn HTTP beiðni og einn HTTP svar og allt. 1991 01:29:28,450 --> 01:29:30,600 Svo tryggja þú krakkar skilur þetta AJAX símtali 1992 01:29:30,600 --> 01:29:37,260 því það hjálpar þér að skilja allt af þeim hugtökum sem við erum að tala um. 1993 01:29:37,260 --> 01:29:40,260 >> Svo er hér dæmi AJAX með jQuery. 1994 01:29:40,260 --> 01:29:42,130 Og hér, við gerum við fá JSON. 1995 01:29:42,130 --> 01:29:45,660 Þannig að við erum ekki að reyna að fá að mynd af köttur hér, eða önd. 1996 01:29:45,660 --> 01:29:48,110 Við erum að reyna að fá JSON skrá. 1997 01:29:48,110 --> 01:29:51,184 Og þá erum við að bíða þar til það er gert, punktur gert. 1998 01:29:51,184 --> 01:29:52,850 Það þýðir að ég er að bíða eftir svari. 1999 01:29:52,850 --> 01:29:54,180 Það gæti tekið smá tíma. 2000 01:29:54,180 --> 01:29:56,360 Þá, þú sérð smá hleðsla. 2001 01:29:56,360 --> 01:29:59,340 Ef þú vilt gera það í vefsíðuna þína. 2002 01:29:59,340 --> 01:30:01,440 Svo punktur gert, og hvað þá gerist þegar það er gert? 2003 01:30:01,440 --> 01:30:04,040 Þú fara í nafnlaus virka, rétt eins og við sáum áður. 2004 01:30:04,040 --> 01:30:07,800 Vegna gert er atburður, bara eins að smella á mús eða hvað, 2005 01:30:07,800 --> 01:30:08,710 fyrir jQuery. 2006 01:30:08,710 --> 01:30:13,710 Svo þú fara í þessa aðgerð með gögn, texta, stöðu, og jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Og í rauninni, það er bara nokkrar breytur 2008 01:30:15,790 --> 01:30:22,160 að þú getur notað síðar til að hafa stöðu HTTP beiðni, 2009 01:30:22,160 --> 01:30:24,470 gögn sem það er að fara að senda til baka til þín. 2010 01:30:24,470 --> 01:30:28,740 Svo þá getur þú síðar túlka það og gera eitthvað þroskandi við það. 2011 01:30:28,740 --> 01:30:30,240 Og ef það tekst ekki, þegar það gæti ekki? 2012 01:30:30,240 --> 01:30:33,780 Jæja, þegar HTTP beiðni gefur þú 500 eða eitthvað svoleiðis. 2013 01:30:33,780 --> 01:30:37,420 Þá er að fara að segja þér staða, hvers konar bilun sem var, 2014 01:30:37,420 --> 01:30:38,420 og alls konar hlutir. 2015 01:30:38,420 --> 01:30:40,630 Þú þarft að ganga úr skugga um til að takast á bæði málin, 2016 01:30:40,630 --> 01:30:42,770 annars program fer brjálaður. 2017 01:30:42,770 --> 01:30:45,820 >> DAVIN: Svo já, þetta er einmitt það sem þú sást á síðasta þínum p-setja. 2018 01:30:45,820 --> 01:30:49,720 Raunveruleg AJAX símtal er í FÁ JSON. 2019 01:30:49,720 --> 01:30:50,587 Það er hringt. 2020 01:30:50,587 --> 01:30:52,920 Og þá, punktur gert er eins tékka hvort það er vel. 2021 01:30:52,920 --> 01:30:55,620 Ef það er vel, þú vilt að gera eitthvað með þeim gögnum. 2022 01:30:55,620 --> 01:30:59,290 Þú færð til baka frá því að JSON Biðja um gögn. 2023 01:30:59,290 --> 01:31:00,600 Það er það sem þú færð til baka. 2024 01:31:00,600 --> 01:31:04,470 Svo ef þú manst frá þinn p-sett, a einhver fjöldi af þú varst eins og gögn krappi ég 2025 01:31:04,470 --> 01:31:06,302 eða hvað, punktur tengil eða titil. 2026 01:31:06,302 --> 01:31:08,260 Whatever kemur aftur frá þeim JSON, hvað 2027 01:31:08,260 --> 01:31:11,020 svæðin eru í því JSON mótmæla, það er það sem þú ert að fá til baka. 2028 01:31:11,020 --> 01:31:12,394 Gögn er það sem þú ert að fá til baka. 2029 01:31:12,394 --> 01:31:15,510 Texti stöðu, bara eitthvað sem gerir þér kleift að vita hvað gerðist. 2030 01:31:15,510 --> 01:31:20,570 Og þá, jqXHR, það er bara sem jQuery XML HTTP beiðni. 2031 01:31:20,570 --> 01:31:21,990 Það er bara eins og hlut. 2032 01:31:21,990 --> 01:31:23,932 Og þá ekki, alveg eins og Gabe sagði. 2033 01:31:23,932 --> 01:31:27,140 Gabe: Í litla dæmi okkar abc123 bara að athuga hvort það er í gagnagrunninum 2034 01:31:27,140 --> 01:31:32,260 eða ekki, gögnin væri eitthvað sem þú myndi gera, ef gögn punktur notandanafn er, 2035 01:31:32,260 --> 01:31:37,720 sem er það sem PHP þinn mynda fyrir þú, ef gögn punktur notandanafn er, þá 2036 01:31:37,720 --> 01:31:40,880 Ég ætla til að láta, notandi nafn er þegar til. 2037 01:31:40,880 --> 01:31:44,300 Annars, ég ætla bara að fara að láta notandi áfram að fylla út formið. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, öryggi, flott. 2040 01:31:50,820 --> 01:31:52,060 >> DAVIN: Viltu mig að? 2041 01:31:52,060 --> 01:31:54,500 >> Gabe: Mér finnst þetta einn. 2042 01:31:54,500 --> 01:31:57,680 Svo eitthvað lítur að kannast. 2043 01:31:57,680 --> 01:31:59,750 Við erum næstum búin. 2044 01:31:59,750 --> 01:32:02,670 Svo er þetta bara dæmi þið sá í bekknum. 2045 01:32:02,670 --> 01:32:04,860 Þú varst að nota argv1 hér. 2046 01:32:04,860 --> 01:32:06,460 Það er eins og a stjórn lína rifrildi. 2047 01:32:06,460 --> 01:32:09,270 Og við erum að mem afritun sem í biðminni stærð 12. 2048 01:32:09,270 --> 01:32:12,560 Hvað er vandamálið hérna? 2049 01:32:12,560 --> 01:32:13,660 Buffer flæða! 2050 01:32:13,660 --> 01:32:15,400 Þar sem við höfum biðminni af stærð 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 gæti hafa stærð tveir milljarðar. 2052 01:32:18,400 --> 01:32:19,960 Við gerum ekki allir mörk stöðva. 2053 01:32:19,960 --> 01:32:24,970 Svo við gætum afrita mikið af minni. 2054 01:32:24,970 --> 01:32:28,630 Og við munum vera sérstaklega slæmt um þetta. 2055 01:32:28,630 --> 01:32:32,600 Hvað getum við gert það er mjög meina í þessu tilfelli? 2056 01:32:32,600 --> 01:32:33,278 Já? 2057 01:32:33,278 --> 01:32:36,528 Áhorfendur: Hluti af tveimur milljörðum hlutum inniheldur executable kóða sem skilar 2058 01:32:36,528 --> 01:32:38,127 [Inaudible]. 2059 01:32:38,127 --> 01:32:38,710 Gabe: Einmitt. 2060 01:32:38,710 --> 01:32:41,110 Svo er að hvers konar hlutur sem fólk notar 2061 01:32:41,110 --> 01:32:43,344 að Flótti iPhone, til dæmis. 2062 01:32:43,344 --> 01:32:44,260 Svo svoleiðis. 2063 01:32:44,260 --> 01:32:48,610 Þar sem þú getur bara gert tækið framkvæma allir kóðann sem þú vilt. 2064 01:32:48,610 --> 01:32:50,247 The festa, svo er festa auðvelt. 2065 01:32:50,247 --> 01:32:51,330 Bara athuga mörk. 2066 01:32:51,330 --> 01:32:53,455 Þú athuga null því ég við athugum alltaf for null 2067 01:32:53,455 --> 01:32:54,940 þegar við erum að fást við strengi. 2068 01:32:54,940 --> 01:32:57,840 Og þá, þú tekið band lengd áður. 2069 01:32:57,840 --> 01:33:00,150 Og ef streng lengd er gild band 2070 01:33:00,150 --> 01:33:03,700 lengd, sem er innan 0 og 12, þá erum við góð. 2071 01:33:03,700 --> 01:33:07,144 >> DAVIN: Ef þú velur ekki fyrir null, raunverulegur fljótur, hvað mun gerast? 2072 01:33:07,144 --> 01:33:07,810 Það verður seg kenna. 2073 01:33:07,810 --> 01:33:10,850 Hvers vegna verður það seg kenna? 2074 01:33:10,850 --> 01:33:12,510 Þar sem þú ert að hringja strlen á null. 2075 01:33:12,510 --> 01:33:13,010 Gabe: Já. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 True eða False, með einu lykilorð er góð hugmynd. 2078 01:33:19,630 --> 01:33:20,430 >> Áhorfendur: False. 2079 01:33:20,430 --> 01:33:21,150 >> Gabe: False. 2080 01:33:21,150 --> 01:33:23,870 Nota margar aðgangsorð og stór, löng sjálfur. 2081 01:33:23,870 --> 01:33:26,050 Hengilás tákn tryggja öryggi. 2082 01:33:26,050 --> 01:33:27,080 >> Áhorfendur: False. 2083 01:33:27,080 --> 01:33:27,749 >> Gabe: False. 2084 01:33:27,749 --> 01:33:28,790 Það þýðir ekki neitt. 2085 01:33:28,790 --> 01:33:30,480 Það er bara tákn. 2086 01:33:30,480 --> 01:33:32,824 SSL ver gegn a maður í miðja árás. 2087 01:33:32,824 --> 01:33:33,490 Áhorfendur: False. 2088 01:33:33,490 --> 01:33:34,110 Gabe: False. 2089 01:33:34,110 --> 01:33:35,355 OK, þannig að allir þeir sem eru rangar. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Nice. 2092 01:33:39,490 --> 01:33:40,220 [Inaudible] 2093 01:33:40,220 --> 01:33:42,500 Langar þig til að tala um þetta? 2094 01:33:42,500 --> 01:33:43,259 Snúa. 2095 01:33:43,259 --> 01:33:45,050 DAVIN: Tegundir árásum, maður í miðjunni. 2096 01:33:45,050 --> 01:33:47,134 Hvað er maður í miðja árás? 2097 01:33:47,134 --> 01:33:48,050 Áhorfendur: [inaudible]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 DAVIN: Ef þú sendir HTTP beiðni, gætu þeir gert þetta, ekki satt? 2100 01:33:54,020 --> 01:33:57,890 En ef þú ætlar að senda HTTPS, þeir verður að öllum líkindum ekki vera fær um að gera þetta. 2101 01:33:57,890 --> 01:33:59,952 Það er hellingur af stöðum ásamt tenginguna þína. 2102 01:33:59,952 --> 01:34:00,660 Þú hefur leið. 2103 01:34:00,660 --> 01:34:01,746 Þú hefur DNS framreiðslumaður. 2104 01:34:01,746 --> 01:34:04,120 Ef einhver er fær um að líkamlega sjá hvað þú ert að senda, 2105 01:34:04,120 --> 01:34:06,140 svo er einhver geti í raun að fá á milli þín, 2106 01:34:06,140 --> 01:34:08,840 viðskiptavinur og miðlara, og er fær um að sjá hvað þú ert að senda, 2107 01:34:08,840 --> 01:34:10,298 þetta er maður í miðja árás. 2108 01:34:10,298 --> 01:34:14,287 Svo til að sjá hvað þú ert að reyna að fá frá the framreiðslumaður, eða er fær um að see-- verra, 2109 01:34:14,287 --> 01:34:16,620 þú might vera fær til að sjá kex eða eitthvað svoleiðis. 2110 01:34:16,620 --> 01:34:19,290 >> Svo til dæmis, ef þú ert ekki að nota SSL, hann 2111 01:34:19,290 --> 01:34:21,900 gæti verið fær um að sjá fundur kenni smákökur. 2112 01:34:21,900 --> 01:34:25,460 Og þetta er kallað fundur ræna því hann sér ID fótspor þitt, 2113 01:34:25,460 --> 01:34:28,317 og þá er hann fær um að fara til að website og þykjast vera þú. 2114 01:34:28,317 --> 01:34:31,150 Því bara eins og í PHP, muna þegar við skráður inn, hvað gerum við? 2115 01:34:31,150 --> 01:34:33,340 Við setjum fundur ID jafnt ID. 2116 01:34:33,340 --> 01:34:34,810 Svo sem auðkennir þig. 2117 01:34:34,810 --> 01:34:38,300 Það er hvers vegna þú getur séð eigu þinni og eignasafn ekki allir annars. 2118 01:34:38,300 --> 01:34:42,320 >> Jæja, ef ég er fær um að fá að kex, þá get ég skráð þig inn þá síðu. 2119 01:34:42,320 --> 01:34:45,380 Og þá get ég bara að skoða dótið þitt og byrja að kaupa og selja efni. 2120 01:34:45,380 --> 01:34:46,800 Svo er þessi fundur ræna. 2121 01:34:46,800 --> 01:34:50,810 En þú ættir ekki að vera fær um to-- svo þér Hægt er að nota manninn í miðju árás 2122 01:34:50,810 --> 01:34:52,290 jafnvel þótt þær séu með SSL. 2123 01:34:52,290 --> 01:34:53,520 En þú ættir ekki að vera fær um að. 2124 01:34:53,520 --> 01:34:56,580 Ef þeir eru að nota SSL, þú getur ekki fundur hijack. 2125 01:34:56,580 --> 01:34:58,927 Hvers vegna? 2126 01:34:58,927 --> 01:35:01,135 Vegna þess að það er allt dulkóðuð, ekki satt? ef það er dulkóðuð, 2127 01:35:01,135 --> 01:35:03,509 og ég er enn maður á að miðja, ég fæ samt gögnunum. 2128 01:35:03,509 --> 01:35:04,279 Það er allt í lagi. 2129 01:35:04,279 --> 01:35:05,070 En það er dulkóðuð. 2130 01:35:05,070 --> 01:35:07,750 Svo ég get ekki raunverulega að nota það. 2131 01:35:07,750 --> 01:35:09,840 Svo er að tveir. 2132 01:35:09,840 --> 01:35:11,544 >> Raunverulegur fljótur, kross síða beiðni falsanir. 2133 01:35:11,544 --> 01:35:13,960 Það er bara ef það er tengill og að tengillinn virkar eitthvað 2134 01:35:13,960 --> 01:35:14,890 að þér finnst ekki að það ætti að gera. 2135 01:35:14,890 --> 01:35:18,150 Svo til dæmis, ef tengingin var að fara að kaupa hlutabréf eða selja hlutabréf, 2136 01:35:18,150 --> 01:35:19,360 og þú ekki vita það. 2137 01:35:19,360 --> 01:35:22,040 Þú smellt á tengilinn, sendi beiðni keypt 2138 01:35:22,040 --> 01:35:24,240 eða selt eitthvað sem þú ætlaði ekki að gera. 2139 01:35:24,240 --> 01:35:25,120 Það er það. 2140 01:35:25,120 --> 01:35:30,720 >> Cross staður forskriftarþarfir, svo hér, þú ert að brottför í gegnum breytilegum q, 2141 01:35:30,720 --> 01:35:33,510 stað þess að velta í einhvers konar gildi, kannski q er eins nafn. 2142 01:35:33,510 --> 01:35:36,560 Þannig að í stað þess að velta q jafn Davin eða eitthvað svoleiðis, 2143 01:35:36,560 --> 01:35:38,740 ef þú notar ekki HTML sérstök stafir, ef þú 2144 01:35:38,740 --> 01:35:43,100 ekki flýja þetta til að tryggja að það er OK, þá gæti ég fara í staðinn, 2145 01:35:43,100 --> 01:35:46,910 við skulum segja hér ég er að segja prenta eða eitthvað svoleiðis, 2146 01:35:46,910 --> 01:35:51,070 þá gæti ég fara hér handrit hringja. 2147 01:35:51,070 --> 01:35:53,140 >> Þannig er þá, í ​​stað þess að bara að fá breytu, 2148 01:35:53,140 --> 01:35:54,960 Ég myndi þá keyra þessa handrit hringja. 2149 01:35:54,960 --> 01:35:57,065 Svo inni þessi handrit kalla, hvað þýðir það að gera? 2150 01:35:57,065 --> 01:36:00,190 Document punktur staðsetningu, það er að fara að breyta staðsetningu skjalsins. 2151 01:36:00,190 --> 01:36:02,290 Þannig að ég ætla að beina til staðar. 2152 01:36:02,290 --> 01:36:08,170 Það heitir slæmur strákur í þetta dæmi, mjög gott. 2153 01:36:08,170 --> 01:36:10,536 Gat ekki hugsa um orðið. 2154 01:36:10,536 --> 01:36:12,410 Og þá, það er jafnvel verra er að ég er að fara 2155 01:36:12,410 --> 01:36:16,832 að ákveða síðan kex, sem er nokkur breytu sem ég hef á þessari vefsíðu. 2156 01:36:16,832 --> 01:36:19,040 Ég ætla að setja það jafnt að skjal punktur kex. 2157 01:36:19,040 --> 01:36:20,660 Því ég er að fara að stela kex þinn. 2158 01:36:20,660 --> 01:36:22,951 Og ég ætla að beina nokkrar upplýsingar til a website 2159 01:36:22,951 --> 01:36:25,120 að þú ættir ekki að fá aðgang. 2160 01:36:25,120 --> 01:36:29,250 Og þetta gerist allt vegna þess að þú ert ekki sleppi hvað þú hefur séð. 2161 01:36:29,250 --> 01:36:29,910 Já? 2162 01:36:29,910 --> 01:36:32,160 >> Áhorfendur: Svo bara til gera það ljóst, að það er 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com að er viðkvæmt fyrir þessu. 2164 01:36:37,550 --> 01:36:39,300 Svo að tengill getur birst á hverri síðu. 2165 01:36:39,300 --> 01:36:42,200 Einhver smellir á það, fer til vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Þú ert með fótspor á vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Segjum Facebook er viðkvæmt, svo facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Þú ert Facebook kex þinn. 2169 01:36:48,310 --> 01:36:50,925 Hvað er þetta að gera, þú ert fara til facebook.com, 2170 01:36:50,925 --> 01:36:53,990 það er strax Áframsendi þú að badguy.com, 2171 01:36:53,990 --> 01:36:57,182 en þar á meðal upplýsingar um kex þinn. 2172 01:36:57,182 --> 01:36:59,310 Svo er það fljótleg endurvísa, en Facebook kex þitt 2173 01:36:59,310 --> 01:37:02,572 fylgir með því endurvísa, og það er hvernig þeir [inaudible]. 2174 01:37:02,572 --> 01:37:04,280 Gabe: Já, það er sumir mjög mean hlutir 2175 01:37:04,280 --> 01:37:06,070 að fólk getur gert ef það er þetta. 2176 01:37:06,070 --> 01:37:09,190 Til dæmis, ef Facebook leyft allir að breyta notandanafni, 2177 01:37:09,190 --> 01:37:11,680 og þeir vildu ekki gera allir heilindarathugunum, svo þú 2178 01:37:11,680 --> 01:37:16,810 gæti sett á JavaScript hlutur sem breytingar mynd í hamsturinn. 2179 01:37:16,810 --> 01:37:22,590 Og það setur sömu JavaScript í alla sem skoðar síðuna þína. 2180 01:37:22,590 --> 01:37:26,400 Svo allir sem skoðanir síðuna þína hefur það sama í the notandi nafn. 2181 01:37:26,400 --> 01:37:30,104 Og vegna þess að það er a veira, það berst veldishraða. 2182 01:37:30,104 --> 01:37:32,270 DAVIN: Við munum sleppa síðasta einn, og þá erum við að því loknu. 2183 01:37:32,270 --> 01:37:34,120 Svo er þetta bara annað dæmi. 2184 01:37:34,120 --> 01:37:36,120 Svo er þetta sem þeir eru ekki sleppi SQL borðið. 2185 01:37:36,120 --> 01:37:37,090 Svo er hægt að sleppa því. 2186 01:37:37,090 --> 01:37:38,805 Svo þú vilt að flýja það. 2187 01:37:38,805 --> 01:37:44,010 Það var fyrri dæmi með kross síða forskriftarþarfir. 2188 01:37:44,010 --> 01:37:45,430 Því miður við rann svolítið seint. 2189 01:37:45,430 --> 01:37:46,870 Á morgun, því miður! 2190 01:37:46,870 --> 01:37:48,560 Á morgun, höfum við skrifstofutíma. 2191 01:37:48,560 --> 01:37:50,870 Svo Viðtalstími í Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 Á opnunartíma skrifstofu eru aðeins fyrir quiz spurningum. 2193 01:37:55,240 --> 01:37:56,587