1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [MUSIC kucheza] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH: Hi, kila mtu. 5 00:00:12,700 --> 00:00:15,866 Asante sana kwa guys kuja nje katika hali ya hewa disgusting kwa jaribio moja 6 00:00:15,866 --> 00:00:16,910 kupitia kikao. 7 00:00:16,910 --> 00:00:20,020 Kama wewe guys kujua, jaribio moja ni hii ya Jumatano. 8 00:00:20,020 --> 00:00:22,209 Hivyo sisi ni kwenda kupitia rundo la mada. 9 00:00:22,209 --> 00:00:24,000 Davin: Hey, naweza kusema kitu halisi haraka? 10 00:00:24,000 --> 00:00:25,215 HANNAH: Yeah, Davin ya kwenda kusema kitu halisi haraka. 11 00:00:25,215 --> 00:00:25,780 Davin: Sorry. 12 00:00:25,780 --> 00:00:29,490 Tu halisi haraka, kama una maswali kuhusu jaribio, unaweza kwenda online. 13 00:00:29,490 --> 00:00:32,420 Nenda kwa 2014 jaribio moja, kuhusu jaribio. 14 00:00:32,420 --> 00:00:34,680 Ni got vifaa kuhusu ambapo kwenda, wakati wa kwenda. 15 00:00:34,680 --> 00:00:38,100 Kama wewe ni wakati huo huo waliojiunga, tuko kwenda na babies jaribio saa 5:30. 16 00:00:38,100 --> 00:00:40,350 Au kama wewe ulinituma suala hilo, una baadhi ya suala nyingine. 17 00:00:40,350 --> 00:00:42,640 Lakini 5:30 ni kufanya-up wakati siku ya Jumatano. 18 00:00:42,640 --> 00:00:44,540 Lakini kama una maswali, maswali ya jumla, 19 00:00:44,540 --> 00:00:45,748 online ina vifaa wote. 20 00:00:45,748 --> 00:00:47,690 Ili kuangalia huko kwanza. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH: Awesome. 22 00:00:49,070 --> 00:00:53,030 Hivyo hapa ni orodha kubwa ya mada kwamba sisi ni kwenda kwa njia ya leo. 23 00:00:53,030 --> 00:00:57,390 Mimi nina kwenda cover yote ya C mambo, ambayo ni upande wa kwanza. 24 00:00:57,390 --> 00:01:00,710 Hivyo C mambo ambayo sisi kufunikwa baada ya jaribio sifuri. 25 00:01:00,710 --> 00:01:05,459 Kuanzia na orodha wanaohusishwa, ambayo ni pamoja na kuyatumia. 26 00:01:05,459 --> 00:01:07,668 >> Haki wote, hivyo tuliona hii katika mwisho mapitio kikao, 27 00:01:07,668 --> 00:01:10,000 hivyo mimi nina kwenda kwa njia ya hii ni kidogo wepesi. 28 00:01:10,000 --> 00:01:13,500 Tu kuongeza mkono wako kama unataka mimi polepole chini au kushughulikia jambo zaidi. 29 00:01:13,500 --> 00:01:17,150 Lakini sisi kutumia orodha wanaohusishwa sababu sisi kuanza katika C na arrays. 30 00:01:17,150 --> 00:01:20,920 Na arrays ni kubwa, lakini Tatizo ni wana fasta kawaida. 31 00:01:20,920 --> 00:01:24,925 Orodha wanaohusishwa kuruhusu sisi kujenga dynamically ukubwa miundo data. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Na tuna shughuli zetu za msingi, kuingiza, kufuta, na kutafuta. 34 00:01:32,320 --> 00:01:36,780 Na tunaweza kufanya kuingiza katika kesi mbaya wakati mara kwa mara 35 00:01:36,780 --> 00:01:39,140 kama sisi tu ya kuweka katika mwanzo sana. 36 00:01:39,140 --> 00:01:45,220 Futa na kutafuta, mbaya zaidi kesi kubwa oh ya n wakati. 37 00:01:45,220 --> 00:01:47,140 Hivyo tena, tu flip kupitia picha hizi, 38 00:01:47,140 --> 00:01:50,860 Najua tuliona wakati hizi za mwisho, lakini sisi wanataka kuweka wimbo wa orodha yetu wanaohusishwa 39 00:01:50,860 --> 00:01:53,440 na kuweka wimbo wa mkuu wa orodha yetu wanaohusishwa. 40 00:01:53,440 --> 00:01:55,580 Kwa sababu tunajua kwamba kila moja ya nodes yetu 41 00:01:55,580 --> 00:01:58,610 ni kwenda tu kwa uhakika na node ya pili katika orodha yetu wanaohusishwa. 42 00:01:58,610 --> 00:02:00,460 >> Hivyo hiyo ni jinsi sisi kuweka wimbo. 43 00:02:00,460 --> 00:02:02,910 Hata ingawa haya si vipande kuendelea ya kumbukumbu, 44 00:02:02,910 --> 00:02:07,410 tunaweza kupata yao na tu zifuatazo mishale tofauti. 45 00:02:07,410 --> 00:02:09,800 Hapa ni muundo wetu kuunganishwa kwa orodha nodi. 46 00:02:09,800 --> 00:02:11,440 Tuliona wakati huu wa mwisho. 47 00:02:11,440 --> 00:02:13,080 Tuna struct yetu nodi. 48 00:02:13,080 --> 00:02:14,340 Na ina mali mbili. 49 00:02:14,340 --> 00:02:17,020 Namba moja, halisi thamani tunataka kuhifadhi. 50 00:02:17,020 --> 00:02:18,290 Katika kesi hiyo, ni integer. 51 00:02:18,290 --> 00:02:21,100 Ni inaweza kuwa kamba, inaweza kuwa Char, chochote unataka. 52 00:02:21,100 --> 00:02:24,710 Na kisha, tuna kuweka wimbo wa node ya pili katika orodha yetu wanaohusishwa. 53 00:02:24,710 --> 00:02:29,797 Hivyo kwamba kinaendelea kuwa pointer nodi ijayo. 54 00:02:29,797 --> 00:02:31,880 Kama ungekuwa kufanya tu search, kama nilivyosema hapo kabla, 55 00:02:31,880 --> 00:02:34,900 wewe d na kufuata mishale yako chini. 56 00:02:34,900 --> 00:02:40,720 Insertion, ungekuwa kuweka wimbo ya ambapo wengine wa orodha yako ni. 57 00:02:40,720 --> 00:02:44,150 Na unataka kuelekeza kichwa kwa uhakika na kipengele wetu mpya, ambayo 58 00:02:44,150 --> 00:02:46,640 katika kesi hii ni moja, na kisha moja kumweka 59 00:02:46,640 --> 00:02:49,480 kwa salio ya orodha wanaohusishwa. 60 00:02:49,480 --> 00:02:52,996 Hivyo tena, Mimi najua hili ni kidogo kidogo ya kurudia kutoka Jaribio sifuri. 61 00:02:52,996 --> 00:02:55,370 Hivyo tuna kuwa makini sana kuhusu utaratibu ambao sisi 62 00:02:55,370 --> 00:03:00,390 kufanya pointings hizi hivyo hatufanyi kupoteza wimbo wa nyuma ya orodha. 63 00:03:00,390 --> 00:03:04,122 OK, maswali yoyote na tu moja moja wanaohusishwa orodha? 64 00:03:04,122 --> 00:03:06,060 Ajabu, OK, cool. 65 00:03:06,060 --> 00:03:09,410 >> Hivyo sasa, sisi ni kwenda kwenye kitu kidogo tu ngumu zaidi, 66 00:03:09,410 --> 00:03:10,920 doubly wanaohusishwa orodha. 67 00:03:10,920 --> 00:03:13,680 Hivyo kwa kuongeza kuweka wimbo wa nodi ijayo, 68 00:03:13,680 --> 00:03:16,220 sisi pia wanataka kuweka wimbo ya nodi uliopita. 69 00:03:16,220 --> 00:03:19,580 Na hii inaruhusu sisi, kama sisi ni wakati fulani katika orodha yetu wanaohusishwa, 70 00:03:19,580 --> 00:03:23,110 si tu kwenda mbele, lakini pia iterate nyuma. 71 00:03:23,110 --> 00:03:25,220 Kwa sababu kama tulivyoona katika orodha moja moja wanaohusishwa, 72 00:03:25,220 --> 00:03:27,980 kama sisi walikuwa katika baadhi node, na wote wa ghafla, tuliamua 73 00:03:27,980 --> 00:03:30,160 kwa kweli, mimi nataka kwenda haki node mbele yangu, 74 00:03:30,160 --> 00:03:32,034 wewe d kuwa kwenda wote njia ya nyuma ya kichwa 75 00:03:32,034 --> 00:03:35,710 na iterate kupitia mpaka kupatikana node walikuwa wanatafuta. 76 00:03:35,710 --> 00:03:37,680 >> Hivyo hii hufanya mambo rahisi kidogo kama tuko 77 00:03:37,680 --> 00:03:39,670 kujaribu iterate kupitia orodha yetu wanaohusishwa. 78 00:03:39,670 --> 00:03:47,870 Lakini inahitaji sisi kuweka wimbo wa moja pointer zaidi, hivyo nyota moja zaidi nodi. 79 00:03:47,870 --> 00:03:50,830 Haki wote, hivyo hapa inakuja sehemu fun. 80 00:03:50,830 --> 00:03:55,600 Sisi ni kwenda kufanya mazoezi kutekeleza kuondoa kwa orodha doubly wanaohusishwa. 81 00:03:55,600 --> 00:03:58,660 Hivyo hii ni kitu ambacho ni haki kabisa mchezo kwa jaribio. 82 00:03:58,660 --> 00:04:00,750 Ni ilionyesha juu ya siku za nyuma Quizzes. 83 00:04:00,750 --> 00:04:04,220 Hivyo dhahiri kuwa tayari na kanuni kidogo katika C. 84 00:04:04,220 --> 00:04:07,900 Usisahau kwamba pamoja na yote hii PHP furaha na JavaScript, 85 00:04:07,900 --> 00:04:10,560 bado tuna kukumbuka kufanya C. Hivyo brush juu ya kwamba 86 00:04:10,560 --> 00:04:12,146 kama wewe ni hisia kutu. 87 00:04:12,146 --> 00:04:14,580 >> Haki zote, hebu angalia kama tunaweza kufanya hivyo. 88 00:04:14,580 --> 00:04:16,312 OK, cool. 89 00:04:16,312 --> 00:04:18,600 Hivyo sisi ni kwenda kujaribu kuhariri haki katika hapa, 90 00:04:18,600 --> 00:04:20,707 na hopefully hii inakwenda kama ilivyopangwa. 91 00:04:20,707 --> 00:04:23,915 Haki wote, haina mtu yeyote wanataka kunipa ni maoni ya jinsi mimi lazima kuanza? 92 00:04:23,915 --> 00:04:27,030 tu dhana mimi nina maamuzi ni kwamba mimi tayari 93 00:04:27,030 --> 00:04:30,180 kuwa muundo defined, moja mimi ilionyesha juu ya ukurasa wa mwisho, 94 00:04:30,180 --> 00:04:31,420 juu ya slide mwisho. 95 00:04:31,420 --> 00:04:39,250 Na mimi nina kuhifadhi mkuu wa wanaohusishwa yangu orodha katika baadhi ya pointer iitwayo orodha. 96 00:04:39,250 --> 00:04:42,190 Je, mtu yeyote wanataka kupata yangu ilianza? 97 00:04:42,190 --> 00:04:45,410 >> Watazamaji: Je, unaweza kuunda mpya node kuwaita kupitia orodha? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH: Ajabu, hivyo tunakwenda kujenga 99 00:04:46,410 --> 00:04:47,951 nodi mpya kutambaa kupitia orodha. 100 00:04:47,951 --> 00:04:48,570 Mimi kama kwamba. 101 00:04:48,570 --> 00:04:50,799 Mimi itabidi tu kuiita pointer kama kwamba ni sawa. 102 00:04:50,799 --> 00:04:52,340 Na pale ambapo lazima ni awali kuanza? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> Watazamaji: Pengine katika mkuu wa orodha. 105 00:04:59,840 --> 00:05:00,590 HANNAH: Beautiful. 106 00:05:00,590 --> 00:05:03,670 Tunataka kuanza saa kichwa, ambayo Mimi alisema ni kwenda kuhifadhiwa katika orodha. 107 00:05:03,670 --> 00:05:04,170 Kutisha. 108 00:05:04,170 --> 00:05:05,220 Hadi sasa, hivyo nzuri. 109 00:05:05,220 --> 00:05:08,260 Na sasa, lengo letu ni iterate kupitia orodha 110 00:05:08,260 --> 00:05:12,870 mpaka sisi kupata nodi na thamani n kwamba tunataka kufuta. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> Hivyo sasa ni sehemu ambapo tunataka iterate kupitia. 113 00:05:15,910 --> 00:05:19,488 Je, mtu yeyote kupendekeza njia ya iterate kupitia? 114 00:05:19,488 --> 00:05:20,979 >> Watazamaji: kitanzi. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH: kitanzi. 116 00:05:21,840 --> 00:05:22,620 I love it. 117 00:05:22,620 --> 00:05:25,550 Hasa, tunaweza kujaribu kitanzi wakati. 118 00:05:25,550 --> 00:05:30,919 OK, na tunajua kwamba tumekuwa kufikiwa mwisho wa orodha yetu wakati gani? 119 00:05:30,919 --> 00:05:32,210 Watazamaji: Wakati pointer ni null. 120 00:05:32,210 --> 00:05:33,418 HANNAH: Wakati pointer ni null. 121 00:05:33,418 --> 00:05:34,320 Nzuri, I love it. 122 00:05:34,320 --> 00:05:35,110 OK, cool. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Hivyo pole kama bounding yangu brace ni aina ya kuanguka mbali screen. 125 00:05:43,190 --> 00:05:44,090 Sisi kuletwa nyuma. 126 00:05:44,090 --> 00:05:46,610 OK, cool. 127 00:05:46,610 --> 00:05:48,690 Nini hapo? 128 00:05:48,690 --> 00:05:51,950 >> Hivyo tunajua tunataka kufuta nodi kwamba ina thamani n. 129 00:05:51,950 --> 00:05:56,340 Basi hebu kupata kesi ambapo sisi kweli kupata nodi zetu. 130 00:05:56,340 --> 00:05:57,840 Hivyo ni jinsi gani mimi kuangalia kwamba? 131 00:05:57,840 --> 00:06:02,210 Ningependa tu kusema kama pointer, na kisha kama mimi wanataka kupata thamani nje ya pointer, 132 00:06:02,210 --> 00:06:08,940 Mimi tu arrow n, sawa n, parameter 133 00:06:08,940 --> 00:06:14,490 kwamba sisi alimpa kazi hii, nodi kwamba tunataka kweli kufuta. 134 00:06:14,490 --> 00:06:17,090 Maswali yoyote hadi hapa? 135 00:06:17,090 --> 00:06:18,360 Wote haki. 136 00:06:18,360 --> 00:06:24,140 OK, hivyo sasa hebu kuchora picha haraka juu ya bodi ili taswira hii. 137 00:06:24,140 --> 00:06:30,710 >> Basi hebu kusema kuna node wetu lovely. 138 00:06:30,710 --> 00:06:34,480 Na ina thamani, mimi itabidi kusema minne. 139 00:06:34,480 --> 00:06:40,340 Na inaelekeza ijayo nodi katika orodha yetu wanaohusishwa. 140 00:06:40,340 --> 00:06:42,220 Na kuna kitu mbele yake. 141 00:06:42,220 --> 00:06:45,800 Hivyo tuna uliopita yetu akizungumzia chochote. 142 00:06:45,800 --> 00:06:48,110 Katika kesi hiyo, sisi kumweka nyuma. 143 00:06:48,110 --> 00:06:50,960 OK, tu kuanzisha yangu wanaohusishwa orodha zaidi ya hapa. 144 00:06:50,960 --> 00:06:53,630 Na tuna orodha kwamba pointi kwa muundo huu kwa kuanzia. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Mimi itabidi kuteka moja zaidi kwa ajili ajili ya ukamilifu. 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 Mimi itabidi kumweka mbele hii. 150 00:07:07,480 --> 00:07:09,550 Na mimi itabidi uhakika kwamba moja nyuma. 151 00:07:09,550 --> 00:07:10,360 Oops, pole. 152 00:07:10,360 --> 00:07:12,710 Yeah, got hii nyuma. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Kufanya hivyo tena. 155 00:07:16,967 --> 00:07:18,330 OK, kuna sisi kwenda. 156 00:07:18,330 --> 00:07:19,910 Haki zote, got it. 157 00:07:19,910 --> 00:07:21,780 OK, hapa picha wetu. 158 00:07:21,780 --> 00:07:24,860 >> OK, hivyo tunataka kufikiria kesi mbili. 159 00:07:24,860 --> 00:07:27,330 kesi ya kwanza ni kama node tunataka kufuta 160 00:07:27,330 --> 00:07:29,420 ni tangu mwanzo wa orodha yetu. 161 00:07:29,420 --> 00:07:34,070 Na kisha, kesi ya pili kwamba tunataka kufikiria ni kama ni mahali popote. 162 00:07:34,070 --> 00:07:37,660 Mimi kuelewa kwamba hii kabisa messy kuchora na erasing wangu wote, 163 00:07:37,660 --> 00:07:40,400 lakini hopefully tutaweza kujaribu kufanya hili wazi na baadhi ya kanuni. 164 00:07:40,400 --> 00:07:45,450 >> OK, hivyo hebu kufidia kesi ambapo sisi kupatikana nodi zetu, 165 00:07:45,450 --> 00:07:48,900 na ni katika sana kuanza ya orodha yetu wanaohusishwa. 166 00:07:48,900 --> 00:07:50,810 Mtu yeyote nipe pendekezo hapa kama yale 167 00:07:50,810 --> 00:07:54,684 Mimi lazima kufanya kwa kweli kuondoa nodi zetu? 168 00:07:54,684 --> 00:07:55,970 Ni suala gumu kidogo. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> Watazamaji: Una kuchukua nodi kwamba itakuwa kabla 171 00:07:59,628 --> 00:08:01,794 na kufanya hivyo kumweka kwa moja kwamba itakuwa baada ya hayo, 172 00:08:01,794 --> 00:08:03,004 na kuchukua nodi kwamba itakuwa baada yake na kufanya 173 00:08:03,004 --> 00:08:04,554 ni uhakika na nodi mbele yake. 174 00:08:04,554 --> 00:08:05,220 HANNAH: Hasa. 175 00:08:05,220 --> 00:08:10,640 OK, hivyo hii ni kesi where-- tuna kesi mbili. 176 00:08:10,640 --> 00:08:14,100 Tuna kesi ambapo nodi kwamba sisi ni kuangalia kwa 177 00:08:14,100 --> 00:08:18,270 ni mbele ya orodha. 178 00:08:18,270 --> 00:08:23,110 OK, na kisha kesi hiyo ilivyoelezwa ni vinginevyo, haki? 179 00:08:23,110 --> 00:08:24,500 Ni mahali pengine katika orodha. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Hivyo alisema, tunahitaji kuangalia nodi uliopita, 182 00:08:32,840 --> 00:08:36,500 na kufanya nodi uliopita uhakika na nodi ijayo. 183 00:08:36,500 --> 00:08:40,510 Basi hebu kusema tuko kujaribu kuchukua nje tano 184 00:08:40,510 --> 00:08:43,059 katika wangu kuchora messy sana zaidi ya hapa. 185 00:08:43,059 --> 00:08:47,530 Tunataka kuhakikisha kwamba minne sasa anazungumzia sita. 186 00:08:47,530 --> 00:08:49,590 Tarakimu ya pointi karibu na sita. 187 00:08:49,590 --> 00:08:52,150 Na pointi sita ya awali ya nne. 188 00:08:52,150 --> 00:08:53,960 Hiyo ni lengo letu hapa, haki? 189 00:08:53,960 --> 00:08:56,150 Hii ni nini nadhani wewe tu alisema zaidi ya hapo. 190 00:08:56,150 --> 00:08:58,450 >> OK, hivyo hebu kupata kwamba kipande ya kwanza. 191 00:08:58,450 --> 00:09:02,300 Hebu kufanya na pointer uliopita uliopita. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Hivyo nne ijayo wanapaswa kumweka kwa nini? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Hasa, katika kesi hii, watu sita. 196 00:09:14,900 --> 00:09:18,470 Hivyo tunapaswa kusema pointer, ijayo. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 Wote haki. 199 00:09:21,150 --> 00:09:24,870 Basi hebu kujikwamua picha hii mbaya na kujaribu kuteka moja kidogo nicer. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Tuna orodha yetu kichwa hapa. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 Na kwamba anazungumzia node ya kwanza katika orodha yetu wanaohusishwa, ambayo sisi alisema ni nne. 204 00:09:42,740 --> 00:09:45,620 Hapa ni node wetu wa pili, tano. 205 00:09:45,620 --> 00:09:47,307 Na node wetu wa tatu, sita. 206 00:09:47,307 --> 00:09:50,265 Tu kujaribu kuteka exact picha, kidogo tu zaidi cleanly. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 OK, hivyo nne ijayo awali anazungumzia tano. 209 00:09:56,280 --> 00:09:58,620 Tano ya pointi karibu na sita. 210 00:09:58,620 --> 00:10:00,170 Sita ya pointi uliopita tano. 211 00:10:00,170 --> 00:10:02,470 Na pointi tano ya awali ya nne. 212 00:10:02,470 --> 00:10:03,360 Sana nicer! 213 00:10:03,360 --> 00:10:04,530 OK, cool. 214 00:10:04,530 --> 00:10:07,770 >> Hivyo sasa, kile sisi alifanya tu hapa, mstari wa kanuni, 215 00:10:07,770 --> 00:10:12,680 ambayo inasema pointer uliopita ijayo, hivyo haina maana gani? 216 00:10:12,680 --> 00:10:17,540 Hiyo ina maana kama sisi ni kuangalia tano, kwenda node uliopita, 217 00:10:17,540 --> 00:10:21,970 na ni ya lazima sasa uhakika na tano ijayo. 218 00:10:21,970 --> 00:10:27,840 Hivyo kimsingi, nini kwamba kufanya ni hiyo kufutwa arrow hii 219 00:10:27,840 --> 00:10:29,640 na kuifanya ruka haki juu ya tano. 220 00:10:29,640 --> 00:10:31,360 Ni kwamba wazi? 221 00:10:31,360 --> 00:10:33,200 Najua kwamba inaweza kuwa kidogo sketchy. 222 00:10:33,200 --> 00:10:34,480 Mimi naona baadhi nods kichwa. 223 00:10:34,480 --> 00:10:35,390 Hiyo ni nzuri. 224 00:10:35,390 --> 00:10:36,670 OK, cool. 225 00:10:36,670 --> 00:10:39,590 Sasa, nini hatua ya pili? 226 00:10:39,590 --> 00:10:42,060 >> Nimekuwa upya ijayo. 227 00:10:42,060 --> 00:10:45,297 Sasa, ambayo mshale nyingine nahitaji kubadilika? 228 00:10:45,297 --> 00:10:46,130 Hii ni moja ya haki hapa. 229 00:10:46,130 --> 00:10:47,560 Sita uliopita. 230 00:10:47,560 --> 00:10:50,620 Hatutaki sita uliopita kwa uhakika na tano tena. 231 00:10:50,620 --> 00:10:54,580 Tunataka kwa uhakika na nne. 232 00:10:54,580 --> 00:10:56,190 Je, picha kwamba kufanya maana? 233 00:10:56,190 --> 00:10:58,370 Hivyo sasa tunaweza kweli kuchukua tano nje. 234 00:10:58,370 --> 00:10:59,370 Basi hebu kupata kwamba kipande. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Nifanye nini kabla ya mimi upya sita ya awali ya nne? 237 00:11:11,180 --> 00:11:14,360 Mawazo yoyote huko? 238 00:11:14,360 --> 00:11:17,369 >> Watazamaji: Free node kati ya yao kwa kuiandaa kwa null? 239 00:11:17,369 --> 00:11:17,910 HANNAH: Cool. 240 00:11:17,910 --> 00:11:21,100 Dhahiri, mwisho lengo letu ni kwenda kuwa ya bure nodi. 241 00:11:21,100 --> 00:11:22,490 Hivyo tunaweza kufanya hivyo haki hapa. 242 00:11:22,490 --> 00:11:23,540 Free pointer. 243 00:11:23,540 --> 00:11:24,810 Kabisa. 244 00:11:24,810 --> 00:11:29,160 Lakini hata kabla ya hapo, hebu just-- lengo haki yetu 245 00:11:29,160 --> 00:11:38,730 hapa ni kuweka pointer ijayo uliopita sawa na pointer uliopita. 246 00:11:38,730 --> 00:11:40,760 Najua hii ni kupata kufunikwa up. 247 00:11:40,760 --> 00:11:45,440 OK, hebu take-- baridi. 248 00:11:45,440 --> 00:11:46,990 Je, kila mtu kuona mstari huu chini? 249 00:11:46,990 --> 00:11:47,840 Au ni super vidogo? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Hivyo kabla ya sisi nitafanya mstari huu hapa, tunataka 252 00:11:54,300 --> 00:11:58,375 kuhakikisha kwamba pointer ijayo ni si null. 253 00:11:58,375 --> 00:12:00,500 Kwa sababu kama pointer ya pili ni null, ni aina gani ya makosa 254 00:12:00,500 --> 00:12:02,727 mimi kupata wakati mimi kujaribu kumbukumbu null pointer? 255 00:12:02,727 --> 00:12:03,560 Watazamaji: seg kosa. 256 00:12:03,560 --> 00:12:05,660 HANNAH: kosa seg, nzuri. 257 00:12:05,660 --> 00:12:09,690 OK, hivyo kama si kwamba null, basi tunaweza upya. 258 00:12:09,690 --> 00:12:14,420 Na tuna sita uhakika tena na minne. 259 00:12:14,420 --> 00:12:17,440 Maswali hadi hatua hii? 260 00:12:17,440 --> 00:12:17,940 Ndiyo? 261 00:12:17,940 --> 00:12:19,814 >> Watazamaji: Katika yako ya kwanza kama taarifa, je 262 00:12:19,814 --> 00:12:23,817 Maana ya kuwa arrow pili, au [inaudible]? 263 00:12:23,817 --> 00:12:25,150 HANNAH: mimi maana pointer arrow n. 264 00:12:25,150 --> 00:12:30,270 Hivyo kimsingi, nini mimi kujaribu kufanya ni kusema, nodi sasa kwamba mimi nina 265 00:12:30,270 --> 00:12:34,100 iterating juu, nodi sasa kwamba Mimi nina kuangalia, mimi nina kuhifadhi katika pointer. 266 00:12:34,100 --> 00:12:37,630 Na mimi nataka kujua pointer ya thamani, ambayo katika kesi hii ni n. 267 00:12:37,630 --> 00:12:39,500 Na mimi nataka kuona, ni node mimi nina kuangalia 268 00:12:39,500 --> 00:12:42,790 kwa node mimi nina kwa lengo la kufuta? 269 00:12:42,790 --> 00:12:47,657 Hivyo kwamba ni kwa nini sisi hapa pointer n. 270 00:12:47,657 --> 00:12:49,857 >> Watazamaji: Hivyo mshale kwenda kwa n, kuweka thamani 271 00:12:49,857 --> 00:12:52,058 na kuhifadhi katika node kuitwa n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH: Hivyo ni kama kama mimi kwenda kwa orodha hii wanaohusishwa 274 00:12:58,820 --> 00:13:00,310 na akizungumzia tano. 275 00:13:00,310 --> 00:13:03,600 Kama mimi nataka kupata thamani kwamba, kama Nataka kupata kwamba idadi, 5, 276 00:13:03,600 --> 00:13:06,400 Nina kufanya pointer arrow n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Yeah. 279 00:13:07,900 --> 00:13:11,200 >> Watazamaji: Je N jina la kutofautiana? 280 00:13:11,200 --> 00:13:11,700 HANNAH: Ndiyo. 281 00:13:11,700 --> 00:13:14,870 Hivyo kama sisi flip nyuma moja slide, n ni jina 282 00:13:14,870 --> 00:13:18,660 ya thamani ndani ya nodi katika orodha yetu wanaohusishwa. 283 00:13:18,660 --> 00:13:21,510 Na najua inaweza kupata kidogo kidogo utata kwa sababu sisi pia 284 00:13:21,510 --> 00:13:24,680 ni wito jambo kwamba tunataka kufuta n. 285 00:13:24,680 --> 00:13:26,717 Hivyo hiyo ambapo kwamba mstari mmoja hutoka. 286 00:13:26,717 --> 00:13:27,671 Yeah? 287 00:13:27,671 --> 00:13:31,010 >> Watazamaji: Je, una [Inaudible] jinsi kazi? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 pointer [inaudible]? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH: Sure. 291 00:13:37,520 --> 00:13:40,027 Je, wewe ni about-- ambayo line kuzungumza? 292 00:13:40,027 --> 00:13:41,526 Watazamaji: mstari wa mwisho [inaudible]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH: Hakika, OK. 295 00:13:45,250 --> 00:13:48,540 Basi hebu kuangalia picha katika Ili kujaribu kueleza hili. 296 00:13:48,540 --> 00:13:51,030 Mimi nina sorry, kwa kamera, swali lilikuwa 297 00:13:51,030 --> 00:13:54,580 tunaweza kueleza pointer arrow pointer ijayo uliopita. 298 00:13:54,580 --> 00:14:01,510 OK, hivyo hebu sema sisi ni saa tano na lengo letu ni kufuta tano. 299 00:14:01,510 --> 00:14:07,240 Hivyo pointer pili, ambayo wa haya nodes tatu haina kutupa? 300 00:14:07,240 --> 00:14:10,840 Hiyo huleta sisi node sita, haki? 301 00:14:10,840 --> 00:14:16,490 >> OK, hivyo sasa sisi ni kuuliza kwa ajili ya sita uliopita. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 Na sisi ni upya hii kuwa sawa na nne, 304 00:14:20,210 --> 00:14:23,214 ambayo ilitokea kuwa tano uliopita. 305 00:14:23,214 --> 00:14:25,180 Mimi najua, ni super vigumu kuweka wimbo wa. 306 00:14:25,180 --> 00:14:29,286 Mimi kwa kweli kupendekeza kuchora picha kama wewe kupata swali kama hili. 307 00:14:29,286 --> 00:14:30,242 Ndiyo? 308 00:14:30,242 --> 00:14:32,617 >> Watazamaji: Je, sababu ya kuwa hatuna [inaudible]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH: Hasa. 311 00:14:38,570 --> 00:14:44,800 Hivyo swali ni, kwa nini sisi haja ya kuangalia hapa? 312 00:14:44,800 --> 00:14:48,160 Mbona sisi haja ya kuangalia kwamba pointer uliopita si sawa na null? 313 00:14:48,160 --> 00:14:50,070 Na ni kwa sababu tumekuwa tayari kutengwa nje 314 00:14:50,070 --> 00:14:52,490 kesi kama pointer ya mwanzoni kabisa. 315 00:14:52,490 --> 00:14:54,060 Nzuri sana swali. 316 00:14:54,060 --> 00:14:56,880 Kitu kingine juu ya hili? 317 00:14:56,880 --> 00:14:57,380 OK, cool. 318 00:14:57,380 --> 00:14:58,360 Basi hebu kumaliza up. 319 00:14:58,360 --> 00:14:59,890 Tuko karibu na hapo. 320 00:14:59,890 --> 00:15:01,310 >> Basi nini kama ni katika kichwa? 321 00:15:01,310 --> 00:15:03,360 Nini kama badala ya kujaribu kufuta tano, 322 00:15:03,360 --> 00:15:06,240 sisi kweli alitaka kufuta nne? 323 00:15:06,240 --> 00:15:07,270 Gani mimi kufanya? 324 00:15:07,270 --> 00:15:09,610 Naam, nataka upya kichwa yangu kwa nini? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Kelele nje? 327 00:15:15,585 --> 00:15:16,710 Watazamaji: moja baada ya yake. 328 00:15:16,710 --> 00:15:17,460 HANNAH: Beautiful. 329 00:15:17,460 --> 00:15:26,430 OK, hivyo sisi wanataka orodha ya akizungumzia chochote pointer yetu node ya pili ni. 330 00:15:26,430 --> 00:15:29,040 Nzuri. 331 00:15:29,040 --> 00:15:30,810 Na tu kwa ukamilifu ya ajili, sisi ingekuwa 332 00:15:30,810 --> 00:15:35,590 unataka kuangalia kwamba kwa muda mrefu kama orodha yetu si null, kwa muda mrefu kama orodha yetu si 333 00:15:35,590 --> 00:15:42,730 tupu, basi tunataka kuanzisha uliopita sawa wetu wa null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Swali hadi sasa? 336 00:15:50,230 --> 00:15:53,205 Hatua moja mbali from--? 337 00:15:53,205 --> 00:15:55,530 >> Watazamaji: Je, ni kuwa kama orodha si sawa na null? 338 00:15:55,530 --> 00:15:56,950 >> HANNAH: Ndiyo, wewe ni haki kabisa. 339 00:15:56,950 --> 00:15:58,130 Mimi hivyo sorry. 340 00:15:58,130 --> 00:16:00,040 Ni orodha si sawa na null. 341 00:16:00,040 --> 00:16:01,915 Kutisha. 342 00:16:01,915 --> 00:16:04,245 Kujaribu kuleta hii yote juu ya screen. 343 00:16:04,245 --> 00:16:06,870 Ni aina ya kuanguka mbali. 344 00:16:06,870 --> 00:16:07,730 Sorry, guys. 345 00:16:07,730 --> 00:16:11,874 Na mwisho lakini si uchache, kila tuna kufanya ni kurudi. 346 00:16:11,874 --> 00:16:12,840 OK. 347 00:16:12,840 --> 00:16:15,400 Hiyo ilikuwa mengi crammed katika kweli haraka. 348 00:16:15,400 --> 00:16:16,800 Kuchukua pili kuangalia juu ya hili. 349 00:16:16,800 --> 00:16:18,216 Niambie kama una maswali yoyote. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Yeah? 352 00:16:20,732 --> 00:16:26,940 >> Watazamaji: Kama orodha ni katika kichwa, then-- kusubiri, Nevermind. 353 00:16:26,940 --> 00:16:27,700 >> HANNAH: OK, nzuri. 354 00:16:27,700 --> 00:16:30,987 Hivyo hii ni kama orodha ni kichwani sisi kuondoa hiyo kwa chochote sisi kuingizwa. 355 00:16:30,987 --> 00:16:31,486 Yeah? 356 00:16:31,486 --> 00:16:33,777 >> Watazamaji: Je, unaweza kueleza kwanza kama taarifa tena? 357 00:16:33,777 --> 00:16:36,149 Kama pointer n ni sawa na n? 358 00:16:36,149 --> 00:16:36,690 HANNAH: Sure. 359 00:16:36,690 --> 00:16:42,780 Hivyo lengo letu la kazi hii yote ni kufuta nodi ambayo ina thamani n. 360 00:16:42,780 --> 00:16:47,460 Hivyo kama sisi kupata, kama tuko iterating kupitia orodha yetu, 361 00:16:47,460 --> 00:16:51,770 node na thamani n, kwamba mmoja tunataka kufuta. 362 00:16:51,770 --> 00:16:57,286 Basi wote wa kufuta hutokea ndani ya kuwa kubwa kama taarifa. 363 00:16:57,286 --> 00:16:58,593 Je, hiyo mantiki? 364 00:16:58,593 --> 00:16:59,480 Baridi. 365 00:16:59,480 --> 00:16:59,990 Yeah? 366 00:16:59,990 --> 00:17:02,864 >> Watazamaji: Labda tu hawezi kuona ni, lakini si wewe pia haja line 367 00:17:02,864 --> 00:17:06,024 kwa scrolling kupitia orodha? 368 00:17:06,024 --> 00:17:06,690 HANNAH: Awesome. 369 00:17:06,690 --> 00:17:10,896 Hebu kuleta hii up kidogo, na tutaweza kutupa kwamba haki katika chini. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Labda bodi bila wameweza imekuwa wazo kidogo bora. 372 00:17:15,490 --> 00:17:17,829 Hivyo ni jinsi gani mimi hoja pointer mbele? 373 00:17:17,829 --> 00:17:20,184 >> Watazamaji: Pointer sawa pointer pamoja na moja. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH: Beautiful. 375 00:17:21,599 --> 00:17:25,050 Hivyo kwamba inaruhusu sisi kuendelea iterating kupitia. 376 00:17:25,050 --> 00:17:26,251 OK. 377 00:17:26,251 --> 00:17:27,750 Watazamaji: Je, si kutakuwa na mwingine? 378 00:17:27,750 --> 00:17:29,028 HANNAH: One muda zaidi? 379 00:17:29,028 --> 00:17:32,444 Watazamaji: Je, si kuna mwingine baada ya kubwa ya zamani kama 380 00:17:32,444 --> 00:17:35,519 Taarifa [inaudible]? 381 00:17:35,519 --> 00:17:36,310 HANNAH: Ni sehemu? 382 00:17:36,310 --> 00:17:38,350 Mimi nina sorry. 383 00:17:38,350 --> 00:17:41,800 >> Watazamaji: traversal, lazima kuwe na mwingine? 384 00:17:41,800 --> 00:17:43,550 HANNAH: You kabisa inaweza kuwa na mwingine. 385 00:17:43,550 --> 00:17:46,930 Kwa sababu mimi kuwa na kurudi haki huko, huna haja ya mwingine. 386 00:17:46,930 --> 00:17:48,760 Lakini yeah, swali nzuri. 387 00:17:48,760 --> 00:17:50,170 OK, ndiyo? 388 00:17:50,170 --> 00:17:52,878 Watazamaji: Je, sisi kufikiri ya pointer kwamba ni kusonga kupitia orodha 389 00:17:52,878 --> 00:17:56,610 kama kuchukua juu ya thamani ya kila nodi katika orodha? 390 00:17:56,610 --> 00:18:00,650 Au lazima sisi kufikiria kama aina ya nje ya orodha? 391 00:18:00,650 --> 00:18:02,350 >> HANNAH: Aidha moja ni mzuri, nadhani. 392 00:18:02,350 --> 00:18:05,880 njia ya mimi kufikiria ni Nasema, OK, mimi pointer. 393 00:18:05,880 --> 00:18:06,520 Na hii ni mimi. 394 00:18:06,520 --> 00:18:07,150 Hii ni mkono wangu. 395 00:18:07,150 --> 00:18:09,960 Mimi nina kwenda kwa uhakika na tofauti mambo ambayo nataka iterate kupitia. 396 00:18:09,960 --> 00:18:12,270 Kwanza, mimi nina kwenda kwa uhakika na mkuu wa orodha. 397 00:18:12,270 --> 00:18:14,144 Na kwamba anasema mimi nina kwenda kwa uhakika na nne. 398 00:18:14,144 --> 00:18:18,060 Na hivyo mimi, kuwa mbali na orodha, Mimi unaweza kumweka kwa kila moja ya mambo hayo. 399 00:18:18,060 --> 00:18:19,520 Hivyo nadhani mwenyewe kama pointer. 400 00:18:19,520 --> 00:18:21,645 Watazamaji: Hivyo wakati wewe kufuta moja ya mambo hayo, 401 00:18:21,645 --> 00:18:23,404 kufuta mwenyewe, hivyo kusema. 402 00:18:23,404 --> 00:18:24,070 HANNAH: Hasa. 403 00:18:24,070 --> 00:18:25,920 Hivyo kufuta kitu wewe ni akizungumzia. 404 00:18:25,920 --> 00:18:28,340 Hivyo katika mfano kwamba tuliona ambapo tuko 405 00:18:28,340 --> 00:18:31,670 kujaribu kufuta tano, wakati mimi nina akizungumzia tano, 406 00:18:31,670 --> 00:18:34,200 Nataka kufuta kitu mimi nina akizungumzia. 407 00:18:34,200 --> 00:18:35,870 Hasa haki. 408 00:18:35,870 --> 00:18:36,577 Ndiyo? 409 00:18:36,577 --> 00:18:39,410 Watazamaji: Je, sisi huduma ya kuchukuliwa kesi ambapo n ni si katika orodha? 410 00:18:39,410 --> 00:18:40,460 HANNAH: Kama n si katika orodha? 411 00:18:40,460 --> 00:18:43,501 Yote kitatokea ni uko kwenda iterate kupitia na iterate 412 00:18:43,501 --> 00:18:47,616 kupitia, na kisha, wewe kwenda kupata pointer kuwa null, 413 00:18:47,616 --> 00:18:48,990 na kisha utaenda yafanyike. 414 00:18:48,990 --> 00:18:50,812 >> Watazamaji: Hivyo kufanya tuna kurudi kitu chochote? 415 00:18:50,812 --> 00:18:51,520 HANNAH: Tuliweza. 416 00:18:51,520 --> 00:18:54,500 njia kwamba kama inavyoelezwa hii kazi, mimi tu kusema kwamba kuirudisha 417 00:18:54,500 --> 00:18:55,770 utupu bila kujali. 418 00:18:55,770 --> 00:18:58,360 Lakini unaweza kuwa na kitu kama kurudi integer, 419 00:18:58,360 --> 00:19:00,920 na kuwa ni kurudi hasi 1 kama inashindwa. 420 00:19:00,920 --> 00:19:03,070 Kitu kama hicho. 421 00:19:03,070 --> 00:19:04,494 Maswali with-- ndiyo? 422 00:19:04,494 --> 00:19:05,410 Watazamaji: [inaudible]? 423 00:19:05,410 --> 00:19:05,993 HANNAH: Sorry? 424 00:19:05,993 --> 00:19:07,419 Watazamaji: [inaudible]? 425 00:19:07,419 --> 00:19:07,960 HANNAH: Sure. 426 00:19:07,960 --> 00:19:11,730 Hivyo hiyo ni actual-- mara moja tumekuwa jambo hili kazi yote ya kusonga 427 00:19:11,730 --> 00:19:16,530 mishale haya yote duniani, yote wetu Lengo lilikuwa kujikwamua node 428 00:19:16,530 --> 00:19:18,230 kwamba sisi ni kuangalia kwa. 429 00:19:18,230 --> 00:19:21,610 Hivyo katika kesi hii, kumkomboa pointer, kama mimi nina akizungumzia tano, 430 00:19:21,610 --> 00:19:24,670 ni kama kufutwa node hii katikati. 431 00:19:24,670 --> 00:19:27,250 Hiyo bure pointer sehemu. 432 00:19:27,250 --> 00:19:29,090 Hiyo mantiki? 433 00:19:29,090 --> 00:19:31,390 >> Watazamaji: Hivyo hata mawazo hakuwa [inaudible]? 434 00:19:31,390 --> 00:19:36,060 >> HANNAH: Hivyo sisi kudhani mwanzoni tulikuwa na baadhi ya orodha hiyo ilikuwa already-- 435 00:19:36,060 --> 00:19:37,220 wamemtia hii pamoja. 436 00:19:37,220 --> 00:19:39,761 Hivyo ili kujenga hii orodha, wao must've [inaudible]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Baridi. 439 00:19:42,750 --> 00:19:44,490 Kitu kingine na hili? 440 00:19:44,490 --> 00:19:46,386 Ndiyo? 441 00:19:46,386 --> 00:19:49,204 >> Watazamaji: Je, kama orodha haina sawa null line? 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: Haki hapa? 445 00:19:53,080 --> 00:19:53,840 Watazamaji: Yeah. 446 00:19:53,840 --> 00:19:57,370 HANNAH: OK, wote mimi nina kufanya ni Mimi tu kuhakikisha 447 00:19:57,370 --> 00:20:03,250 kwamba kabla ya mimi kujaribu orodha dereference, kabla ya mimi kujaribu kupata uliopita, 448 00:20:03,250 --> 00:20:07,210 Nataka kuhakikisha kwamba si null hivyo mimi si kupata seg kosa. 449 00:20:07,210 --> 00:20:08,400 Baridi. 450 00:20:08,400 --> 00:20:10,820 >> OK, najua hii ilikuwa kabisa mengi kupata kupitia. 451 00:20:10,820 --> 00:20:14,950 Hivyo slide hii itakuwa alifanya inapatikana na wewe. 452 00:20:14,950 --> 00:20:17,341 Hivyo unaweza kwenda kwa njia hiyo kwa undani zaidi. 453 00:20:17,341 --> 00:20:17,841 Ndiyo? 454 00:20:17,841 --> 00:20:19,749 >> Watazamaji: Kwa nini orodha [inaudible]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH: Sure. 457 00:20:24,670 --> 00:20:27,390 Hivyo orodha kweli anazungumzia hili kipengele haki hapa, 458 00:20:27,390 --> 00:20:29,200 kipengele kwanza katika orodha. 459 00:20:29,200 --> 00:20:30,748 Hivyo haiwezi kuwa uliopita. 460 00:20:30,748 --> 00:20:31,736 Ndiyo? 461 00:20:31,736 --> 00:20:35,194 >> Watazamaji: Je pointer uhakika kwa mahali sawa katika kumbukumbu? 462 00:20:35,194 --> 00:20:38,404 Je, ni kumweka kwa moja mahali katika kumbukumbu kama nodi 463 00:20:38,404 --> 00:20:40,640 kwamba ni akizungumzia? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH: Ndiyo, inaelekeza nodi hii katika kumbukumbu. 465 00:20:43,865 --> 00:20:47,190 >> Watazamaji: Right, hivyo wakati wewe [inaudible]? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH: Kwa maana, ndiyo. 467 00:20:50,580 --> 00:20:51,280 OK. 468 00:20:51,280 --> 00:20:52,997 Haki wote, hebu hoja pamoja na hili. 469 00:20:52,997 --> 00:20:55,330 Na kama una maswali zaidi, fimbo karibu mwishoni, 470 00:20:55,330 --> 00:20:57,130 na tunaweza kwenda kwa njia hiyo tena. 471 00:20:57,130 --> 00:20:58,120 OK, cool. 472 00:20:58,120 --> 00:21:00,490 Sasa, sisi kupata hoja juu ya kwa hash meza, inajaribu, 473 00:21:00,490 --> 00:21:04,940 na miti, ambayo wewe got super ukoo na katika p-kuweka tano, Speller. 474 00:21:04,940 --> 00:21:11,020 >> Hivyo hash meza ni tu safu na orodha moja moja wanaohusishwa 475 00:21:11,020 --> 00:21:14,050 au doubly wanaohusishwa orodha kuja mbali ya hiyo. 476 00:21:14,050 --> 00:21:16,380 Hivyo tuna aina fulani ya associative safu. 477 00:21:16,380 --> 00:21:21,280 Na jinsi sisi kujua ambayo wa haya arrays ndoo kupata ndani, 478 00:21:21,280 --> 00:21:24,137 sisi kutumia hash kazi. 479 00:21:24,137 --> 00:21:26,470 Hivyo katika kesi hii, yeyote anaweza nadhani nini kazi hash 480 00:21:26,470 --> 00:21:28,636 itakuwa tu kulingana na baadhi ya pembejeo na pato? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> Watazamaji: Barua ya simu ya alfabeti. 483 00:21:33,194 --> 00:21:33,860 HANNAH: Hasa. 484 00:21:33,860 --> 00:21:36,160 Ni tu unaweka yao katika herufi. 485 00:21:36,160 --> 00:21:39,280 Kila kitu huanza na A ni kuweka katika ndoo ya kwanza. 486 00:21:39,280 --> 00:21:43,340 Kila kitu na B ni kuweka katika ndoo ya pili, kadhalika, na kadhalika. 487 00:21:43,340 --> 00:21:45,620 Ajabu, OK. 488 00:21:45,620 --> 00:21:48,980 Na hash kazi ni yoyote kazi ambayo inachukua katika neno 489 00:21:48,980 --> 00:21:51,910 na kukuambia nini ndoo ni mali katika. 490 00:21:51,910 --> 00:21:55,150 Hivyo ambayo kuingia katika yetu safu ni mali katika. 491 00:21:55,150 --> 00:21:58,080 >> Hivyo kila wakati mimi kutoa yangu hash kazi neno, 492 00:21:58,080 --> 00:22:00,660 ni lazima kuniambia huo mahali kila wakati. 493 00:22:00,660 --> 00:22:03,270 Hivyo kama sisi kutumia kazi hash kutoka slide uliopita 494 00:22:03,270 --> 00:22:05,950 ambapo sisi ni kuchagua kwa barua ya kwanza ya alfabeti, 495 00:22:05,950 --> 00:22:08,230 kila wakati mimi kutoa yangu kazi hash "apple," 496 00:22:08,230 --> 00:22:10,180 ni lazima iwe nipe nyuma 0. 497 00:22:10,180 --> 00:22:12,890 Hivyo kama nina apple kuweka katika hash meza yangu, 498 00:22:12,890 --> 00:22:17,700 kama mimi kutoa "apple" kwa hash yangu kazi, ni lazima kusema, kwenda kuiweka katika ndoo 0. 499 00:22:17,700 --> 00:22:19,980 Kama mimi nina kuangalia kwa apple katika hash meza yangu 500 00:22:19,980 --> 00:22:24,340 na nasema, ambapo nguvu apple kuishi, unaweza kuuliza hash yako kazi. 501 00:22:24,340 --> 00:22:26,900 Na inasema, kwenda ndoo 0. 502 00:22:26,900 --> 00:22:29,150 Wote haki? 503 00:22:29,150 --> 00:22:32,660 Maswali na kazi hash? 504 00:22:32,660 --> 00:22:34,570 Kutisha. 505 00:22:34,570 --> 00:22:37,320 >> Hapa ni kidogo zaidi maelezo ya kina 506 00:22:37,320 --> 00:22:39,570 ya nini kazi hash ili kuangalia kama. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Wote haki. 509 00:22:42,960 --> 00:22:45,960 Sasa, tatizo na hash kazi ni katika ulimwengu bora, 510 00:22:45,960 --> 00:22:48,870 tunataka moja tu kitu katika kila ndoo. 511 00:22:48,870 --> 00:22:50,900 Lakini katika hali halisi, kuna si neno moja tu 512 00:22:50,900 --> 00:22:54,280 kwamba huanza na A. Kuna si neno moja tu kwamba huanza na B. Hivyo 513 00:22:54,280 --> 00:22:56,960 katika kesi hii, kama sisi ghafla kupata "berry," 514 00:22:56,960 --> 00:22:58,710 na tunataka kuiweka ndani ya hash wetu meza, 515 00:22:58,710 --> 00:23:03,640 na tunaona, oh, hakuna, ndizi ni tayari kuna, ni sisi gonna kufanya nini? 516 00:23:03,640 --> 00:23:05,900 >> Naam, tuna chaguzi mbili. 517 00:23:05,900 --> 00:23:07,990 chaguo la kwanza ni linear probing, ambayo 518 00:23:07,990 --> 00:23:11,100 ina maana tu kwenda kupata ijayo tupu ndoo. 519 00:23:11,100 --> 00:23:14,100 Go kupata ijayo tupu safu ya kuingia. 520 00:23:14,100 --> 00:23:15,750 Na tu ya kuweka "berry" huko. 521 00:23:15,750 --> 00:23:18,880 Hivyo najua ni walidhani kwenda na ndizi katika ndoo moja. 522 00:23:18,880 --> 00:23:22,155 Lakini tu kuiweka katika ndoo tatu, kwa sababu ndoo tatu ni tupu. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Njia nyingine ni pengine nini kutekeleza 525 00:23:26,680 --> 00:23:29,220 yako katika p-kuweka, ambapo alikuwa tofauti chaining. 526 00:23:29,220 --> 00:23:33,990 Hivyo kila ndoo yako, kila moja ya safu mambo yako, 527 00:23:33,990 --> 00:23:38,410 si tu ana maneno moja, lakini kwa kweli ana pointer katika orodha ya maneno. 528 00:23:38,410 --> 00:23:41,880 Hivyo kwamba kama alikuwa ndizi katika hash meza yako 529 00:23:41,880 --> 00:23:44,740 na ghafla alitaka kuongeza berry, hakuna tatizo. 530 00:23:44,740 --> 00:23:51,110 Tu kuongeza berry juu ya mwisho, au mwanzo, ya orodha yako wanaohusishwa. 531 00:23:51,110 --> 00:23:54,040 OK, kutisha. 532 00:23:54,040 --> 00:23:58,490 Maswali na hash meza kabla ya sisi kwenda juu? 533 00:23:58,490 --> 00:23:59,850 >> Wote haki. 534 00:23:59,850 --> 00:24:01,070 Miti na anajaribu. 535 00:24:01,070 --> 00:24:07,980 OK, hivyo hii ilikuwa chaguo jingine kwa ajili ya utekelezaji kamusi. 536 00:24:07,980 --> 00:24:09,100 Unaweza kuwa alifanya kujaribu. 537 00:24:09,100 --> 00:24:13,420 Hivyo ni aina ya pekee ya mti kutenda kama ngazi mbalimbali hash meza. 538 00:24:13,420 --> 00:24:16,862 Hivyo utaona picha ambapo una safu kwamba 539 00:24:16,862 --> 00:24:19,320 anazungumzia rundo la arrays kwamba hatua ya kundi la arrays 540 00:24:19,320 --> 00:24:20,390 kwamba hatua ya kundi la arrays. 541 00:24:20,390 --> 00:24:23,140 Na tutaweza kuona nini hasa kwamba bila kuangalia kama juu ya slide siku zijazo. 542 00:24:23,140 --> 00:24:26,070 Na kwa ujumla zaidi, mti ni tu muundo wowote data 543 00:24:26,070 --> 00:24:29,710 ambayo data ni kupangwa katika baadhi uongozi. 544 00:24:29,710 --> 00:24:32,610 Hivyo ambapo tuliona tuna aina fulani ya uelewa 545 00:24:32,610 --> 00:24:36,130 wa ngazi ya juu, ngazi ya pili, ngazi ya pili, ngazi ya pili. 546 00:24:36,130 --> 00:24:39,690 Hivyo hii ni pengine wazi pamoja na baadhi ya mifano maalum. 547 00:24:39,690 --> 00:24:40,880 Hivyo hapa ni mti wetu. 548 00:24:40,880 --> 00:24:42,970 Unaweza kuona kwamba ni ina ngazi fulani 549 00:24:42,970 --> 00:24:45,480 kwamba sisi kuanza na kwamba mizizi node, moja. 550 00:24:45,480 --> 00:24:47,640 Na tunaweza kwenda chini kwa njia ya mti wetu. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> mti binary ni aina fulani ya mti. 553 00:24:53,910 --> 00:24:56,770 Na vipimo tu kwa ajili ya mti binary 554 00:24:56,770 --> 00:25:01,130 ni kwamba kila node ina saa zaidi majani mawili. 555 00:25:01,130 --> 00:25:03,960 Hivyo wewe si kwenda kuona yoyote ya nodes hizi tatu au nne 556 00:25:03,960 --> 00:25:06,880 au baadhi ya idadi nyingine ya majani. 557 00:25:06,880 --> 00:25:11,310 Na kisha hata zaidi maalum ni binary search mti 558 00:25:11,310 --> 00:25:18,010 ambapo kila node ya kushoto ya node ni kwenda kuwa na thamani ndogo. 559 00:25:18,010 --> 00:25:21,180 Na kila thamani ya haki ni kwenda kuwa kubwa. 560 00:25:21,180 --> 00:25:26,900 Hivyo kama unaweza kuona 44 ni mzizi yetu, kwa upande wa kushoto, 11, 22, na 33 561 00:25:26,900 --> 00:25:28,940 wote ni chini ya mizizi yetu. 562 00:25:28,940 --> 00:25:33,890 Na juu ya haki ni wote namba bigger-- 66, 55, na 77. 563 00:25:33,890 --> 00:25:37,380 Na mali hii ana kweli katika kila ngazi ya mti. 564 00:25:37,380 --> 00:25:42,690 >> Hivyo wakati sisi kwenda chini kwa 22, 11, na 33, bado 11 565 00:25:42,690 --> 00:25:46,950 ni ndogo kuliko 22 na 33 ni kubwa kuliko 22. 566 00:25:46,950 --> 00:25:50,160 Na hii inafanya kuwa rahisi kutafuta kwa sababu kama sisi ni kuangalia kwa simu, 567 00:25:50,160 --> 00:25:53,877 sisi kujua hasa ambayo tawi kufuata chini. 568 00:25:53,877 --> 00:25:56,210 Hivyo hii lazima kuwakumbusha kidogo ya search binary. 569 00:25:56,210 --> 00:25:56,967 Yeah? 570 00:25:56,967 --> 00:25:58,835 >> Watazamaji: Hivyo wakati uko kuelezea binary, 571 00:25:58,835 --> 00:26:00,587 wewe alisema ina saa zaidi majani mawili? 572 00:26:00,587 --> 00:26:01,170 HANNAH: Mm-hm. 573 00:26:01,170 --> 00:26:02,580 Watazamaji: Inawezekana kuwa chini? 574 00:26:02,580 --> 00:26:03,121 HANNAH: Yeah. 575 00:26:03,121 --> 00:26:06,720 Basi hebu kusema, kwa mfano, wewe hawakuwa na hata idadi ya mambo 576 00:26:06,720 --> 00:26:11,791 na unaweza si kujaza juu yako yote majani, ni faini kama mtu ana moja. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 Kutisha. 579 00:26:12,789 --> 00:26:15,930 Maswali yoyote nyingine juu ya miti? 580 00:26:15,930 --> 00:26:16,670 OK. 581 00:26:16,670 --> 00:26:20,110 >> Nyuma ya inajaribu yetu kama nilikuwa kuzungumza kuhusu kidogo mapema, 582 00:26:20,110 --> 00:26:23,900 jinsi tuna hizi arrays ngazi mbalimbali. 583 00:26:23,900 --> 00:26:26,280 Hivyo katika kesi hii, sisi kuanza saa ya juu. 584 00:26:26,280 --> 00:26:29,030 Na tunaweza kufuata neno wowote chini. 585 00:26:29,030 --> 00:26:30,780 Basi hebu kusema tulitaka kuangalia kwa Turing. 586 00:26:30,780 --> 00:26:34,380 Sisi kuanza saa T, kufuata ni chini safu ambayo ina U, 587 00:26:34,380 --> 00:26:37,350 na kufuata chini mpaka sisi kufikia hii delta kidogo ambayo 588 00:26:37,350 --> 00:26:39,060 anatueleza, ndiyo, wewe kupatikana neno. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Wazi juu ya inajaribu? 591 00:26:44,120 --> 00:26:48,138 Kitu chochote kwenda zaidi ya hapo? 592 00:26:48,138 --> 00:26:48,908 Ndiyo? 593 00:26:48,908 --> 00:26:51,866 Watazamaji: Je ishara ya delta na kuchukua nafasi ndani ya kujaribu? 594 00:26:51,866 --> 00:26:54,532 HANNAH: Yeah, hivyo hana lazima hata haja ya kuwa delta. 595 00:26:54,532 --> 00:26:57,760 Lakini tunahitaji baadhi ya njia ya kuwaambia wetu computer-- sorry, 596 00:26:57,760 --> 00:27:01,130 ili tujue kwamba Tur si neno. 597 00:27:01,130 --> 00:27:04,180 Kwa sababu hebu sema hatukuwa na hii dhana ya delta, dhana hii 598 00:27:04,180 --> 00:27:09,850 ya pongezi, wewe kupatikana neno, ingekuwa kwenda kwa njia na iterate T-U-R, 599 00:27:09,850 --> 00:27:11,300 na kisha kusema, kutisha, nimeona ni! 600 00:27:11,300 --> 00:27:12,670 Ni lazima neno. 601 00:27:12,670 --> 00:27:13,720 Lakini ni kweli si. 602 00:27:13,720 --> 00:27:15,310 Tunataka Turing nzima kuwa neno. 603 00:27:15,310 --> 00:27:17,760 Kwa hiyo, tunapaswa kuwa na kitu katika mwisho kwamba anasema, pongezi, 604 00:27:17,760 --> 00:27:19,051 Nimepata neno halali. 605 00:27:19,051 --> 00:27:21,680 Watazamaji: Hivyo kama wewe alikuwa kama Barua 26 katika alfabeti, 606 00:27:21,680 --> 00:27:24,560 ingekuwa wewe kweli kuwa Funguo 27 katika kujaribu yako? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH: Ajabu, yeah. 608 00:27:26,010 --> 00:27:28,210 Hivyo kweli, nadhani kwamba itakuwa juu slide ijayo. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Ambapo kama una nodi katika kujaribu yako, wewe ni 611 00:27:32,880 --> 00:27:35,800 kwenda na watoto 27 badala ya 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Maswali yoyote kwa hilo? 614 00:27:40,050 --> 00:27:40,550 Yeah? 615 00:27:40,550 --> 00:27:44,569 Watazamaji: Kwa nini inajaribu kuchukua hivyo nafasi sana [inaudible] kama wewe kwenda? 616 00:27:44,569 --> 00:27:47,629 Kwa nini ni kuchukuliwa kuwa [inaudible]? 617 00:27:47,629 --> 00:27:48,170 HANNAH: Sure. 618 00:27:48,170 --> 00:27:48,790 Hebu kwenda nyuma. 619 00:27:48,790 --> 00:27:52,350 swali ni, kwa nini ni inajaribu kubwa sana 620 00:27:52,350 --> 00:27:54,620 kuliko kitu kama meza hash. 621 00:27:54,620 --> 00:27:57,790 Hivyo kwa kila moja ya ngazi hizi, hata kama wao siyo inayotolewa hapa, 622 00:27:57,790 --> 00:28:01,250 unaweza kuwa na wahusika wote 26. 623 00:28:01,250 --> 00:28:04,420 Na sababu kwamba unaweza si kusema, oh, lakini kama kwa Turing, mimi 624 00:28:04,420 --> 00:28:07,570 hawana haja ya kuwa na yoyote ya wale mambo sawa juu ya kiwango cha U. Naam, 625 00:28:07,570 --> 00:28:11,390 kama ghafla alitaka kuongeza kitu ambacho alikuwa kama T-H, 626 00:28:11,390 --> 00:28:14,800 wewe d haja ya kuwa na uwezo wa kuongeza neno hilo. 627 00:28:14,800 --> 00:28:17,330 Hivyo kwa kila barua moja, wewe ni kwenda kuwa na 628 00:28:17,330 --> 00:28:19,730 kuwa na rundo la arrays kuja mbali ya hiyo. 629 00:28:19,730 --> 00:28:24,060 Hivyo unaweza kuona ni jinsi gani Ningependa kupata kweli kubwa, kwa kweli kwa haraka. 630 00:28:24,060 --> 00:28:26,560 Yoyote maswali mengine? 631 00:28:26,560 --> 00:28:28,980 Wote haki. 632 00:28:28,980 --> 00:28:29,832 Yeah? 633 00:28:29,832 --> 00:28:33,210 >> Watazamaji: Wakati ni inajaribu kasi zaidi kuliko meza hash? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH: Wakati ni inajaribu kasi zaidi kuliko meza hash? 635 00:28:36,280 --> 00:28:39,120 Hivyo kama wewe alikuwa kweli mbaya hash kazi. 636 00:28:39,120 --> 00:28:41,840 Basi hebu kusema mimi nilikuwa kama, hapa ni hash yako kazi. 637 00:28:41,840 --> 00:28:43,660 Hakuna jambo gani neno wewe nipe, mimi nina daima 638 00:28:43,660 --> 00:28:47,740 kwenda kuiweka katika safu ya kuingia 0. 639 00:28:47,740 --> 00:28:52,000 Na hivyo sisi kuishia na kuweka tu kila kitu katika moja kubwa orodha ndefu wanaohusishwa. 640 00:28:52,000 --> 00:28:58,740 Na hivyo wakati lookup itachukua saa mbaya n kama ni katika mwisho wa orodha yetu. 641 00:28:58,740 --> 00:29:03,150 Na kujaribu, sisi tu iterate kupitia barua katika neno. 642 00:29:03,150 --> 00:29:07,080 Hivyo hata kama sisi aliongeza rundo maneno zaidi kwa kujaribu yetu, 643 00:29:07,080 --> 00:29:09,620 isingekuwa kutupeleka tena kupata neno fulani. 644 00:29:09,620 --> 00:29:11,750 >> Wote sisi kufanya ni, kwa mfano, katika kesi hii, 645 00:29:11,750 --> 00:29:17,170 hebu sema sisi ni kuangalia kwa zoom, tunataka tu na iterate juu ya 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, herufi nne. 647 00:29:19,840 --> 00:29:22,250 Hivyo hiyo ni urefu wa neno zoom. 648 00:29:22,250 --> 00:29:25,400 Haijalishi jinsi wengi maneno zaidi sisi kuweka katika kujaribu hili. 649 00:29:25,400 --> 00:29:30,225 Sisi daima unaweza kupata katika hatua hizo nne. 650 00:29:30,225 --> 00:29:31,215 Kutisha. 651 00:29:31,215 --> 00:29:32,205 Ndiyo? 652 00:29:32,205 --> 00:29:34,185 >> Watazamaji: Hivyo [inaudible] ni safu, haki? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: Mm-hm. 654 00:29:35,322 --> 00:29:37,155 Watazamaji: Kama wewe ni kuangalia kwa [inaudible], 655 00:29:37,155 --> 00:29:40,929 ingekuwa una kwenda kwa njia ya safu yako ya kupata [inaudible]? 656 00:29:40,929 --> 00:29:41,470 HANNAH: Sure. 657 00:29:41,470 --> 00:29:44,000 Watazamaji: Je, si kwamba kuchukua muda zaidi? 658 00:29:44,000 --> 00:29:46,370 HANNAH: Kama mimi nina kwenda kusema kwamba safu yangu daima 659 00:29:46,370 --> 00:29:49,250 kwenda kuwa A, B, C, D, E, F, G, blah blah blah, 660 00:29:49,250 --> 00:29:51,630 hivyo kama mimi daima kujua ni katika huo ili halisi, 661 00:29:51,630 --> 00:29:53,880 kama mimi daima kujua ni katika mpango wa herufi, 662 00:29:53,880 --> 00:29:57,860 Naweza kusema tu O ni idadi hivyo na hivyo katika alfabeti. 663 00:29:57,860 --> 00:29:59,620 Tu kuruka kwa nafasi hiyo. 664 00:29:59,620 --> 00:30:01,860 Kwa sababu kumbuka, na arrays, tunaweza kupata 665 00:30:01,860 --> 00:30:06,590 kipengele yoyote ya kuwa safu katika mara kwa mara muda kama sisi kujua ambapo sisi ni kuangalia. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Yeah? 668 00:30:09,580 --> 00:30:12,005 >> Watazamaji: On uliopita slide [inaudible] 27, 669 00:30:12,005 --> 00:30:14,430 lakini 26 kwa moja ya kwanza. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH: Sorry? 671 00:30:15,400 --> 00:30:18,800 >> Watazamaji: Je, si mara ya kwanza moja 0, hivyo bila kuwa 26? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH: Hakika, hivyo wakati sisi kusema 27, hiyo ni kwenda kutupa fahirisi 0 kupitia 26. 673 00:30:24,900 --> 00:30:28,220 Lakini kama kweli kuhesabu wale nje, ni kwenda kuwa 27. 674 00:30:28,220 --> 00:30:30,007 Swali nzuri. 675 00:30:30,007 --> 00:30:30,590 Kitu kingine? 676 00:30:30,590 --> 00:30:31,200 Yeah? 677 00:30:31,200 --> 00:30:34,420 >> Watazamaji: Hivyo ni inajaribu polepole zaidi kuliko meza hash? 678 00:30:34,420 --> 00:30:37,920 >> HANNAH: Anajaribu ni kwenda kuwa, katika nadharia, kwa kasi zaidi kuliko meza hash 679 00:30:37,920 --> 00:30:39,760 lakini kuchukua zaidi ya kumbukumbu. 680 00:30:39,760 --> 00:30:40,534 Yeah? 681 00:30:40,534 --> 00:30:41,450 Watazamaji: [inaudible]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH: Mimi nina sorry, sikuweza kusikia wewe. 684 00:30:47,484 --> 00:30:48,400 Watazamaji: [inaudible]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0-25 inakupa 26. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH: 0-25 ingekuwa kukupa 26, kulia. 688 00:30:56,958 --> 00:30:58,457 >> Watazamaji: Na kisha [inaudible]. 689 00:30:58,457 --> 00:30:59,040 HANNAH: Haki. 690 00:30:59,040 --> 00:31:04,760 Hivyo idadi tuko kubainisha ni idadi ya mambo katika safu yetu. 691 00:31:04,760 --> 00:31:07,260 Hivyo kama tuna 27, ni kwenda kutupa 0 692 00:31:07,260 --> 00:31:10,620 hadi 26, ambayo nitakupa sisi chumba kwa ajili ya, katika kesi hii, 693 00:31:10,620 --> 00:31:12,770 Mimi si ikiwa ni pamoja na apostrophe. 694 00:31:12,770 --> 00:31:17,040 Hivyo sisi ni kupata 0 kwa njia ya 25 ni barua 26 ya kwanza ya alfabeti, 695 00:31:17,040 --> 00:31:18,990 au barua zote 26 za alfabeti. 696 00:31:18,990 --> 00:31:21,190 Na kisha kwamba mwisho Jambo, mahali pa kuingia 26, ni 697 00:31:21,190 --> 00:31:24,598 kwenda kuwa hundi alama, au delta. 698 00:31:24,598 --> 00:31:26,960 Kitu kingine? 699 00:31:26,960 --> 00:31:29,130 Kutisha. 700 00:31:29,130 --> 00:31:30,020 Waliopotea nafasi yangu. 701 00:31:30,020 --> 00:31:31,020 OK, cool. 702 00:31:31,020 --> 00:31:33,240 >> Hivyo sisi tayari kuguswa juu ya hili. 703 00:31:33,240 --> 00:31:37,430 Lakini biashara kubwa off kati ya inajaribu na meza hash 704 00:31:37,430 --> 00:31:39,720 ni kwamba inajaribu kutoa, katika nadharia, mara kwa mara kuangalia juu 705 00:31:39,720 --> 00:31:42,890 mara lakini kutumia mengi yote ya kumbukumbu. 706 00:31:42,890 --> 00:31:46,495 Haki wote, sasa tuna kidogo miundo chini ngumu, 707 00:31:46,495 --> 00:31:49,640 na tutaweza kufanywa na C, na tutaweza hoja haki pamoja. 708 00:31:49,640 --> 00:31:51,930 >> Hivyo mwingi, tuliona hii katika hotuba ambapo 709 00:31:51,930 --> 00:31:55,020 kuwa na kitu kama stack ya trays ambapo 710 00:31:55,020 --> 00:31:57,330 Jambo la mwisho wewe kuweka juu ya stack ni kwenda 711 00:31:57,330 --> 00:31:59,500 kuwa jambo la kwanza wewe kuchukua mbali. 712 00:31:59,500 --> 00:32:02,880 Hivyo kwamba ni nini kweli amefafanua stack ni kwamba jambo la mwisho unaweza kuweka juu ya 713 00:32:02,880 --> 00:32:06,080 ni kwenda kuwa kwanza Jambo wewe kuchukua mbali. 714 00:32:06,080 --> 00:32:09,279 Na istilahi kwamba sisi kutumia kama sisi ni kwenda kuweka kitu, 715 00:32:09,279 --> 00:32:12,070 kama sisi ni kwenda kuongeza kitu kwa stack yetu, sisi wito kwamba kusukuma mbele. 716 00:32:12,070 --> 00:32:14,970 Na kama sisi kuchukua kitu mbali, sisi kuiita popping. 717 00:32:14,970 --> 00:32:17,080 Na kama tunakwenda kutekeleza stack, sisi 718 00:32:17,080 --> 00:32:20,660 haja ya kuwa na uhakika wa kuweka wimbo wa wote ukubwa na uwezo. 719 00:32:20,660 --> 00:32:24,940 Hivyo jumla ya idadi ya vipengele tunaweza kushikilia na idadi ya sasa ya mambo 720 00:32:24,940 --> 00:32:27,880 kwamba sisi ni kufanya. 721 00:32:27,880 --> 00:32:29,885 >> Na vile vile sana, tuna foleni. 722 00:32:29,885 --> 00:32:34,510 Na tofauti tu ni badala ya na mwingi, 723 00:32:34,510 --> 00:32:37,630 sisi alisema jambo la mwisho sisi kuweka kwenye ni jambo la kwanza sisi kuchukua mbali. 724 00:32:37,630 --> 00:32:40,940 Hivyo, pamoja na foleni, Jambo la kwanza sisi kuweka katika 725 00:32:40,940 --> 00:32:43,129 ni kwenda kuwa Jambo la kwanza sisi kuchukua nje. 726 00:32:43,129 --> 00:32:45,420 Hivyo hii ni kama kama wewe ni kweli wamejipanga katika duka 727 00:32:45,420 --> 00:32:48,140 na wewe ni kusaidiwa, basi mtu wa kwanza katika line 728 00:32:48,140 --> 00:32:50,880 lazima mtu wa kwanza kusaidiwa. 729 00:32:50,880 --> 00:32:52,220 Hivyo kwamba itakuwa foleni. 730 00:32:52,220 --> 00:32:55,880 >> Hivyo tunahitaji kuweka wimbo wa ukubwa, uwezo na kichwa tangu tuko 731 00:32:55,880 --> 00:33:01,130 kwenda kuchukua kila mtu mbali mbele orodha ya badala ya nyuma. 732 00:33:01,130 --> 00:33:03,480 Maswali juu ya hilo? 733 00:33:03,480 --> 00:33:06,330 Maswali C yoyote kwamba ni bothering wewe? 734 00:33:06,330 --> 00:33:09,590 Miundo data, yoyote ya mambo ambayo fun? 735 00:33:09,590 --> 00:33:10,530 Haki wote, baridi. 736 00:33:10,530 --> 00:33:14,120 Hivyo mimi itabidi mkono ni juu ya Alison kwa kuruka ndani ya baadhi ya programu zaidi. 737 00:33:14,120 --> 00:33:15,965 >> Alison: Oh, tutaweza kuona. 738 00:33:15,965 --> 00:33:17,370 Tutaweza kuona jinsi vizuri mimi kufanya hapa. 739 00:33:17,370 --> 00:33:21,410 OK, mimi nina kwenda kujaribu na kuruka kupitia mambo haya, guys. 740 00:33:21,410 --> 00:33:24,540 Hana akaenda sana katika kina juu ya mambo yake yote. 741 00:33:24,540 --> 00:33:26,900 Mimi nina kwenda kujaribu kutoa wewe haraka mlipuko maelezo 742 00:33:26,900 --> 00:33:31,290 ili tuweze kupata Davin na kila furaha JavaScript na usalama mambo 743 00:33:31,290 --> 00:33:33,380 kwamba labda kweli wanataka kusikia zaidi kuhusu. 744 00:33:33,380 --> 00:33:36,600 >> OK, kama Hana alisema, kama una maswali yoyote, 745 00:33:36,600 --> 00:33:39,170 Mimi nina kwenda kwa haraka sana, tafadhali, basi mimi kujua. 746 00:33:39,170 --> 00:33:42,114 Nami kujibu maswali kama ni muhimu. 747 00:33:42,114 --> 00:33:45,280 Hivyo kuanza, tunakwenda kuanza na pengine ni moja ya mambo ya kwanza kabisa 748 00:33:45,280 --> 00:33:48,730 wewe kujifunza na mtandao programu, ruhusa. 749 00:33:48,730 --> 00:33:52,720 Hivyo chmod, you guys lazima tumekuwa mabwana saa hii na yote ya mtandao 750 00:33:52,720 --> 00:33:54,870 programu kwamba wewe wameweza wamekuwa wakifanya hivi karibuni. 751 00:33:54,870 --> 00:33:57,320 Ni kimsingi tu amri kuwa mabadiliko ruhusa 752 00:33:57,320 --> 00:34:00,779 au ruhusa ya faili mfumo wetu vitu. 753 00:34:00,779 --> 00:34:02,570 Bila shaka, kwa kweli kuona haya, ikiwa ni 754 00:34:02,570 --> 00:34:04,910 kuwa na matatizo yoyote na haya wakati wa seti tatizo lako, 755 00:34:04,910 --> 00:34:11,460 unaweza kuwa kutumika ls-l, ambayo ni ya muda mrefu, kupata maoni aina ya kama hii, 756 00:34:11,460 --> 00:34:14,209 ambapo kwa kweli kuona yote ruhusa kwa ajili ya faili. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Na kwa kweli, sisi ni kwenda tu kwenda kupitia pretty haraka tu pretty 759 00:34:20,732 --> 00:34:21,940 kiasi gani kila moja ya haya yana maana gani. 760 00:34:21,940 --> 00:34:24,481 Hivyo tuna d haki hapa, ambayo tu anasimama kwa directory. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Ni wazi hapa, tunaona rwx, ambayo ni someka, writeable, na kutekelezwa. 763 00:34:31,739 --> 00:34:37,090 Hizi pia inaweza kuwa kuwakilishwa kama bits, ambayo tutaweza kupata katika juu ya ukurasa wa pili. 764 00:34:37,090 --> 00:34:40,699 Hivyo kila triad kuwa tuliona hapa, hivyo ni triads tatu. 765 00:34:40,699 --> 00:34:48,120 Sisi rwx, r chochote x na r chochote x kwa ajili ya faili hili la kwanza. 766 00:34:48,120 --> 00:34:49,690 Ni muundo huu kwa ujumla. 767 00:34:49,690 --> 00:34:50,940 >> Hivyo tuna baadhi directory. 768 00:34:50,940 --> 00:34:53,999 Tuna baadhi ya kundi user kwa ruhusa hizi. 769 00:34:53,999 --> 00:34:57,040 Baadhi ya kundi ambayo ina ruhusa hizi, na dunia ambayo ina ruhusa. 770 00:34:57,040 --> 00:34:59,420 Unaweza kufikiria kama haya triad. 771 00:34:59,420 --> 00:35:01,130 Unaweza kufikiria kama haya bits tatu. 772 00:35:01,130 --> 00:35:04,060 Hivyo wanaweza kushikilia maadili popote kutoka 0 hadi 773 00:35:04,060 --> 00:35:07,350 7, ambayo ni kwa nini wakati mwingine tulikuwa kufanya chmod 774 00:35:07,350 --> 00:35:17,510 600 badala ya chmod rw chochote. 775 00:35:17,510 --> 00:35:19,170 Tutaweza kupata katika mfano huko. 776 00:35:19,170 --> 00:35:24,260 Lakini kimsingi, unaweza kufikiria wa haya kama ama tu rwx, 777 00:35:24,260 --> 00:35:28,520 au unaweza kufikiri wao kama baadhi simu ambapo hii moja ya kwanza hapa 778 00:35:28,520 --> 00:35:31,480 inawakilisha idadi kati ya 0 na 7, hii ni moja ya pili 779 00:35:31,480 --> 00:35:33,970 inawakilisha idadi kati ya 0 na 7, na theluthi moja 780 00:35:33,970 --> 00:35:38,245 inawakilisha idadi kati ya 0 na 7, OK? 781 00:35:38,245 --> 00:35:42,700 >> r ina thamani ya 4. w ina thamani ya 2, na x 782 00:35:42,700 --> 00:35:49,230 ina thamani ya 1, ambayo ni kwa nini hii ruhusa hapa itakuwa chmod 700. 783 00:35:49,230 --> 00:35:53,520 Kwa sababu katika kesi hii hapa, inasema sisi kuwa kwanza kidogo kuna flipped juu. 784 00:35:53,520 --> 00:35:55,380 Hivyo tuna 4 kwa ajili ya kusoma. 785 00:35:55,380 --> 00:35:58,730 kidogo ya pili ni flipped juu kwa w, ambayo ni 2, hivyo sasa tuna 6. 786 00:35:58,730 --> 00:36:02,070 Na tatu kidogo ni flipped juu ya kwa ajili ya x, ambayo ni 1, hivyo sisi kupata saba. 787 00:36:02,070 --> 00:36:04,820 Na bila shaka, kundi yetu na dunia yetu ni kila 0. 788 00:36:04,820 --> 00:36:07,770 Hivyo hii ni pia sawa chmod 700. 789 00:36:07,770 --> 00:36:12,081 Na napenda dhahiri kujaribu kuelewa ramani kati ya hizo. 790 00:36:12,081 --> 00:36:14,080 Sina hakika kama ana kuja juu ya chemsha bongo kabla, 791 00:36:14,080 --> 00:36:18,590 lakini itakuwa swali ili nipate kuuliza. 792 00:36:18,590 --> 00:36:22,110 >> Kidogo tu kwenda hata zaidi katika chmod hapa, hapa 793 00:36:22,110 --> 00:36:27,730 jumla sana muundo wa chmod simu. 794 00:36:27,730 --> 00:36:29,500 Hivyo bila shaka, tuna chmod hapa. 795 00:36:29,500 --> 00:36:34,410 Marejeo, nini hii inahusu ni sisi ni nani kutoa ruhusa hizi kwa 796 00:36:34,410 --> 00:36:36,570 au ambao ni sisi kuchukua hizi ruhusa mbali. 797 00:36:36,570 --> 00:36:44,330 Hivyo tuna hapa katika ruhusa, kama tumekuwa kupeni chmod plus x, 798 00:36:44,330 --> 00:36:45,440 kama tutaweza kuona hivi karibuni. 799 00:36:45,440 --> 00:36:48,460 a ina maana tu kutoa haya maalum ruhusa kwa kila mtu. 800 00:36:48,460 --> 00:36:49,600 Kuwapa wote. 801 00:36:49,600 --> 00:36:55,370 Hivyo unaweza vizuri sana kuwa na u pamoja x au g plus x au o plus x au nyingi 802 00:36:55,370 --> 00:36:55,870 yake. 803 00:36:55,870 --> 00:36:59,280 Hivyo kwamba sehemu ya kwanza daima kwenda kuwa rejea. 804 00:36:59,280 --> 00:37:03,220 Sisi ni nani kutoa ruhusa hizi kwa, au ambao ni sisi kuchukua yao mbali na? 805 00:37:03,220 --> 00:37:04,850 >> moja ya pili ni operator. 806 00:37:04,850 --> 00:37:07,350 Hivyo guys kuwa zaidi kushughulikiwa na plus. 807 00:37:07,350 --> 00:37:12,140 Hii inatoa ruhusa ya anaye wewe ni kuwapa, 808 00:37:12,140 --> 00:37:14,840 ambapo minus, kifikra, kuondosha yao. 809 00:37:14,840 --> 00:37:16,880 Hivyo kitu pia kutisha huko. 810 00:37:16,880 --> 00:37:23,060 Na kisha modes ni nini kuongelea na kusoma, kuandika, au utekelezaji. 811 00:37:23,060 --> 00:37:29,070 Hivyo pamoja na x maana kutoa executable ruhusa kwa kila mtu. 812 00:37:29,070 --> 00:37:33,430 Na kisha, bila shaka, ambayo faili maalum au directory. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 Kila mtu mzuri na chmod? 815 00:37:36,010 --> 00:37:37,850 Si mbaya sana? 816 00:37:37,850 --> 00:37:42,417 >> OK, hivyo HTML, yoyote ya wewe ni umri wa kutosha to-- umri MySpace? 817 00:37:42,417 --> 00:37:44,750 Mimi alimtuma hii kwa sehemu yangu, na literally nusu ya watu 818 00:37:44,750 --> 00:37:45,790 inaonekana katika mimi kama mimi alikuwa mwenda wazimu. 819 00:37:45,790 --> 00:37:47,498 Na mimi nilikuwa kama, guys, sisi siyo kwamba zamani. 820 00:37:47,498 --> 00:37:48,910 Kuja juu. 821 00:37:48,910 --> 00:37:53,360 Hivyo HyperText ghafi lugha, ni uaminifu tu njia kwa ajili yenu 822 00:37:53,360 --> 00:37:57,990 kuonyesha baadhi ya mambo kwenye mtandao. 823 00:37:57,990 --> 00:37:59,210 Hivyo ni lugha ghafi. 824 00:37:59,210 --> 00:38:00,640 Siyo lugha scripting. 825 00:38:00,640 --> 00:38:02,160 Hakuna mantiki ndani yake. 826 00:38:02,160 --> 00:38:05,710 Ni kwa kubadili njia kitu ni kuonyeshwa. 827 00:38:05,710 --> 00:38:07,670 OK, hivyo hiyo ni muhimu Tofauti kufanya. 828 00:38:07,670 --> 00:38:12,030 Ni kuchukuliwa lugha ghafi, si scripting lugha. 829 00:38:12,030 --> 00:38:15,100 >> Hivyo hapa tuna HTML yetu vitambulisho. 830 00:38:15,100 --> 00:38:20,390 On slide hii ni pengine zaidi ya wale ambao unapaswa kuwa ukoo na 831 00:38:20,390 --> 00:38:22,390 na kuwa kweli starehe na. 832 00:38:22,390 --> 00:38:25,700 Hivyo ni wazi, tuna HTML tag yetu, ambayo 833 00:38:25,700 --> 00:38:29,930 huanzisha kwamba kila kitu katika kati ya hizi mbili itakuwa HTML. 834 00:38:29,930 --> 00:38:33,070 Tuna baadhi ya kiungo, ambayo wazi nitakupa 835 00:38:33,070 --> 00:38:34,990 kiungo ya nje mtandao ukurasa. 836 00:38:34,990 --> 00:38:37,520 Baadhi ya cheo, ndani ya kichwa yetu hapa. 837 00:38:37,520 --> 00:38:40,020 Na tuna mwili wetu na h1, ambayo ni header, 838 00:38:40,020 --> 00:38:42,260 hivyo itabidi kufanya hivyo nzuri na ujasiri na kubwa. 839 00:38:42,260 --> 00:38:46,040 Na kisha, tuna baadhi ya p, ambayo ni aya. 840 00:38:46,040 --> 00:38:49,000 Unapaswa pengine kujua na kuwa na mazoea na mambo 841 00:38:49,000 --> 00:38:54,030 kama jinsi kuingiza picha, ni Yupo madarasa mengine header? 842 00:38:54,030 --> 00:38:57,240 Mimi ingekuwa dhahiri kuwa starehe na div. 843 00:38:57,240 --> 00:39:00,840 Basi hao kuwa wengi wa vitambulisho kwamba unapaswa kuwa familiar with. 844 00:39:00,840 --> 00:39:04,370 Lakini bila shaka, kama kwa kila kitu katika CS 50, orodha ni si kamilifu. 845 00:39:04,370 --> 00:39:08,200 Hivyo hakikisha brush up juu ya hilo. 846 00:39:08,200 --> 00:39:13,260 >> CSS, hivyo CSS, kama yoyote ya wewe kuangalia semina yangu kutoka wiki mbili zilizopita, 847 00:39:13,260 --> 00:39:16,250 ni kweli tu njia style mtandao ukurasa wako? 848 00:39:16,250 --> 00:39:18,950 OK, hivyo tuna baadhi ya lugha ghafi. 849 00:39:18,950 --> 00:39:23,220 HTML, kwamba inachukua huduma ya maandishi tu na ambapo inaweza kuwa juu ya ukurasa. 850 00:39:23,220 --> 00:39:25,760 Lakini CSS ni kweli nini hufanya hivyo pretty. 851 00:39:25,760 --> 00:39:30,690 Unaweza kuwa na haya katika HTML yako files, lakini kama sisi majadiliano juu ya baadaye, 852 00:39:30,690 --> 00:39:32,660 Mimi nina uhakika pretty nguvu kuwa slide ijayo, 853 00:39:32,660 --> 00:39:35,620 ni jambo la kawaida, na kwa kweli mazoezi kwamba sisi kweli moyo, 854 00:39:35,620 --> 00:39:40,670 kwa wewe kuwaweka kutengwa wakati sisi majadiliano juu ya MVC na kwamba dhana nzima. 855 00:39:40,670 --> 00:39:42,490 Hiyo ni kweli nini hii feeds katika. 856 00:39:42,490 --> 00:39:46,110 >> Hivyo CSS ni njia tu ya kufanya mambo kuangalia pretty. 857 00:39:46,110 --> 00:39:50,500 mambo hapa, kama mwili na #title na .info, 858 00:39:50,500 --> 00:39:54,340 hizi zinaitwa selectors na nini wao kufanya ni wao kuchagua mambo maalum 859 00:39:54,340 --> 00:39:59,260 ndani ya HTML faili yako na kuomba style yoyote, 860 00:39:59,260 --> 00:40:04,090 chochote aina ya mambo ambayo unataka, na kwamba kipengele maalum ya mtandao wako 861 00:40:04,090 --> 00:40:04,590 ukurasa. 862 00:40:04,590 --> 00:40:08,820 Hivyo hapa, tuna rangi ya asili na Michezo 863 00:40:08,820 --> 00:40:12,450 na font familia hiyo kuwa kutumika kwa chochote ni katika mwili. 864 00:40:12,450 --> 00:40:15,530 Hivyo kama sisi kuangalia nyuma hapa, ni bila kuomba kwa jina. 865 00:40:15,530 --> 00:40:22,340 Ingekuwa tu kuomba kwa nini ni katika selectors haya mwili, OK? 866 00:40:22,340 --> 00:40:25,250 >> Na cheo hapa, hii ni kwenda kuwa kitu kimoja, 867 00:40:25,250 --> 00:40:28,410 alama ya asilia kuwa bluu ni kwenda tu 868 00:40:28,410 --> 00:40:33,870 kuathiri kile ni ndani ya cheo selectors. 869 00:40:33,870 --> 00:40:36,580 Kama vile info hapa, Nakala itakuwa pink, 870 00:40:36,580 --> 00:40:38,600 chochote ya info, ambayo ni haki hapa. 871 00:40:38,600 --> 00:40:40,860 Kwa hiyo, jambo tu kwamba itakuwa pink kwenye ukurasa huu 872 00:40:40,860 --> 00:40:44,100 ni tarehe, Jumatatu, Novemba 17, 2014. 873 00:40:44,100 --> 00:40:48,770 OK, hivyo CSS ni njia tu ya kuwa na udhibiti zaidi over-- ndiyo? 874 00:40:48,770 --> 00:40:51,850 >> Watazamaji: Kwa nini una kutumia hash na cheo? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH: Next slide, ahadi! 876 00:40:55,170 --> 00:40:56,810 Tutaweza kupata huko. 877 00:40:56,810 --> 00:40:59,830 Hivyo hii ni kwa nini inabidi kutumia hash. 878 00:40:59,830 --> 00:41:03,429 Hivyo selectors kuchukua tatu kuu aina hiyo sisi kuzungumza na wewe guys juu. 879 00:41:03,429 --> 00:41:05,595 Mimi fyou unataka kujifunza zaidi, kuna mengi huko nje. 880 00:41:05,595 --> 00:41:07,540 Kuna kubwa CSS nyaraka. 881 00:41:07,540 --> 00:41:12,680 Kuna tag jina, ambayo ina kufanya na tu vitambulisho yako ya kawaida katika HTML. 882 00:41:12,680 --> 00:41:17,210 Hivyo h1, p, div, h2, wale aina ya mambo. 883 00:41:17,210 --> 00:41:20,320 Na tunaweza jina tu wale kama ni. 884 00:41:20,320 --> 00:41:22,650 Hivyo kama sisi kuona hapa na mwili, ni tag kawaida. 885 00:41:22,650 --> 00:41:26,660 Hivyo tunaweza tu ya kuweka mwili wakati tunazungumzia katika CSS faili wetu. 886 00:41:26,660 --> 00:41:29,730 >> Na cheo, kwa sababu yote sisi kuwa hash hii ni tuna nini 887 00:41:29,730 --> 00:41:31,010 kuchukuliwa ID. 888 00:41:31,010 --> 00:41:35,400 Hivyo ID lazima iwe kipekee ndani ya HTML ukurasa wako 889 00:41:35,400 --> 00:41:37,930 hivyo kwamba wakati wewe ni akimaanisha hiyo, 890 00:41:37,930 --> 00:41:41,990 kujua kwamba wewe ni akimaanisha tu kwa jambo moja maalum. 891 00:41:41,990 --> 00:41:46,270 Hivyo katika kesi hii hapa, na yetu h1 hapa, CS 50 mapitio kikao, 892 00:41:46,270 --> 00:41:47,810 tuna id cheo. 893 00:41:47,810 --> 00:41:54,280 Hivyo ili tu rejea kwamba kipande cha HTML yetu, sisi kufanya cheo hash. 894 00:41:54,280 --> 00:41:58,080 Tu kwa mkataba huo, vitambulisho ni mteule na hash mbele yao. 895 00:41:58,080 --> 00:42:01,650 Kwa njia hiyo hiyo, tunaona info hapa ni darasani. 896 00:42:01,650 --> 00:42:06,070 Na hivyo darasani na CSS ni mteule kama dot darasa 897 00:42:06,070 --> 00:42:08,895 au dot chochote darasa kwamba ni. 898 00:42:08,895 --> 00:42:10,850 Hivyo katika kesi hii hapa, ni info. 899 00:42:10,850 --> 00:42:13,090 >> Hivyo mimi kuchukua nyuma. 900 00:42:13,090 --> 00:42:16,200 Wote hawa itakuwa pink kwa CSS yetu hapa 901 00:42:16,200 --> 00:42:18,430 sababu wote wana daraja la info. 902 00:42:18,430 --> 00:42:23,070 Na katika CSS faili wetu, tuna mteule kwamba kitu chochote na darasa la info 903 00:42:23,070 --> 00:42:24,120 itakuwa pink. 904 00:42:24,120 --> 00:42:25,968 Je, hiyo mantiki? 905 00:42:25,968 --> 00:42:27,435 Ndiyo? 906 00:42:27,435 --> 00:42:30,731 >> Watazamaji: Kama ungekuwa na kufanya kila kitu katika mwili nyeupe, 907 00:42:30,731 --> 00:42:32,814 na kisha wewe kujaribu kufanya kitu ndani yake bluu, 908 00:42:32,814 --> 00:42:34,770 ingekuwa kwamba kusababisha matatizo? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH: Hivyo CSS ni kuachia style karatasi. 910 00:42:37,310 --> 00:42:40,730 Kwa hiyo chochote ni kutolewa chini itachukua precedence. 911 00:42:40,730 --> 00:42:44,080 Hivyo kama wewe kufanya kitu na mwili, na kufanya kila kitu nyeupe, 912 00:42:44,080 --> 00:42:49,300 na kisha baadaye mabadiliko ya cheo au mabadiliko ya maandishi ndani ya mwili, 913 00:42:49,300 --> 00:42:50,560 ni overwrites hiyo. 914 00:42:50,560 --> 00:42:55,360 Hivyo chochote kuelekea chini itachukua precedence. 915 00:42:55,360 --> 00:42:56,730 Ndiyo? 916 00:42:56,730 --> 00:42:59,627 >> Watazamaji: Na vitambulisho ni ya kipekee, lakini madarasa inaweza kuwa zaidi? 917 00:42:59,627 --> 00:43:00,210 HANNAH: Haki. 918 00:43:00,210 --> 00:43:06,320 Hivyo vitambulisho lazima kipekee, na madarasa unaweza rejea mambo mengi kama Ningependa. 919 00:43:06,320 --> 00:43:07,580 Yoyote maswali mengine? 920 00:43:07,580 --> 00:43:09,800 Ndiyo. 921 00:43:09,800 --> 00:43:11,210 >> Watazamaji: [inaudible]. 922 00:43:11,210 --> 00:43:13,509 Mimi nina anashangaa kama kwamba inafanya tofauti. 923 00:43:13,509 --> 00:43:15,217 HANNAH: Mimi nina sorry, nini ilikuwa swali? 924 00:43:15,217 --> 00:43:18,960 Watazamaji: Kuna ndogo "F" na mtaji "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH: Hivyo tofauti kati ya ndogo "f" na mtaji "F" 926 00:43:21,440 --> 00:43:22,606 haipaswi kufanya tofauti. 927 00:43:22,606 --> 00:43:26,330 Hivyo "f" itakuwa 15 ama njia. 928 00:43:26,330 --> 00:43:28,130 Cool, kitu kingine? 929 00:43:28,130 --> 00:43:29,930 Kila mtu mzuri, CSS? 930 00:43:29,930 --> 00:43:30,850 Ndiyo? 931 00:43:30,850 --> 00:43:31,790 >> Watazamaji: Sorry. 932 00:43:31,790 --> 00:43:35,550 Je, una darasa na ID? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH: Ndiyo, unaweza. 934 00:43:38,030 --> 00:43:40,420 Mambo yanaweza kuwa wote darasani na ID. 935 00:43:40,420 --> 00:43:44,670 Na mimi sana kupendekeza kupima haya juu yako mwenyewe. 936 00:43:44,670 --> 00:43:50,480 CSS wewe kujifunza bora tu kwa kufanya kitu, rahisi sana mtandao ukurasa, 937 00:43:50,480 --> 00:43:53,440 kuchora up baadhi CSS, na tu kuona ni jinsi gani kuingiliana. 938 00:43:53,440 --> 00:43:56,970 Na wewe utakuwa kupata nzuri sana, Intuitive hisia kwa jinsi kazi. 939 00:43:56,970 --> 00:43:58,810 >> OK, kila mtu mzuri na CSS? 940 00:43:58,810 --> 00:44:01,280 Wewe ni wote kwenda kufanya Nje nzuri na CSS sasa. 941 00:44:01,280 --> 00:44:05,460 OK, njia bora, tu mambo kukumbuka, mambo 942 00:44:05,460 --> 00:44:09,810 that-- hii ni kwa nini sisi kizimbani kwa designer na whatnot. 943 00:44:09,810 --> 00:44:11,820 Hivyo karibu HTML yako yote vitambulisho. 944 00:44:11,820 --> 00:44:14,840 Hivyo kama una mwili wazi, kuwe na mwili wa karibu. 945 00:44:14,840 --> 00:44:18,180 Kama una aya wazi, kuwe na aya karibu. 946 00:44:18,180 --> 00:44:19,555 Angalia kuona ukurasa wako linatambulisha. 947 00:44:19,555 --> 00:44:23,330 You guys lazima ukoo sana na hii kutoka p-kuweka saba 948 00:44:23,330 --> 00:44:26,350 na CS 50 fedha na W3 validator. 949 00:44:26,350 --> 00:44:28,340 Na kama nilivyosema hapo kabla, moja ya dhana yetu kubwa 950 00:44:28,340 --> 00:44:33,780 ni kutenganisha style yako na CSS kutoka ghafi yako, ambayo ni HTML. 951 00:44:33,780 --> 00:44:36,900 Na kisha, bila shaka, tuna hii XKCD kubwa hapa chini. 952 00:44:36,900 --> 00:44:38,280 Yay, Comic unafuu! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Kati ya hizi na HTTP, kimsingi wao uko itifaki zote mbili. 955 00:44:44,650 --> 00:44:46,810 Hivyo unaweza tu kufikiria wao kama seti ya sheria 956 00:44:46,810 --> 00:44:50,110 zinazoongoza jinsi mambo hoja katika internet. 957 00:44:50,110 --> 00:44:53,410 Hivyo kudhibiti maambukizi itifaki, au internet itifaki, 958 00:44:53,410 --> 00:44:57,280 ni njia tu kuhakikisha data kwamba anapata ambapo ni kwenda 959 00:44:57,280 --> 00:45:00,030 na kwamba sisi kujua kama sisi ni milele kukosa data. 960 00:45:00,030 --> 00:45:03,520 Hivyo kama wewe guys kufikiri nyuma hotuba wiki kadhaa iliyopita na David 961 00:45:03,520 --> 00:45:06,980 ambapo tulikuwa bahasha nne, wote walikuwa kuhesabiwa kama moja ya nne, 962 00:45:06,980 --> 00:45:11,300 wawili wa nne, tatu ya nne, nne za nne, hii ni mkusanyiko wa sheria. 963 00:45:11,300 --> 00:45:13,830 Sisi alisema, OK, wakati sisi ni kutuma pakiti zaidi ya moja, 964 00:45:13,830 --> 00:45:16,610 sisi ni kwenda namba ni kwa nini idadi ni 965 00:45:16,610 --> 00:45:19,040 na jinsi wengi jumla kwamba user lazima kupata. 966 00:45:19,040 --> 00:45:22,540 >> Na hii ni kuwaambia tu yeyote ni kupokea data kama wao 967 00:45:22,540 --> 00:45:26,120 waliopata kila kitu au kama kitu got waliopotea njiani. 968 00:45:26,120 --> 00:45:28,840 Na wanahitaji kuomba kwa ajili yake tena. 969 00:45:28,840 --> 00:45:31,140 Hii ni kweli tu seti ya sheria. 970 00:45:31,140 --> 00:45:33,650 Hiyo ni jinsi gani unaweza kufikiria hivyo, OK? 971 00:45:33,650 --> 00:45:37,700 Na pia, inabainisha bandari, ambayo nyie can-- Najua wakati wa hotuba, 972 00:45:37,700 --> 00:45:39,170 walikuwa orodha nzima ya bandari. 973 00:45:39,170 --> 00:45:41,630 Lakini hatuwezi kuwa nao hapa hivi sasa. 974 00:45:41,630 --> 00:45:45,290 >> Hivyo HyperText uhamisho itifaki ni, tena, ni itifaki mwingine. 975 00:45:45,290 --> 00:45:48,630 Hivyo ni mwingine seti ya sheria zinazoongoza, katika kesi hii, 976 00:45:48,630 --> 00:45:51,130 jinsi HyperText ni kuhamishwa. 977 00:45:51,130 --> 00:45:54,340 Hivyo ni tu inaruhusu browsers kuzungumza na Sava. 978 00:45:54,340 --> 00:45:56,910 Na kama sisi alisema hapa, ni kama handshaking binadamu. 979 00:45:56,910 --> 00:46:00,480 Ni njia tu ya kujitawala jinsi mtandao wa kompyuta ni 980 00:46:00,480 --> 00:46:02,690 kwenda kuingiliana na browser yako. 981 00:46:02,690 --> 00:46:05,660 Na tuna tu mifano michache. 982 00:46:05,660 --> 00:46:09,100 Tuna baadhi ya maombi hapa ambapo GET ni mbinu. 983 00:46:09,100 --> 00:46:13,760 Tuna HTTP 1.1, ambayo ni toleo la itifaki kwa ajili yetu. 984 00:46:13,760 --> 00:46:17,230 Na kisha, jeshi, ambayo ni nini sisi ni kweli kujaribu kupata. 985 00:46:17,230 --> 00:46:21,800 Na kisha, kama unaweza kuona hapa, sisi kupata baadhi ya majibu na hii 200 986 00:46:21,800 --> 00:46:25,032 OK kama HTTP mwitikio wetu code. 987 00:46:25,032 --> 00:46:27,240 Tuna orodha kubwa mimi nina kwenda kuvuta up katika moja ya pili 988 00:46:27,240 --> 00:46:29,430 kwamba nyie lazima familiar with. 989 00:46:29,430 --> 00:46:35,750 Na tuna hii aina ya maudhui text / HTML, ambayo tu anasema ni aina gani ya data 990 00:46:35,750 --> 00:46:39,990 ni sisi kupokea kutoka server, OK? 991 00:46:39,990 --> 00:46:44,230 Jeshi hili na aina hii bidhaa ni sehemu ya headers HTTP. 992 00:46:44,230 --> 00:46:49,610 Unaweza kuwa kama wachache au kidogo kama muhimu kwa ajili ya mazingira ya nini 993 00:46:49,610 --> 00:46:50,580 wewe ni kushughulika na. 994 00:46:50,580 --> 00:46:53,371 Wakati mwingine itabidi mengi ya habari kuja kutoka server yako. 995 00:46:53,371 --> 00:46:56,040 Labda wao ni kuomba kura habari kutoka kwa mtumiaji. 996 00:46:56,040 --> 00:46:57,600 Ni inatofautiana kulingana na mazingira. 997 00:46:57,600 --> 00:47:01,144 Kama ukiangalia CS 50 kifani, kuna mengi zaidi juu ya kwamba. 998 00:47:01,144 --> 00:47:03,060 Lakini tuna mengi ya kupata kupitia, hivyo mimi nina kwenda 999 00:47:03,060 --> 00:47:05,760 kwenda kulia mbele kama hiyo ni sawa na nyie? 1000 00:47:05,760 --> 00:47:07,960 Baridi. 1001 00:47:07,960 --> 00:47:08,460 Kushikilia. 1002 00:47:08,460 --> 00:47:11,182 Mimi dhahiri kuwa na kwamba orodha nzima of-- huh! 1003 00:47:11,182 --> 00:47:13,140 Sijui kwa nini hii ni njia yote juu hapa. 1004 00:47:13,140 --> 00:47:15,660 Nilidhani mimi literally wakiongozwa ni wakati mimi nilikuwa sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> Davin: Je, unataka kufundisha? 1006 00:47:16,540 --> 00:47:17,420 Au unataka mimi kufundisha? 1007 00:47:17,420 --> 00:47:20,010 >> Watazamaji: Nilidhani tunaweza tu kuwaonyesha kuanza na. 1008 00:47:20,010 --> 00:47:22,210 I mean, unaweza kwenda katika zaidi nao, lakini mimi 1009 00:47:22,210 --> 00:47:26,030 walidhani mantiki zaidi tangu mimi mara tu kuzungumza juu ya HTTP statuses. 1010 00:47:26,030 --> 00:47:28,200 Hivyo hapa ni orodha nzima. 1011 00:47:28,200 --> 00:47:31,730 Nadhani nini kinaendelea kutokea ni Davin ni kwenda ndani yao baadaye. 1012 00:47:31,730 --> 00:47:35,330 Lakini kuna orodha nzima, hakikisho ya ladha ijayo. 1013 00:47:35,330 --> 00:47:41,640 OK, tunakwenda blow-- hii ni kwenda kuwa bila shaka PHP ajali kama hakuna wengine. 1014 00:47:41,640 --> 00:47:44,874 >> Hivyo PHP, HyperText Preprocessor, ni backronym kujirudia, 1015 00:47:44,874 --> 00:47:46,540 maana yake ilikuwa jina kitu kingine. 1016 00:47:46,540 --> 00:47:49,050 Na kisha walikuwa kama, hii kweli haina mantiki. 1017 00:47:49,050 --> 00:47:52,210 Hivyo wao tu aitwaye ubaya wake na ilikuwa kifupi, 1018 00:47:52,210 --> 00:47:54,840 hivyo wao tu alifanya hivyo PHP HyperText Preprocessor, ambayo 1019 00:47:54,840 --> 00:47:55,980 tu haina mantiki. 1020 00:47:55,980 --> 00:47:57,714 Furaha hadithi. 1021 00:47:57,714 --> 00:47:58,880 Ni lugha ya programu. 1022 00:47:58,880 --> 00:48:02,360 Hivyo kama vile mimi kusisitiza kwamba HTML si lugha ya programu, 1023 00:48:02,360 --> 00:48:05,350 ni ghafi lugha, PHP ni lugha ya programu. 1024 00:48:05,350 --> 00:48:07,422 Jinsi unajua hii ni kwa sababu kuna mantiki. 1025 00:48:07,422 --> 00:48:08,380 Kuna conditionals. 1026 00:48:08,380 --> 00:48:12,750 Tuna vigezo, ambapo sisi kuwa hakuna mambo hayo katika HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Haki wote, basi tuna hii kidogo kidogo hapa kwamba kama ladha ya PHP. 1028 00:48:16,960 --> 00:48:20,510 Hivyo mambo ya msingi, majina variable kuanza na ishara ya dola. 1029 00:48:20,510 --> 00:48:21,500 Kura ya watu kama hiyo. 1030 00:48:21,500 --> 00:48:22,371 Kuwakumbusha wetu fedha. 1031 00:48:22,371 --> 00:48:22,995 Ni wote kubwa. 1032 00:48:22,995 --> 00:48:25,280 Sisi wote wanataka PHP. 1033 00:48:25,280 --> 00:48:28,020 Hivyo hatuna bayana aina kutofautiana tena. 1034 00:48:28,020 --> 00:48:29,995 Ni kuamua wakati kukimbia. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 mkalimani utakavyokuwa, oh, tutaweza tu kukimbia kwa njia ya, 1037 00:48:35,890 --> 00:48:39,565 na kwa mujibu wa mazingira, tutaweza kuona nini aina ya aina 1038 00:48:39,565 --> 00:48:41,560 vigezo hivi haja ya kuwa na. 1039 00:48:41,560 --> 00:48:42,815 Hakuna kazi kuu ni. 1040 00:48:42,815 --> 00:48:43,690 Mambo kukimbia tu. 1041 00:48:43,690 --> 00:48:47,851 You guys na kuagiza yako katika yako p-kuweka mwisho, itabidi taarifa hii. 1042 00:48:47,851 --> 00:48:49,350 Kulikuwa na si kweli kazi kuu. 1043 00:48:49,350 --> 00:48:52,070 Wewe tu aliandika kile alitaka kutokea. 1044 00:48:52,070 --> 00:48:53,280 Na ni aina tu ya kilichotokea. 1045 00:48:53,280 --> 00:48:56,760 Hivyo hiyo ni PHP kwa ajili yenu. 1046 00:48:56,760 --> 00:48:59,180 >> Arrays ni sawa sana. 1047 00:48:59,180 --> 00:49:01,270 Bado tuna bracket hii. 1048 00:49:01,270 --> 00:49:05,940 Hapa, tuna baadhi ya kutofautiana kuitwa arr, na ni sawa 1049 00:49:05,940 --> 00:49:08,540 to-- tuna kawaida yetu bracket nukuu. 1050 00:49:08,540 --> 00:49:10,630 Na tuna baadhi ya thamani muhimu. 1051 00:49:10,630 --> 00:49:14,630 Na tofauti kubwa kati ya C na PHP arrays 1052 00:49:14,630 --> 00:49:19,330 ni kwamba tunaweza kuwa na associate-- hii tunaweza kujiunga maadili funguo. 1053 00:49:19,330 --> 00:49:22,440 Hivyo badala ya kuwa tu safu kwamba ni indexed 1054 00:49:22,440 --> 00:49:26,630 na idadi au nafasi ya kwamba kipengele katika safu, 1055 00:49:26,630 --> 00:49:29,060 sisi kweli wanaweza kujiunga na muhimu. 1056 00:49:29,060 --> 00:49:36,700 Ambapo tunaweza kusema, OK, Mimi nataka chochote thamani ya kuhusishwa na matunda. 1057 00:49:36,700 --> 00:49:39,280 Na labda tuna matunda walikwenda ndizi. 1058 00:49:39,280 --> 00:49:41,760 Hivyo ni d kurudi ndizi kwetu. 1059 00:49:41,760 --> 00:49:44,100 >> Lakini kimsingi, wengi jambo la nguvu kuhusu hili 1060 00:49:44,100 --> 00:49:47,960 ni kwamba kama wewe guys kumbuka demo kutoka hotuba ambapo sisi kimsingi 1061 00:49:47,960 --> 00:49:53,050 rewrote Speller katika PHP, na was-- lookup alikuwa kweli tu kama, 1062 00:49:53,050 --> 00:49:55,007 haina hii muhimu zipo? 1063 00:49:55,007 --> 00:49:56,590 Hiyo ni kweli aina ya nguvu ya hiyo. 1064 00:49:56,590 --> 00:49:58,560 Huna haja ya iterate kupitia safu yako. 1065 00:49:58,560 --> 00:50:00,311 Huna haja ya kujua nini nafasi ni katika. 1066 00:50:00,311 --> 00:50:01,976 Ni inaweza kuwa mwishoni au mwanzoni. 1067 00:50:01,976 --> 00:50:04,790 Muda mrefu kama unajua muhimu hiyo kuhusishwa na thamani, 1068 00:50:04,790 --> 00:50:09,740 PHP unaweza tu mate thamani kwamba haki nyuma nje saa wewe, OK? 1069 00:50:09,740 --> 00:50:12,960 >> Na kisha, sisi pia tu kuwa kwa sababu sisi tu 1070 00:50:12,960 --> 00:50:16,750 unaweza kuwa na thamani jozi ufunguo haina maana una. 1071 00:50:16,750 --> 00:50:19,180 Unaweza pia kujenga tu safu ya kawaida kama hapa, 1072 00:50:19,180 --> 00:50:21,540 chini, ambapo ni tu moja, mbili, tatu, nne. 1073 00:50:21,540 --> 00:50:22,510 Wale ni maadili yetu. 1074 00:50:22,510 --> 00:50:25,320 Na kwa kweli, funguo zao ni fahirisi. 1075 00:50:25,320 --> 00:50:26,830 Hivyo muhimu kwa moja bila kuwa na sifuri. 1076 00:50:26,830 --> 00:50:28,610 muhimu kwa ajili ya mbili itakuwa moja. 1077 00:50:28,610 --> 00:50:31,910 Kadhalika na kadhalika, isipokuwa wewe wazi hawawajui muhimu, 1078 00:50:31,910 --> 00:50:34,630 unaweza kudhani kuwa thamani ya kitu tu index yao. 1079 00:50:34,630 --> 00:50:37,290 Je, hiyo mantiki kwa kila mtu? 1080 00:50:37,290 --> 00:50:38,070 Hakuna maswali? 1081 00:50:38,070 --> 00:50:38,930 Kutisha. 1082 00:50:38,930 --> 00:50:44,420 >> OK, foreach ni njia ya iterate kupitia arrays yako. 1083 00:50:44,420 --> 00:50:47,490 Hivyo tuna kitu hapa, tu muundo kwa ujumla. 1084 00:50:47,490 --> 00:50:51,020 Hivyo foreach, jina la safu yetu, kama chochote 1085 00:50:51,020 --> 00:50:53,930 unataka simu kila kipengele katika safu yako, 1086 00:50:53,930 --> 00:50:57,270 na tunaweza kufanya kitu kwa kwamba kipengele au kwa thamani hiyo. 1087 00:50:57,270 --> 00:50:58,680 Hivyo tuna mfano hapa. 1088 00:50:58,680 --> 00:51:05,770 Tuna associative safu na entries hizi mbili 1089 00:51:05,770 --> 00:51:10,080 na bar isihusishwe na foo na qux isihusishwe na bazi. 1090 00:51:10,080 --> 00:51:12,180 Hivyo funguo ni foo na bazi. 1091 00:51:12,180 --> 00:51:13,650 Maadili ni bar na qux. 1092 00:51:13,650 --> 00:51:18,560 Hivyo foreach, tuna safu yetu hapa, kama jozi ufunguo thamani. 1093 00:51:18,560 --> 00:51:21,560 Hii inaruhusu sisi kupata wote muhimu na thamani. 1094 00:51:21,560 --> 00:51:23,680 Labda unataka tu thamani, katika kesi ambayo 1095 00:51:23,680 --> 00:51:27,640 unaweza tu kufanya kama arr kama $ thamani, na kisha 1096 00:51:27,640 --> 00:51:30,640 ni kupata tu thamani kama wewe iterate kupitia. 1097 00:51:30,640 --> 00:51:32,600 Lakini labda, kwa baadhi ya sababu, unataka muhimu, 1098 00:51:32,600 --> 00:51:35,460 ambayo ni kwa nini mimi alichagua mfano huu badala yake. 1099 00:51:35,460 --> 00:51:40,240 Hivyo unaweza kweli kuendesha muhimu na thamani katika kesi hii. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 Swali? 1102 00:51:41,905 --> 00:51:44,279 >> Watazamaji: Kama alitaka tu kuendesha muhimu, bila 1103 00:51:44,279 --> 00:51:45,910 una kufanya foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> Alison: Haki. 1105 00:51:47,360 --> 00:51:50,560 Hivyo kama wewe alitaka kuendesha tu muhimu, 1106 00:51:50,560 --> 00:51:53,680 ungependa bado wanahitaji hii syntax kwa sababu kama wewe tu 1107 00:51:53,680 --> 00:51:56,930 kuwa arr kama kitu, kama jambo moja, ni 1108 00:51:56,930 --> 00:52:00,070 kwenda kudhani unataka thamani, si muhimu. 1109 00:52:00,070 --> 00:52:06,780 Hivyo kama wewe milele tu kama arr kama, labda hii ni kama $ kipengele, 1110 00:52:06,780 --> 00:52:11,670 ni kwenda kwa kudhani kuwa wewe ni kuuliza kwa ajili tu thamani katika kila hatua. 1111 00:52:11,670 --> 00:52:13,879 Kama wazi wanataka kufanya kitu na muhimu, 1112 00:52:13,879 --> 00:52:16,170 hata kama wewe si kwenda kufanya chochote kwa thamani, 1113 00:52:16,170 --> 00:52:18,430 unahitaji muundo huu kwamba sisi hapa 1114 00:52:18,430 --> 00:52:22,330 ambapo wewe ni wazi kuuliza kwa wote muhimu na thamani. 1115 00:52:22,330 --> 00:52:24,170 Mkuu swali. 1116 00:52:24,170 --> 00:52:25,940 Kitu kingine? 1117 00:52:25,940 --> 00:52:27,490 Baridi. 1118 00:52:27,490 --> 00:52:29,911 >> Haki zote, PHP na HTML. 1119 00:52:29,911 --> 00:52:31,410 Oh, tuko nyuma kwa p-kuweka saba tena. 1120 00:52:31,410 --> 00:52:35,380 Hivyo hii inapaswa kuangalia kidogo familiar. 1121 00:52:35,380 --> 00:52:41,760 Hivyo hii ni baadhi rahisi HTML fomu ambayo ina baadhi ya jina mchango wa hello. 1122 00:52:41,760 --> 00:52:43,820 Na tunaona tuna njia yetu ya GET. 1123 00:52:43,820 --> 00:52:47,430 Na kama sisi kukumbuka kutoka wetu p-kuweka, wakati fomu hii ni kuwasilishwa, 1124 00:52:47,430 --> 00:52:58,130 inapeleka safu kuitwa $ _GET ambayo ina wote wa pembejeo hizi au vigezo kutoka 1125 00:52:58,130 --> 00:53:00,490 aina kwamba lazima manipulated katika PHP yetu. 1126 00:53:00,490 --> 00:53:03,320 Hivyo katika kesi hii, user bila kuweka majina yao. 1127 00:53:03,320 --> 00:53:04,370 Wao kuwasilisha yake. 1128 00:53:04,370 --> 00:53:07,810 Na tunaona kwamba sisi kupata baadhi ya safu hapa. 1129 00:53:07,810 --> 00:53:09,080 Tuna GET yetu safu. 1130 00:53:09,080 --> 00:53:11,510 Na sisi ni kupata jina. 1131 00:53:11,510 --> 00:53:15,070 >> Hivyo kwamba anasema, OK, nipe thamani hiyo kuhusishwa na jina, 1132 00:53:15,070 --> 00:53:16,550 jina kuwa muhimu hapa. 1133 00:53:16,550 --> 00:53:21,400 Na kwamba ramani moja kwa moja kwa nini sisi alisema pembejeo jina yetu ni. 1134 00:53:21,400 --> 00:53:28,960 Hivyo hii ilikuwa kutoa muhimu kwa nini ni kwenda kuwa katika safu yako hapa. 1135 00:53:28,960 --> 00:53:31,220 Je, hiyo mantiki kwa kila mtu? 1136 00:53:31,220 --> 00:53:32,070 Ndiyo? 1137 00:53:32,070 --> 00:53:36,240 >> Watazamaji: Je jina katika GET rejea kwa line zambarau katika [inaudible]? 1138 00:53:36,240 --> 00:53:37,740 >> Alison: Ni inahusu hii hapa. 1139 00:53:37,740 --> 00:53:43,840 Hivyo uwanja huu haki hapa, inahusu jina hili hapa. 1140 00:53:43,840 --> 00:53:47,800 Hivyo hii inaweza wamekuwa aitwaye kama namba ya simu, au chochote. 1141 00:53:47,800 --> 00:53:51,790 Jina hili kweli anasema, nini Unazungumza uwanja huu? 1142 00:53:51,790 --> 00:53:53,600 Jinsi ni wewe kwenda rejea uwanja huu? 1143 00:53:53,600 --> 00:53:57,670 Na jina hili ni kweli kama, tuko akisema uwanja huu inaitwa jina. 1144 00:53:57,670 --> 00:53:59,224 Hiyo ni jinsi tunakwenda kupata hiyo. 1145 00:53:59,224 --> 00:54:02,070 >> Watazamaji: Hivyo, ni kwa namna, jina pembejeo sawa Bob, and-- 1146 00:54:02,070 --> 00:54:04,380 >> Alison: Right, basi bila kupata Bob chini huko. 1147 00:54:04,380 --> 00:54:06,090 Hasa. 1148 00:54:06,090 --> 00:54:07,800 Kila mtu baridi? 1149 00:54:07,800 --> 00:54:10,990 Haki wote, hivyo kupata dhidi POST, hizi ni njia kuu mbili 1150 00:54:10,990 --> 00:54:14,880 kuwa tunapitisha data katika ombi HTTP. 1151 00:54:14,880 --> 00:54:17,370 You guys lazima tumeona wawili hawa hopefully. 1152 00:54:17,370 --> 00:54:20,940 Hivyo, pamoja na GET, habari ni kupita kwa njia URL. 1153 00:54:20,940 --> 00:54:23,490 Hivyo kama wewe milele kufanya Google utafutaji, YouTube, itabidi 1154 00:54:23,490 --> 00:54:25,130 pengine taarifa baadhi alama ya swali. 1155 00:54:25,130 --> 00:54:28,230 Na kisha, maneno yote kwamba wewe tu kuweka huko. 1156 00:54:28,230 --> 00:54:31,410 Na POST hupita data katika ujumbe HTTP mwili. 1157 00:54:31,410 --> 00:54:36,922 Hivyo tofauti na kupata, wewe aina ya kufikiria kwamba data ni siri kutoka kwa mtumiaji. 1158 00:54:36,922 --> 00:54:38,630 Lakini nini kweli muhimu kuelewa 1159 00:54:38,630 --> 00:54:44,040 ni kwamba hii ni bado tu kama usalama kama GET. 1160 00:54:44,040 --> 00:54:48,780 Mfano Mimi kama kutumia ni kama una benki akaunti yako ya simu 1161 00:54:48,780 --> 00:54:52,795 na wewe kuandika ni nje ya bahasha, kwamba ni pretty salama. 1162 00:54:52,795 --> 00:54:55,920 Kama ungekuwa kuandika juu ya kipande cha karatasi na kuiweka ndani ya bahasha, 1163 00:54:55,920 --> 00:54:58,850 bado ni kweli salama kwa sababu wote una kufanya ni wazi kwamba up 1164 00:54:58,850 --> 00:55:03,480 na kuangalia yaliyomo halisi ujumbe wa kuona kwamba. 1165 00:55:03,480 --> 00:55:08,310 Hivyo hii ni "siri," na watu kama nadhani ni salama, lakini ni kweli si. 1166 00:55:08,310 --> 00:55:11,000 Na mimi nina uhakika Davin mapenzi kupata ndani ya kwamba zaidi, labda. 1167 00:55:11,000 --> 00:55:12,850 Lakini ni muhimu Tofauti kufanya 1168 00:55:12,850 --> 00:55:15,820 na kitu kweli nzuri ya kuelewa. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL, Strukturerad Query lugha. 1170 00:55:19,220 --> 00:55:22,220 Mambo yote ambayo tumeona hivyo hivi karibuni! 1171 00:55:22,220 --> 00:55:25,400 Hivyo ni kimsingi tu iliyoundwa, wazi, kwa ajili ya kusimamia data. 1172 00:55:25,400 --> 00:55:30,560 You guys alikuwa na mengi ya uzoefu na hii katika meza yako na PHP MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 Na kuna maswali manne ya kawaida kwamba tunataka nyie kujua. 1174 00:55:34,100 --> 00:55:37,304 Hivyo kuna update, Insert, kuchagua, na kufuta. 1175 00:55:37,304 --> 00:55:38,970 Hivyo kuhakikisha unajua wale vizuri. 1176 00:55:38,970 --> 00:55:40,960 Sisi ni kwenda njia yao kweli kasi. 1177 00:55:40,960 --> 00:55:44,340 >> Hivyo update, kwa kweli, kama kile unaweza kufikiri hivyo, 1178 00:55:44,340 --> 00:55:46,740 tu updates data katika database yako. 1179 00:55:46,740 --> 00:55:48,750 Hivyo tuna mfano baadhi ya hapa. 1180 00:55:48,750 --> 00:55:53,310 Hii ni kwa ujumla muundo wa update swala. 1181 00:55:53,310 --> 00:55:56,150 Hivyo sisi update meza kwamba sisi ni kuzungumza juu. 1182 00:55:56,150 --> 00:56:00,520 Na tunataka kuweka baadhi ya maadili, baadhi ya nguzo 1183 00:56:00,520 --> 00:56:02,600 sawa na maadili maalum. 1184 00:56:02,600 --> 00:56:07,500 Hivyo hii updates tu meza, kubadilisha maadili katika safu zote katika kesi hii. 1185 00:56:07,500 --> 00:56:13,690 Hivyo katika hii moja hapa chini, halisi mfano, tuna insert-- sorry. 1186 00:56:13,690 --> 00:56:17,630 Slide kwamba juu bila mimi kutambua hayo. 1187 00:56:17,630 --> 00:56:22,230 >> Hivyo hii meza updates kuweka col1 sawa kwa val1 ambapo nyumba ni sawa na "Currier." 1188 00:56:22,230 --> 00:56:25,300 Nini hii mtu gani ni tu mabadiliko, ni tu 1189 00:56:25,300 --> 00:56:28,130 updates maadili haya katika maeneo maalum. 1190 00:56:28,130 --> 00:56:32,300 Hivyo katika moja hii ya kwanza, ni mabadiliko haya maadili kwa kila kitu katika meza yako, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 Ni kwenda kubadili hali hii safu kwa ajili ya kila kuingia moja, 1193 00:56:35,820 --> 00:56:37,020 kwa kila safu moja. 1194 00:56:37,020 --> 00:56:40,840 Lakini hii ambapo, unaweza kufikiria kama kufuzu. 1195 00:56:40,840 --> 00:56:44,020 Hivyo ni tu kwenda na mabadiliko katika maeneo maalum sana. 1196 00:56:44,020 --> 00:56:47,840 Hivyo katika p-kuweka saba, wakati wewe labda updated kiasi cha fedha 1197 00:56:47,840 --> 00:56:53,050 kwamba mtumiaji yako alikuwa, pengine alikuwa na baadhi ambapo ID sawa kikao ID, haki? 1198 00:56:53,050 --> 00:56:55,280 >> Kwa sababu wewe hakutaka mabadiliko ya kiasi cha fedha 1199 00:56:55,280 --> 00:56:57,630 kwa kila mtu ambaye mara kwa kutumia tovuti yako. 1200 00:56:57,630 --> 00:57:00,480 Wewe alitaka mabadiliko hayo kwa moja mtu maalum, mtu kwamba kuwa 1201 00:57:00,480 --> 00:57:02,410 yeyote alikuwa kutumia wakati huo. 1202 00:57:02,410 --> 00:57:04,320 Haki? 1203 00:57:04,320 --> 00:57:07,510 OK, hivyo kuingiza, Insert maadili fulani katika meza. 1204 00:57:07,510 --> 00:57:11,650 Hii ni kama wakati uko kujenga bidhaa mpya user. 1205 00:57:11,650 --> 00:57:14,240 muundo wa jumla hapa ni kuingiza katika meza chochote 1206 00:57:14,240 --> 00:57:15,680 tunazungumzia. 1207 00:57:15,680 --> 00:57:18,910 Maadili, kuwa maadili ambayo sisi kweli unataka Insert. 1208 00:57:18,910 --> 00:57:23,060 OK, hivyo kama sisi kuona hapa, sisi kuwa kuingiza ndani ya meza. 1209 00:57:23,060 --> 00:57:27,790 Hii ni nguzo maalum na maadili yao waliwasiliana. 1210 00:57:27,790 --> 00:57:29,940 Hivyo hii anasema, insert mstari mpya zenye 1211 00:57:29,940 --> 00:57:33,660 maadili val1 na val2 chini ya nguzo hizi maalum. 1212 00:57:33,660 --> 00:57:39,240 >> Hivyo labda wewe tu unataka kujaza nusu mambo katika safu hii. 1213 00:57:39,240 --> 00:57:41,150 Hiyo ni nini sehemu hii hapa inakuwezesha kufanya. 1214 00:57:41,150 --> 00:57:43,280 Ni inakuwezesha kweli kuamua ambayo sehemu. 1215 00:57:43,280 --> 00:57:44,244 Ndiyo? 1216 00:57:44,244 --> 00:57:52,150 >> Watazamaji: Je, unaweza tu [inaudible] seli katika mstari [inaudible]? 1217 00:57:52,150 --> 00:57:55,000 >> Alison: Kama tu kujaza baadhi ya maeneo ya mstari yako, 1218 00:57:55,000 --> 00:57:57,480 mapumziko ya seli hizo ni tupu tu. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Muda mrefu kama wewe kuwaruhusu kuwa tupu, ni si tatizo. 1221 00:58:05,660 --> 00:58:09,570 Kama wewe kujaribu kupata yao, ni kwenda na kurudi baadhi ya kipengele tupu. 1222 00:58:09,570 --> 00:58:13,850 Lakini ni muhimu kujua kwamba katika meza fulani, 1223 00:58:13,850 --> 00:58:16,690 wao kuruhusiwa kuwa null. 1224 00:58:16,690 --> 00:58:18,890 Unaweza kuwa kukimbia katika tatizo wakati wako p-kuweka 1225 00:58:18,890 --> 00:58:21,320 kwa sababu hatukuwa basi yoyote ya maadili yako kuwa null. 1226 00:58:21,320 --> 00:58:26,110 Lakini unaweza bayana hiari thamani katika meza yako. 1227 00:58:26,110 --> 00:58:29,640 >> OK, kuchagua, hivyo hii ni tu njia ya kupata 1228 00:58:29,640 --> 00:58:33,790 data maalum kutoka meza baadhi kitambulisho kwamba unataka. 1229 00:58:33,790 --> 00:58:37,990 Hivyo kuchagua nyota kutoka kwenye meza pale col sawa tu kitu maana yake, 1230 00:58:37,990 --> 00:58:43,820 nipe data yote yanayohusiana ambapo safu hii maalum ni kweli. 1231 00:58:43,820 --> 00:58:49,020 Hivyo nyota katika kesi hii itakuwa kurudi mstari mzima na wewe, OK? 1232 00:58:49,020 --> 00:58:54,880 >> Na kisha, katika kesi hii, kuchagua nyota kutoka meza tu inakupa meza nzima. 1233 00:58:54,880 --> 00:58:58,940 Na kisha, kufuta wazi, ni tu deletes mstari kutoka meza. 1234 00:58:58,940 --> 00:59:01,320 Hivyo kufuta kutoka meza, chochote meza tuko 1235 00:59:01,320 --> 00:59:06,830 referencing, ambapo baadhi maalum kitambulisho au baadhi ya hali ni kweli. 1236 00:59:06,830 --> 00:59:07,720 Ndiyo? 1237 00:59:07,720 --> 00:59:08,700 >> Watazamaji: Swali. 1238 00:59:08,700 --> 00:59:10,699 Kwa nini ni wewe kutumia mara mbili quotes, na kama wewe 1239 00:59:10,699 --> 00:59:13,600 kufanya quotes mara mbili au moja quotes, gani kufanya tofauti? 1240 00:59:13,600 --> 00:59:18,235 >> Alison: Double quotes au quotes moja haina kufanya tofauti katika SQL. 1241 00:59:18,235 --> 00:59:19,610 Nilidhani nikaona swali jingine. 1242 00:59:19,610 --> 00:59:20,814 Ndiyo? 1243 00:59:20,814 --> 00:59:25,070 >> Watazamaji: Je, si kuathiri nini anapata alitoroka kutoka swala? 1244 00:59:25,070 --> 00:59:27,945 >> Alison: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> Rob: Nini maana na alitoroka kutoka swala? 1246 00:59:31,410 --> 00:59:36,870 >> Watazamaji: Kama mtu ana swala moja katika fomu of-- 1247 00:59:36,870 --> 00:59:39,862 >> Rob: Kama mtu walikuwa na kuweka quote moja katika, 1248 00:59:39,862 --> 00:59:43,560 basi kwa muda mrefu kama wewe ni sanitizing mchango wako, basi haijalishi. 1249 00:59:43,560 --> 00:59:46,205 Lakini kama wewe ni kutumia moja quote na wewe ni kimakosa 1250 00:59:46,205 --> 00:59:47,914 kukimbia pembejeo yako, basi ndiyo, wanahitaji 1251 00:59:47,914 --> 00:59:51,079 kuweka quote moja ili kuvunja code yako. kama wewe kutumia quotes mbili, 1252 00:59:51,079 --> 00:59:53,580 wanahitaji kuweka mara mbili kunukuu kuvunja kanuni yako. 1253 00:59:53,580 --> 00:59:56,163 Lakini kwa muda mrefu kama wewe kuepuka mambo usahihi, haijalishi. 1254 00:59:56,163 --> 00:59:59,220 Ni tu kwenda kutafsiriwa kwa alama sahihi anyway. 1255 00:59:59,220 --> 01:00:02,332 >> Watazamaji: Je, kutoroka maana yake nini? 1256 01:00:02,332 --> 01:00:04,040 Alison: Naam, kama sanitizing na kutoroka. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 mtihani kwamba tuna, XKCD kubwa Comic kwamba wao kuvuta up ambapo una, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 Rob: Ni slide mwisho. 1261 01:00:16,670 --> 01:00:18,500 Alison: Ni slide mwisho, kweli? 1262 01:00:18,500 --> 01:00:20,200 Oh mungu wangu. 1263 01:00:20,200 --> 01:00:21,780 Kuna sisi kwenda, kamilifu. 1264 01:00:21,780 --> 01:00:27,900 OK, hivyo kimsingi, unaweza kuingiza kitu katika hili swala SQL 1265 01:00:27,900 --> 01:00:30,560 ambapo inavunja yako kanuni, au kama Daudi alionyesha 1266 01:00:30,560 --> 01:00:38,460 darasani, kama tuna baadhi single quote 1 ni sawa na 1 na kama katika kanuni zetu, 1267 01:00:38,460 --> 01:00:41,230 sisi tu moja kwa moja nakala ya kwamba katika, na tuna kuishia moja quote, 1268 01:00:41,230 --> 01:00:44,740 kile kinachotokea ni sisi kupata baadhi kujieleza kwamba 1269 01:00:44,740 --> 01:00:48,680 kutathmini kwa kweli kwamba mapenzi basi mtu kuingia database yetu 1270 01:00:48,680 --> 01:00:51,720 na kupata data kwamba sisi hawataki yao kupata. 1271 01:00:51,720 --> 01:00:54,240 Hivyo sanitizing pembejeo tu ina maana ya kuhakikisha 1272 01:00:54,240 --> 01:00:57,680 kwamba sisi ni kukimbia hizi wahusika na klassificering yao 1273 01:00:57,680 --> 01:01:01,720 kama chars na si mambo kwamba waruhusiwe 1274 01:01:01,720 --> 01:01:04,990 kuchukuliwa literally kama taarifa yetu SQL. 1275 01:01:04,990 --> 01:01:09,980 >> Kwa hiyo, jambo kubwa kwamba sisi alisema kwamba nyie lazima kutumia 1276 01:01:09,980 --> 01:01:13,650 walikuwa HTML chars maalum, ambayo ni kitu 1277 01:01:13,650 --> 01:01:15,730 kwamba unaweza kutaka kuangalia. 1278 01:01:15,730 --> 01:01:17,240 OK, kufuta. 1279 01:01:17,240 --> 01:01:19,450 Aina ya data, hii yote itakuwa online. 1280 01:01:19,450 --> 01:01:23,510 Tangu sisi dakika 15 kushoto, mimi nina tu kwenda haki kwa njia hii. 1281 01:01:23,510 --> 01:01:28,500 PHP na SQL, kimsingi hii ni tu tulikuwa kazi swala ambalo 1282 01:01:28,500 --> 01:01:31,520 alisaidia kulinda dhidi ya hizi malicious mashambulizi. 1283 01:01:31,520 --> 01:01:33,970 Hivyo wakati wewe kutumia swala, tulikuwa na kuhakikisha 1284 01:01:33,970 --> 01:01:36,560 kuwa mambo yalikuwa sanitized na whatnot. 1285 01:01:36,560 --> 01:01:41,070 >> MVC ni kubuni dhana, hivyo mfano, mtazamo, mtawala. 1286 01:01:41,070 --> 01:01:44,200 Ni njia tu ya kuweka mambo nzuri na kupasuliwa up katika njia sawa 1287 01:01:44,200 --> 01:01:47,100 kwamba sisi huwa na sababu nje kificho katika kazi. 1288 01:01:47,100 --> 01:01:53,390 Hii ni kubuni mtandao mfumo kwamba utapata kufanya kitu kimoja. 1289 01:01:53,390 --> 01:01:54,760 Mimi nina kwenda ruka hii. 1290 01:01:54,760 --> 01:01:58,530 >> Hili ni jambo ambalo mimi itakuwa super comfy na. 1291 01:01:58,530 --> 01:02:01,132 Ni kubwa meza kidogo huko. 1292 01:02:01,132 --> 01:02:03,090 Ni anakupa kazi mfano wa kuigwa. 1293 01:02:03,090 --> 01:02:05,473 Mimi tu kwenda kwa njia hii kwa sababu mimi kweli unataka Davin kuwa na uwezo wa kuzungumza. 1294 01:02:05,473 --> 01:02:07,140 Kama una maswali yoyote, tafadhali jisikie huru. 1295 01:02:07,140 --> 01:02:07,931 Nitakuwa hapa baada. 1296 01:02:07,931 --> 01:02:10,360 Tu kuja kuzungumza na mimi. 1297 01:02:10,360 --> 01:02:13,380 Pamoja na kwamba, tuna HTTP statuses. 1298 01:02:13,380 --> 01:02:16,270 Na Davin ya kwenda pigo kwa njia hii katika dakika ya 15. 1299 01:02:16,270 --> 01:02:17,560 Hii ni kwenda kuwa kubwa. 1300 01:02:17,560 --> 01:02:18,893 >> Davin: OK. 1301 01:02:18,893 --> 01:02:20,312 Uh, mic yako? 1302 01:02:20,312 --> 01:02:22,210 Yeah. 1303 01:02:22,210 --> 01:02:23,336 Sorry. 1304 01:02:23,336 --> 01:02:24,460 Alison: Njia ya kuwa tayari. 1305 01:02:24,460 --> 01:02:25,335 Davin: Hapana, mimi niko tayari. 1306 01:02:25,335 --> 01:02:25,860 Mimi niko tayari. 1307 01:02:25,860 --> 01:02:28,790 Hebu kufanya hivyo. 1308 01:02:28,790 --> 01:02:29,290 Ni tayari. 1309 01:02:29,290 --> 01:02:30,041 OK. 1310 01:02:30,041 --> 01:02:30,540 Sorry. 1311 01:02:30,540 --> 01:02:31,664 Mimi kilichomwagika kahawa juu ya mwenyewe. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Sijui kama mimi nina zaidi upset kwamba mimi kuangalia silly, 1314 01:02:38,210 --> 01:02:40,600 au kwamba sina kahawa tena. 1315 01:02:40,600 --> 01:02:44,480 Anyway, tu tangazo haraka juu ya karatasi ya wewe guys kuwa. 1316 01:02:44,480 --> 01:02:47,994 Hivyo karatasi hii wewe guys kuwa si rasmi nini juu ya jaribio. 1317 01:02:47,994 --> 01:02:49,660 Hii ni rasmi nini juu ya jaribio. 1318 01:02:49,660 --> 01:02:52,520 Pia, katika tovuti, sisi tunasema wewe, OK, hii itakuwa juu ya chemsha bongo. 1319 01:02:52,520 --> 01:02:55,020 Hivyo katika kidogo kudanganya karatasi una, si rasmi. 1320 01:02:55,020 --> 01:02:56,690 Na kuna makosa juu yake. 1321 01:02:56,690 --> 01:03:01,490 Hivyo bora si tu upofu matumizi yake. 1322 01:03:01,490 --> 01:03:04,390 Hivyo yeah, hiyo ni kwamba. 1323 01:03:04,390 --> 01:03:05,980 Basi hebu kupata katika haraka hii ya kweli. 1324 01:03:05,980 --> 01:03:07,420 >> Hivyo HTTP statuses. 1325 01:03:07,420 --> 01:03:10,430 Hivyo kile kinachotokea wakati tovuti, kila kitu ni sawa. 1326 01:03:10,430 --> 01:03:11,144 Kila kitu ni OK. 1327 01:03:11,144 --> 01:03:13,310 Kila kitu hutoka nyuma njia unataka kwa. 1328 01:03:13,310 --> 01:03:15,370 Unaweza kupata 200 OK. 1329 01:03:15,370 --> 01:03:19,250 301, ambapo tumeona kwamba 301 kabla? 1330 01:03:19,250 --> 01:03:20,890 Ngoja, nini up? 1331 01:03:20,890 --> 01:03:23,250 Sorry. 1332 01:03:23,250 --> 01:03:24,980 Tuliona i bati hotuba wakati wa usalama. 1333 01:03:24,980 --> 01:03:30,690 Hivyo wakati wa usalama, hivyo kama David typed katika http na kisha alijaribu kwenda cs50.net, 1334 01:03:30,690 --> 01:03:31,940 wewe ni kwenda kuona 301 wakiongozwa. 1335 01:03:31,940 --> 01:03:32,440 Kwa nini? 1336 01:03:32,440 --> 01:03:35,570 Kwa sababu ni kwenda kuelekeza wewe moja kwa moja kwa HTTPS yetu. 1337 01:03:35,570 --> 01:03:38,649 >> Hivyo 301 wakiongozwa, tu ni kimsingi redirection. 1338 01:03:38,649 --> 01:03:40,190 Na unaweza kufikiria ni kama hii. 1339 01:03:40,190 --> 01:03:43,790 Yoyote ya statuses kwamba kuanza na 2 ya, wale ni kama, OK, OK kila kitu. 1340 01:03:43,790 --> 01:03:46,530 Yoyote ya statuses kwamba kuanza na 3, wale ni redirection. 1341 01:03:46,530 --> 01:03:49,571 Statuses kwamba kuanza na 4, ni kwamba njia kuna baadhi ya aina ya kosa mteja. 1342 01:03:49,571 --> 01:03:52,440 Statuses kwamba kuanza na 5, kwamba baadhi ya aina ya hitilafu ya seva. 1343 01:03:52,440 --> 01:03:54,680 Hivyo aina ya kuvunja statuses kama hiyo. 1344 01:03:54,680 --> 01:03:59,120 Hivyo 304 si si iliyopita, hivyo katika yako server.c p-sets, hivyo hebu sema wewe 1345 01:03:59,120 --> 01:04:00,600 kubeba cat.html. 1346 01:04:00,600 --> 01:04:03,360 Kila kitu hutoka nyuma, kupata 200s, OK, kubwa. 1347 01:04:03,360 --> 01:04:04,540 >> Hebu sema wewe nishati hiyo. 1348 01:04:04,540 --> 01:04:07,310 Naam, ndani ya kwamba cat.html, una JPEG. 1349 01:04:07,310 --> 01:04:09,520 Naam, kwamba JPEG si kwenda kupata upya. 1350 01:04:09,520 --> 01:04:12,140 Wewe si kwenda baada ya mwingine Kupata ombi server, 1351 01:04:12,140 --> 01:04:13,980 na kisha kupata habari kwamba yote ya nyuma. 1352 01:04:13,980 --> 01:04:17,560 Ni kwenda be-- tu picha kwamba ni kwenda cached kwenye mashine yako. 1353 01:04:17,560 --> 01:04:19,540 Na hivyo picha kwamba itakuwa 304. 1354 01:04:19,540 --> 01:04:20,720 Hivyo si imebadilishwa. 1355 01:04:20,720 --> 01:04:24,600 Kama basi ninyi karibu nje, wazi biskuti, na kisha mahitaji 1356 01:04:24,600 --> 01:04:27,490 na kujaribu kupakia ukurasa kwamba tena, wewe ni kwenda kuona 200s. 1357 01:04:27,490 --> 01:04:28,910 Wewe si kwenda kuona kwamba 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, ombi mbaya, halisi haraka, kama kama wewe 1359 01:04:32,340 --> 01:04:34,880 walikuwa wanakwenda kupeleka JSON kifaa kwa server 1360 01:04:34,880 --> 01:04:38,090 na JSON yako hicho kilikuwa ni sahihi, utaona kitu kama hicho. 1361 01:04:38,090 --> 01:04:39,000 403, haramu. 1362 01:04:39,000 --> 01:04:40,330 Wakati gani unaweza kuona haramu? 1363 01:04:40,330 --> 01:04:41,394 Pengine Pengine? 1364 01:04:41,394 --> 01:04:42,060 Watazamaji: chmod. 1365 01:04:42,060 --> 01:04:42,950 Davin: chmod, yeah. 1366 01:04:42,950 --> 01:04:44,730 Hivyo hujaiweka ruhusa kwa usahihi. 1367 01:04:44,730 --> 01:04:45,577 404, haikupatikana. 1368 01:04:45,577 --> 01:04:46,410 Siyo tu huko. 1369 01:04:46,410 --> 01:04:48,670 Hivyo kama wewe aina katika URL vibaya. 1370 01:04:48,670 --> 01:04:53,500 500, hitilafu ya seva ya ndani, server pengine hakuwa kimeundwa kwa usahihi. 1371 01:04:53,500 --> 01:04:56,260 Kitu si juu ya mwisho wako, lakini kitu upande server. 1372 01:04:56,260 --> 01:04:57,240 Na 503? 1373 01:04:57,240 --> 01:04:59,502 mengi ya watu waliona 503s katika mwisho p-kuweka. 1374 01:04:59,502 --> 01:05:00,460 Ni wakati gani kwamba kutokea? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Nikasikia minong'ono. 1377 01:05:05,660 --> 01:05:07,767 >> Watazamaji: Wakati Google anaamua uko robot. 1378 01:05:07,767 --> 01:05:10,350 Davin: Yeah, wakati Google anaamua uko robot, unaweza kupata 503s. 1379 01:05:10,350 --> 01:05:11,560 Hivyo hiyo ni overload. 1380 01:05:11,560 --> 01:05:14,620 Kama wameweza ombi kutoka server sana, ni kawaida ya muda mfupi. 1381 01:05:14,620 --> 01:05:15,560 Na wengi wenu niliona yake. 1382 01:05:15,560 --> 01:05:16,185 Hivyo wewe aliona 503. 1383 01:05:16,185 --> 01:05:19,282 Unaweza wamechukua kidogo mapumziko, basi 503s akaenda, 1384 01:05:19,282 --> 01:05:20,490 na kila kitu kilikuwa sawa. 1385 01:05:20,490 --> 01:05:26,640 >> Gabe: Real haraka, wakati guys kupata 500 katika pengine tatizo hili jana kuweka? 1386 01:05:26,640 --> 01:05:27,954 Ndiyo? 1387 01:05:27,954 --> 01:05:30,906 >> Watazamaji: Kwa kawaida kama server ina faili misplaced 1388 01:05:30,906 --> 01:05:34,650 au [inaudible] yao mashine [inaudible]. 1389 01:05:34,650 --> 01:05:38,870 >> Gabe: Hivyo inaweza kuwa Configuration suala hilo katika PHP yako ya kompyuta yako. 1390 01:05:38,870 --> 01:05:42,250 Lakini inaweza kuwa tu kitu kama semicolon kwamba alisahau yako. 1391 01:05:42,250 --> 01:05:44,130 Kama wewe ni kuandika PHP, baadhi syntax sahihi 1392 01:05:44,130 --> 01:05:46,000 wanaweza kupata wewe kitu kama hicho. 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 Je, unataka mimi kufanya tu hadi 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 Basi nini DOM? 1399 01:05:54,230 --> 01:05:55,290 Je, DOM kusimama kwa? 1400 01:05:55,290 --> 01:05:56,990 >> Watazamaji: Document kitu mfano wa kuigwa. 1401 01:05:56,990 --> 01:05:57,490 Davin: Nice. 1402 01:05:57,490 --> 01:06:00,775 Na kwa nini sisi kama hayo? 1403 01:06:00,775 --> 01:06:02,670 Kutisha. 1404 01:06:02,670 --> 01:06:06,651 Right, hivyo tu inaruhusu sisi kupata HTML, kupata ukurasa wetu haraka sana. 1405 01:06:06,651 --> 01:06:07,150 Kwa nini? 1406 01:06:07,150 --> 01:06:09,980 Kwa sababu sisi ni kutibu wetu ukurasa, kutibu HTML yetu vitambulisho, 1407 01:06:09,980 --> 01:06:11,730 kutibu kila kitu kama wao ni vitu. 1408 01:06:11,730 --> 01:06:13,710 Kama sisi ni kutibu yao kama wao uko vitu, basi tunaweza kufanya nini? 1409 01:06:13,710 --> 01:06:15,210 Naam, tunaweza kuwaita kazi juu yao. 1410 01:06:15,210 --> 01:06:16,460 Na hii ni muhimu kwa nini? 1411 01:06:16,460 --> 01:06:19,200 Naam, kwa sababu tunakwenda kutumia JavaScript update HTML yetu, 1412 01:06:19,200 --> 01:06:20,500 update vitu hivi. 1413 01:06:20,500 --> 01:06:23,869 Hivyo kama sisi kutibu yao kama vitu, sisi basi unaweza kupiga kazi juu yao. 1414 01:06:23,869 --> 01:06:26,660 Mimi nina kwenda kupata katika hii kidogo zaidi wakati mimi kwenda katika JavaScript, 1415 01:06:26,660 --> 01:06:30,510 lakini ve wote kuonekana kama document.getElementByID. 1416 01:06:30,510 --> 01:06:32,870 Hivyo hati ni yako kipengele, kupata kipengele kwa ID, 1417 01:06:32,870 --> 01:06:35,087 hivyo wewe ni kwenda kuangalia kwa baadhi ya ID katika HTML tag. 1418 01:06:35,087 --> 01:06:36,920 Na kisha, unaweza kufanya kitu kingine kwamba. 1419 01:06:36,920 --> 01:06:40,089 Kwa mfano, kama document.body, basi unaweza append mtoto. 1420 01:06:40,089 --> 01:06:41,630 Hivyo wewe ni kwenda kupata hati. 1421 01:06:41,630 --> 01:06:42,340 Una hati. 1422 01:06:42,340 --> 01:06:43,629 Wewe ni kwenda kupata mwili. 1423 01:06:43,629 --> 01:06:44,420 Wewe kupatikana mwili. 1424 01:06:44,420 --> 01:06:46,545 Na kisha, wewe ni kwenda wito baadhi ya kazi juu yake. 1425 01:06:46,545 --> 01:06:50,312 Hivyo append mtoto, na unaweza append baadhi HTML kwenye mwisho ndani ya mwili wako. 1426 01:06:50,312 --> 01:06:52,520 Hivyo kimsingi, wewe tu kutibu ni kama kitu. 1427 01:06:52,520 --> 01:06:54,515 Wewe ni kutibu HTML vitambulisho kama kitu. 1428 01:06:54,515 --> 01:06:57,071 Na inafanya hivyo ni rahisi sana na ya haraka ya kwenda kwa njia yao. 1429 01:06:57,071 --> 01:06:59,070 Lakini pia utapata kuwaita kazi juu yao 1430 01:06:59,070 --> 01:07:04,410 hivyo unaweza kuendesha na mabadiliko ya vipengele. 1431 01:07:04,410 --> 01:07:10,162 >> Gabe: Kutokana na hii, kwa nini ni JavaScript kama Lugha nzuri ya kiutendaji na HTML? 1432 01:07:10,162 --> 01:07:12,870 Tabia mbaya ni, wakati watu walikuwa kuchagua lugha ya browser, 1433 01:07:12,870 --> 01:07:14,990 kwa upande wa mteja, JavaScript kwa kweli ni nzuri, 1434 01:07:14,990 --> 01:07:16,765 ni mzuri katika utunzaji vitu. 1435 01:07:16,765 --> 01:07:20,620 Na vitu ni aina ya kama vitu kwamba kuonekana katika HTML, 1436 01:07:20,620 --> 01:07:23,940 hivyo ni rahisi sana kwa ajili ya JavaScript kufanya aina hiyo ya utunzaji. 1437 01:07:23,940 --> 01:07:24,440 Davin: Nice. 1438 01:07:24,440 --> 01:07:25,670 Hivyo hapa ni mfano tu. 1439 01:07:25,670 --> 01:07:29,020 Hivyo nadhani juu ya chemsha bongo mwaka jana, au labda miaka miwili iliyopita, sisi 1440 01:07:29,020 --> 01:07:30,840 aliuliza wewe kujenga mti. 1441 01:07:30,840 --> 01:07:32,660 Hivyo hii ni nini hasa d kufanya. 1442 01:07:32,660 --> 01:07:34,255 Hivyo kuanza nje na hati. 1443 01:07:34,255 --> 01:07:36,130 Na kisha wewe kimsingi tu kuangalia vitambulisho. 1444 01:07:36,130 --> 01:07:38,100 Hivyo kama wewe kuangalia, sisi kuanza na HTML tag. 1445 01:07:38,100 --> 01:07:41,660 Na kisha, unaweza kupata dalili juu ya jinsi ya kufanya hivyo msingi juu ya indentation. 1446 01:07:41,660 --> 01:07:43,870 Hivyo kichwa aina ya matawi mbali. 1447 01:07:43,870 --> 01:07:46,242 Ndani ya kichwa, tuna tag mwingine kwa jina. 1448 01:07:46,242 --> 01:07:47,450 Hivyo basi, tuna cheo tag. 1449 01:07:47,450 --> 01:07:49,760 Na ndani ya kwamba, tuna baadhi ya kamba. 1450 01:07:49,760 --> 01:07:52,210 Na hivyo sisi kuwakilisha kamba katika mduara. 1451 01:07:52,210 --> 01:07:54,010 Na vitambulisho wote ni katika mraba. 1452 01:07:54,010 --> 01:07:56,270 >> Na kama ukiangalia, kama sisi kufikiri ya hii kama mti, 1453 01:07:56,270 --> 01:07:58,730 na hebu kusema kwamba HTML ni mzazi, basi kichwa na mwili 1454 01:07:58,730 --> 01:07:59,772 ni kwenda kuwa ndugu zao. 1455 01:07:59,772 --> 01:08:01,813 Wao ni wawili kwenda kuwa watoto wa kuwa mzazi. 1456 01:08:01,813 --> 01:08:03,620 Hivyo kwa sababu wao ni ndugu wawili, wao uko 1457 01:08:03,620 --> 01:08:06,590 kwenda kuwa aina ya karibu na kila mmoja katika mti wetu mfano. 1458 01:08:06,590 --> 01:08:08,590 Na kisha, wewe kimsingi kufanya exact kitu. 1459 01:08:08,590 --> 01:08:13,512 Hivyo si vigumu, lakini sisi wameomba maswali kama hii kabla ya jaribio. 1460 01:08:13,512 --> 01:08:15,220 Gabe: Je, mtu yeyote una maswali hadi sasa? 1461 01:08:15,220 --> 01:08:16,357 Je, ni nzuri? 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, mambo mema. 1465 01:08:21,600 --> 01:08:24,069 Hivyo JavaScript, ni nini JavaScript? 1466 01:08:24,069 --> 01:08:28,370 Naam, JavaScript is-- ni ngumu, lakini haya 1467 01:08:28,370 --> 01:08:30,727 ni baadhi ya mambo muhimu kwamba unapaswa kukumbuka. 1468 01:08:30,727 --> 01:08:31,810 Kwanza, ni loosely typed. 1469 01:08:31,810 --> 01:08:33,529 Hiyo ina maana gani? 1470 01:08:33,529 --> 01:08:35,596 Hivyo PHP was-- yeah, nini up? 1471 01:08:35,596 --> 01:08:39,854 >> Watazamaji: Huwezi kuwa na wazi hali ni aina gani ya kutofautiana ni. 1472 01:08:39,854 --> 01:08:40,479 Davin: Perfect. 1473 01:08:40,479 --> 01:08:43,270 Hivyo alisema huna kwa wazi wazi hali ya aina ya kutofautiana. 1474 01:08:43,270 --> 01:08:44,160 Hiyo ni kweli kabisa. 1475 01:08:44,160 --> 01:08:49,700 Hivyo katika C, kama mimi alikuwa int i sawa 50, basi katika PHP, ni kama hii, $ i, 1476 01:08:49,700 --> 01:08:50,550 sawa 50. 1477 01:08:50,550 --> 01:08:54,319 Kisha katika JavaScript, gani wito kuwa? 1478 01:08:54,319 --> 01:08:55,260 Var, haki? 1479 01:08:55,260 --> 01:08:56,566 Ni d kuwa kama var i sawa 50. 1480 01:08:56,566 --> 01:08:58,649 Lakini huna kuwa kama, OK, hii ni int. 1481 01:08:58,649 --> 01:09:00,350 OK, hii ni kamba. 1482 01:09:00,350 --> 01:09:01,731 Hakuna haja ya kufanya hivyo. 1483 01:09:01,731 --> 01:09:02,939 Ni lugha kufasiriwa. 1484 01:09:02,939 --> 01:09:04,904 Hivyo haina maana gani? 1485 01:09:04,904 --> 01:09:06,340 >> Watazamaji: Si ulioandaliwa. 1486 01:09:06,340 --> 01:09:10,470 >> Davin: Je, si ulioandaliwa maana yake nini? 1487 01:09:10,470 --> 01:09:11,392 Yeah? 1488 01:09:11,392 --> 01:09:15,336 >> Watazamaji: Huna na urekebishaji code 1489 01:09:15,336 --> 01:09:18,294 kupata tayari kwa ajili ya kompyuta kuendesha. 1490 01:09:18,294 --> 01:09:23,144 Ni tu kuchukuliwa wakati wa utekelezaji na kompyuta [inaudible]. 1491 01:09:23,144 --> 01:09:25,560 Davin: Yeah, hivyo ni kwenda kupita kupitia mkalimani. 1492 01:09:25,560 --> 01:09:26,750 Lakini uko sahihi kabisa. 1493 01:09:26,750 --> 01:09:28,319 Hivyo wewe kamwe kwenda kukusanya yake, sawa? 1494 01:09:28,319 --> 01:09:30,399 Wakati walikuwa wakifanya yako PHP na JavaScript code, 1495 01:09:30,399 --> 01:09:31,365 wewe kamwe kuitwa kukusanya. 1496 01:09:31,365 --> 01:09:33,779 You kamwe kuitwa kitu kama kufanya au kitu kama hicho. 1497 01:09:33,779 --> 01:09:34,800 Hiyo ni kwa sababu ni kufasiriwa. 1498 01:09:34,800 --> 01:09:37,319 Hivyo kila wakati unaendelea kupitia browser, unaendelea kupitia mkalimani. 1499 01:09:37,319 --> 01:09:40,370 Na kwamba itakuja kuifasiri tu katika muda halisi haki mbali kwa ajili yenu. 1500 01:09:40,370 --> 01:09:43,770 Kwa hiyo kile ni baadhi chanya na hasi kwa kuwa lugha kufasiriwa 1501 01:09:43,770 --> 01:09:45,258 na kuwa na lugha ulioandaliwa? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Hivyo compiling-- yeah, nini up? 1504 01:09:50,540 --> 01:09:52,444 >> Watazamaji: kufasiriwa ni polepole. 1505 01:09:52,444 --> 01:09:53,319 Davin: Katika maana gani? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> Watazamaji: Baada ya kukusanya, huna 1508 01:09:59,091 --> 01:10:04,400 kufanya hatua yoyote ya ziada na nitafanya yake, ambapo hii [inaudible]. 1509 01:10:04,400 --> 01:10:05,570 >> Davin: Right, kamilifu. 1510 01:10:05,570 --> 01:10:08,386 Hivyo nini alisema ni kimsingi kuwa kuandaa, 1511 01:10:08,386 --> 01:10:10,760 wakati wewe kukusanya, una mengi ya gharama upfront, haki? 1512 01:10:10,760 --> 01:10:11,760 Wewe ni kwenda kukusanya yake. 1513 01:10:11,760 --> 01:10:13,750 Lakini baada ya wewe kukusanya yake, compiler kwenda kuongeza yake. 1514 01:10:13,750 --> 01:10:14,840 Ni kwenda kuwa kwa haraka. 1515 01:10:14,840 --> 01:10:16,170 Ni kwenda kimsingi kuwa kwa haraka kama inaweza kuwa. 1516 01:10:16,170 --> 01:10:18,830 Kwa kutafsiri, kamwe kuwa na gharama kwamba upfront. 1517 01:10:18,830 --> 01:10:22,260 Badala yake, kwenda kuwa kidogo polepole kila wakati wewe kuifasiri. 1518 01:10:22,260 --> 01:10:24,940 Na wewe ni kwenda kuwa na kuifasiri kila wakati. 1519 01:10:24,940 --> 01:10:27,114 Hivyo badala ya kuwa na hii gharama wakati mmoja, sasa uko 1520 01:10:27,114 --> 01:10:29,530 kwenda na kutafsiri kila wakati ukurasa mithili. 1521 01:10:29,530 --> 01:10:31,890 >> Hivyo wakalimani ni nzuri kwa sababu huna kukusanya yake, 1522 01:10:31,890 --> 01:10:33,980 lakini wao ni mbaya kwa kuwa kila wakati kwa ukurasa mizigo, ni 1523 01:10:33,980 --> 01:10:35,771 kwenda na kutafsiri hii JavaScript. 1524 01:10:35,771 --> 01:10:40,520 Na ni kwenda kukimbia kidogo polepole kuliko kama ungekuwa na kukusanya yake. 1525 01:10:40,520 --> 01:10:43,044 Utapata communicate-- oh, kusubiri. 1526 01:10:43,044 --> 01:10:44,960 Kutumika kuendesha maudhui na kuonekana. 1527 01:10:44,960 --> 01:10:46,043 Sisi tu kuongelea hiyo. 1528 01:10:46,043 --> 01:10:47,250 Ni matumizi ya DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, tutaweza kupata katika AJAX katika kidogo. 1530 01:10:49,930 --> 01:10:51,520 Na kisha, ni upande wa mteja. 1531 01:10:51,520 --> 01:10:53,110 Hivyo PHP ni upande server. 1532 01:10:53,110 --> 01:10:54,360 JavaScript ni upande wa mteja. 1533 01:10:54,360 --> 01:10:57,780 Je, ni chanya kwa hiyo? 1534 01:10:57,780 --> 01:10:58,280 Ni anasema ni. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Ni kwa kasi, haki? 1537 01:11:02,780 --> 01:11:05,282 Kwa sababu huna to-- ni kwa kasi zaidi. 1538 01:11:05,282 --> 01:11:07,490 Huna kuwasiliana pamoja na baadhi ya kifaa kingine. 1539 01:11:07,490 --> 01:11:08,790 Kama wewe ni tu juu yako mteja, wewe ni kamwe 1540 01:11:08,790 --> 01:11:11,280 kwenda na kwenda na kuona nini juu ya server 1541 01:11:11,280 --> 01:11:13,150 na kisha ripoti nyuma au kitu kama hicho. 1542 01:11:13,150 --> 01:11:15,410 Hivyo upande wa mteja huelekea kuwa kidogo kwa kasi zaidi. 1543 01:11:15,410 --> 01:11:17,910 >> Gabe: Yeah, lakini hii haina maana PHP ni 1544 01:11:17,910 --> 01:11:20,440 kasi zaidi kuliko JavaScript au kitu chochote cha kama. 1545 01:11:20,440 --> 01:11:23,270 Wao kukimbia aina ya katika huo kasi kwa sababu wao ni wote 1546 01:11:23,270 --> 01:11:24,490 kufasiriwa lugha. 1547 01:11:24,490 --> 01:11:26,680 jambo kuwa mwepesi hapa ni ombi. 1548 01:11:26,680 --> 01:11:28,870 Hivyo wewe ni kweli kwenda njia yote juu ya Brazil 1549 01:11:28,870 --> 01:11:31,460 kupata habari kwamba anaishi huko. 1550 01:11:31,460 --> 01:11:34,590 Lakini PHP na JavaScript, wao aina ya kukimbia kwa kasi hiyo hiyo. 1551 01:11:34,590 --> 01:11:37,930 Siyo kwamba moja ni kwa kasi zaidi kuliko wengine. 1552 01:11:37,930 --> 01:11:40,600 Hii, pia, hila swali hapa. 1553 01:11:40,600 --> 01:11:47,338 Hivyo JavaScript kamwe inakuwa mashine code, kweli au uongo? 1554 01:11:47,338 --> 01:11:48,590 >> Watazamaji: uongo. 1555 01:11:48,590 --> 01:11:49,090 Gabe: uongo. 1556 01:11:49,090 --> 01:11:51,298 Ina kuwa mashine code sababu mashine code ni 1557 01:11:51,298 --> 01:11:53,210 Kitu pekee mashine anaelewa. 1558 01:11:53,210 --> 01:11:55,800 Hata ingawa si compiled, bado inakuwa mashine code 1559 01:11:55,800 --> 01:11:59,120 kwa sababu mkalimani ni mpango kwamba huenda mstari kwa mstari 1560 01:11:59,120 --> 01:12:02,170 na kubadilisha kwamba line katika kitu kompyuta anaelewa. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 Baridi. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> Davin: Hapa ni haki ya msingi sana hodi JavaScript mpango dunia. 1565 01:12:12,890 --> 01:12:15,590 Hivyo mimi sijui if-- ve kuonekana hii. 1566 01:12:15,590 --> 01:12:17,630 Lakini wewe tu na HTML hapa. 1567 01:12:17,630 --> 01:12:21,020 Na badala ya kweli kuweka JavaScript katika vitambulisho script, 1568 01:12:21,020 --> 01:12:22,810 hivyo d kawaida kuiweka katika kichwa. 1569 01:12:22,810 --> 01:12:24,030 Una vitambulisho script. 1570 01:12:24,030 --> 01:12:24,870 You kushuka huko. 1571 01:12:24,870 --> 01:12:28,350 All tumefanya hapa ni tumekuwa wanaohusishwa in-- hivyo tumekuwa wanaohusishwa katika JavaScript faili 1572 01:12:28,350 --> 01:12:29,137 kama hii. 1573 01:12:29,137 --> 01:12:30,470 Na umefanya yote kufanyika hii, sawa? 1574 01:12:30,470 --> 01:12:34,740 Hivyo wakati wewe walikuwa kutumia jQuery na underscore.js katika mwisho p-kuweka, 1575 01:12:34,740 --> 01:12:38,700 huna tani ya kificho katika vitambulisho yako script, up katika kichwa yako. 1576 01:12:38,700 --> 01:12:41,415 Unaweza kufanya hivyo, lakini badala yake wewe tu inayounganisha katika. 1577 01:12:41,415 --> 01:12:43,540 Na wewe ni kuunganisha katika tu kama wewe kufanya na CSS. 1578 01:12:43,540 --> 01:12:50,186 Hivyo ni tu inafanya kuwa rahisi kusoma hivyo code yako si kama mistari 1,000 kwa muda mrefu 1579 01:12:50,186 --> 01:12:52,310 na tani ya kazi ya kwamba unaweza kuwa na kutumia. 1580 01:12:52,310 --> 01:12:53,518 >> Badala yake, wewe tu kuhusisha katika. 1581 01:12:53,518 --> 01:12:55,050 Ni compartmentalizes yake. 1582 01:12:55,050 --> 01:13:00,110 Ni kama kuandika baadhi header faili, na basi ikiwa ni pamoja na kwamba header faili katika C. 1583 01:13:00,110 --> 01:13:01,620 Fikiria tu kama hii. 1584 01:13:01,620 --> 01:13:02,680 Basi nini hii kufanya? 1585 01:13:02,680 --> 01:13:04,560 Naam, hii ni kwenda kukimbia. 1586 01:13:04,560 --> 01:13:05,410 Ni kwenda tahadhari. 1587 01:13:05,410 --> 01:13:08,020 Hivyo wewe ni kwenda kupata kidogo pop up kuitwa hodi dunia. 1588 01:13:08,020 --> 01:13:11,420 Quick swali, sanity hundi tu, hivyo unaweza kuona hapa katika mwili, 1589 01:13:11,420 --> 01:13:13,160 kusema mwili, HTML hapa. 1590 01:13:13,160 --> 01:13:14,080 Nini huja kwanza? 1591 01:13:14,080 --> 01:13:16,864 Je, Mimi naona mwili, HTML hapa, au, ninaona tahadhari ya kwanza? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> Watazamaji: Alert. 1594 01:13:20,820 --> 01:13:21,470 >> Davin: Haki. 1595 01:13:21,470 --> 01:13:22,110 Anasema tahadhari. 1596 01:13:22,110 --> 01:13:22,610 Kwa nini? 1597 01:13:22,610 --> 01:13:24,470 >> Watazamaji: Kwa sababu wewe kwenda kutoka juu hadi chini. 1598 01:13:24,470 --> 01:13:25,600 >> Davin: Ndiyo. 1599 01:13:25,600 --> 01:13:26,100 Perfect. 1600 01:13:26,100 --> 01:13:29,207 Hivyo anasema, unaweza kwenda kutoka juu ya chini, ambayo ni sahihi kabisa. 1601 01:13:29,207 --> 01:13:30,790 Wewe ni kwenda kutoka juu hadi chini. 1602 01:13:30,790 --> 01:13:34,790 Na katika JavaScript, jQuery, una kazi hiyo ni kama onload, au tayari, 1603 01:13:34,790 --> 01:13:38,030 na kwamba anasema, OK, kusubiri hadi yote ya HTML hii ina kubeba. 1604 01:13:38,030 --> 01:13:39,580 Na kisha, piga JavaScript. 1605 01:13:39,580 --> 01:13:42,190 Kwa sababu hatuna kwamba hapa, jambo la kwanza kabisa kwamba kitatokea 1606 01:13:42,190 --> 01:13:43,920 ni ni kwenda kwenda kutoka juu hadi chini. 1607 01:13:43,920 --> 01:13:46,310 Ni kwenda hit kwamba JS wito, ni kwenda kwa tahadhari. 1608 01:13:46,310 --> 01:13:49,510 Baada ya kuwa wewe click OK, tahadhari kwamba huenda mbali. 1609 01:13:49,510 --> 01:13:53,600 Basi ni kwenda kuonyesha wewe mwili HTML hapa. 1610 01:13:53,600 --> 01:13:54,590 Nice. 1611 01:13:54,590 --> 01:14:00,880 >> OK, hivyo tu halisi haraka, kuandika katika JavaScript ni super haraka. 1612 01:14:00,880 --> 01:14:02,710 Ili kutangaza variable, var jina. 1613 01:14:02,710 --> 01:14:07,070 Hivyo katika C, una int i, una kutangaza aina gani ya aina ni. 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 Sisi aliyesema kuhusu hili. 1617 01:14:09,630 --> 01:14:11,020 Haki zote, hebu kwenda. 1618 01:14:11,020 --> 01:14:12,510 >> Tanzi, kitu kimoja. 1619 01:14:12,510 --> 01:14:14,230 Same kitu. 1620 01:14:14,230 --> 01:14:18,165 Kazi maazimio, hivyo tu kama ve kuonekana katika C. 1621 01:14:18,165 --> 01:14:21,290 Kitu pekee tofauti ni hivyo wakati kupata kwa lugha nyingine programu, 1622 01:14:21,290 --> 01:14:24,780 kama wakati wewe kuchukua 51 muhula ijayo na wewe ni kufanya na OCAML, 1623 01:14:24,780 --> 01:14:26,690 unaweza kukabiliana na kazi bila majina. 1624 01:14:26,690 --> 01:14:28,240 Hivyo kwamba ni nini hasa hapa. 1625 01:14:28,240 --> 01:14:31,560 Hivyo unataka kuweka kwa jumla, baadhi ya aina ya thamani ya jumla. 1626 01:14:31,560 --> 01:14:33,870 Lakini unaweza tu kuwa kufanya hivyo mara moja. 1627 01:14:33,870 --> 01:14:37,310 Hivyo huna unataka simu yake kazi Jumla, kuwapa kazi azimio. 1628 01:14:37,310 --> 01:14:39,830 Badala yake, wewe tu kuitumia kama kazi bila majina. 1629 01:14:39,830 --> 01:14:42,469 Na ve kuonekana hii mengi. 1630 01:14:42,469 --> 01:14:44,510 Utaona mfano wa hii katika slides wanandoa. 1631 01:14:44,510 --> 01:14:45,597 Yeah, tutaona. 1632 01:14:45,597 --> 01:14:46,430 Gabe: Swali Good. 1633 01:14:46,430 --> 01:14:50,660 Wakati wanaweza unataka kutumia kazi bila majina hapa? 1634 01:14:50,660 --> 01:14:54,111 Kimsingi, wakati unataka kitu, kama tukio hilo, kutokea. 1635 01:14:54,111 --> 01:14:55,860 Hivyo wakati panya ni clicked, kwa mfano, 1636 01:14:55,860 --> 01:14:57,790 unataka baadhi ya kazi kuitwa. 1637 01:14:57,790 --> 01:15:00,570 Hivyo, unaweza kupita kwa tukio handler, unaweza kupita kwa tukio hilo, 1638 01:15:00,570 --> 01:15:02,870 aina ya, kazi ambayo unataka kuitwa. 1639 01:15:02,870 --> 01:15:04,710 Na nini wewe kupita ni kama, mwishoni 1640 01:15:04,710 --> 01:15:08,757 wa siku, tu pointer kwamba mafundisho, kwa kazi. 1641 01:15:08,757 --> 01:15:11,090 Hivyo ni si kama wewe ni kupita code nzima, kama 1642 01:15:11,090 --> 01:15:12,173 pointer kazi. 1643 01:15:12,173 --> 01:15:17,871 Na kisha, wakati mtu Clicks panya, basi kazi hiyo anapata kuitwa. 1644 01:15:17,871 --> 01:15:22,340 >> Davin: Arrays, hivyo safu azimio. 1645 01:15:22,340 --> 01:15:23,990 Kisha, safu ya kuweka mambo katika. 1646 01:15:23,990 --> 01:15:25,769 Real haraka, itakuwaje hii magazeti nje? 1647 01:15:25,769 --> 01:15:27,060 Nini ya tatu kuwa? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> Watazamaji: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> Davin: Right, itakuwa "JS." 1651 01:15:33,940 --> 01:15:35,760 Ngoja, kurudi nyuma. 1652 01:15:35,760 --> 01:15:37,100 Ni urefu gani? 1653 01:15:37,100 --> 01:15:38,117 >> Watazamaji: Tatu. 1654 01:15:38,117 --> 01:15:38,950 Davin: Tatu, haki? 1655 01:15:38,950 --> 01:15:40,210 Hasa nini unafikiri. 1656 01:15:40,210 --> 01:15:42,072 Sawa, sasa nenda. 1657 01:15:42,072 --> 01:15:43,530 Arrays, unaweza kuongeza mambo kwao. 1658 01:15:43,530 --> 01:15:45,395 Hivyo unaweza kwenda zaidi mipaka yao ya awali. 1659 01:15:45,395 --> 01:15:46,740 Tu kitu kukumbuka. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, wao ni kidogo bit kusamehe zaidi katika suala la mambo 1661 01:15:49,760 --> 01:15:50,570 kama hiyo. 1662 01:15:50,570 --> 01:15:54,260 Vitu, sana kama structs katika C, sana 1663 01:15:54,260 --> 01:15:56,590 kama arrays associative katika PHP. 1664 01:15:56,590 --> 01:15:58,720 Ve wote alikuwa na uzoefu na hili. 1665 01:15:58,720 --> 01:16:01,880 Hivyo JSON, wakati wewe kupita JSON na kurudi katika p-kuweka nane, 1666 01:16:01,880 --> 01:16:03,260 hiyo ni kitu yako. 1667 01:16:03,260 --> 01:16:06,290 >> Hivyo yeah, mfano, mfano halisi haraka. 1668 01:16:06,290 --> 01:16:07,880 Hapa ni kitu. 1669 01:16:07,880 --> 01:16:12,700 njia ya kumbukumbu hii kitu, hivyo tu halisi haraka, 1670 01:16:12,700 --> 01:16:18,630 hebu sema nilitaka kupata nje, OK, ni nini bila shaka? 1671 01:16:18,630 --> 01:16:20,681 Na hivyo jina kitu hapa ni CS50. 1672 01:16:20,681 --> 01:16:23,180 Na kisha kama mimi alikuwa associative safu, jinsi gani mimi kufanya hivyo? 1673 01:16:23,180 --> 01:16:24,580 Mimi itakuwa kutumia ufunguo, haki? 1674 01:16:24,580 --> 01:16:26,030 Hivyo nina jina la safu. 1675 01:16:26,030 --> 01:16:30,160 Nina bracket, quotes, muhimu, quotes mwisho, mwisho bracket, 1676 01:16:30,160 --> 01:16:33,610 na kwamba itakuwa rejea kwamba kipengele ndani ya safu yangu associative. 1677 01:16:33,610 --> 01:16:37,646 Je, mimi inatazamwa Bila shaka ndani kitu wangu? 1678 01:16:37,646 --> 01:16:39,170 Mtu yeyote kujua? 1679 01:16:39,170 --> 01:16:40,622 >> Watazamaji: [inaudible]. 1680 01:16:40,622 --> 01:16:41,784 >> Davin: Nini up? 1681 01:16:41,784 --> 01:16:42,700 Watazamaji: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 Davin: Right, yeah. 1683 01:16:43,510 --> 01:16:45,320 Hivyo CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Hivyo njia wewe rejea mambo ndani ya JSON kitu ni kwa dot. 1685 01:16:48,770 --> 01:16:53,114 >> Watazamaji: Unaweza pia kutumia safu syntax. 1686 01:16:53,114 --> 01:16:54,050 >> Davin: OK, faini. 1687 01:16:54,050 --> 01:16:57,544 >> Gabe: Unaweza pia kutumia CS50 bracket, kamba, kama alama quotation. 1688 01:16:57,544 --> 01:16:59,210 Watazamaji: Nadhani ni kufanana na PHP. 1689 01:16:59,210 --> 01:17:00,293 Gabe: Ni kitu kimoja. 1690 01:17:00,293 --> 01:17:02,487 Davin: Fine! 1691 01:17:02,487 --> 01:17:03,945 Lakini utaona maeneo mwingine. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Yeah, hivyo kuendelea. 1694 01:17:10,480 --> 01:17:13,330 Hii ni nini mimi tu alisema. 1695 01:17:13,330 --> 01:17:17,840 Hivyo katika mfano JavaScript jQuery. 1696 01:17:17,840 --> 01:17:19,440 Hivyo hii ni DOM yangu, haki? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Real haraka, hivyo nina kichwa, hello dunia, mwili. 1699 01:17:25,410 --> 01:17:26,160 Nina kifungo. 1700 01:17:26,160 --> 01:17:27,870 Inasema "kushinikiza mimi," hivyo nataka kuiondoa. 1701 01:17:27,870 --> 01:17:29,745 Na mimi nataka kufanya kitu wakati ni clicked. 1702 01:17:29,745 --> 01:17:31,220 Right, ijayo. 1703 01:17:31,220 --> 01:17:34,630 >> Right, hivyo hii ni yangu JavaScript. 1704 01:17:34,630 --> 01:17:37,790 Hivyo jQuery ni rahisi tu njia ya kuandika JavaScript. 1705 01:17:37,790 --> 01:17:40,920 Hivyo hii, na nini mimi nina kwenda kuonyesha wewe ijayo, ni kwenda kuwa jQuery, 1706 01:17:40,920 --> 01:17:41,930 ni kufanana. 1707 01:17:41,930 --> 01:17:43,990 Hivyo wao kufanya mambo sawa. 1708 01:17:43,990 --> 01:17:45,974 Tu jQuery huelekea kuwa rahisi kidogo. 1709 01:17:45,974 --> 01:17:47,140 Watu huwa na kama ni zaidi. 1710 01:17:47,140 --> 01:17:48,390 Ina mengi ya utendaji. 1711 01:17:48,390 --> 01:17:49,830 Hivyo watu huwa na kutumia jQuery. 1712 01:17:49,830 --> 01:17:53,270 You wote kutumika jQuery katika mwisho p-kuweka. 1713 01:17:53,270 --> 01:17:54,270 Hivyo nini hii kufanya? 1714 01:17:54,270 --> 01:17:56,580 Nini hii JavaScript-- hivyo hii ni wazi tu JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Itakuwa hii nini? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Nini ni nini? 1718 01:18:03,450 --> 01:18:04,890 >> Hivyo kwanza, unaweza kuona dirisha onload. 1719 01:18:04,890 --> 01:18:05,390 Haki? 1720 01:18:05,390 --> 01:18:06,640 Hivyo hatukuwa kuona kwamba kabla. 1721 01:18:06,640 --> 01:18:09,380 Hivyo hii ni kwenda kusubiri mpaka mizigo nzima dirisha. 1722 01:18:09,380 --> 01:18:12,770 Hivyo ni kwenda kusubiri hadi HTML, picha zote mzigo 1723 01:18:12,770 --> 01:18:13,770 kabla haina chochote. 1724 01:18:13,770 --> 01:18:16,050 Basi hebu kusema DOM yetu ina kubeba. 1725 01:18:16,050 --> 01:18:17,270 Kila kitu huko. 1726 01:18:17,270 --> 01:18:19,080 Kisha nini kitatokea? 1727 01:18:19,080 --> 01:18:19,922 Yeah? 1728 01:18:19,922 --> 01:18:22,880 >> Watazamaji: Button inaonekana. 1729 01:18:22,880 --> 01:18:25,201 >> Davin: kifungo tayari huko. 1730 01:18:25,201 --> 01:18:26,700 Yeah, hivyo kifungo tayari huko. 1731 01:18:26,700 --> 01:18:31,190 Lakini hii ni kwenda kusema, OK, kama mimi bonyeza kifungo, 1732 01:18:31,190 --> 01:18:33,650 hivyo kifungo tayari pale, kama kwamba tag HTML. 1733 01:18:33,650 --> 01:18:35,980 Kusubiri, kwenda nyuma halisi haraka. 1734 01:18:35,980 --> 01:18:39,470 Tag Hii haki haki hapa ni kwenda kuwa kifungo tayari. 1735 01:18:39,470 --> 01:18:40,810 Tayari kuna button. 1736 01:18:40,810 --> 01:18:44,120 Lakini basi, JavaScript tag, haki hapa, 1737 01:18:44,120 --> 01:18:46,160 inasema, OK, Mimi nataka kupata kipengele kwa ID, 1738 01:18:46,160 --> 01:18:50,300 hivyo kifungo tafuta tu anasema, OK, Mimi nataka ramani ya variable hii kwamba button. 1739 01:18:50,300 --> 01:18:53,120 Hivyo kwamba kutofautiana ni tu njia rahisi ya kupata kwamba button. 1740 01:18:53,120 --> 01:18:57,300 Na mimi kusema, OK, kama mimi click kwamba kifungo, hivyo kama mimi click kwamba kipengele, 1741 01:18:57,300 --> 01:18:59,560 na kipengele hii inahusu kifungo, kama mimi bonyeza yake, 1742 01:18:59,560 --> 01:19:00,875 basi mimi wanataka kuwaita kazi. 1743 01:19:00,875 --> 01:19:03,500 Hapa ni moja ya wale bila majina kazi tunachozungumzia. 1744 01:19:03,500 --> 01:19:04,840 >> Tu simu baadhi ya kazi. 1745 01:19:04,840 --> 01:19:08,840 Ndani ya kazi hiyo, kimsingi kitu tumeona mengi, tahadhari. 1746 01:19:08,840 --> 01:19:10,477 Click search button. 1747 01:19:10,477 --> 01:19:12,060 Ni kwenda kimsingi kuwa kifungo. 1748 01:19:12,060 --> 01:19:13,040 You bonyeza yake. 1749 01:19:13,040 --> 01:19:14,040 Unaweza kupata tahadhari hiyo. 1750 01:19:14,040 --> 01:19:14,850 X nje. 1751 01:19:14,850 --> 01:19:15,754 Hiyo ni. 1752 01:19:15,754 --> 01:19:16,254 Yeah? 1753 01:19:16,254 --> 01:19:21,980 >> Watazamaji: Hivyo kama wewe kuweka script [Inaudible], script tag katika HTML yako? 1754 01:19:21,980 --> 01:19:24,300 >> Davin: Unaweza kuweka script tag moja kwa moja katika kichwa 1755 01:19:24,300 --> 01:19:30,667 kwa sababu una onload hii. 1756 01:19:30,667 --> 01:19:32,000 Ni pia kwamba una click. 1757 01:19:32,000 --> 01:19:34,166 Hivyo ni kwenda kusubiri hadi click kwa kitu fulani. 1758 01:19:34,166 --> 01:19:37,470 Lakini onload ni kuwa salama, kufanya uhakika mizigo kila kitu katika HTML yako 1759 01:19:37,470 --> 01:19:38,170 kabla. 1760 01:19:38,170 --> 01:19:39,247 Yeah? 1761 01:19:39,247 --> 01:19:40,330 Unataka kusema kitu? 1762 01:19:40,330 --> 01:19:41,080 >> Gabe: [inaudible]. 1763 01:19:41,080 --> 01:19:42,485 Davin: Yeah. 1764 01:19:42,485 --> 01:19:45,426 >> Watazamaji: avoids Hivyo onload kufafanua variable kifungo tafuta 1765 01:19:45,426 --> 01:19:49,930 kwa kusema tu document.getElementByID search button dot [inaudible]. 1766 01:19:49,930 --> 01:19:52,320 >> Davin: Dhahiri, lakini basi kamba yako tu anapata kubwa. 1767 01:19:52,320 --> 01:19:55,553 Hasa, hivyo hii ni tu kwa iwe rahisi kwa ajili yenu, yeah. 1768 01:19:55,553 --> 01:19:56,053 Ndiyo? 1769 01:19:56,053 --> 01:19:57,886 >> Watazamaji: wapi sisi kujenga window.onload? 1770 01:19:57,886 --> 01:19:58,951 Au document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> Davin: Ndiyo, kuna. 1772 01:20:00,590 --> 01:20:02,094 Ndiyo, kuna kitu, I checked. 1773 01:20:02,094 --> 01:20:03,710 >> Gabe: Si kwa wao huduma ya juu. 1774 01:20:03,710 --> 01:20:06,970 >> Davin: OK, hivyo mimi nina kwenda kukuambia anyway. 1775 01:20:06,970 --> 01:20:11,005 Hivyo kimsingi, tu kwa ujumla, hivyo window.onload waits mpaka DOM yako, kila 1776 01:20:11,005 --> 01:20:12,180 HTML yako, mizigo. 1777 01:20:12,180 --> 01:20:13,513 Waits mpaka picha yako mzigo. 1778 01:20:13,513 --> 01:20:14,930 Waits mpaka mizigo kila kitu. 1779 01:20:14,930 --> 01:20:18,410 document.ready, ni tu waits mpaka DOM mizigo yako. 1780 01:20:18,410 --> 01:20:22,190 Mara baada ya HTML ni wote huko, mara moja DOM yako ni pale, kuanza mbio. 1781 01:20:22,190 --> 01:20:23,400 Hiyo ni tofauti tu. 1782 01:20:23,400 --> 01:20:24,700 >> Gabe: Quick sanity kuangalia hapa. 1783 01:20:24,700 --> 01:20:29,060 Hivyo hii inaweza kuonekana aina ya kama mstari wa kanuni, haki? 1784 01:20:29,060 --> 01:20:33,600 Kwa sababu ni window.onload sawa rundo la stuff. 1785 01:20:33,600 --> 01:20:39,030 Wakati JavaScript wasomaji hii, kweli au uongo, kazi anapata kunyongwa. 1786 01:20:39,030 --> 01:20:40,020 Uongo. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 Nini kinatokea hapa, wewe ni kupita tu kazi hii kama kazi bila majina 1789 01:20:44,470 --> 01:20:45,300 kwa window.onload. 1790 01:20:45,300 --> 01:20:48,480 Na kisha wakati ni kwenda kwa kweli kupata kuuawa? 1791 01:20:48,480 --> 01:20:49,600 Wakati mizigo dirisha. 1792 01:20:49,600 --> 01:20:50,420 Hiyo ni tukio hilo. 1793 01:20:50,420 --> 01:20:52,460 Hivyo hiyo ni jus t jambo tuko kuzungumza juu ya awali, haki? 1794 01:20:52,460 --> 01:20:54,580 Hivyo wakati tukio hutokea, kazi kinachotokea. 1795 01:20:54,580 --> 01:20:55,746 Same kitu na onclick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> Davin: OK, hivyo mtu alichukua mbali document.ready. 1798 01:21:03,130 --> 01:21:04,698 Lakini hii itakuwa same-- halisi 1799 01:21:04,698 --> 01:21:06,864 Watazamaji: ishara ya dola, yaani document.ready. 1800 01:21:06,864 --> 01:21:07,710 Hiyo ni njia ya mkato. 1801 01:21:07,710 --> 01:21:08,501 >> Davin: Oh, kwamba ni? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 OK, hivyo njia hii document.ready, njia ya mkato. 1804 01:21:15,500 --> 01:21:19,660 Lakini hii ni sawa na window.onload ila kwa kuwa tofauti kidogo 1805 01:21:19,660 --> 01:21:20,680 Mimi niliwaambia juu. 1806 01:21:20,680 --> 01:21:21,870 Na hii ni jQuery. 1807 01:21:21,870 --> 01:21:25,190 Hivyo hii ni exact thing-- hii ni JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Hii ni just-- baadhi ya watu kufikiria ni kama uzito mwanga zaidi, sleek version 1809 01:21:29,500 --> 01:21:32,370 ambayo ina kura ya utendaji kwamba pengine utasikia kutumia. 1810 01:21:32,370 --> 01:21:34,500 Hivyo hii haina halisi kitu kimoja. 1811 01:21:34,500 --> 01:21:37,110 >> Hivyo mambo ya aina ya kumweka nje. 1812 01:21:37,110 --> 01:21:40,364 Hivyo katika mfano mwingine, sisi alikuwa document.getElementByID, 1813 01:21:40,364 --> 01:21:42,280 hivyo tulikuwa hii kwa muda mrefu kamba kwamba kwenda kupata 1814 01:21:42,280 --> 01:21:44,290 kipengele kwa chochote ID ina. 1815 01:21:44,290 --> 01:21:46,470 Hiyo kubadilishwa na wito huu haki hapa. 1816 01:21:46,470 --> 01:21:50,860 Hivyo unaweza kuona ishara ya dola, basi unaweza kuona quote, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag daima selector. 1818 01:21:52,370 --> 01:21:54,730 Inasema, OK, hii ina nini na ID. 1819 01:21:54,730 --> 01:21:56,120 Nini selector kwa ajili ya darasa? 1820 01:21:56,120 --> 01:21:57,190 >> Watazamaji: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> Davin: Dot, haki. 1822 01:21:57,960 --> 01:22:01,950 Kama wewe ni kwenda tu kwa kuchagua tag, ni nini? 1823 01:22:01,950 --> 01:22:03,310 Ni tu tag, hasa. 1824 01:22:03,310 --> 01:22:05,560 Na unaweza kutumia kwamba hapa, pia. 1825 01:22:05,560 --> 01:22:08,560 >> Gabe: Na kwa tag, tuna maana kama div, kwa mfano, au kichwa. 1826 01:22:08,560 --> 01:22:11,500 >> Davin: Au mwili au p au kitu kama hicho, yeah. 1827 01:22:11,500 --> 01:22:14,390 Hivyo hapa, OK, badala ya kusema document.getElementByID, 1828 01:22:14,390 --> 01:22:16,500 hii ni halisi kitu kimoja. 1829 01:22:16,500 --> 01:22:17,990 Tu katika jQuery, ni mfupi. 1830 01:22:17,990 --> 01:22:19,860 Hivyo ni rahisi. 1831 01:22:19,860 --> 01:22:23,420 Hivyo basi, hakuna zaidi onclick, bonyeza tu. 1832 01:22:23,420 --> 01:22:26,320 jQuery kazi, piga kazi hii. 1833 01:22:26,320 --> 01:22:27,580 Alert ni exact. 1834 01:22:27,580 --> 01:22:29,452 Hivyo ni kidogo ndogo, au kidogo 1835 01:22:29,452 --> 01:22:32,410 mfupi, kidogo watu bit-- kufikiri ni kidogo rahisi kuandika nje, 1836 01:22:32,410 --> 01:22:34,600 rahisi kidogo kidogo kuelewa. 1837 01:22:34,600 --> 01:22:35,640 Lakini hii ni jQuery. 1838 01:22:35,640 --> 01:22:37,887 mengi ya watu kupata kidogo kidogo kuchanganyikiwa na wasiwasi 1839 01:22:37,887 --> 01:22:40,220 na wanadhani, OK, jQuery ni tofauti kuliko JavaScript. 1840 01:22:40,220 --> 01:22:42,136 Nina kumbuka haya mambo mawili tofauti. 1841 01:22:42,136 --> 01:22:42,740 Ni si. 1842 01:22:42,740 --> 01:22:45,315 I mean, ni syntax tofauti. 1843 01:22:45,315 --> 01:22:46,970 Lakini jQuery ni JavaScript. 1844 01:22:46,970 --> 01:22:50,050 Ni tu inaonekana toleo bora kwamba 1845 01:22:50,050 --> 01:22:51,967 inaweza kuwa rahisi kuelewa kwamba watu kutumia. 1846 01:22:51,967 --> 01:22:53,716 Gabe: Yeah, kuwa waaminifu, kwamba ishara ya dola 1847 01:22:53,716 --> 01:22:57,240 kwamba unaweza kuona katika jQuery, kwamba tu jina la kazi hiyo jQuery amefafanua. 1848 01:22:57,240 --> 01:22:58,614 Ni haina chochote maalum. 1849 01:22:58,614 --> 01:23:03,140 Je, Ni tu jina la kazi, tu kama unaweza kufafanua ishara ya dola. 1850 01:23:03,140 --> 01:23:05,670 >> Davin: Yeah, hivyo aliyesema kuhusu hili. 1851 01:23:05,670 --> 01:23:06,680 Baadhi ya mambo muhimu. 1852 01:23:06,680 --> 01:23:10,414 Mimi nilikuwa kuangalia nyuma katika Quizzes zamani. 1853 01:23:10,414 --> 01:23:13,080 Katika Quizzes zamani wanandoa, wameweza alikuwa na kutumia mambo kama haya. 1854 01:23:13,080 --> 01:23:15,230 Hivyo document.ready, hivyo kuhakikisha kila kitu ya 1855 01:23:15,230 --> 01:23:17,410 kubeba kabla ya kuanza kufanya mambo. 1856 01:23:17,410 --> 01:23:20,120 Chagua ID, au kuchagua darasa, ni d tu 1857 01:23:20,120 --> 01:23:24,020 quote kuwa dot baadhi darasani, mwisho wa kunukuu. 1858 01:23:24,020 --> 01:23:26,580 Kuwasilisha, hivyo kama wewe ni kuwasilisha fomu na wito 1859 01:23:26,580 --> 01:23:28,830 kazi hii baada ya fomu elekeza. 1860 01:23:28,830 --> 01:23:34,210 Thamani, hivyo hebu sema nilikuwa aina kuwasilisha, kama jina la mtumiaji, email, 1861 01:23:34,210 --> 01:23:34,950 chochote. 1862 01:23:34,950 --> 01:23:36,010 Mimi nilikuwa sanduku maandishi. 1863 01:23:36,010 --> 01:23:37,670 Hivyo mimi nina kuandika katika sanduku Nakala kwamba. 1864 01:23:37,670 --> 01:23:42,170 Naam, kama unataka kupata thamani nje ya kwamba sanduku Nakala, unaweza kutumia dot Val. 1865 01:23:42,170 --> 01:23:44,050 Na kisha, hapa chini, dot HTML ni sawa 1866 01:23:44,050 --> 01:23:47,710 ni kama hati dot getElementByID dot innerHTML. 1867 01:23:47,710 --> 01:23:50,890 Hivyo hiyo ni kwenda na kurudi HTML kutoka kwamba ID. 1868 01:23:50,890 --> 01:23:55,080 Hapa, wewe tu kutumia baadhi ID au chochote dot HTML. 1869 01:23:55,080 --> 01:23:56,930 Kwamba utakuwa kupata HTML kutoka kwamba kipengele. 1870 01:23:56,930 --> 01:24:00,130 Kama alitaka kisha kubadili kwamba HTML, unaweza kupita ni kitu. 1871 01:24:00,130 --> 01:24:05,600 Hivyo d kuwa kama dot HTML, na kisha ndani, quotes, HTML mpya au kitu. 1872 01:24:05,600 --> 01:24:07,490 >> Gabe: OK, hivyo AJAX. 1873 01:24:07,490 --> 01:24:10,347 Mimi kwa kweli kama kuelewa AJAX vizuri. 1874 01:24:10,347 --> 01:24:12,430 Hiyo mimi nataka wewe guys kwa kuelewa AJAX vizuri. 1875 01:24:12,430 --> 01:24:14,221 Kwa sababu kama wewe kufanya, wewe ni pretty much kwenda 1876 01:24:14,221 --> 01:24:16,810 kuelewa kila kitu kwamba ina nini na HTTP, PHP, 1877 01:24:16,810 --> 01:24:21,080 JavaScript kwa sababu wote huja pamoja katika AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX si lugha. 1879 01:24:25,130 --> 01:24:27,000 AJAX ni mbinu. 1880 01:24:27,000 --> 01:24:31,690 Na inatumia kura ya zana mbalimbali. 1881 01:24:31,690 --> 01:24:35,090 AJAX anasimama kwa Asynchronous JavaScript XML. 1882 01:24:35,090 --> 01:24:36,730 Hivyo njia, lugha, data. 1883 01:24:36,730 --> 01:24:40,610 >> Hivyo lugha kuu ya kuwa sisi kutumia katika AJAX trigger kila kitu 1884 01:24:40,610 --> 01:24:42,830 na kushughulikia kila kitu baadaye ni JavaScript. 1885 01:24:42,830 --> 01:24:45,160 Hiyo ni kwa nini inahusiana karibu sana na JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Na kisha Asynchronous ni kwa sababu sisi si kufanya hivyo 1887 01:24:49,810 --> 01:24:51,980 wote kwa mara moja wakati sisi ni kupakia ukurasa. 1888 01:24:51,980 --> 01:24:57,190 Hili ni jambo la kwamba tunaweza kufanya mambo aina ya katika sambamba. 1889 01:24:57,190 --> 01:24:59,725 wazo kuu nyuma AJAX ni kwamba unataka 1890 01:24:59,725 --> 01:25:02,170 hivyo ili kupata baadhi ya taarifa maalum. 1891 01:25:02,170 --> 01:25:06,450 Kwa mfano, wakati wewe ni kuandika mpya user jina wakati wa kujiandikisha jina la mtumiaji, 1892 01:25:06,450 --> 01:25:08,520 user jina langu ni abc123. 1893 01:25:08,520 --> 01:25:11,671 Na kisha, mwishoni mwa fomu, una bonyeza Wasilisha. 1894 01:25:11,671 --> 01:25:14,420 Na alikuwa na kwenda server, na kisha kuangalia kama katika database, 1895 01:25:14,420 --> 01:25:15,594 abc123 ni tayari. 1896 01:25:15,594 --> 01:25:18,510 Na kama ni tayari kuna, inasema, jina la mtumiaji tayari katika database. 1897 01:25:18,510 --> 01:25:21,010 Nao, una kujaza fomu nzima tena. 1898 01:25:21,010 --> 01:25:23,110 Na ilikuwa kweli, kweli mbaya. 1899 01:25:23,110 --> 01:25:25,440 >> Halafu watu wanasema, OK, kwa nini hawawezi sisi tu 1900 01:25:25,440 --> 01:25:29,560 kufanya ndogo HTTP ombi kuangalia tu kuona kama user hii ni katika database 1901 01:25:29,560 --> 01:25:32,080 kabla user alikuwa na kuwasilisha fomu nzima? 1902 01:25:32,080 --> 01:25:36,350 Hivyo kwa mfano, wakati user anamalizia kuandika abc123, 1903 01:25:36,350 --> 01:25:39,660 hebu tu kwenda server kidogo kidogo na kupata tu kweli au uongo 1904 01:25:39,660 --> 01:25:43,080 kutoka server ili kuona kama hiyo ni halali jina la mtumiaji au si. 1905 01:25:43,080 --> 01:25:49,250 OK, hivyo hiyo ni moja kati ya anatumia ya AJAX siku hizi bado. 1906 01:25:49,250 --> 01:25:52,130 >> Davin: Hivyo kweli haraka, katika Wito Ajax katika jQuery, 1907 01:25:52,130 --> 01:25:54,770 unaweza yanamaanisha kwamba wewe unataka kuwa synchronous. 1908 01:25:54,770 --> 01:25:56,330 Unapaswa kufanya hivyo. 1909 01:25:56,330 --> 01:25:57,640 Lakini unaweza kufanya hivyo. 1910 01:25:57,640 --> 01:25:59,277 Na kama wewe alifanya hivyo, ni nini kitakachotokea? 1911 01:25:59,277 --> 01:26:01,610 Naam, kwa mfano, wakati uko kupata habari au chochote, 1912 01:26:01,610 --> 01:26:05,464 browser yako ni kwenda tu kusubiri mpaka wito kwamba nzima ni kamili 1913 01:26:05,464 --> 01:26:08,130 badala ya kuruhusu wewe kufanya mengine mambo ya haki baada ya wewe bonyeza yake. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> Gabe: Ni si kupita tena. 1916 01:26:17,115 --> 01:26:19,681 Oh mungu wangu. 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 "Katika siku za nyuma, mteja zinahitajika ombi 1921 01:26:25,350 --> 01:26:26,840 maudhui yote ya tovuti hiyo. " 1922 01:26:26,840 --> 01:26:28,210 Hiyo ni nini mimi alisema. 1923 01:26:28,210 --> 01:26:30,070 Ni inaruhusu sisi kutuma GET ziada au POST 1924 01:26:30,070 --> 01:26:32,140 maombi bila ya kuwa Reload browser wetu. 1925 01:26:32,140 --> 01:26:34,806 Hivyo mwisho wa siku, sisi ni kweli kufanya maombi HTTP 1926 01:26:34,806 --> 01:26:35,740 hapa kwa kutumia JavaScript. 1927 01:26:35,740 --> 01:26:39,700 Kwa sababu kabla, sisi tu kutumika JavaScript kubadili HTML kwamba tayari akaja. 1928 01:26:39,700 --> 01:26:43,110 Na sasa, tunaweza kuitumia interface na servrar mtandao pia. 1929 01:26:43,110 --> 01:26:46,140 njia hii hutokea ni sisi kuwa mteja. 1930 01:26:46,140 --> 01:26:47,340 Davin ni mteja. 1931 01:26:47,340 --> 01:26:50,797 Na ana kila JavaScript mbio kwa sababu HTML ni bubu. 1932 01:26:50,797 --> 01:26:51,630 JavaScript ni smart. 1933 01:26:51,630 --> 01:26:54,690 Hivyo Davin Davin ina smart yake sehemu na sehemu yake bubu. 1934 01:26:54,690 --> 01:26:57,590 Yeye anaenda kutumia sehemu yake smart sasa. 1935 01:26:57,590 --> 01:27:00,860 Yeye anaenda kutumia JavaScript ombi, kwa mfano, 1936 01:27:00,860 --> 01:27:04,340 kama abc123 ni katika database au la. 1937 01:27:04,340 --> 01:27:08,450 >> Hivyo Davin, tafadhali, wewe tu kutuma mimi ombi HTTP. 1938 01:27:08,450 --> 01:27:09,197 Asante. 1939 01:27:09,197 --> 01:27:10,530 Hivyo yeye tu alimtuma ombi HTTP. 1940 01:27:10,530 --> 01:27:11,270 Unaweza kuona kwamba? 1941 01:27:11,270 --> 01:27:14,700 Na kwamba ni njia tu sawa kwamba ombi lolote HTTP ni kutumwa. 1942 01:27:14,700 --> 01:27:16,830 browser, Google Chrome au kitu, ni 1943 01:27:16,830 --> 01:27:19,570 kwenda kuona kwamba Davin ya kujaribu kupeleka ombi HTTP, 1944 01:27:19,570 --> 01:27:20,930 kwenda kusaidia HM kidogo. 1945 01:27:20,930 --> 01:27:23,950 Na kwamba ni kwenda njia yote ya server. 1946 01:27:23,950 --> 01:27:27,370 Sasa, server ni kwenda kuwa PHP hapa, au lugha nyingine yoyote. 1947 01:27:27,370 --> 01:27:29,990 Tu kama katika kawaida ombi HTTP. 1948 01:27:29,990 --> 01:27:31,950 Ni pretty much kawaida ombi HTTP. 1949 01:27:31,950 --> 01:27:33,658 >> Na kisha, server ni kwenda kusema, OK, 1950 01:27:33,658 --> 01:27:37,270 Davin anataka mimi kuangalia kama abc123 hii ni katika database. 1951 01:27:37,270 --> 01:27:38,310 Kwenda kuzungumza na mfano. 1952 01:27:38,310 --> 01:27:41,310 mfano anasema siyo. abc123 ni nzuri jina la mtumiaji. 1953 01:27:41,310 --> 01:27:47,940 Na kisha, mtandao wa kompyuta ni kwenda kutumia PHP kutoa baadhi ya aina ya faili. 1954 01:27:47,940 --> 01:27:52,280 Ni inaweza kuwa literally tu faili ambayo ina "ndiyo" ndani yake, au "hapana, 1955 01:27:52,280 --> 01:27:53,315 au kitu kama hicho. 1956 01:27:53,315 --> 01:27:54,190 Ni inaweza kuwa faili yoyote. 1957 01:27:54,190 --> 01:27:57,080 >> Ni inaweza kuwa kama mimi nina kwenda kutuma Davin picha ya bata 1958 01:27:57,080 --> 01:28:01,200 kama ni katika database na kutuma picha ya hamster 1959 01:28:01,200 --> 01:28:02,420 kama si katika database. 1960 01:28:02,420 --> 01:28:04,294 Hiyo itakuwa ni aina ya bubu, lakini itakuwa kazi. 1961 01:28:04,294 --> 01:28:07,030 OK, hivyo mimi kutuma bata kwa Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin got bata. 1963 01:28:08,150 --> 01:28:13,330 Na sasa, ambaye ni kwenda kushughulikia bata? 1964 01:28:13,330 --> 01:28:16,390 Davin ya smart sehemu tena, hivyo JavaScript, haki? 1965 01:28:16,390 --> 01:28:18,620 JavaScript alimtuma ombi, na JavaScript 1966 01:28:18,620 --> 01:28:22,300 ni kwenda kupokea ombi na kutafsiri kwa namna fulani. 1967 01:28:22,300 --> 01:28:26,630 >> Na kwa maana hii, ni kwenda kusema, OK, kama bata basi mimi nina nzuri. 1968 01:28:26,630 --> 01:28:30,770 Kama hamster, basi mimi nina kwenda kusema, hapana, jina la mtumiaji tayari 1969 01:28:30,770 --> 01:28:31,970 ipo katika database. 1970 01:28:31,970 --> 01:28:33,845 Lakini kwa kawaida, wewe si kwenda kutuma bata. 1971 01:28:33,845 --> 01:28:36,740 Wewe ni kwenda kutuma kitu kidogo nadhifu. 1972 01:28:36,740 --> 01:28:40,320 Na nini sisi kutumia ni XML. 1973 01:28:40,320 --> 01:28:42,690 Na hivi karibuni zaidi, sisi kutumia JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON ni tu JavaScript Object Notation, ambayo 1975 01:28:45,629 --> 01:28:47,670 kimsingi ni kupata nzima JavaScript kitu. 1976 01:28:47,670 --> 01:28:50,820 Na kuiweka katika faili, kama vile kwamba CS50 kitu kwamba wewe guys kuona. 1977 01:28:50,820 --> 01:28:53,090 Kuiweka katika faili, na wewe kutuma juu ya Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Hivyo katika kesi hii, napenda kufanya JavaScript kitu 1979 01:28:55,850 --> 01:28:59,570 na tu kusema, user ipo, ndiyo. 1980 01:28:59,570 --> 01:29:01,630 Au user lipo, hakuna. 1981 01:29:01,630 --> 01:29:02,810 Na kutuma nyuma yake. 1982 01:29:02,810 --> 01:29:03,830 Na kwa nini JSON? 1983 01:29:03,830 --> 01:29:07,330 Kwa sababu mtu ambaye ni kupokea hii ni 1984 01:29:07,330 --> 01:29:10,030 kwenda kutumia JavaScript kushughulikia majibu. 1985 01:29:10,030 --> 01:29:14,970 Na JavaScript kazi hiyo vizuri kwa sababu ni kuitwa JavaScript Object Notation. 1986 01:29:14,970 --> 01:29:15,470 Haki? 1987 01:29:15,470 --> 01:29:19,660 Ili aweze piga tu kazi na kupata hii kitu nzuri kutoka majibu. 1988 01:29:19,660 --> 01:29:22,890 Na kisha, yeye kwenda kujua kama user kwamba ni katika database au la. 1989 01:29:22,890 --> 01:29:25,230 >> Hivyo unaweza kuona, yote kuja pamoja katika mtandao wa kompyuta, 1990 01:29:25,230 --> 01:29:28,450 na kisha kuna HTTP moja na ombi na moja HTTP kukabiliana na kila kitu. 1991 01:29:28,450 --> 01:29:30,600 Hivyo kuhakikisha nyie kuelewa hili wito AJAX 1992 01:29:30,600 --> 01:29:37,260 sababu husaidia kuelewa yote ya dhana tunazungumzia. 1993 01:29:37,260 --> 01:29:40,260 >> Hivyo hapa ni mfano ya AJAX na jQuery. 1994 01:29:40,260 --> 01:29:42,130 Na hapa, sisi kufanya na kupata JSON. 1995 01:29:42,130 --> 01:29:45,660 Hivyo sisi ni si kujaribu kupata mfano wa paka hapa, au bata. 1996 01:29:45,660 --> 01:29:48,110 Sisi ni kujaribu kupata JSON file. 1997 01:29:48,110 --> 01:29:51,184 Na kisha sisi kusubiri hadi ni kosa, dot kufanyika. 1998 01:29:51,184 --> 01:29:52,850 Hiyo ina maana mimi nina kusubiri kwa majibu. 1999 01:29:52,850 --> 01:29:54,180 Ni inaweza kuchukua muda kidogo. 2000 01:29:54,180 --> 01:29:56,360 Kisha, unaweza kuona upakiaji kidogo. 2001 01:29:56,360 --> 01:29:59,340 Kama unataka kufanya hivyo katika tovuti yako. 2002 01:29:59,340 --> 01:30:01,440 Hivyo dot kufanyika, na kisha nini hutokea wakati ni kosa? 2003 01:30:01,440 --> 01:30:04,040 Wewe kupita katika majina kazi, tu kama tuliona kabla. 2004 01:30:04,040 --> 01:30:07,800 Kwa sababu kufanyika ni tukio, tu kama kubonyeza mouse au chochote, 2005 01:30:07,800 --> 01:30:08,710 kwa jQuery. 2006 01:30:08,710 --> 01:30:13,710 Hivyo wewe kupita katika kazi hii na data, maandishi, kwa sasa, na jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Na kimsingi, kwamba baadhi tu ya vigezo 2008 01:30:15,790 --> 01:30:22,160 kwamba unaweza kutumia baadaye kuwa na hali ya ombi HTTP, 2009 01:30:22,160 --> 01:30:24,470 data kwamba ni kwenda kutuma nyuma na wewe. 2010 01:30:24,470 --> 01:30:28,740 Hivyo basi unaweza baadaye kutafsiri na kufanya kitu ya maana kwa hayo. 2011 01:30:28,740 --> 01:30:30,240 Na kama inashindwa, wakati anaweza ni kushindwa? 2012 01:30:30,240 --> 01:30:33,780 Naam, wakati ombi HTTP inatoa wewe 500 au kitu kama hicho. 2013 01:30:33,780 --> 01:30:37,420 Kisha, ni kwenda kukuambia hali, aina gani ya kushindwa kwamba alikuwa, 2014 01:30:37,420 --> 01:30:38,420 na kila aina ya mambo. 2015 01:30:38,420 --> 01:30:40,630 Una kuhakikisha kushughulikia kesi zote mbili, 2016 01:30:40,630 --> 01:30:42,770 vinginevyo mpango huenda mambo. 2017 01:30:42,770 --> 01:30:45,820 >> Davin: Hivyo yeah, hii ni hasa nini kuona kwenye mwisho p-kuweka yako. 2018 01:30:45,820 --> 01:30:49,720 halisi AJAX wito ni katika kupata JSON. 2019 01:30:49,720 --> 01:30:50,587 Hiyo ni wito. 2020 01:30:50,587 --> 01:30:52,920 Na kisha, dot kufanyika ni kama ni hundi kama ni mafanikio. 2021 01:30:52,920 --> 01:30:55,620 Kama ni mafanikio, unataka kufanya kitu kwa data. 2022 01:30:55,620 --> 01:30:59,290 Unaweza kupata nyuma kutoka kuwa JSON ombi data. 2023 01:30:59,290 --> 01:31:00,600 Hiyo ni nini kupata nyuma. 2024 01:31:00,600 --> 01:31:04,470 Hivyo kama wewe kukumbuka kutoka yako p-kuweka, mengi ya ungekuwa kama data bracket i 2025 01:31:04,470 --> 01:31:06,302 au chochote, dot kiungo au cheo. 2026 01:31:06,302 --> 01:31:08,260 Chochote kuja nyuma na kwamba JSON, chochote 2027 01:31:08,260 --> 01:31:11,020 mashamba ni katika JSON kitu, kwamba ni nini wewe ni kupata nyuma. 2028 01:31:11,020 --> 01:31:12,394 Takwimu ni nini wewe kupata nyuma. 2029 01:31:12,394 --> 01:31:15,510 Nakala hadhi, tu kitu ambacho inakuwezesha kujua nini kilichotokea. 2030 01:31:15,510 --> 01:31:20,570 Na kisha, jqXHR, kwamba tu jQuery XML HTTP ombi. 2031 01:31:20,570 --> 01:31:21,990 Hiyo tu kama kitu. 2032 01:31:21,990 --> 01:31:23,932 Na kisha kushindwa, kama Gabe alisema. 2033 01:31:23,932 --> 01:31:27,140 Gabe: Katika mfano wetu kidogo ya abc123 tu kwa kuangalia kama hiyo katika database 2034 01:31:27,140 --> 01:31:32,260 au si, data itakuwa kitu atafanya, kama data dot user jina lipo, 2035 01:31:32,260 --> 01:31:37,720 ambayo ni nini PHP yako yanayotokana kwa wewe, kama jina data dot user ipo, basi 2036 01:31:37,720 --> 01:31:40,880 Mimi nina kwenda tahadhari, user jina tayari ipo. 2037 01:31:40,880 --> 01:31:44,300 Kingine, mimi nina kwenda tu basi user kuendelea kujaza fomu. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, usalama, cool. 2040 01:31:50,820 --> 01:31:52,060 >> Davin: Wanataka mimi? 2041 01:31:52,060 --> 01:31:54,500 >> Gabe: Mimi kama hii moja. 2042 01:31:54,500 --> 01:31:57,680 Hivyo kitu kwamba inaonekana familiar. 2043 01:31:57,680 --> 01:31:59,750 Sisi ni karibu kufanyika. 2044 01:31:59,750 --> 01:32:02,670 Hivyo hii ni mfano tu nyie aliona darasani. 2045 01:32:02,670 --> 01:32:04,860 You walikuwa kutumia argv1 hapa. 2046 01:32:04,860 --> 01:32:06,460 Hiyo ni kama hoja mstari amri. 2047 01:32:06,460 --> 01:32:09,270 Na sisi ni MEM kuiga kwamba katika buffer ya kawaida 12. 2048 01:32:09,270 --> 01:32:12,560 Nini tatizo hapa? 2049 01:32:12,560 --> 01:32:13,660 Buffer kufurika! 2050 01:32:13,660 --> 01:32:15,400 Kwa sababu tuna buffer ya kawaida 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 wanaweza kuwa na ukubwa wa bilioni mbili. 2052 01:32:18,400 --> 01:32:19,960 Hatuwezi kufanya kuangalia yoyote mpaka. 2053 01:32:19,960 --> 01:32:24,970 Hivyo tupate nakala mengi ya kumbukumbu. 2054 01:32:24,970 --> 01:32:28,630 Na tutaweza kuwa na hasa mbaya kuhusu hili. 2055 01:32:28,630 --> 01:32:32,600 Nini tunaweza kufanya kwamba sana, maana sana katika kesi hii? 2056 01:32:32,600 --> 01:32:33,278 Ndiyo? 2057 01:32:33,278 --> 01:32:36,528 Watazamaji: Sehemu ya mambo bilioni mbili ina executable kificho kwamba anarudi 2058 01:32:36,528 --> 01:32:38,127 [Inaudible]. 2059 01:32:38,127 --> 01:32:38,710 Gabe: Hasa. 2060 01:32:38,710 --> 01:32:41,110 Hivyo hiyo ni aina ya Jambo kwamba watu kutumia 2061 01:32:41,110 --> 01:32:43,344 jailbreak iPhone, kwa mfano. 2062 01:32:43,344 --> 01:32:44,260 Hivyo kwamba aina ya kitu. 2063 01:32:44,260 --> 01:32:48,610 Kwa sababu unaweza tu kufanya kifaa kutekeleza kanuni yoyote kwamba wewe kama. 2064 01:32:48,610 --> 01:32:50,247 fix, hivyo fix ni rahisi. 2065 01:32:50,247 --> 01:32:51,330 Kuangalia tu kwa ajili ya mipaka. 2066 01:32:51,330 --> 01:32:53,455 Wewe kuangalia for kwa sababu sisi daima kuangalia for 2067 01:32:53,455 --> 01:32:54,940 wakati sisi ni kushughulika na masharti. 2068 01:32:54,940 --> 01:32:57,840 Na kisha, wewe kuchukua urefu wa kamba mbele. 2069 01:32:57,840 --> 01:33:00,150 Na kama kamba urefu ni kamba halali 2070 01:33:00,150 --> 01:33:03,700 urefu, ambayo ni ndani 0 na 12, basi sisi ni nzuri. 2071 01:33:03,700 --> 01:33:07,144 >> Davin: Kama huna kuangalia kwa null, halisi haraka, nini kitatokea? 2072 01:33:07,144 --> 01:33:07,810 Ni itabidi seg kosa. 2073 01:33:07,810 --> 01:33:10,850 Kwa nini ni seg kosa? 2074 01:33:10,850 --> 01:33:12,510 Kwa sababu wewe ni wito strlen juu ya null. 2075 01:33:12,510 --> 01:33:13,010 Gabe: Yeah. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Kweli au uongo, kwa kutumia moja password ni wazo nzuri. 2078 01:33:19,630 --> 01:33:20,430 >> Watazamaji: uongo. 2079 01:33:20,430 --> 01:33:21,150 >> Gabe: uongo. 2080 01:33:21,150 --> 01:33:23,870 Kutumia nywila wengi, na kubwa, wale mrefu. 2081 01:33:23,870 --> 01:33:26,050 Icons kufuli kuhakikisha usalama. 2082 01:33:26,050 --> 01:33:27,080 >> Watazamaji: uongo. 2083 01:33:27,080 --> 01:33:27,749 >> Gabe: uongo. 2084 01:33:27,749 --> 01:33:28,790 Ni haina maana yoyote. 2085 01:33:28,790 --> 01:33:30,480 Ni tu icon. 2086 01:33:30,480 --> 01:33:32,824 SSL kulinda dhidi ya mtu katika shambulio katikati. 2087 01:33:32,824 --> 01:33:33,490 Watazamaji: uongo. 2088 01:33:33,490 --> 01:33:34,110 Gabe: uongo. 2089 01:33:34,110 --> 01:33:35,355 OK, hivyo wale wote ni uongo. 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 Wanataka kuzungumza kuhusu suala hili? 2094 01:33:42,500 --> 01:33:43,259 Zamu yako. 2095 01:33:43,259 --> 01:33:45,050 Davin: Aina ya mashambulizi, mtu katikati. 2096 01:33:45,050 --> 01:33:47,134 Nini mtu katika shambulio katikati? 2097 01:33:47,134 --> 01:33:48,050 Watazamaji: [inaudible]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 Davin: Kama kutuma HTTP ombi, hawakuweza kufanya hivyo, haki? 2100 01:33:54,020 --> 01:33:57,890 Lakini kama wewe ni kutuma HTTPS, wao pengine si kuwa na uwezo wa kufanya hivyo. 2101 01:33:57,890 --> 01:33:59,952 Kuna kura ya pointi pamoja uhusiano wako. 2102 01:33:59,952 --> 01:34:00,660 Una ruta. 2103 01:34:00,660 --> 01:34:01,746 Una servrar DNS. 2104 01:34:01,746 --> 01:34:04,120 Kama mtu ni uwezo wa kimwili kuona nini wewe ni kutuma, 2105 01:34:04,120 --> 01:34:06,140 hivyo mtu anaweza kweli kupata kati yenu 2106 01:34:06,140 --> 01:34:08,840 mteja, na server, na ni uwezo wa kuona nini wewe ni kutuma, 2107 01:34:08,840 --> 01:34:10,298 hii ni mtu katika shambulio katikati. 2108 01:34:10,298 --> 01:34:14,287 Hivyo kuona nini wewe ni kujaribu kupata kutoka server, au ni uwezo wa see-- mbaya, 2109 01:34:14,287 --> 01:34:16,620 unaweza kuwa na uwezo wa kuona biskuti au kitu kama hicho. 2110 01:34:16,620 --> 01:34:19,290 >> Hivyo kwa mfano, kama wewe si kutumia SSL, yeye 2111 01:34:19,290 --> 01:34:21,900 kuwa na uwezo wa kuona kikao ID cookies. 2112 01:34:21,900 --> 01:34:25,460 Na hii inaitwa kikao utekaji nyara kwa kuwa anauona cookies yako ID, 2113 01:34:25,460 --> 01:34:28,317 na kisha yeye na uwezo wa kwenda kuwa tovuti na kujifanya kuwa wewe. 2114 01:34:28,317 --> 01:34:31,150 Kwa sababu tu kama katika PHP, kumbuka wakati sisi watumiaji katika, tunafanya nini? 2115 01:34:31,150 --> 01:34:33,340 Sisi kuweka kikao ID sawa na ID. 2116 01:34:33,340 --> 01:34:34,810 Hivyo kwamba kubainisha wewe. 2117 01:34:34,810 --> 01:34:38,300 Hiyo ni kwa nini unaweza kuona kwingineko yako na kwingineko si kila mtu mwingine. 2118 01:34:38,300 --> 01:34:42,320 >> Naam, kama nina uwezo wa kupata kwamba cookie, basi naweza logi kwenye ukurasa. 2119 01:34:42,320 --> 01:34:45,380 Na kisha, siwezi tu kuona mambo yako na kuanza kununua na kuuza stuff. 2120 01:34:45,380 --> 01:34:46,800 Hivyo kwamba ni kikao utekaji nyara. 2121 01:34:46,800 --> 01:34:50,810 Lakini unapaswa kuwa na uwezo to-- hivyo Unaweza kutumia mtu katika shambulio katikati 2122 01:34:50,810 --> 01:34:52,290 hata kama wao ni kutumia SSL. 2123 01:34:52,290 --> 01:34:53,520 Lakini unapaswa kuwa na uwezo. 2124 01:34:53,520 --> 01:34:56,580 Kama wao ni kutumia SSL, unaweza si kikao hijack. 2125 01:34:56,580 --> 01:34:58,927 Kwa nini? 2126 01:34:58,927 --> 01:35:01,135 Kwa sababu ni wote encrypted, haki? kama ni encrypted, 2127 01:35:01,135 --> 01:35:03,509 na mimi bado nina mtu katika katikati, mimi bado kupata data zako. 2128 01:35:03,509 --> 01:35:04,279 Hiyo ni sawa. 2129 01:35:04,279 --> 01:35:05,070 Lakini ni encrypted. 2130 01:35:05,070 --> 01:35:07,750 Hivyo siwezi kweli matumizi yake. 2131 01:35:07,750 --> 01:35:09,840 Hivyo hiyo ni mbili. 2132 01:35:09,840 --> 01:35:11,544 >> Real haraka, tovuti msalaba ombi kughushi. 2133 01:35:11,544 --> 01:35:13,960 Hiyo tu kama kuna kiungo na kiungo kwamba hana kitu 2134 01:35:13,960 --> 01:35:14,890 kwamba huna nadhani ni lazima kufanya. 2135 01:35:14,890 --> 01:35:18,150 Hivyo kwa mfano, kama kiungo alikuwa kwenda kununua hisa au kuuza hisa, 2136 01:35:18,150 --> 01:35:19,360 na wewe hawakujua kwamba. 2137 01:35:19,360 --> 01:35:22,040 Ulibofya kiungo, alimtuma ombi, kununua 2138 01:35:22,040 --> 01:35:24,240 au kuuzwa kitu ambacho wewe hakuwa na maana ya kufanya. 2139 01:35:24,240 --> 01:35:25,120 Hiyo ni kwamba. 2140 01:35:25,120 --> 01:35:30,720 >> Msalaba tovuti scripting, hivyo hapa, wewe ni kupita katika kupitia variable q, 2141 01:35:30,720 --> 01:35:33,510 badala ya kupita katika baadhi ya aina ya thamani, labda q ni kama jina. 2142 01:35:33,510 --> 01:35:36,560 Hivyo badala ya kupita q sawa Davin au kitu kama hicho, 2143 01:35:36,560 --> 01:35:38,740 kama huna kutumia HTML chars maalum, kama wewe 2144 01:35:38,740 --> 01:35:43,100 hawana kuepuka hii kuhakikisha ni OK, basi mimi naweza kupita katika badala yake, 2145 01:35:43,100 --> 01:35:46,910 hebu sema hapa mimi kusema magazeti au kitu kama hicho, 2146 01:35:46,910 --> 01:35:51,070 basi mimi naweza kupita katika hapa script simu. 2147 01:35:51,070 --> 01:35:53,140 >> Hivyo basi, badala ya kupata tu variable, 2148 01:35:53,140 --> 01:35:54,960 Ningependa basi nitafanya hii wito script. 2149 01:35:54,960 --> 01:35:57,065 Hivyo ndani kwamba script wito, je ni nini? 2150 01:35:57,065 --> 01:36:00,190 Document dot eneo, ambayo inaenda mabadiliko ya eneo la hati. 2151 01:36:00,190 --> 01:36:02,290 Hivyo nina kwenda kwa kuelekeza kwa mahali pengine. 2152 01:36:02,290 --> 01:36:08,170 Ni wito guy mbaya katika mfano huu, nzuri sana. 2153 01:36:08,170 --> 01:36:10,536 Hakuweza kufikiri ya neno. 2154 01:36:10,536 --> 01:36:12,410 Na kisha, nini hata Kibaya zaidi ni kwamba mimi nina kwenda 2155 01:36:12,410 --> 01:36:16,832 na kisha kuweka kuki, ambayo ni baadhi variable nina katika tovuti hii. 2156 01:36:16,832 --> 01:36:19,040 Mimi nina kwenda kuweka sawa kwa hati dot cookie. 2157 01:36:19,040 --> 01:36:20,660 Kwa hiyo, mimi nina kwenda kuiba cookie yako. 2158 01:36:20,660 --> 01:36:22,951 Na mimi nina kwenda kuelekeza habari baadhi ya tovuti 2159 01:36:22,951 --> 01:36:25,120 kwamba unapaswa kuwa kupata. 2160 01:36:25,120 --> 01:36:29,250 Na hii yote hutokea kwa sababu wewe ni si kukimbia unapomwona. 2161 01:36:29,250 --> 01:36:29,910 Yeah? 2162 01:36:29,910 --> 01:36:32,160 >> Watazamaji: Hivyo tu kwa kufanya wazi kwamba, ni 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com kwamba ni hatari kwa hili. 2164 01:36:37,550 --> 01:36:39,300 Hivyo kiungo ambayo inaweza kuonekana juu ya ukurasa wowote. 2165 01:36:39,300 --> 01:36:42,200 Mtu Clicks juu yake, inakwenda vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Una kuki vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Hebu kusema Facebook ni mazingira magumu, hivyo facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Una yako Facebook cookie. 2169 01:36:48,310 --> 01:36:50,925 Nini hii ni kufanya, wewe ni kwenda facebook.com, 2170 01:36:50,925 --> 01:36:53,990 ni mara moja imetuma wewe badguy.com, 2171 01:36:53,990 --> 01:36:57,182 lakini pamoja na maelezo yako cookie. 2172 01:36:57,182 --> 01:36:59,310 Hivyo ni kuelekeza haraka, lakini yako Facebook cookie 2173 01:36:59,310 --> 01:37:02,572 ni pamoja na kwamba kuelekeza, na kwamba ni jinsi wao [inaudible]. 2174 01:37:02,572 --> 01:37:04,280 Gabe: Yeah, kuna baadhi ya mambo ya maana sana 2175 01:37:04,280 --> 01:37:06,070 kwamba watu wanaweza kufanya kama kuna hii. 2176 01:37:06,070 --> 01:37:09,190 Kwa mfano, kama Facebook kuruhusiwa kila mtu kubadili jina lako la mtumiaji, 2177 01:37:09,190 --> 01:37:11,680 na hawakuwa na kufanya lolote hundi sanity, hivyo 2178 01:37:11,680 --> 01:37:16,810 inaweza kuingiza jambo JavaScript kwamba mabadiliko picha yako hamster. 2179 01:37:16,810 --> 01:37:22,590 Na kwamba kuwekeza huo JavaScript ndani ya kila mtu ambaye inaona ukurasa wako. 2180 01:37:22,590 --> 01:37:26,400 Hivyo kila mtu ambaye inaona ukurasa wako ina kitu kimoja katika jina la mtumiaji. 2181 01:37:26,400 --> 01:37:30,104 Na kwa sababu ni virusi, kuenea exponentially. 2182 01:37:30,104 --> 01:37:32,270 Davin: Tutaweza ruka mwisho moja, na kisha sisi ni kosa. 2183 01:37:32,270 --> 01:37:34,120 Hivyo hii ni mfano mwingine tu. 2184 01:37:34,120 --> 01:37:36,120 Hivyo hii ni wao siyo kukimbia yao meza SQL. 2185 01:37:36,120 --> 01:37:37,090 Hivyo unaweza kuacha yake. 2186 01:37:37,090 --> 01:37:38,805 Hivyo unataka kuepuka mambo. 2187 01:37:38,805 --> 01:37:44,010 Hiyo ilikuwa mfano wa awali na msalaba tovuti scripting. 2188 01:37:44,010 --> 01:37:45,430 Sorry sisi mbio kidogo marehemu. 2189 01:37:45,430 --> 01:37:46,870 Kesho, sorry! 2190 01:37:46,870 --> 01:37:48,560 Kesho, tuna masaa ya ofisi. 2191 01:37:48,560 --> 01:37:50,870 Hivyo masaa ya ofisi katika Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 masaa ya ofisi ni madhubuti kwa ajili ya maswali quiz. 2193 01:37:55,240 --> 01:37:56,587